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