blob: cc5787a8cfa3ed1a50382fea6af731c2eda68422 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/ci-hdrc-usb2.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: USB2 ChipIdea USB controller
8
9maintainers:
10 - Xu Yang <xu.yang_2@nxp.com>
11 - Peng Fan <peng.fan@nxp.com>
12
13properties:
14 compatible:
15 oneOf:
16 - enum:
17 - chipidea,usb2
Tom Rini53633a82024-02-29 12:33:36 -050018 - lsi,zevio-usb
19 - nuvoton,npcm750-udc
20 - nvidia,tegra20-ehci
21 - nvidia,tegra20-udc
22 - nvidia,tegra30-ehci
23 - nvidia,tegra30-udc
24 - nvidia,tegra114-udc
25 - nvidia,tegra124-udc
26 - qcom,ci-hdrc
27 - items:
28 - enum:
29 - nvidia,tegra114-ehci
30 - nvidia,tegra124-ehci
31 - nvidia,tegra210-ehci
32 - const: nvidia,tegra30-ehci
33 - items:
Tom Rini53633a82024-02-29 12:33:36 -050034 - const: xlnx,zynq-usb-2.20a
35 - const: chipidea,usb2
36 - items:
37 - enum:
38 - nuvoton,npcm845-udc
39 - const: nuvoton,npcm750-udc
40
Tom Rini53633a82024-02-29 12:33:36 -050041 clocks:
42 minItems: 1
Tom Rini762f85b2024-07-20 11:15:10 -060043 maxItems: 2
Tom Rini53633a82024-02-29 12:33:36 -050044
45 clock-names:
46 minItems: 1
Tom Rini762f85b2024-07-20 11:15:10 -060047 maxItems: 2
Tom Rini53633a82024-02-29 12:33:36 -050048
49 operating-points-v2:
50 description: A phandle to the OPP table containing the performance states.
51 $ref: /schemas/types.yaml#/definitions/phandle
52
Tom Rini53633a82024-02-29 12:33:36 -050053 phy-select:
54 description:
55 Phandler of TCSR node with two argument that indicate register
56 offset, and phy index
57 $ref: /schemas/types.yaml#/definitions/phandle-array
58 items:
59 - description: phandle to TCSR node
60 - description: register offset
61 - description: phy index
62
Tom Rini53633a82024-02-29 12:33:36 -050063 nvidia,phy:
64 description: phandle of usb phy that connects to the port. Use "phys" instead.
65 $ref: /schemas/types.yaml#/definitions/phandle
66 deprecated: true
67
68 nvidia,needs-double-reset:
69 description: Indicates double reset or not.
70 type: boolean
71 deprecated: true
72
Tom Rini53633a82024-02-29 12:33:36 -050073 ulpi:
74 type: object
75 additionalProperties: false
76 patternProperties:
77 "^phy(-[0-9])?$":
78 description: The phy child node for Qcom chips.
79 type: object
80 $ref: /schemas/phy/qcom,usb-hs-phy.yaml
81
Tom Rini53633a82024-02-29 12:33:36 -050082required:
83 - compatible
Tom Rini53633a82024-02-29 12:33:36 -050084
85allOf:
Tom Rini762f85b2024-07-20 11:15:10 -060086 - $ref: chipidea,usb2-common.yaml#
Tom Rini53633a82024-02-29 12:33:36 -050087 - $ref: usb-hcd.yaml#
88 - $ref: usb-drd.yaml#
Tom Rini53633a82024-02-29 12:33:36 -050089
90unevaluatedProperties: false
91
92examples:
93 - |
94 #include <dt-bindings/interrupt-controller/arm-gic.h>
95 #include <dt-bindings/clock/berlin2.h>
96
97 usb@f7ed0000 {
98 compatible = "chipidea,usb2";
99 reg = <0xf7ed0000 0x10000>;
100 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
101 clocks = <&chip CLKID_USB0>;
102 phys = <&usb_phy0>;
103 phy-names = "usb-phy";
104 vbus-supply = <&reg_usb0_vbus>;
105 itc-setting = <0x4>; /* 4 micro-frames */
106 /* Incremental burst of unspecified length */
107 ahb-burst-config = <0x0>;
108 tx-burst-size-dword = <0x10>; /* 64 bytes */
109 rx-burst-size-dword = <0x10>;
110 extcon = <0>, <&usb_id>;
111 phy-clkgate-delay-us = <400>;
112 mux-controls = <&usb_switch>;
113 mux-control-names = "usb_switch";
114 };
115
Tom Rini53633a82024-02-29 12:33:36 -0500116...