Skip to contentSkip to conversation

dt-bindings: usb: add DT binding for RK3328 dwc3 controller

PATCH New Heiko Stuebner 2 participants 8 messages Dec 4, 2017 – Dec 27, 2017

Subsystems (3)
lore
Share & tools
lore

Heiko Stuebner

author maintainer
#0 lore raw

PATCH v2 1/4 dt-bindings: usb: add DT binding for RK3328 dwc3 controller

From: William Wu <[email protected]>

Adds the device tree bindings description for RK3328 and compatible USB DWC3 controller.

---
changes in v2:
- add Rob's Ack

Ideally usb maintainers would pick up this patch to the binding document and I'll take the devicetree changes after that.

But if so desired, I can also pick up the binding change myself but would need an Ack for that.

 Documentation/devicetree/bindings/usb/rockchip,dwc3.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/usb/rockchip,dwc3.txt +3 -1
index 50a31536e975..2c3f6a467fda 100644
@@ -1,7 +1,9 @@
 Rockchip SuperSpeed DWC3 USB SoC controller
 
 Required properties:
-- compatible:	should contain "rockchip,rk3399-dwc3" for rk3399 SoC
+- compatible:	should be one of the following:
+  - "rockchip,rk3399-dwc3": for rk3399 SoC
+  - "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3": for rk3328 SoC
 - clocks:	A list of phandle + clock-specifier pairs for the
 		clocks listed in clock-names
 - clock-names:	Should contain the following:
Signature · 1 line
2.14.2
author maintainer
#1 lore raw

PATCH v2 1/4 dt-bindings: usb: add DT binding for RK3328 dwc3 controller

Am Montag, 4. Dezember 2017, 10:40:38 CET schrieb Heiko Stuebner:

Quoted 12 lines

From: William Wu <[email protected]>

Adds the device tree bindings description for RK3328 and compatible USB DWC3 controller.

---
changes in v2:
- add Rob's Ack

Quoted 5 lines

Ideally usb maintainers would pick up this patch to the binding document and I'll take the devicetree changes after that.

But if so desired, I can also pick up the binding change myself but would need an Ack for that.

just realized, the last version from august was actually v3, so this should be v4, not v2 ... sorry about that.

Heiko

author maintainer
#2 lore raw

PATCH v2 1/4 dt-bindings: usb: add DT binding for RK3328 dwc3 controller

In reply to Heiko Stuebner

Hi Greg, Felipe,

Am Montag, 4. Dezember 2017, 10:40:38 CET schrieb Heiko Stuebner:

Quoted 8 lines

From: William Wu <[email protected]>

Adds the device tree bindings description for RK3328 and compatible USB DWC3 controller.

do you want to pick this patch with only the small dt-binding change or Ack it for me to pick up together with the actual devicetree changes in the other patches?

Thanks
Heiko

Quoted 29 lines

---
changes in v2:
- add Rob's Ack

Ideally usb maintainers would pick up this patch to the binding document and I'll take the devicetree changes after that.

But if so desired, I can also pick up the binding change myself but would need an Ack for that.

 Documentation/devicetree/bindings/usb/rockchip,dwc3.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/usb/rockchip,dwc3.txt +3 -1
index 50a31536e975..2c3f6a467fda 100644
@@ -1,7 +1,9 @@
 Rockchip SuperSpeed DWC3 USB SoC controller
 
 Required properties:
-- compatible:	should contain "rockchip,rk3399-dwc3" for rk3399 SoC
+- compatible:	should be one of the following:
+  - "rockchip,rk3399-dwc3": for rk3399 SoC
+  - "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3": for rk3328 SoC
 - clocks:	A list of phandle + clock-specifier pairs for the
 		clocks listed in clock-names
 - clock-names:	Should contain the following:
#3 lore raw

PATCH v2 1/4 dt-bindings: usb: add DT binding for RK3328 dwc3 controller

Hi,

Quoted 8 lines · Heiko Stuebner

Hi Greg, Felipe,

Am Montag, 4. Dezember 2017, 10:40:38 CET schrieb Heiko Stuebner:

Quoted 5 lines

From: William Wu <[email protected]>

