2020-01-07 10:16:30 +01:00
|
|
|
# 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#
|
|
|
|
|
2022-12-16 17:38:12 +01:00
|
|
|
title: DesignWare HS OTG USB 2.0 controller
|
2020-01-07 10:16:30 +01:00
|
|
|
|
|
|
|
maintainers:
|
|
|
|
- Rob Herring <robh@kernel.org>
|
|
|
|
|
2021-10-13 15:57:02 +02:00
|
|
|
allOf:
|
|
|
|
- $ref: usb-drd.yaml#
|
2022-06-21 17:23:49 +02:00
|
|
|
- $ref: usb-hcd.yaml#
|
2021-10-13 15:57:02 +02:00
|
|
|
|
2020-01-07 10:16:30 +01:00
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
oneOf:
|
|
|
|
- const: brcm,bcm2835-usb
|
|
|
|
- const: hisilicon,hi6220-usb
|
2022-04-15 03:25:35 +08:00
|
|
|
- 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
|
2020-01-07 10:16:30 +01:00
|
|
|
- items:
|
|
|
|
- const: rockchip,rk3066-usb
|
|
|
|
- const: snps,dwc2
|
|
|
|
- items:
|
dt-bindings: usb: dwc2: add compatible property for rk3328 usb
A test with the command below gives for example this error:
arch/arm64/boot/dts/rockchip/rk3328-evb.dt.yaml: usb@ff580000:
compatible:
['rockchip,rk3328-usb', 'rockchip,rk3066-usb', 'snps,dwc2']
is not valid under any of the given schemas
The compatible property for rk3328 dwc2 usb was somehow never added to
the documention. Fix this error by adding
'rockchip,rk3328-usb', 'rockchip,rk3066-usb', 'snps,dwc2'
to dwc2.yaml.
make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/usb/dwc2.yaml
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
2020-03-11 13:21:20 +01:00
|
|
|
- enum:
|
2020-04-20 21:24:47 -05:00
|
|
|
- rockchip,px30-usb
|
|
|
|
- rockchip,rk3036-usb
|
2022-09-10 00:02:01 +02:00
|
|
|
- rockchip,rk3128-usb
|
2020-04-20 21:24:47 -05:00
|
|
|
- rockchip,rk3188-usb
|
|
|
|
- rockchip,rk3228-usb
|
|
|
|
- rockchip,rk3288-usb
|
2021-05-14 17:00:42 +02:00
|
|
|
- rockchip,rk3308-usb
|
2020-04-20 21:24:47 -05:00
|
|
|
- rockchip,rk3328-usb
|
|
|
|
- rockchip,rk3368-usb
|
|
|
|
- rockchip,rv1108-usb
|
2020-01-07 10:16:30 +01:00
|
|
|
- const: rockchip,rk3066-usb
|
|
|
|
- const: snps,dwc2
|
|
|
|
- const: lantiq,arx100-usb
|
2022-10-05 12:55:55 +02:00
|
|
|
- const: lantiq,ase-usb
|
|
|
|
- const: lantiq,danube-usb
|
2020-01-07 10:16:30 +01:00
|
|
|
- const: lantiq,xrx200-usb
|
2022-10-05 12:55:55 +02:00
|
|
|
- const: lantiq,xrx300-usb
|
2020-01-07 10:16:30 +01:00
|
|
|
- items:
|
2020-03-31 10:37:29 +02:00
|
|
|
- enum:
|
2020-04-20 21:24:47 -05:00
|
|
|
- amlogic,meson8-usb
|
|
|
|
- amlogic,meson8b-usb
|
|
|
|
- amlogic,meson-gxbb-usb
|
|
|
|
- amlogic,meson-g12a-usb
|
2023-05-12 00:04:54 +03:00
|
|
|
- amlogic,meson-a1-usb
|
2022-02-18 17:15:19 +01:00
|
|
|
- intel,socfpga-agilex-hsotg
|
2020-01-07 10:16:30 +01:00
|
|
|
- const: snps,dwc2
|
|
|
|
- const: amcc,dwc-otg
|
2020-09-20 02:18:49 +02:00
|
|
|
- const: apm,apm82181-dwc-otg
|
2020-01-07 10:16:30 +01:00
|
|
|
- const: snps,dwc2
|
2024-03-26 10:37:28 +08:00
|
|
|
- const: sophgo,cv1800-usb
|
2020-01-07 10:16:30 +01:00
|
|
|
- const: st,stm32f4x9-fsotg
|
|
|
|
- const: st,stm32f4x9-hsotg
|
|
|
|
- const: st,stm32f7-hsotg
|
2020-01-24 09:41:30 +01:00
|
|
|
- const: st,stm32mp15-fsotg
|
2020-05-13 16:59:35 +02:00
|
|
|
- items:
|
|
|
|
- const: st,stm32mp15-hsotg
|
|
|
|
- const: snps,dwc2
|
2020-01-07 10:16:30 +01:00
|
|
|
- const: samsung,s3c6400-hsotg
|
2022-01-06 17:37:03 -06:00
|
|
|
- const: intel,socfpga-agilex-hsotg
|
2020-01-07 10:16:30 +01:00
|
|
|
|
|
|
|
reg:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
interrupts:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
clocks:
|
2023-04-14 10:41:35 +02:00
|
|
|
minItems: 1
|
|
|
|
maxItems: 2
|
2020-01-07 10:16:30 +01:00
|
|
|
|
|
|
|
clock-names:
|
|
|
|
items:
|
|
|
|
- const: otg
|
2023-04-14 10:41:35 +02:00
|
|
|
- const: utmi
|
|
|
|
minItems: 1
|
2020-01-07 10:16:30 +01:00
|
|
|
|
2022-02-18 17:15:21 +01:00
|
|
|
disable-over-current:
|
|
|
|
type: boolean
|
|
|
|
description: whether to disable detection of over-current condition.
|
|
|
|
|
2022-02-18 17:15:20 +01:00
|
|
|
iommus:
|
|
|
|
maxItems: 1
|
|
|
|
|
2020-01-07 10:16:30 +01:00
|
|
|
resets:
|
|
|
|
items:
|
2020-04-15 19:55:48 -05:00
|
|
|
- description: common reset
|
|
|
|
- description: ecc reset
|
2020-01-07 10:16:30 +01:00
|
|
|
minItems: 1
|
|
|
|
|
|
|
|
reset-names:
|
|
|
|
items:
|
2020-04-15 19:55:48 -05:00
|
|
|
- const: dwc2
|
|
|
|
- const: dwc2-ecc
|
2020-01-07 10:16:30 +01:00
|
|
|
minItems: 1
|
|
|
|
|
|
|
|
phys:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
phy-names:
|
|
|
|
const: usb2-phy
|
|
|
|
|
2020-04-25 19:08:33 +02:00
|
|
|
power-domains:
|
|
|
|
maxItems: 1
|
|
|
|
|
2020-01-07 10:16:30 +01:00
|
|
|
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.
|
|
|
|
|
2020-05-13 16:59:35 +02:00
|
|
|
usb33d-supply:
|
2020-01-24 09:41:30 +01:00
|
|
|
description: reference to the VBUS and ID sensing comparators supply, in
|
|
|
|
order to perform OTG operation, used on STM32MP15 SoCs.
|
|
|
|
|
2021-10-13 15:57:02 +02:00
|
|
|
dr_mode: true
|
2020-01-07 10:16:30 +01:00
|
|
|
|
2021-10-13 15:57:03 +02:00
|
|
|
otg-rev: true
|
|
|
|
|
|
|
|
hnp-disable: true
|
|
|
|
|
|
|
|
srp-disable: true
|
|
|
|
|
2021-10-13 15:57:02 +02:00
|
|
|
usb-role-switch: true
|
2020-09-09 11:35:09 +02:00
|
|
|
|
2021-12-06 16:56:41 +01:00
|
|
|
role-switch-default-mode: true
|
|
|
|
|
2020-01-07 10:16:30 +01:00
|
|
|
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
|
2022-04-02 21:28:19 +02:00
|
|
|
description: If present indicates that the phy needs to be left on for
|
2020-04-20 21:24:47 -05:00
|
|
|
remote wakeup during suspend.
|
2020-01-07 10:16:30 +01:00
|
|
|
|
|
|
|
snps,reset-phy-on-wake:
|
|
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
2022-04-02 21:28:19 +02:00
|
|
|
description: If present indicates that we need to reset the PHY when we
|
2020-04-20 21:24:47 -05:00
|
|
|
detect a wakeup. This is due to a hardware errata.
|
2020-01-07 10:16:30 +01:00
|
|
|
|
2021-10-27 14:12:32 +02:00
|
|
|
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
|
|
|
|
|
2022-06-21 17:23:49 +02:00
|
|
|
tpl-support: true
|
|
|
|
|
2024-01-05 14:03:53 +01:00
|
|
|
access-controllers:
|
|
|
|
minItems: 1
|
|
|
|
maxItems: 2
|
|
|
|
|
2021-10-27 14:12:32 +02:00
|
|
|
dependencies:
|
|
|
|
port: [ usb-role-switch ]
|
2021-12-06 16:56:41 +01:00
|
|
|
role-switch-default-mode: [ usb-role-switch ]
|
2021-10-27 14:12:32 +02:00
|
|
|
|
2020-01-07 10:16:30 +01:00
|
|
|
required:
|
|
|
|
- compatible
|
|
|
|
- reg
|
|
|
|
- interrupts
|
|
|
|
- clocks
|
|
|
|
- clock-names
|
|
|
|
|
2024-06-24 10:58:23 +02:00
|
|
|
unevaluatedProperties: false
|
2020-01-07 10:16:30 +01:00
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
|
|
|
|
...
|