diff --git a/Kconfig.cherryusb b/Kconfig.cherryusb new file mode 100644 index 00000000..c559fa83 --- /dev/null +++ b/Kconfig.cherryusb @@ -0,0 +1,304 @@ +# Kconfig file for CherryUSB +menuconfig CHERRYUSB + bool "Using CherryUSB" + default n + +if CHERRYUSB + + menuconfig CHERRYUSB_DEVICE + bool "Enable usb device mode" + default n + + if CHERRYUSB_DEVICE + choice + 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 + 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 + bool "fsdev" + config CHERRYUSB_DEVICE_DWC2_ST + bool "dwc2_st" + config CHERRYUSB_DEVICE_DWC2_ESP + bool "dwc2_esp" + config CHERRYUSB_DEVICE_DWC2_AT + bool "dwc2_at" + config CHERRYUSB_DEVICE_DWC2_GD + bool "dwc2_gd" + config CHERRYUSB_DEVICE_DWC2_CUSTOM + bool "dwc2_custom" + config CHERRYUSB_DEVICE_MUSB_STANDARD + bool "musb_standard" + config CHERRYUSB_DEVICE_MUSB_SUNXI + bool "musb_sunxi" + config CHERRYUSB_DEVICE_MUSB_CUSTOM + bool "musb_custom" + config CHERRYUSB_DEVICE_BL + bool "bouffalo" + config CHERRYUSB_DEVICE_HPM + bool "hpm" + config CHERRYUSB_DEVICE_AIC + bool "aic" + 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_DFU + bool + prompt "Enable usb dfu device" + default n + + choice + prompt "Select usb device template" + default CHERRYUSB_DEVICE_TEMPLATE + config CHERRYUSB_DEVICE_TEMPLATE_NONE + bool "none (Implement it yourself)" + config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM + bool "cdc_acm" + config CHERRYUSB_DEVICE_TEMPLATE_MSC + bool "msc" + config CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD + bool "hid_keyboard" + config CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE + bool "hid_mouse" + config CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM + bool "hid_custom" + config CHERRYUSB_DEVICE_TEMPLATE_VIDEO + bool "video" + config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER + bool "audio_v1_mic_speaker_multichan" + config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER + bool "audio_v2_mic_speaker_multichan" + config CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS + bool "cdc_rndis" + config CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM + bool "cdc_ecm" + config CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM + bool "cdc_ncm" + config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC + bool "cdc_acm_msc" + config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID + bool "cdc_acm_msc_hid" + config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 + bool "winusbv1" + config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC + bool "winusbv2_cdc" + config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID + bool "winusbv2_hid" + endchoice + + endif + + menuconfig CHERRYUSB_HOST + bool "Enable usb host mode" + default n + + if CHERRYUSB_HOST + choice + 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_NUVOTON_NUC980 + bool "ehci_nuvoton_nuc980" + config CHERRYUSB_HOST_EHCI_NUVOTON_MA35D0 + bool "ehci_nuvoton_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_CUSTOM + bool "dwc2_custom" + config CHERRYUSB_HOST_MUSB_STANDARD + bool "musb_standard" + config CHERRYUSB_HOST_MUSB_SUNXI + bool "musb_sunxi" + config CHERRYUSB_HOST_MUSB_CUSTOM + bool "musb_custom" + config CHERRYUSB_HOST_PUSB2 + bool "pusb2" + config CHERRYUSB_HOST_XHCI + bool "xhci" + 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_RNDIS + bool + prompt "Enable usb rndis driver" + default n + + config CHERRYUSB_HOST_CDC_ECM + bool + prompt "Enable usb cdc ecm driver" + default n + + config CHERRYUSB_HOST_CDC_NCM + bool + prompt "Enable usb cdc ncm driver" + 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" + default n + + config CHERRYUSB_HOST_RTL8152 + bool + prompt "Enable usb rtl8152 driver" + 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_TEMPLATE + bool + prompt "Use usb host template" + default n + + if CHERRYUSB_HOST_TEMPLATE + 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, do not enable because it has used dfs instead" + default 0 + depends on CHERRYUSB_HOST_MSC + config TEST_USBH_CDC_ECM + int + prompt "demo for test cdc ecm" + default 0 + depends on CHERRYUSB_HOST_CDC_ECM + config TEST_USBH_CDC_NCM + int + prompt "demo for test cdc ncm" + default 0 + depends on CHERRYUSB_HOST_CDC_NCM + config TEST_USBH_RNDIS + int + prompt "demo for test cdc rndis" + default 0 + depends on CHERRYUSB_HOST_CDC_RNDIS + config TEST_USBH_ASIX + int + prompt "demo for test asix" + default 0 + depends on CHERRYUSB_HOST_ASIX + config TEST_USBH_RTL8152 + int + prompt "demo for test rtl8152" + default 0 + depends on CHERRYUSB_HOST_RTL8152 + endif + endif + +endif