| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 10 days | ohci: defer descriptor reclaim until next frame | HiFiPHile | |
| 12 days | ohci: reclaim orphaned TDs on device disconnect | Ryzee119 | |
| 2026-08-12 | ohci: fix double allocation of dummy TDs in gtd_find_free | Ryzee119 | |
| 2026-07-02 | license: use SPDX identifiers for src/ headers (#3749) | Ha Thach | |
| * license: use SPDX identifiers for src/ headers Replace the full ~20-line MIT license boilerplate on every src/ file with a two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500 lines of duplicated boilerplate. | |||
| 2025-12-13 | hcd/ohci: fix warnings | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-11-03 | fix more warnings/alerts | hathach | |
| 2025-11-03 | remove binary prefix for portability | hathach | |
| 2025-10-31 | Merge branch 'master' into fork/ArcaneNibble/ohci-upstream | hathach | |
| 2025-10-10 | try to enable ohci for lpc55 but not working, probably clock issue | hathach | |
| 2025-10-09 | fix todo size in list_reverse() | hathach | |
| 2025-10-09 | centralize hcd_dcache_uncached() for ED | hathach | |
| 2025-10-09 | Merge branch 'master' into fork/ArcaneNibble/ohci-upstream | hathach | |
| 2025-09-17 | Fix address translation functions | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-09-17 | Replace old delay functions by tusb_time_delay_ms_api | HiFiPhile | |
| Signed-off-by: HiFiPhile <[email protected]> | |||
| 2025-09-13 | ohci: Use uncached alias to access EDs | R | |
| This code is written very carefully to always use an uncached view of memory to read/write EDs. An uncached view must *always* be used, or else cache behavior can corrupt the ED. As part of this change, combine access into as few word-sized accesses as possible. This makes the code perform better. Doing this involves giving type names to the bitfields that make up the ED's data words. | |||
| 2025-09-13 | ohci: Perform explicit cache operations on TDs, buffers | R | |
| 2025-09-13 | ohci: Re-implement TD allocation, matching the specification | R | |
| The initial motivation for doing this is to remove the `used` flag in the TD. If we use this flag, we end up being required to read from TDs that the OHCI controller might be modifying (i.e. the OHCI controller logically owns the TD). This happens when we try to allocate a new, empty TD while the OHCI host controller is working on a transfer. Move the `used` flag to `gtd_extra_data_t`. This data is only used by the CPU, and the OHCI controller never accesses it. The existing allocation method for TDs does *not* put an empty TD onto each ED (i.e it does *not* do what is shown in Figure 5-6 of the OHCI specification). Instead, the NextTD field of the last TD is set to 0. The TailP field of the ED is also set to 0. This works in many cases. However, this implementation means that the CPU may end up trying to write to the NextTD field of an in-progress transfer while the OHCI host controller logically owns it. Change the implementation to use an empty TD, as suggested by the specification, for endpoints other than EP0. This avoids the above issue. It is not necessary to make the change for EP0 because only at most one TD can ever be pending at a time. The above change should also remove the need for the stall workaround. In the future, we want to modify the code to access EDs through an uncached mapping. Because uncached mappings are slow, we want to access EDs as little as possible. Currently, when a TD completes, we access an ED in order to figure out the device address and endpoint number of the TD which was completed. Because moving `used` to `gtd_extra_data_t` necessitates expanding it, we have enough room to also store the device address and endpoint number of the TD. This patch does so. With the above two changes, we no longer need to access an ED when a TD completes. Also remove the `index` field from TDs as it is no longer necessary. | |||
| 2025-09-12 | ohci: Add functions used for explicit cache operations | R | |
| 2025-04-23 | rename and expose tuh_bus_info_get() to application | hathach | |
| 2025-04-23 | rename hcd_devtree_info_t to tuh_bus_info_t, hcd_devtree_get_info to ↵ | hathach | |
| hcd_bus_info_get streamline bus info to usbh_devies, also replace dev0 (renamed to dev0_bus) | |||
| 2025-03-26 | added hcd_edpt_close() stub for other ports | hathach | |
| 2024-10-14 | change the tusb_rhport_init_t struct, exclude the rhport to make API more ↵ | hathach | |
| consistent | |||
| 2024-10-11 | hcd_init() take init struct | hathach | |
| 2024-01-11 | move gtd extra out of control struct to save sram | hathach | |
| also rename gtd_data to gtd_extra | |||
| 2024-01-10 | [OHCI] Allow more than 16 devices | Ryzee119 | |
| 2023-09-27 | change hcd_int_handler(rhport, in_isr) signature: add in_isr | hathach | |
| change tuh_int_handler() to take in_isr as optional parameter (default = true) | |||
| 2023-07-26 | correct hcd_edpt_clear_stall() API signature | hathach | |
| 2023-07-24 | Merge branch 'master' into hcd-abort-xfer | Ha Thach | |
| 2023-07-24 | fix ohci warnings, and add freertosconfig for lpc4088 | hathach | |
| 2023-07-21 | add stub hcd_edpt_abort_xfer() for all ports | hathach | |
| 2023-03-24 | separate CFG_TUSB_MEM_SECTION and CFG_TUSB_MEM_ALIGN to | hathach | |
| - CFG_TUD_MEM_SECTION and CFG_TUD_MEM_ALIGN - CFG_TUH_MEM_SECTION and CFG_TUH_MEM_ALIGN - fix missing mem section and align for host | |||
| 2023-03-17 | fix trailing space and new line | hathach | |
| temporarily disable codespell | |||
| 2023-02-22 | comment out osal_task_delay if using os none | hathach | |
| 2023-02-22 | move and add optional tusb_app_virt_to_phys/tusb_app_phys_to_virt | hathach | |
| also add place holder for tusb_app_dcache_flush() and tusb_app_dcache_invalidate() | |||
| 2023-02-22 | rename OHCI_RHPORTS to TUP_OHCI_RHPORTS | hathach | |
| 2023-02-18 | ohci: Disable MIE interrupt during IRQ processing, zero HccADoneHead on ↵ | wooyay | |
| completion | |||
| 2023-02-18 | ohci: Use enum instead of magic number | Ryzee119 | |
| 2023-02-18 | ohci: Add ability to separate physical and virtual memory | Ryan Wendland | |
| 2023-02-18 | ohci: Set skip on ed prior to removal | Ryan Wendland | |
| 2023-02-18 | ohci: Fix bug in ed removal | Ryan Wendland | |
| 2023-02-18 | ohci: Direct port commands to the correct rhport. | Ryzee119 | |
| 2023-02-18 | ohci: Force reset of devices already connected on power up | Ryzee119 | |
| 2023-02-18 | ohci: Wait POTG time after port power | Ryzee119 | |
| 2023-02-18 | ohci: Toggle frameinterval bit on update | Ryzee119 | |
| 2023-02-18 | ohci: Leave SMM or bios mode during init | Ryzee119 | |
| 2023-02-18 | ohci: Support configurable number of roothub ports | Ryzee119 | |
| 2022-12-04 | Fix typos | Bastien Nocera | |
| 2022-03-20 | Merge branch 'master' into pio-host | hathach | |
| 2022-03-04 | correct qhd and qtd count for ehci/ohci | hathach | |
| 2022-03-04 | rename HCD_MAX_XFER to CFG_TUH_ENDPOINT_MAX | hathach | |
| minor clean up | |||
