Skip to contentSkip to conversation

dt-bindings: usb: chipidea: Convert to json-schema

PATCH In review Thierry Reding 2 participants 12 messages Dec 9, 2021 – Dec 16, 2021

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/4 dt-bindings: usb: chipidea: Convert to json-schema

From: Thierry Reding <[email protected]>

Convert the ChipIdea USB2 bindings from the free-form text format to json-schema.

---
 .../bindings/usb/chipidea,usb2.yaml           | 310 ++++++++++++++++++
 .../devicetree/bindings/usb/ci-hdrc-usb2.txt  | 158 ---------
 2 files changed, 310 insertions(+), 158 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/chipidea,usb2.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +310 -0
new file mode 100644
index 000000000000..0e36259f23ba
@@ -0,0 +1,310 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/usb/chipidea,usb2.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: USB2 ChipIdea USB controller for ci13xxx
+
+maintainers:
+  - Peter Chen <[email protected]>
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - fsl,imx23-usb
+          - fsl,imx27-usb
+          - fsl,imx28-usb
+          - fsl,imx6q-usb
+          - fsl,imx6sl-usb
+          - fsl,imx6sx-usb
+          - fsl,imx6ul-usb
+          - fsl,imx7d-usb
+          - fsl,imx7ulp-usb
+          - lsi,zevio-usb
+          - qcom,ci-hdrc
+          - chipidea,usb2
+          - xlnx,zynq-usb-2.20a
+          - nvidia,tegra20-udc
+          - nvidia,tegra30-udc
+          - nvidia,tegra114-udc
+          - nvidia,tegra124-udc
+      - items:
+          - const: fsl,imx6q-usb
+          - const: fsl,imx27-usb
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  phy_type:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: The type of the PHY connected to the core. Without this property the PORTSC
+      register won't be touched.
+    enum:
+      - utmi
+      - utmi_wide
+      - ulpi
+      - serial
+      - hsic
+
+  dr_mode:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: dual-role mode of the interface
+    enum:
+      - host
+      - peripheral
+      - otg
+    default:
+      const: otg
+
+  clocks:
+    items:
+      - description: reference to the USB clock
+
+  resets:
+    items:
+      - description: reference to the USB reset
+
+  reset-names:
+    items:
+      - const: usb
+
+  phys:
+    items:
+      - description: reference to the USB PHY
+
+  phy-names:
+    items:
+      - const: usb-phy
+
+  vbus-supply:
+    description: reference to the VBUS regulator
+
+  maximum-speed:
+    description: limit the maximum connection speed to "full-speed".
+
+  tpl-support:
+    description: TPL (Targeted Peripheral List) feature for targeted hosts
+
+  itc-setting:
+    description: Interrupt threshold control register control, the setting should be aligned with
+      ITC bits at register USBCMD.
+
+  ahb-burst-config:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: This vendor-dependent property is used to change the AHB burst configuration and
+      should be aligned with AHBBRST at SBUSCFG. See the ChipIdea specification for the details on
+      each of those values. If this property does not exist, the reset value will be used.
+    minimum: 0
+    maximum: 7
+
+  tx-burst-size-dword:
+    description: This vendor-dependent property is used to configure the TX burst size (in 32-bit
+      words). The value represents the maximum length of a burst while moving data from system
+      memory to the USB bus. This property takes effect only if the "ahb-burst-config" property is
+      set to 0. If this property is missing the reset default of the hardware implementation will
+      be used.
+
+  rx-burst-size-dword:
+    description: This vendor-dependent property is used to configure the RX burst size (in 32-bit
+      words). This value represents the maximum length of a burst while moving data from the USB
+      bus to system memory. This property takes effect only if the "ahb-burst-config" property is
+      set to 0. If this property is missing the reset default of the hardware implementation will
+      be used.
+
+  extcon:
+    description: A list of phandles to external connector devices. The first phandle should point
+      to the external connector which provides "USB" cable events. The second should point to the
+      external connector device that provide "USB-HOST" cable events. If one of the external
+      connector devices is not required, an empty phandle (0) should be specified.
+
+  phy-clkgate-delay-us:
+    description: The delay time (in microseconds) between putting the PHY into low power mode and
+      gating the PHY clock.
+
+  non-zero-ttctrl-ttha:
+    description: |
+      After setting this property, the value of register ttctrl.ttha will be 0x7f; if not, the
+      value will be 0x0 (the default). The value for this property needs to be chosen very
+      carefully after consulting with your IC engineer.
+
+      On most ChipIdea platforms, the "usage_tt" flag at RTL is 0, so this property only affects
+      siTD.
+
+      If this property is not set, the maximum packet size is 1023 bytes, and if the total packet
+      size for previous transactions is more than 256 bytes, no further transactions can be
+      accepted within the frame. The use case is single transaction, but higher frame rate.
+
+      If this property is set, the maximum packet size is limited to 188 bytes and more
+      transactions than in the above case can be handled. Transactions will be accepted as long as
+      188 bytes or more of space are left within a frame. Software needs to make sure it does not
+      send more than 90% maximum_periodic_data_per_frame. The use case is higher amount of
+      transactions at the cost of a lower frame rate.
+
+  mux-controls:
+    description: The mux control for toggling host/device output of this controller. It's expected
+      that a mux state of 0 indicates device mode and a mux state of 1 indicates host mode.
+
+  mux-control-names:
+    const: usb_switch
+
+  pinctrl-names:
+    description: In case of HSIC-mode, "idle" and "active" pin modes are mandatory. In this case,
+      the "idle" state needs to pull down the data and strobe pin and the "active" state needs to
+      pull up the strobe pin.
+    minItems: 1
+    maxItems: 5
+    items:
+      enum:
+        - default
+        - host
+        - device
+        - idle # mandatory for HSIC
+        - active # mandatory for HSIC
+
+  # i.MX specific properties
+  fsl,usbmisc:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    description: phandle to non-core register device, with one argument that indicate USB
+      controller index.
+
+  disable-over-current:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: disable over current detect
+
+  over-current-active-low:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: Over-current signal polarity is active low. It's recommended to specify the
+      over-current polarity.
+
+  over-current-active-high:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: Over-current signal polarity is active high. It's recommended to specify the
+      over-current polarity.
+
+  power-active-high:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: power signal polarity is active high
+
+  external-vbus-divider:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: enables off-chip resistor divider for Vbus
+
+  samsung,picophy-pre-emp-curr-control:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: HS Transmitter Pre-Emphasis Current Control. This signal controls the amount of
+      current sourced to the USB_OTG*_DP and USB_OTG*_DN pins after a J-to-K or K-to-J transition.
+      Refer to the TXPREEMPAMPTUNE0 bits of register USBNC_n_PHY_CFG1 in the documentation for
+      more details.
+    minimum: 0
+    maximum: 3
+    default: 1
+
+  samsung,picophy-dc-vol-level-adjust:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC level
+      voltage. Refer to the TXVREFTUNE0 bits of register USBNC_n_PHY_CFG1 in the documentation for
+      more details.
+    minimum: 0
+    maximum: 0xf
+    default: 3
+
+  # NVIDIA Tegra specific properties
+  nvidia,needs-double-reset:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: Specifies a workaround for the USB1 port that needs to be reset twice internally
+      some Tegra devices.
+
+  # deprecated properties
+  usb-phy:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle for the PHY device. Use "phys" instead.
+    deprecated: true
+
+  fsl,usbphy:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle of usb phy that connects to the port. Use "phys" instead.
+    deprecated: true
+
+  nvidia,phy:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle for the PHY device. Use "phys" instead.
+    deprecated: true
+
+  # USB bus
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+patternProperties:
+  "^pinctrl-[0-9]+$": true
+
+additionalProperties:
+  $ref: usb-device.yaml
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+dependencies:
+  mux-control-names: [ mux-controls ]
+
+examples:
+  - |
+    #include <dt-bindings/clock/berlin2.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    usb@f7ed0000 {
+      compatible = "chipidea,usb2";
+      reg = <0xf7ed0000 0x10000>;
+      interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+      clocks = <&chip CLKID_USB0>;
+      phys = <&usb_phy0>;
+      phy-names = "usb-phy";
+      vbus-supply = <&reg_usb0_vbus>;
+      itc-setting = <0x4>; /* 4 micro-frames */
+      /* Incremental burst of unspecified length */
+      ahb-burst-config = <0x0>;
+      tx-burst-size-dword = <0x10>; /* 64 bytes */
+      rx-burst-size-dword = <0x10>;
+      extcon = <0>, <&usb_id>;
+      phy-clkgate-delay-us = <400>;
+      mux-controls = <&usb_switch>;
+      mux-control-names = "usb_switch";
+    };
+
+  # HSIC
+  - |
+    #include <dt-bindings/clock/imx6qdl-clock.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    usb@2184400 {
+      compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
+      reg = <0x02184400 0x200>;
+      interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+      clocks = <&clks IMX6QDL_CLK_USBOH3>;
+      fsl,usbphy = <&usbphynop1>;
+      fsl,usbmisc = <&usbmisc 2>;
+      phy_type = "hsic";
+      dr_mode = "host";
+      ahb-burst-config = <0x0>;
+      tx-burst-size-dword = <0x10>;
+      rx-burst-size-dword = <0x10>;
+      pinctrl-names = "idle", "active";
+      pinctrl-0 = <&pinctrl_usbh2_idle>;
+      pinctrl-1 = <&pinctrl_usbh2_active>;
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      usbnet: smsc@1 {
+        compatible = "usb424,9730";
+        reg = <1>;
+      };
+    };
Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt deleted +0 -158

158 lines not on this page · raw message

Signature · 1 line
2.34.1
#1 lore raw

PATCH 2/4 dt-bindings: usb: tegra: Convert to json-schema

From: Thierry Reding <[email protected]>

Convert the old plain-text device tree bindings for the USB EHCI controller found on NVIDIA Tegra SoCs to the json-schema format.

---
Changes in v2:
- include usb-hcd.yaml and usb-drd.yaml
- drop redundant phy_type property

 .../bindings/clock/nvidia,tegra124-car.yaml   |   5 +
 .../bindings/clock/nvidia,tegra20-car.yaml    |   5 +
 .../bindings/usb/nvidia,tegra20-ehci.txt      |  23 ---
 .../bindings/usb/nvidia,tegra20-ehci.yaml     | 156 ++++++++++++++++++
 4 files changed, 166 insertions(+), 23 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.yaml
