[PATCH v3 3/5] usb: typec: tcpci_rt1711h: Add rxdz_sel variable to struct rt1711h_chip_info

From: Biju Das
Date: Wed Sep 06 2023 - 04:06:41 EST


The RT1715 needs 0.35V/0.75V rx threshold for rd/rp whereas it is 0.4V/0.7V
for RT1711H. Add rxdz_sel variable to struct rt1711h_chip_info for
handling this difference.

Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
v2->v3:
* Added Rb tag from Andy.
v1->v2:
* Swapped the rxdz_sel variable in struct rt1711h_chip_info to avoid
holes.
---
drivers/usb/typec/tcpm/tcpci_rt1711h.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
index 2b7258d3cb4e..40822bae9ae8 100644
--- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
+++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
@@ -52,6 +52,7 @@
#define BMCIO_RXDZEN BIT(0)

struct rt1711h_chip_info {
+ u32 rxdz_sel;
u16 did;
};

@@ -204,10 +205,7 @@ static inline int rt1711h_init_cc_params(struct rt1711h_chip *chip, u8 status)
if ((cc1 >= TYPEC_CC_RP_1_5 && cc2 < TYPEC_CC_RP_DEF) ||
(cc2 >= TYPEC_CC_RP_1_5 && cc1 < TYPEC_CC_RP_DEF)) {
rxdz_en = BMCIO_RXDZEN;
- if (chip->info->did == RT1715_DID)
- rxdz_sel = RT1711H_BMCIO_RXDZSEL;
- else
- rxdz_sel = 0;
+ rxdz_sel = chip->info->rxdz_sel;
} else {
rxdz_en = 0;
rxdz_sel = RT1711H_BMCIO_RXDZSEL;
@@ -400,6 +398,7 @@ static const struct rt1711h_chip_info rt1711h = {
};

static const struct rt1711h_chip_info rt1715 = {
+ .rxdz_sel = RT1711H_BMCIO_RXDZSEL,
.did = RT1715_DID,
};

--
2.25.1