Releases: cherry-embedded/CherryUSB
Releases · cherry-embedded/CherryUSB
CherryUSB v1.3.0
Common
- change rt_ssize_t to ssize_t, compatible with older rtthread version
- osal: freeRTOS: fix enter/exit critical @chenzhihong007
- update missing license
- update config template, add some comments
- add USB_DEVICE_QUALIFIER_DESCRIPTOR_INIT and USB_OTHER_SPEED_CONFIG_DESCRIPTOR_INIT macros
- add cherryrb and cherry pool
- add nuttx osal
Device
- support speed get when enables CONFIG_USBDEV_ADVANCE_DESC and select different desc with different speed
- support using string like "cherryusb" for string desc
- add usbd_get_ep_mps api and use in class and demo
- add usbd_get_ep_mult api
- copy data into ep0 buffer at a unified location in order to make code nice, add CONFIG_USBDEV_EP0_INDATA_NO_COPY macro
- change CONFIG_USBDEV_RNDIS_ETH_MAX_FRAME_SIZE to 1580 default
Host
- add config index to select multi configs
- add hid host report api
- add user_data param in host class for users
- support id table for multi vid pid
- support pl2303 driver
- fix rndis send dummy
- fix rndis receive with dummy
- fix rndis msg when mss is larger than rndis rx size
- fix missing busid in hub buffer
- support zero copy when enables LWIP_TCPIP_CORE_LOCKING_INPUT=1
- update rndis/ecm/ncm/asix/rtl8152 eth size
- update demo, support multi class
Port
- import bouffalo dcd
- import aic dcd
- ehci: read ehci hcor offset from hccr caplength
- ehci: enable ohci for ehci
- ehci: enable iaad in usbh_kill_urb
- dwc2: change CONFIG_USB_DWC2_ULPI_PHY to CONFIG_USB_HS, support stm32f723
- dwc2: enable bit21(VBUSSIG) in gd chips @zhaofx1234
- dwc2: change rx fifo to 1024/4 as default
- clear urb timeout after take sem
- remove port param in usbd_get_port_speed
Security Check
- add check for dwc2 fifo with ep mps
- add check for dwc2 fifo with 1.25KB
- add check for rtt config
- add check for hpm config
- add check for eth rx size
- add check for wTotalLength
- add check for musb
CherryUSB v1.2.0
Common
- update scons and cmake file
Device
- update usb test mode @chenzhihong007
- demo: reset flag in USBD_EVENT_CONFIGURED
Host
- support cdc ncm host
- support rtl8152 host
- optimise find class driver api
- set config with configvalue
- fix bt hci recv when CONFIG_BT_RECV_IS_RX_THREAD is disabled
- core: usbh_core: fix ep0_request_buffer index lose @chenzhihong007
- add timer to control interrupt transfer
- add "." to section usbh_class_info for IAR @chenzhihong007
- fix msc buf overflow by SCSICMD_INQUIRY_SIZEOF
Port
- HPMicro: update usb_dc_hpm.c @chenzhihong007
- add esp dwc2 glue
- add aic ehci glue
- dwc2: update host driver
1, change dma incr to 16, flush fifo after fifo config.
2, simplify chan irq code. add HCCHAR register init api, only enable chan halt irq, buffer dma mode just need this.
3, add fifo macros for users to config.
4, get next toggle from HCTSIZ. - add usb_hc_low_level_deinit api
- ehci: use only one qh for intr, following with linux driver, remove qtd alloc & free, use static pool instead in order to run code faster.
CherryUSB v1.1.0
Common
Device
- support multi USB IP
- rename CONFIG_USBDEV_MSC_BLOCK_SIZE to CONFIG_USBDEV_MSC_MAX_BUFSIZE
- add ecm device write and read api
- add usbd init and deinit event macro
- support multi lun @chenzhihong007
- msc: stage change should be before usbd_ep_start_write() @chenzhihong007
- update endpoint number usage and fix busid check @chenzhihong007
Host
- support multi USB IP
- support usb ble host with zephyr and nimble
- add iar risc-v support @chenzhihong007
- update log tag
- add ch340, ftdi, cp210x, asix driver
- add get_connect_status api for rndis/cdc_ecm/asix
- fix cdc ecm zlp check
Port
- support multi USB IP
- dwc2: ctrl and bulk no need nak irq, when intr calls nak, retry by user
- dwc2: use fifo not dma as default because users may have problems in cache
- dwc2: add volatile for HcEpType & ChannelEna
- dwc2: low level deinit after usb register reset
- fsdev: remove ununsed macro and fix macro
- HPMicro: call suspend/connect/disconnect event @chenzhihong007
CherryUSB v1.0.0
Common
- Use usb special errno code, do not use system errno
- Remove usb_mem.h, move usb_osal.h into common
- Add rtems osal
Device
- Replace struct usbd_endpoint_cfg with struct usb_endpoint_descriptor in usbd_ep_open api
Host
- Refactor urb, add ep & hport in urb to make hardware pipe more reusable (dwc2/musb/ehci are affected)
- Improve rndis and ecm and dfs demo for rtthread
- Remove old vendor class
Port
- musb: bugfix: send zlp won't trigger ep tx interrupt @saisesai
- dwc2: move out gccfg, config by users
- dwc2: fix outchan actual len
- ehci: add aic and intel glue, add ehci suspend and resume
- Config macros by users when use musb&dwc2&fsdev
- Remove nrf5x and rp2040, ch32 host port
CherryUSB v0.10.2
Common
- add msh cli demo for device @ttnwosay
- osal: add USB_OSAL_WAITING_FOREVER for Semaphore and Queue use @chenzhihong007
Device
- Add cdc ecm device
Host
- Avoid IAR compiling error on USB HOST stack @helloeagleyang
- Add cdc ecm host
- Add modeswitch function
- Add usbh_set_interface api , usbh_get_string_desc and ms os request
- Fix rndis query & set msg wLength, only support one rndis device
- Fix class api name
Port
- dwc2: ignore dwc2 EPENA check
- Add more dwc2 tx fifo config, ignore ehci port ccs @ttnwosay
- ch32: Fix possible errors in endpoint 0 datapid in @HaiMianBBao
- Add nuvoton device port @xmaowu
- Fix ehci token status check to fix return zero with hub
- Add pusb2 dcd and hcd driver @zhugengyu
- Fix xhci build error @zhugengyu
CherryUSB v0.10.1
Common
- Add macros for IAR @helloeagleyang
Device
- improve msc thread
- fix video packet caculation
- Fix warning
Host
- Fix hub process with quick disconnect @heyuanjie87
Port
- Improve ehci driver, add iaad support
- Update hpm macros for device and host @chenzhihong007
- Add bouffalo ehci glue
CherryUSB v0.10.0
Common
- check if current context is in irq when gives sem
- update demo
- update cmakelist
- remove dap
- add usb_osal_thread_delete api
Device
- some descriptors INIT definitions export max ep size for user.
- format global variable name
- use usbd_event_handler instead of usbd_configure_done_callback
- refactor audio class driver
- support multi winusb
- support cdc send break
- add msc popup function
- Fix the callback api in usbd_hid.c
Host
- improve rndis with lwip process for freertos and rtthread
- enum device with disposable thread, do not block hub thread
- use static memory to malloc & free class
- support cp201x vendor class
Port
- Improve dwc2 udc iso driver, use DxEPCTL to check if ep is busy, check host driver is urb valid in isr.
- implment musb usbh_kill_urb
CherryUSB v0.9.0
Common
- Add yoc port
- Move all demos into individual repo
- Update esp32 dwc2 demo
- Fix pointer in 64bit cpu, use uintptr_t instead
Device
- Update printer driver
- Add usbd_event_handler for users
- Do not check intf when calls endpoint handler
- Check with last to reduce set line coding repeatly
- Extend report length
- Move all desc and data into nocache align ram
Host
- Update msc requestsense cmd, unifiedly use usbh_bulk_cbw_csw_xfer api
- Add audio mute and volume control
- Call usbh_xxx_stop when class enumerates completely
- Add usb3.0 support
Port
- Check urb is null when uses sunxi
- Replace usbh_ep0_pipe_reconfigure with usbh_ep_pipe_reconfigure, replace speed with mult
- Fix ch32 usbhs ep0 out dma setting
- Fix dwc2 vbus in gd32 and stm32l4, fix dwc2 dma check, fix dwc2_reset api because of variable being optimised.
- Move g_dwc2_udc into no cache ram
- Update ch32 host driver
- Update xhci driver
CherryUSB v0.8.0
Common
- none
Device
- add new desc register api for different speed and other speed
- mtp enum done
- remove align check, use memcpy to align buffer as default
- split tx_rx_thread to tx_thread and rx_thread
- add webusb support
- audio desc update
Host
- replace device mount callback with class run and stop callback
- remove roothub parent hport to reduce codesize
- fix ext hub build error when CONFIG_USBHOST_MAX_EXTHUBS =0
- optimise hub event process
- update hub thread wakeup with queue not sem & list
- IAR support
- add audio and video driver
- move hub and hport variable into common ram to reduce nocache ram usage
- update host demo, split class demo into own thread
Port
- add musb poll api
- Fix dwc2 host control transfer
- wch host support
- remove ehci iso
CherryUSB v0.7.0
Common
- Move malloc, free, printf into xxx_config.h
- Fix usb_osal_sem_take api when using rt-thread
- Add daplink support
- Add CHERRYUSB_VERSION
- Update sconscript for hpm and rndis
Device
- Update rndis driver and demo with rt-thread
- Remove intf with malloc, use static instead
Host
- Remove bulk_transfer and intr_transfer
- Fix hid set_idle cmd, ignore this cmd when failed
- Update video driver and template
Port
- Add rp2040 device port
- Update ch58x port
- Fix dwc2 ep config when reset, fix USB_OTG_HPRT_PRES with USB_OTG_HPRT_PRST, fix tx empty irq process
- Add dwc2 host iso support
- Fix musb bugs in irq handler
- Remove mm32, imxrt, nuvoton port