Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/usb/dwc2.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: DesignWare HS OTG USB 2.0 controller Bindings
0008 
0009 maintainers:
0010   - Rob Herring <robh@kernel.org>
0011 
0012 allOf:
0013   - $ref: usb-drd.yaml#
0014   - $ref: usb-hcd.yaml#
0015 
0016 properties:
0017   compatible:
0018     oneOf:
0019       - const: brcm,bcm2835-usb
0020       - const: hisilicon,hi6220-usb
0021       - const: ingenic,jz4775-otg
0022       - const: ingenic,jz4780-otg
0023       - const: ingenic,x1000-otg
0024       - const: ingenic,x1600-otg
0025       - const: ingenic,x1700-otg
0026       - const: ingenic,x1830-otg
0027       - const: ingenic,x2000-otg
0028       - items:
0029           - const: rockchip,rk3066-usb
0030           - const: snps,dwc2
0031       - items:
0032           - enum:
0033               - rockchip,px30-usb
0034               - rockchip,rk3036-usb
0035               - rockchip,rk3188-usb
0036               - rockchip,rk3228-usb
0037               - rockchip,rk3288-usb
0038               - rockchip,rk3308-usb
0039               - rockchip,rk3328-usb
0040               - rockchip,rk3368-usb
0041               - rockchip,rv1108-usb
0042           - const: rockchip,rk3066-usb
0043           - const: snps,dwc2
0044       - const: lantiq,arx100-usb
0045       - const: lantiq,xrx200-usb
0046       - items:
0047           - enum:
0048               - amlogic,meson8-usb
0049               - amlogic,meson8b-usb
0050               - amlogic,meson-gxbb-usb
0051               - amlogic,meson-g12a-usb
0052               - intel,socfpga-agilex-hsotg
0053           - const: snps,dwc2
0054       - const: amcc,dwc-otg
0055       - const: apm,apm82181-dwc-otg
0056       - const: snps,dwc2
0057       - const: st,stm32f4x9-fsotg
0058       - const: st,stm32f4x9-hsotg
0059       - const: st,stm32f7-hsotg
0060       - const: st,stm32mp15-fsotg
0061       - items:
0062           - const: st,stm32mp15-hsotg
0063           - const: snps,dwc2
0064       - const: samsung,s3c6400-hsotg
0065       - const: intel,socfpga-agilex-hsotg
0066 
0067   reg:
0068     maxItems: 1
0069 
0070   interrupts:
0071     maxItems: 1
0072 
0073   clocks:
0074     maxItems: 1
0075 
0076   clock-names:
0077     items:
0078       - const: otg
0079 
0080   disable-over-current:
0081     type: boolean
0082     description: whether to disable detection of over-current condition.
0083 
0084   iommus:
0085     maxItems: 1
0086 
0087   resets:
0088     items:
0089       - description: common reset
0090       - description: ecc reset
0091     minItems: 1
0092 
0093   reset-names:
0094     items:
0095       - const: dwc2
0096       - const: dwc2-ecc
0097     minItems: 1
0098 
0099   phys:
0100     maxItems: 1
0101 
0102   phy-names:
0103     const: usb2-phy
0104 
0105   power-domains:
0106     maxItems: 1
0107 
0108   vbus-supply:
0109     description: reference to the VBUS regulator. Depending on the current mode
0110       this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
0111       regulator is updated if the controller is configured in "otg" mode and the
0112       status changes between "host" and "peripheral".
0113 
0114   vusb_d-supply:
0115     description: phandle to voltage regulator of digital section,
0116 
0117   vusb_a-supply:
0118     description: phandle to voltage regulator of analog section.
0119 
0120   usb33d-supply:
0121     description: reference to the VBUS and ID sensing comparators supply, in
0122       order to perform OTG operation, used on STM32MP15 SoCs.
0123 
0124   dr_mode: true
0125 
0126   otg-rev: true
0127 
0128   hnp-disable: true
0129 
0130   srp-disable: true
0131 
0132   usb-role-switch: true
0133 
0134   role-switch-default-mode: true
0135 
0136   g-rx-fifo-size:
0137     $ref: /schemas/types.yaml#/definitions/uint32
0138     description: size of rx fifo size in gadget mode.
0139 
0140   g-np-tx-fifo-size:
0141     $ref: /schemas/types.yaml#/definitions/uint32
0142     description: size of non-periodic tx fifo size in gadget mode.
0143 
0144   g-tx-fifo-size:
0145     $ref: /schemas/types.yaml#/definitions/uint32-array
0146     description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
0147 
0148   snps,need-phy-for-wake:
0149     $ref: /schemas/types.yaml#/definitions/flag
0150     description: If present indicates that the phy needs to be left on for
0151       remote wakeup during suspend.
0152 
0153   snps,reset-phy-on-wake:
0154     $ref: /schemas/types.yaml#/definitions/flag
0155     description: If present indicates that we need to reset the PHY when we
0156       detect a wakeup. This is due to a hardware errata.
0157 
0158   port:
0159     description:
0160       Any connector to the data bus of this controller should be modelled
0161       using the OF graph bindings specified, if the "usb-role-switch"
0162       property is used.
0163     $ref: /schemas/graph.yaml#/properties/port
0164 
0165   tpl-support: true
0166 
0167 dependencies:
0168   port: [ usb-role-switch ]
0169   role-switch-default-mode: [ usb-role-switch ]
0170 
0171 required:
0172   - compatible
0173   - reg
0174   - interrupts
0175   - clocks
0176   - clock-names
0177 
0178 additionalProperties: false
0179 
0180 examples:
0181   - |
0182       usb@101c0000 {
0183         compatible = "rockchip,rk3066-usb", "snps,dwc2";
0184         reg = <0x10180000 0x40000>;
0185         interrupts = <18>;
0186         clocks = <&usb_otg_ahb_clk>;
0187         clock-names = "otg";
0188         phys = <&usbphy>;
0189         phy-names = "usb2-phy";
0190       };
0191 
0192 ...