41 #define RFC_RESERVED0 0x40044108
42 #define RFC_RESERVED1 0x40044114
43 #define RFC_RESERVED2 0x4004410C
44 #define RFC_RESERVED3 0x40044100
47 #define CONFIG_MISC_ADC_DIVIDER 27
48 #define CONFIG_MISC_ADC_DIVIDER_BM 0xF8000000U
51 #define FCFG1_O_CONFIG_MISC_ADC_PO_TAIL_RES_TRIM_M 0x003C0000
52 #define FCFG1_O_CONFIG_MISC_ADC_PO_TAIL_RES_TRIM_S 18
53 #define FCFG1_O_CONFIG_MISC_ADC_DIV6_PO_TAIL_RES_TRIM_M 0x003C0000
54 #define FCFG1_O_CONFIG_MISC_ADC_DIV6_PO_TAIL_RES_TRIM_S 18
55 #define FCFG1_O_CONFIG_MISC_ADC_DIV10_PO_TAIL_RES_TRIM_M 0x003C0000
56 #define FCFG1_O_CONFIG_MISC_ADC_DIV10_PO_TAIL_RES_TRIM_S 18
57 #define FCFG1_O_CONFIG_MISC_ADC_DIV12_PO_TAIL_RES_TRIM_M 0x003C0000
58 #define FCFG1_O_CONFIG_MISC_ADC_DIV12_PO_TAIL_RES_TRIM_S 18
59 #define FCFG1_O_CONFIG_MISC_ADC_DIV15_PO_TAIL_RES_TRIM_M 0x003C0000
60 #define FCFG1_O_CONFIG_MISC_ADC_DIV15_PO_TAIL_RES_TRIM_S 18
61 #define FCFG1_O_CONFIG_MISC_ADC_DIV30_PO_TAIL_RES_TRIM_M 0x003C0000
62 #define FCFG1_O_CONFIG_MISC_ADC_DIV30_PO_TAIL_RES_TRIM_S 18
134 switch (pOpSetup->commandNo)
212 uint32_t fcfg1_rtrim;
214 int32_t override_index;
215 uint32_t override_value;
216 uint32_t override_rtrim = 0;
219 switch (pOpSetup->commandNo)
245 for(override_index = 0; override_index < 5; override_index++)
247 override_value = pOverride[override_index];
248 if((override_value & 0xFFFF) == 0x4038)
250 override_rtrim = (override_value & 0xF0000) >> 16;
255 if (override_rtrim == 0)
300 if(fcfg1_rtrim == 0xF)
309 pOverride[override_index] = (override_value & 0xFFF0FFFF) | (0x7 << 16);
315 pOverride[override_index] = (override_value & 0xFFF0FFFF) | (0x4 << 16);
322 if(override_rtrim >= fcfg1_rtrim)
330 pOverride[override_index] = (override_value & 0xFFF0FFFF) | (fcfg1_rtrim << 16);
343 memcpy((
void*)&HWREG(0x21000018), (
void*)pRfTrim,
sizeof(
rfTrim_t));
353 #if !defined(DOXYGEN)
354 #undef RFCCpeIntGetAndClear
355 #define RFCCpeIntGetAndClear NOROM_RFCCpeIntGetAndClear
356 #undef RFCDoorbellSendTo
357 #define RFCDoorbellSendTo NOROM_RFCDoorbellSendTo
358 #undef RFCSynthPowerDown
359 #define RFCSynthPowerDown NOROM_RFCSynthPowerDown
361 #define RFCRfTrimRead NOROM_RFCRfTrimRead
363 #define RFCRfTrimSet NOROM_RFCRfTrimSet
365 #define RFCRTrim NOROM_RFCRTrim
#define FCFG1_O_CONFIG_MISC_ADC_DIV15_PO_TAIL_RES_TRIM_S
#define FCFG1_O_CONFIG_MISC_ADC_DIV10_PO_TAIL_RES_TRIM_M
#define CMD_PROP_RADIO_SETUP
#define FCFG1_O_CONFIG_MISC_ADC_DIV12_PO_TAIL_RES_TRIM_M
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
#define FCFG1_O_CONFIG_MISC_ADC_DIV10_PO_TAIL_RES_TRIM_S
void RFCRfTrimSet(rfTrim_t *pRfTrim)
Write preloaded RF trim values to CM0.
static void RFCAckIntClear(void)
Clear interrupt flags.
#define FCFG1_O_CONFIG_MISC_ADC_PO_TAIL_RES_TRIM_M
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
#define FCFG1_O_CONFIG_MISC_ADC_DIV12_PO_TAIL_RES_TRIM_S
#define FCFG1_O_CONFIG_MISC_ADC_DIV30_PO_TAIL_RES_TRIM_M
uint32_t RFCDoorbellSendTo(uint32_t pOp)
Send command to doorbell and wait for ack.
#define FCFG1_O_CONFIG_MISC_ADC_PO_TAIL_RES_TRIM_S
#define FCFG1_O_CONFIG_MISC_ADC_DIV30_PO_TAIL_RES_TRIM_S
void RFCRfTrimRead(rfc_radioOp_t *pOpSetup, rfTrim_t *pRfTrim)
Read RF trim from flash using CM3.
#define FCFG1_O_CONFIG_MISC_ADC_DIV6_PO_TAIL_RES_TRIM_M
void RFCSynthPowerDown()
Turn off synth, NOTE: Radio will no longer respond to commands!
#define FCFG1_O_CONFIG_MISC_ADC_DIV6_PO_TAIL_RES_TRIM_S
#define FCFG1_O_CONFIG_MISC_ADC_DIV15_PO_TAIL_RES_TRIM_M