Re: [PATCH 8/8] arm64: dts: exynos: Enable USB support on E850-96 board
From: Krzysztof Kozlowski
Date: Sat Aug 19 2023 - 04:36:26 EST
On 19/08/2023 05:17, Sam Protsenko wrote:
> The E850-96 board has a micro-USB socket and two USB 2.0 host sockets.
> The USB role (host or peripheral) is selected automatically depending on
> micro-USB cable attachment state:
> - micro-USB cable is attached: USB device role
> - micro-USB cable is detached: USB host role
>
> USB can't act simultaneously as a device and a host, because Exynos850
> SoC has only one USB controller and there are no external USB
> controllers on the E850-96 board. So the USB switch chip (specifically
> TS3USB221A) connects SoC USB lines either to micro-USB connector or to
> USB hub chip (LAN9514), w.r.t. micro-USB cable attachment state.
>
> When USB works in the host role, Ethernet capability becomes available
> too, as LAN9514 chip (providing USB hub) also enables Ethernet PHY and
> Ethernet MAC.
>
> Dynamic role switching is done in gpio-usb-b-connector, using current
> micro-USB VBUS line level as a trigger:
> - VBUS=high: SoC USB lines are wired to micro-USB socket
> - VBUS=low: SoC USB lines are wired to USB hub chip
>
> In order to make USB host functional when the board is booted with
> micro-USB cable disconnected, role-switch-default-mode = "host" is used.
>
> One can look at E850-96 board schematics [1] to figure out how exactly
> all related USB hardware connections and lines reflect into
> corresponding device tree definitions.
>
> As PMIC regulators are not implemented yet, we rely on USB LDOs being
> already enabled in the bootloader, and a dummy regulator is provided to
> "usbdrd" vdd nodes for now.
>
> [1] https://www.96boards.org/documentation/consumer/e850-96b/hardware-docs/
>
> Signed-off-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx>
> ---
> .../boot/dts/exynos/exynos850-e850-96.dts | 58 +++++++++++++++++++
> 1 file changed, 58 insertions(+)
>
This looks good. Please split the DTS patches from the patchset, so they
won't be applied by Greg. Anyway, I finished pulling for this cycle, so
this will have to wait till v6.6-rc1.
Best regards,
Krzysztof