xref: /freebsd/sys/contrib/device-tree/Bindings/usb/fsl,usb2.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/fsl,usb2.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Freescale SOC USB controllers
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotdescription: |
13*0e8011faSEmmanuel Vadot  The device node for a USB controller that is part of a Freescale
14*0e8011faSEmmanuel Vadot  SOC is as described in the document "Open Firmware Recommended
15*0e8011faSEmmanuel Vadot  Practice: Universal Serial Bus" with the following modifications
16*0e8011faSEmmanuel Vadot  and additions.
17*0e8011faSEmmanuel Vadot
18*0e8011faSEmmanuel Vadotproperties:
19*0e8011faSEmmanuel Vadot  compatible:
20*0e8011faSEmmanuel Vadot    oneOf:
21*0e8011faSEmmanuel Vadot      - enum:
22*0e8011faSEmmanuel Vadot          - fsl-usb2-mph
23*0e8011faSEmmanuel Vadot          - fsl-usb2-dr
24*0e8011faSEmmanuel Vadot      - items:
25*0e8011faSEmmanuel Vadot          - enum:
26*0e8011faSEmmanuel Vadot              - fsl-usb2-dr-v2.2
27*0e8011faSEmmanuel Vadot              - fsl-usb2-dr-v2.5
28*0e8011faSEmmanuel Vadot          - const: fsl-usb2-dr
29*0e8011faSEmmanuel Vadot
30*0e8011faSEmmanuel Vadot  reg:
31*0e8011faSEmmanuel Vadot    maxItems: 1
32*0e8011faSEmmanuel Vadot
33*0e8011faSEmmanuel Vadot  interrupts:
34*0e8011faSEmmanuel Vadot    maxItems: 1
35*0e8011faSEmmanuel Vadot
36*0e8011faSEmmanuel Vadot  phy_type:
37*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
38*0e8011faSEmmanuel Vadot    enum: [ulpi, serial, utmi, utmi_wide]
39*0e8011faSEmmanuel Vadot
40*0e8011faSEmmanuel Vadot  port0:
41*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
42*0e8011faSEmmanuel Vadot    description:
43*0e8011faSEmmanuel Vadot      Indicates port0 is connected for fsl-usb2-mph compatible controllers.
44*0e8011faSEmmanuel Vadot
45*0e8011faSEmmanuel Vadot  port1:
46*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
47*0e8011faSEmmanuel Vadot    description:
48*0e8011faSEmmanuel Vadot      Indicates port1 is connected for "fsl-usb2-mph" compatible controllers.
49*0e8011faSEmmanuel Vadot
50*0e8011faSEmmanuel Vadot  fsl,invert-drvvbus:
51*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
52*0e8011faSEmmanuel Vadot    description:
53*0e8011faSEmmanuel Vadot      for MPC5121 USB0 only. Indicates the
54*0e8011faSEmmanuel Vadot      port power polarity of internal PHY signal DRVVBUS is inverted.
55*0e8011faSEmmanuel Vadot
56*0e8011faSEmmanuel Vadot  fsl,invert-pwr-fault:
57*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
58*0e8011faSEmmanuel Vadot    description:
59*0e8011faSEmmanuel Vadot      for MPC5121 USB0 only. Indicates
60*0e8011faSEmmanuel Vadot      the PWR_FAULT signal polarity is inverted.
61*0e8011faSEmmanuel Vadot
62*0e8011faSEmmanuel Vadotrequired:
63*0e8011faSEmmanuel Vadot  - compatible
64*0e8011faSEmmanuel Vadot  - reg
65*0e8011faSEmmanuel Vadot  - interrupts
66*0e8011faSEmmanuel Vadot  - phy_type
67*0e8011faSEmmanuel Vadot
68*0e8011faSEmmanuel VadotallOf:
69*0e8011faSEmmanuel Vadot  - $ref: usb-drd.yaml#
70*0e8011faSEmmanuel Vadot
71*0e8011faSEmmanuel VadotunevaluatedProperties: false
72*0e8011faSEmmanuel Vadot
73*0e8011faSEmmanuel Vadotexamples:
74*0e8011faSEmmanuel Vadot  - |
75*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
76*0e8011faSEmmanuel Vadot
77*0e8011faSEmmanuel Vadot    usb@22000 {
78*0e8011faSEmmanuel Vadot        compatible = "fsl-usb2-mph";
79*0e8011faSEmmanuel Vadot        reg = <22000 1000>;
80*0e8011faSEmmanuel Vadot        interrupts = <27 IRQ_TYPE_EDGE_RISING>;
81*0e8011faSEmmanuel Vadot        phy_type = "ulpi";
82*0e8011faSEmmanuel Vadot        port0;
83*0e8011faSEmmanuel Vadot        port1;
84*0e8011faSEmmanuel Vadot    };
85*0e8011faSEmmanuel Vadot
86*0e8011faSEmmanuel Vadot  - |
87*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
88*0e8011faSEmmanuel Vadot
89*0e8011faSEmmanuel Vadot    usb@23000 {
90*0e8011faSEmmanuel Vadot        compatible = "fsl-usb2-dr";
91*0e8011faSEmmanuel Vadot        reg = <23000 1000>;
92*0e8011faSEmmanuel Vadot        interrupts = <26 IRQ_TYPE_EDGE_RISING>;
93*0e8011faSEmmanuel Vadot        dr_mode = "otg";
94*0e8011faSEmmanuel Vadot        phy_type = "ulpi";
95*0e8011faSEmmanuel Vadot    };
96