Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: usb: introduce nxp,imx-dwc3

The i.MX USB glue and DWC3 core are closely coupled. Describe the i.MX
USB block in a single block will bring more benefits than a parent-child
relation. The new binding is used to describe flattened usb controller
node. It's a copy of the legacy binding fsl,imx8mp-dwc3.yaml with the
needed modifications.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Link: https://patch.msgid.link/20260212-add-flatten-dts-based-dwc3-imx-driver-v5-1-ff04a75ce221@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Xu Yang and committed by
Greg Kroah-Hartman
9ac1befa ca47d656

+125
+2
Documentation/devicetree/bindings/usb/fsl,imx8mp-dwc3.yaml
··· 10 10 maintainers: 11 11 - Li Jun <jun.li@nxp.com> 12 12 13 + deprecated: true 14 + 13 15 properties: 14 16 compatible: 15 17 oneOf:
+123
Documentation/devicetree/bindings/usb/nxp,imx-dwc3.yaml
··· 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 + 8 + title: NXP i.MX Soc USB Controller 9 + 10 + maintainers: 11 + - Xu Yang <xu.yang_2@nxp.com> 12 + 13 + properties: 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 + 87 + required: 88 + - compatible 89 + - reg 90 + - clocks 91 + - clock-names 92 + - interrupts 93 + - power-domains 94 + 95 + allOf: 96 + - $ref: snps,dwc3-common.yaml# 97 + 98 + unevaluatedProperties: false 99 + 100 + examples: 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 + };