Browse Source

[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)

整理 components/drivers 的 Kconfig
sp-cai 1 year ago
parent
commit
f1832fea24

+ 31 - 938
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.
-
-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 "core/Kconfig"
+rsource "ipc/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

+ 17 - 0
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

+ 12 - 0
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

+ 11 - 0
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

+ 34 - 0
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

+ 0 - 0
components/drivers/fdt/Kconfig


+ 3 - 0
components/drivers/graphic/Kconfig

@@ -0,0 +1,3 @@
+config RT_USING_LCD
+    bool "Using LCD graphic drivers"
+    default n

+ 165 - 0
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

+ 219 - 0
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

+ 37 - 0
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

+ 13 - 0
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

+ 3 - 0
components/drivers/phy/Kconfig

@@ -0,0 +1,3 @@
+config RT_USING_PHY
+    bool "Using ethernet phy device drivers"
+    default n

+ 39 - 0
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

+ 13 - 0
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

+ 28 - 0
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

+ 15 - 0
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

+ 24 - 0
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

+ 67 - 0
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

+ 8 - 0
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

+ 1 - 0
components/drivers/usb/Kconfig

@@ -0,0 +1 @@
+rsource "cherryusb/Kconfig"

+ 43 - 0
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

+ 3 - 0
components/drivers/watchdog/Kconfig

@@ -0,0 +1,3 @@
+config RT_USING_WDT
+    bool "Using Watch Dog device drivers"
+    default n

+ 154 - 0
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