[PATCH] usb: typec: tcpm: detect orientation in debug acc mode

Michael Grzeschik posted 1 patch 9 months, 1 week ago
There is a newer version of this series
drivers/usb/typec/tcpm/tcpm.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
[PATCH] usb: typec: tcpm: detect orientation in debug acc mode
Posted by Michael Grzeschik 9 months, 1 week ago
For the debug accessory case, the orientation can be detected by reading
the cc resistor values. The will be TYPEC_CC_RP_DEF and TYPEC_CC_RP_1_5
in sink mode and TYPEC_CC_RA TYPEC_CC_RD in src mode.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
---
 drivers/usb/typec/tcpm/tcpm.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
index 784fa23102f90..478e9c80fc8c2 100644
--- a/drivers/usb/typec/tcpm/tcpm.c
+++ b/drivers/usb/typec/tcpm/tcpm.c
@@ -611,6 +611,12 @@ static const char * const pd_rev[] = {
 #define tcpm_port_is_sink(port) \
 	(tcpm_cc_is_sink((port)->cc1) || tcpm_cc_is_sink((port)->cc2))
 
+#define tcpm_port_is_debug_pol_cc1(port) \
+	((tcpm_port_is_sink(port) && \
+	 (port->cc2 == TYPEC_CC_RP_DEF && port->cc1 == TYPEC_CC_RP_1_5)) || \
+	 (!tcpm_port_is_sink(port) && \
+	 (port->cc2 == TYPEC_CC_RA && port->cc1 == TYPEC_CC_RD)))
+
 #define tcpm_cc_is_source(cc) ((cc) == TYPEC_CC_RD)
 #define tcpm_cc_is_audio(cc) ((cc) == TYPEC_CC_RA)
 #define tcpm_cc_is_open(cc) ((cc) == TYPEC_CC_OPEN)
@@ -4569,8 +4575,11 @@ static int tcpm_acc_attach(struct tcpm_port *port)
 	if (tcpm_port_is_audio(port))
 		state = TYPEC_MODE_AUDIO;
 
-	if (tcpm_port_is_debug(port))
+	if (tcpm_port_is_debug(port)) {
+		port->polarity = tcpm_port_is_debug_pol_cc1(port) ?
+					TYPEC_POLARITY_CC1 : TYPEC_POLARITY_CC2;
 		state = TYPEC_MODE_DEBUG;
+	}
 
 	ret = tcpm_set_roles(port, true, state, role, data);
 	if (ret < 0)

---
base-commit: 588d032e9e566997db3213dee145dbe3bda297b6
change-id: 20250505-tcpm-41b4ba7ea0ec

Best regards,
-- 
Michael Grzeschik <m.grzeschik@pengutronix.de>
Re: [PATCH] usb: typec: tcpm: detect orientation in debug acc mode
Posted by Greg Kroah-Hartman 9 months, 1 week ago
On Mon, May 05, 2025 at 01:06:16PM +0200, Michael Grzeschik wrote:
> For the debug accessory case, the orientation can be detected by reading
> the cc resistor values. The will be TYPEC_CC_RP_DEF and TYPEC_CC_RP_1_5
> in sink mode and TYPEC_CC_RA TYPEC_CC_RD in src mode.
> 
> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>

What commit id does this fix?

thanks,

greg k-h
Re: [PATCH] usb: typec: tcpm: detect orientation in debug acc mode
Posted by Michael Grzeschik 9 months, 1 week ago
On Mon, May 05, 2025 at 01:21:18PM +0200, Greg Kroah-Hartman wrote:
>On Mon, May 05, 2025 at 01:06:16PM +0200, Michael Grzeschik wrote:
>> For the debug accessory case, the orientation can be detected by reading
>> the cc resistor values. The will be TYPEC_CC_RP_DEF and TYPEC_CC_RP_1_5
>> in sink mode and TYPEC_CC_RA TYPEC_CC_RD in src mode.
>>
>> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
>
>What commit id does this fix?

This applies on 64843d0ba96 .

>thanks,
>
>greg k-h

Thanks,
Michael

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
Re: [PATCH] usb: typec: tcpm: detect orientation in debug acc mode
Posted by Greg Kroah-Hartman 9 months, 1 week ago
On Mon, May 05, 2025 at 01:27:29PM +0200, Michael Grzeschik wrote:
> On Mon, May 05, 2025 at 01:21:18PM +0200, Greg Kroah-Hartman wrote:
> > On Mon, May 05, 2025 at 01:06:16PM +0200, Michael Grzeschik wrote:
> > > For the debug accessory case, the orientation can be detected by reading
> > > the cc resistor values. The will be TYPEC_CC_RP_DEF and TYPEC_CC_RP_1_5
> > > in sink mode and TYPEC_CC_RA TYPEC_CC_RD in src mode.
> > > 
> > > Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
> > 
> > What commit id does this fix?
> 
> This applies on 64843d0ba96 .

Great, can you resend with the proper Fixes: tag added?

thanks,

greg k-h