~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: NXP USB2 ChipIdea USB controller
  8 
  9 maintainers:
 10   - Xu Yang <xu.yang_2@nxp.com>
 11 
 12 properties:
 13   compatible:
 14     oneOf:
 15       - enum:
 16           - fsl,imx27-usb
 17       - items:
 18           - enum:
 19               - fsl,imx23-usb
 20               - fsl,imx25-usb
 21               - fsl,imx28-usb
 22               - fsl,imx35-usb
 23               - fsl,imx50-usb
 24               - fsl,imx51-usb
 25               - fsl,imx53-usb
 26               - fsl,imx6q-usb
 27               - fsl,imx6sl-usb
 28               - fsl,imx6sx-usb
 29               - fsl,imx6ul-usb
 30               - fsl,imx7d-usb
 31               - fsl,vf610-usb
 32           - const: fsl,imx27-usb
 33       - items:
 34           - enum:
 35               - fsl,imx8dxl-usb
 36               - fsl,imx8ulp-usb
 37           - const: fsl,imx7ulp-usb
 38           - const: fsl,imx6ul-usb
 39       - items:
 40           - enum:
 41               - fsl,imx8mm-usb
 42               - fsl,imx8mn-usb
 43               - fsl,imx93-usb
 44           - const: fsl,imx7d-usb
 45           - const: fsl,imx27-usb
 46       - items:
 47           - enum:
 48               - fsl,imx6sll-usb
 49               - fsl,imx7ulp-usb
 50           - const: fsl,imx6ul-usb
 51           - const: fsl,imx27-usb
 52 
 53   reg:
 54     maxItems: 1
 55 
 56   interrupts:
 57     maxItems: 1
 58 
 59   clocks:
 60     minItems: 1
 61     maxItems: 3
 62 
 63   clock-names:
 64     minItems: 1
 65     maxItems: 3
 66 
 67   fsl,usbmisc:
 68     description:
 69       Phandler of non-core register device, with one argument that
 70       indicate usb controller index
 71     $ref: /schemas/types.yaml#/definitions/phandle-array
 72     items:
 73       - items:
 74           - description: phandle to usbmisc node
 75           - description: index of usb controller
 76 
 77   disable-over-current:
 78     type: boolean
 79     description: disable over current detect
 80 
 81   over-current-active-low:
 82     type: boolean
 83     description: over current signal polarity is active low
 84 
 85   over-current-active-high:
 86     type: boolean
 87     description:
 88       Over current signal polarity is active high. It's recommended to
 89       specify the over current polarity.
 90 
 91   power-active-high:
 92     type: boolean
 93     description: power signal polarity is active high
 94 
 95   external-vbus-divider:
 96     type: boolean
 97     description: enables off-chip resistor divider for Vbus
 98 
 99   samsung,picophy-pre-emp-curr-control:
