blob: 01c71b1258f4b66a25dc636b0ad3169fb392886a [file] [log] [blame]
Peter Griffinf9031442014-09-05 16:36:31 +01001ST DWC3 glue logic
2
3This file documents the parameters for the dwc3-st driver.
4This driver controls the glue logic used to configure the dwc3 core on
5STiH407 based platforms.
6
7Required properties:
8 - compatible : must be "st,stih407-dwc3"
9 - reg : glue logic base address and USB syscfg ctrl register offset
10 - reg-names : should be "reg-glue" and "syscfg-reg"
11 - st,syscon : should be phandle to system configuration node which
12 encompasses the glue registers
13 - resets : list of phandle and reset specifier pairs. There should be two entries, one
14 for the powerdown and softreset lines of the usb3 IP
15 - reset-names : list of reset signal names. Names should be "powerdown" and "softreset"
16See: Documentation/devicetree/bindings/reset/st,sti-powerdown.txt
17See: Documentation/devicetree/bindings/reset/reset.txt
18
19 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
20 with 'reg' property
21
22 - pinctl-names : A pinctrl state named "default" must be defined
23See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
24
25 - pinctrl-0 : Pin control group
26See: Documentation/devicetree/bindings/pinctrl/pinctrl-binding.txt
27
28 - ranges : allows valid 1:1 translation between child's address space and
29 parent's address space
30
31Sub-nodes:
32The dwc3 core should be added as subnode to ST DWC3 glue as shown in the
33example below. The DT binding details of dwc3 can be found in:
34Documentation/devicetree/bindings/usb/dwc3.txt
35
36NB: The dr_mode property described in [1] is NOT optional for this driver, as the default value
37is "otg", which isn't supported by this SoC. Valid dr_mode values for dwc3-st are either "host"
38or "device".
39
40[1] Documentation/devicetree/bindings/usb/generic.txt
41
42Example:
43
44st_dwc3: dwc3@8f94000 {
45 status = "disabled";
46 compatible = "st,stih407-dwc3";
47 reg = <0x08f94000 0x1000>, <0x110 0x4>;
48 reg-names = "reg-glue", "syscfg-reg";
49 st,syscfg = <&syscfg_core>;
50 resets = <&powerdown STIH407_USB3_POWERDOWN>,
51 <&softreset STIH407_MIPHY2_SOFTRESET>;
Peter Griffin5665aec2015-05-07 19:16:53 +010052 reset-names = "powerdown", "softreset";
Peter Griffinf9031442014-09-05 16:36:31 +010053 #address-cells = <1>;
54 #size-cells = <1>;
55 pinctrl-names = "default";
56 pinctrl-0 = <&pinctrl_usb3>;
57 ranges;
58
59 dwc3: dwc3@9900000 {
60 compatible = "snps,dwc3";
61 reg = <0x09900000 0x100000>;
62 interrupts = <GIC_SPI 155 IRQ_TYPE_NONE>;
63 dr_mode = "host";
Peter Griffin5665aec2015-05-07 19:16:53 +010064 phy-names = "usb2-phy", "usb3-phy";
65 phys = <&usb2_picophy2>, <&phy_port2 PHY_TYPE_USB3>;
Peter Griffinf9031442014-09-05 16:36:31 +010066 };
67};