| # SPDX-License-Identifier: GPL-2.0 | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/usb/dwc2.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: DesignWare HS OTG USB 2.0 controller | |
| maintainers: | |
| - Rob Herring <robh@kernel.org> | |
| allOf: | |
| - $ref: usb-drd.yaml# | |
| - $ref: usb-hcd.yaml# | |
| properties: | |
| compatible: | |
| oneOf: | |
| - const: brcm,bcm2835-usb | |
| - const: hisilicon,hi6220-usb | |
| - const: ingenic,jz4775-otg | |
| - const: ingenic,jz4780-otg | |
| - const: ingenic,x1000-otg | |
| - const: ingenic,x1600-otg | |
| - const: ingenic,x1700-otg | |
| - const: ingenic,x1830-otg | |
| - const: ingenic,x2000-otg | |
| - items: | |
| - const: rockchip,rk3066-usb | |
| - const: snps,dwc2 | |
| - items: | |
| - enum: | |
| - rockchip,px30-usb | |
| - rockchip,rk3036-usb | |
| - rockchip,rk3128-usb | |
| - rockchip,rk3188-usb | |
| - rockchip,rk3228-usb | |
| - rockchip,rk3288-usb | |
| - rockchip,rk3308-usb | |
| - rockchip,rk3328-usb | |
| - rockchip,rk3368-usb | |
| - rockchip,rv1108-usb | |
| - const: rockchip,rk3066-usb | |
| - const: snps,dwc2 | |
| - const: lantiq,arx100-usb | |
| - const: lantiq,ase-usb | |
| - const: lantiq,danube-usb | |
| - const: lantiq,xrx200-usb | |
| - const: lantiq,xrx300-usb | |
| - items: | |
| - enum: | |
| - amlogic,meson8-usb | |
| - amlogic,meson8b-usb | |
| - amlogic,meson-gxbb-usb | |
| - amlogic,meson-g12a-usb | |
| - amlogic,meson-a1-usb | |
| - intel,socfpga-agilex-hsotg | |
| - const: snps,dwc2 | |
| - const: amcc,dwc-otg | |
| - const: apm,apm82181-dwc-otg | |
| - const: snps,dwc2 | |
| - const: sophgo,cv1800b-usb | |
| - const: st,stm32f4x9-fsotg | |
| - const: st,stm32f4x9-hsotg | |
| - const: st,stm32f7-hsotg | |
| - const: st,stm32mp15-fsotg | |
| - items: | |
| - const: st,stm32mp15-hsotg | |
| - const: snps,dwc2 | |
| - const: samsung,s3c6400-hsotg | |
| - const: intel,socfpga-agilex-hsotg | |
| reg: | |
| maxItems: 1 | |
| interrupts: | |
| maxItems: 1 | |
| clocks: | |
| minItems: 1 | |
| maxItems: 2 | |
| clock-names: | |
| items: | |
| - const: otg | |
| - const: utmi | |
| minItems: 1 | |
| disable-over-current: | |
| type: boolean | |
| description: whether to disable detection of over-current condition. | |
| iommus: | |
| maxItems: 1 | |
| resets: | |
| items: | |
| - description: common reset | |
| - description: ecc reset | |
| minItems: 1 | |
| reset-names: | |
| items: | |
| - const: dwc2 | |
| - const: dwc2-ecc | |
| minItems: 1 | |
| phys: | |
| maxItems: 1 | |
| phy-names: | |
| const: usb2-phy | |
| power-domains: | |
| maxItems: 1 | |
| vbus-supply: | |
| description: reference to the VBUS regulator. Depending on the current mode | |
| this is enabled (in "host" mode") or disabled (in "peripheral" mode). The | |
| regulator is updated if the controller is configured in "otg" mode and the | |
| status changes between "host" and "peripheral". | |
| vusb_d-supply: | |
| description: phandle to voltage regulator of digital section, | |
| vusb_a-supply: | |
| description: phandle to voltage regulator of analog section. | |
| usb33d-supply: | |
| description: reference to the VBUS and ID sensing comparators supply, in | |
| order to perform OTG operation, used on STM32MP15 SoCs. | |
| dr_mode: true | |
| otg-rev: true | |
| hnp-disable: true | |
| srp-disable: true | |
| usb-role-switch: true | |
| role-switch-default-mode: true | |
| g-rx-fifo-size: | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| description: size of rx fifo size in gadget mode. | |
| g-np-tx-fifo-size: | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| description: size of non-periodic tx fifo size in gadget mode. | |
| g-tx-fifo-size: | |
| $ref: /schemas/types.yaml#/definitions/uint32-array | |
| description: size of periodic tx fifo per endpoint (except ep0) in gadget mode. | |
| snps,need-phy-for-wake: | |
| $ref: /schemas/types.yaml#/definitions/flag | |
| description: If present indicates that the phy needs to be left on for | |
| remote wakeup during suspend. | |
| snps,reset-phy-on-wake: | |
| $ref: /schemas/types.yaml#/definitions/flag | |
| description: If present indicates that we need to reset the PHY when we | |
| detect a wakeup. This is due to a hardware errata. | |
| port: | |
| description: | |
| Any connector to the data bus of this controller should be modelled | |
| using the OF graph bindings specified, if the "usb-role-switch" | |
| property is used. | |
| $ref: /schemas/graph.yaml#/properties/port | |
| tpl-support: true | |
| access-controllers: | |
| minItems: 1 | |
| maxItems: 2 | |
| dependencies: | |
| port: [ usb-role-switch ] | |
| role-switch-default-mode: [ usb-role-switch ] | |
| required: | |
| - compatible | |
| - reg | |
| - interrupts | |
| - clocks | |
| - clock-names | |
| unevaluatedProperties: false | |
| examples: | |
| - | | |
| usb@101c0000 { | |
| compatible = "rockchip,rk3066-usb", "snps,dwc2"; | |
| reg = <0x10180000 0x40000>; | |
| interrupts = <18>; | |
| clocks = <&usb_otg_ahb_clk>; | |
| clock-names = "otg"; | |
| phys = <&usbphy>; | |
| phy-names = "usb2-phy"; | |
| }; | |
| ... |