Adds the device tree bindings description for RK3328 and compatible USB DWC3 controller.

Quoted 7 lines
Quoted 3 lines

do you want to pick this patch with only the small dt-binding change or Ack it for me to pick up together with the actual devicetree changes in the other patches?

it seems best if you carry this one:

Signature · 1 line
balbi
author maintainer
#4 lore raw

PATCH v2 1/4 dt-bindings: usb: add DT binding for RK3328 dwc3 controller

In reply to Heiko Stuebner

Am Montag, 4. Dezember 2017, 10:40:38 CET schrieb Heiko Stuebner:

Quoted 8 lines

From: William Wu <[email protected]>

Adds the device tree bindings description for RK3328 and compatible USB DWC3 controller.

applied all 4 with Felipe's Ack on patch1

author maintainer
#5 lore raw

PATCH v2 2/4 arm64: dts: rockchip: add usb3 controller node for RK3328 SoCs

In reply to Heiko Stuebner

From: William Wu <[email protected]>

RK3328 has one USB 3.0 OTG controller which uses DWC_USB3 core's general architecture. It can act as static xHCI host controller, static device controller, USB 3.0/2.0 OTG basing on ID of USB3.0 PHY.

---
changes in v2:
none

 arch/arm64/boot/dts/rockchip/rk3328.dtsi | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
arch/arm64/boot/dts/rockchip/rk3328.dtsi +27 -0
index 41d61840fb99..cafc572a68e0 100644
@@ -805,6 +805,33 @@
 		status = "disabled";
 	};
 
+	usbdrd3: usb at ff600000 {
+		compatible = "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3";
+		clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>,
+			 <&cru ACLK_USB3OTG>;
+		clock-names = "ref_clk", "suspend_clk",
+			      "bus_clk";
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+		status = "disabled";
+
+		usbdrd_dwc3: dwc3 at ff600000 {
+			compatible = "snps,dwc3";
+			reg = <0x0 0xff600000 0x0 0x100000>;
+			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
+			dr_mode = "otg";
+			phy_type = "utmi_wide";
+			snps,dis_enblslpm_quirk;
+			snps,dis-u2-freeclk-exists-quirk;
+			snps,dis_u2_susphy_quirk;
+			snps,dis_u3_susphy_quirk;
+			snps,dis-del-phy-power-chg-quirk;
+			snps,dis-tx-ipgap-linecheck-quirk;
+			status = "disabled";
+		};
+	};
+
 	gic: interrupt-controller at ff811000 {
 		compatible = "arm,gic-400";
 		#interrupt-cells = <3>;
Signature · 1 line
2.14.2
author maintainer
#6 lore raw

PATCH v2 3/4 arm64: dts: rockchip: enable usb3 for RK3328 evaluation board

In reply to Heiko Stuebner

From: William Wu <[email protected]>

Rockchip's RK3328 evaluation board has one USB 3.0 OTG controller, we enable it and set it act as static xHCI host controller to support USB 3.0 HOST on RK3328 evaluation board.

---
changes in v2:
none

 arch/arm64/boot/dts/rockchip/rk3328-evb.dts | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm64/boot/dts/rockchip/rk3328-evb.dts +9 -0
index 3d551e3e6c23..95fba84239a7 100644
@@ -306,3 +306,12 @@
 &usb_host0_ohci {
 	status = "okay";
 };
+
+&usbdrd3 {
+	status = "okay";
+};
+
+&usbdrd_dwc3 {
+	dr_mode = "host";
+	status = "okay";
+};
Signature · 1 line
2.14.2
author maintainer
#7 lore raw

PATCH v2 4/4 arm64: dts: rockchip: enable usb3 nodes on rk3328-rock64

In reply to Heiko Stuebner

Enable the nodes to make the usb3 port usable on that board.

---
changes in v2:
- new patch

 arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +9 -0
index d4f80786e7c2..e393c3586c11 100644
@@ -331,3 +331,12 @@
 &usb_host0_ohci {
 	status = "okay";
 };
+
+&usbdrd3 {
+	status = "okay";
+};
+
+&usbdrd_dwc3 {
+	dr_mode = "host";
+	status = "okay";
+};
Signature · 1 line
2.14.2