| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| # Copyright 2026 NXP |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/usb/nxp,imx-dwc3.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: NXP i.MX Soc USB Controller |
| |
| maintainers: |
| - Xu Yang <xu.yang_2@nxp.com> |
| |
| properties: |
| compatible: |
| oneOf: |
| - items: |
| - enum: |
| - nxp,imx94-dwc3 |
| - nxp,imx95-dwc3 |
| - const: nxp,imx8mp-dwc3 |
| - const: nxp,imx8mp-dwc3 |
| |
| reg: |
| items: |
| - description: DWC3 core registers |
| - description: HSIO Block Control registers |
| - description: Wrapper registers of dwc3 core |
| |
| reg-names: |
| items: |
| - const: core |
| - const: blkctl |
| - const: glue |
| |
| interrupts: |
| items: |
| - description: DWC3 controller interrupt |
| - description: Wakeup interrupt from glue logic |
| |
| interrupt-names: |
| items: |
| - const: dwc_usb3 |
| - const: wakeup |
| |
| iommus: |
| maxItems: 1 |
| |
| clocks: |
| items: |
| - description: System hsio root clock |
| - description: SoC Bus Clock for AHB/AXI/Native |
| - description: Reference clock for generating ITP when UTMI/ULPI PHY is suspended |
| - description: Suspend clock used for usb wakeup logic |
| |
| clock-names: |
| items: |
| - const: hsio |
| - const: bus_early |
| - const: ref |
| - const: suspend |
| |
| fsl,permanently-attached: |
| type: boolean |
| description: |
| Indicates if the device attached to a downstream port is |
| permanently attached |
| |
| fsl,disable-port-power-control: |
| type: boolean |
| description: |
| Indicates whether the host controller implementation includes port |
| power control. Defines Bit 3 in capability register (HCCPARAMS) |
| |
| fsl,over-current-active-low: |
| type: boolean |
| description: |
| Over current signal polarity is active low |
| |
| fsl,power-active-low: |
| type: boolean |
| description: |
| Power pad (PWR) polarity is active low |
| |
| power-domains: |
| maxItems: 1 |
| |
| required: |
| - compatible |
| - reg |
| - clocks |
| - clock-names |
| - interrupts |
| - power-domains |
| |
| allOf: |
| - $ref: snps,dwc3-common.yaml# |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| |
| usb@4c100000 { |
| compatible = "nxp,imx94-dwc3", "nxp,imx8mp-dwc3"; |
| reg = <0x4c100000 0x10000>, |
| <0x4c010010 0x04>, |
| <0x4c1f0000 0x20>; |
| reg-names = "core", "blkctl", "glue"; |
| clocks = <&scmi_clk 74>, //IMX94_CLK_HSIO |
| <&scmi_clk 74>, //IMX94_CLK_HSIO |
| <&scmi_clk 2>, //IMX94_CLK_24M |
| <&scmi_clk 1>; //IMX94_CLK_32K |
| clock-names = "hsio", "bus_early", "ref", "suspend"; |
| interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "dwc_usb3", "wakeup"; |
| power-domains = <&scmi_devpd 13>; //IMX94_PD_HSIO_TOP |
| phys = <&usb3_phy>, <&usb3_phy>; |
| phy-names = "usb2-phy", "usb3-phy"; |
| snps,gfladj-refclk-lpm-sel-quirk; |
| snps,parkmode-disable-ss-quirk; |
| }; |