100     description:
101       HS Transmitter Pre-Emphasis Current Control. This signal controls
102       the amount of current sourced to the USB_OTG*_DP and USB_OTG*_DN
103       pins after a J-to-K or K-to-J transition. The range is from 0x0 to
104       0x3, the default value is 0x1. Details can refer to TXPREEMPAMPTUNE0
105       bits of USBNC_n_PHY_CFG1.
106     $ref: /schemas/types.yaml#/definitions/uint32
107     minimum: 0x0
108     maximum: 0x3
109 
110   samsung,picophy-dc-vol-level-adjust:
111     description:
112       HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC
113       level voltage. The range is from 0x0 to 0xf, the default value is
114       0x3. Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
115     $ref: /schemas/types.yaml#/definitions/uint32
116     minimum: 0x0
117     maximum: 0xf
118 
119   fsl,picophy-rise-fall-time-adjust:
120     description:
121       HS Transmitter Rise/Fall Time Adjustment. Adjust the rise/fall times
122       of the high-speed transmitter waveform. It has no unit. The rise/fall
123       time will be increased or decreased by a certain percentage relative
124       to design default time. (0:-10%; 1:design default; 2:+15%; 3:+20%)
125       Details can refer to TXRISETUNE0 bit of USBNC_n_PHY_CFG1.
126     $ref: /schemas/types.yaml#/definitions/uint32
127     minimum: 0
128     maximum: 3
129     default: 1
130 
131   fsl,usbphy:
132     description: phandle of usb phy that connects to the port. Use "phys" instead.
133     $ref: /schemas/types.yaml#/definitions/phandle
134     deprecated: true
135 
136 required:
137   - compatible
138 
139 allOf:
140   - $ref: chipidea,usb2-common.yaml#
141   - if:
142       properties:
143         phy_type:
144           const: hsic
145       required:
146         - phy_type
147     then:
148       properties:
149         pinctrl-names:
150           items:
151             - const: idle
152             - const: active
153 
154   # imx27 Soc needs three clocks
155   - if:
156       properties:
157         compatible:
158           const: fsl,imx27-usb
159     then:
160       properties:
161         clocks:
162           minItems: 3
163         clock-names:
164           items:
165             - const: ipg
166             - const: ahb
167             - const: per
168 
169   # imx25 and imx35 Soc need three clocks
170   - if:
171       properties:
172         compatible:
173           contains:
174             enum:
175               - fsl,imx25-usb
176               - fsl,imx35-usb
177     then:
178       properties:
179         clocks:
180           minItems: 3
181         clock-names:
182           items:
183             - const: ipg
184             - const: ahb
185             - const: per
186 
187   # imx93 Soc needs two clocks
188   - if:
189       properties:
190         compatible:
191           contains:
192             enum:
193               - fsl,imx93-usb
194     then:
195       properties:
196         clocks:
197           minItems: 2
198           maxItems: 2
199         clock-names:
200           items:
201             - const: usb_ctrl_root
202             - const: usb_wakeup
203 
204   # imx7d Soc need one clock
205   - if:
206       properties:
207         compatible:
208           items:
209             - const: fsl,imx7d-usb
210             - const: fsl,imx27-usb
211     then:
212       properties:
213         clocks:
214           maxItems: 1
215         clock-names: false
216 
217   # other Soc need one clock
218   - if:
219       properties:
220         compatible:
221           contains:
222             enum:
223               - fsl,imx23-usb
224               - fsl,imx28-usb
225               - fsl,imx50-usb
226               - fsl,imx51-usb
227               - fsl,imx53-usb
228               - fsl,imx6q-usb
229               - fsl,imx6sl-usb
230               - fsl,imx6sx-usb
231               - fsl,imx6ul-usb
232               - fsl,imx8mm-usb
233               - fsl,imx8mn-usb
234               - fsl,vf610-usb
235     then:
236       properties:
237         clocks:
238           maxItems: 1
239         clock-names: false
240 
241 unevaluatedProperties: false
242 
243 examples:
244   - |
245     #include <dt-bindings/interrupt-controller/arm-gic.h>
246     #include <dt-bindings/clock/imx7d-clock.h>
247 
248     usb@30b10000 {
249         compatible = "fsl,imx7d-usb", "fsl,imx27-usb";
250         reg = <0x30b10000 0x200>;
251         interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
252         clocks = <&clks IMX7D_USB_CTRL_CLK>;
253         fsl,usbphy = <&usbphynop1>;
254         fsl,usbmisc = <&usbmisc1 0>;
255         phy-clkgate-delay-us = <400>;
256     };
257 
258   # Example for HSIC:
259   - |
260     #include <dt-bindings/interrupt-controller/arm-gic.h>
261     #include <dt-bindings/clock/imx6qdl-clock.h>
262 
263     usb@2184400 {
264         compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
265         reg = <0x02184400 0x200>;
266         interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
267         clocks = <&clks IMX6QDL_CLK_USBOH3>;
268         fsl,usbphy = <&usbphynop1>;
269         fsl,usbmisc = <&usbmisc 2>;
270         phy_type = "hsic";
271         dr_mode = "host";
272         ahb-burst-config = <0x0>;
273         tx-burst-size-dword = <0x10>;
274         rx-burst-size-dword = <0x10>;
275         pinctrl-names = "idle", "active";
276         pinctrl-0 = <&pinctrl_usbh2_idle>;
277         pinctrl-1 = <&pinctrl_usbh2_active>;
278         #address-cells = <1>;
279         #size-cells = <0>;
280 
281         ethernet@1 {
282             compatible = "usb424,9730";
283             reg = <1>;
284         };
285     };
286 
287 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php