Back to home page

OSCL-LXR

 
 

    


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 };