# MIT License # Copyright (c) 2025 Evlers # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. menuconfig RT_USING_WIFI_HOST_DRIVER bool "Using Wifi-Host-Driver(WHD)" select RT_USING_WIFI select RT_USING_SAL select RT_USING_SDIO select BSP_USING_SDIO default n if RT_USING_WIFI_HOST_DRIVER menu "WHD Configuration" menuconfig WHD_SET_COUNTRY_FROM_HOST bool "Set country code from host" default y if WHD_SET_COUNTRY_FROM_HOST config WHD_COUNTRY_CODE string "Set the default country code" default "AU" config WHD_COUNTRY_CODE_REVISION int "Set the default country code revision" range 0 65535 default 0 endif # WHD_SET_COUNTRY_FROM_HOST config CY_WIFI_DEFAULT_ENABLE_POWERSAVE_MODE bool "Default enable powersave mode" default n if CY_WIFI_DEFAULT_ENABLE_POWERSAVE_MODE config CY_WIFI_DEFAULT_PM2_SLEEP_RET_TIME int "Set return to sleep delay.(PM2)" default 200 endif # CY_WIFI_DEFAULT_ENABLE_POWERSAVE_MODE menuconfig CY_WIFI_USING_THREAD_INIT bool "Using thread initialization" default n if CY_WIFI_USING_THREAD_INIT config CY_WIFI_INIT_THREAD_PRIORITY int "The priority level value of init thread" range 0 32 default 10 config CY_WIFI_INIT_THREAD_STACK_SIZE int "The stack size for init thread" range 0 8192 default 2048 endif # CY_WIFI_USING_THREAD_INIT menu "WHD Thread Configuration" config CY_WIFI_WHD_THREAD_PRIORITY int "The priority level value of WHD thread" range 0 32 default 8 config CY_WIFI_WHD_THREAD_STACK_SIZE int "The stack size for WHD thread" range 0 8192 default 5120 endmenu # WHD Thread Configuration menu "WHD Resources Configuration" choice prompt "Select the external storage type for WHD resources" default WHD_RESOURCES_IN_EXTERNAL_STORAGE_FAL config WHD_RESOURCES_IN_EXTERNAL_STORAGE_FS bool "File System" select RT_USING_POSIX_FS config WHD_RESOURCES_IN_EXTERNAL_STORAGE_FAL bool "Flash Abstraction Layer(FAL)" select RT_USING_FAL endchoice if WHD_RESOURCES_IN_EXTERNAL_STORAGE_FS config WHD_RESOURCES_FIRMWARE_PATH_NAME string "Set the file path of the firmware files" default "/sdcard/whd/43438A1.bin" config WHD_RESOURCES_CLM_PATH_NAME string "Set the file path of the clm files" default "/sdcard/whd/43438A1.clm_blob" config WHD_RESOURCES_NVRAM_PATH_NAME string "Set the file path of the nvram files" default "/sdcard/whd/nvram.txt" endif # WHD_RESOURCES_IN_EXTERNAL_STORAGE_FS if WHD_RESOURCES_IN_EXTERNAL_STORAGE_FAL config WHD_RESOURCES_FIRMWARE_PART_NAME string "Set the partition name of the firmware files" default "whd_firmware" config WHD_RESOURCES_CLM_PART_NAME string "Set the partition name of the clm files" default "whd_clm" config WHD_RESOURCES_NVRAM_PART_NAME string "Set the partition name of the nvram files" default "whd_nvram" endif # WHD_RESOURCES_IN_EXTERNAL_STORAGE_FAL config WHD_RESOURCES_BLOCK_SIZE int "Set the block size for resources" default 1024 endmenu # WHD Resources Configuration endmenu # WHD Configuration menu "Hardware Configuration" choice prompt "Select Chips" default WHD_USING_CHIP_CYW43438 config WHD_USING_CHIP_CYW43438 bool "CYW43438" select WHD_USING_WIFI5 config WHD_USING_CHIP_CYW4373 bool "CYW4373" select WHD_USING_WIFI5 config WHD_USING_CHIP_CYW43012 bool "CYW43012" select WHD_USING_WIFI5 config WHD_USING_CHIP_CYW43439 bool "CYW43439" select WHD_USING_WIFI5 config WHD_USING_CHIP_CYW43022 bool "CYW43022" select WHD_USING_WIFI5 config WHD_USING_CHIP_CYW4343W bool "CYW4343W" select WHD_USING_WIFI5 config WHD_USING_CHIP_CYW55500 bool "CYW55500" select WHD_USING_WIFI6 # config WHD_USING_CHIP_CYW55900 # bool "CYW55900" # select WHD_USING_WIFI6 config WHD_USING_CHIP_CYW55572 bool "CYW55572" select WHD_USING_WIFI6 endchoice config WHD_USING_WIFI5 bool config WHD_USING_WIFI6 bool menu "Pin Configuration" choice prompt "Select the pin name or number" default CYBSP_USING_PIN_NUMBER help Select the pin configuration method for the WiFi_REG ON and HOST_WAKE_IRQ pins. You can choose to specify the pins by their names or by their numbers. config CYBSP_USING_PIN_NAME bool "Name" config CYBSP_USING_PIN_NUMBER bool "Number" endchoice if CYBSP_USING_PIN_NAME config CYBSP_REG_ON_PIN_NAME string "Set the WiFi_REG ON pin name" default "PA.0" config CYBSP_HOST_WAKE_IRQ_PIN_NAME string "Set the HOST_WAKE_IRQ pin name" default "PA.1" endif # CYBSP_USING_PIN_NAME if CYBSP_USING_PIN_NUMBER config CYBSP_REG_ON_PIN int "Set the WiFi_REG ON pin number" default -1 config CYBSP_HOST_WAKE_IRQ_PIN int "Set the HOST_WAKE_IRQ pin number" default -1 endif # CYBSP_USING_PIN_NUMBER choice prompt "Select HOST_WAKE_IRQ event type" default CYBSP_HOST_WAKE_IRQ_EVENT_FALL config CYBSP_HOST_WAKE_IRQ_EVENT_FALL bool "falling" config CYBSP_HOST_WAKE_IRQ_EVENT_RISE bool "rising" endchoice config CYBSP_OOB_INTR_PRIORITY int "Set the interrput priority for HOST_WAKE_IRQ pin" default 2 endmenu # Pin Configuration endmenu # Hardware Configuration menu "Porting options" config WHD_PORTING_BSP bool "Using BSP porting" default y help WHD_PORTING_BSP enables the Board Support Package (BSP) porting layer for the WiFi Host Driver (WHD). This option allows users to customize board-level configurations and functions. When the host uses Infineon's BSP, this option must be deselected to ensure compatibility with the host's BSP library. config WHD_PORTING_HAL bool "Using HAL porting" default y help WHD_PORTING_HAL enables the Hardware Abstraction Layer (HAL) porting layer for the WiFi Host Driver (WHD). This option allows WHD to interface with the underlying hardware through a standardized HAL, facilitating easier integration and portability across different hardware platforms. config WHD_PORTING_RTOS bool "Using RTOS porting" default y help WHD_PORTING_RTOS enables the Real-Time Operating System (RTOS) porting layer for the WiFi Host Driver (WHD). This option allows WHD to utilize RTOS-specific features such as threading, synchronization, and timing, ensuring optimal performance and integration within an RTOS environment. When using Infineon's abstraction-rtos component, this option should be unchecked. config WHD_USE_CUSTOM_MALLOC_IMPL depends on WHD_PORTING_RTOS bool "Using the malloc/free of RT-Thread" default y help WHD_USE_CUSTOM_MALLOC_IMPL enables the use of custom memory allocation functions (malloc/free) provided by the RT-Thread operating system for the WiFi Host Driver (WHD). This option ensures that WHD utilizes the RT-Thread's memory management mechanisms, which can lead to better integration and performance within the RT-Thread environment. endmenu choice prompt "Select the log level" default WHD_LOG_LEVEL_ERROR config WHD_LOG_LEVEL_NONE select WHD_PRINT_DISABLE bool "None" config WHD_LOG_LEVEL_ERROR bool "Error" config WHD_LOG_LEVEL_INFO select WPRINT_ENABLE_WHD_INFO bool "Info" config WHD_LOG_LEVEL_DEBUG select WPRINT_ENABLE_WHD_INFO select WPRINT_ENABLE_WHD_DEBUG select WPRINT_ENABLE_WHD_ERROR_RETURN bool "Debug" config WHD_LOG_LEVEL_DATA_TRACE select WPRINT_ENABLE_WHD_INFO select WPRINT_ENABLE_WHD_DEBUG select WPRINT_ENABLE_WHD_DATA_LOG bool "Data Trace" endchoice # WHD Log Configuration config WHD_PRINT_DISABLE bool config WPRINT_ENABLE_WHD_INFO bool config WPRINT_ENABLE_WHD_DEBUG bool config WPRINT_ENABLE_WHD_DATA_LOG bool config WPRINT_ENABLE_WHD_ERROR_RETURN bool endif # RT_USING_WIFI_HOST_DRIVER