summaryrefslogtreecommitdiff
path: root/components/drivers
diff options
context:
space:
mode:
authorsp-cai <[email protected]>2024-06-16 15:43:27 +0800
committerGitHub <[email protected]>2024-06-16 15:43:27 +0800
commitf1832fea24958649c8c113de5b71581874771548 (patch)
tree2c2f46af9a8d2e0f5de2c11680b6feb9b276ec9e /components/drivers
parent842b555358a507c05ebdd4ee065177a69745fdaf (diff)
[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)
整理 components/drivers 的 Kconfig
Diffstat (limited to 'components/drivers')
-rwxr-xr-xcomponents/drivers/Kconfig967
-rw-r--r--components/drivers/audio/Kconfig17
-rw-r--r--components/drivers/can/Kconfig12
-rw-r--r--components/drivers/core/Kconfig11
-rw-r--r--components/drivers/cputime/Kconfig34
-rw-r--r--components/drivers/fdt/Kconfig0
-rw-r--r--components/drivers/graphic/Kconfig3
-rw-r--r--components/drivers/hwcrypto/Kconfig165
-rw-r--r--components/drivers/i2c/Kconfig219
-rw-r--r--components/drivers/misc/Kconfig37
-rw-r--r--components/drivers/mtd/Kconfig13
-rw-r--r--components/drivers/phy/Kconfig3
-rw-r--r--components/drivers/pm/Kconfig39
-rw-r--r--components/drivers/rtc/Kconfig13
-rw-r--r--components/drivers/sdio/Kconfig28
-rw-r--r--components/drivers/sensor/Kconfig15
-rw-r--r--components/drivers/serial/Kconfig24
-rw-r--r--components/drivers/spi/Kconfig67
-rw-r--r--components/drivers/touch/Kconfig8
-rw-r--r--components/drivers/usb/Kconfig1
-rw-r--r--components/drivers/virtio/Kconfig43
-rw-r--r--components/drivers/watchdog/Kconfig3
-rw-r--r--components/drivers/wlan/Kconfig154
23 files changed, 939 insertions, 937 deletions
diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig
index cfb0172853..b7112d9ea6 100755
--- a/components/drivers/Kconfig
+++ b/components/drivers/Kconfig
@@ -1,942 +1,35 @@
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.
+rsource "core/Kconfig"
+rsource "ipc/Kconfig"
-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"
+rsource "serial/Kconfig"
+rsource "can/Kconfig"
+rsource "cputime/Kconfig"
+rsource "i2c/Kconfig"
+rsource "phy/Kconfig"
+rsource "misc/Kconfig"
+rsource "mtd/Kconfig"
+rsource "pm/Kconfig"
+rsource "rtc/Kconfig"
+rsource "sdio/Kconfig"
+rsource "spi/Kconfig"
+rsource "watchdog/Kconfig"
+rsource "audio/Kconfig"
+rsource "sensor/Kconfig"
+rsource "touch/Kconfig"
+rsource "graphic/Kconfig"
+rsource "hwcrypto/Kconfig"
+rsource "wlan/Kconfig"
+rsource "virtio/Kconfig"
+rsource "ofw/Kconfig"
+rsource "pic/Kconfig"
+rsource "pin/Kconfig"
+rsource "pinctrl/Kconfig"
+rsource "ktime/Kconfig"
+rsource "clk/Kconfig"
+rsource "hwtimer/Kconfig"
+rsource "usb/Kconfig"
+rsource "fdt/Kconfig"
endmenu
diff --git a/components/drivers/audio/Kconfig b/components/drivers/audio/Kconfig
new file mode 100644
index 0000000000..e903eccc21
--- /dev/null
+++ b/components/drivers/audio/Kconfig
@@ -0,0 +1,17 @@
+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
diff --git a/components/drivers/can/Kconfig b/components/drivers/can/Kconfig
new file mode 100644
index 0000000000..f4bc11dc86
--- /dev/null
+++ b/components/drivers/can/Kconfig
@@ -0,0 +1,12 @@
+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
diff --git a/components/drivers/core/Kconfig b/components/drivers/core/Kconfig
new file mode 100644
index 0000000000..f2d107f83d
--- /dev/null
+++ b/components/drivers/core/Kconfig
@@ -0,0 +1,11 @@
+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.
+
+config RT_USING_DEV_BUS
+ bool "Using Device Bus device drivers"
+ default y if RT_USING_SMART
+ default n
diff --git a/components/drivers/cputime/Kconfig b/components/drivers/cputime/Kconfig
new file mode 100644
index 0000000000..97c2c46259
--- /dev/null
+++ b/components/drivers/cputime/Kconfig
@@ -0,0 +1,34 @@
+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
diff --git a/components/drivers/fdt/Kconfig b/components/drivers/fdt/Kconfig
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/components/drivers/fdt/Kconfig
diff --git a/components/drivers/graphic/Kconfig b/components/drivers/graphic/Kconfig
new file mode 100644
index 0000000000..5ce0835743
--- /dev/null
+++ b/components/drivers/graphic/Kconfig
@@ -0,0 +1,3 @@
+config RT_USING_LCD
+ bool "Using LCD graphic drivers"
+ default n
diff --git a/components/drivers/hwcrypto/Kconfig b/components/drivers/hwcrypto/Kconfig
new file mode 100644
index 0000000000..e5748c998d
--- /dev/null
+++ b/components/drivers/hwcrypto/Kconfig
@@ -0,0 +1,165 @@
+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
diff --git a/components/drivers/i2c/Kconfig b/components/drivers/i2c/Kconfig
new file mode 100644
index 0000000000..40f04d1d2f
--- /dev/null
+++ b/components/drivers/i2c/Kconfig
@@ -0,0 +1,219 @@
+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
diff --git a/components/drivers/misc/Kconfig b/components/drivers/misc/Kconfig
new file mode 100644
index 0000000000..fd09276099
--- /dev/null
+++ b/components/drivers/misc/Kconfig
@@ -0,0 +1,37 @@
+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_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
diff --git a/components/drivers/mtd/Kconfig b/components/drivers/mtd/Kconfig
new file mode 100644
index 0000000000..384d002833
--- /dev/null
+++ b/components/drivers/mtd/Kconfig
@@ -0,0 +1,13 @@
+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
diff --git a/components/drivers/phy/Kconfig b/components/drivers/phy/Kconfig
new file mode 100644
index 0000000000..bb88a41526
--- /dev/null
+++ b/components/drivers/phy/Kconfig
@@ -0,0 +1,3 @@
+config RT_USING_PHY
+ bool "Using ethernet phy device drivers"
+ default n
diff --git a/components/drivers/pm/Kconfig b/components/drivers/pm/Kconfig
new file mode 100644
index 0000000000..0ed83510d4
--- /dev/null
+++ b/components/drivers/pm/Kconfig
@@ -0,0 +1,39 @@
+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
diff --git a/components/drivers/rtc/Kconfig b/components/drivers/rtc/Kconfig
new file mode 100644
index 0000000000..e4310cb5b1
--- /dev/null
+++ b/components/drivers/rtc/Kconfig
@@ -0,0 +1,13 @@
+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
diff --git a/components/drivers/sdio/Kconfig b/components/drivers/sdio/Kconfig
new file mode 100644
index 0000000000..e5bff4549d
--- /dev/null
+++ b/components/drivers/sdio/Kconfig
@@ -0,0 +1,28 @@
+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
diff --git a/components/drivers/sensor/Kconfig b/components/drivers/sensor/Kconfig
new file mode 100644
index 0000000000..86f8711197
--- /dev/null
+++ b/components/drivers/sensor/Kconfig
@@ -0,0 +1,15 @@
+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
diff --git a/components/drivers/serial/Kconfig b/components/drivers/serial/Kconfig
new file mode 100644
index 0000000000..00fcfb6461
--- /dev/null
+++ b/components/drivers/serial/Kconfig
@@ -0,0 +1,24 @@
+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
diff --git a/components/drivers/spi/Kconfig b/components/drivers/spi/Kconfig
new file mode 100644
index 0000000000..8925d8e9e8
--- /dev/null
+++ b/components/drivers/spi/Kconfig
@@ -0,0 +1,67 @@
+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
diff --git a/components/drivers/touch/Kconfig b/components/drivers/touch/Kconfig
new file mode 100644
index 0000000000..6542ac4219
--- /dev/null
+++ b/components/drivers/touch/Kconfig
@@ -0,0 +1,8 @@
+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
diff --git a/components/drivers/usb/Kconfig b/components/drivers/usb/Kconfig
new file mode 100644
index 0000000000..cd8e4ebf86
--- /dev/null
+++ b/components/drivers/usb/Kconfig
@@ -0,0 +1 @@
+rsource "cherryusb/Kconfig"
diff --git a/components/drivers/virtio/Kconfig b/components/drivers/virtio/Kconfig
new file mode 100644
index 0000000000..c23d2da27f
--- /dev/null
+++ b/components/drivers/virtio/Kconfig
@@ -0,0 +1,43 @@
+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
diff --git a/components/drivers/watchdog/Kconfig b/components/drivers/watchdog/Kconfig
new file mode 100644
index 0000000000..b70d465dfd
--- /dev/null
+++ b/components/drivers/watchdog/Kconfig
@@ -0,0 +1,3 @@
+config RT_USING_WDT
+ bool "Using Watch Dog device drivers"
+ default n
diff --git a/components/drivers/wlan/Kconfig b/components/drivers/wlan/Kconfig
new file mode 100644
index 0000000000..59ad948bca
--- /dev/null
+++ b/components/drivers/wlan/Kconfig
@@ -0,0 +1,154 @@
+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