# Kconfig file for CherryUSB menuconfig CHERRYUSB bool "CherryUSB Configuration" default n if CHERRYUSB menuconfig CHERRYUSB_DEVICE bool "Enable usb device mode" default n if CHERRYUSB_DEVICE choice CHERRYUSB_DEVICE_SPEED prompt "Select usb device speed" default CHERRYUSB_DEVICE_SPEED_FS config CHERRYUSB_DEVICE_SPEED_FS bool "FS" config CHERRYUSB_DEVICE_SPEED_HS bool "HS" config CHERRYUSB_DEVICE_SPEED_AUTO bool "AUTO" endchoice choice CHERRYUSB_DEVICE_IP prompt "Select usb device ip, and some ip need config in usb_config.h, please check" default CHERRYUSB_DEVICE_CUSTOM config CHERRYUSB_DEVICE_CUSTOM bool "CUSTOM (Implement it yourself)" config CHERRYUSB_DEVICE_FSDEV_ST bool "fsdev_st" config CHERRYUSB_DEVICE_FSDEV_CUSTOM bool "fsdev_custom" config CHERRYUSB_DEVICE_DWC2_ST bool "dwc2_st" config CHERRYUSB_DEVICE_DWC2_ESP bool "dwc2_esp" config CHERRYUSB_DEVICE_DWC2_KENDRYTE bool "dwc2_kendryte" config CHERRYUSB_DEVICE_DWC2_AT bool "dwc2_at" config CHERRYUSB_DEVICE_DWC2_HC bool "dwc2_hc" config CHERRYUSB_DEVICE_DWC2_NATION bool "dwc2_nation" config CHERRYUSB_DEVICE_DWC2_GD bool "dwc2_gd" config CHERRYUSB_DEVICE_DWC2_CUSTOM bool "dwc2_custom" config CHERRYUSB_DEVICE_MUSB_ES bool "musb_es" config CHERRYUSB_DEVICE_MUSB_SUNXI bool "musb_sunxi" config CHERRYUSB_DEVICE_MUSB_BK bool "musb_bk" config CHERRYUSB_DEVICE_MUSB_SIFLI bool "musb_sifli" config CHERRYUSB_DEVICE_MUSB_CUSTOM bool "musb_custom" config CHERRYUSB_DEVICE_CHIPIDEA_MCX bool "chipidea_mcx" config CHERRYUSB_DEVICE_CHIPIDEA_CUSTOM bool "chipidea_custom" config CHERRYUSB_DEVICE_KINETIS_MCX bool "kinetis_mcx" config CHERRYUSB_DEVICE_KINETIS_MM32 bool "kinetis_mm32" config CHERRYUSB_DEVICE_KINETIS_CUSTOM bool "kinetis_custom" config CHERRYUSB_DEVICE_BL bool "bouffalo" config CHERRYUSB_DEVICE_HPM bool "hpm" config CHERRYUSB_DEVICE_AIC bool "aic" config CHERRYUSB_DEVICE_RP2040 bool "rp2040" config CHERRYUSB_DEVICE_CH32 bool "ch32" config CHERRYUSB_DEVICE_PUSB2 bool "pusb2" endchoice config CHERRYUSB_DEVICE_CDC_ACM bool prompt "Enable usb cdc acm device" default n config CHERRYUSB_DEVICE_HID bool prompt "Enable usb hid device" default n config CHERRYUSB_DEVICE_MSC bool prompt "Enable usb msc device" default n config CHERRYUSB_DEVICE_AUDIO bool prompt "Enable usb audio device" default n config CHERRYUSB_DEVICE_VIDEO bool prompt "Enable usb video device" default n config CHERRYUSB_DEVICE_CDC_RNDIS bool prompt "Enable usb cdc rndis device" default n config CHERRYUSB_DEVICE_CDC_ECM bool prompt "Enable usb cdc ecm device" default n config CHERRYUSB_DEVICE_CDC_NCM bool prompt "Enable usb cdc ncm device" default n config CHERRYUSB_DEVICE_MTP bool prompt "Enable usb mtp device, it is commercial charge" default n config CHERRYUSB_DEVICE_ADB bool prompt "Enable usb adb device" default n config CHERRYUSB_DEVICE_DFU bool prompt "Enable usb dfu device" default n config USBDEV_REQUEST_BUFFER_LEN int prompt "Set device control transfer max buffer size" default 512 config USBDEV_MSC_MAX_BUFSIZE int prompt "Set usb msc device max buffer size" default 512 help Set the maximum buffer size for usb msc device, it is used to transfer data. you can change it to a larger value if you need larger speed but must be a power of blocksize. config USBDEV_RNDIS_USING_LWIP bool prompt "Enable usb rndis device with lwip for lan" default n config USBDEV_CDC_ECM_USING_LWIP bool prompt "Enable usb cdc ecm device with lwip for lan" default n choice CHERRYUSB_DEVICE_TEMPLATE prompt "Select usb device template, please select class driver first" default CHERRYUSB_DEVICE_TEMPLATE_NONE config CHERRYUSB_DEVICE_TEMPLATE_NONE bool prompt "none (Implement it yourself)" config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM bool prompt "cdc_acm" depends on CHERRYUSB_DEVICE_CDC_ACM config CHERRYUSB_DEVICE_TEMPLATE_MSC bool prompt "msc_ram" depends on CHERRYUSB_DEVICE_MSC config CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD bool prompt "hid_keyboard" depends on CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE bool prompt "hid_mouse" depends on CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM bool prompt "hid_custom" depends on CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_VIDEO bool prompt "video" depends on CHERRYUSB_DEVICE_VIDEO config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER bool prompt "audio_v1_mic_speaker_multichan" depends on CHERRYUSB_DEVICE_AUDIO config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER bool prompt "audio_v2_mic_speaker_multichan" depends on CHERRYUSB_DEVICE_AUDIO config CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS bool prompt "cdc_rndis" depends on CHERRYUSB_DEVICE_CDC_RNDIS config CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM bool prompt "cdc_ecm" depends on CHERRYUSB_DEVICE_CDC_ECM config CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM bool prompt "cdc_ncm" depends on CHERRYUSB_DEVICE_CDC_NCM config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC bool prompt "cdc_acm_msc" depends on CHERRYUSB_DEVICE_CDC_ACM && CHERRYUSB_DEVICE_MSC config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID bool prompt "cdc_acm_msc_hid" depends on CHERRYUSB_DEVICE_CDC_ACM && CHERRYUSB_DEVICE_MSC && CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 bool prompt "winusbv1" config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC bool prompt "winusbv2_cdc" depends on CHERRYUSB_DEVICE_CDC_ACM config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID bool prompt "winusbv2_hid" depends on CHERRYUSB_DEVICE_HID endchoice endif menuconfig CHERRYUSB_HOST bool "Enable usb host mode" default n if CHERRYUSB_HOST choice CHERRYUSB_HOST_IP prompt "Select usb host ip, and some ip need config in usb_config.h, please check" default CHERRYUSB_HOST_CUSTOM config CHERRYUSB_HOST_CUSTOM bool "CUSTOM (Implement it yourself)" config CHERRYUSB_HOST_EHCI_BL bool "ehci_bouffalo" config CHERRYUSB_HOST_EHCI_HPM bool "ehci_hpm" config CHERRYUSB_HOST_EHCI_AIC bool "ehci_aic" config CHERRYUSB_HOST_EHCI_MCX bool "ehci_mcx" config CHERRYUSB_HOST_EHCI_NUC980 bool "ehci_nuc980" config CHERRYUSB_HOST_EHCI_MA35D0 bool "ehci_ma35d0" config CHERRYUSB_HOST_EHCI_CUSTOM bool "ehci_custom" config CHERRYUSB_HOST_DWC2_ST bool "dwc2_st" config CHERRYUSB_HOST_DWC2_ESP bool "dwc2_esp" config CHERRYUSB_HOST_DWC2_KENDRYTE bool "dwc2_kendryte" config CHERRYUSB_HOST_DWC2_HC bool "dwc2_hc" config CHERRYUSB_HOST_DWC2_NATION bool "dwc2_nation" config CHERRYUSB_HOST_DWC2_CUSTOM bool "dwc2_custom" config CHERRYUSB_HOST_MUSB_ES bool "musb_es" config CHERRYUSB_HOST_MUSB_SUNXI bool "musb_sunxi" config CHERRYUSB_HOST_MUSB_BK bool "musb_bk" config CHERRYUSB_HOST_MUSB_SIFLI bool "musb_sifli" config CHERRYUSB_HOST_MUSB_CUSTOM bool "musb_custom" config CHERRYUSB_HOST_PUSB2 bool "pusb2" config CHERRYUSB_HOST_XHCI_PHYTIUM bool "xhci_phytium" config CHERRYUSB_HOST_XHCI_CUSTOM bool "xhci" config CHERRYUSB_HOST_KINETIS_MCX bool "kinetis_mcx" config CHERRYUSB_HOST_KINETIS_MM32 bool "kinetis_mm32" config CHERRYUSB_HOST_KINETIS_CUSTOM bool "kinetis_custom" config CHERRYUSB_HOST_RP2040 bool "rp2040" endchoice config CHERRYUSB_HOST_CDC_ACM bool prompt "Enable usb cdc acm driver" default n config CHERRYUSB_HOST_HID bool prompt "Enable usb hid driver" default n config CHERRYUSB_HOST_MSC bool prompt "Enable usb msc driver" default n config CHERRYUSB_HOST_CDC_ECM bool prompt "Enable usb cdc ecm driver" select USBHOST_PLATFORM_CDC_ECM default n config CHERRYUSB_HOST_CDC_RNDIS bool prompt "Enable usb rndis driver" select USBHOST_PLATFORM_CDC_RNDIS default n config CHERRYUSB_HOST_CDC_NCM bool prompt "Enable usb cdc ncm driver" select USBHOST_PLATFORM_CDC_NCM default n config CHERRYUSB_HOST_VIDEO bool prompt "Enable usb video driver, it is commercial charge" default n config CHERRYUSB_HOST_AUDIO bool prompt "Enable usb audio driver, it is commercial charge" default n config CHERRYUSB_HOST_BLUETOOTH bool prompt "Enable usb bluetooth driver" default n config CHERRYUSB_HOST_ASIX bool prompt "Enable usb asix driver" select USBHOST_PLATFORM_ASIX default n config CHERRYUSB_HOST_RTL8152 bool prompt "Enable usb rtl8152 driver" select USBHOST_PLATFORM_RTL8152 default n config CHERRYUSB_HOST_FTDI bool prompt "Enable usb ftdi driver" default n config CHERRYUSB_HOST_CH34X bool prompt "Enable usb ch34x driver" default n config CHERRYUSB_HOST_CP210X bool prompt "Enable usb cp210x driver" default n config CHERRYUSB_HOST_PL2303 bool prompt "Enable usb pl2303 driver" default n config CHERRYUSB_HOST_AOA bool prompt "Enable usb aoa driver" default n config USBHOST_PLATFORM_CDC_ECM bool config USBHOST_PLATFORM_CDC_RNDIS bool config USBHOST_PLATFORM_CDC_NCM bool config USBHOST_PLATFORM_ASIX bool config USBHOST_PLATFORM_RTL8152 bool config USBHOST_PSC_PRIO int prompt "Set hubport change thread priority, 0 is the max priority" default 0 config USBHOST_PSC_STACKSIZE int prompt "Set hubport change thread stacksize" default 4096 config USBHOST_REQUEST_BUFFER_LEN int prompt "Set host control transfer max buffer size" default 512 config USBHOST_CONTROL_TRANSFER_TIMEOUT int prompt "Set host control transfer timeout, unit is ms" default 500 menu "Select USB host template, please select class driver first" config TEST_USBH_CDC_ACM int prompt "demo for test cdc acm" default 0 depends on CHERRYUSB_HOST_CDC_ACM config TEST_USBH_HID int prompt "demo for test hid" default 0 depends on CHERRYUSB_HOST_HID config TEST_USBH_MSC int prompt "demo for test msc" default 0 depends on CHERRYUSB_HOST_MSC endmenu endif endif