arm64: dts: uniphier: Add USB-device support for PXs3 reference board
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Tue, 13 Sep 2022 04:23:18 +0000 (13:23 +0900)
committerArnd Bergmann <arnd@arndb.de>
Wed, 28 Sep 2022 20:41:47 +0000 (22:41 +0200)
PXs3 reference board can change each USB port 0 and 1 to device mode
with jumpers. Prepare devicetree sources for USB port 0 and 1.

This specifies dr_mode, pinctrl, and some quirks and removes nodes for
unused phys and vbus-supply properties.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/20220913042321.4817-8-hayashi.kunihiko@socionext.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/boot/dts/uniphier-pinctrl.dtsi
arch/arm64/boot/dts/socionext/Makefile
arch/arm64/boot/dts/socionext/uniphier-pxs3-ref-gadget0.dts [new file with mode: 0644]
arch/arm64/boot/dts/socionext/uniphier-pxs3-ref-gadget1.dts [new file with mode: 0644]

index c0fd029..f909ec2 100644 (file)
                function = "usb0";
        };
 
+       pinctrl_usb0_device: usb0-device {
+               groups = "usb0_device";
+               function = "usb0";
+       };
+
        pinctrl_usb1: usb1 {
                groups = "usb1";
                function = "usb1";
        };
 
+       pinctrl_usb1_device: usb1-device {
+               groups = "usb1_device";
+               function = "usb1";
+       };
+
        pinctrl_usb2: usb2 {
                groups = "usb2";
                function = "usb2";
index dda3da3..33989a9 100644 (file)
@@ -5,4 +5,6 @@ dtb-$(CONFIG_ARCH_UNIPHIER) += \
        uniphier-ld20-akebi96.dtb \
        uniphier-ld20-global.dtb \
        uniphier-ld20-ref.dtb \
-       uniphier-pxs3-ref.dtb
+       uniphier-pxs3-ref.dtb \
+       uniphier-pxs3-ref-gadget0.dtb \
+       uniphier-pxs3-ref-gadget1.dtb
diff --git a/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref-gadget0.dts b/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref-gadget0.dts
new file mode 100644 (file)
index 0000000..7069f51
--- /dev/null
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+//
+// Device Tree Source for UniPhier PXs3 Reference Board (for USB-Device #0)
+//
+// Copyright (C) 2021 Socionext Inc.
+//   Author: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
+
+/dts-v1/;
+#include "uniphier-pxs3-ref.dts"
+
+/ {
+       model = "UniPhier PXs3 Reference Board (USB-Device #0)";
+};
+
+/* I2C3 pinctrl is shared with USB*VBUSIN */
+&i2c3 {
+       status = "disabled";
+};
+
+&usb0 {
+       status = "okay";
+       dr_mode = "peripheral";
+       pinctrl-0 = <&pinctrl_usb0_device>;
+       snps,dis_enblslpm_quirk;
+       snps,dis_u2_susphy_quirk;
+       snps,dis_u3_susphy_quirk;
+       snps,usb2_gadget_lpm_disable;
+       phy-names = "usb2-phy", "usb3-phy";
+       phys = <&usb0_hsphy0>, <&usb0_ssphy0>;
+};
+
+&usb0_hsphy0 {
+       /delete-property/ vbus-supply;
+};
+
+&usb0_ssphy0 {
+       /delete-property/ vbus-supply;
+};
+
+/delete-node/ &usb0_hsphy1;
+/delete-node/ &usb0_ssphy1;
diff --git a/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref-gadget1.dts b/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref-gadget1.dts
new file mode 100644 (file)
index 0000000..a3cfa81
--- /dev/null
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+//
+// Device Tree Source for UniPhier PXs3 Reference Board (for USB-Device #1)
+//
+// Copyright (C) 2021 Socionext Inc.
+//   Author: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
+
+/dts-v1/;
+#include "uniphier-pxs3-ref.dts"
+
+/ {
+       model = "UniPhier PXs3 Reference Board (USB-Device #1)";
+};
+
+/* I2C3 pinctrl is shared with USB*VBUSIN */
+&i2c3 {
+       status = "disabled";
+};
+
+&usb1 {
+       status = "okay";
+       dr_mode = "peripheral";
+       pinctrl-0 = <&pinctrl_usb1_device>;
+       snps,dis_enblslpm_quirk;
+       snps,dis_u2_susphy_quirk;
+       snps,dis_u3_susphy_quirk;
+       snps,usb2_gadget_lpm_disable;
+       phy-names = "usb2-phy", "usb3-phy";
+       phys = <&usb1_hsphy0>, <&usb1_ssphy0>;
+};
+
+&usb1_hsphy0 {
+       /delete-property/ vbus-supply;
+};
+
+&usb1_ssphy0 {
+       /delete-property/ vbus-supply;
+};
+
+/delete-node/ &usb1_hsphy1;