summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Viel <clement.viel@qorvo.com>2022-09-19 16:45:09 +0200
committerTreeHugger Robot <treehugger-gerrit@google.com>2022-11-15 00:20:51 +0000
commite30671c7faaeb321463aa8d39ae1f04794ab6855 (patch)
tree2a7ce4965fd249c7a2785af810e79f5ed4e21a51
parent23e915e942445572a89ac1df6ce263d069fb3ad7 (diff)
downloaduwb-e30671c7faaeb321463aa8d39ae1f04794ab6855.tar.gz
Bug: 239984586 Change-Id: Ic1affd071cf7a8d998b08c63308e112be6cefa7e Signed-off-by: Clément Viel <clement.viel@qorvo.com>
-rw-r--r--kernel/drivers/net/ieee802154/dw3000_core.c12
-rw-r--r--kernel/drivers/net/ieee802154/dw3000_core_reg.h5
2 files changed, 15 insertions, 2 deletions
diff --git a/kernel/drivers/net/ieee802154/dw3000_core.c b/kernel/drivers/net/ieee802154/dw3000_core.c
index c4c8622..0419221 100644
--- a/kernel/drivers/net/ieee802154/dw3000_core.c
+++ b/kernel/drivers/net/ieee802154/dw3000_core.c
@@ -187,8 +187,8 @@ const struct dw3000_chip_version dw3000_chip_versions[] = {
#define DW3000_TXRXSWITCH_TX 0x01011100
#define DW3000_TXRXSWITCH_AUTO 0x1C000000
-#define DW3000_RF_TXCTRL_CH5 0x1C071134UL
-#define DW3000_RF_TXCTRL_CH9 0x1C010034UL
+#define DW3000_RF_TXCTRL_CH5 0x1C081134UL
+#define DW3000_RF_TXCTRL_CH9 0x1C020034UL
#define DW3000_RF_TXCTRL_LO_B2 0x0E
#define DW3000_RF_PLL_CFG_CH5 0x1F3C
#define DW3000_RF_PLL_CFG_CH9 0x0F3C
@@ -300,6 +300,9 @@ enum ciadiag_dbl_options {
/* LDO VOUT value */
#define DW3000_RF_LDO_VOUT 0x0D7FFFFFUL
+/* PLL common value */
+#define DW3000_RF_PLL_COMMON 0xE104
+
struct dw3000_ciadiag_reg_info {
u32 diag1;
u32 diag12;
@@ -4275,6 +4278,11 @@ static inline int dw3000_configure_rf(struct dw3000 *dw)
rc = dw3000_reg_write16(dw, DW3000_PLL_CFG_ID, 0, rf_pll_cfg);
if (rc)
return rc;
+
+ rc = dw3000_reg_write16(dw, DW3000_PLL_COMMON_ID, 0, DW3000_RF_PLL_COMMON);
+ if (rc)
+ return rc;
+
rc = dw3000_reg_write8(dw, DW3000_LDO_RLOAD_ID, 1,
DW3000_LDO_RLOAD_VAL_B1);
if (rc)
diff --git a/kernel/drivers/net/ieee802154/dw3000_core_reg.h b/kernel/drivers/net/ieee802154/dw3000_core_reg.h
index d235053..8847bf8 100644
--- a/kernel/drivers/net/ieee802154/dw3000_core_reg.h
+++ b/kernel/drivers/net/ieee802154/dw3000_core_reg.h
@@ -1406,6 +1406,11 @@
/* register PLL_CFG */
#define DW3000_PLL_CFG_ID 0x90000
+/* register PLL_COMMON */
+#define DW3000_PLL_COMMON_ID 0x90010
+#define DW3000_PLL_COMMON_LEN (2U)
+#define DW3000_PLL_COMMON_MASK 0x0000FFFFUL
+
/* register XTAL */
#define DW3000_XTAL_ID 0x90014
#define DW3000_XTAL_TRIM_BIT_OFFSET (0U)