xref: /linux/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
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      - description: phandle to TCSR node
65      - description: register offset
66      - description: phy index
67
68  nvidia,phy:
69    description: phandle of usb phy that connects to the port. Use "phys" instead.
70    $ref: /schemas/types.yaml#/definitions/phandle
71    deprecated: true
72
73  nvidia,needs-double-reset:
74    description: Indicates double reset or not.
75    type: boolean
76    deprecated: true
77
78  ulpi:
79    type: object
80    additionalProperties: false
81    patternProperties:
82      "^phy(-[0-9])?$":
83        description: The phy child node for Qcom chips.
84        type: object
85        $ref: /schemas/phy/qcom,usb-hs-phy.yaml
86
87required:
88  - compatible
89
90allOf:
91  - $ref: chipidea,usb2-common.yaml#
92  - $ref: usb-hcd.yaml#
93  - $ref: usb-drd.yaml#
94
95unevaluatedProperties: false
96
97examples:
98  - |
99    #include <dt-bindings/interrupt-controller/arm-gic.h>
100    #include <dt-bindings/clock/berlin2.h>
101
102    usb@f7ed0000 {
103        compatible = "chipidea,usb2";
104        reg = <0xf7ed0000 0x10000>;
105        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
106        clocks = <&chip CLKID_USB0>;
107        phys = <&usb_phy0>;
108        phy-names = "usb-phy";
109        vbus-supply = <&reg_usb0_vbus>;
110        itc-setting = <0x4>; /* 4 micro-frames */
111         /* Incremental burst of unspecified length */
112        ahb-burst-config = <0x0>;
113        tx-burst-size-dword = <0x10>; /* 64 bytes */
114        rx-burst-size-dword = <0x10>;
115        extcon = <0>, <&usb_id>;
116        phy-clkgate-delay-us = <400>;
117        mux-controls = <&usb_switch>;
118        mux-control-names = "usb_switch";
119    };
120
121...
122