diff --git a/platform/realtek-ambz/fixups/inc/FreeRTOSConfig.h b/platform/realtek-ambz/fixups/inc/FreeRTOSConfig.h new file mode 100644 index 0000000..a92826e --- /dev/null +++ b/platform/realtek-ambz/fixups/inc/FreeRTOSConfig.h @@ -0,0 +1,207 @@ +/* + FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd. + + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS tutorial books are available in pdf and paperback. * + * Complete, revised, and edited pdf reference manuals are also * + * available. * + * * + * Purchasing FreeRTOS documentation will not only help you, by * + * ensuring you get running as quickly as possible and with an * + * in-depth knowledge of how to use FreeRTOS, it will also help * + * the FreeRTOS project to continue with its mission of providing * + * professional grade, cross platform, de facto standard solutions * + * for microcontrollers - completely free of charge! * + * * + * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * + * * + * Thank you for using FreeRTOS, and thank you for your support! * + * * + *************************************************************************** + + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation AND MODIFIED BY the FreeRTOS exception. + >>>NOTE<<< The modification to the GPL is included to allow you to + distribute a combined work that includes FreeRTOS without being obliged to + provide the source code for proprietary components outside of the FreeRTOS + kernel. FreeRTOS is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. You should have received a copy of the GNU General Public + License and the FreeRTOS license exception along with FreeRTOS; if not it + can be viewed here: http://www.freertos.org/a00114.html and also obtained + by writing to Richard Barry, contact details for whom are available on the + FreeRTOS WEB site. + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + + http://www.FreeRTOS.org - Documentation, training, latest versions, license + and contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool. + + Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell + the code with commercial support, indemnification, and middleware, under + the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also + provide a safety engineered and independently SIL3 certified version under + the SafeRTOS brand: http://www.SafeRTOS.com. +*/ + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H +#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__) +#include +extern uint32_t SystemCoreClock; +#endif +#include "platform_autoconf.h" + +/*----------------------------------------------------------- + * Application specific definitions. + * + * These definitions should be adjusted for your particular hardware and + * application requirements. + * + * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE + * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. + * + * See http://www.freertos.org/a00110.html. + *----------------------------------------------------------*/ + +#define configUSE_PREEMPTION 1 +#define configUSE_IDLE_HOOK 1 +#define configUSE_TICK_HOOK 0 +#define configCPU_CLOCK_HZ ( SystemCoreClock ) +#define configTICK_RATE_HZ ( ( uint32_t ) 1000 ) +#define configSYSTICK_CLOCK_HZ 32768 +#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 512 ) +#ifdef CONFIG_WIFI_EN +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 110 * 1024 ) ) +#else +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 20 * 1024 ) ) +#endif +#define configMAX_TASK_NAME_LEN ( 10 ) +#define configUSE_TRACE_FACILITY 0 +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 0 +#define configUSE_CO_ROUTINES 1 +#define configUSE_MUTEXES 1 +#define configUSE_TIMERS 1 + +#define configMAX_PRIORITIES ( 11 ) +#define PRIORITIE_OFFSET ( 4 ) + +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + +#define configUSE_COUNTING_SEMAPHORES 1 +#define configUSE_ALTERNATIVE_API 0 +#define configCHECK_FOR_STACK_OVERFLOW 2 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 0 +#define configGENERATE_RUN_TIME_STATS 0 +#if configGENERATE_RUN_TIME_STATS +#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() //( ulHighFrequencyTimerTicks = 0UL ) +#define portGET_RUN_TIME_COUNTER_VALUE() xTickCount //ulHighFrequencyTimerTicks +#undef configUSE_TRACE_FACILITY +#define configUSE_TRACE_FACILITY 1 +#define portCONFIGURE_STATS_PEROID_VALUE 1000 //unit Ticks +#endif + +#define configTIMER_TASK_PRIORITY ( 1 ) +#define configTIMER_QUEUE_LENGTH ( 10 ) +#define configTIMER_TASK_STACK_DEPTH ( 512 ) //USE_MIN_STACK_SIZE modify from 512 to 256 + +#if (__IASMARM__ != 1) + +extern void freertos_pre_sleep_processing(unsigned int *expected_idle_time); +extern void freertos_post_sleep_processing(unsigned int *expected_idle_time); +extern int freertos_ready_to_sleep(); + +/* Enable tickless power saving. */ +#define configUSE_TICKLESS_IDLE 1 + +/* In wlan usage, this value is suggested to use value less than 80 milliseconds */ +#define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2 + +/* It's magic trick that let us can use our own sleep function */ +#define configPRE_SLEEP_PROCESSING( x ) ( freertos_pre_sleep_processing(&x) ) + +#define configPOST_SLEEP_PROCESSING( x ) ( freertos_post_sleep_processing(&x) ) + +/* It's magic trick that let us can enable/disable tickless dynamically */ +#define traceLOW_POWER_IDLE_BEGIN(); do { \ + if (!freertos_ready_to_sleep()) { \ + mtCOVERAGE_TEST_MARKER(); \ + break; \ + } + + // portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ); + +#define traceLOW_POWER_IDLE_END(); } while (0); + +/* It's FreeRTOS related feature but it's not included in FreeRTOS design. */ +#define configUSE_WAKELOCK_PMU 1 + +#endif // #if (__IASMARM__ != 1) + +/* Set the following definitions to 1 to include the API function, or zero +to exclude the API function. */ +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskCleanUpResources 0 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_pcTaskGetTaskName 1 +#define INCLUDE_xTimerPendFunctionCall 1 + +/* Cortex-M specific definitions. */ +#ifdef __NVIC_PRIO_BITS + /* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */ + #define configPRIO_BITS __NVIC_PRIO_BITS +#else + #define configPRIO_BITS 4 /* 15 priority levels */ +#endif + + +/* The lowest interrupt priority that can be used in a call to a "set priority" +function. */ +#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0x0f + +/* The highest interrupt priority that can be used by any interrupt service +routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL +INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER +PRIORITY THAN THIS! (higher priorities are lower numeric values. */ +#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5 + + +/* Interrupt priorities used by the kernel port layer itself. These are generic +to all Cortex-M ports, and do not rely on any particular library functions. */ +#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) +/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!! +See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */ +#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) + +//#define RTK_MODE_TIMER + + +#endif /* FREERTOS_CONFIG_H */ diff --git a/platform/realtek-ambz/fixups/inc/autoconf.h b/platform/realtek-ambz/fixups/inc/autoconf.h new file mode 100644 index 0000000..6a3969d --- /dev/null +++ b/platform/realtek-ambz/fixups/inc/autoconf.h @@ -0,0 +1,508 @@ +#ifndef WLANCONFIG_H +#define WLANCONFIG_H + +/* + * Include user defined options first. Anything not defined in these files + * will be set to standard values. Override anything you dont like! + */ + #if defined(CONFIG_PLATFORM_8195A) || defined(CONFIG_PLATFORM_8711B) || defined(CONFIG_HARDWARE_8188F) +#include "platform_opts.h" +#endif + +#if defined(CONFIG_PLATFORM_8195A) || defined(CONFIG_PLATFORM_8711B) +#define CONFIG_PLATFORM_AMEBA_X +#endif + +#if !defined(CONFIG_PLATFORM_AMEBA_X) +#define PLATFORM_FREERTOS 1 +#define CONFIG_GSPI_HCI +#else +#define CONFIG_LX_HCI +#endif + +#ifndef CONFIG_INIC_EN +#define CONFIG_INIC_EN 0 //For iNIC project +#endif + +#if CONFIG_INIC_EN +#define CONFIG_LWIP_LAYER 0 +#endif + +#define CONFIG_LITTLE_ENDIAN +#define CONFIG_80211N_HT +//#define CONFIG_RECV_REORDERING_CTRL +#define RTW_NOTCH_FILTER 0 +#define CONFIG_EMBEDDED_FWIMG +#define CONFIG_PHY_SETTING_WITH_ODM +#if !defined(CONFIG_PLATFORM_AMEBA_X) +#define CONFIG_ODM_REFRESH_RAMASK +#define HAL_MAC_ENABLE 1 +#define HAL_BB_ENABLE 1 +#define HAL_RF_ENABLE 1 +#endif +#if defined(CONFIG_PLATFORM_AMEBA_X) +/* Patch when dynamic mechanism is not ready */ +//#define CONFIG_DM_PATCH +#endif + +//#define CONFIG_DEBUG +//#define CONFIG_DEBUG_RTL871X +#if defined(CONFIG_PLATFORM_AMEBA_X) + #define CONFIG_MEM_MONITOR MEM_MONITOR_SIMPLE + #define WLAN_INTF_DBG 0 + //#define CONFIG_DEBUG_DYNAMIC + //#define DBG_TX 1 + //#define DBG_XMIT_BUF 1 + //#define DBG_XMIT_BUF_EXT 1 + #define DBG_TX_DROP_FRAME +#else + #define CONFIG_MEM_MONITOR MEM_MONITOR_LEAK + //#define CONFIG_TRACE_SKB + //#define WLAN_INTF_DBG +#endif // CONFIG_PLATFORM_AMEBA_X + +//#define CONFIG_DONT_CARE_TP +//#define CONFIG_HIGH_TP +//#define CONFIG_MEMORY_ACCESS_ALIGNED +#define CONFIG_POWER_SAVING +#ifdef CONFIG_POWER_SAVING + #define CONFIG_IPS + #define CONFIG_LPS + //#define CONFIG_LPS_LCLK + #define CONFIG_LPS_32K + #define TDMA_POWER_SAVING + #define CONFIG_WAIT_PS_ACK +#endif + +#define BAD_MIC_COUNTERMEASURE 1 +#define DEFRAGMENTATION 1 + +#define WIFI_LOGO_CERTIFICATION 0 +#if WIFI_LOGO_CERTIFICATION + #define RX_AGGREGATION 1 + #define RX_AMSDU 1 +#else + #define RX_AGGREGATION 0 + #define RX_AMSDU 0 +#endif + +#if defined(CONFIG_PLATFORM_AMEBA_X) + #if !defined(CONFIG_PLATFORM_8711B) + #define CONFIG_USE_TCM_HEAP 1 /* USE TCM HEAP */ + #endif + #define CONFIG_RECV_TASKLET_THREAD + #define CONFIG_XMIT_TASKLET_THREAD +#else + #define CONFIG_XMIT_THREAD_MODE +#endif // CONFIG_PLATFORM_AMEBA_X +//#define CONFIG_RECV_THREAD_MODE /* Wlan IRQ Polling Mode*/ +//#define CONFIG_ISR_THREAD_MODE_POLLING /* Wlan IRQ Polling Mode*/ + +//1 Chris +#ifndef CONFIG_SDIO_HCI +#define CONFIG_ISR_THREAD_MODE_INTERRUPT /* Wlan IRQ Interrupt Mode*/ +#endif + +#if defined(CONFIG_ISR_THREAD_MODE_POLLING) && defined(CONFIG_ISR_THREAD_MODE_INTERRUPT) +#error "CONFIG_ISR_THREAD_MODE_POLLING and CONFIG_ISR_THREAD_MODE_INTERRUPT are mutually exclusive. " +#endif + +#if defined(CONFIG_PLATFORM_AMEBA_X) +/* CRC DMEM optimized mode consume 1k less SRM memory consumption */ +#define CRC_IMPLEMENTATION_MODE CRC_IMPLEMENTATION_DMEM_OPTIMIZED +#endif + +/* AES DMEM optimized mode comsume 10k less memory compare to + IMEM optimized mode AES_IMPLEMENTATION_IMEM_OPTIMIZED */ +#define AES_IMPLEMENTATION_MODE AES_IMPLEMENTATION_DMEM_OPTIMIZED + +#define USE_SKB_AS_XMITBUF 1 +#if defined(CONFIG_PLATFORM_AMEBA_X) +#define USE_XMIT_EXTBUFF 1 +#else +#define USE_XMIT_EXTBUFF 0 +#endif +#define USE_MUTEX_FOR_SPINLOCK 1 + +// remove function to reduce code +#define NOT_SUPPORT_5G +#define NOT_SUPPORT_RF_MULTIPATH +#define NOT_SUPPORT_VHT +#define NOT_SUPPORT_40M +#define NOT_SUPPORT_80M +#ifndef CONFIG_PLATFORM_8711B +#define NOT_SUPPORT_BBSWING +#endif +#define NOT_SUPPORT_OLD_CHANNEL_PLAN +#define NOT_SUPPORT_BT + +#define CONFIG_WIFI_SPEC 0 +#define CONFIG_FAKE_EFUSE 0 +#if CONFIG_FAKE_EFUSE + #define FAKE_CHIPID CHIPID_8710BN +#endif + +#define CONFIG_AUTO_RECONNECT 1 +#define ENABLE_HWPDN_PIN +#define SUPPORT_SCAN_BUF 1 +#if !defined(CONFIG_PLATFORM_AMEBA_X) +#define BE_I_CUT 1 +#endif + +/* For WPA2 */ +#define CONFIG_INCLUDE_WPA_PSK +#ifdef CONFIG_INCLUDE_WPA_PSK +#define CONFIG_MULTIPLE_WPA_STA +//#define CONFIG_WPA2_PREAUTH +#define PSK_SUPPORT_TKIP 1 +#endif +//#define AP_PSK_SUPPORT_TKIP + +/* For promiscuous mode */ +#define CONFIG_PROMISC + +#define PROMISC_DENY_PAIRWISE 0 + +/* For Simple Link */ +#ifndef CONFIG_INCLUDE_SIMPLE_CONFIG +//#define CONFIG_INCLUDE_SIMPLE_CONFIG 1 +#endif + +// for probe request with custom vendor specific IE +#define CONFIG_CUSTOM_IE + +#if !defined(CONFIG_PLATFORM_AMEBA_X) +/* For multicast */ +#define CONFIG_MULTICAST +#endif + +/* For STA+AP Concurrent MODE */ +#define CONFIG_CONCURRENT_MODE +#ifdef CONFIG_CONCURRENT_MODE + #if defined(CONFIG_PLATFORM_8195A) + #define CONFIG_RUNTIME_PORT_SWITCH + #endif + #if defined(CONFIG_HARDWARE_8188F) + #define NET_IF_NUM 2 + #else + #define NET_IF_NUM ((CONFIG_ETHERNET) + (CONFIG_WLAN) + 1) + #endif +#else + #if defined(CONFIG_HARDWARE_8188F) + #define NET_IF_NUM 1 + #else + #define NET_IF_NUM ((CONFIG_ETHERNET) + (CONFIG_WLAN)) + #endif +#endif + + +/****************** For EAP auth configurations *******************/ +#define CONFIG_TLS 0 +#define CONFIG_PEAP 0 +#define CONFIG_TTLS 0 + +// DO NOT change the below config of EAP +#ifdef PRE_CONFIG_EAP +#undef CONFIG_TLS +#define CONFIG_TLS 1 +#undef CONFIG_PEAP +#define CONFIG_PEAP 1 +#undef CONFIG_TTLS +#define CONFIG_TTLS 1 +#endif + +// enable 1X code in lib_wlan as default (increase 380 bytes) +#define CONFIG_EAP + +#if CONFIG_TLS || CONFIG_PEAP || CONFIG_TTLS +#define EAP_REMOVE_UNUSED_CODE 1 +#endif + +#define EAP_SSL_VERIFY_SERVER + +#if CONFIG_TLS +#define EAP_SSL_VERIFY_CLIENT +#endif + +#if CONFIG_TTLS +#define EAP_MSCHAPv2 +#define EAP_TTLS_MSCHAPv2 +//#define EAP_TTLS_EAP +//#define EAP_TTLS_MSCHAP +//#define EAP_TTLS_PAP +//#define EAP_TTLS_CHAP +#endif +/****************** End of EAP configurations *******************/ + +/* For WPS and P2P */ +#define CONFIG_WPS +#if 0 +#define CONFIG_WPS_AP +#define CONFIG_P2P_NEW +#if (!defined(SUPPORT_SCAN_BUF)||!defined(CONFIG_WPS_AP)) && defined(CONFIG_P2P_NEW) +#error "If CONFIG_P2P_NEW, need to SUPPORT_SCAN_BUF" +#endif +#endif + +#define CONFIG_NEW_SIGNAL_STAT_PROCESS +#define CONFIG_SKIP_SIGNAL_SCALE_MAPPING + +/* For AP_MODE */ +#define CONFIG_AP_MODE +extern unsigned char g_user_ap_sta_num; +#define USER_AP_STA_NUM g_user_ap_sta_num +#if defined(CONFIG_PLATFORM_AMEBA_X) +#define AP_STA_NUM 3 //2014/10/27 modify to 3 +#define USE_DEDICATED_BCN_TX 0 +#if USE_DEDICATED_BCN_TX +#error "WLAN driver for Ameba should not enable USE_DEDICATED_BCN_TX" +#endif +#else +extern unsigned int g_ap_sta_num; +#define AP_STA_NUM 3//g_ap_sta_num +#endif +#ifdef CONFIG_AP_MODE +#if defined(CONFIG_PLATFORM_8195A) + //softap sent qos null0 polling client alive or not + #define CONFIG_AP_POLLING_CLIENT_ALIVE +#endif + #define CONFIG_NATIVEAP_MLME +#if defined(CONFIG_PLATFORM_AMEBA_X) + #define CONFIG_INTERRUPT_BASED_TXBCN +#endif + #ifdef CONFIG_INTERRUPT_BASED_TXBCN + //#define CONFIG_INTERRUPT_BASED_TXBCN_EARLY_INT + #define CONFIG_INTERRUPT_BASED_TXBCN_BCN_OK_ERR + #endif +// #define CONFIG_GK_REKEY +#if !defined(CONFIG_PLATFORM_AMEBA_X) + #define USE_DEDICATED_BCN_TX 1 +#endif +#if CONFIG_INIC_EN +// #define REPORT_STA_EVENT //useless +#endif +#else +#if !defined(CONFIG_PLATFORM_AMEBA_X) + #define USE_DEDICATED_BCN_TX 0 +#endif +#endif + +#if defined(CONFIG_AP_MODE) && defined(CONFIG_GK_REKEY) && !defined(CONFIG_MULTIPLE_WPA_STA) +#error "If CONFIG_GK_REKEY when CONFIG_AP_MODE, need to CONFIG_MULTIPLE_WPA_STA" +#endif + +#if !defined(CONFIG_PLATFORM_AMEBA_X) +#if !defined(CONFIG_AP_MODE) && defined(CONFIG_CONCURRENT_MODE) +#error "If CONFIG_CONCURRENT_MODEE, need to CONFIG_AP_MODE" +#endif +#endif + +/* For efuse or flash config */ +#if defined(CONFIG_PLATFORM_AMEBA_X) + #define CONFIG_RW_PHYSICAL_EFUSE 0 // Mask efuse user blocks + #define CONFIG_HIDE_PROTECT_EFUSE 1 + #define CONFIG_ADAPTOR_INFO_CACHING_FLASH 1 + #define CHECK_FLASH_VALID_MASK 1 + #define CHECK_EFUSE_VALID_MASK 1 + /* For K-free */ +// #if !defined(CONFIG_PLATFORM_8711B) + #define CONFIG_RF_GAIN_OFFSET +// #endif +#endif // CONFIG_PLATFORM_AMEBA_X + +/* For MP_MODE */ +//#define CONFIG_MP_INCLUDED +#ifdef CONFIG_MP_INCLUDED + #define MP_DRIVER 1 + #define CONFIG_MP_IWPRIV_SUPPORT +// #define HAL_EFUSE_MEMORY + #if defined(CONFIG_PLATFORM_AMEBA_X) + #define MP_REG_TEST + #endif +#else + #define MP_DRIVER 0 + #if defined(CONFIG_PLATFORM_8195A) + //Control wifi mcu function + #define CONFIG_LITTLE_WIFI_MCU_FUNCTION_THREAD + #define CONFIG_ODM_REFRESH_RAMASK + //#define CONFIG_ANTENNA_DIVERSITY + //#define CONFIG_BT_COEXIST + #endif +#endif // #ifdef CONFIG_MP_INCLUDED + +#ifdef CONFIG_BT_COEXIST + #undef NOT_SUPPORT_BT + #define CONFIG_BT_MAILBOX + //#define CONFIG_BT_TWO_ANTENNA +#endif + +#if defined(CONFIG_PLATFORM_AMEBA_X) + #if defined(CONFIG_PLATFORM_8195A) + #undef CONFIG_RTL8195A + #define CONFIG_RTL8195A + #endif + #if defined(CONFIG_PLATFORM_8711B) + #ifndef CONFIG_RTL8711B + #define CONFIG_RTL8711B + #endif + #undef CONFIG_ADAPTOR_INFO_CACHING_FLASH + #define CONFIG_ADAPTOR_INFO_CACHING_FLASH 0 + //#undef CONFIG_EAP + //#undef CONFIG_IPS + #define CONFIG_8710B_MOVE_TO_ROM + #define CONFIG_EFUSE_SEPARATE + #define CONFIG_MOVE_PSK_TO_ROM + #define CONFIG_WOWLAN + #define CONFIG_TRAFFIC_PROTECT + #ifdef CONFIG_LPS + #define REKEY_LEAVE_LPS + #endif + #endif +#elif defined(CONFIG_HARDWARE_8188F) +#define CONFIG_RTL8188F +#else +#define CONFIG_RTL8188E +#endif +#define RTL8192C_SUPPORT 0 +#define RTL8192CE_SUPPORT 0 +#define RTL8192CU_SUPPORT 0 +#define RTL8192D_SUPPORT 0 +#define RTL8192DE_SUPPORT 0 +#define RTL8192DU_SUPPORT 0 +#define RTL8723A_SUPPORT 0 +#define RTL8723AU_SUPPORT 0 +#define RTL8723AS_SUPPORT 0 +#define RTL8192E_SUPPORT 0 +#define RTL8812A_SUPPORT 0 +#define RTL8821A_SUPPORT 0 +#define RTL8723B_SUPPORT 0 +#define RTL8195A_SUPPORT 0 +#define RTL8188E_SUPPORT 0 +#define RTL8188F_SUPPORT 0 +#define RTL8711B_SUPPORT 0 +#if defined(CONFIG_PLATFORM_8195A) +#undef RTL8195A_SUPPORT +#define RTL8195A_SUPPORT 1 +#elif defined(CONFIG_PLATFORM_8711B) +#undef RTL8711B_SUPPORT +#define RTL8711B_SUPPORT 1 +#elif defined(CONFIG_HARDWARE_8188F) +#undef RTL8188F_SUPPORT +#define RTL8188F_SUPPORT 1 +#else +#undef RTL8188E_SUPPORT +#define RTL8188E_SUPPORT 1 +#endif + +#define TEST_CHIP_SUPPORT 0 + +#define RTL8188E_FOR_TEST_CHIP 0 +#define RTL8188E_FPGA_TRUE_PHY_VERIFICATION 0 + +// for Debug message +#define DBG 0 +#if defined(CONFIG_PLATFORM_AMEBA_X) +#if(DBG == 0) + #define ROM_E_RTW_MSG 1 + #define ROM_F_RTW_MSG 1 + /* For DM debug*/ + // BB + #define DBG_RX_INFO 1 + #define DBG_DM_DIG 1 // DebugComponents: bit0 + #define DBG_DM_RA_MASK 1 // DebugComponents: bit1 + #define DBG_DM_ANT_DIV 1 // DebugComponents: bit6 + #define DBG_TX_RATE 1 // DebugComponents: bit9 + #define DBG_DM_RA 1 // DebugComponents: bit9 + #define DBG_DM_ADAPTIVITY 1 // DebugComponents: bit17 + // RF + #define DBG_PWR_TRACKING 1 // DebugComponents: bit24 + #define DBG_RF_IQK 1 // DebugComponents: bit26 + // Common + #define DBG_PWR_INDEX 1 // DebugComponents: bit30 +#endif +#endif + +/* For DM support */ +#if defined(CONFIG_RTL8188F) +#define RATE_ADAPTIVE_SUPPORT 0 +#elif defined(CONFIG_PLATFORM_8711B) +#define RATE_ADAPTIVE_SUPPORT 0 +#define CONFIG_ODM_REFRESH_RAMASK +#else +#define RATE_ADAPTIVE_SUPPORT 1 +#endif +// adaptivity +#define RTW_ADAPTIVITY_EN_DISABLE 0 +#define RTW_ADAPTIVITY_EN_ENABLE 1 +#define CONFIG_RTW_ADAPTIVITY_EN RTW_ADAPTIVITY_EN_DISABLE +#define RTW_ADAPTIVITY_MODE_NORMAL 0 +#define RTW_ADAPTIVITY_MODE_CARRIER_SENSE 1 +#define CONFIG_RTW_ADAPTIVITY_MODE RTW_ADAPTIVITY_MODE_CARRIER_SENSE +#define CONFIG_RTW_ADAPTIVITY_DML 0 + + +#if defined(CONFIG_PLATFORM_AMEBA_X) + #define CONFIG_POWER_TRAINING_WIL 0 // in RA +#else + #define POWER_BY_RATE_SUPPORT 0 +#endif + +#if defined(CONFIG_PLATFORM_AMEBA_X) +#define RTL8195A_FOR_TEST_CHIP 0 + +//#define CONFIG_WIFI_TEST 1 +//#define CONFIG_MAC_LOOPBACK_DRIVER 1 +//#define CONFIG_WLAN_HAL_TEST 1 +//#define SKB_PRE_ALLOCATE_TX 1 +#define SKB_PRE_ALLOCATE_RX 0 +#define TX_CHECK_DSEC_ALWAYS 1 +#define CONFIG_DBG_DISABLE_RDU_INTERRUPT +//#define CONFIG_WLAN_HAL_RX_TASK +#if (SKB_PRE_ALLOCATE_RX == 1) + #define EXCHANGE_LXBUS_RX_SKB 0 +#endif +#ifdef CONFIG_FPGA + //Enable mac loopback for test mode (Ameba) + #define CONFIG_TWO_MAC_DRIVER // for test mode +#endif + +#ifdef ENABLE_MAC_LB_FOR_TEST_MODE + #define CONFIG_SUDO_PHY_SETTING + #define INT_HANDLE_IN_ISR 1 + #define CONFIG_LWIP_LAYER 0 + #define CONFIG_WLAN_HAL_TEST + #define CONFIG_WLAN_HAL_RX_TASK + #define CONFIG_MAC_LOOPBACK_DRIVER_RTL8711B 1 + #define HAL_MAC_ENABLE 1 + #define CONFIG_TWO_MAC_TEST_MODE + #define DISABLE_BB_RF 1 +#else + //#define CONFIG_TWO_MAC_DRIVER //for mornal driver; two mac + #ifdef CONFIG_TWO_MAC_DRIVER + #define CONFIG_SUDO_PHY_SETTING + #define HAL_MAC_ENABLE 1 + #define DISABLE_BB_RF 1 + #else + #define HAL_MAC_ENABLE 1 + #define HAL_BB_ENABLE 1 + #define HAL_RF_ENABLE 1 + #define DISABLE_BB_RF 0 + #endif + //#define INT_HANDLE_IN_ISR 1 +#endif +#endif // CONFIG_PLATFORM_AMEBA_X + +#ifndef CONFIG_LWIP_LAYER +#define CONFIG_LWIP_LAYER 1 +#endif +#define CONFIG_MAC_ADDRESS 0 +//fast reconnection +//#define CONFIG_FAST_RECONNECTION 1 +#if defined(CONFIG_INIC_EN)&&(CONFIG_INIC_EN==1) +#define CONFIG_RECV_REORDERING_CTRL //enable reordering for iNIC high throughput +#undef RX_AGGREGATION +#define RX_AGGREGATION 1 +#undef NOT_SUPPORT_40M +#undef CONFIG_CONCURRENT_MODE +#endif +#endif //WLANCONFIG_H diff --git a/platform/realtek-ambz/fixups/inc/main.h b/platform/realtek-ambz/fixups/inc/main.h new file mode 100644 index 0000000..2f996a9 --- /dev/null +++ b/platform/realtek-ambz/fixups/inc/main.h @@ -0,0 +1,122 @@ +#ifndef MAIN_H +#define MAIN_H + +#include + +#ifndef CONFIG_WLAN +#define CONFIG_WLAN 1 +#endif + +/* Header file declaration*/ +void wlan_network(); + +/* Interactive Mode */ +#define SERIAL_DEBUG_RX 1 + +/* WLAN and Netork */ +#define STA_MODE_SSID "ap" /* Set SSID here */ +#define AP_MODE_SSID "wlan_ap_ssid" /* Set SSID here */ +#define AP_DEFAULT_CH 6 +#define WLAN0_NAME "wlan0" +#define WLAN1_NAME "wlan1" +#define WPA_PASSPHRASE "1234567890" /* Max 32 cahracters */ +#define WEP40_KEY {0x12, 0x34, 0x56, 0x78, 0x90} + +#define ATVER_1 1 // For First AT command +#define ATVER_2 2 // For UART Module AT command + +#if CONFIG_EXAMPLE_UART_ATCMD +#define ATCMD_VER ATVER_2 +#else +#define ATCMD_VER ATVER_1 +#endif + +#if ATCMD_VER == ATVER_2 +#undef CONFIG_EXAMPLE_WLAN_FAST_CONNECT +#define CONFIG_EXAMPLE_WLAN_FAST_CONNECT 1 + +extern unsigned char sta_ip[4], sta_netmask[4], sta_gw[4]; +extern unsigned char ap_ip[4], ap_netmask[4], ap_gw[4]; + +/*Static IP ADDRESS*/ +#define IP_ADDR0 sta_ip[0] +#define IP_ADDR1 sta_ip[1] +#define IP_ADDR2 sta_ip[2] +#define IP_ADDR3 sta_ip[3] + +/*NETMASK*/ +#define NETMASK_ADDR0 sta_netmask[0] +#define NETMASK_ADDR1 sta_netmask[1] +#define NETMASK_ADDR2 sta_netmask[2] +#define NETMASK_ADDR3 sta_netmask[3] + +/*Gateway Address*/ +#define GW_ADDR0 sta_gw[0] +#define GW_ADDR1 sta_gw[1] +#define GW_ADDR2 sta_gw[2] +#define GW_ADDR3 sta_gw[3] + +/*******************************************/ + +/*Static IP ADDRESS*/ +#define AP_IP_ADDR0 ap_ip[0] +#define AP_IP_ADDR1 ap_ip[1] +#define AP_IP_ADDR2 ap_ip[2] +#define AP_IP_ADDR3 ap_ip[3] + +/*NETMASK*/ +#define AP_NETMASK_ADDR0 ap_netmask[0] +#define AP_NETMASK_ADDR1 ap_netmask[1] +#define AP_NETMASK_ADDR2 ap_netmask[2] +#define AP_NETMASK_ADDR3 ap_netmask[3] + +/*Gateway Address*/ +#define AP_GW_ADDR0 ap_gw[0] +#define AP_GW_ADDR1 ap_gw[1] +#define AP_GW_ADDR2 ap_gw[2] +#define AP_GW_ADDR3 ap_gw[3] + +#else + +/*Static IP ADDRESS*/ +#define IP_ADDR0 192 +#define IP_ADDR1 168 +#define IP_ADDR2 1 +#define IP_ADDR3 80 + +/*NETMASK*/ +#define NETMASK_ADDR0 255 +#define NETMASK_ADDR1 255 +#define NETMASK_ADDR2 255 +#define NETMASK_ADDR3 0 + +/*Gateway Address*/ +#define GW_ADDR0 192 +#define GW_ADDR1 168 +#define GW_ADDR2 1 +#define GW_ADDR3 1 + +/*******************************************/ + +/*Static IP ADDRESS*/ +#define AP_IP_ADDR0 192 +#define AP_IP_ADDR1 168 +#define AP_IP_ADDR2 43 +#define AP_IP_ADDR3 1 + +/*NETMASK*/ +#define AP_NETMASK_ADDR0 255 +#define AP_NETMASK_ADDR1 255 +#define AP_NETMASK_ADDR2 255 +#define AP_NETMASK_ADDR3 0 + +/*Gateway Address*/ +#define AP_GW_ADDR0 192 +#define AP_GW_ADDR1 168 +#define AP_GW_ADDR2 43 +#define AP_GW_ADDR3 1 + +#endif //#if ATCMD_VER == ATVER_2 + + +#endif diff --git a/platform/realtek-ambz/fixups/inc/platform_autoconf.h b/platform/realtek-ambz/fixups/inc/platform_autoconf.h new file mode 100644 index 0000000..3f95890 --- /dev/null +++ b/platform/realtek-ambz/fixups/inc/platform_autoconf.h @@ -0,0 +1,241 @@ +/* + * Automatically generated by make menuconfig: don't edit + */ +#define AUTOCONF_INCLUDED + +/* + * < MENUCONFIG FOR CHIP CONFIG + */ + +/* + * < CONFIG CHIP + */ +#define CONFIG_RTL8711B 1 +#undef ARM_CORE_CM3 +#define ARM_CORE_CM4 1 +#define CONFIG_CHIP_A_CUT 1 +#undef CONFIG_FPGA + +/* + * < CONFIG CPU CLK + */ +#define CONFIG_CPU_CLK 1 +#define CONFIG_CPU_125MHZ 1 +#undef CONFIG_CPU_62_5MHZ +#undef CONFIG_CPU_31_25MHZ +#undef CONFIG_CPU_15_625MHZ +#undef CONFIG_CPU_7_8125MHZ +#undef CONFIG_CPU_4MHZ +#undef CONFIG_FPGA_CLK +#define PLATFORM_CLOCK (125000000) +#define CPU_CLOCK_SEL_VALUE (0) + +/* + * < CONFIG OSC8M CLK + */ +#define CONFIG_OSC8M_CLK 1 +#define CONFIG_OSC8M_8388608HZ 1 +#undef CONFIG_OSC8M_8192000HZ +#undef CONFIG_OSC8M_8000000HZ +#undef CONFIG_OSC8M_16777216HZ +#define OSC8M_CLOCK (8388608) + +/* + * < CONFIG TEST MODE + */ +#undef CONFIG_MP +#undef CONFIG_CP +#undef CONFIG_FT +#undef CONFIG_EQC +#undef CONFIG_RTL_SIM +#undef CONFIG_POST_SIM + +/* + * < CONFIG OS + */ +#define CONFIG_KERNEL 1 +#define PLATFORM_FREERTOS 1 +#undef PLATFORM_UCOSII +#undef PLATFORM_ECOS +#undef CONFIG_TASK_SCHEDUL_DIS +#define TASK_SCHEDULER_DISABLED (0) + +/* + * < CONFIG GTIMER + */ +#define CONFIG_TIMER_EN 1 +#define CONFIG_TIMER_MODULE 1 + +/* + * < CONFIG WDG + */ +#define CONFIG_WDG 1 +#define CONFIG_WDG_MODULE 1 + +/* + * < CONFIG GDMA + */ +#define CONFIG_GDMA_EN 1 +#define CONFIG_GDMA_MODULE 1 + +/* + * < CONFIG GPIO + */ +#define CONFIG_GPIO_EN 1 +#define CONFIG_GPIO_MODULE 1 + +/* + * < CONFIG SPI + */ +#define CONFIG_SPI_COM_EN 1 +#define CONFIG_SPI_COM_MODULE 1 + +/* + * < CONFIG UART + */ +#define CONFIG_UART_EN 1 +#define CONFIG_UART_MODULE 1 + +/* + * < CONFIG I2C + */ +#define CONFIG_I2C_EN 1 +#define CONFIG_I2C_MODULE 1 + +/* + * < CONFIG I2S + */ +#define CONFIG_I2S_EN 1 +#define CONFIG_I2S_MODULE 1 + +/* + * < CONFIG SOC PS + */ +#define CONFIG_SOC_PS_EN 1 +#define CONFIG_SOC_PS_MODULE 1 + +/* + * < CONFIG CRYPTO + */ +#define CONFIG_CRYPTO_EN 1 +#define CONFIG_CRYPTO_MODULE 1 + +/* + * < CONFIG PWM + */ +#define CONFIG_PWM_EN 1 + +/* + * < CONFIG EFUSE + */ +#define CONFIG_EFUSE_EN 1 +#define CONFIG_EFUSE_MODULE 1 + +/* + * < CONFIG SPIC + */ +#define CONFIG_SPIC_EN 1 +#define CONFIG_SPIC_MODULE 1 +#define CONFIG_SPIC_PHASE_CALIBATION 1 +#undef CONFIG_SPIC_4BYTES_ADDRESS + +/* + * < CONFIG ADC + */ +#define CONFIG_ADC_EN 1 +#define CONFIG_ADC_MODULE 1 + +/* + * < CONFIG SDIO Device + */ +#define CONFIG_SDIO_DEVICE_EN 1 +#define CONFIG_SDIO_DEVICE_NORMAL 1 +#define CONFIG_SDIO_DEVICE_MODULE 1 + +/* + * < CONFIG USB + */ +#define CONFIG_USB_EN 1 +#define CONFIG_USB_MODULE 1 + +/* + * < CONFIG RDP + */ +#define CONFIG_RDP_ENABLE 1 + +/* + * < CONFIG PINMUX + */ +#undef CONFIG_PINMAP_ENABLE + +/* + * < CONFIG PER TEST + */ +#undef CONFIG_PER_TEST + +/* + * < CONFIG WIFI + */ +#define CONFIG_WIFI_EN 1 +#define CONFIG_WIFI_NORMAL 1 +#undef CONFIG_WIFI_TEST +#define CONFIG_WIFI_MODULE 1 + +/* + * < CONFIG NETWORK + */ +#define CONFIG_NETWORK 1 + +/* + * < CONFIG INIC + */ +#undef CONFIG_INIC_EN + +/* + * < CONFIG USB_NIC + */ +#undef CONFIG_USB_DONGLE_NIC_EN + +/* + * < RTK STD lib + */ +#define CONFIG_RTLIB_EN 1 +#define CONFIG_RTLIB_MODULE 1 +#undef CONFIG_RTLIB_VERIFY + +/* + * < Add MBED SDK + */ +#undef CONFIG_MBED_ENABLED + +/* + * < Build App Demo + */ +#undef CONFIG_APP_DEMO + +/* + * < Dhrystone + */ +#undef CONFIG_DHRYSTONE_TEST + +/* + * < SSL + */ +#undef CONFIG_SSL_ROM_TEST + +/* + * < System Debug Message Config + */ +#define CONFIG_UART_LOG_HISTORY 1 +#define CONFIG_DEBUG_LOG 1 +#define CONFIG_DEBUG_ERR_MSG 1 +#undef CONFIG_DEBUG_WARN_MSG +#undef CONFIG_DEBUG_INFO_MSG + +/* + * < Build Option + */ +#define CONFIG_TOOLCHAIN_ASDK 1 +#undef CONFIG_TOOLCHAIN_ARM_GCC +#define CONFIG_LINK_ROM_LIB 1 +#undef CONFIG_LINK_ROM_SYMB