18c2ecf20Sopenharmony_ciRockchip SuperSpeed DWC3 USB SoC controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible:	should contain "rockchip,rk3399-dwc3" for rk3399 SoC
58c2ecf20Sopenharmony_ci- clocks:	A list of phandle + clock-specifier pairs for the
68c2ecf20Sopenharmony_ci		clocks listed in clock-names
78c2ecf20Sopenharmony_ci- clock-names:	Should contain the following:
88c2ecf20Sopenharmony_ci  "ref_clk"	Controller reference clk, have to be 24 MHz
98c2ecf20Sopenharmony_ci  "suspend_clk"	Controller suspend clk, have to be 24 MHz or 32 KHz
108c2ecf20Sopenharmony_ci  "bus_clk"	Master/Core clock, have to be >= 62.5 MHz for SS
118c2ecf20Sopenharmony_ci		operation and >= 30MHz for HS operation
128c2ecf20Sopenharmony_ci  "grf_clk"	Controller grf clk
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciRequired child node:
158c2ecf20Sopenharmony_ciA child node must exist to represent the core DWC3 IP block. The name of
168c2ecf20Sopenharmony_cithe node is not important. The content of the node is defined in dwc3.txt.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciPhy documentation is provided in the following places:
198c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml - USB2.0 PHY
208c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/phy/phy-rockchip-typec.txt     - Type-C PHY
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciExample device nodes:
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	usbdrd3_0: usb@fe800000 {
258c2ecf20Sopenharmony_ci		compatible = "rockchip,rk3399-dwc3";
268c2ecf20Sopenharmony_ci		clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>,
278c2ecf20Sopenharmony_ci			 <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_GRF>;
288c2ecf20Sopenharmony_ci		clock-names = "ref_clk", "suspend_clk",
298c2ecf20Sopenharmony_ci			      "bus_clk", "grf_clk";
308c2ecf20Sopenharmony_ci		#address-cells = <2>;
318c2ecf20Sopenharmony_ci		#size-cells = <2>;
328c2ecf20Sopenharmony_ci		ranges;
338c2ecf20Sopenharmony_ci		usbdrd_dwc3_0: dwc3@fe800000 {
348c2ecf20Sopenharmony_ci			compatible = "snps,dwc3";
358c2ecf20Sopenharmony_ci			reg = <0x0 0xfe800000 0x0 0x100000>;
368c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
378c2ecf20Sopenharmony_ci			dr_mode = "otg";
388c2ecf20Sopenharmony_ci		};
398c2ecf20Sopenharmony_ci	};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	usbdrd3_1: usb@fe900000 {
428c2ecf20Sopenharmony_ci		compatible = "rockchip,rk3399-dwc3";
438c2ecf20Sopenharmony_ci		clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>,
448c2ecf20Sopenharmony_ci			 <&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_GRF>;
458c2ecf20Sopenharmony_ci		clock-names = "ref_clk", "suspend_clk",
468c2ecf20Sopenharmony_ci			      "bus_clk", "grf_clk";
478c2ecf20Sopenharmony_ci		#address-cells = <2>;
488c2ecf20Sopenharmony_ci		#size-cells = <2>;
498c2ecf20Sopenharmony_ci		ranges;
508c2ecf20Sopenharmony_ci		usbdrd_dwc3_1: dwc3@fe900000 {
518c2ecf20Sopenharmony_ci			compatible = "snps,dwc3";
528c2ecf20Sopenharmony_ci			reg = <0x0 0xfe900000 0x0 0x100000>;
538c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
548c2ecf20Sopenharmony_ci			dr_mode = "otg";
558c2ecf20Sopenharmony_ci		};
568c2ecf20Sopenharmony_ci	};
57