# Kconfig file for package CherryUSB menuconfig LPKG_USING_CHERRYUSB bool "CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP" default n select RT_USING_LIBC if LPKG_USING_CHERRYUSB menuconfig LPKG_CHERRYUSB_OTG bool "Enable usb otg mode" default y depends on AIC_USB_OTG_DRV if LPKG_CHERRYUSB_OTG choice prompt "Select otg switch" default LPKG_CHERRYUSB_OTG_AUTO config LPKG_CHERRYUSB_OTG_AUTO bool "Auto (Id pin detect)" select LPKG_CHERRYUSB_ID_GPIO config LPKG_CHERRYUSB_OTG_MANUAL bool "Manual" endchoice if LPKG_CHERRYUSB_OTG_MANUAL choice prompt "Select default mode" default LPKG_CHERRYUSB_OTG_DEF_DEVICE config LPKG_CHERRYUSB_OTG_DEF_HOST bool "Host" config LPKG_CHERRYUSB_OTG_DEF_DEVICE bool "Device" endchoice endif menuconfig LPKG_CHERRYUSB_ID_GPIO bool "Using id-pin gpio" default n if LPKG_CHERRYUSB_ID_GPIO config LPKG_CHERRYUSB_ID_GPIO_NAME string "GPIO name" default "" choice prompt "Select GPIO polarity" default LPKG_CHERRYUSB_ID_GPIO_ACT_LOW config LPKG_CHERRYUSB_ID_GPIO_ACT_LOW bool "Input value: 0 = Host, 1 = Device" config LPKG_CHERRYUSB_ID_GPIO_ACT_HIGH bool "Input value: 0 = Device, 1 = Host" endchoice endif menuconfig LPKG_CHERRYUSB_VBUSEN_GPIO bool "Using vbus-en-pin gpio" default n if LPKG_CHERRYUSB_VBUSEN_GPIO config LPKG_CHERRYUSB_VBUSEN_GPIO_NAME string "GPIO name" default "" choice prompt "Select GPIO polarity" default LPKG_CHERRYUSB_VBUSEN_GPIO_ACT_LOW config LPKG_CHERRYUSB_VBUSEN_GPIO_ACT_LOW bool "Output value: 0 = Enable, 1 = Disable" config LPKG_CHERRYUSB_VBUSEN_GPIO_ACT_HIGH bool "Output value: 0 = Disable, 1 = Enable" endchoice endif menuconfig LPKG_CHERRYUSB_DPSW_GPIO bool "Using dp-sw-pin gpio" default n if LPKG_CHERRYUSB_DPSW_GPIO config LPKG_CHERRYUSB_DPSW_GPIO_NAME string "GPIO name" default "" choice prompt "Select GPIO polarity" default LPKG_CHERRYUSB_DPSW_GPIO_ACT_LOW config LPKG_CHERRYUSB_DPSW_GPIO_ACT_LOW bool "Output value: 0 = Host, 1 = Device" config LPKG_CHERRYUSB_DPSW_GPIO_ACT_HIGH bool "Output value: 0 = Device, 1 = Host" endchoice endif endif menuconfig LPKG_CHERRYUSB_DEVICE bool "Enable usb device mode" default n depends on AIC_USB_DEVICE_DRV if LPKG_CHERRYUSB_DEVICE choice prompt "Select usb device speed" default LPKG_CHERRYUSB_DEVICE_HS config LPKG_CHERRYUSB_DEVICE_FS bool "FS" config LPKG_CHERRYUSB_DEVICE_HS bool "HS" endchoice choice prompt "Select usb device ip" default LPKG_CHERRYUSB_DEVICE_AIC config LPKG_CHERRYUSB_DEVICE_AIC bool "AIC" endchoice if LPKG_CHERRYUSB_DEVICE_AIC choice prompt "Select aic device mode" default LPKG_CHERRYUSB_DEVICE_AIC_DMA config LPKG_CHERRYUSB_DEVICE_AIC_DMA bool "DMA" config LPKG_CHERRYUSB_DEVICE_AIC_CPU bool "CPU" endchoice endif menuconfig LPKG_CHERRYUSB_DYNAMIC_REGISTRATION_MODE bool prompt "Dynamic registration mode" default n select LPKG_CHERRYUSB_DEVICE_COMPOSITE select LPKG_CHERRYUSB_DEVICE_COMPOSITE_TEMPLATE if LPKG_CHERRYUSB_DYNAMIC_REGISTRATION_MODE config LPKG_CHERRYUSB_AIC_DISP_DR bool prompt "Use AIC USB Display dynamic registration" default n select LPKG_USING_COMP_MSC select LPKG_USING_COMP_DISP select LPKG_USING_COMP_UAC select LPKG_USING_COMP_TOUCH endif if LPKG_CHERRYUSB_DEVICE_CH32 choice prompt "Select chip with ch32 usb ip to set usb base and irq name,if not set,use default setting" default LPKG_CHERRYUSB_DEVICE_CH32_CH32V307 config LPKG_CHERRYUSB_DEVICE_CH32_CH32V307 bool "CH32V307" endchoice endif if LPKG_CHERRYUSB_DEVICE_FSDEV choice prompt "Select chip with fsdev usb ip to set usb base and irq name,if not set,use default setting" default LPKG_CHERRYUSB_DEVICE_FSDEV_STM32 config LPKG_CHERRYUSB_DEVICE_FSDEV_STM32 bool "STM32" endchoice endif if LPKG_CHERRYUSB_DEVICE_MUSB choice prompt "Select chip with musb usb ip to set usb base and irq name,if not set,use default setting" default LPKG_CHERRYUSB_DEVICE_MUSB_MSP432 config LPKG_CHERRYUSB_DEVICE_MUSB_MSP432 bool "MSP432" config LPKG_CHERRYUSB_DEVICE_MUSB_ES32F3 bool "ES32F3" config LPKG_CHERRYUSB_DEVICE_MUSB_SUNXI bool "SUNXI" endchoice endif if LPKG_CHERRYUSB_DEVICE_DWC2 choice prompt "Select chip with dwc2 usb ip to set usb base and irq name,if not set,use default setting" default LPKG_CHERRYUSB_DEVICE_DWC2_STM32 config LPKG_CHERRYUSB_DEVICE_DWC2_STM32 bool "STM32" endchoice choice prompt "Select dwc2 port" default LPKG_CHERRYUSB_DEVICE_DWC2_PORT_FS config LPKG_CHERRYUSB_DEVICE_DWC2_PORT_FS bool "FS_PORT" config LPKG_CHERRYUSB_DEVICE_DWC2_PORT_HS bool "HS_PORT" endchoice endif menuconfig LPKG_CHERRYUSB_DEVICE_CLASS_AIC bool prompt "Enable usb aic device" default n if LPKG_CHERRYUSB_DEVICE_CLASS_AIC config LPKG_CHERRYUSB_DEVICE_AICUPG_FOR_USB bool prompt "Use aicupg for usb" default n endif menuconfig LPKG_CHERRYUSB_DEVICE_CDC bool prompt "Enable usb cdc acm device" default n if LPKG_CHERRYUSB_DEVICE_CDC config LPKG_CHERRYUSB_DEVICE_CDC_TEMPLATE bool prompt "Use cdc acm template" default n config LPKG_CHERRYUSB_DEVICE_CDC_AICUPG bool prompt "Use cdc acm for aicupg" default n endif menuconfig LPKG_CHERRYUSB_DEVICE_HID bool prompt "Enable usb hid device" default n if LPKG_CHERRYUSB_DEVICE_HID config LPKG_CHERRYUSB_DEVICE_AICUPG_FOR_HID bool prompt "Use aicupg for hid" default n config LPKG_CHERRYUSB_DEVICE_HID_MOUSE_TEMPLATE bool "mouse" default n config LPKG_CHERRYUSB_DEVICE_HID_KEYBOARD_TEMPLATE bool "keyboard" default n config LPKG_CHERRYUSB_DEVICE_HID_IO_TEMPLATE bool "custom input/output device" default n select LPKG_MPP select AIC_VE_TEST config LPKG_CHERRYUSB_DEVICE_HID_TOUCH_TEMPLATE bool "touch" default n config LPKG_CHERRYUSB_DEVICE_HID_REPORT_ID_TEMPLATE bool "multiple report id keyboard" default n config HID_TOUCHSCREEN_MODE depends on LPKG_CHERRYUSB_DEVICE_HID_TOUCH_TEMPLATE bool "HID_TOUCHSCREEN_MODE" default y config HID_TOUCHPAD_MODE depends on LPKG_CHERRYUSB_DEVICE_HID_TOUCH_TEMPLATE bool "HID_TOUCHPAD_MODE" default n menu "Hid Touch Parameter" depends on LPKG_CHERRYUSB_DEVICE_HID_TOUCH_TEMPLATE config HID_TOUCH_INT_MODE bool "HID_TOUCH_INT_MODE" default y config HID_TOUCH_NAME string default AIC_TOUCH_PANEL_NAME config TOUCH_X_PHYSICAL_MAXNUM int default AIC_TOUCH_REPORT_X_COORDINATE config TOUCH_Y_PHYSICAL_MAXNUM int default AIC_TOUCH_REPORT_Y_COORDINATE config HID_TOUCH_X_FLIP bool "HID_TOUCH_X_FLIP" default n config HID_TOUCH_Y_FLIP bool "HID_TOUCH_Y_FLIP" default n if 0 choice prompt "select Touch Screen rotation degree" default AIC_HID_TOUCHROTATE_0 config AIC_HID_TOUCHROTATE_0 bool "0" config AIC_HID_TOUCHROTATE_90 bool "90" config AIC_HID_TOUCHROTATE_180 bool "180" config AIC_HID_TOUCHROTATE_270 bool "270" endchoice config AIC_HID_ROTATE_DEGREE int default 0 if AIC_HID_TOUCHROTATE_0 default 90 if AIC_HID_TOUCHROTATE_90 default 180 if AIC_HID_TOUCHROTATE_180 default 270 if AIC_HID_TOUCHROTATE_270 endif config AIC_HID_ROTATE_DEGREE int default 0 config HID_TOUCH_DEBUG bool "HID_TOUCH_DEBUG" default n endmenu endif menuconfig LPKG_CHERRYUSB_DEVICE_MSC bool prompt "Enable usb msc device" default n if LPKG_CHERRYUSB_DEVICE_MSC choice prompt "Use ram or storage template" default LPKG_CHERRYUSB_DEVICE_MSC_STORAGE_TEMPLATE config LPKG_CHERRYUSB_DEVICE_MSC_RAM_TEMPLATE bool prompt "msc ram" config LPKG_CHERRYUSB_DEVICE_MSC_STORAGE_TEMPLATE bool prompt "msc storage" endchoice menu "MSC Storage Parameter" depends on LPKG_CHERRYUSB_DEVICE_MSC_STORAGE_TEMPLATE if KERNEL_RTTHREAD config USBDEV_MSC_THREAD bool "USBDEV_MSC_THREAD" default y config USBD_MSC_STORAGE_USING_HOTPLUG bool "USBD_MSC_STORAGE_USING_HOTPLUG" default y endif config USBDEV_MSC_READ_ONLY bool "USBDEV_MSC_READ_ONLY" default n config MSC_STORAGE_PATH string "MSC_STORAGE_PATH" default "/sdcard" config CONFIG_USBDEV_MSC_MAX_BUFSIZE int "USBDEV_MSC_MAX_BUFSIZE" default 204800 endmenu config CONFIG_USBDEV_MSC_MANUFACTURER_STRING string "CONFIG_USBDEV_MSC_MANUFACTURER_STRING" default "" config CONFIG_USBDEV_MSC_PRODUCT_STRING string "CONFIG_USBDEV_MSC_PRODUCT_STRING" default "" config CONFIG_USBDEV_MSC_VERSION_STRING string "CONFIG_USBDEV_MSC_VERSION_STRING" default "0.01" endif menuconfig LPKG_CHERRYUSB_DEVICE_MTP bool prompt "Enable usb mtp device" default n if LPKG_CHERRYUSB_DEVICE_MTP config LPKG_CHERRYUSB_DEVICE_MTP_TEMPLATE bool prompt "Use mtp template" default y menu "MTP Parameter" depends on LPKG_CHERRYUSB_DEVICE_MTP_TEMPLATE if KERNEL_RTTHREAD config USBDEV_MTP_THREAD bool "USBDEV_MTP_THREAD" default n endif config ROOT_PATH string "ROOT_PATH" default "/sdcard" config MTP_OBJECT_HANDLES_MAX_NUM int "MTP_OBJECT_HANDLES_MAX_NUM" default 512 endmenu endif menuconfig LPKG_CHERRYUSB_DEVICE_AUDIO bool prompt "Enable usb audio device" default n if LPKG_CHERRYUSB_DEVICE_AUDIO menuconfig LPKG_CHERRYUSB_DEVICE_AUDIO_MIC_SPEAKER bool prompt "Use audio speaker&mic template" default n if LPKG_CHERRYUSB_DEVICE_AUDIO_MIC_SPEAKER choice prompt "select audio speaker&mic template version" default LPKG_CHERRYUSB_DEVICE_AUDIO_V1_TEMPLATE config LPKG_CHERRYUSB_DEVICE_AUDIO_V1_TEMPLATE bool "UAC1.0" config LPKG_CHERRYUSB_DEVICE_AUDIO_V2_TEMPLATE bool "UAC2.0" endchoice endif menuconfig LPKG_CHERRYUSB_DEVICE_AUDIO_SPEAKER bool prompt "Use audio speaker template" default n if LPKG_CHERRYUSB_DEVICE_AUDIO_SPEAKER choice prompt "Use audio speaker template" default LPKG_CHERRYUSB_DEVICE_AUDIO_SPEAKER_V2_TEMPLATE config LPKG_CHERRYUSB_DEVICE_AUDIO_SPEAKER_V2_TEMPLATE bool "UAC2.0" endchoice endif endif menuconfig LPKG_CHERRYUSB_DEVICE_VIDEO bool prompt "Enable usb video device" default n if LPKG_CHERRYUSB_DEVICE_VIDEO choice prompt "Use video template" default LPKG_CHERRYUSB_DEVICE_VIDEO_MJPEG_TEMPLATE config LPKG_CHERRYUSB_DEVICE_VIDEO_MJPEG_TEMPLATE bool "Use video static mjpeg template" config LPKG_CHERRYUSB_DEVICE_VIDEO_YUYV_TEMPLATE bool "Use video static yuyv template" config LPKG_CHERRYUSB_DEVICE_VIDEO_NV12_TEMPLATE bool "Use video static nv12 template" config LPKG_CHERRYUSB_DEVICE_VIDEO_DVP_TEMPLATE bool "Use video dvp sensor template" endchoice endif menuconfig LPKG_CHERRYUSB_DEVICE_MIDI bool prompt "Enable usb midi device" default n if LPKG_CHERRYUSB_DEVICE_MIDI config LPKG_CHERRYUSB_DEVICE_MIDI_TEMPLATE bool prompt "Use midi template" default n endif menuconfig LPKG_CHERRYUSB_DEVICE_RNDIS bool prompt "Enable usb rndis device" default n if LPKG_CHERRYUSB_DEVICE_RNDIS config LPKG_CHERRYUSB_DEVICE_RNDIS_TEMPLATE bool prompt "Use rndis template" default n endif menuconfig LPKG_CHERRYUSB_DEVICE_DFU bool prompt "Enable usb dfu device" default n if LPKG_CHERRYUSB_DEVICE_DFU config LPKG_CHERRYUSB_DEVICE_DFU_TEMPLATE bool prompt "Use dfu template" default n endif menuconfig LPKG_CHERRYUSB_DEVICE_WINUSB bool prompt "Enable WinUSB device" default n if LPKG_CHERRYUSB_DEVICE_WINUSB config LPKG_CHERRYUSB_DEVICE_WINUSB10_TEMPLATE bool prompt "Use WinUSB 1.0 template" default n config LPKG_CHERRYUSB_DEVICE_WINUSB20_TEMPLATE bool prompt "Use WinUSB 2.0 template" default n endif menuconfig LPKG_CHERRYUSB_DEVICE_DISPLAY bool prompt "Enable usb display device" default n if LPKG_CHERRYUSB_DEVICE_DISPLAY config LPKG_CHERRYUSB_DEVICE_DISPLAY_TEMPLATE bool prompt "Use display template" default n select LPKG_USING_AIC_AUTHORIZATION select AIC_USING_CE if LPKG_CHERRYUSB_DEVICE_DISPLAY_TEMPLATE choice prompt "select USB coding format" default LPKG_CHERRYUSB_USB_TRANSFER_AUTO if AIC_VE_DRV_V10 default LPKG_CHERRYUSB_USB_TRANSFER_JPEG if !AIC_VE_DRV_V10 config LPKG_CHERRYUSB_USB_TRANSFER_AUTO bool "AUTO" config LPKG_CHERRYUSB_USB_TRANSFER_H264 bool "H264" depends on AIC_VE_DRV_V10 config LPKG_CHERRYUSB_USB_TRANSFER_JPEG bool "JPEG" config LPKG_CHERRYUSB_USB_TRANSFER_RGB565 bool "RGB565" config LPKG_CHERRYUSB_USB_TRANSFER_ARGB8888 bool "ARGB8888" endchoice config AIC_USB_DISP_SW_GPIO_EN bool "Using gpio switch" default n if AIC_USB_DISP_SW_GPIO_EN config AIC_USB_DISP_SW_GPIO_NAME string "GPIO name" default "PD.6" choice prompt "Select GPIO polarity" default AIC_USB_DISP_SW_GPIO_ACT_LOW config AIC_USB_DISP_SW_GPIO_ACT_LOW bool "0 = On, 1 = Off" config AIC_USB_DISP_SW_GPIO_ACT_HIGH bool "1 = On, 0 = Off" endchoice config AIC_USB_DISP_SW_GPIO_NAME_POLARITY int default 0 if AIC_USB_DISP_SW_GPIO_ACT_LOW default 1 if AIC_USB_DISP_SW_GPIO_ACT_HIGH choice prompt "Select switch mode" default AIC_USB_DISP_SW_GPIO_BACKLIGHT config AIC_USB_DISP_SW_GPIO_BACKLIGHT bool "Backlight Switch" config AIC_USB_DISP_SW_GPIO_USBDISPLAY bool "USB Display Switch" endchoice if AIC_USB_DISP_SW_GPIO_USBDISPLAY config AIC_USB_DISP_DEF_DIS bool "Default usb display disable" default n endif endif config AIC_USB_DISP_INIT_DELAY_MS int "Init delay ms" default 0 config LPKG_CHERRYUSB_DEVICE_DISPLAY_FPS bool prompt "Print FPS in-live" default n endif endif menuconfig LPKG_CHERRYUSB_DEVICE_VENDER bool prompt "Enable usb vender device" default n if LPKG_CHERRYUSB_DEVICE_VENDER config LPKG_CHERRYUSB_DEVICE_VENDER_TEMPLATE bool prompt "Use vender template" default n endif menuconfig LPKG_CHERRYUSB_DEVICE_COMPOSITE bool prompt "Enable composite device" default n if LPKG_CHERRYUSB_DEVICE_COMPOSITE config LPKG_CHERRYUSB_DEVICE_COMPOSITE_TEMPLATE bool prompt "Use Composite template" default n menu "Composite Parameter" depends on LPKG_CHERRYUSB_DEVICE_COMPOSITE_TEMPLATE config LPKG_USING_COMP_MSC bool "USBDEV_MSC_COMPOSITE" default n config LPKG_USING_COMP_ADBD bool "USBDEV_ADB_COMPOSITE" default n config LPKG_USING_COMP_DISP bool "USBDEV_DISP_COMPOSITE" default n config LPKG_USING_COMP_UAC bool "USBDEV_UAC_COMPOSITE" default n config LPKG_USING_COMP_TOUCH bool "USBDEV_TOUCH_COMPOSITE" default n config LPKG_USING_COMP_VENDER bool "USBDEV_VENDER_COMPOSITE" default n endmenu endif endif menuconfig LPKG_CHERRYUSB_HOST bool "Enable usb host mode" default n depends on AIC_USB_HOST_EHCI_DRV if LPKG_CHERRYUSB_HOST menuconfig LPKG_CHERRYUSB_HOST_SELECT bool prompt "Select usb host ip" default y if LPKG_CHERRYUSB_HOST_SELECT config LPKG_CHERRYUSB_HOST_EHCI bool prompt "Use EHCI" default y config LPKG_CHERRYUSB_HOST_OHCI bool prompt "Use OHCI" default y endif if LPKG_CHERRYUSB_HOST_MUSB choice prompt "Select chip with musb usb ip to set usb base and irq name,if not set,use default setting" default LPKG_CHERRYUSB_HOST_MUSB_ES32F3 config LPKG_CHERRYUSB_HOST_MUSB_MSP432 bool "MSP432" config LPKG_CHERRYUSB_HOST_MUSB_ES32F3 bool "ES32F3" config LPKG_CHERRYUSB_HOST_MUSB_SUNXI bool "SUNXI" endchoice endif if LPKG_CHERRYUSB_HOST_DWC2 choice prompt "Select chip with dwc2 usb ip to set usb base and irq name,if not set,use default setting.Only support hs usb ip" default LPKG_CHERRYUSB_HOST_DWC2_STM32 config LPKG_CHERRYUSB_HOST_DWC2_STM32 bool "STM32" endchoice endif if LPKG_CHERRYUSB_HOST_EHCI choice prompt "Select chip with EHCI usb ip" default LPKG_CHERRYUSB_HOST_EHCI_AIC config LPKG_CHERRYUSB_HOST_EHCI_AIC bool "AIC" endchoice endif config LPKG_CHERRYUSB_HOST_CDC bool prompt "Enable usb cdc acm driver" default n menuconfig LPKG_CHERRYUSB_HOST_HID bool prompt "Enable usb hid driver" default n if LPKG_CHERRYUSB_HOST_HID config LPKG_CHERRYUSB_HOST_HID_TEMPLATE bool prompt "Use hid template" default n endif menuconfig LPKG_CHERRYUSB_HOST_MSC bool prompt "Enable usb msc driver" default n if LPKG_CHERRYUSB_HOST_MSC config LPKG_CHERRYUSB_HOST_MSC_TEMPLATE bool prompt "Use msc template" default n config LPKG_CHERRYUSB_HOST_AICUPG_FOR_UDISK bool prompt "Use aicupg for udisk" default n endif config LPKG_CHERRYUSB_HOST_RNDIS bool prompt "Enable usb rndis driver" default n config LPKG_CHERRYUSB_HOST_TEMPLATE bool prompt "Use usb host template" default n endif endif