Merge branch 'for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / usb / dwc3-st.txt
1 ST DWC3 glue logic
2
3 This file documents the parameters for the dwc3-st driver.
4 This driver controls the glue logic used to configure the dwc3 core on
5 STiH407 based platforms.
6
7 Required 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"
16 See: Documentation/devicetree/bindings/reset/st,sti-powerdown.txt
17 See: 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
23 See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
24
25  - pinctrl-0    : Pin control group
26 See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
27
28  - ranges       : allows valid 1:1 translation between child's address space and
29                   parent's address space
30
31 Sub-nodes:
32 The dwc3 core should be added as subnode to ST DWC3 glue as shown in the
33 example below. The DT binding details of dwc3 can be found in:
34 Documentation/devicetree/bindings/usb/dwc3.txt
35
36 NB: The dr_mode property described in [1] is NOT optional for this driver, as the default value
37 is "otg", which isn't supported by this SoC. Valid dr_mode values for dwc3-st are either "host"
38 or "device".
39
40 [1] Documentation/devicetree/bindings/usb/generic.txt
41
42 Example:
43
44 st_dwc3: dwc3@8f94000 {
45         compatible      = "st,stih407-dwc3";
46         reg             = <0x08f94000 0x1000>, <0x110 0x4>;
47         reg-names       = "reg-glue", "syscfg-reg";
48         st,syscfg       = <&syscfg_core>;
49         resets          = <&powerdown STIH407_USB3_POWERDOWN>,
50                           <&softreset STIH407_MIPHY2_SOFTRESET>;
51         reset-names     = "powerdown", "softreset";
52         #address-cells  = <1>;
53         #size-cells     = <1>;
54         pinctrl-names   = "default";
55         pinctrl-0       = <&pinctrl_usb3>;
56         ranges;
57
58         dwc3: dwc3@9900000 {
59                 compatible      = "snps,dwc3";
60                 reg             = <0x09900000 0x100000>;
61                 interrupts      = <GIC_SPI 155 IRQ_TYPE_NONE>;
62                 dr_mode         = "host";
63                 phy-names       = "usb2-phy", "usb3-phy";
64                 phys            = <&usb2_picophy2>, <&phy_port2 PHY_TYPE_USB3>;
65         };
66 };