Documentation/devicetree/bindings/clock/nvidia,tegra124-car.yaml +5 -0
index ec7ab1483652..bcd812378cfb 100644
@@ -99,6 +99,7 @@ additionalProperties: false
 examples:
   - |
     #include <dt-bindings/clock/tegra124-car.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
 
     car: clock-controller@60006000 {
         compatible = "nvidia,tegra124-car";
@@ -110,6 +111,10 @@ examples:
     usb-controller@c5004000 {
         compatible = "nvidia,tegra20-ehci";
         reg = <0xc5004000 0x4000>;
+        interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
         clocks = <&car TEGRA124_CLK_USB2>;
         resets = <&car TEGRA124_CLK_USB2>;
+        reset-names = "usb";
+        phy_type = "utmi";
+        nvidia,phy = <&phy1>;
     };
Documentation/devicetree/bindings/clock/nvidia,tegra20-car.yaml +5 -0
index 459d2a525393..aba52e56a99a 100644
@@ -53,6 +53,7 @@ additionalProperties: false
 examples:
   - |
     #include <dt-bindings/clock/tegra20-car.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
 
     car: clock-controller@60006000 {
         compatible = "nvidia,tegra20-car";
@@ -64,6 +65,10 @@ examples:
     usb-controller@c5004000 {
         compatible = "nvidia,tegra20-ehci";
         reg = <0xc5004000 0x4000>;
+        interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
         clocks = <&car TEGRA20_CLK_USB2>;
         resets = <&car TEGRA20_CLK_USB2>;
+        reset-names = "usb";
+        phy_type = "utmi";
+        nvidia,phy = <&phy1>;
     };
Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt deleted +0 -23
deleted file mode 100644
index f60785f73d3d..000000000000
@@ -1,23 +0,0 @@
-Tegra SOC USB controllers
-
-The device node for a USB controller that is part of a Tegra
-SOC is as described in the document "Open Firmware Recommended
-Practice : Universal Serial Bus" with the following modifications
-and additions :
-
-Required properties :
- - compatible : For Tegra20, must contain "nvidia,tegra20-ehci".
-   For Tegra30, must contain "nvidia,tegra30-ehci".  Otherwise, must contain
-   "nvidia,<chip>-ehci" plus at least one of the above, where <chip> is
-   tegra114, tegra124, tegra132, or tegra210.
- - nvidia,phy : phandle of the PHY that the controller is connected to.
- - clocks : Must contain one entry, for the module clock.
-   See ../clocks/clock-bindings.txt for details.
- - resets : Must contain an entry for each entry in reset-names.
-   See ../reset/reset.txt for details.
- - reset-names : Must include the following entries:
-   - usb
-
-Optional properties:
- - nvidia,needs-double-reset : boolean is to be set for some of the Tegra20
-   USB ports, which need reset twice due to hardware issues.
Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.yaml new file +156 -0

156 lines not on this page · raw message

Signature · 1 line
2.34.1
maintainer
#2 lore raw

Re: [PATCH 2/4] dt-bindings: usb: tegra: Convert to json-schema

Quoted 12 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Convert the old plain-text device tree bindings for the USB EHCI controller found on NVIDIA Tegra SoCs to the json-schema format.

---
Changes in v2:
- include usb-hcd.yaml and usb-drd.yaml
- drop redundant phy_type property

Quoted 8 lines
 .../bindings/clock/nvidia,tegra124-car.yaml   |   5 +
 .../bindings/clock/nvidia,tegra20-car.yaml    |   5 +
 .../bindings/usb/nvidia,tegra20-ehci.txt      |  23 ---
 .../bindings/usb/nvidia,tegra20-ehci.yaml     | 156 ++++++++++++++++++
 4 files changed, 166 insertions(+), 23 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.yaml

Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1565844

usb@7d004000: asix@1: 'compatible' is a required property
arch/arm/boot/dts/tegra30-colibri-eval-v3.dt.yaml

usb@c5004000: asix@1: 'compatible' is a required property
arch/arm/boot/dts/tegra20-colibri-eval-v3.dt.yaml arch/arm/boot/dts/tegra20-colibri-iris.dt.yaml

maintainer Reviewed-by on v1 2/4
#3 lore raw

Re: [PATCH 2/4] dt-bindings: usb: tegra: Convert to json-schema

In reply to Thierry Reding
Quoted 12 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Convert the old plain-text device tree bindings for the USB EHCI controller found on NVIDIA Tegra SoCs to the json-schema format.

---
Changes in v2:
- include usb-hcd.yaml and usb-drd.yaml
- drop redundant phy_type property

Quoted 8 lines
 .../bindings/clock/nvidia,tegra124-car.yaml   |   5 +
 .../bindings/clock/nvidia,tegra20-car.yaml    |   5 +
 .../bindings/usb/nvidia,tegra20-ehci.txt      |  23 ---
 .../bindings/usb/nvidia,tegra20-ehci.yaml     | 156 ++++++++++++++++++
 4 files changed, 166 insertions(+), 23 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.yaml
#4 lore raw

PATCH 3/4 dt-bindings: usb: tegra-xusb: Convert to json-schema

In reply to Thierry Reding

From: Thierry Reding <[email protected]>

Convert the Tegra XUSB controller bindings from the free-form text format to json-schema.

---
 .../bindings/usb/nvidia,tegra124-xusb.txt     | 132 -----------
 .../bindings/usb/nvidia,tegra124-xusb.yaml    | 201 +++++++++++++++++
 .../bindings/usb/nvidia,tegra186-xusb.yaml    | 182 +++++++++++++++
 .../bindings/usb/nvidia,tegra194-xusb.yaml    | 188 ++++++++++++++++
 .../bindings/usb/nvidia,tegra210-xusb.yaml    | 210 ++++++++++++++++++
 5 files changed, 781 insertions(+), 132 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra194-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra210-xusb.yaml
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt deleted +0 -132
deleted file mode 100644
index 5bfcc0b4d6b9..000000000000
@@ -1,132 +0,0 @@
-NVIDIA Tegra xHCI controller
-============================
-
-The Tegra xHCI controller supports both USB2 and USB3 interfaces exposed by
-the Tegra XUSB pad controller.
-
-Required properties:
---------------------
-- compatible: Must be:
-  - Tegra124: "nvidia,tegra124-xusb"
-  - Tegra132: "nvidia,tegra132-xusb", "nvidia,tegra124-xusb"
-  - Tegra210: "nvidia,tegra210-xusb"
-  - Tegra186: "nvidia,tegra186-xusb"
-- reg: Must contain the base and length of the xHCI host registers, XUSB FPCI
-  registers and XUSB IPFS registers.
-- reg-names: Must contain the following entries:
-  - "hcd"
-  - "fpci"
-  - "ipfs"
-- interrupts: Must contain the xHCI host interrupt and the mailbox interrupt.
-- clocks: Must contain an entry for each entry in clock-names.
-  See ../clock/clock-bindings.txt for details.
-- clock-names: Must include the following entries:
-   - xusb_host
-   - xusb_host_src
-   - xusb_falcon_src
-   - xusb_ss
-   - xusb_ss_src
-   - xusb_ss_div2
-   - xusb_hs_src
-   - xusb_fs_src
-   - pll_u_480m
-   - clk_m
-   - pll_e
-- resets: Must contain an entry for each entry in reset-names.
-  See ../reset/reset.txt for details.
-- reset-names: Must include the following entries:
-  - xusb_host
-  - xusb_ss
-  - xusb_src
-  Note that xusb_src is the shared reset for xusb_{ss,hs,fs,falcon,host}_src.
-- nvidia,xusb-padctl: phandle to the XUSB pad controller that is used to
-  configure the USB pads used by the XHCI controller
-
-For Tegra124 and Tegra132:
-- avddio-pex-supply: PCIe/USB3 analog logic power supply. Must supply 1.05 V.
-- dvddio-pex-supply: PCIe/USB3 digital logic power supply. Must supply 1.05 V.
-- avdd-usb-supply: USB controller power supply. Must supply 3.3 V.
-- avdd-pll-utmip-supply: UTMI PLL power supply. Must supply 1.8 V.
-- avdd-pll-erefe-supply: PLLE reference PLL power supply. Must supply 1.05 V.
-- avdd-usb-ss-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V.
-- hvdd-usb-ss-supply: High-voltage PCIe/USB3 power supply. Must supply 3.3 V.
-- hvdd-usb-ss-pll-e-supply: High-voltage PLLE power supply. Must supply 3.3 V.
-
-For Tegra210:
-- dvddio-pex-supply: PCIe/USB3 analog logic power supply. Must supply 1.05 V.
-- hvddio-pex-supply: High-voltage PCIe/USB3 power supply. Must supply 1.8 V.
-- avdd-usb-supply: USB controller power supply. Must supply 3.3 V.
-- avdd-pll-utmip-supply: UTMI PLL power supply. Must supply 1.8 V.
-- avdd-pll-uerefe-supply: PLLE reference PLL power supply. Must supply 1.05 V.
-- dvdd-pex-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V.
-- hvdd-pex-pll-e-supply: High-voltage PLLE power supply. Must supply 1.8 V.
-
-For Tegra210 and Tegra186:
-- power-domains: A list of PM domain specifiers that reference each power-domain
-  used by the xHCI controller. This list must comprise of a specifier for the
-  XUSBA and XUSBC power-domains. See ../power/power_domain.txt and
-  ../arm/tegra/nvidia,tegra20-pmc.txt for details.
-- power-domain-names: A list of names that represent each of the specifiers in
-  the 'power-domains' property. Must include 'xusb_ss' and 'xusb_host' which
-  represent the power-domains XUSBA and XUSBC, respectively. See
-  ../power/power_domain.txt for details.
-
-Optional properties:
---------------------
-- phys: Must contain an entry for each entry in phy-names.
-  See ../phy/phy-bindings.txt for details.
-- phy-names: Should include an entry for each PHY used by the controller. The
-  following PHYs are available:
-  - Tegra124: usb2-0, usb2-1, usb2-2, hsic-0, hsic-1, usb3-0, usb3-1
-  - Tegra132: usb2-0, usb2-1, usb2-2, hsic-0, hsic-1, usb3-0, usb3-1
-  - Tegra210: usb2-0, usb2-1, usb2-2, usb2-3, hsic-0, usb3-0, usb3-1, usb3-2,
-              usb3-3
-  - Tegra186: usb2-0, usb2-1, usb2-2, hsic-0, usb3-0, usb3-1, usb3-2
-
-Example:
---------
-
-	usb@0,70090000 {
-		compatible = "nvidia,tegra124-xusb";
-		reg = <0x0 0x70090000 0x0 0x8000>,
-		      <0x0 0x70098000 0x0 0x1000>,
-		      <0x0 0x70099000 0x0 0x1000>;
-		reg-names = "hcd", "fpci", "ipfs";
-
-		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
-			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
-
-		clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
-			 <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
-			 <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
-			 <&tegra_car TEGRA124_CLK_XUSB_SS>,
-			 <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
-			 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
-			 <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
-			 <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
-			 <&tegra_car TEGRA124_CLK_PLL_U_480M>,
-			 <&tegra_car TEGRA124_CLK_CLK_M>,
-			 <&tegra_car TEGRA124_CLK_PLL_E>;
-		clock-names = "xusb_host", "xusb_host_src", "xusb_falcon_src",
-			      "xusb_ss", "xusb_ss_div2", "xusb_ss_src",
-			      "xusb_hs_src", "xusb_fs_src", "pll_u_480m",
-			      "clk_m", "pll_e";
-		resets = <&tegra_car 89>, <&tegra_car 156>, <&tegra_car 143>;
-		reset-names = "xusb_host", "xusb_ss", "xusb_src";
-
-		nvidia,xusb-padctl = <&padctl>;
-
-		phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* mini-PCIe USB */
-		       <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB A */
-		       <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB A */
-		phy-names = "usb2-1", "usb2-2", "usb3-0";
-
-		avddio-pex-supply = <&vdd_1v05_run>;
-		dvddio-pex-supply = <&vdd_1v05_run>;
-		avdd-usb-supply = <&vdd_3v3_lp0>;
-		avdd-pll-utmip-supply = <&vddio_1v8>;
-		avdd-pll-erefe-supply = <&avdd_1v05_run>;
-		avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
-		hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
-		hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
-	};
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml new file +201 -0

201 lines not on this page · raw message

Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml new file +182 -0

182 lines not on this page · raw message

Documentation/devicetree/bindings/usb/nvidia,tegra194-xusb.yaml new file +188 -0

188 lines not on this page · raw message

Documentation/devicetree/bindings/usb/nvidia,tegra210-xusb.yaml new file +210 -0

210 lines not on this page · raw message

Signature · 1 line
2.34.1
maintainer
#5 lore raw

Re: [PATCH 3/4] dt-bindings: usb: tegra-xusb: Convert to json-schema

Quoted 6 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Convert the Tegra XUSB controller bindings from the free-form text format to json-schema.

Quoted 13 lines
---
 .../bindings/usb/nvidia,tegra124-xusb.txt     | 132 -----------
 .../bindings/usb/nvidia,tegra124-xusb.yaml    | 201 +++++++++++++++++
 .../bindings/usb/nvidia,tegra186-xusb.yaml    | 182 +++++++++++++++
 .../bindings/usb/nvidia,tegra194-xusb.yaml    | 188 ++++++++++++++++
 .../bindings/usb/nvidia,tegra210-xusb.yaml    | 210 ++++++++++++++++++
 5 files changed, 781 insertions(+), 132 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra194-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra210-xusb.yaml

Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1565847

usb@70090000: clock-names:4: 'xusb_ss_div2' was expected

	arch/arm64/boot/dts/nvidia/tegra132-norrin.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2371-0000.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2571.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2894-0050-a08.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-smaug.dt.yaml
	arch/arm/boot/dts/tegra124-apalis-eval.dt.yaml
	arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dt.yaml
	arch/arm/boot/dts/tegra124-jetson-tk1.dt.yaml
	arch/arm/boot/dts/tegra124-nyan-big.dt.yaml
	arch/arm/boot/dts/tegra124-nyan-blaze.dt.yaml
	arch/arm/boot/dts/tegra124-venice2.dt.yaml

usb@70090000: clock-names:5: 'xusb_ss_src' was expected

	arch/arm64/boot/dts/nvidia/tegra132-norrin.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2371-0000.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2571.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p2894-0050-a08.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dt.yaml
	arch/arm64/boot/dts/nvidia/tegra210-smaug.dt.yaml
	arch/arm/boot/dts/tegra124-apalis-eval.dt.yaml
	arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dt.yaml
	arch/arm/boot/dts/tegra124-jetson-tk1.dt.yaml
	arch/arm/boot/dts/tegra124-nyan-big.dt.yaml
	arch/arm/boot/dts/tegra124-nyan-blaze.dt.yaml
	arch/arm/boot/dts/tegra124-venice2.dt.yaml

usb@70090000: dvdd-pex-pll-supply: [[35]] is not of type 'object'

	arch/arm64/boot/dts/nvidia/tegra210-smaug.dt.yaml

usb@70090000: hvdd-pex-pll-e-supply: [[36]] is not of type 'object'

	arch/arm64/boot/dts/nvidia/tegra210-smaug.dt.yaml
maintainer
#6 lore raw

Re: [PATCH 3/4] dt-bindings: usb: tegra-xusb: Convert to json-schema

In reply to Thierry Reding
Quoted 4 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Convert the Tegra XUSB controller bindings from the free-form text format to json-schema.

Seems like the dtbs_check warnings need to be addressed.

Quoted 105 lines
---
 .../bindings/usb/nvidia,tegra124-xusb.txt     | 132 -----------
 .../bindings/usb/nvidia,tegra124-xusb.yaml    | 201 +++++++++++++++++
 .../bindings/usb/nvidia,tegra186-xusb.yaml    | 182 +++++++++++++++
 .../bindings/usb/nvidia,tegra194-xusb.yaml    | 188 ++++++++++++++++
 .../bindings/usb/nvidia,tegra210-xusb.yaml    | 210 ++++++++++++++++++
 5 files changed, 781 insertions(+), 132 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra194-xusb.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra210-xusb.yaml
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml new file +83 -0
new file mode 100644
index 000000000000..0b636a3b918b
@@ -0,0 +1,201 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/nvidia,tegra124-xusb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NVIDIA Tegra124 xHCI controller
+
+maintainers:
+  - Thierry Reding <[email protected]>
+  - Jon Hunter <[email protected]>
+
+description: The Tegra xHCI controller supports both USB2 and USB3 interfaces exposed by the Tegra
+  XUSB pad controller.
+
+properties:
+  # required
+  compatible:
+    oneOf:
+      - description: NVIDIA Tegra124
+        const: nvidia,tegra124-xusb
+
+      - description: NVIDIA Tegra132
+        items:
+          - const: nvidia,tegra132-xusb
+          - const: nvidia,tegra124-xusb
+
+  reg:
+    items:
+      - description: base and length of the xHCI host registers
+      - description: base and length of the XUSB FPCI registers
+      - description: base and length of the XUSB IPFS registers
+
+  reg-names:
+    items:
+      - const: hcd
+      - const: fpci
+      - const: ipfs
+
+  interrupts:
+    items:
+      - description: xHCI host interrupt
+      - description: mailbox interrupt
+
+  clocks:
+    items:
+      - description: XUSB host clock
+      - description: XUSB host source clock
+      - description: XUSB Falcon source clock
+      - description: XUSB SuperSpeed clock
+      - description: XUSB SuperSpeed clock divider
+      - description: XUSB SuperSpeed source clock
+      - description: XUSB HighSpeed clock source
+      - description: XUSB FullSpeed clock source
+      - description: USB PLL
+      - description: reference clock
+      - description: I/O PLL
+
+  clock-names:
+    items:
+      - const: xusb_host
+      - const: xusb_host_src
+      - const: xusb_falcon_src
+      - const: xusb_ss
+      - const: xusb_ss_div2
+      - const: xusb_ss_src
+      - const: xusb_hs_src
+      - const: xusb_fs_src
+      - const: pll_u_480m
+      - const: clk_m
+      - const: pll_e
+
+  resets:
+    items:
+      - description: reset for the XUSB host controller
+      - description: reset for the SuperSpeed logic
+      - description: shared reset for xusb_{ss,hs,fs,falcon,host}_src.
+
+  reset-names:
+    items:
+      - const: xusb_host
+      - const: xusb_ss
+      - const: xusb_src

Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml line 93

Quoted 10 lines
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml new file +10 -0
+
+  nvidia,xusb-padctl:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle to the XUSB pad controller that is used to configure
+      the USB pads used by the XHCI controller
+
+  # optional
+  phys:
+    description: Must contain an entry for each entry in phy-names. See
+      ../phy/phy-bindings.txt for details.

Drop generic descriptions.

Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml line 105

Quoted 12 lines
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml new file +12 -0
+
+  phy-names:
+    description: Should include an entry for each PHY used by the controller.
+    contains:
+      anyOf:
+        - const: usb2-0
+        - const: usb2-1
+        - const: usb2-2
+        - const: hsic-0
+        - const: hsic-1
+        - const: usb3-0
+        - const: usb3-1

Can you at least do:

minItems: 1
maxItems: ??
items:
enum:
- the list above...

Quoted 107 lines
Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.yaml new file +96 -0
+
+  avddio-pex-supply:
+    description: PCIe/USB3 analog logic power supply. Must supply 1.05 V.
+
+  dvddio-pex-supply:
+    description: PCIe/USB3 digital logic power supply. Must supply 1.05 V.
+
+  avdd-usb-supply:
+    description: USB controller power supply. Must supply 3.3 V.
+
+  avdd-pll-utmip-supply:
+    description: UTMI PLL power supply. Must supply 1.8 V.
+
+  avdd-pll-erefe-supply:
+    description: PLLE reference PLL power supply. Must supply 1.05 V.
+
+  avdd-usb-ss-pll-supply:
+    description: PCIe/USB3 PLL power supply. Must supply 1.05 V.
+
+  hvdd-usb-ss-supply:
+    description: High-voltage PCIe/USB3 power supply. Must supply 3.3 V.
+
+  hvdd-usb-ss-pll-e-supply:
+    description: High-voltage PLLE power supply. Must supply 3.3 V.
+
+allOf:
+  - $ref: usb-xhci.yaml
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - interrupts
+  - clocks
+  - clock-names
+  - resets
+  - reset-names
+  - nvidia,xusb-padctl
+  - phys
+  - phy-names
+  - avddio-pex-supply
+  - dvddio-pex-supply
+  - avdd-usb-supply
+  - hvdd-usb-ss-supply
+
+examples:
+  - |
+    #include <dt-bindings/clock/tegra124-car.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    usb@70090000 {
+        compatible = "nvidia,tegra124-xusb";
+        reg = <0x70090000 0x8000>,
+              <0x70098000 0x1000>,
+              <0x70099000 0x1000>;
+        reg-names = "hcd", "fpci", "ipfs";
+
+        interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
+                     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+
+        clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
+                 <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
+                 <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
+                 <&tegra_car TEGRA124_CLK_XUSB_SS>,
+                 <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
+                 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
+                 <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
+                 <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
+                 <&tegra_car TEGRA124_CLK_PLL_U_480M>,
+                 <&tegra_car TEGRA124_CLK_CLK_M>,
+                 <&tegra_car TEGRA124_CLK_PLL_E>;
+        clock-names = "xusb_host", "xusb_host_src", "xusb_falcon_src",
+                      "xusb_ss", "xusb_ss_div2", "xusb_ss_src",
+                      "xusb_hs_src", "xusb_fs_src", "pll_u_480m",
+                      "clk_m", "pll_e";
+        resets = <&tegra_car 89>, <&tegra_car 156>, <&tegra_car 143>;
+        reset-names = "xusb_host", "xusb_ss", "xusb_src";
+
+        nvidia,xusb-padctl = <&padctl>;
+
+        phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* mini-PCIe USB */
+               <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB A */
+               <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB A */
+        phy-names = "usb2-1", "usb2-2", "usb3-0";
+
+        avddio-pex-supply = <&vdd_1v05_run>;
+        dvddio-pex-supply = <&vdd_1v05_run>;
+        avdd-usb-supply = <&vdd_3v3_lp0>;
+        avdd-pll-utmip-supply = <&vddio_1v8>;
+        avdd-pll-erefe-supply = <&avdd_1v05_run>;
+        avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
+        hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
+        hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
+    };
Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml new file +5 -0
new file mode 100644
index 000000000000..4d896ac2afe5
@@ -0,0 +1,182 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/nvidia,tegra186-xusb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#

Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml line 15

Quoted 10 lines
Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml new file +10 -0
+
+title: NVIDIA Tegra186 xHCI controller
+
+maintainers:
+  - Thierry Reding <[email protected]>
+  - Jon Hunter <[email protected]>
+
+description: The Tegra xHCI controller supports both USB2 and USB3 interfaces exposed by the Tegra
+  XUSB pad controller.
+

Needs a reference to usb-xhci.yaml.

Quoted 157 lines
Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml new file +157 -0
+properties:
+  compatible:
+    const: nvidia,tegra186-xusb
+
+  reg:
+    items:
+      - description: base and length of the xHCI host registers
+      - description: base and length of the XUSB FPCI registers
+
+  reg-names:
+    items:
+      - const: hcd
+      - const: fpci
+
+  interrupts:
+    items:
+      - description: xHCI host interrupt
+      - description: mailbox interrupt
+
+  clocks:
+    items:
+      - description: XUSB host clock
+      - description: XUSB Falcon source clock
+      - description: XUSB SuperSpeed clock
+      - description: XUSB SuperSpeed source clock
+      - description: XUSB HighSpeed clock source
+      - description: XUSB FullSpeed clock source
+      - description: USB PLL
+      - description: reference clock
+      - description: I/O PLL
+
+  clock-names:
+    items:
+      - const: xusb_host
+      - const: xusb_falcon_src
+      - const: xusb_ss
+      - const: xusb_ss_src
+      - const: xusb_hs_src
+      - const: xusb_fs_src
+      - const: pll_u_480m
+      - const: clk_m
+      - const: pll_e
+
+  interconnects:
+    items:
+      - description: read client
+      - description: write client
+
+  interconnect-names:
+    items:
+      - const: dma-mem # read
+      - const: write
+
+  iommus:
+    maxItems: 1
+
+  nvidia,xusb-padctl:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle to the XUSB pad controller that is used to configure the USB pads used by
+      the XHCI controller
+
+  phys:
+    minItems: 1
+    maxItems: 7
+
+  phy-names:
+    contains:
+      anyOf:
+        - const: usb2-0
+        - const: usb2-1
+        - const: usb2-2
+        - const: hsic-0
+        - const: usb3-0
+        - const: usb3-1
+        - const: usb3-2
+
+  power-domains:
+    description: A list of PM domain specifiers that reference each power-domain used by the xHCI
+      controller. This list must comprise of a specifier for the XUSBA and XUSBC power-domains.
+      See ../power/power_domain.txt and ../arm/tegra/nvidia,tegra20-pmc.txt for details.
+    items:
+      - description: XUSBC power domain
+      - description: XUSBA power domain
+
+  power-domain-names:
+    description: A list of names that represent each of the specifiers in the 'power-domains'
+      property. See ../power/power_domain.txt for details.
+    items:
+      - const: xusb_host
+      - const: xusb_ss
+
+  dvddio-pex-supply:
+    description: PCIe/USB3 analog logic power supply. Must supply 1.05 V.
+
+  hvddio-pex-supply:
+    description: High-voltage PCIe/USB3 power supply. Must supply 1.8 V.
+
+  avdd-usb-supply:
+    description: USB controller power supply. Must supply 3.3 V.
+
+  avdd-pll-utmip-supply:
+    description: UTMI PLL power supply. Must supply 1.8 V.
+
+  avdd-pll-uerefe-supply:
+    description: PLLE reference PLL power supply. Must supply 1.05 V.
+
+  dvdd-usb-ss-pll-supply:
+    description: PCIe/USB3 PLL power supply. Must supply 1.05 V.
+
+  hvdd-usb-ss-pll-e-supply:
+    description: High-voltage PLLE power supply. Must supply 1.8 V.
+
+  # USB bus
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+additionalProperties:
+  description: USB device nodes
+  type: object
+
+examples:
+  - |
+    #include <dt-bindings/clock/tegra186-clock.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/memory/tegra186-mc.h>
+    #include <dt-bindings/power/tegra186-powergate.h>
+    #include <dt-bindings/reset/tegra186-reset.h>
+
+    usb@3530000 {
+        compatible = "nvidia,tegra186-xusb";
+        reg = <0x03530000 0x8000>,
+              <0x03538000 0x1000>;
+        reg-names = "hcd", "fpci";
+        interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
+                     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
+        clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>,
+                 <&bpmp TEGRA186_CLK_XUSB_FALCON>,
+                 <&bpmp TEGRA186_CLK_XUSB_SS>,
+                 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
+                 <&bpmp TEGRA186_CLK_CLK_M>,
+                 <&bpmp TEGRA186_CLK_XUSB_FS>,
+                 <&bpmp TEGRA186_CLK_PLLU>,
+                 <&bpmp TEGRA186_CLK_CLK_M>,
+                 <&bpmp TEGRA186_CLK_PLLE>;
+        clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss",
+                      "xusb_ss_src", "xusb_hs_src", "xusb_fs_src",
+                      "pll_u_480m", "clk_m", "pll_e";
+        power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>,
+                        <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
+        power-domain-names = "xusb_host", "xusb_ss";
+        interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>,
+                        <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>;
+        interconnect-names = "dma-mem", "write";
+        iommus = <&smmu TEGRA186_SID_XUSB_HOST>;

Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml line 182

Quoted 10 lines
Documentation/devicetree/bindings/usb/nvidia,tegra186-xusb.yaml new file +10 -0
+        nvidia,xusb-padctl = <&padctl>;
+
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>,
+               <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>,
+               <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>;
+        phy-names = "usb2-0", "usb2-1", "usb3-0";
+    };

Similar comments on the rest.

Rob

#7 lore raw

PATCH 4/4 dt-bindings: usb: tegra-xudc: Document interconnects and iommus properties

In reply to Thierry Reding

From: Thierry Reding <[email protected]>

Add the interconnects, interconnect-names and iommus properties to the device tree bindings for the Tegra XUDC controller. These are used to describe the device's paths to and from memory.

---
 .../devicetree/bindings/usb/nvidia,tegra-xudc.yaml  | 13 +++++++++++++
 1 file changed, 13 insertions(+)
Documentation/devicetree/bindings/usb/nvidia,tegra-xudc.yaml +13 -0
index 8428415896ce..a39c76b89484 100644
@@ -59,6 +59,19 @@ properties:
       - const: fs_src
       - const: hs_src
 
+  interconnects:
+    items:
+      - description: memory read client
+      - description: memory write client
+
+  interconnect-names:
+    items:
+      - const: dma-mem # read
+      - const: write
+
+  iommus:
+    maxItems: 1
+
   power-domains:
     items:
       - description: XUSBB(device) power-domain
Signature · 1 line
2.34.1
author Acked-by Rob Herring on v1 4/4
#8 lore raw

Re: [PATCH 4/4] dt-bindings: usb: tegra-xudc: Document interconnects and iommus properties

Quoted 10 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Add the interconnects, interconnect-names and iommus properties to the device tree bindings for the Tegra XUDC controller. These are used to describe the device's paths to and from memory.

---
 .../devicetree/bindings/usb/nvidia,tegra-xudc.yaml  | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Sorry Rob, I realized you already reviewed this one earlier:

	http://patchwork.ozlabs.org/project/linux-tegra/patch/[email protected]/

so technically:

maintainer
#9 lore raw
In reply to Thierry Reding
Quoted 5 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Convert the ChipIdea USB2 bindings from the free-form text format to json-schema.

Quoted 8 lines
---
 .../bindings/usb/chipidea,usb2.yaml           | 310 ++++++++++++++++++
 .../devicetree/bindings/usb/ci-hdrc-usb2.txt  | 158 ---------
 2 files changed, 310 insertions(+), 158 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/chipidea,usb2.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt

Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1565842

usb@10024000: clock-names: ['ipg', 'ahb', 'per'] is not of type 'object'

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024000: clocks: [[1, 75], [1, 62], [1, 15]] is too long

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024000: clocks: Additional items are not allowed ([1, 62], [1, 15] were unexpected)

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024200: clock-names: ['ipg', 'ahb', 'per'] is not of type 'object'

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024200: clocks: [[1, 75], [1, 62], [1, 15]] is too long

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024200: clocks: Additional items are not allowed ([1, 62], [1, 15] were unexpected)

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024400: clock-names: ['ipg', 'ahb', 'per'] is not of type 'object'

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024400: clocks: [[1, 75], [1, 62], [1, 15]] is too long

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@10024400: clocks: Additional items are not allowed ([1, 62], [1, 15] were unexpected)

	arch/arm/boot/dts/imx27-apf27dev.dt.yaml
	arch/arm/boot/dts/imx27-apf27.dt.yaml
	arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dt.yaml
	arch/arm/boot/dts/imx27-pdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycard-s-rdk.dt.yaml
	arch/arm/boot/dts/imx27-phytec-phycore-rdk.dt.yaml

usb@12500000: clock-names: ['core', 'iface'] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12500000: clocks: [[12, 128], [12, 126]] is too long

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12500000: clocks: Additional items are not allowed ([12, 126] was unexpected)

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12500000: reg: [[307232768, 512], [307233280, 512]] is too long

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12500000: #reset-cells: [[1]] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12500000: reset-names:0: 'usb' was expected

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12500000: ulpi: 'compatible' is a required property

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12500000: ulpi: 'reg' is a required property

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12520000: clock-names: ['core', 'iface'] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12520000: clocks: [[12, 297], [12, 295]] is too long

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12520000: clocks: Additional items are not allowed ([12, 295] was unexpected)

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12520000: reg: [[307363840, 512], [307364352, 512]] is too long

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12520000: #reset-cells: [[1]] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12520000: reset-names:0: 'usb' was expected

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12520000: ulpi: 'compatible' is a required property

	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml

usb@12520000: ulpi: 'reg' is a required property

	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml

usb@12530000: clock-names: ['core', 'iface'] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12530000: clocks: [[12, 300], [12, 298]] is too long

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12530000: clocks: Additional items are not allowed ([12, 298] was unexpected)

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12530000: reg: [[307429376, 512], [307429888, 512]] is too long

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12530000: #reset-cells: [[1]] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12530000: reset-names:0: 'usb' was expected

	arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dt.yaml

usb@12530000: ulpi: 'compatible' is a required property

	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml

usb@12530000: ulpi: 'reg' is a required property

	arch/arm/boot/dts/qcom-apq8064-cm-qs600.dt.yaml
	arch/arm/boot/dts/qcom-apq8064-ifc6410.dt.yaml

usb@2184000: adp-disable: True is not of type 'object'

	arch/arm/boot/dts/imx6dl-yapp4-draco.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-hydra.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-orion.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-ursa.dt.yaml
	arch/arm/boot/dts/imx6q-pistachio.dt.yaml
	arch/arm/boot/dts/imx6q-var-dt6customboard.dt.yaml
	arch/arm/boot/dts/imx6sll-evk.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-clarahd.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-librah2o.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine2hd.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine3.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-vision5.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s-43.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dt.yaml

usb@2184000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx6sl-evk.dt.yaml
	arch/arm/boot/dts/imx6sll-evk.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-clarahd.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-librah2o.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine2hd.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine3.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-vision5.dt.yaml
	arch/arm/boot/dts/imx6sl-warp.dt.yaml
	arch/arm/boot/dts/imx6sx-nitrogen6sx.dt.yaml
	arch/arm/boot/dts/imx6sx-sabreauto.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-mqs.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-sai.dt.yaml
	arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-basic.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-extended.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-full.dt.yaml
	arch/arm/boot/dts/imx6ul-14x14-evk.dt.yaml
	arch/arm/boot/dts/imx6ul-ccimx6ulsbcexpress.dt.yaml
	arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dt.yaml
	arch/arm/boot/dts/imx6ul-geam.dt.yaml
	arch/arm/boot/dts/imx6ul-isiot-emmc.dt.yaml
	arch/arm/boot/dts/imx6ul-isiot-nand.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s-43.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s.dt.yaml
	arch/arm/boot/dts/imx6ull-14x14-evk.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ul-liteboard.dt.yaml
	arch/arm/boot/dts/imx6ull-myir-mys-6ulx-eval.dt.yaml
	arch/arm/boot/dts/imx6ull-opos6uldev.dt.yaml
	arch/arm/boot/dts/imx6ull-phytec-segin-ff-rdk-emmc.dt.yaml
	arch/arm/boot/dts/imx6ull-phytec-segin-ff-rdk-nand.dt.yaml
	arch/arm/boot/dts/imx6ull-phytec-segin-lc-rdk-nand.dt.yaml
	arch/arm/boot/dts/imx6ul-opos6uldev.dt.yaml
	arch/arm/boot/dts/imx6ul-phytec-segin-ff-rdk-emmc.dt.yaml
	arch/arm/boot/dts/imx6ul-phytec-segin-ff-rdk-nand.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-dwarf.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-hobbit.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-pi.dt.yaml
	arch/arm/boot/dts/imx6ul-prti6g.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-0010.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-0011.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dt.yaml
	arch/arm/boot/dts/imx6ulz-14x14-evk.dt.yaml

usb@2184000: fsl,anatop: [[15]] is not of type 'object'
arch/arm/boot/dts/imx6sll-kobo-librah2o.dt.yaml

usb@2184000: fsl,anatop: [[16]] is not of type 'object'
arch/arm/boot/dts/imx6sll-kobo-clarahd.dt.yaml arch/arm/boot/dts/imx6ul-liteboard.dt.yaml

usb@2184000: fsl,anatop: [[17]] is not of type 'object'
arch/arm/boot/dts/imx6sll-evk.dt.yaml arch/arm/boot/dts/imx6ull-myir-mys-6ulx-eval.dt.yaml

usb@2184000: fsl,anatop: [[18]] is not of type 'object'

	arch/arm/boot/dts/imx6ul-isiot-emmc.dt.yaml
	arch/arm/boot/dts/imx6ul-isiot-nand.dt.yaml
	arch/arm/boot/dts/imx6ulz-14x14-evk.dt.yaml

usb@2184000: fsl,anatop: [[20]] is not of type 'object'
arch/arm/boot/dts/imx6sx-udoo-neo-basic.dt.yaml arch/arm/boot/dts/imx6sx-udoo-neo-extended.dt.yaml arch/arm/boot/dts/imx6sx-udoo-neo-full.dt.yaml

usb@2184000: fsl,anatop: [[21]] is not of type 'object'
arch/arm/boot/dts/imx6ul-prti6g.dt.yaml

usb@2184000: fsl,anatop: [[23]] is not of type 'object'
arch/arm/boot/dts/imx6ul-ccimx6ulsbcexpress.dt.yaml

usb@2184000: fsl,anatop: [[24]] is not of type 'object'

	arch/arm/boot/dts/imx6ul-kontron-n6310-s-43.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s.dt.yaml
	arch/arm/boot/dts/imx6ull-opos6uldev.dt.yaml
	arch/arm/boot/dts/imx6ull-phytec-segin-lc-rdk-nand.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-dwarf.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-hobbit.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-pi.dt.yaml

usb@2184000: fsl,anatop: [[25]] is not of type 'object'
arch/arm/boot/dts/imx6ul-geam.dt.yaml arch/arm/boot/dts/imx6ull-phytec-segin-ff-rdk-emmc.dt.yaml arch/arm/boot/dts/imx6ull-phytec-segin-ff-rdk-nand.dt.yaml arch/arm/boot/dts/imx6ul-opos6uldev.dt.yaml arch/arm/boot/dts/imx6ul-phytec-segin-ff-rdk-emmc.dt.yaml arch/arm/boot/dts/imx6ul-phytec-segin-ff-rdk-nand.dt.yaml

usb@2184000: fsl,anatop: [[26]] is not of type 'object'
arch/arm/boot/dts/imx6sx-sabreauto.dt.yaml

usb@2184000: fsl,anatop: [[27]] is not of type 'object'

	arch/arm/boot/dts/imx6sx-nitrogen6sx.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml
	arch/arm/boot/dts/imx6ul-14x14-evk.dt.yaml
	arch/arm/boot/dts/imx6ull-14x14-evk.dt.yaml

usb@2184000: fsl,anatop: [[28]] is not of type 'object'
arch/arm/boot/dts/imx6sx-sdb.dt.yaml arch/arm/boot/dts/imx6sx-sdb-sai.dt.yaml

usb@2184000: fsl,anatop: [[29]] is not of type 'object'
arch/arm/boot/dts/imx6sx-sdb-mqs.dt.yaml

usb@2184000: fsl,anatop: [[30]] is not of type 'object'

	arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-0010.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-0011.dt.yaml

usb@2184000: fsl,anatop: [[33]] is not of type 'object'
arch/arm/boot/dts/imx6ull-colibri-emmc-eval-v3.dt.yaml arch/arm/boot/dts/imx6ull-colibri-eval-v3.dt.yaml arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dt.yaml

usb@2184000: fsl,anatop: [[35]] is not of type 'object'
arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dt.yaml

usb@2184000: hnp-disable: True is not of type 'object'

	arch/arm/boot/dts/imx6dl-yapp4-draco.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-hydra.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-orion.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-ursa.dt.yaml
	arch/arm/boot/dts/imx6q-pistachio.dt.yaml
	arch/arm/boot/dts/imx6q-var-dt6customboard.dt.yaml
	arch/arm/boot/dts/imx6sll-evk.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-clarahd.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-librah2o.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine2hd.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine3.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-vision5.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s-43.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dt.yaml

usb@2184000: srp-disable: True is not of type 'object'

	arch/arm/boot/dts/imx6dl-yapp4-draco.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-hydra.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-orion.dt.yaml
	arch/arm/boot/dts/imx6dl-yapp4-ursa.dt.yaml
	arch/arm/boot/dts/imx6q-pistachio.dt.yaml
	arch/arm/boot/dts/imx6q-var-dt6customboard.dt.yaml
	arch/arm/boot/dts/imx6sll-evk.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-clarahd.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-librah2o.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine2hd.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine3.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-vision5.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s-43.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dt.yaml

usb@2184200: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx6sl-evk.dt.yaml
	arch/arm/boot/dts/imx6sll-evk.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-clarahd.dt.yaml
	arch/arm/boot/dts/imx6sll-kobo-librah2o.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine2hd.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine3.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-vision5.dt.yaml
	arch/arm/boot/dts/imx6sl-warp.dt.yaml
	arch/arm/boot/dts/imx6sx-nitrogen6sx.dt.yaml
	arch/arm/boot/dts/imx6sx-sabreauto.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-mqs.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-sai.dt.yaml
	arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-basic.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-extended.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-full.dt.yaml
	arch/arm/boot/dts/imx6ul-14x14-evk.dt.yaml
	arch/arm/boot/dts/imx6ul-ccimx6ulsbcexpress.dt.yaml
	arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dt.yaml
	arch/arm/boot/dts/imx6ul-geam.dt.yaml
	arch/arm/boot/dts/imx6ul-isiot-emmc.dt.yaml
	arch/arm/boot/dts/imx6ul-isiot-nand.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s-43.dt.yaml
	arch/arm/boot/dts/imx6ul-kontron-n6310-s.dt.yaml
	arch/arm/boot/dts/imx6ull-14x14-evk.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dt.yaml
	arch/arm/boot/dts/imx6ul-liteboard.dt.yaml
	arch/arm/boot/dts/imx6ull-myir-mys-6ulx-eval.dt.yaml
	arch/arm/boot/dts/imx6ull-opos6uldev.dt.yaml
	arch/arm/boot/dts/imx6ull-phytec-segin-ff-rdk-emmc.dt.yaml
	arch/arm/boot/dts/imx6ull-phytec-segin-ff-rdk-nand.dt.yaml
	arch/arm/boot/dts/imx6ull-phytec-segin-lc-rdk-nand.dt.yaml
	arch/arm/boot/dts/imx6ul-opos6uldev.dt.yaml
	arch/arm/boot/dts/imx6ul-phytec-segin-ff-rdk-emmc.dt.yaml
	arch/arm/boot/dts/imx6ul-phytec-segin-ff-rdk-nand.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-dwarf.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-hobbit.dt.yaml
	arch/arm/boot/dts/imx6ul-pico-pi.dt.yaml
	arch/arm/boot/dts/imx6ul-prti6g.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-0010.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-0011.dt.yaml
	arch/arm/boot/dts/imx6ul-tx6ul-mainboard.dt.yaml
	arch/arm/boot/dts/imx6ulz-14x14-evk.dt.yaml

usb@2184200: reset-gpios: [[21, 11, 0]] is not of type 'object'

	arch/arm/boot/dts/imx6q-dms-ba16.dt.yaml

usb@2184200: reset-gpios: [[22, 11, 0]] is not of type 'object'

	arch/arm/boot/dts/imx6q-b450v3.dt.yaml
	arch/arm/boot/dts/imx6q-b650v3.dt.yaml
	arch/arm/boot/dts/imx6q-b850v3.dt.yaml

usb@2184200: reset-gpios: [[39, 26, 1]] is not of type 'object'
arch/arm/boot/dts/imx6sx-nitrogen6sx.dt.yaml

usb@2184400: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx6sl-evk.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine2hd.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-shine3.dt.yaml
	arch/arm/boot/dts/imx6sl-tolino-vision5.dt.yaml
	arch/arm/boot/dts/imx6sl-warp.dt.yaml
	arch/arm/boot/dts/imx6sx-nitrogen6sx.dt.yaml
	arch/arm/boot/dts/imx6sx-sabreauto.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-mqs.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-sai.dt.yaml
	arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-basic.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-extended.dt.yaml
	arch/arm/boot/dts/imx6sx-udoo-neo-full.dt.yaml

usb@2184400: fsl,anatop: [[20]] is not of type 'object'
arch/arm/boot/dts/imx6sx-udoo-neo-basic.dt.yaml arch/arm/boot/dts/imx6sx-udoo-neo-extended.dt.yaml arch/arm/boot/dts/imx6sx-udoo-neo-full.dt.yaml

usb@2184400: fsl,anatop: [[26]] is not of type 'object'
arch/arm/boot/dts/imx6sx-sabreauto.dt.yaml

usb@2184400: fsl,anatop: [[27]] is not of type 'object'

	arch/arm/boot/dts/imx6sx-nitrogen6sx.dt.yaml
	arch/arm/boot/dts/imx6sx-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml

usb@2184400: fsl,anatop: [[28]] is not of type 'object'
arch/arm/boot/dts/imx6sx-sdb.dt.yaml arch/arm/boot/dts/imx6sx-sdb-sai.dt.yaml

usb@2184400: fsl,anatop: [[29]] is not of type 'object'
arch/arm/boot/dts/imx6sx-sdb-mqs.dt.yaml

usb@30b10000: adp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7d-mba7.dt.yaml arch/arm/boot/dts/imx7s-mba7.dt.yaml

usb@30b10000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx7d-cl-som-imx7.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-aster.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-emmc-aster.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml
	arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml
	arch/arm/boot/dts/imx7d-mba7.dt.yaml
	arch/arm/boot/dts/imx7d-meerkat96.dt.yaml
	arch/arm/boot/dts/imx7d-nitrogen7.dt.yaml
	arch/arm/boot/dts/imx7d-pico-dwarf.dt.yaml
	arch/arm/boot/dts/imx7d-pico-hobbit.dt.yaml
	arch/arm/boot/dts/imx7d-pico-nymph.dt.yaml
	arch/arm/boot/dts/imx7d-pico-pi.dt.yaml
	arch/arm/boot/dts/imx7d-remarkable2.dt.yaml
	arch/arm/boot/dts/imx7d-sbc-imx7.dt.yaml
	arch/arm/boot/dts/imx7d-sdb.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-sht11.dt.yaml
	arch/arm/boot/dts/imx7d-zii-rmu2.dt.yaml
	arch/arm/boot/dts/imx7d-zii-rpu2.dt.yaml
	arch/arm/boot/dts/imx7s-colibri-aster.dt.yaml
	arch/arm/boot/dts/imx7s-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7s-mba7.dt.yaml
	arch/arm/boot/dts/imx7s-warp.dt.yaml

usb@30b10000: hnp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7d-mba7.dt.yaml arch/arm/boot/dts/imx7s-mba7.dt.yaml

usb@30b10000: srp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7d-mba7.dt.yaml arch/arm/boot/dts/imx7s-mba7.dt.yaml

usb@30b20000: adp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml arch/arm/boot/dts/imx7d-mba7.dt.yaml

usb@30b20000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx7d-cl-som-imx7.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-aster.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-emmc-aster.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml
	arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml
	arch/arm/boot/dts/imx7d-mba7.dt.yaml
	arch/arm/boot/dts/imx7d-meerkat96.dt.yaml
	arch/arm/boot/dts/imx7d-nitrogen7.dt.yaml
	arch/arm/boot/dts/imx7d-pico-dwarf.dt.yaml
	arch/arm/boot/dts/imx7d-pico-hobbit.dt.yaml
	arch/arm/boot/dts/imx7d-pico-nymph.dt.yaml
	arch/arm/boot/dts/imx7d-pico-pi.dt.yaml
	arch/arm/boot/dts/imx7d-remarkable2.dt.yaml
	arch/arm/boot/dts/imx7d-sbc-imx7.dt.yaml
	arch/arm/boot/dts/imx7d-sdb.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-sht11.dt.yaml
	arch/arm/boot/dts/imx7d-zii-rmu2.dt.yaml
	arch/arm/boot/dts/imx7d-zii-rpu2.dt.yaml

usb@30b20000: hnp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml arch/arm/boot/dts/imx7d-mba7.dt.yaml arch/arm/boot/dts/imx7d-remarkable2.dt.yaml

usb@30b20000: srp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml arch/arm/boot/dts/imx7d-mba7.dt.yaml arch/arm/boot/dts/imx7d-remarkable2.dt.yaml

usb@30b30000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx7d-cl-som-imx7.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-aster.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-emmc-aster.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7d-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml
	arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml
	arch/arm/boot/dts/imx7d-mba7.dt.yaml
	arch/arm/boot/dts/imx7d-meerkat96.dt.yaml
	arch/arm/boot/dts/imx7d-nitrogen7.dt.yaml
	arch/arm/boot/dts/imx7d-pico-dwarf.dt.yaml
	arch/arm/boot/dts/imx7d-pico-hobbit.dt.yaml
	arch/arm/boot/dts/imx7d-pico-nymph.dt.yaml
	arch/arm/boot/dts/imx7d-pico-pi.dt.yaml
	arch/arm/boot/dts/imx7d-remarkable2.dt.yaml
	arch/arm/boot/dts/imx7d-sbc-imx7.dt.yaml
	arch/arm/boot/dts/imx7d-sdb.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-sht11.dt.yaml
	arch/arm/boot/dts/imx7d-zii-rmu2.dt.yaml
	arch/arm/boot/dts/imx7d-zii-rpu2.dt.yaml
	arch/arm/boot/dts/imx7s-colibri-aster.dt.yaml
	arch/arm/boot/dts/imx7s-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/imx7s-mba7.dt.yaml
	arch/arm/boot/dts/imx7s-warp.dt.yaml

usb@30b30000: power-domains: [[44]] is not of type 'object'
arch/arm/boot/dts/imx7d-remarkable2.dt.yaml

usb@30b30000: power-domains: [[46]] is not of type 'object'

	arch/arm/boot/dts/imx7d-cl-som-imx7.dt.yaml
	arch/arm/boot/dts/imx7d-sbc-imx7.dt.yaml

usb@30b30000: power-domains: [[47]] is not of type 'object'
arch/arm/boot/dts/imx7d-zii-rmu2.dt.yaml

usb@30b30000: power-domains: [[52]] is not of type 'object'
arch/arm/boot/dts/imx7d-flex-concentrator.dt.yaml arch/arm/boot/dts/imx7d-flex-concentrator-mfg.dt.yaml

usb@30b30000: power-domains: [[54]] is not of type 'object'
arch/arm/boot/dts/imx7d-meerkat96.dt.yaml

usb@30b30000: power-domains: [[57]] is not of type 'object'
arch/arm/boot/dts/imx7s-warp.dt.yaml

usb@30b30000: power-domains: [[63]] is not of type 'object'
arch/arm/boot/dts/imx7d-pico-nymph.dt.yaml

usb@30b30000: power-domains: [[64]] is not of type 'object'
arch/arm/boot/dts/imx7s-mba7.dt.yaml

usb@30b30000: power-domains: [[65]] is not of type 'object'

	arch/arm/boot/dts/imx7d-pico-dwarf.dt.yaml
	arch/arm/boot/dts/imx7d-pico-hobbit.dt.yaml
	arch/arm/boot/dts/imx7d-pico-pi.dt.yaml
	arch/arm/boot/dts/imx7d-sdb.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-reva.dt.yaml
	arch/arm/boot/dts/imx7d-sdb-sht11.dt.yaml

usb@30b30000: power-domains: [[66]] is not of type 'object'
arch/arm/boot/dts/imx7d-mba7.dt.yaml arch/arm/boot/dts/imx7d-nitrogen7.dt.yaml

usb@30b30000: power-domains: [[74]] is not of type 'object'
arch/arm/boot/dts/imx7d-zii-rpu2.dt.yaml

usb@30b30000: power-domains: [[78]] is not of type 'object'
arch/arm/boot/dts/imx7s-colibri-aster.dt.yaml

usb@30b30000: power-domains: [[80]] is not of type 'object'
arch/arm/boot/dts/imx7d-colibri-aster.dt.yaml arch/arm/boot/dts/imx7d-colibri-emmc-aster.dt.yaml

usb@30b30000: power-domains: [[82]] is not of type 'object'
arch/arm/boot/dts/imx7s-colibri-eval-v3.dt.yaml

usb@30b30000: power-domains: [[84]] is not of type 'object'
arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dt.yaml arch/arm/boot/dts/imx7d-colibri-eval-v3.dt.yaml

usb@32e40000: adp-disable: True is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml

usb@32e40000: clock-names: ['usb1_ctrl_root_clk'] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dt.yaml

usb@32e40000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-beacon-kit.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dt.yaml

usb@32e40000: hnp-disable: True is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml

usb@32e40000: port: 'compatible' is a required property
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml

usb@32e40000: port: 'reg' is a required property
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml

usb@32e40000: power-domains: [[47]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dt.yaml

usb@32e40000: power-domains: [[53]] is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml

usb@32e40000: power-domains: [[54]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dt.yaml

usb@32e40000: power-domains: [[57]] is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml

usb@32e40000: power-domains: [[61]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dt.yaml

usb@32e40000: power-domains: [[64]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml

usb@32e40000: power-domains: [[65]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dt.yaml

usb@32e40000: power-domains: [[66]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dt.yaml

usb@32e40000: power-domains: [[67]] is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml

usb@32e40000: power-domains: [[68]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dt.yaml

usb@32e40000: power-domains: [[71]] is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dt.yaml

usb@32e40000: srp-disable: True is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml

usb@32e40000: usb-role-switch: True is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml arch/arm64/boot/dts/freescale/imx8mn-var-som-symphony.dt.yaml

usb@32e50000: adp-disable: True is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml

usb@32e50000: clock-names: ['usb1_ctrl_root_clk'] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dt.yaml

usb@32e50000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dt.yaml

usb@32e50000: hnp-disable: True is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml

usb@32e50000: power-domains: [[50]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dt.yaml

usb@32e50000: power-domains: [[57]] is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dt.yaml

usb@32e50000: power-domains: [[58]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx-0x.dt.yaml

usb@32e50000: power-domains: [[61]] is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-evk.dt.yaml

usb@32e50000: power-domains: [[65]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dt.yaml

usb@32e50000: power-domains: [[67]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dt.yaml

usb@32e50000: power-domains: [[69]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x.dt.yaml

usb@32e50000: power-domains: [[70]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml
	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dt.yaml

usb@32e50000: power-domains: [[71]] is not of type 'object'

	arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dt.yaml

usb@32e50000: power-domains: [[75]] is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dt.yaml

usb@32e50000: srp-disable: True is not of type 'object'
arch/arm64/boot/dts/freescale/imx8mm-var-som-symphony.dt.yaml

usb@40034000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/vf500-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/vf610-bk4.dt.yaml
	arch/arm/boot/dts/vf610-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/vf610-cosmic.dt.yaml
	arch/arm/boot/dts/vf610m4-colibri.dt.yaml
	arch/arm/boot/dts/vf610m4-cosmic.dt.yaml
	arch/arm/boot/dts/vf610-twr.dt.yaml
	arch/arm/boot/dts/vf610-zii-cfu1.dt.yaml
	arch/arm/boot/dts/vf610-zii-dev-rev-b.dt.yaml
	arch/arm/boot/dts/vf610-zii-dev-rev-c.dt.yaml
	arch/arm/boot/dts/vf610-zii-scu4-aib.dt.yaml
	arch/arm/boot/dts/vf610-zii-spb4.dt.yaml
	arch/arm/boot/dts/vf610-zii-ssmb-dtu.dt.yaml
	arch/arm/boot/dts/vf610-zii-ssmb-spu3.dt.yaml

usb@400b4000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/vf500-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/vf610-bk4.dt.yaml
	arch/arm/boot/dts/vf610-colibri-eval-v3.dt.yaml
	arch/arm/boot/dts/vf610-cosmic.dt.yaml
	arch/arm/boot/dts/vf610m4-colibri.dt.yaml
	arch/arm/boot/dts/vf610m4-cosmic.dt.yaml
	arch/arm/boot/dts/vf610-twr.dt.yaml
	arch/arm/boot/dts/vf610-zii-cfu1.dt.yaml
	arch/arm/boot/dts/vf610-zii-dev-rev-b.dt.yaml
	arch/arm/boot/dts/vf610-zii-dev-rev-c.dt.yaml
	arch/arm/boot/dts/vf610-zii-scu4-aib.dt.yaml
	arch/arm/boot/dts/vf610-zii-spb4.dt.yaml
	arch/arm/boot/dts/vf610-zii-ssmb-dtu.dt.yaml
	arch/arm/boot/dts/vf610-zii-ssmb-spu3.dt.yaml

usb@40330000: adp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7ulp-com.dt.yaml arch/arm/boot/dts/imx7ulp-evk.dt.yaml

usb@40330000: compatible: 'oneOf' conditional failed, one must be fixed:
arch/arm/boot/dts/imx7ulp-com.dt.yaml arch/arm/boot/dts/imx7ulp-evk.dt.yaml

usb@40330000: hnp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7ulp-com.dt.yaml arch/arm/boot/dts/imx7ulp-evk.dt.yaml

usb@40330000: srp-disable: True is not of type 'object'
arch/arm/boot/dts/imx7ulp-com.dt.yaml arch/arm/boot/dts/imx7ulp-evk.dt.yaml

usb@53f80000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx50-evk.dt.yaml
	arch/arm/boot/dts/imx50-kobo-aura.dt.yaml
	arch/arm/boot/dts/imx53-ard.dt.yaml
	arch/arm/boot/dts/imx53-cx9020.dt.yaml
	arch/arm/boot/dts/imx53-kp-ddc.dt.yaml
	arch/arm/boot/dts/imx53-kp-hsc.dt.yaml
	arch/arm/boot/dts/imx53-m53evk.dt.yaml
	arch/arm/boot/dts/imx53-m53menlo.dt.yaml
	arch/arm/boot/dts/imx53-mba53.dt.yaml
	arch/arm/boot/dts/imx53-ppd.dt.yaml
	arch/arm/boot/dts/imx53-qsb.dt.yaml
	arch/arm/boot/dts/imx53-qsrb.dt.yaml
	arch/arm/boot/dts/imx53-smd.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x03x.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x13x.dt.yaml
	arch/arm/boot/dts/imx53-usbarmory.dt.yaml
	arch/arm/boot/dts/imx53-voipac-bsb.dt.yaml

usb@53f80200: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx50-evk.dt.yaml
	arch/arm/boot/dts/imx50-kobo-aura.dt.yaml
	arch/arm/boot/dts/imx53-ard.dt.yaml
	arch/arm/boot/dts/imx53-cx9020.dt.yaml
	arch/arm/boot/dts/imx53-kp-ddc.dt.yaml
	arch/arm/boot/dts/imx53-kp-hsc.dt.yaml
	arch/arm/boot/dts/imx53-m53evk.dt.yaml
	arch/arm/boot/dts/imx53-m53menlo.dt.yaml
	arch/arm/boot/dts/imx53-mba53.dt.yaml
	arch/arm/boot/dts/imx53-ppd.dt.yaml
	arch/arm/boot/dts/imx53-qsb.dt.yaml
	arch/arm/boot/dts/imx53-qsrb.dt.yaml
	arch/arm/boot/dts/imx53-smd.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x03x.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x13x.dt.yaml
	arch/arm/boot/dts/imx53-usbarmory.dt.yaml
	arch/arm/boot/dts/imx53-voipac-bsb.dt.yaml

usb@53f80400: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx53-ard.dt.yaml
	arch/arm/boot/dts/imx53-cx9020.dt.yaml
	arch/arm/boot/dts/imx53-kp-ddc.dt.yaml
	arch/arm/boot/dts/imx53-kp-hsc.dt.yaml
	arch/arm/boot/dts/imx53-m53evk.dt.yaml
	arch/arm/boot/dts/imx53-m53menlo.dt.yaml
	arch/arm/boot/dts/imx53-mba53.dt.yaml
	arch/arm/boot/dts/imx53-ppd.dt.yaml
	arch/arm/boot/dts/imx53-qsb.dt.yaml
	arch/arm/boot/dts/imx53-qsrb.dt.yaml
	arch/arm/boot/dts/imx53-smd.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x03x.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x13x.dt.yaml
	arch/arm/boot/dts/imx53-usbarmory.dt.yaml
	arch/arm/boot/dts/imx53-voipac-bsb.dt.yaml

usb@53f80600: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx53-ard.dt.yaml
	arch/arm/boot/dts/imx53-cx9020.dt.yaml
	arch/arm/boot/dts/imx53-kp-ddc.dt.yaml
	arch/arm/boot/dts/imx53-kp-hsc.dt.yaml
	arch/arm/boot/dts/imx53-m53evk.dt.yaml
	arch/arm/boot/dts/imx53-m53menlo.dt.yaml
	arch/arm/boot/dts/imx53-mba53.dt.yaml
	arch/arm/boot/dts/imx53-ppd.dt.yaml
	arch/arm/boot/dts/imx53-qsb.dt.yaml
	arch/arm/boot/dts/imx53-qsrb.dt.yaml
	arch/arm/boot/dts/imx53-smd.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x03x.dt.yaml
	arch/arm/boot/dts/imx53-tx53-x13x.dt.yaml
	arch/arm/boot/dts/imx53-usbarmory.dt.yaml
	arch/arm/boot/dts/imx53-voipac-bsb.dt.yaml

usb@53ff4000: clock-names: ['ipg', 'ahb', 'per'] is not of type 'object'

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml
	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@53ff4000: clocks: [[2, 9], [2, 70], [2, 8]] is too long

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml

usb@53ff4000: clocks: [[2, 9], [2, 73], [2, 28]] is too long

	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@53ff4000: clocks: Additional items are not allowed ([2, 70], [2, 8] were unexpected)

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml

usb@53ff4000: clocks: Additional items are not allowed ([2, 73], [2, 28] were unexpected)

	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@53ff4000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml
	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@53ff4400: clock-names: ['ipg', 'ahb', 'per'] is not of type 'object'

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml
	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@53ff4400: clocks: [[2, 9], [2, 70], [2, 8]] is too long

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml

usb@53ff4400: clocks: [[2, 9], [2, 73], [2, 28]] is too long

	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@53ff4400: clocks: Additional items are not allowed ([2, 70], [2, 8] were unexpected)

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml

usb@53ff4400: clocks: Additional items are not allowed ([2, 73], [2, 28] were unexpected)

	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@53ff4400: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dt.yaml
	arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dt.yaml
	arch/arm/boot/dts/imx25-karo-tx25.dt.yaml
	arch/arm/boot/dts/imx25-pdk.dt.yaml
	arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dt.yaml
	arch/arm/boot/dts/imx35-pdk.dt.yaml

usb@73f80000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx51-apf51dev.dt.yaml
	arch/arm/boot/dts/imx51-apf51.dt.yaml
	arch/arm/boot/dts/imx51-babbage.dt.yaml
	arch/arm/boot/dts/imx51-digi-connectcore-jsk.dt.yaml
	arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dt.yaml
	arch/arm/boot/dts/imx51-ts4800.dt.yaml
	arch/arm/boot/dts/imx51-zii-rdu1.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu2-mezz.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu3-esb.dt.yaml

usb@73f80200: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx51-apf51dev.dt.yaml
	arch/arm/boot/dts/imx51-apf51.dt.yaml
	arch/arm/boot/dts/imx51-babbage.dt.yaml
	arch/arm/boot/dts/imx51-digi-connectcore-jsk.dt.yaml
	arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dt.yaml
	arch/arm/boot/dts/imx51-ts4800.dt.yaml
	arch/arm/boot/dts/imx51-zii-rdu1.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu2-mezz.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu3-esb.dt.yaml

usb@73f80400: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx51-apf51dev.dt.yaml
	arch/arm/boot/dts/imx51-apf51.dt.yaml
	arch/arm/boot/dts/imx51-babbage.dt.yaml
	arch/arm/boot/dts/imx51-digi-connectcore-jsk.dt.yaml
	arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dt.yaml
	arch/arm/boot/dts/imx51-ts4800.dt.yaml
	arch/arm/boot/dts/imx51-zii-rdu1.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu2-mezz.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu3-esb.dt.yaml

usb@73f80600: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx51-apf51dev.dt.yaml
	arch/arm/boot/dts/imx51-apf51.dt.yaml
	arch/arm/boot/dts/imx51-babbage.dt.yaml
	arch/arm/boot/dts/imx51-digi-connectcore-jsk.dt.yaml
	arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dt.yaml
	arch/arm/boot/dts/imx51-ts4800.dt.yaml
	arch/arm/boot/dts/imx51-zii-rdu1.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu2-mezz.dt.yaml
	arch/arm/boot/dts/imx51-zii-scu3-esb.dt.yaml

usb@78d9000: adp-disable: True is not of type 'object'

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: clock-names: ['iface', 'core'] is not of type 'object'

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: clocks: [[19, 133], [19, 134]] is too long

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: clocks: Additional items are not allowed ([19, 134] was unexpected)

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: hnp-disable: True is not of type 'object'

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: interrupts: [[0, 134, 4], [0, 140, 4]] is too long

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: reg: [[126717952, 512], [126718464, 512]] is too long

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: #reset-cells: [[1]] is not of type 'object'

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: reset-names:0: 'usb' was expected

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: srp-disable: True is not of type 'object'

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-mtp.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: ulpi: 'compatible' is a required property

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@78d9000: ulpi: 'reg' is a required property

	arch/arm64/boot/dts/qcom/apq8016-sbc.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dt.yaml
	arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dt.yaml
	arch/arm/boot/dts/qcom-msm8916-samsung-serranove.dt.yaml

usb@80080000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx23-evk.dt.yaml
	arch/arm/boot/dts/imx23-olinuxino.dt.yaml
	arch/arm/boot/dts/imx23-sansa.dt.yaml
	arch/arm/boot/dts/imx23-stmp378x_devb.dt.yaml
	arch/arm/boot/dts/imx23-xfi3.dt.yaml
	arch/arm/boot/dts/imx28-apf28dev.dt.yaml
	arch/arm/boot/dts/imx28-apf28.dt.yaml
	arch/arm/boot/dts/imx28-apx4devkit.dt.yaml
	arch/arm/boot/dts/imx28-cfa10036.dt.yaml
	arch/arm/boot/dts/imx28-cfa10037.dt.yaml
	arch/arm/boot/dts/imx28-cfa10049.dt.yaml
	arch/arm/boot/dts/imx28-cfa10055.dt.yaml
	arch/arm/boot/dts/imx28-cfa10056.dt.yaml
	arch/arm/boot/dts/imx28-cfa10057.dt.yaml
	arch/arm/boot/dts/imx28-cfa10058.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2-485.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2-enocean.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2-spi.dt.yaml
	arch/arm/boot/dts/imx28-duckbill.dt.yaml
	arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dt.yaml
	arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dt.yaml
	arch/arm/boot/dts/imx28-evk.dt.yaml
	arch/arm/boot/dts/imx28-m28cu3.dt.yaml
	arch/arm/boot/dts/imx28-m28evk.dt.yaml
	arch/arm/boot/dts/imx28-sps1.dt.yaml
	arch/arm/boot/dts/imx28-ts4600.dt.yaml
	arch/arm/boot/dts/imx28-tx28.dt.yaml
	arch/arm/boot/dts/imx28-xea.dt.yaml

usb@80090000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/imx28-apf28dev.dt.yaml
	arch/arm/boot/dts/imx28-apf28.dt.yaml
	arch/arm/boot/dts/imx28-apx4devkit.dt.yaml
	arch/arm/boot/dts/imx28-cfa10036.dt.yaml
	arch/arm/boot/dts/imx28-cfa10037.dt.yaml
	arch/arm/boot/dts/imx28-cfa10049.dt.yaml
	arch/arm/boot/dts/imx28-cfa10055.dt.yaml
	arch/arm/boot/dts/imx28-cfa10056.dt.yaml
	arch/arm/boot/dts/imx28-cfa10057.dt.yaml
	arch/arm/boot/dts/imx28-cfa10058.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2-485.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2-enocean.dt.yaml
	arch/arm/boot/dts/imx28-duckbill-2-spi.dt.yaml
	arch/arm/boot/dts/imx28-duckbill.dt.yaml
	arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dt.yaml
	arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dt.yaml
	arch/arm/boot/dts/imx28-evk.dt.yaml
	arch/arm/boot/dts/imx28-m28cu3.dt.yaml
	arch/arm/boot/dts/imx28-m28evk.dt.yaml
	arch/arm/boot/dts/imx28-sps1.dt.yaml
	arch/arm/boot/dts/imx28-ts4600.dt.yaml
	arch/arm/boot/dts/imx28-tx28.dt.yaml
	arch/arm/boot/dts/imx28-xea.dt.yaml

usb@e0002000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/zynq-cc108.dt.yaml
	arch/arm/boot/dts/zynq-ebaz4205.dt.yaml
	arch/arm/boot/dts/zynq-microzed.dt.yaml
	arch/arm/boot/dts/zynq-parallella.dt.yaml
	arch/arm/boot/dts/zynq-zc702.dt.yaml
	arch/arm/boot/dts/zynq-zc706.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm010.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm011.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm012.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm013.dt.yaml
	arch/arm/boot/dts/zynq-zed.dt.yaml
	arch/arm/boot/dts/zynq-zturn.dt.yaml
	arch/arm/boot/dts/zynq-zturn-v5.dt.yaml
	arch/arm/boot/dts/zynq-zybo.dt.yaml
	arch/arm/boot/dts/zynq-zybo-z7.dt.yaml

usb@e0003000: compatible: 'oneOf' conditional failed, one must be fixed:

	arch/arm/boot/dts/zynq-cc108.dt.yaml
	arch/arm/boot/dts/zynq-ebaz4205.dt.yaml
	arch/arm/boot/dts/zynq-microzed.dt.yaml
	arch/arm/boot/dts/zynq-parallella.dt.yaml
	arch/arm/boot/dts/zynq-zc702.dt.yaml
	arch/arm/boot/dts/zynq-zc706.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm010.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm011.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm012.dt.yaml
	arch/arm/boot/dts/zynq-zc770-xm013.dt.yaml
	arch/arm/boot/dts/zynq-zed.dt.yaml
	arch/arm/boot/dts/zynq-zturn.dt.yaml
	arch/arm/boot/dts/zynq-zturn-v5.dt.yaml
	arch/arm/boot/dts/zynq-zybo.dt.yaml
	arch/arm/boot/dts/zynq-zybo-z7.dt.yaml

usb@f9a55000: adp-disable: True is not of type 'object'

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: clock-names: ['iface', 'core'] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: clocks: [[23, 263], [23, 265]] is too long

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: clocks: Additional items are not allowed ([23, 265] was unexpected)

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: hnp-disable: True is not of type 'object'

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: phy-select: [[34, 45056, 0]] is not of type 'object'

	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml

usb@f9a55000: phy-select: [[36, 45056, 1]] is not of type 'object'
arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml

usb@f9a55000: phy-select: [[37, 45056, 0]] is not of type 'object'
arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: phy-select: [[43, 45056, 0]] is not of type 'object'

	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml

usb@f9a55000: phy-select: [[45, 45056, 0]] is not of type 'object'
arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml

usb@f9a55000: reg: [[4188360704, 512], [4188361216, 512]] is too long

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: #reset-cells: [[1]] is not of type 'object'

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: reset-names:0: 'usb' was expected

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: srp-disable: True is not of type 'object'

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: ulpi: 'compatible' is a required property

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml

usb@f9a55000: ulpi: 'reg' is a required property

	arch/arm/boot/dts/qcom-apq8074-dragonboard.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-samsung-klte.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dt.yaml
	arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dt.yaml
maintainer
#10 lore raw
In reply to Thierry Reding
Quoted 19 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Convert the ChipIdea USB2 bindings from the free-form text format to json-schema.

---
 .../bindings/usb/chipidea,usb2.yaml           | 310 ++++++++++++++++++
 .../devicetree/bindings/usb/ci-hdrc-usb2.txt  | 158 ---------
 2 files changed, 310 insertions(+), 158 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/chipidea,usb2.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +0 -0
new file mode 100644
index 000000000000..0e36259f23ba

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 10

Quoted 10 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +10 -0
@@ -0,0 +1,310 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/usb/chipidea,usb2.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: USB2 ChipIdea USB controller for ci13xxx
+
+maintainers:
+  - Peter Chen <[email protected]>

This should have a reference to usb-drd.yaml I think.

Quoted 46 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +46 -0
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - fsl,imx23-usb
+          - fsl,imx27-usb
+          - fsl,imx28-usb
+          - fsl,imx6q-usb
+          - fsl,imx6sl-usb
+          - fsl,imx6sx-usb
+          - fsl,imx6ul-usb
+          - fsl,imx7d-usb
+          - fsl,imx7ulp-usb
+          - lsi,zevio-usb
+          - qcom,ci-hdrc
+          - chipidea,usb2
+          - xlnx,zynq-usb-2.20a
+          - nvidia,tegra20-udc
+          - nvidia,tegra30-udc
+          - nvidia,tegra114-udc
+          - nvidia,tegra124-udc
+      - items:
+          - const: fsl,imx6q-usb
+          - const: fsl,imx27-usb
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  phy_type:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: The type of the PHY connected to the core. Without this property the PORTSC
+      register won't be touched.
+    enum:
+      - utmi
+      - utmi_wide
+      - ulpi
+      - serial
+      - hsic
+
+  dr_mode:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: dual-role mode of the interface

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 66

Quoted 10 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +10 -0
+    enum:
+      - host
+      - peripheral
+      - otg
+    default:
+      const: otg
+
+  clocks:
+    items:
+      - description: reference to the USB clock

From the report, i.MX needs 3 clocks.

Quoted 168 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +168 -0
+
+  resets:
+    items:
+      - description: reference to the USB reset
+
+  reset-names:
+    items:
+      - const: usb
+
+  phys:
+    items:
+      - description: reference to the USB PHY
+
+  phy-names:
+    items:
+      - const: usb-phy
+
+  vbus-supply:
+    description: reference to the VBUS regulator
+
+  maximum-speed:
+    description: limit the maximum connection speed to "full-speed".
+
+  tpl-support:
+    description: TPL (Targeted Peripheral List) feature for targeted hosts
+
+  itc-setting:
+    description: Interrupt threshold control register control, the setting should be aligned with
+      ITC bits at register USBCMD.
+
+  ahb-burst-config:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: This vendor-dependent property is used to change the AHB burst configuration and
+      should be aligned with AHBBRST at SBUSCFG. See the ChipIdea specification for the details on
+      each of those values. If this property does not exist, the reset value will be used.
+    minimum: 0
+    maximum: 7
+
+  tx-burst-size-dword:
+    description: This vendor-dependent property is used to configure the TX burst size (in 32-bit
+      words). The value represents the maximum length of a burst while moving data from system
+      memory to the USB bus. This property takes effect only if the "ahb-burst-config" property is
+      set to 0. If this property is missing the reset default of the hardware implementation will
+      be used.
+
+  rx-burst-size-dword:
+    description: This vendor-dependent property is used to configure the RX burst size (in 32-bit
+      words). This value represents the maximum length of a burst while moving data from the USB
+      bus to system memory. This property takes effect only if the "ahb-burst-config" property is
+      set to 0. If this property is missing the reset default of the hardware implementation will
+      be used.
+
+  extcon:
+    description: A list of phandles to external connector devices. The first phandle should point
+      to the external connector which provides "USB" cable events. The second should point to the
+      external connector device that provide "USB-HOST" cable events. If one of the external
+      connector devices is not required, an empty phandle (0) should be specified.
+
+  phy-clkgate-delay-us:
+    description: The delay time (in microseconds) between putting the PHY into low power mode and
+      gating the PHY clock.
+
+  non-zero-ttctrl-ttha:
+    description: |
+      After setting this property, the value of register ttctrl.ttha will be 0x7f; if not, the
+      value will be 0x0 (the default). The value for this property needs to be chosen very
+      carefully after consulting with your IC engineer.
+
+      On most ChipIdea platforms, the "usage_tt" flag at RTL is 0, so this property only affects
+      siTD.
+
+      If this property is not set, the maximum packet size is 1023 bytes, and if the total packet
+      size for previous transactions is more than 256 bytes, no further transactions can be
+      accepted within the frame. The use case is single transaction, but higher frame rate.
+
+      If this property is set, the maximum packet size is limited to 188 bytes and more
+      transactions than in the above case can be handled. Transactions will be accepted as long as
+      188 bytes or more of space are left within a frame. Software needs to make sure it does not
+      send more than 90% maximum_periodic_data_per_frame. The use case is higher amount of
+      transactions at the cost of a lower frame rate.
+
+  mux-controls:
+    description: The mux control for toggling host/device output of this controller. It's expected
+      that a mux state of 0 indicates device mode and a mux state of 1 indicates host mode.
+
+  mux-control-names:
+    const: usb_switch
+
+  pinctrl-names:
+    description: In case of HSIC-mode, "idle" and "active" pin modes are mandatory. In this case,
+      the "idle" state needs to pull down the data and strobe pin and the "active" state needs to
+      pull up the strobe pin.
+    minItems: 1
+    maxItems: 5
+    items:
+      enum:
+        - default
+        - host
+        - device
+        - idle # mandatory for HSIC
+        - active # mandatory for HSIC
+
+  # i.MX specific properties
+  fsl,usbmisc:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    description: phandle to non-core register device, with one argument that indicate USB
+      controller index.
+
+  disable-over-current:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: disable over current detect
+
+  over-current-active-low:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: Over-current signal polarity is active low. It's recommended to specify the
+      over-current polarity.
+
+  over-current-active-high:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: Over-current signal polarity is active high. It's recommended to specify the
+      over-current polarity.
+
+  power-active-high:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: power signal polarity is active high
+
+  external-vbus-divider:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: enables off-chip resistor divider for Vbus
+
+  samsung,picophy-pre-emp-curr-control:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: HS Transmitter Pre-Emphasis Current Control. This signal controls the amount of
+      current sourced to the USB_OTG*_DP and USB_OTG*_DN pins after a J-to-K or K-to-J transition.
+      Refer to the TXPREEMPAMPTUNE0 bits of register USBNC_n_PHY_CFG1 in the documentation for
+      more details.
+    minimum: 0
+    maximum: 3
+    default: 1
+
+  samsung,picophy-dc-vol-level-adjust:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC level
+      voltage. Refer to the TXVREFTUNE0 bits of register USBNC_n_PHY_CFG1 in the documentation for
+      more details.
+    minimum: 0
+    maximum: 0xf
+    default: 3
+
+  # NVIDIA Tegra specific properties
+  nvidia,needs-double-reset:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: Specifies a workaround for the USB1 port that needs to be reset twice internally
+      some Tegra devices.
+
+  # deprecated properties
+  usb-phy:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle for the PHY device. Use "phys" instead.
+    deprecated: true
+
+  fsl,usbphy:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: phandle of usb phy that connects to the port. Use "phys" instead.
+    deprecated: true
+
+  nvidia,phy:
+    $ref: /schemas/types.yaml#/definitions/phandle

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 243

Quoted 10 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +9 -0
+    description: phandle for the PHY device. Use "phys" instead.
+    deprecated: true
+
 
+  # USB bus
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0

Covered by common schema (I think).

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 249

Quoted 6 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +6 -0
+
+patternProperties:
+  "^pinctrl-[0-9]+$": true
+
+additionalProperties:
+  $ref: usb-device.yaml

This is wrong as usb.device.yaml applies to child nodes.

Quoted 61 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +61 -0
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+dependencies:
+  mux-control-names: [ mux-controls ]
+
+examples:
+  - |
+    #include <dt-bindings/clock/berlin2.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    usb@f7ed0000 {
+      compatible = "chipidea,usb2";
+      reg = <0xf7ed0000 0x10000>;
+      interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+      clocks = <&chip CLKID_USB0>;
+      phys = <&usb_phy0>;
+      phy-names = "usb-phy";
+      vbus-supply = <&reg_usb0_vbus>;
+      itc-setting = <0x4>; /* 4 micro-frames */
+      /* Incremental burst of unspecified length */
+      ahb-burst-config = <0x0>;
+      tx-burst-size-dword = <0x10>; /* 64 bytes */
+      rx-burst-size-dword = <0x10>;
+      extcon = <0>, <&usb_id>;
+      phy-clkgate-delay-us = <400>;
+      mux-controls = <&usb_switch>;
+      mux-control-names = "usb_switch";
+    };
+
+  # HSIC
+  - |
+    #include <dt-bindings/clock/imx6qdl-clock.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    usb@2184400 {
+      compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
+      reg = <0x02184400 0x200>;
+      interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+      clocks = <&clks IMX6QDL_CLK_USBOH3>;
+      fsl,usbphy = <&usbphynop1>;
+      fsl,usbmisc = <&usbmisc 2>;
+      phy_type = "hsic";
+      dr_mode = "host";
+      ahb-burst-config = <0x0>;
+      tx-burst-size-dword = <0x10>;
+      rx-burst-size-dword = <0x10>;
+      pinctrl-names = "idle", "active";
+      pinctrl-0 = <&pinctrl_usbh2_idle>;
+      pinctrl-1 = <&pinctrl_usbh2_active>;
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      usbnet: smsc@1 {
+        compatible = "usb424,9730";
+        reg = <1>;
+      };
+    };
#11 lore raw
Quoted 83 lines · Rob Herring
Quoted 19 lines · Thierry Reding

From: Thierry Reding <[email protected]>

Convert the ChipIdea USB2 bindings from the free-form text format to json-schema.

---
 .../bindings/usb/chipidea,usb2.yaml           | 310 ++++++++++++++++++
 .../devicetree/bindings/usb/ci-hdrc-usb2.txt  | 158 ---------
 2 files changed, 310 insertions(+), 158 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/chipidea,usb2.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +0 -0
new file mode 100644
index 000000000000..0e36259f23ba

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 10

Quoted 10 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +10 -0
@@ -0,0 +1,310 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/usb/chipidea,usb2.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: USB2 ChipIdea USB controller for ci13xxx
+
+maintainers:
+  - Peter Chen <[email protected]>

This should have a reference to usb-drd.yaml I think.

Quoted 50 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +50 -0
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - fsl,imx23-usb
+          - fsl,imx27-usb
+          - fsl,imx28-usb
+          - fsl,imx6q-usb
+          - fsl,imx6sl-usb
+          - fsl,imx6sx-usb
+          - fsl,imx6ul-usb
+          - fsl,imx7d-usb
+          - fsl,imx7ulp-usb
+          - lsi,zevio-usb
+          - qcom,ci-hdrc
+          - chipidea,usb2
+          - xlnx,zynq-usb-2.20a
+          - nvidia,tegra20-udc
+          - nvidia,tegra30-udc
+          - nvidia,tegra114-udc
+          - nvidia,tegra124-udc
+      - items:
+          - const: fsl,imx6q-usb
+          - const: fsl,imx27-usb
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  phy_type:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: The type of the PHY connected to the core. Without this property the PORTSC
+      register won't be touched.
+    enum:
+      - utmi
+      - utmi_wide
+      - ulpi
+      - serial
+      - hsic
+
+  dr_mode:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: dual-role mode of the interface
+    enum:
+      - host
+      - peripheral
+      - otg
Quoted 8 lines

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 66

Quoted 6 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +6 -0
+    default:
+      const: otg
+
+  clocks:
+    items:
+      - description: reference to the USB clock

From the report, i.MX needs 3 clocks.

Okay, I'll look into that.

Quoted 8 lines

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 243

Quoted 6 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +6 -0
+  # USB bus
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0

Covered by common schema (I think).

Yeah, so this can be both used in peripheral mode and host mode, so it probably needs usb-hcd.yaml and usb-drd.yaml, and then #address-cells and #size-cells will get pulled in.

Quoted 9 lines

Documentation/devicetree/bindings/usb/chipidea,usb2.yaml line 249

Quoted 7 lines
Documentation/devicetree/bindings/usb/chipidea,usb2.yaml new file +6 -0
+
+patternProperties:
+  "^pinctrl-[0-9]+$": true
+
+additionalProperties:
+  $ref: usb-device.yaml

This is wrong as usb.device.yaml applies to child nodes.

Originally the idea behind this was that any additionalProperties would have to be child nodes that represent hard-wired USB devices. Given the above and that I'm now including usb-hcd.yaml here, this is taken care of automatically.

Thierry