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: 3 49 50 clock-names: 51 minItems: 1 52 maxItems: 3 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 - if: 96 properties: 97 compatible: 98 contains: 99 const: qcom,ci-hdrc 100 then: 101 properties: 102 clocks: 103 minItems: 2 104 clock-names: 105 minItems: 2 106 items: 107 - const: iface 108 - const: core 109 - const: fs 110 else: 111 properties: 112 clocks: 113 maxItems: 2 114 clock-names: 115 maxItems: 2 116 117unevaluatedProperties: false 118 119examples: 120 - | 121 #include <dt-bindings/interrupt-controller/arm-gic.h> 122 #include <dt-bindings/clock/berlin2.h> 123 124 usb@f7ed0000 { 125 compatible = "chipidea,usb2"; 126 reg = <0xf7ed0000 0x10000>; 127 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 128 clocks = <&chip CLKID_USB0>; 129 phys = <&usb_phy0>; 130 phy-names = "usb-phy"; 131 vbus-supply = <®_usb0_vbus>; 132 itc-setting = <0x4>; /* 4 micro-frames */ 133 /* Incremental burst of unspecified length */ 134 ahb-burst-config = <0x0>; 135 tx-burst-size-dword = <0x10>; /* 64 bytes */ 136 rx-burst-size-dword = <0x10>; 137 extcon = <0>, <&usb_id>; 138 phy-clkgate-delay-us = <400>; 139 mux-controls = <&usb_switch>; 140 mux-control-names = "usb_switch"; 141 }; 142 143... 144