#ifndef _SYS_CONFIG_H_ #define _SYS_CONFIG_H_ /*SUMMARY: macro--1: OPEN; --0:CLOSE*/ /* uart2 for debug, and generally, uart1 is used for communication. what is more, uart1 maybe is not bound out*/ #define CFG_USE_UART1 1 #define CFG_JTAG_ENABLE 0 #define OSMALLOC_STATISTICAL 0 #define CFG_MEM_DEBUG 0 /*section 0-----app macro config-----*/ #define CFG_IEEE80211N 1 #define CFG_IEEE80211N_HT40 0 /*section 1-----OS macro config-----*/ #define RTOS_ALIOS_THINGS 1 #define RTOS_RT_THREAD 2 #define RTOS_FREERTOS 3 #define RTOS_LITEOS 4 #define CFG_WIFI_TX_KEYDATA_USE_LOWEST_RATE 1 /* CFG_OS_FREERTOS----RTOS_FREERTOS CFG_SUPPORT_RTT----RTOS_RT_THREAD CFG_SUPPORT_LITEOS--RTOS_LITEOS CFG_SUPPORT_ALIOS---RTOS_ALIOS_THINGS */ #define CFG_SUPPORT_RTOS RTOS_FREERTOS #define FREERTOS_V9 1 #define FREERTOS_V10 2 #define CFG_FREERTOS_VER FREERTOS_V9 #define CfG_ENABLE_HEAP_5 (0) #define ENC_METHOD_NULL 1 #define ENC_METHOD_XOR 2 #define ENC_METHOD_AES 3 #define FAST_CONNECT_INFO_ENC_METHOD ENC_METHOD_NULL #define THD_APPLICATION_PRIORITY 3 #define THD_CORE_PRIORITY 2 #define THD_UMP3_PRIORITY 4 #define THD_UBG_PRIORITY 5 #define THD_LWIP_PRIORITY 4 #define THD_INIT_PRIORITY 4 #define THD_RECONNECT_PRIORITY 4 #define THD_MEDIA_PRIORITY 4 #define THD_WPAS_PRIORITY 5 #define THD_EXTENDED_APP_PRIORITY 5 #define THD_HOSTAPD_PRIORITY 5 #define THDD_KEY_SCAN_PRIORITY 7 /*section 2-----function macro config-----*/ #define CFG_SUPPORT_MATTER 0 #define CFG_TX_EVM_TEST 1 #define CFG_RX_SENSITIVITY_TEST 1 #define CFG_AP_MONITOR_COEXIST 0 #if CFG_AP_MONITOR_COEXIST #define CFG_AP_MONITOR_COEXIST_DEMO 0 /*AP will switch to ori channel when tbtt arrive*/ #define CFG_AP_MONITOR_COEXIST_TBTT 0 #endif #define CFG_ROLE_LAUNCH 0 #define CFG_USE_WPA_29 1 #define CFG_WPA_CTRL_IFACE 1 #define CFG_RWNX_QOS_MSDU 1 #define CFG_WLAN_FAST_CONNECT 1 #define CFG_WPA2_ENTERPRISE 0 #define CFG_WPA3_ENTERPRISE 0 /* WPS(WSC) Support */ #define CFG_WIFI_WPS 0 /* WiFi Direct Support, CFG_WIFI_WPS must be enabled */ #define CFG_WIFI_P2P 0 #define CFG_WIFI_P2P_GO 0 /* Vendor Specific IEs when STA Probe Req/Association Req*/ #define CFG_WIFI_STA_VSIE 0 /* Vendor Specific IEs when AP Beacon */ #define CFG_WIFI_AP_VSIE 0 /* Custom softap basic rates, supported rates, ht mcs set */ #define CFG_WIFI_AP_CUSTOM_RATES 0 /* repush txdesc when txl_reset happens */ #define CFG_WIFI_REPUSH_WHEN_RESET 0 /*Use macro to shut down some unused functions*/ #define CFG_WPA_MAYBE_UNUSED 1 #if CFG_WPA_MAYBE_UNUSED #define CONFIG_NOTIFICATION 1 #define CONFIG_EID_FLAG 1 #define CONFIG_PMKSA_EXISTS 1 #define CONFIG_GTK_REKEY 1 #endif /* * Support set softap modes: BGN, BG, B. Macro * CFG_AP_SUPPORT_HT_IE must be enabled to support N mode */ #define CFG_WIFI_AP_HW_MODE 0 #define CfG_MACRO_MAYBE_UNUSED 1 #if CfG_MACRO_MAYBE_UNUSED #define CFG_WIFI_RSSI 1 #define CFG_WIFI_VERSION 1 #define CFG_WIFI_CHANNEL 1 #define CFG_WIFI_SLOTTIME 1 #define CFG_WIFI_DBG_TROGGER 1 #define CFG_MODE_SET 1 #define CFG_FILTER_SET 1 #define CFG_RC_STATS 1 #endif /* PMF */ #define CFG_IEEE80211W 0 #if CFG_WPA_CTRL_IFACE #undef CFG_ROLE_LAUNCH #define CFG_ROLE_LAUNCH 0 #endif #define CFG_WPA3 1 #if CFG_WPA3 #undef CFG_USE_WPA_29 #define CFG_USE_WPA_29 1 #undef CFG_IEEE80211W #define CFG_IEEE80211W 1 #define CFG_OWE 1 /* use wpa2 instead of wpa3-sae if in wpa3 transition mode */ #define CFG_CFG_WPA2_PREFER_TO_SAE 0 #endif #define CFG_WFA_CERT 0 #define CFG_ENABLE_BUTTON 0 #define CFG_UDISK_MP3 0 #define CFG_EASY_FLASH 0 #define CFG_AP_SUPPORT_HT_IE 0 #define CFG_SUPPORT_BSSID_CONNECT 0 #define CFG_USE_CONV_UTF8 0 #define CFG_BK_AWARE 0 #define CFG_BK_AWARE_OUI "\xC8\x47\x8C" #define CFG_RESTORE_CONNECT 0 #define CFG_QUICK_TRACK 0 #define CFG_USE_BASE64 0 /* use mbedtls as wpa crypto functions */ #if( ( CFG_SUPPORT_ALIOS ) || ( CFG_SUPPORT_RTT ) ) #define CFG_USE_MBEDTLS 0 #else #define CFG_USE_MBEDTLS 1 #endif #if CFG_USE_MBEDTLS #define CFG_MBEDTLS 1 #endif #if CFG_QUICK_TRACK #define _DUT_ 1 #endif /*section 3-----driver macro config-----*/ #define CFG_MAC_PHY_BAPASS 1 #define CFG_SUPPORT_SARADC 1 #define CFG_SARADC_INTFACE 1 #define CFG_SARADC_CALIBRATE 1 /* The following four macro will be reconstruct * TODO */ #define CFG_ENABLE_SDIO_DEV 1 #define CFG_SDIO 0 #define CFG_SDIO_TRANS 0 #define CFG_REAL_SDIO 0 #if CFG_REAL_SDIO #define FOR_SDIO_BLK_512 0 #endif #define CFG_MSDU_RESV_HEAD_LEN 96 #define CFG_MSDU_RESV_TAIL_LEN 16 #define CFG_USE_USB_HOST 0 #define CFG_USB 0 #if CFG_USB #define CFG_SUPPORT_MSD 1 #define CFG_SUPPORT_HID 0 #define CFG_SUPPORT_CCD 0 #define CFG_SUPPORT_UVC 0 #endif #define CFG_USE_USB_CHARGE 0 #define CFG_USE_QSPI 1 /*section 4-----DEBUG macro config-----*/ #define CFG_UART_DEBUG 0 #define CFG_SUPPORT_BKREG 1 #define CFG_ENABLE_WPA_LOG 0 #define CFG_TCP_SERVER_TEST 0 #define CFG_AIRKISS_TEST 0 #define CFG_ENABLE_DEMO_TEST 0 #define CFG_WIFI_SENSOR 0 #define CFG_WIFI_RAW_TX_CMD 0 #define ASSERT_HALT 1 #define ASSERT_IGNORE 2 #define ASSERT_REBOOT 3 #define CFG_ASSERT_OPTION ASSERT_IGNORE /*section 5-----PRODUCT macro config-----*/ #define CFG_RELEASE_FIRMWARE 0 /*section 6-----for platform*/ #define SOC_PLATFORM 1 #define FPGA_PLATFORM 0 #define CFG_RUNNING_PLATFORM SOC_PLATFORM #define SOC_BK7231 1 #define SOC_BK7231U 2 #define SOC_BK7221U 3 #define SOC_BK7271 4 #define SOC_BK7231N 5 #define SOC_BK7236 6 #define SOC_BK7238 7 #define SOC_BK7252N 8 #define CFG_SOC_NAME SOC_BK7252N #define CFG_SOC_NAME_STR "bk7252n" /*section 7-----calibration*/ #if (CFG_RUNNING_PLATFORM == FPGA_PLATFORM) #define CFG_SUPPORT_CALIBRATION 0 #define CFG_SUPPORT_MANUAL_CALI 0 #else #define CFG_SUPPORT_CALIBRATION 1 #define CFG_SUPPORT_MANUAL_CALI 1 //tpc rf pa map power for bk7231u #define CFG_SUPPORT_TPC_PA_MAP 1 #endif /*section 8-----for netstack*/ #define CFG_USE_LWIP_NETSTACK 1 /*section 9-----for DHCP servicers and client*/ #define CFG_USE_DHCP 1 #define CFG_USE_DHCPD 1 // for servicers in ap mode /*section 11-----temperature detect*/ #define CFG_USE_TEMPERATURE_DETECT 1 #define CFG_USE_VOLTAGE_DETECT 0 /*section 12-----for video transfer*/ #define IPERF_CLOSE 0 /* close iperf */ #define IPERF_OPEN_WITH_ACCEL 1 /* open iperf and accel */ #define IPERF_OPEN_ONLY 2 /* open iperf, but no open accel */ #define CFG_IPERF_TEST IPERF_OPEN_ONLY #if CFG_WIFI_P2P #define CFG_USE_APP_DEMO_VIDEO_TRANSFER 0 #define CFG_USE_CAMERA_INTF 1 #else #define CFG_USE_APP_DEMO_VIDEO_TRANSFER 0 #define CFG_USE_CAMERA_INTF 1 #endif #define CFG_USE_HSLAVE_SPI 0 #define CFG_USE_SPIDMA 0 #if CFG_USE_CAMERA_INTF #define CFG_USE_I2C1 1 #define CFG_USE_I2C2 0 #else #define CFG_USE_I2C1 1 #define CFG_USE_I2C2 1 #endif #if (CFG_USE_APP_DEMO_VIDEO_TRANSFER) // #undef CFG_IEEE80211N // #define CFG_IEEE80211N 0 #undef CFG_IPERF_TEST #define CFG_IPERF_TEST IPERF_OPEN_WITH_ACCEL #endif #if (CFG_IPERF_TEST == IPERF_OPEN_WITH_ACCEL) #define CFG_IPERF_TEST_ACCEL 1 #define CFG_IPERF_DONT_MALLOC_BUFFER 1 #endif /*section 13-----for GENERRAL DMA */ #define CFG_GENERAL_DMA 1 /*section 14-----for FTPD UPGRADE*/ #define CFG_USE_FTPD_UPGRADE 0 /*section 15-----support customer macro*/ #define CFG_SUPPORT_TIANZHIHENG_DRONE 0 /*section 16-----support mcu & deep sleep*/ #define CFG_USE_MCU_PS 1 #define CFG_USE_DEEP_PS 1 #define CFG_USE_BLE_PS 1 #define CFG_USE_AP_IDLE 0 #define CFG_USE_FAKERTC_PS 0 #define CFG_LOW_VOLTAGE_PS 1 #define CFG_LOW_VOLTAGE_PS_32K_DIV 0 #define CFG_LOW_VOLTAGE_PS_COEXIST 0 #define CFG_LOW_VOLTAGE_PS_TEST 0 #if( ( CFG_SUPPORT_ALIOS ) || ( CFG_SUPPORT_RTT ) ) #undef CFG_LOW_VOLTAGE_PS #define CFG_LOW_VOLTAGE_PS 0 #endif #if(CFG_LOW_VOLTAGE_PS == 1) #define CFG_HW_PARSER_TIM_ELEMENT 1 #else #define CFG_HW_PARSER_TIM_ELEMENT 0 #endif #define CFG_LV_PS_WITH_IDLE_TICK 0 /*section 17-----support sta power sleep*/ #define CFG_USE_STA_PS 1 #define CFG_LOW_LATENCY_PS 0 /*section 18-----AP support stas in power save*/ #define CFG_USE_AP_PS 0 /*section 19-----for SDCARD HOST*/ #define CFG_USE_SDCARD_HOST 1 /*section 20 ----- support mp3 decoder*/ #define CONFIG_APP_MP3PLAYER 0 /*section 21 ----- support ota*/ #if( ( CFG_SUPPORT_ALIOS ) || ( CFG_SUPPORT_RTT ) || (CFG_SUPPORT_MATTER == 1)) #define CFG_SUPPORT_OTA_HTTP 0 #else #define CFG_SUPPORT_OTA_HTTP 1 #endif #define CFG_SUPPORT_OTA_TFTP 0 /*section 23 ----- support reduce nomal power*/ #define CFG_SYS_REDUCE_NORMAL_POWER 0 /*section 24 ----- less memery in rwnx*/ #define CFG_LESS_MEMERY_IN_RWNX 1 #if CFG_IPERF_TEST_ACCEL #undef CFG_LESS_MEMERY_IN_RWNX #define CFG_LESS_MEMERY_IN_RWNX 0 #endif /*section 25 ----- use audio*/ #define CFG_USE_AUDIO 1 #define CFG_USE_AUD_DAC 1 #define CFG_USE_AUD_ADC 1 /*section 25 ----- use tick time calibrate*/ #define CFG_USE_TICK_CAL 1 #define CFG_SUPPORT_BLE 1 #define CFG_BLE_USE_CLI 1 #define CFG_SUPPORT_BLE_MESH 0 #define CFG_USE_PTA 1 #if ((0 == CFG_SUPPORT_BLE) && (CFG_USE_BLE_PS)) #error "check the ble macro, thx!" #endif #define BLE_VERSION_4_2 1 #define BLE_VERSION_5_1 2 #define BLE_VERSION_5_2 3 #define CFG_BLE_VERSION BLE_VERSION_5_2 #define WIFI_DEFAULT_BLE_REQUEST 1 #define BLE_DEFAULT_WIFI_REQUEST 2 #define BLE_WIFI_CO_REQUEST 3 #define RF_USE_POLICY WIFI_DEFAULT_BLE_REQUEST #define CFG_BLE_ADV_NUM 1 #define CFG_BLE_SCAN_NUM 1 #define CFG_BLE_USE_DYN_RAM 1 #define CFG_BLE_DIAGNOSTIC_PORT 0 // 0 mean do not support ble master #define CFG_BLE_INIT_NUM 1 #define CFG_BLE_CONN_NUM 1 #if (CFG_BLE_ADV_NUM == 0) #error "ADV NUM should not be 0" #endif #if (CFG_BLE_CONN_NUM == 0) #error "CONN NUM should not be 0" #endif #define CFG_XTAL_FREQUENCE_40M 40000000 //40MHz #define CFG_XTAL_FREQUENCE_26M 26000000 //26MHz #define CFG_XTAL_FREQUENCE CFG_XTAL_FREQUENCE_26M #define CFG_XTAL_85DEGREE 0 #if (CFG_SUPPORT_ALIOS) #undef CFG_JTAG_ENABLE #define CFG_JTAG_ENABLE 0 #undef CFG_ROLE_LAUNCH #define CFG_ROLE_LAUNCH 0 #undef CFG_USE_MCU_PS #define CFG_USE_MCU_PS RHINO_CONFIG_CPU_PWR_MGMT #endif #define LWIP_DEFAULT_MEM_POLICY 1 #define LWIP_REDUCE_THE_PLAN 2 #if CFG_IPERF_TEST /* for iperf test, temporary enlarge lwip MEM_SIZE */ #define CFG_LWIP_MEM_POLICY LWIP_DEFAULT_MEM_POLICY #else #define CFG_LWIP_MEM_POLICY LWIP_REDUCE_THE_PLAN #endif /* enable hw ip checksum */ #define CFG_LWIP_HW_CSUM 1 #define FLASH_SELECTION_TYPE_DYNAMIC 0 //select with flashID runtime #define FLASH_SELECTION_TYPE_1M 0x100000 //1MBytes #define FLASH_SELECTION_TYPE_2M 0x200000 //2MBytes #define FLASH_SELECTION_TYPE_4M 0x400000 //4MBytes #define FLASH_SELECTION_TYPE_8M 0x800000 //8MBytes #define CFG_FLASH_SELECTION_TYPE FLASH_SELECTION_TYPE_2M #if (1 == CFG_SUPPORT_MATTER) #undef CFG_MBEDTLS #define CFG_MBEDTLS 1 #endif #define CFG_USE_I2S 1 /* watchdog, freertos only */ #define CFG_INT_WDG_ENABLED 1 #define CFG_INT_WDG_PERIOD_MS 10000 #define CFG_TASK_WDG_ENABLED 1 #define CFG_TASK_WDG_PERIOD_MS 60000 /*section 29 ----- peripheral interface open */ #define CFG_USE_SPI 1 #define CFG_USE_SPI_MASTER 1 #define CFG_USE_SPI_SLAVE 1 #define CFG_USE_SPI_DMA 1 /*section 30 ----- peripheral interface test case */ #define CFG_PERIPHERAL_TEST 0 #define CFG_SUPPORT_SPI_TEST 0 #define CFG_USE_FORCE_LOWVOL_PS 1 #define CFG_NO_POWTBL 1 #define CFG_BK7252N_WORKAROUND 1 #define CFG_BK7252N_NON_SIGNALING_OPTIMIZE 1 #define CFG_NX_MAC_DEEP_CLKGATE 0 #define CFG_NX_OPTIMIZE_WEAKSIGNAL 1 #define CFG_WRAP_LIBC 1 #if((!CFG_SUPPORT_ALIOS) && (!CFG_SUPPORT_RTT)) #define AT_SERVICE_CFG 0 //At command configurations #else #define AT_SERVICE_CFG 0 #endif #if (AT_SERVICE_CFG) #ifdef CFG_BLE_INIT_NUM #undef CFG_BLE_INIT_NUM #endif #define CFG_BLE_INIT_NUM 1 #ifdef _CJSON_USE_ #undef _CJSON_USE_ #endif #define _CJSON_USE_ 1 #define CFG_USE_HTTP 1 #define CFG_USE_MQTT 1 #define CFG_USE_DISTRIBUTION_NETWORK 1 #define CFG_USE_TCPUDP 1 #define CFG_USE_NETWORKING 1 #define CFG_USE_DEFUALT_CMD 1 #define CFG_USE_BLE 1 #define CFG_USE_NTP 1 #if (CFG_USE_MBEDTLS == 0) #undef CFG_USE_MBEDTLS #define CFG_USE_MBEDTLS 1 #define CFG_MBEDTLS 1 #endif // (CFG_USE_MBEDTLS == 0) #define CFG_USE_SOFT_RTC 1 #endif // (AT_SERVICE_CFG) #define CFG_USE_CHARGE_DEV 0 #endif // _SYS_CONFIG_H_