1f9031449SPeter GriffinST DWC3 glue logic
2f9031449SPeter Griffin
3f9031449SPeter GriffinThis file documents the parameters for the dwc3-st driver.
4f9031449SPeter GriffinThis driver controls the glue logic used to configure the dwc3 core on
5f9031449SPeter GriffinSTiH407 based platforms.
6f9031449SPeter Griffin
7f9031449SPeter GriffinRequired properties:
8f9031449SPeter Griffin - compatible	: must be "st,stih407-dwc3"
9f9031449SPeter Griffin - reg		: glue logic base address and USB syscfg ctrl register offset
10f9031449SPeter Griffin - reg-names	: should be "reg-glue" and "syscfg-reg"
11f9031449SPeter Griffin - st,syscon	: should be phandle to system configuration node which
12f9031449SPeter Griffin		  encompasses the glue registers
13f9031449SPeter Griffin - resets	: list of phandle and reset specifier pairs. There should be two entries, one
14f9031449SPeter Griffin		  for the powerdown and softreset lines of the usb3 IP
15f9031449SPeter Griffin - reset-names	: list of reset signal names. Names should be "powerdown" and "softreset"
16*47a22a25SMauro Carvalho ChehabSee: Documentation/devicetree/bindings/reset/st,stih407-powerdown.yaml
17f9031449SPeter GriffinSee: Documentation/devicetree/bindings/reset/reset.txt
18f9031449SPeter Griffin
19f9031449SPeter Griffin - #address-cells, #size-cells : should be '1' if the device has sub-nodes
20f9031449SPeter Griffin   with 'reg' property
21f9031449SPeter Griffin
22f9031449SPeter Griffin - pinctl-names	: A pinctrl state named "default" must be defined
2307423fd8SYegor YefremovSee: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
24f9031449SPeter Griffin
25f9031449SPeter Griffin - pinctrl-0	: Pin control group
2607423fd8SYegor YefremovSee: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
27f9031449SPeter Griffin
28f9031449SPeter Griffin - ranges	: allows valid 1:1 translation between child's address space and
29f9031449SPeter Griffin		  parent's address space
30f9031449SPeter Griffin
31f9031449SPeter GriffinSub-nodes:
32f9031449SPeter GriffinThe dwc3 core should be added as subnode to ST DWC3 glue as shown in the
33f9031449SPeter Griffinexample below. The DT binding details of dwc3 can be found in:
34e793c2a3SMauro Carvalho ChehabDocumentation/devicetree/bindings/usb/snps,dwc3.yaml
35f9031449SPeter Griffin
36f9031449SPeter GriffinNB: The dr_mode property described in [1] is NOT optional for this driver, as the default value
37f9031449SPeter Griffinis "otg", which isn't supported by this SoC. Valid dr_mode values for dwc3-st are either "host"
38f9031449SPeter Griffinor "device".
39f9031449SPeter Griffin
4016bcc58eSMauro Carvalho Chehab[1] Documentation/devicetree/bindings/usb/usb-drd.yaml
41f9031449SPeter Griffin
42f9031449SPeter GriffinExample:
43f9031449SPeter Griffin
44f9031449SPeter Griffinst_dwc3: dwc3@8f94000 {
45f9031449SPeter Griffin	compatible	= "st,stih407-dwc3";
46f9031449SPeter Griffin	reg		= <0x08f94000 0x1000>, <0x110 0x4>;
47f9031449SPeter Griffin	reg-names	= "reg-glue", "syscfg-reg";
48f9031449SPeter Griffin	st,syscfg	= <&syscfg_core>;
49f9031449SPeter Griffin	resets		= <&powerdown STIH407_USB3_POWERDOWN>,
50f9031449SPeter Griffin			  <&softreset STIH407_MIPHY2_SOFTRESET>;
515665aec6SPeter Griffin	reset-names	= "powerdown", "softreset";
52f9031449SPeter Griffin	#address-cells	= <1>;
53f9031449SPeter Griffin	#size-cells	= <1>;
54f9031449SPeter Griffin	pinctrl-names	= "default";
55f9031449SPeter Griffin	pinctrl-0	= <&pinctrl_usb3>;
56f9031449SPeter Griffin	ranges;
57f9031449SPeter Griffin
58f9031449SPeter Griffin	dwc3: dwc3@9900000 {
59f9031449SPeter Griffin		compatible	= "snps,dwc3";
60f9031449SPeter Griffin		reg		= <0x09900000 0x100000>;
61f9031449SPeter Griffin		interrupts	= <GIC_SPI 155 IRQ_TYPE_NONE>;
62f9031449SPeter Griffin		dr_mode		= "host";
635665aec6SPeter Griffin		phy-names	= "usb2-phy", "usb3-phy";
645665aec6SPeter Griffin		phys		= <&usb2_picophy2>, <&phy_port2 PHY_TYPE_USB3>;
65f9031449SPeter Griffin	};
66f9031449SPeter Griffin};
67