arm64: dts: exynos: gs101-oriole: enable USB on this board
authorAndré Draszik <andre.draszik@linaro.org>
Mon, 29 Apr 2024 10:35:50 +0000 (11:35 +0100)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Mon, 29 Apr 2024 17:26:01 +0000 (19:26 +0200)
Pixel 6 (Oriole) has a USB-C connector that can act as host or device.

The USB role is detected dynamically using a MAX77759 TCPCI controller,
but since there is no driver for the MAX77759, the role is defaulted to
peripheral, without any endpoints / ports.

This allows Oriole to be configured as a gadget, e.g. using configfs.

As PMIC regulators are not implemented yet, we rely on USB LDOs being
enabled by the bootloader. A placeholder regulator is used for now.

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20240429-usb-dts-gs101-v2-2-7c1797c9db80@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts

index 6be15e990b6515bc9ab5a9cb656e520a6d790fc0..03b2a6fdfdc4559251636f7e610085f9d5c3f37d 100644 (file)
                        wakeup-source;
                };
        };
+
+       /* TODO: Remove this once PMIC is implemented  */
+       reg_placeholder: regulator-0 {
+               compatible = "regulator-fixed";
+               regulator-name = "placeholder_reg";
+       };
 };
 
 &ext_24_5m {
        status = "okay";
 };
 
+&usbdrd31 {
+       status = "okay";
+       vdd10-supply = <&reg_placeholder>;
+       vdd33-supply = <&reg_placeholder>;
+};
+
+&usbdrd31_dwc3 {
+       dr_mode = "otg";
+       usb-role-switch;
+       role-switch-default-mode = "peripheral";
+       maximum-speed = "super-speed-plus";
+       status = "okay";
+};
+
+&usbdrd31_phy {
+       status = "okay";
+};
+
 &usi_uart {
        samsung,clkreq-on; /* needed for UART mode */
        status = "okay";