xref: /linux/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml (revision d53b8e36925256097a08d7cb749198d85cbf9b2b)
1# 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
18          - 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:
34          - const: xlnx,zynq-usb-2.20a
35          - const: chipidea,usb2
36      - items:
37          - enum:
38              - nuvoton,npcm845-udc
39          - const: nuvoton,npcm750-udc
40
41  clocks:
42    minItems: 1
43    maxItems: 2
44
45  clock-names:
46    minItems: 1
47    maxItems: 2
48
49  operating-points-v2:
50    description: A phandle to the OPP table containing the performance states.
51    $ref: /schemas/types.yaml#/definitions/phandle
52
53  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
63  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
73  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
82required:
83  - compatible
84
85allOf:
86  - $ref: chipidea,usb2-common.yaml#
87  - $ref: usb-hcd.yaml#
88  - $ref: usb-drd.yaml#
89
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
116...
117