123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- /**************************************************************************************************
-
- Phyplus Microelectronics Limited confidential and proprietary.
- All rights reserved.
- IMPORTANT: All rights of this software belong to Phyplus Microelectronics
- Limited ("Phyplus"). Your use of this Software is limited to those
- specific rights granted under the terms of the business contract, the
- confidential agreement, the non-disclosure agreement and any other forms
- of agreements as a customer or a partner of Phyplus. You may not use this
- Software unless you agree to abide by the terms of these agreements.
- You acknowledge that the Software may not be modified, copied,
- distributed or disclosed unless embedded on a Phyplus Bluetooth Low Energy
- (BLE) integrated circuit, either as a product or is integrated into your
- products. Other than for the aforementioned purposes, you may not use,
- reproduce, copy, prepare derivative works of, modify, distribute, perform,
- display or sell this Software and/or its documentation for any purposes.
- YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
- PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
- INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
- NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
- PHYPLUS OR ITS SUBSIDIARIES BE LIABLE OR OBLIGATED UNDER CONTRACT,
- NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
- LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
- INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
- OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
- OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
- (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
-
- **************************************************************************************************/
- /**
- ****************************************************************************************
- *
- * @file global_config.h
- *
- * @brief This file contains the definitions of index of global configuration which
- * will be configured in APP project.
- *
- *
- * $Rev: $
- *
- ****************************************************************************************
- */
- #ifndef _GLOBAL_CONFIG_H_
- #define _GLOBAL_CONFIG_H_
- #include "types.h"
- /*******************************************************************************
- * software configuration parameters definition
- */
-
- #define CONFIG_BASE_ADDR 0x1fff0C00
- #define SOFT_PARAMETER_NUM 256
- // parameter index of configuration array
- #define ADV_CHANNEL_INTERVAL 0 // interval between adv channel in the same adv event
- #define SCAN_RSP_DELAY 1 // to adjust scan req -> scan rsp delay
- #define CONN_REQ_TO_SLAVE_DELAY 2 // to calibrate the delay between conn req & 1st slave conn event
- #define SLAVE_CONN_DELAY 3 // to adjust the delay between 2 slave connection events
- #define SLAVE_CONN_DELAY_BEFORE_SYNC 4 // to adjust the delay between 2 slave connection events before 1st anchor is acquired
- #define MAX_SLEEP_TIME 5 // maximum sleep time in us
- #define MIN_SLEEP_TIME 6 // minimum sleep time in us
- #define WAKEUP_ADVANCE 7 // wakeup advance time, to cover HW delay, crystal settle time, sw delay, ... etc.
- #define WAKEUP_DELAY 8 // cycles of SW delay to wait crystal settle
- #define HDC_DIRECT_ADV_INTERVAL 9
- #define LDC_DIRECT_ADV_INTERVAL 10
- #define LL_SWITCH 11 // Link Layer switch, 1 enable, 0 disable
- #define CLOCK_SETTING 14 // HCLK
- #define LL_HW_BB_DELAY 15
- #define LL_HW_AFE_DELAY 16
- #define LL_HW_PLL_DELAY 17
- #define LL_HW_RTLP_LOOP_TIMEOUT 18
- #define LL_HW_RTLP_1ST_TIMEOUT 19
- #define MIN_TIME_TO_STABLE_32KHZ_XOSC 20
- #define LL_TX_PKTS_PER_CONN_EVT 21
- #define LL_RX_PKTS_PER_CONN_EVT 22
- // ============= A1 ROM metal change add
- #define DIR_ADV_DELAY 23
- #define LL_TX_PWR_TO_REG_BIAS 24
- #define LL_SMART_WINDOW_COEF_ALPHA 25
- #define LL_SMART_WINDOW_TARGET 26
- #define LL_SMART_WINDOW_INCREMENT 27
- #define LL_SMART_WINDOW_LIMIT 28
- #define LL_SMART_WINDOW_ACTIVE_THD 29
- #define LL_SMART_WINDOW_ACTIVE_RANGE 30
- #define LL_SMART_WINDOW_FIRST_WINDOW 31
- #define LL_HW_Tx_TO_RX_INTV 32
- #define LL_HW_Rx_TO_TX_INTV 33
- #define INITIAL_STACK_PTR 34
- #define ALLOW_TO_SLEEP_TICK_RC32K 35
- #define LL_HW_BB_DELAY_ADV 36
- #define LL_HW_AFE_DELAY_ADV 37
- #define LL_HW_PLL_DELAY_ADV 38
- // For scan & master, add 2018-6-15
- #define LL_ADV_TO_SCAN_REQ_DELAY 39
- #define LL_ADV_TO_CONN_REQ_DELAY 40
- #define LL_MOVE_TO_MASTER_DELAY 41
- #define LL_HW_TRLP_LOOP_TIMEOUT 42
- #define LL_CONN_REQ_WIN_SIZE 43
- #define LL_CONN_REQ_WIN_OFFSET 44
- #define LL_MASTER_PROCESS_TARGET 45
- #define LL_MASTER_TIRQ_DELAY 46
- //for PHY updated add 2018-11-07
- #define LL_HW_BB_DELAY_2MPHY 47
- #define LL_HW_AFE_DELAY_2MPHY 48
- #define LL_HW_PLL_DELAY_2MPHY 49
- #define LL_HW_Tx_TO_RX_INTV_2MPHY 50
- #define LL_HW_Rx_TO_TX_INTV_2MPHY 51
- #define LL_HW_BB_DELAY_500KPHY 52
- #define LL_HW_AFE_DELAY_500KPHY 53
- #define LL_HW_PLL_DELAY_500KPHY 54
- #define LL_HW_Tx_TO_RX_INTV_500KPHY 55
- #define LL_HW_Rx_TO_TX_INTV_500KPHY 56
- #define LL_HW_BB_DELAY_125KPHY 57
- #define LL_HW_AFE_DELAY_125KPHY 58
- #define LL_HW_PLL_DELAY_125KPHY 59
- #define LL_HW_Tx_TO_RX_INTV_125KPHY 60
- #define LL_HW_Rx_TO_TX_INTV_125KPHY 61
- #define LL_HW_TRLP_TO_GAP 62
- #define LL_HW_RTLP_TO_GAP 63
- #define LL_TRX_NUM_ADAPTIVE_CONFIG 64
- #define OSAL_SYS_TICK_WAKEUP_TRIM 65
- // ==== A2 add, for secondary adv/scan
- #define LL_NOCONN_ADV_EST_TIME 70
- #define LL_NOCONN_ADV_MARGIN 71
- #define LL_SEC_SCAN_MARGIN 72
- #define LL_MIN_SCAN_TIME 73
- #define MAC_ADDRESS_LOC 80
- // ==============
- #define RC32_TRACKINK_ALLOW 0x00000001 // enable tracking RC 32KHz clock with 16MHz hclk
- #define SLAVE_LATENCY_ALLOW 0x00000002 // slave latency allow switch
- #define LL_DEBUG_ALLOW 0x00000004 // enable invoke RAM project debug output fucntion
- #define LL_WHITELIST_ALLOW 0x00000008 // enable whitelist filter
- #define LL_RC32K_SEL 0x00000010 // select RC32K RTC, otherwise select crystal 32K RTC
- #define SIMUL_CONN_ADV_ALLOW 0x00000020 // allow send adv in connect state
- #define SIMUL_CONN_SCAN_ALLOW 0x00000040 // allow scan in connect state
- #define GAP_DUP_RPT_FILTER_DISALLOW 0x00000100 // duplicate report filter in GAP layer, allow default
- // delete 2018-7-17, should use enum H_SYSCLK_SEL
- //enum
- //{
- // CLOCK_16MHZ = 0,
- // CLOCK_32MHZ = 1,
- // CLOCK_48MHZ = 2,
- // CLOCK_64MHZ = 3,
- // CLOCK_96MHZ = 4,
- // CLOCK_32MHZ_DBL=5
- //};
- //extern uint32 global_config[SOFT_PARAMETER_NUM];
- extern uint32 *pGlobal_config; // note: app project needn't this variable
- #endif // _GLOBAL_CONFIG_H_
|