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