lkml.org 
[lkml]   [2021]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 2/2] usb: dwc3: Add role switch reset quirk for Apple DWC3
On 2021-11-08 18:09:46 +0100, Sven Peter wrote:
> As mad as it sounds, the dwc3 controller present on Apple SoCs must be
> reset and reinitialized whenever a device is unplugged from the root port
> and triggers a role switch notification from the USB PD controller.
>
> This is required for at least two reasons:
>
> - The USB2 D+/D- lines are connected through a stateful eUSB2 repeater
> which in turn is controlled by a variant of the TI TPS6598x USB PD
> chip. When the USB PD controller detects a hotplug event it resets
> the eUSB2 repeater. Afterwards, no new device is recognized before
> the DWC3 core and PHY are reset as well.
>
> - It's possible to completely break the dwc3 controller by switching
> it to device mode and unplugging the cable at just the wrong time.
> Even a CORESOFTRESET is not enough to allow new devices again.
> The only workaround is to trigger a hard reset of the entire
> dwc3 core. This also happens when running macOS on these
> machines.

This patch is necessary and works on M1 Max (Macbook Pro 14" 2021).
Tested with compatible = "apple,t6000,dwc3", "apple,dwc3", "snps,dwc3";.

Feel free to add

Tested-by: Janne Grunau <j@jannau.net>

Janne

\
 
 \ /
  Last update: 2021-11-13 12:15    [W:0.297 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site