49 #undef RFCCpeIntGetAndClear
50 #define RFCCpeIntGetAndClear NOROM_RFCCpeIntGetAndClear
51 #undef RFCDoorbellSendTo
52 #define RFCDoorbellSendTo NOROM_RFCDoorbellSendTo
53 #undef RFCSynthPowerDown
54 #define RFCSynthPowerDown NOROM_RFCSynthPowerDown
56 #define RFCRfTrimRead NOROM_RFCRfTrimRead
58 #define RFCRfTrimSet NOROM_RFCRfTrimSet
60 #define RFCRTrim NOROM_RFCRTrim
61 #undef RFCCPEPatchReset
62 #define RFCCPEPatchReset NOROM_RFCCPEPatchReset
63 #undef RFCAdi3VcoLdoVoltageMode
64 #define RFCAdi3VcoLdoVoltageMode NOROM_RFCAdi3VcoLdoVoltageMode
67 #define RFC_RESERVED0 0x40044108
68 #define RFC_RESERVED1 0x40044114
69 #define RFC_RESERVED2 0x4004410C
70 #define RFC_RESERVED3 0x40044100
73 #define CONFIG_MISC_ADC_DIVIDER 27
74 #define CONFIG_MISC_ADC_DIVIDER_BM 0xF8000000U
76 #define _CPERAM_START 0x21000000
77 #define _PARSER_PATCH_TAB_OFFSET 0x0338
78 #define _PATCH_TAB_OFFSET 0x0340
79 #define _IRQPATCH_OFFSET 0x03BC
80 #define _PATCH_VEC_OFFSET 0x041C
168 switch (pOpSetup->commandNo)
246 uint32_t fcfg1_rtrim;
248 int32_t override_index;
249 uint32_t override_value;
250 uint32_t override_rtrim = 0;
253 switch (pOpSetup->commandNo)
279 for(override_index = 0; override_index < 5; override_index++)
281 override_value = pOverride[override_index];
282 if((override_value & 0xFFFF) == 0x4038)
284 override_rtrim = (override_value & 0xF0000) >> 16;
289 if (override_rtrim == 0)
334 if(fcfg1_rtrim == 0xF)
343 pOverride[override_index] = (override_value & 0xFFF0FFFF) | (0x7 << 16);
349 pOverride[override_index] = (override_value & 0xFFF0FFFF) | (0x4 << 16);
356 if(override_rtrim >= fcfg1_rtrim)
364 pOverride[override_index] = (override_value & 0xFFF0FFFF) | (fcfg1_rtrim << 16);
377 memcpy((
void*)&HWREG(0x21000018), (
void*)pRfTrim,
sizeof(
rfTrim_t));
411 HWREGB(0x40086200) = 0x0;
430 #if !defined(DOXYGEN)
431 #undef RFCCpeIntGetAndClear
432 #define RFCCpeIntGetAndClear NOROM_RFCCpeIntGetAndClear
433 #undef RFCDoorbellSendTo
434 #define RFCDoorbellSendTo NOROM_RFCDoorbellSendTo
435 #undef RFCSynthPowerDown
436 #define RFCSynthPowerDown NOROM_RFCSynthPowerDown
438 #define RFCRfTrimRead NOROM_RFCRfTrimRead
440 #define RFCRfTrimSet NOROM_RFCRfTrimSet
442 #define RFCRTrim NOROM_RFCRTrim
443 #undef RFCCPEPatchReset
444 #define RFCCPEPatchReset NOROM_RFCCPEPatchReset
445 #undef RFCAdi3VcoLdoVoltageMode
446 #define RFCAdi3VcoLdoVoltageMode NOROM_RFCAdi3VcoLdoVoltageMode
static const uint16_t rfc_defaultIrqAddr[]
#define CMD_PROP_RADIO_SETUP
struct __RFC_STRUCT rfc_CMD_PROP_RADIO_DIV_SETUP_s rfc_CMD_PROP_RADIO_DIV_SETUP_t
struct __RFC_STRUCT rfc_CMD_RADIO_SETUP_s rfc_CMD_RADIO_SETUP_t
#define CMD_PROP_RADIO_DIV_SETUP
struct __RFC_STRUCT rfc_radioOp_s rfc_radioOp_t
#define CONFIG_MISC_ADC_DIVIDER_BM
void RFCRfTrimSet(rfTrim_t *pRfTrim)
Write preloaded RF trim values to CM0.
static void RFCAckIntClear(void)
Clear interrupt flags.
uint32_t RFCCpeIntGetAndClear(void)
Get and clear CPE interrupt flags.
#define CONFIG_MISC_ADC_DIVIDER
struct __RFC_STRUCT rfc_CMD_PROP_RADIO_SETUP_s rfc_CMD_PROP_RADIO_SETUP_t
void RFCRTrim(rfc_radioOp_t *pOpSetup)
Check Override RTrim vs FCFG RTrim.
uint32_t configRfFrontend
void RFCCPEPatchReset(void)
Reset previously patched CPE RAM to a state where it can be patched again.
uint32_t RFCDoorbellSendTo(uint32_t pOp)
Send command to doorbell and wait for ack.
void RFCAdi3VcoLdoVoltageMode(bool bEnable)
Function to set VCOLDO reference to voltage mode.
void RFCRfTrimRead(rfc_radioOp_t *pOpSetup, rfTrim_t *pRfTrim)
Read RF trim from flash using CM3.
#define _PARSER_PATCH_TAB_OFFSET
void RFCSynthPowerDown()
Turn off synth, NOTE: Radio will no longer respond to commands!