1*c66ec88fSEmmanuel VadotRockchip SuperSpeed DWC3 USB SoC controller 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot- compatible: should contain "rockchip,rk3399-dwc3" for rk3399 SoC 5*c66ec88fSEmmanuel Vadot- clocks: A list of phandle + clock-specifier pairs for the 6*c66ec88fSEmmanuel Vadot clocks listed in clock-names 7*c66ec88fSEmmanuel Vadot- clock-names: Should contain the following: 8*c66ec88fSEmmanuel Vadot "ref_clk" Controller reference clk, have to be 24 MHz 9*c66ec88fSEmmanuel Vadot "suspend_clk" Controller suspend clk, have to be 24 MHz or 32 KHz 10*c66ec88fSEmmanuel Vadot "bus_clk" Master/Core clock, have to be >= 62.5 MHz for SS 11*c66ec88fSEmmanuel Vadot operation and >= 30MHz for HS operation 12*c66ec88fSEmmanuel Vadot "grf_clk" Controller grf clk 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel VadotRequired child node: 15*c66ec88fSEmmanuel VadotA child node must exist to represent the core DWC3 IP block. The name of 16*c66ec88fSEmmanuel Vadotthe node is not important. The content of the node is defined in dwc3.txt. 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel VadotPhy documentation is provided in the following places: 19*c66ec88fSEmmanuel VadotDocumentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml - USB2.0 PHY 20*c66ec88fSEmmanuel VadotDocumentation/devicetree/bindings/phy/phy-rockchip-typec.txt - Type-C PHY 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotExample device nodes: 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot usbdrd3_0: usb@fe800000 { 25*c66ec88fSEmmanuel Vadot compatible = "rockchip,rk3399-dwc3"; 26*c66ec88fSEmmanuel Vadot clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>, 27*c66ec88fSEmmanuel Vadot <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_GRF>; 28*c66ec88fSEmmanuel Vadot clock-names = "ref_clk", "suspend_clk", 29*c66ec88fSEmmanuel Vadot "bus_clk", "grf_clk"; 30*c66ec88fSEmmanuel Vadot #address-cells = <2>; 31*c66ec88fSEmmanuel Vadot #size-cells = <2>; 32*c66ec88fSEmmanuel Vadot ranges; 33*c66ec88fSEmmanuel Vadot usbdrd_dwc3_0: dwc3@fe800000 { 34*c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 35*c66ec88fSEmmanuel Vadot reg = <0x0 0xfe800000 0x0 0x100000>; 36*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 37*c66ec88fSEmmanuel Vadot dr_mode = "otg"; 38*c66ec88fSEmmanuel Vadot }; 39*c66ec88fSEmmanuel Vadot }; 40*c66ec88fSEmmanuel Vadot 41*c66ec88fSEmmanuel Vadot usbdrd3_1: usb@fe900000 { 42*c66ec88fSEmmanuel Vadot compatible = "rockchip,rk3399-dwc3"; 43*c66ec88fSEmmanuel Vadot clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>, 44*c66ec88fSEmmanuel Vadot <&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_GRF>; 45*c66ec88fSEmmanuel Vadot clock-names = "ref_clk", "suspend_clk", 46*c66ec88fSEmmanuel Vadot "bus_clk", "grf_clk"; 47*c66ec88fSEmmanuel Vadot #address-cells = <2>; 48*c66ec88fSEmmanuel Vadot #size-cells = <2>; 49*c66ec88fSEmmanuel Vadot ranges; 50*c66ec88fSEmmanuel Vadot usbdrd_dwc3_1: dwc3@fe900000 { 51*c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 52*c66ec88fSEmmanuel Vadot reg = <0x0 0xfe900000 0x0 0x100000>; 53*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 54*c66ec88fSEmmanuel Vadot dr_mode = "otg"; 55*c66ec88fSEmmanuel Vadot }; 56*c66ec88fSEmmanuel Vadot }; 57