ARM: dts: samsung: exynos4412-midas: add USB connector and USB OTG
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sun, 23 Jul 2023 14:24:17 +0000 (16:24 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Wed, 26 Jul 2023 08:51:41 +0000 (10:51 +0200)
Add full description of USB-MUIC (MAX77693 MUIC) and MUIC-MHL
connections, along with proper USB connector and OTG mode for DWC2 USB
controller.

This fixes dtc W=1 warnings:

  Warning (graph_child_address): /i2c-mhl/hdmi-bridge@39/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary

Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: replicant@osuosl.org
Cc: phone-devel@vger.kernel.org
Cc: ~postmarketos/upstreaming@lists.sr.ht
Cc: Martin Jücker <martin.juecker@gmail.com>
Cc: Henrik Grimler <henrik@grimler.se>
Cc: Artur Weber <aweber.kernel@gmail.com>
Tested-by: Henrik Grimler <henrik@grimler.se>
Link: https://lore.kernel.org/r/20230723142417.97734-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm/boot/dts/samsung/exynos4412-midas.dtsi

index 57836d5554d00cb6c50ed7ca9e17c9ec5c8a44de..7daf25865551bcb7c960ddc3e58766f9cb289e3a 100644 (file)
                        pinctrl-0 = <&max77693_irq>;
                        reg = <0x66>;
 
+                       muic {
+                               compatible = "maxim,max77693-muic";
+
+                               connector {
+                                       compatible = "samsung,usb-connector-11pin",
+                                                    "usb-b-connector";
+                                       label = "micro-USB";
+                                       type = "micro";
+
+                                       ports {
+                                               #address-cells = <1>;
+                                               #size-cells = <0>;
+
+                                               port@0 {
+                                                       reg = <0>;
+
+                                                       muic_to_usb: endpoint {
+                                                               remote-endpoint = <&usb_to_muic>;
+                                                       };
+                                               };
+
+                                               port@3 {
+                                                       reg = <3>;
+
+                                                       muic_to_mhl: endpoint {
+                                                               remote-endpoint = <&mhl_to_muic>;
+                                                       };
+                                               };
+                                       };
+                               };
+                       };
+
                        regulators {
                                esafeout1_reg: ESAFEOUT1 {
                                        regulator-name = "ESAFEOUT1";
                                                remote-endpoint = <&hdmi_to_mhl>;
                                        };
                                };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       mhl_to_muic: endpoint {
+                                               remote-endpoint = <&muic_to_mhl>;
+                                       };
+                               };
                        };
                };
        };
 &hsotg {
        vusb_d-supply = <&ldo15_reg>;
        vusb_a-supply = <&ldo12_reg>;
-       dr_mode = "peripheral";
+       dr_mode = "otg";
+       role-switch-default-mode = "peripheral";
+       usb-role-switch;
        status = "okay";
+
+       port {
+               usb_to_muic: endpoint {
+                       remote-endpoint = <&muic_to_usb>;
+               };
+       };
 };
 
 &i2c_0 {