0001 ST DWC3 glue logic
0002
0003 This file documents the parameters for the dwc3-st driver.
0004 This driver controls the glue logic used to configure the dwc3 core on
0005 STiH407 based platforms.
0006
0007 Required properties:
0008 - compatible : must be "st,stih407-dwc3"
0009 - reg : glue logic base address and USB syscfg ctrl register offset
0010 - reg-names : should be "reg-glue" and "syscfg-reg"
0011 - st,syscon : should be phandle to system configuration node which
0012 encompasses the glue registers
0013 - resets : list of phandle and reset specifier pairs. There should be two entries, one
0014 for the powerdown and softreset lines of the usb3 IP
0015 - reset-names : list of reset signal names. Names should be "powerdown" and "softreset"
0016 See: Documentation/devicetree/bindings/reset/st,stih407-powerdown.yaml
0017 See: Documentation/devicetree/bindings/reset/reset.txt
0018
0019 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
0020 with 'reg' property
0021
0022 - pinctl-names : A pinctrl state named "default" must be defined
0023 See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
0024
0025 - pinctrl-0 : Pin control group
0026 See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
0027
0028 - ranges : allows valid 1:1 translation between child's address space and
0029 parent's address space
0030
0031 Sub-nodes:
0032 The dwc3 core should be added as subnode to ST DWC3 glue as shown in the
0033 example below. The DT binding details of dwc3 can be found in:
0034 Documentation/devicetree/bindings/usb/snps,dwc3.yaml
0035
0036 NB: The dr_mode property described in [1] is NOT optional for this driver, as the default value
0037 is "otg", which isn't supported by this SoC. Valid dr_mode values for dwc3-st are either "host"
0038 or "device".
0039
0040 [1] Documentation/devicetree/bindings/usb/usb-drd.yaml
0041
0042 Example:
0043
0044 st_dwc3: dwc3@8f94000 {
0045 compatible = "st,stih407-dwc3";
0046 reg = <0x08f94000 0x1000>, <0x110 0x4>;
0047 reg-names = "reg-glue", "syscfg-reg";
0048 st,syscfg = <&syscfg_core>;
0049 resets = <&powerdown STIH407_USB3_POWERDOWN>,
0050 <&softreset STIH407_MIPHY2_SOFTRESET>;
0051 reset-names = "powerdown", "softreset";
0052 #address-cells = <1>;
0053 #size-cells = <1>;
0054 pinctrl-names = "default";
0055 pinctrl-0 = <&pinctrl_usb3>;
0056 ranges;
0057
0058 dwc3: dwc3@9900000 {
0059 compatible = "snps,dwc3";
0060 reg = <0x09900000 0x100000>;
0061 interrupts = <GIC_SPI 155 IRQ_TYPE_NONE>;
0062 dr_mode = "host";
0063 phy-names = "usb2-phy", "usb3-phy";
0064 phys = <&usb2_picophy2>, <&phy_port2 PHY_TYPE_USB3>;
0065 };
0066 };