menu "Device Drivers" config RT_USING_DM bool "Enable device driver model with device tree" default n help Enable device driver model with device tree (FDT). It will use more memory to parse and support device tree feature. source "$RTT_DIR/components/drivers/ipc/Kconfig" menuconfig RT_USING_SERIAL bool "USING Serial device drivers" select RT_USING_DEVICE_IPC select RT_USING_DEVICE default y if RT_USING_SERIAL choice prompt "Choice Serial version" default RT_USING_SERIAL_V1 config RT_USING_SERIAL_V1 bool "RT_USING_SERIAL_V1" config RT_USING_SERIAL_V2 bool "RT_USING_SERIAL_V2" endchoice config RT_SERIAL_USING_DMA bool "Enable serial DMA mode" default y config RT_SERIAL_RB_BUFSZ int "Set RX buffer size" depends on !RT_USING_SERIAL_V2 default 64 endif config RT_USING_CAN bool "Using CAN device drivers" default n if RT_USING_CAN config RT_CAN_USING_HDR bool "Enable CAN hardware filter" default n config RT_CAN_USING_CANFD bool "Enable CANFD support" default n endif config RT_USING_CPUTIME bool "Enable CPU time for high resolution clock counter" default n help When enable this option, the BSP should provide a rt_clock_cputime_ops for CPU time by: const static struct rt_clock_cputime_ops _ops = {...}; clock_cpu_setops(&_ops); Then user can use high resolution clock counter with: ts1 = clock_cpu_gettime(); ts2 = clock_cpu_gettime(); /* and get the ms of delta tick with API: */ ms_tick = clock_cpu_millisecond(t2 - t1); us_tick = clock_cpu_microsecond(t2 - t1); if RT_USING_CPUTIME config RT_USING_CPUTIME_CORTEXM bool "Support Cortex-M CPU" default y depends on ARCH_ARM_CORTEX_M0 || ARCH_ARM_CORTEX_M3 || ARCH_ARM_CORTEX_M4 || ARCH_ARM_CORTEX_M7 select PKG_USING_PERF_COUNTER config RT_USING_CPUTIME_RISCV bool "Use rdtime instructions for CPU time" default y depends on ARCH_RISCV64 help Some RISCV64 MCU Use rdtime instructions read CPU time. config CPUTIME_TIMER_FREQ int "CPUTIME timer freq" default 0 endif config RT_USING_I2C bool "Using I2C device drivers" default n if RT_USING_I2C config RT_I2C_DEBUG bool "Use I2C debug message" default n config RT_USING_I2C_BITOPS bool "Use GPIO to simulate I2C" default y if RT_USING_I2C_BITOPS config RT_I2C_BITOPS_DEBUG bool "Use simulate I2C debug message" default n endif config RT_USING_SOFT_I2C bool "Use GPIO to soft simulate I2C" default n select RT_USING_PIN select RT_USING_I2C_BITOPS if RT_USING_SOFT_I2C config RT_USING_SOFT_I2C1 bool "Enable I2C1 Bus (software simulation)" default y if RT_USING_SOFT_I2C1 config RT_SOFT_I2C1_SCL_PIN int "SCL pin number" range 0 32767 default 1 config RT_SOFT_I2C1_SDA_PIN int "SDA pin number" range 0 32767 default 2 config RT_SOFT_I2C1_BUS_NAME string "Bus name" default "i2c1" config RT_SOFT_I2C1_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C1_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif config RT_USING_SOFT_I2C2 bool "Enable I2C2 Bus (software simulation)" default n if RT_USING_SOFT_I2C2 config RT_SOFT_I2C2_SCL_PIN int "SCL pin number" range 0 32767 default 3 config RT_SOFT_I2C2_SDA_PIN int "SDA pin number" range 0 32767 default 4 config RT_SOFT_I2C2_BUS_NAME string "Bus name" default "i2c2" config RT_SOFT_I2C2_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C2_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif config RT_USING_SOFT_I2C3 bool "Enable I2C3 Bus (software simulation)" default n if RT_USING_SOFT_I2C3 config RT_SOFT_I2C3_SCL_PIN int "SCL pin number" range 0 32767 default 5 config RT_SOFT_I2C3_SDA_PIN int "SDA pin number" range 0 32767 default 6 config RT_SOFT_I2C3_BUS_NAME string "Bus name" default "i2c3" config RT_SOFT_I2C3_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C3_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif config RT_USING_SOFT_I2C4 bool "Enable I2C4 Bus (software simulation)" default n if RT_USING_SOFT_I2C4 config RT_SOFT_I2C4_SCL_PIN int "SCL pin number" range 0 32767 default 7 config RT_SOFT_I2C4_SDA_PIN int "SDA pin number" range 0 32767 default 8 config RT_SOFT_I2C4_BUS_NAME string "Bus name" default "i2c4" config RT_SOFT_I2C4_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C4_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif config RT_USING_SOFT_I2C5 bool "Enable I2C5 Bus (software simulation)" default n if RT_USING_SOFT_I2C5 config RT_SOFT_I2C5_SCL_PIN int "SCL pin number" range 0 32767 default 9 config RT_SOFT_I2C5_SDA_PIN int "SDA pin number" range 0 32767 default 10 config RT_SOFT_I2C5_BUS_NAME string "Bus name" default "i2c5" config RT_SOFT_I2C5_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C5_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif config RT_USING_SOFT_I2C6 bool "Enable I2C6 Bus (software simulation)" default n if RT_USING_SOFT_I2C6 config RT_SOFT_I2C6_SCL_PIN int "SCL pin number" range 0 32767 default 11 config RT_SOFT_I2C6_SDA_PIN int "SDA pin number" range 0 32767 default 12 config RT_SOFT_I2C6_BUS_NAME string "Bus name" default "i2c6" config RT_SOFT_I2C6_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C6_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif config RT_USING_SOFT_I2C7 bool "Enable I2C7 Bus (software simulation)" default n if RT_USING_SOFT_I2C7 config RT_SOFT_I2C7_SCL_PIN int "SCL pin number" range 0 32767 default 13 config RT_SOFT_I2C7_SDA_PIN int "SDA pin number" range 0 32767 default 14 config RT_SOFT_I2C7_BUS_NAME string "Bus name" default "i2c7" config RT_SOFT_I2C7_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C7_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif config RT_USING_SOFT_I2C8 bool "Enable I2C8 Bus (software simulation)" default n if RT_USING_SOFT_I2C8 config RT_SOFT_I2C8_SCL_PIN int "SCL pin number" range 0 32767 default 15 config RT_SOFT_I2C8_SDA_PIN int "SDA pin number" range 0 32767 default 16 config RT_SOFT_I2C8_BUS_NAME string "Bus name" default "i2c8" config RT_SOFT_I2C8_TIMING_DELAY int "Timing delay (us)" range 0 32767 default 10 config RT_SOFT_I2C8_TIMING_TIMEOUT int "Timing timeout (tick)" range 0 32767 default 10 endif endif endif config RT_USING_PHY bool "Using ethernet phy device drivers" default n config RT_USING_ADC bool "Using ADC device drivers" default n config RT_USING_DAC bool "Using DAC device drivers" default n config RT_USING_NULL bool "Using NULL device drivers" default n config RT_USING_ZERO bool "Using ZERO device drivers" default n config RT_USING_RANDOM bool "Using RANDOM device drivers" default n config RT_USING_PWM bool "Using PWM device drivers" default n config RT_USING_MTD_NOR bool "Using MTD Nor Flash device drivers" default n config RT_USING_MTD_NAND bool "Using MTD Nand Flash device drivers" default n if RT_USING_MTD_NAND config RT_MTD_NAND_DEBUG bool "Enable MTD Nand operations debug information" default n endif config RT_USING_PM bool "Using Power Management device drivers" default n if RT_USING_PM config PM_TICKLESS_THRESHOLD_TIME int "PM tickless threashold time" default 2 config PM_USING_CUSTOM_CONFIG bool "PM using custom pm config" default n config PM_ENABLE_DEBUG bool "PM Enable Debug" default n config PM_ENABLE_SUSPEND_SLEEP_MODE bool "PM Device suspend change sleep mode" default n config PM_ENABLE_THRESHOLD_SLEEP_MODE bool "PM using threshold time change sleep mode" default n if PM_ENABLE_THRESHOLD_SLEEP_MODE config PM_LIGHT_THRESHOLD_TIME int "PM light mode threashold time" default 5 config PM_DEEP_THRESHOLD_TIME int "PM deep mode threashold time" default 20 config PM_STANDBY_THRESHOLD_TIME int "PM standby mode threashold time" default 100 endif endif config RT_USING_RTC bool "Using RTC device drivers" default n if RT_USING_RTC config RT_USING_ALARM bool "Using RTC alarm" default n config RT_USING_SOFT_RTC bool "Using software simulation RTC device" default n endif config RT_USING_SDIO bool "Using SD/MMC device drivers" default n if RT_USING_SDIO config RT_SDIO_STACK_SIZE int "The stack size for sdio irq thread" default 512 config RT_SDIO_THREAD_PRIORITY int "The priority level value of sdio irq thread" default 15 config RT_MMCSD_STACK_SIZE int "The stack size for mmcsd thread" default 1024 config RT_MMCSD_THREAD_PREORITY int "The priority level value of mmcsd thread" default 22 config RT_MMCSD_MAX_PARTITION int "mmcsd max partition" default 16 config RT_SDIO_DEBUG bool "Enable SDIO debug log output" default n endif config RT_USING_SPI bool "Using SPI Bus/Device device drivers" default n if RT_USING_SPI config RT_USING_SPI_BITOPS select RT_USING_PIN bool "Use GPIO to simulate SPI" default n if RT_USING_SPI_BITOPS config RT_SPI_BITOPS_DEBUG bool "Use simulate SPI debug message" default n endif config RT_USING_QSPI bool "Enable QSPI mode" default n config RT_USING_SPI_MSD bool "Using SD/TF card driver with spi" select RT_USING_DFS default n config RT_USING_SFUD bool "Using Serial Flash Universal Driver" default n help An using JEDEC's SFDP standard serial (SPI) flash universal driver library if RT_USING_SFUD config RT_SFUD_USING_SFDP bool "Using auto probe flash JEDEC SFDP parameter" default y config RT_SFUD_USING_FLASH_INFO_TABLE bool "Using defined supported flash chip information table" default y config RT_SFUD_USING_QSPI bool "Using QSPI mode support" select RT_USING_QSPI default n config RT_SFUD_SPI_MAX_HZ int "Default spi maximum speed(HZ)" range 0 50000000 default 50000000 help Read the JEDEC SFDP command must run at 50 MHz or less,and you also can use rt_spi_configure(); to config spi speed. config RT_DEBUG_SFUD bool "Show more SFUD debug information" default n endif config RT_USING_ENC28J60 bool "Using ENC28J60 SPI Ethernet network interface" select RT_USING_LWIP default n config RT_USING_SPI_WIFI bool "Using RW009/007 SPI Wi-Fi wireless interface" select RT_USING_LWIP default n endif config RT_USING_WDT bool "Using Watch Dog device drivers" default n config RT_USING_AUDIO bool "Using Audio device drivers" default n if RT_USING_AUDIO config RT_AUDIO_REPLAY_MP_BLOCK_SIZE int "Replay memory pool block size" default 4096 config RT_AUDIO_REPLAY_MP_BLOCK_COUNT int "Replay memory pool block count" default 2 config RT_AUDIO_RECORD_PIPE_SIZE int "Record pipe size" default 2048 endif config RT_USING_SENSOR bool "Using Sensor device drivers" select RT_USING_PIN default n if RT_USING_SENSOR config RT_USING_SENSOR_V2 bool "Enable Sensor Framework v2" default n config RT_USING_SENSOR_CMD bool "Using Sensor cmd" select PKG_USING_RT_VSNPRINTF_FULL if RT_USING_SENSOR_V2 default y endif config RT_USING_TOUCH bool "Using Touch device drivers" default n if RT_USING_TOUCH config RT_TOUCH_PIN_IRQ bool "touch irq use pin irq" default n endif config RT_USING_LCD bool "Using LCD graphic drivers" default n menuconfig RT_USING_HWCRYPTO bool "Using Hardware Crypto drivers" default n if RT_USING_HWCRYPTO config RT_HWCRYPTO_DEFAULT_NAME string "Hardware crypto device name" default "hwcryto" config RT_HWCRYPTO_IV_MAX_SIZE int "IV max size" default "16" config RT_HWCRYPTO_KEYBIT_MAX_SIZE int "Key max bit length" default 256 config RT_HWCRYPTO_USING_GCM bool "Using Hardware GCM" default n config RT_HWCRYPTO_USING_AES bool "Using Hardware AES" default n if RT_HWCRYPTO_USING_AES config RT_HWCRYPTO_USING_AES_ECB bool "Using Hardware AES ECB mode" default y config RT_HWCRYPTO_USING_AES_CBC bool "Using Hardware AES CBC mode" default n config RT_HWCRYPTO_USING_AES_CFB bool "Using Hardware AES CFB mode" default n config RT_HWCRYPTO_USING_AES_CTR bool "Using Hardware AES CTR mode" default n config RT_HWCRYPTO_USING_AES_OFB bool "Using Hardware AES OFB mode" default n endif config RT_HWCRYPTO_USING_DES bool "Using Hardware DES" default n if RT_HWCRYPTO_USING_DES config RT_HWCRYPTO_USING_DES_ECB bool "Using Hardware DES ECB mode" default y config RT_HWCRYPTO_USING_DES_CBC bool "Using Hardware DES CBC mode" default n endif config RT_HWCRYPTO_USING_3DES bool "Using Hardware 3DES" default n if RT_HWCRYPTO_USING_3DES config RT_HWCRYPTO_USING_3DES_ECB bool "Using Hardware 3DES ECB mode" default y config RT_HWCRYPTO_USING_3DES_CBC bool "Using Hardware 3DES CBC mode" default n endif config RT_HWCRYPTO_USING_RC4 bool "Using Hardware RC4" default n config RT_HWCRYPTO_USING_MD5 bool "Using Hardware MD5" default n config RT_HWCRYPTO_USING_SHA1 bool "Using Hardware SHA1" default n config RT_HWCRYPTO_USING_SHA2 bool "Using Hardware SHA2" default n if RT_HWCRYPTO_USING_SHA2 config RT_HWCRYPTO_USING_SHA2_224 bool "Using Hardware SHA2_224 mode" default n config RT_HWCRYPTO_USING_SHA2_256 bool "Using Hardware SHA2_256 mode" default y config RT_HWCRYPTO_USING_SHA2_384 bool "Using Hardware SHA2_384 mode" default n config RT_HWCRYPTO_USING_SHA2_512 bool "Using Hardware SHA2_512 mode" default n endif config RT_HWCRYPTO_USING_RNG bool "Using Hardware RNG" default n config RT_HWCRYPTO_USING_CRC bool "Using Hardware CRC" default n if RT_HWCRYPTO_USING_CRC config RT_HWCRYPTO_USING_CRC_07 bool "Using Hardware CRC-8 0x07 polynomial" default n config RT_HWCRYPTO_USING_CRC_8005 bool "Using Hardware CRC-16 0x8005 polynomial" default n config RT_HWCRYPTO_USING_CRC_1021 bool "Using Hardware CRC-16 0x1021 polynomial" default n config RT_HWCRYPTO_USING_CRC_3D65 bool "Using Hardware CRC-16 0x3D65 polynomial" default n config RT_HWCRYPTO_USING_CRC_04C11DB7 bool "Using Hardware CRC-32 0x04C11DB7 polynomial" default n endif config RT_HWCRYPTO_USING_BIGNUM bool "Using Hardware bignum" default n if RT_HWCRYPTO_USING_BIGNUM config RT_HWCRYPTO_USING_BIGNUM_EXPTMOD bool "Using Hardware bignum expt_mod operation" default y config RT_HWCRYPTO_USING_BIGNUM_MULMOD bool "Using Hardware bignum mul_mod operation" default y config RT_HWCRYPTO_USING_BIGNUM_MUL bool "Using Hardware bignum mul operation" default n config RT_HWCRYPTO_USING_BIGNUM_ADD bool "Using Hardware bignum add operation" default n config RT_HWCRYPTO_USING_BIGNUM_SUB bool "Using Hardware bignum sub operation" default n endif endif config RT_USING_PULSE_ENCODER bool "Using PULSE ENCODER device drivers" default n config RT_USING_INPUT_CAPTURE bool "Using INPUT CAPTURE device drivers" default n if RT_USING_INPUT_CAPTURE config RT_INPUT_CAPTURE_RB_SIZE int "Set input capture ringbuffer size" default 100 endif config RT_USING_DEV_BUS bool "Using Device Bus device drivers" default y if RT_USING_SMART default n menuconfig RT_USING_WIFI bool "Using Wi-Fi framework" default n if RT_USING_WIFI config RT_WLAN_DEVICE_STA_NAME string "The device name for station" default "wlan0" config RT_WLAN_DEVICE_AP_NAME string "The device name for ap" default "wlan1" config RT_WLAN_SSID_MAX_LENGTH int "SSID maximum length" default 32 config RT_WLAN_PASSWORD_MAX_LENGTH int "Password maximum length" default 32 config RT_WLAN_DEV_EVENT_NUM int "Driver events maxcount" default 2 config RT_WLAN_MANAGE_ENABLE bool "Connection management Enable" default y if RT_WLAN_MANAGE_ENABLE config RT_WLAN_SCAN_WAIT_MS int "Set scan timeout time(ms)" default 10000 config RT_WLAN_CONNECT_WAIT_MS int "Set connect timeout time(ms)" default 10000 config RT_WLAN_SCAN_SORT bool "Automatic sorting of scan results" default y config RT_WLAN_MSH_CMD_ENABLE bool "MSH command Enable" default y config RT_WLAN_JOIN_SCAN_BY_MGNT bool "Enable wlan join scan" default y config RT_WLAN_AUTO_CONNECT_ENABLE bool "Auto connect Enable" select RT_WLAN_CFG_ENABLE select RT_WLAN_WORK_THREAD_ENABLE default y if RT_WLAN_AUTO_CONNECT_ENABLE config AUTO_CONNECTION_PERIOD_MS int "Auto connect period(ms)" default 2000 endif endif config RT_WLAN_CFG_ENABLE bool "WiFi information automatically saved Enable" default y if RT_WLAN_CFG_ENABLE config RT_WLAN_CFG_INFO_MAX int "Maximum number of WiFi information automatically saved" default 3 endif config RT_WLAN_PROT_ENABLE bool "Transport protocol manage Enable" default y if RT_WLAN_PROT_ENABLE config RT_WLAN_PROT_NAME_LEN int "Transport protocol name length" default 8 config RT_WLAN_PROT_MAX int "Transport protocol maxcount" default 2 config RT_WLAN_DEFAULT_PROT string "Default transport protocol" default "lwip" config RT_WLAN_PROT_LWIP_ENABLE bool "LWIP transport protocol Enable" select RT_USING_LWIP default y if RT_WLAN_PROT_LWIP_ENABLE config RT_WLAN_PROT_LWIP_NAME string "LWIP transport protocol name" default "lwip" config RT_WLAN_PROT_LWIP_PBUF_FORCE bool "Forced use of PBUF transmission" default n endif endif config RT_WLAN_WORK_THREAD_ENABLE bool "WLAN work queue thread Enable" default y if RT_WLAN_WORK_THREAD_ENABLE config RT_WLAN_WORKQUEUE_THREAD_NAME string "WLAN work queue thread name" default "wlan" config RT_WLAN_WORKQUEUE_THREAD_SIZE int "WLAN work queue thread size" default 2048 config RT_WLAN_WORKQUEUE_THREAD_PRIO int "WLAN work queue thread priority" default 15 endif menuconfig RT_WLAN_DEBUG bool "Enable WLAN Debugging Options" default n if RT_WLAN_DEBUG config RT_WLAN_CMD_DEBUG bool "Enable Debugging of wlan_cmd.c" default n config RT_WLAN_MGNT_DEBUG bool "Enable Debugging of wlan_mgnt.c" default n config RT_WLAN_DEV_DEBUG bool "Enable Debugging of wlan_dev.c" default n config RT_WLAN_PROT_DEBUG bool "Enable Debugging of wlan_prot.c" default n config RT_WLAN_CFG_DEBUG bool "Enable Debugging of wlan_cfg.c" default n config RT_WLAN_LWIP_DEBUG bool "Enable Debugging of wlan_lwip.c" default n endif endif menuconfig RT_USING_VIRTIO bool "Using VirtIO device drivers" default n if RT_USING_VIRTIO choice prompt "VirtIO Version" default RT_USING_VIRTIO10 config RT_USING_VIRTIO10 bool "VirtIO v1.0" endchoice config RT_USING_VIRTIO_MMIO_ALIGN bool "Using VirtIO MMIO alignment" default y config RT_USING_VIRTIO_BLK bool "Using VirtIO BLK" default y config RT_USING_VIRTIO_NET bool "Using VirtIO NET" default y menuconfig RT_USING_VIRTIO_CONSOLE bool "Using VirtIO Console" default y if RT_USING_VIRTIO_CONSOLE config RT_USING_VIRTIO_CONSOLE_PORT_MAX_NR int "Max number of port in VirtIO Console" default 4 endif config RT_USING_VIRTIO_GPU bool "Using VirtIO GPU" default y config RT_USING_VIRTIO_INPUT bool "Using VirtIO Input" default y endif source "$RTT_DIR/components/drivers/ofw/Kconfig" source "$RTT_DIR/components/drivers/pic/Kconfig" source "$RTT_DIR/components/drivers/pin/Kconfig" source "$RTT_DIR/components/drivers/pinctrl/Kconfig" source "$RTT_DIR/components/drivers/ktime/Kconfig" source "$RTT_DIR/components/drivers/clk/Kconfig" source "$RTT_DIR/components/drivers/hwtimer/Kconfig" source "$RTT_DIR/components/drivers/usb/cherryusb/Kconfig" endmenu