Message ID | 20230906080619.36930-4-biju.das.jz@bp.renesas.com |
---|---|
State | New |
Headers | show |
Series | Match data improvements for rt1711h driver | expand |
On Wed, Sep 06, 2023 at 09:06:17AM +0100, Biju Das wrote: > 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@bp.renesas.com> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > 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
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, };