xref: /linux/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml (revision bba2c3615bd6cfee7456d1130f2e6b01b3f4e9ba)
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          - nxp,s32g2-usb
27          - qcom,ci-hdrc
28      - items:
29          - enum:
30              - nvidia,tegra114-ehci
31              - nvidia,tegra124-ehci
32              - nvidia,tegra210-ehci
33          - const: nvidia,tegra30-ehci
34      - items:
35          - const: xlnx,zynq-usb-2.20a
36          - const: chipidea,usb2
37      - items:
38          - enum:
39              - nuvoton,npcm845-udc
40          - const: nuvoton,npcm750-udc
41      - items:
42          - enum:
43              - nxp,s32g3-usb
44          - const: nxp,s32g2-usb
45
46  clocks:
47    minItems: 1
48    maxItems: 2
49
50  clock-names:
51    minItems: 1
52    maxItems: 2
53
54  operating-points-v2:
55    description: A phandle to the OPP table containing the performance states.
56    $ref: /schemas/types.yaml#/definitions/phandle
57
58  phy-select:
59    description:
60      Phandler of TCSR node with two argument that indicate register
61      offset, and phy index
62    $ref: /schemas/types.yaml#/definitions/phandle-array
63    items:
64      - items:
65          - description: phandle to TCSR node
66          - description: register offset
67          - description: phy index
68
69  nvidia,phy:
70    description: phandle of usb phy that connects to the port. Use "phys" instead.
71    $ref: /schemas/types.yaml#/definitions/phandle
72    deprecated: true
73
74  nvidia,needs-double-reset:
75    description: Indicates double reset or not.
76    type: boolean
77    deprecated: true
78
79  ulpi:
80    type: object
81    additionalProperties: false
82    patternProperties:
83      "^phy(-[0-9])?$":
84        description: The phy child node for Qcom chips.
85        type: object
86        $ref: /schemas/phy/qcom,usb-hs-phy.yaml
87
88required:
89  - compatible
90
91allOf:
92  - $ref: chipidea,usb2-common.yaml#
93  - $ref: usb-hcd.yaml#
94  - $ref: usb-drd.yaml#
95
96unevaluatedProperties: false
97
98examples:
99  - |
100    #include <dt-bindings/interrupt-controller/arm-gic.h>
101    #include <dt-bindings/clock/berlin2.h>
102
103    usb@f7ed0000 {
104        compatible = "chipidea,usb2";
105        reg = <0xf7ed0000 0x10000>;
106        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
107        clocks = <&chip CLKID_USB0>;
108        phys = <&usb_phy0>;
109        phy-names = "usb-phy";
110        vbus-supply = <&reg_usb0_vbus>;
111        itc-setting = <0x4>; /* 4 micro-frames */
112         /* Incremental burst of unspecified length */
113        ahb-burst-config = <0x0>;
114        tx-burst-size-dword = <0x10>; /* 64 bytes */
115        rx-burst-size-dword = <0x10>;
116        extcon = <0>, <&usb_id>;
117        phy-clkgate-delay-us = <400>;
118        mux-controls = <&usb_switch>;
119        mux-control-names = "usb_switch";
120    };
121
122...
123