1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2# Copyright 2026 NXP 3%YAML 1.2 4--- 5$id: http://devicetree.org/schemas/usb/nxp,imx-dwc3.yaml# 6$schema: http://devicetree.org/meta-schemas/core.yaml# 7 8title: NXP i.MX Soc USB Controller 9 10maintainers: 11 - Xu Yang <xu.yang_2@nxp.com> 12 13properties: 14 compatible: 15 oneOf: 16 - items: 17 - enum: 18 - nxp,imx94-dwc3 19 - nxp,imx95-dwc3 20 - const: nxp,imx8mp-dwc3 21 - const: nxp,imx8mp-dwc3 22 23 reg: 24 items: 25 - description: DWC3 core registers 26 - description: HSIO Block Control registers 27 - description: Wrapper registers of dwc3 core 28 29 reg-names: 30 items: 31 - const: core 32 - const: blkctl 33 - const: glue 34 35 interrupts: 36 items: 37 - description: DWC3 controller interrupt 38 - description: Wakeup interrupt from glue logic 39 40 interrupt-names: 41 items: 42 - const: dwc_usb3 43 - const: wakeup 44 45 iommus: 46 maxItems: 1 47 48 clocks: 49 items: 50 - description: System hsio root clock 51 - description: SoC Bus Clock for AHB/AXI/Native 52 - description: Reference clock for generating ITP when UTMI/ULPI PHY is suspended 53 - description: Suspend clock used for usb wakeup logic 54 55 clock-names: 56 items: 57 - const: hsio 58 - const: bus_early 59 - const: ref 60 - const: suspend 61 62 fsl,permanently-attached: 63 type: boolean 64 description: 65 Indicates if the device attached to a downstream port is 66 permanently attached 67 68 fsl,disable-port-power-control: 69 type: boolean 70 description: 71 Indicates whether the host controller implementation includes port 72 power control. Defines Bit 3 in capability register (HCCPARAMS) 73 74 fsl,over-current-active-low: 75 type: boolean 76 description: 77 Over current signal polarity is active low 78 79 fsl,power-active-low: 80 type: boolean 81 description: 82 Power pad (PWR) polarity is active low 83 84 power-domains: 85 maxItems: 1 86 87required: 88 - compatible 89 - reg 90 - clocks 91 - clock-names 92 - interrupts 93 - power-domains 94 95allOf: 96 - $ref: snps,dwc3-common.yaml# 97 98unevaluatedProperties: false 99 100examples: 101 - | 102 #include <dt-bindings/interrupt-controller/arm-gic.h> 103 104 usb@4c100000 { 105 compatible = "nxp,imx94-dwc3", "nxp,imx8mp-dwc3"; 106 reg = <0x4c100000 0x10000>, 107 <0x4c010010 0x04>, 108 <0x4c1f0000 0x20>; 109 reg-names = "core", "blkctl", "glue"; 110 clocks = <&scmi_clk 74>, //IMX94_CLK_HSIO 111 <&scmi_clk 74>, //IMX94_CLK_HSIO 112 <&scmi_clk 2>, //IMX94_CLK_24M 113 <&scmi_clk 1>; //IMX94_CLK_32K 114 clock-names = "hsio", "bus_early", "ref", "suspend"; 115 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>, 116 <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>; 117 interrupt-names = "dwc_usb3", "wakeup"; 118 power-domains = <&scmi_devpd 13>; //IMX94_PD_HSIO_TOP 119 phys = <&usb3_phy>, <&usb3_phy>; 120 phy-names = "usb2-phy", "usb3-phy"; 121 snps,gfladj-refclk-lpm-sel-quirk; 122 snps,parkmode-disable-ss-quirk; 123 }; 124