summaryrefslogtreecommitdiff
path: root/docs/changelog/0.16.0.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/changelog/0.16.0.md')
-rw-r--r--docs/changelog/0.16.0.md148
1 files changed, 148 insertions, 0 deletions
diff --git a/docs/changelog/0.16.0.md b/docs/changelog/0.16.0.md
new file mode 100644
index 000000000..aa8257174
--- /dev/null
+++ b/docs/changelog/0.16.0.md
@@ -0,0 +1,148 @@
+# 0.16.0
+
+*November 24, 2023*
+
+- New controller driver: MAX3421e (usb host shield), rusb2 (Renesas USB2.0), ChipIdea fullspeed
+- New MCUs: MCXn9, nRF5340, STM32: G0, G4, L5, U575, U5A5, RA6m5, CH32F20x
+- Add initial TypeC PowerDelivery support with STM32G4
+- Remove submodules and use python script to manage repo dependencies #1947
+- Add CMake support for most families and boards, move build file from tools/ to examples/build_system
+- Add ETM trace support with JTrace for nrf52840, nrf5340, mcb1857, stm32h743eval, ra6m5
+- [osal] Make it possible to override the `osal_task_delay()` in osal_none
+- Add CDC+UAC2 composite device example
+- Enhance Hardware-in-the-loop (HIL) testing with more boards: rp2040, stm32l412nucleo, stm32f746disco, lpcxpresso43s67
+
+## Controller Driver (DCD & HCD)
+
+- Add new ISO endpoint API: `dcd_edpt_iso_alloc()` and `dcd_edpt_iso_activate()`
+- Remove legacy driver st/synopsys
+
+### EHCI
+
+- [iMXRT] Add dache clean/invalidate when memory is in cacheable memory
+- Fix portsc write issue which cause problem with enumeration
+- Fix an issue when doing port reset write to portsc
+- Fix port change detect is not recognized when power on with attached device
+- Fix xfer failed with disconnected device as stalled
+- Fix error on EHCI causes xfer error in non-queued qhd which cause memory fault
+- Un-roll recursive hub removal with usbh queue
+- Fix issue when removing queue head
+- Implement `hcd_edpt_abort_xfer()`
+- use standard USB complete interrupt instead of custom chipidea async/period interrupt to be more compatible with other ehci implementation
+- refactor usb complete & error isr processing, merge, update. Fix EHCI QHD reuses QTD on wrong endpoint
+- Improve bus reset, fix `send_setup()` not carried out if halted previously
+- Fix clear qhd halted bit if not caused by STALL protocol to allow for next transfer
+
+### ChipIdea Highspeed
+
+- Fix control transfer issue when previous status and new setup complete in the same isr frame
+- [imxrt] Add dcache support for cache region
+
+### ChipIdea Fullspeed
+
+- Generalize ChipIdea Fullspeed driver for mcxn9 (port 0), kinetis
+
+### nrf
+
+- Fix DMA race condition with ISO OUT transfer #1946
+- Add support for nRF5340 with pca10095 board
+
+### Renesas rusb2
+
+- Generalize rusb2 driver for ra, rx mcus
+- rework both dcd and hcd for better multiple ports support
+- Add support for board with HS USB port: ra6m5 port1
+
+### rp2040
+
+- [dcd] Make writes to SIE_CTRL aware of concurrent access
+- [hcd] add `hcd_frame_number()`, `hcd_edpt_abort_xfer()` for pio-usb host
+
+### stm32 fsdev
+
+- Add STM32L5 support
+- Implement `dcd_edpt_iso_alloc()` and `dcd_edpt_iso_activate()`
+
+### OHCI
+
+- Allows configurable root hub ports, handles SMM mode (Ref OHCI spec 5.1.1.3.3) and Bios mode (Ref OHCI spec 5.1.1.3.4)
+- Fix FrameIntervalToggle must be toggled after we write the FrameInterval (Ref OHCI Spec 7.3.1)
+- Wait PowerOnToPowerGoodTime after we enable power of the RH ports (Ref OHCI Spec 7.4.1)
+- Generate port interrupts for devices already connected during init.
+- Fix issue when removing queue head
+- Disable MIE during IRQ processing and clear HccaDoneHead on completion as per OCHI Spec Page 80
+
+## Device Stack
+
+- Add optional hooks `tud_event_hook_cb()`
+
+### Audio (UAC2)
+
+- Fix feedback EP buffer alignment.
+- Fix encoding, update example
+- Improve IN transfer
+
+### Bluetooth
+
+- Add historical EP compatibility for Bluetooth HCI
+
+### CDC
+
+- Fix line_coding alignment
+- Fix typo in cdc line coding enum
+
+### MIDI
+
+- Fix `stream_write()` always writes system messages to cable 0
+- Fix incorrect NOTE_ON, NOTE_OFF definitions
+
+### USBTMC
+
+- Fix tmc488 bit order
+
+### Vendor
+
+- fix `read()`/`write()` race condition
+
+### Video (UVC)
+
+- Add the capability for video class to handle a bulk endpoint in the streaming interface.
+
+## Host Stack
+
+### USBH
+
+- Add new APIs: `tuh_interface_set()`, `tuh_task_event_ready()`, `tuh_edpt_abort_xfer()`, `tuh_rhport_reset_bus()`, `tuh_rhport_is_active()`
+- Fix issue when device generate multiple attach/detach/attach when plugging in
+- Prefer application callback over built-in driver on transfer complete event
+- Correct `hcd_edpt_clear_stall()` API signature
+- Separate bus reset delay and contact debouncing delay in enumeration
+- Support `usbh_app_driver_get_cb()` for application drivers
+- Fix usbh enumeration removal race condition
+- Add optional hooks `tuh_event_hook_cb()`
+
+### CDC
+
+- Breaking: change `tuh_cdc_itf_get_info()` to use tuh_itf_info_t instead of tuh_cdc_info_t
+- Fix cdc host enumeration issue when device does not support line request
+- Add support for vendor usb2uart serial: ftdi, cp210x, ch9102f
+- Improve sync control API e.g `tuh_cdc_set_control_line_state()`, `tuh_cdc_set_line_coding()`
+
+### HID
+
+- Add new APIs `tuh_hid_send_report()`, `tuh_hid_itf_get_info()`, `tuh_hid_receive_ready()`, `tuh_hid_send_ready()`, `tuh_hid_set_default_protocol()`
+- Change meaning of CFG_TUH_HID to total number of HID interfaces supported. Previously `CFG_TUH_HID` is max number of interfaces per device which is rather limited and consume more resources than needed.
+
+### HUB
+
+- Fix handling of empty "status change" interrupt
+- Fix issue with hub status_change is not aligned
+
+### MSC
+
+- Fix bug in `tuh_msc_ready()`
+- Fix host msc get maxlun not using aligned section memory
+
+## Contributors
+
+Thanks to everyone who contributed to this release: @0xCCF4, @abakosh, @ahooper, @antoniovazquezblanco, @bavison, @bencowperthwaite, @bpaddock, @branalba, @ccrome, @dauc, @dhalbert, @DRNadler, @dsugisawa-mixi, @epatstarkey, @eustas, @facchinm, @gabChouin, @georgeboc, @hathach, @HiFiPhile, @howard0su, @HubertD, @ipopov, @jbtheou, @jefftrull, @jfedor2, @jferreir, @jfm92, @jncronin, @JustAnother1, @kasjer, @kholia, @kilograham, @kkitayam, @koendv, @Krasutski, @kripton, @maidnl, @MattMills, @mikee47, @mndza, @nathaniel-brough, @NullMember, @perigoso, @projectgus, @raiden00pl, @ReimuNotMoe, @Rocky04, @rppicomidi, @Ryzee119, @sinitax, @sjanc, @slark-yuxj, @slc-tl, @Tails86, @tannewt, @tswan-quasi, @tyustli, @Yveaux.