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