123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- #ifndef BANK_SWITCH_H
- #define BANK_SWITCH_H
- #ifdef CONFIG_CODE_BANK_ENABLE
- #define _BANK_ENTRY(num) __attribute__((section(".bank.code."#num))) __attribute__((banknum(num)))
- #define __BANK_ENTRY(num) _BANK_ENTRY(num)
- #define _BANK_NUM(num) __attribute__((section(".bank.code."#num))) __attribute__((banknum(num)))
- #define __BANK_NUM(num) _BANK_NUM(num)
- #define __BANK_COMMON() __attribute__((section(".common")))
- #else
- #define __BANK_ENTRY(num)
- #define __BANK_NUM(num)
- #endif
- #ifdef CONFIG_BANK_COMM
- #define __BANK_EDR_RX __BANK_COMMON()
- #define __BANK_EDR_TX __BANK_COMMON()
- #define __BANK_TWS_LINK __BANK_COMMON()
- #define __BANK_EDR_FRAME __BANK_COMMON()
- #else
- #define __BANK_EDR_RX
- #define __BANK_EDR_TX
- #define __BANK_TWS_LINK
- #define __BANK_EDR_FRAME
- #endif
- #ifdef CONFIG_BANK_NUM_INIT
- #define __BANK_INIT_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_INIT)
- #define __BANK_INIT __BANK_NUM(CONFIG_BANK_NUM_INIT)
- #else
- #define __BANK_INIT_ENTRY
- #define __BANK_INIT
- #endif
- #ifdef CONFIG_BANK_NUM_RF
- #define __BANK_RF_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_RF)
- #define __BANK_RF __BANK_NUM(CONFIG_BANK_NUM_RF)
- #else
- #define __BANK_RF_ENTRY
- #define __BANK_RF
- #endif
- #ifdef CONFIG_BANK_NUM_RF_TRIM
- #define __BANK_RF_TRIM __BANK_NUM(CONFIG_BANK_NUM_RF_TRIM)
- #else
- #define __BANK_RF_TRIM
- #endif
- #ifdef CONFIG_BANK_NUM_DUT
- #define __BANK_DUT_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_DUT)
- #define __BANK_DUT __BANK_NUM(CONFIG_BANK_NUM_DUT)
- #else
- #define __BANK_DUT_ENTRY
- #define __BANK_DUT
- #endif
- #ifdef CONFIG_BANK_NUM_ECDH
- #define __BANK_ECDH_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_ECDH)
- #define __BANK_ECDH __BANK_NUM(CONFIG_BANK_NUM_ECDH)
- #else
- #define __BANK_ECDH_ENTRY
- #define __BANK_ECDH
- #endif
- #ifdef CONFIG_BANK_NUM_ENC
- #define __BANK_ENC_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_ENC)
- #define __BANK_ENC __BANK_NUM(CONFIG_BANK_NUM_ENC)
- #else
- #define __BANK_ENC_ENTRY
- #define __BANK_ENC
- #endif
- #ifdef CONFIG_BANK_NUM_A2DP
- #define __BANK_A2DP_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_A2DP)
- #define __BANK_A2DP __BANK_NUM(CONFIG_BANK_NUM_A2DP)
- #else
- #define __BANK_A2DP_ENTRY
- #define __BANK_A2DP
- #endif
- #ifdef CONFIG_BANK_NUM_AVCTP
- #define __BANK_AVCTP_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_AVCTP)
- #define __BANK_AVCTP __BANK_NUM(CONFIG_BANK_NUM_AVCTP)
- #else
- #define __BANK_AVCTP_ENTRY
- #define __BANK_AVCTP
- #endif
- #ifdef CONFIG_BANK_NUM_RFCOMM
- #define __BANK_RFCOMM_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_RFCOMM)
- #define __BANK_RFCOMM __BANK_NUM(CONFIG_BANK_NUM_RFCOMM)
- #else
- #define __BANK_RFCOMM_ENTRY
- #define __BANK_RFCOMM
- #endif
- #ifdef CONFIG_BANK_NUM_SDP
- #define __BANK_SDP_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_SDP)
- #define __BANK_SDP __BANK_NUM(CONFIG_BANK_NUM_SDP)
- #else
- #define __BANK_SDP_ENTRY
- #define __BANK_SDP
- #endif
- #ifdef CONFIG_BANK_NUM_BT_HID
- #define __BANK_BT_HID_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_BT_HID)
- #define __BANK_BT_HID __BANK_NUM(CONFIG_BANK_NUM_BT_HID)
- #else
- #define __BANK_BT_HID_ENTRY
- #define __BANK_BT_HID
- #endif
- #ifdef CONFIG_BANK_NUM_BLE
- #define __BANK_BLE_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_BLE)
- #define __BANK_BLE __BANK_NUM(CONFIG_BANK_NUM_BLE)
- #else
- #define __BANK_BLE_ENTRY
- #define __BANK_BLE
- #endif
- #ifdef CONFIG_BANK_NUM_TWS_BLE
- #define __BANK_TWS_BLE_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_TWS_BLE)
- #define __BANK_TWS_BLE __BANK_NUM(CONFIG_BANK_NUM_TWS_BLE)
- #else
- #define __BANK_TWS_BLE_ENTRY
- #define __BANK_TWS_BLE
- #endif
- #ifdef CONFIG_BANK_NUM_TONE
- #define __BANK_TONE_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_TONE)
- #define __BANK_TONE __BANK_NUM(CONFIG_BANK_NUM_TONE)
- #else
- #define __BANK_TONE_ENTRY
- #define __BANK_TONE
- #endif
- #ifdef CONFIG_BANK_NUM_LMP_SLAVE
- #define __BANK_LMP_SLAVE_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_LMP_SLAVE)
- #define __BANK_LMP_SLAVE __BANK_NUM(CONFIG_BANK_NUM_LMP_SLAVE)
- #else
- #define __BANK_LMP_SLAVE_ENTRY
- #define __BANK_LMP_SLAVE
- #endif
- #ifdef CONFIG_BANK_NUM_LMP_MASTER
- #define __BANK_LMP_MASTER_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_LMP_MASTER)
- #define __BANK_LMP_MASTER __BANK_NUM(CONFIG_BANK_NUM_LMP_MASTER)
- #else
- #define __BANK_LMP_MASTER_ENTRY
- #define __BANK_LMP_MASTER
- #endif
- #ifdef CONFIG_BANK_NUM_CLOCK
- #define __BANK_CLOCK_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_CLOCK)
- #define __BANK_CLOCK __BANK_NUM(CONFIG_BANK_NUM_CLOCK)
- #else
- #define __BANK_CLOCK_ENTRY
- #define __BANK_CLOCK
- #endif
- #ifdef CONFIG_BANK_NUM_HCRP
- #define __BANK_HCRP_ENTRY __BANK_ENTRY(CONFIG_BANK_NUM_HCRP)
- #define __BANK_HCRP __BANK_NUM(CONFIG_BANK_NUM_HCRP)
- #else
- #define __BANK_HCRP_ENTRY
- #define __BANK_HCRP
- #endif
- void load_overlay_code(int num);
- void bank_syscall_entry(void);
- void load_common_code(void);
- #endif
|