Skip to content

Commit 7ee9fb5

Browse files
cvinayakAnas Nashif
authored andcommitted
Bluetooth: controller: Add radio setup HAL interface
Added a new interface to perform setup of radio hardware. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent 2d08b18 commit 7ee9fb5

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

subsys/bluetooth/controller/hal/nrf5/radio.c

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,48 @@ void radio_isr_set(radio_isr_fp fp_radio_isr)
4848
irq_enable(RADIO_IRQn);
4949
}
5050

51+
void radio_setup(void)
52+
{
53+
#if defined(CONFIG_SOC_SERIES_NRF52X)
54+
struct {
55+
u32_t volatile reserved_0[0x5a0 >> 2];
56+
u32_t volatile bridge_type;
57+
u32_t volatile reserved_1[((0xe00 - 0x5a0) >> 2) - 1];
58+
struct {
59+
u32_t volatile CPU0;
60+
u32_t volatile SPIS1;
61+
u32_t volatile RADIO;
62+
u32_t volatile ECB;
63+
u32_t volatile CCM;
64+
u32_t volatile AAR;
65+
u32_t volatile SAADC;
66+
u32_t volatile UARTE;
67+
u32_t volatile SERIAL0;
68+
u32_t volatile SERIAL2;
69+
u32_t volatile NFCT;
70+
u32_t volatile I2S;
71+
u32_t volatile PDM;
72+
u32_t volatile PWM;
73+
} RAMPRI;
74+
} volatile *NRF_AMLI = (void volatile *)0x40000000UL;
75+
76+
NRF_AMLI->RAMPRI.CPU0 = 0xFFFFFFFFUL;
77+
NRF_AMLI->RAMPRI.SPIS1 = 0xFFFFFFFFUL;
78+
NRF_AMLI->RAMPRI.RADIO = 0x00000000UL;
79+
NRF_AMLI->RAMPRI.ECB = 0xFFFFFFFFUL;
80+
NRF_AMLI->RAMPRI.CCM = 0x00000000UL;
81+
NRF_AMLI->RAMPRI.AAR = 0xFFFFFFFFUL;
82+
NRF_AMLI->RAMPRI.SAADC = 0xFFFFFFFFUL;
83+
NRF_AMLI->RAMPRI.UARTE = 0xFFFFFFFFUL;
84+
NRF_AMLI->RAMPRI.SERIAL0 = 0xFFFFFFFFUL;
85+
NRF_AMLI->RAMPRI.SERIAL2 = 0xFFFFFFFFUL;
86+
NRF_AMLI->RAMPRI.NFCT = 0xFFFFFFFFUL;
87+
NRF_AMLI->RAMPRI.I2S = 0xFFFFFFFFUL;
88+
NRF_AMLI->RAMPRI.PDM = 0xFFFFFFFFUL;
89+
NRF_AMLI->RAMPRI.PWM = 0xFFFFFFFFUL;
90+
#endif /* CONFIG_SOC_SERIES_NRF52X */
91+
}
92+
5193
void radio_reset(void)
5294
{
5395
irq_disable(RADIO_IRQn);

subsys/bluetooth/controller/hal/radio.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ typedef void (*radio_isr_fp) (void);
1313
void isr_radio(void);
1414
void radio_isr_set(radio_isr_fp fp_radio_isr);
1515

16+
void radio_setup(void);
1617
void radio_reset(void);
1718
void radio_phy_set(u8_t phy, u8_t flags);
1819
void radio_tx_power_set(u32_t power);

subsys/bluetooth/controller/ll_sw/ctrl.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,8 @@ u32_t radio_init(void *hf_clock, u8_t sca, u8_t connection_count_max,
444444
chan_sel_2_ut();
445445
#endif /* RADIO_UNIT_TEST && CONFIG_BT_CTLR_CHAN_SEL_2 */
446446

447+
radio_setup();
448+
447449
return retcode;
448450
}
449451

0 commit comments

Comments
 (0)