Replace hard-coded values with DTS configuration
TjazVracko opened this issue · comments
There are some hard-coded values in use in lr11xx_board.c
. These should be configurable from DTS.
The hard-coded values are:
- LF clock config
- external TCXO supply voltage
- external TCXO wakeup time
- regulator mode (LDO or DC-DC)
Source from lr11xx_board.c
#define LR11XX_CFG_LF_CLCK(inst) \
.lf_clck_cfg = { \
.lf_clk_cfg = LR11XX_SYSTEM_LFCLK_RC, // THIS \
.wait_32k_ready = true, \
},
#define LR11XX_CFG_TCXO(inst) \
.tcxo_cfg = { \
.has_tcxo = true, \
.supply = LR11XX_SYSTEM_TCXO_CTRL_1_8V, // THIS \
.timeout_ms = BOARD_TCXO_WAKEUP_TIME, // THIS \
},
#define LR11XX_CONFIG(inst) \
{ \
.spi = SPI_DT_SPEC_INST_GET(inst, LR11XX_SPI_OPERATION, 0), \
.busy = GPIO_DT_SPEC_INST_GET(inst, busy_gpios), \
.reset = GPIO_DT_SPEC_INST_GET(inst, reset_gpios), \
.event = GPIO_DT_SPEC_INST_GET(inst, event_gpios), \
.reg_mode = LR11XX_SYSTEM_REG_MODE_DCDC, // THIS \
.lf_tx_path_options = DT_INST_PROP(inst, lf_tx_path), \
COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, pwr_en_gpios), (LR11XX_CFG_PWR_EN(inst)), \
()) COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, gps_lna_en_gpios), \
(LR11XX_CFG_LNA_EN(inst)), ()) LR11XX_CFG_TCXO(inst) \
LR11XX_CFG_LF_CLCK(inst) LR11XX_CFG_RF_SW(inst) \
}
See how lf-tx-path
was added in #18. All of the above can be added similarly.