* [PATCH v2 1/7] dt-bindings: dma: ti,cppi41: Convert to DT schema
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
@ 2026-08-18 14:28 ` Bhargav Joshi
2026-08-31 13:40 ` Rob Herring (Arm)
2026-08-18 14:28 ` [PATCH v2 2/7] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
` (6 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-18 14:28 UTC (permalink / raw)
To: Vignesh Raghavendra, Vinod Koul, Frank Li, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Greg Kroah-Hartman,
Andrzej Siewior, Neil Armstrong, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren, Ravi B, Kumar Gupta,
Sergei Shtylyov
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
Convert TI CPPI 4.1 DMA controller text bindings to DT schema. Add
ti,am3359-cppi41 and ti,da830-cppi41 into single schema since they share
the same hardware IP block and driver. Add undocumented #dma-requests
and power-domains properties to match existing DTS usage.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
.../devicetree/bindings/dma/ti/ti,cppi41.yaml | 109 +++++++++++++++++++++
.../devicetree/bindings/usb/am33xx-usb.txt | 14 ---
.../devicetree/bindings/usb/da8xx-usb.txt | 12 ---
3 files changed, 109 insertions(+), 26 deletions(-)
diff --git a/Documentation/devicetree/bindings/dma/ti/ti,cppi41.yaml b/Documentation/devicetree/bindings/dma/ti/ti,cppi41.yaml
new file mode 100644
index 000000000000..a8c28e8ada07
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/ti/ti,cppi41.yaml
@@ -0,0 +1,109 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/ti/ti,cppi41.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI CPPI41 DMA Controller
+
+maintainers:
+ - Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+
+properties:
+ compatible:
+ enum:
+ - ti,am3359-cppi41
+ - ti,da830-cppi41
+
+ reg:
+ minItems: 3
+ maxItems: 4
+
+ reg-names:
+ minItems: 3
+ maxItems: 4
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-names:
+ const: glue
+
+ "#dma-cells":
+ const: 2
+
+ dma-channels:
+ description: Number of DMA channels supported.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ dma-requests:
+ description: Number of DMA requests supported.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ power-domains:
+ maxItems: 1
+
+ "#dma-channels":
+ description: Deprecated, use dma-channels instead.
+ deprecated: true
+
+ "#dma-requests":
+ description: Deprecated, use dma-requests instead.
+ deprecated: true
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - "#dma-cells"
+ - dma-channels
+
+allOf:
+ - $ref: /schemas/dma/dma-controller.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: ti,am3359-cppi41
+ then:
+ properties:
+ reg:
+ minItems: 4
+ reg-names:
+ items:
+ - const: glue
+ - const: controller
+ - const: scheduler
+ - const: queuemgr
+ power-domains: false
+ required:
+ - interrupt-names
+ - interrupts
+ - dma-requests
+ else:
+ properties:
+ reg:
+ maxItems: 3
+ reg-names:
+ items:
+ - const: controller
+ - const: scheduler
+ - const: queuemgr
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ dma-controller@7402000 {
+ compatible = "ti,am3359-cppi41";
+ reg = <0x47400000 0x1000>,
+ <0x47402000 0x1000>,
+ <0x47403000 0x1000>,
+ <0x47404000 0x4000>;
+ reg-names = "glue", "controller", "scheduler", "queuemgr";
+ interrupts = <17>;
+ interrupt-names = "glue";
+ #dma-cells = <2>;
+ dma-channels = <30>;
+ dma-requests = <256>;
+ };
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
index 654ffc62d013..8431de346129 100644
--- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
+++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
@@ -51,20 +51,6 @@ USB
The controller should have an "usb" alias numbered properly in the alias
node.
-DMA
-~~~
-- compatible: ti,am3359-cppi41
-- reg: offset and length of the following register spaces: USBSS, USB
- CPPI DMA Controller, USB CPPI DMA Scheduler, USB Queue Manager
-- reg-names: glue, controller, scheduler, queuemgr
-- #dma-cells: should be set to 2. The first number represents the
- endpoint number (0 … 14 for endpoints 1 … 15 on instance 0 and 15 … 29
- for endpoints 1 … 15 on instance 1). The second number is 0 for RX and
- 1 for TX transfers.
-- dma-channels: should be set to 30 representing the 15 endpoints for
- each USB instance.
-- #dma-channels: deprecated
-
Example:
~~~~~~~~
The following example contains all the nodes as used on am335x-evm:
diff --git a/Documentation/devicetree/bindings/usb/da8xx-usb.txt b/Documentation/devicetree/bindings/usb/da8xx-usb.txt
index fb2027a7d80d..00320d92d3bb 100644
--- a/Documentation/devicetree/bindings/usb/da8xx-usb.txt
+++ b/Documentation/devicetree/bindings/usb/da8xx-usb.txt
@@ -27,18 +27,6 @@ Optional properties:
~~~~~~~~~~~~~~~~~~~~
- vbus-supply: Phandle to a regulator providing the USB bus power.
-DMA
-~~~
-- compatible: ti,da830-cppi41
-- reg: offset and length of the following register spaces: CPPI DMA Controller,
- CPPI DMA Scheduler, Queue Manager
-- reg-names: "controller", "scheduler", "queuemgr"
-- #dma-cells: should be set to 2. The first number represents the
- channel number (0 … 3 for endpoints 1 … 4).
- The second number is 0 for RX and 1 for TX transfers.
-- dma-channels: should be set to 4 representing the 4 endpoints.
-- #dma-channels: deprecated
-
Example:
usb_phy: usb-phy {
compatible = "ti,da830-usb-phy";
--
2.55.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v2 1/7] dt-bindings: dma: ti,cppi41: Convert to DT schema
2026-08-18 14:28 ` [PATCH v2 1/7] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
@ 2026-08-31 13:40 ` Rob Herring (Arm)
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2026-08-31 13:40 UTC (permalink / raw)
To: Bhargav Joshi
Cc: Roger Quadros, Aaro Koskinen, Frank Li, dmaengine, linux-kernel,
daniel.baluta, m-chawdhry, Greg Kroah-Hartman, Conor Dooley,
Vignesh Raghavendra, Andreas Kemnade, Tony Lindgren, linux-usb,
linux-omap, Kevin Hilman, Andrzej Siewior, linux-phy,
Krzysztof Kozlowski, Kumar Gupta, Sergei Shtylyov, goledhruva,
Vinod Koul, Neil Armstrong, devicetree, simona.toaca, Ravi B
On Tue, 18 Aug 2026 19:58:43 +0530, Bhargav Joshi wrote:
> Convert TI CPPI 4.1 DMA controller text bindings to DT schema. Add
> ti,am3359-cppi41 and ti,da830-cppi41 into single schema since they share
> the same hardware IP block and driver. Add undocumented #dma-requests
> and power-domains properties to match existing DTS usage.
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> ---
> .../devicetree/bindings/dma/ti/ti,cppi41.yaml | 109 +++++++++++++++++++++
> .../devicetree/bindings/usb/am33xx-usb.txt | 14 ---
> .../devicetree/bindings/usb/da8xx-usb.txt | 12 ---
> 3 files changed, 109 insertions(+), 26 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 2/7] dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
2026-08-18 14:28 ` [PATCH v2 1/7] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
@ 2026-08-18 14:28 ` Bhargav Joshi
2026-08-31 13:49 ` Rob Herring (Arm)
2026-08-18 14:28 ` [PATCH v2 3/7] ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes Bhargav Joshi
` (5 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-18 14:28 UTC (permalink / raw)
To: Vignesh Raghavendra, Vinod Koul, Frank Li, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Greg Kroah-Hartman,
Andrzej Siewior, Neil Armstrong, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren, Ravi B, Kumar Gupta,
Sergei Shtylyov
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
Convert the TI AM335x USB PHY text bindings to DT schema.
Add undocumented vcc-supply property to match existing DTS usage.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
.../devicetree/bindings/phy/ti,am335x-usb-phy.yaml | 49 ++++++++++++++++++++++
.../devicetree/bindings/usb/am33xx-usb.txt | 9 ----
2 files changed, 49 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/phy/ti,am335x-usb-phy.yaml b/Documentation/devicetree/bindings/phy/ti,am335x-usb-phy.yaml
new file mode 100644
index 000000000000..b28cd42ece5e
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/ti,am335x-usb-phy.yaml
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/ti,am335x-usb-phy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM335x USB PHY
+
+maintainers:
+ - Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+
+properties:
+ compatible:
+ const: ti,am335x-usb-phy
+
+ reg:
+ maxItems: 1
+
+ reg-names:
+ const: phy
+
+ ti,ctrl_mod:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Reference to the reset module node.
+
+ "#phy-cells":
+ const: 0
+
+ vcc-supply:
+ description: Phandle to the regulator that provides power to the PHY.
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - ti,ctrl_mod
+ - "#phy-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ usb-phy@47401300 {
+ compatible = "ti,am335x-usb-phy";
+ reg = <0x47401300 0x100>;
+ reg-names = "phy";
+ ti,ctrl_mod = <&ctrl_mod>;
+ #phy-cells = <0>;
+ };
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
index 8431de346129..8832843c7d7c 100644
--- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
+++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
@@ -17,15 +17,6 @@ Reset module
- reg-names: "phy_ctrl" for the "USB control registers" and "wakeup" for
the USB wake up control register.
-USB PHY
-~~~~~~~
-compatible: ti,am335x-usb-phy
-reg: offset and length of the "USB PHY" register space
-ti,ctrl_mod: reference to the "reset module" node
-reg-names: phy
-The PHY should have a "phy" alias numbered properly in the alias
-node.
-
USB
~~~
- compatible: ti,musb-am33xx
--
2.55.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v2 2/7] dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
2026-08-18 14:28 ` [PATCH v2 2/7] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
@ 2026-08-31 13:49 ` Rob Herring (Arm)
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2026-08-31 13:49 UTC (permalink / raw)
To: Bhargav Joshi
Cc: goledhruva, dmaengine, Sergei Shtylyov, Kumar Gupta, devicetree,
Aaro Koskinen, Greg Kroah-Hartman, linux-phy, m-chawdhry,
linux-usb, daniel.baluta, Vinod Koul, Kevin Hilman, linux-omap,
Vignesh Raghavendra, Roger Quadros, Ravi B, linux-kernel,
Tony Lindgren, Andreas Kemnade, simona.toaca, Frank Li,
Conor Dooley, Krzysztof Kozlowski, Neil Armstrong,
Andrzej Siewior
On Tue, 18 Aug 2026 19:58:44 +0530, Bhargav Joshi wrote:
> Convert the TI AM335x USB PHY text bindings to DT schema.
> Add undocumented vcc-supply property to match existing DTS usage.
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> ---
> .../devicetree/bindings/phy/ti,am335x-usb-phy.yaml | 49 ++++++++++++++++++++++
> .../devicetree/bindings/usb/am33xx-usb.txt | 9 ----
> 2 files changed, 49 insertions(+), 9 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 3/7] ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
2026-08-18 14:28 ` [PATCH v2 1/7] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
2026-08-18 14:28 ` [PATCH v2 2/7] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
@ 2026-08-18 14:28 ` Bhargav Joshi
2026-08-31 13:46 ` Rob Herring
2026-08-18 14:28 ` [PATCH v2 4/7] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema Bhargav Joshi
` (4 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-18 14:28 UTC (permalink / raw)
To: Vignesh Raghavendra, Vinod Koul, Frank Li, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Greg Kroah-Hartman,
Andrzej Siewior, Neil Armstrong, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren, Ravi B, Kumar Gupta,
Sergei Shtylyov
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
The am33xx.dtsi defines a single interrupts property for the MUSB nodes.
Several board-level files override the usb0 node to use
interrupts-extended instead to include vbus interrupt.
Since both interrupts and interrupts-extended cannot be used
simultaneously, Add /delete-property/ interrupts to the overriding
nodes to resolve the schema warnings.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi | 1 +
arch/arm/boot/dts/ti/omap/am335x-boneblue.dts | 1 +
arch/arm/boot/dts/ti/omap/am335x-bonegreen-eco.dts | 1 +
arch/arm/boot/dts/ti/omap/am335x-osd3358-sm-red.dts | 1 +
4 files changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi b/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi
index 1d83fc116b66..c436edd98e10 100644
--- a/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/ti/omap/am335x-bone-common.dtsi
@@ -197,6 +197,7 @@ &uart0 {
&usb0 {
dr_mode = "peripheral";
+ /delete-property/ interrupts;
interrupts-extended = <&intc 18 &tps 0>;
interrupt-names = "mc", "vbus";
};
diff --git a/arch/arm/boot/dts/ti/omap/am335x-boneblue.dts b/arch/arm/boot/dts/ti/omap/am335x-boneblue.dts
index d430f0bef165..7da2fb782ab2 100644
--- a/arch/arm/boot/dts/ti/omap/am335x-boneblue.dts
+++ b/arch/arm/boot/dts/ti/omap/am335x-boneblue.dts
@@ -304,6 +304,7 @@ &uart5 {
&usb0 {
dr_mode = "peripheral";
+ /delete-property/ interrupts;
interrupts-extended = <&intc 18 &tps 0>;
interrupt-names = "mc", "vbus";
};
diff --git a/arch/arm/boot/dts/ti/omap/am335x-bonegreen-eco.dts b/arch/arm/boot/dts/ti/omap/am335x-bonegreen-eco.dts
index d21118cdb6c2..6bf388c4abbf 100644
--- a/arch/arm/boot/dts/ti/omap/am335x-bonegreen-eco.dts
+++ b/arch/arm/boot/dts/ti/omap/am335x-bonegreen-eco.dts
@@ -35,6 +35,7 @@ v3v3: regulator-v3v3 {
};
&usb0 {
+ /delete-property/ interrupts;
interrupts-extended = <&intc 18>;
interrupt-names = "mc";
};
diff --git a/arch/arm/boot/dts/ti/omap/am335x-osd3358-sm-red.dts b/arch/arm/boot/dts/ti/omap/am335x-osd3358-sm-red.dts
index 23caaaabf351..068ea23bbc0c 100644
--- a/arch/arm/boot/dts/ti/omap/am335x-osd3358-sm-red.dts
+++ b/arch/arm/boot/dts/ti/omap/am335x-osd3358-sm-red.dts
@@ -376,6 +376,7 @@ &uart0 {
&usb0 {
dr_mode = "peripheral";
+ /delete-property/ interrupts;
interrupts-extended = <&intc 18 &tps 0>;
interrupt-names = "mc", "vbus";
};
--
2.55.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v2 3/7] ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes
2026-08-18 14:28 ` [PATCH v2 3/7] ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes Bhargav Joshi
@ 2026-08-31 13:46 ` Rob Herring
2026-08-31 23:02 ` Bhargav Joshi
0 siblings, 1 reply; 18+ messages in thread
From: Rob Herring @ 2026-08-31 13:46 UTC (permalink / raw)
To: Bhargav Joshi
Cc: Vignesh Raghavendra, Vinod Koul, Frank Li, Krzysztof Kozlowski,
Conor Dooley, Greg Kroah-Hartman, Andrzej Siewior, Neil Armstrong,
Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Ravi B, Kumar Gupta, Sergei Shtylyov, dmaengine,
devicetree, linux-kernel, linux-usb, linux-phy, linux-omap,
goledhruva, m-chawdhry, daniel.baluta, simona.toaca
On Tue, Aug 18, 2026 at 07:58:45PM +0530, Bhargav Joshi wrote:
> The am33xx.dtsi defines a single interrupts property for the MUSB nodes.
> Several board-level files override the usb0 node to use
> interrupts-extended instead to include vbus interrupt.
>
> Since both interrupts and interrupts-extended cannot be used
> simultaneously, Add /delete-property/ interrupts to the overriding
> nodes to resolve the schema warnings.
Actually, both should be allowed. In theory, an OS version not support
'interrupts-extended' and 'interrupts' is also needed for compatibility.
Though in reality, we've now had 'interrupts-extended' defined for a
long time. I'll look into what's causing this warning.
Rob
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 3/7] ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes
2026-08-31 13:46 ` Rob Herring
@ 2026-08-31 23:02 ` Bhargav Joshi
0 siblings, 0 replies; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:02 UTC (permalink / raw)
To: Rob Herring
Cc: Vignesh Raghavendra, Vinod Koul, Frank Li, Krzysztof Kozlowski,
Conor Dooley, Greg Kroah-Hartman, Andrzej Siewior, Neil Armstrong,
Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Ravi B, Kumar Gupta, Sergei Shtylyov, dmaengine,
devicetree, linux-kernel, linux-usb, linux-phy, linux-omap,
goledhruva, m-chawdhry, daniel.baluta, simona.toaca
On Mon, Aug 31, 2026 at 7:16 PM Rob Herring <robh@kernel.org> wrote:
>
> On Tue, Aug 18, 2026 at 07:58:45PM +0530, Bhargav Joshi wrote:
> > The am33xx.dtsi defines a single interrupts property for the MUSB nodes.
> > Several board-level files override the usb0 node to use
> > interrupts-extended instead to include vbus interrupt.
> >
> > Since both interrupts and interrupts-extended cannot be used
> > simultaneously, Add /delete-property/ interrupts to the overriding
> > nodes to resolve the schema warnings.
>
> Actually, both should be allowed. In theory, an OS version not support
> 'interrupts-extended' and 'interrupts' is also needed for compatibility.
> Though in reality, we've now had 'interrupts-extended' defined for a
> long time. I'll look into what's causing this warning.
Sure will drop this patch in the next version. I also opened pull request to
dt-schema fixing this warning
https://github.com/devicetree-org/dt-schema/pull/206
>
Best Regards,
Bhargav
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 4/7] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (2 preceding siblings ...)
2026-08-18 14:28 ` [PATCH v2 3/7] ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes Bhargav Joshi
@ 2026-08-18 14:28 ` Bhargav Joshi
2026-08-31 13:51 ` Rob Herring (Arm)
2026-08-18 14:28 ` [PATCH v2 5/7] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
` (3 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-18 14:28 UTC (permalink / raw)
To: Vignesh Raghavendra, Vinod Koul, Frank Li, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Greg Kroah-Hartman,
Andrzej Siewior, Neil Armstrong, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren, Ravi B, Kumar Gupta,
Sergei Shtylyov
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
Convert the TI AM33xx MUSB text bindings to DT schema.
Changes during conversion:
- Allow an optional vbus interrupt used in am335x-bone-common.
- Add the interface-type and phy-names properties natively used by the
dm816x hardware.
- Allow 0 or 1 for mentor,multipoint. While the text binding mandated 1,
the Mentor USB IP natively supports both single and multipoint
configurations as used in existing DTS.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
.../devicetree/bindings/usb/am33xx-usb.txt | 25 -----
.../devicetree/bindings/usb/ti,musb-am33xx.yaml | 113 +++++++++++++++++++++
2 files changed, 113 insertions(+), 25 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
index 8832843c7d7c..5973f88bcc65 100644
--- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
+++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
@@ -17,31 +17,6 @@ Reset module
- reg-names: "phy_ctrl" for the "USB control registers" and "wakeup" for
the USB wake up control register.
-USB
-~~~
-- compatible: ti,musb-am33xx
-- reg: offset and length of "USB Controller Registers", and offset and
- length of "USB Core" register space.
-- reg-names: control for the ""USB Controller Registers" and "mc" for
- "USB Core" register space
-- interrupts: USB interrupt number
-- interrupt-names: mc
-- dr_mode: Should be one of "host", "peripheral" or "otg".
-- mentor,multipoint: Should be "1" indicating the musb controller supports
- multipoint. This is a MUSB configuration-specific setting.
-- mentor,num-eps: Specifies the number of endpoints. This is also a
- MUSB configuration-specific setting. Should be set to "16"
-- mentor,ram-bits: Specifies the ram address size. Should be set to "12"
-- mentor,power: Should be "500". This signifies the controller can supply up to
- 500mA when operating in host mode.
-- phys: reference to the USB phy
-- dmas: specifies the dma channels
-- dma-names: specifies the names of the channels. Use "rxN" for receive
- and "txN" for transmit endpoints. N specifies the endpoint number.
-
-The controller should have an "usb" alias numbered properly in the alias
-node.
-
Example:
~~~~~~~~
The following example contains all the nodes as used on am335x-evm:
diff --git a/Documentation/devicetree/bindings/usb/ti,musb-am33xx.yaml b/Documentation/devicetree/bindings/usb/ti,musb-am33xx.yaml
new file mode 100644
index 000000000000..cc01edc75d11
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,musb-am33xx.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,musb-am33xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM33xx/DM816 MUSB
+
+maintainers:
+ - Ravi B <ravibabu@ti.com>
+ - Ajay Kumar Gupta <ajay.gupta@ti.com>
+
+allOf:
+ - $ref: /schemas/usb/usb-drd.yaml#
+
+properties:
+ compatible:
+ enum:
+ - ti,musb-am33xx
+ - ti,musb-dm816
+
+ reg:
+ maxItems: 2
+
+ reg-names:
+ items:
+ - const: mc
+ - const: control
+
+ interrupts:
+ minItems: 1
+ maxItems: 2
+
+ interrupt-names:
+ minItems: 1
+ items:
+ - const: mc
+ - const: vbus
+
+ mentor,multipoint:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Indicates the musb controller supports multipoint.
+ enum: [0, 1]
+
+ mentor,num-eps:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Specifies the number of endpoints.
+ const: 16
+
+ mentor,ram-bits:
+ description: Specifies the ram address size.
+ const: 12
+
+ mentor,power:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Controller supply capacity (in mA) when operating in host mode.
+ const: 500
+
+ phys:
+ maxItems: 1
+
+ dmas:
+ minItems: 1
+ maxItems: 30
+
+ dma-names:
+ minItems: 1
+ maxItems: 30
+ items:
+ pattern: "^(rx|tx)([1-9]|1[0-5])$"
+
+ phy-names:
+ const: usb2-phy
+
+ interface-type:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Describes the type of interface between the controller and the PHY.
+ enum: [ 0, 1 ]
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts
+ - interrupt-names
+ - dr_mode
+ - mentor,multipoint
+ - mentor,num-eps
+ - mentor,ram-bits
+ - mentor,power
+ - phys
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ usb@47401000 {
+ compatible = "ti,musb-am33xx";
+ reg = <0x47401400 0x400>,
+ <0x47401000 0x200>;
+ reg-names = "mc", "control";
+ interrupts = <18>;
+ interrupt-names = "mc";
+ dr_mode = "otg";
+ mentor,multipoint = <1>;
+ mentor,num-eps = <16>;
+ mentor,ram-bits = <12>;
+ mentor,power = <500>;
+ phys = <&usb0_phy>;
+ dmas = <&cppi41dma 0 0 &cppi41dma 1 0>;
+ dma-names = "rx1", "tx1";
+ };
+
--
2.55.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v2 4/7] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
2026-08-18 14:28 ` [PATCH v2 4/7] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema Bhargav Joshi
@ 2026-08-31 13:51 ` Rob Herring (Arm)
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2026-08-31 13:51 UTC (permalink / raw)
To: Bhargav Joshi
Cc: Tony Lindgren, Frank Li, simona.toaca, linux-phy, Neil Armstrong,
linux-usb, Sergei Shtylyov, linux-kernel, Kumar Gupta,
Conor Dooley, Roger Quadros, m-chawdhry, Kevin Hilman,
Krzysztof Kozlowski, Vinod Koul, Greg Kroah-Hartman,
Andrzej Siewior, Aaro Koskinen, daniel.baluta, Ravi B, goledhruva,
Vignesh Raghavendra, linux-omap, devicetree, dmaengine,
Andreas Kemnade
On Tue, 18 Aug 2026 19:58:46 +0530, Bhargav Joshi wrote:
> Convert the TI AM33xx MUSB text bindings to DT schema.
> Changes during conversion:
> - Allow an optional vbus interrupt used in am335x-bone-common.
> - Add the interface-type and phy-names properties natively used by the
> dm816x hardware.
> - Allow 0 or 1 for mentor,multipoint. While the text binding mandated 1,
> the Mentor USB IP natively supports both single and multipoint
> configurations as used in existing DTS.
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> ---
> .../devicetree/bindings/usb/am33xx-usb.txt | 25 -----
> .../devicetree/bindings/usb/ti,musb-am33xx.yaml | 113 +++++++++++++++++++++
> 2 files changed, 113 insertions(+), 25 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 5/7] dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (3 preceding siblings ...)
2026-08-18 14:28 ` [PATCH v2 4/7] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema Bhargav Joshi
@ 2026-08-18 14:28 ` Bhargav Joshi
2026-08-31 13:53 ` Rob Herring (Arm)
2026-08-18 14:28 ` [PATCH v2 6/7] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
` (2 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-18 14:28 UTC (permalink / raw)
To: Vignesh Raghavendra, Vinod Koul, Frank Li, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Greg Kroah-Hartman,
Andrzej Siewior, Neil Armstrong, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren, Ravi B, Kumar Gupta,
Sergei Shtylyov
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
Convert the TI AM335x USB Control Module text bindings to DT schema. No
functional changes.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
.../devicetree/bindings/usb/am33xx-usb.txt | 9 -----
.../bindings/usb/ti,am335x-usb-ctrl-module.yaml | 38 ++++++++++++++++++++++
2 files changed, 38 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
index 5973f88bcc65..94312ad8ec8c 100644
--- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
+++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
@@ -8,15 +8,6 @@ The glue layer contains multiple child nodes. It is required to have
at least a control module node, USB node and a PHY node. The second USB
node and its PHY node are optional. The DMA node is also optional.
-Reset module
-~~~~~~~~~~~~
-- compatible: ti,am335x-usb-ctrl-module
-- reg: offset and length of the "USB control registers" in the "Control
- Module" block. A second offset and length for the USB wake up control
- in the same memory block.
-- reg-names: "phy_ctrl" for the "USB control registers" and "wakeup" for
- the USB wake up control register.
-
Example:
~~~~~~~~
The following example contains all the nodes as used on am335x-evm:
diff --git a/Documentation/devicetree/bindings/usb/ti,am335x-usb-ctrl-module.yaml b/Documentation/devicetree/bindings/usb/ti,am335x-usb-ctrl-module.yaml
new file mode 100644
index 000000000000..f8ac0af745c6
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,am335x-usb-ctrl-module.yaml
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,am335x-usb-ctrl-module.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM335x USB Control Module
+
+maintainers:
+ - Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+
+properties:
+ compatible:
+ const: ti,am335x-usb-ctrl-module
+
+ reg:
+ maxItems: 2
+
+ reg-names:
+ items:
+ - const: phy_ctrl
+ - const: wakeup
+
+required:
+ - compatible
+ - reg
+ - reg-names
+
+additionalProperties: false
+
+examples:
+ - |
+ control@44e10000 {
+ compatible = "ti,am335x-usb-ctrl-module";
+ reg = <0x44e10620 0x10>,
+ <0x44e10648 0x4>;
+ reg-names = "phy_ctrl", "wakeup";
+ };
--
2.55.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v2 5/7] dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
2026-08-18 14:28 ` [PATCH v2 5/7] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
@ 2026-08-31 13:53 ` Rob Herring (Arm)
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2026-08-31 13:53 UTC (permalink / raw)
To: Bhargav Joshi
Cc: Kevin Hilman, Ravi B, Tony Lindgren, Roger Quadros, Kumar Gupta,
Sergei Shtylyov, Vinod Koul, Neil Armstrong, Andreas Kemnade,
Aaro Koskinen, linux-omap, linux-kernel, Greg Kroah-Hartman,
dmaengine, Andrzej Siewior, goledhruva, linux-usb, Frank Li,
linux-phy, Conor Dooley, simona.toaca, daniel.baluta,
Vignesh Raghavendra, devicetree, Krzysztof Kozlowski, m-chawdhry
On Tue, 18 Aug 2026 19:58:47 +0530, Bhargav Joshi wrote:
> Convert the TI AM335x USB Control Module text bindings to DT schema. No
> functional changes.
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> ---
> .../devicetree/bindings/usb/am33xx-usb.txt | 9 -----
> .../bindings/usb/ti,am335x-usb-ctrl-module.yaml | 38 ++++++++++++++++++++++
> 2 files changed, 38 insertions(+), 9 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 6/7] dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (4 preceding siblings ...)
2026-08-18 14:28 ` [PATCH v2 5/7] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
@ 2026-08-18 14:28 ` Bhargav Joshi
2026-08-31 13:59 ` Rob Herring (Arm)
2026-08-18 14:28 ` [PATCH v2 7/7] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
2026-08-31 13:48 ` [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings " Rob Herring
7 siblings, 1 reply; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-18 14:28 UTC (permalink / raw)
To: Vignesh Raghavendra, Vinod Koul, Frank Li, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Greg Kroah-Hartman,
Andrzej Siewior, Neil Armstrong, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren, Ravi B, Kumar Gupta,
Sergei Shtylyov
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
Convert the TI AM33xx USB Wrapper text binding to DT schema.
Changes during conversion:
- Drop the USB control module from child nodes, as it physically resides
within the System Control Module address space, not the USB wrapper.
- Allow standard phy@[0-9a-f]+$ child node names alongside the legacy
usb-phy@[0-9a-f]+$.
- Mark the legacy ti,hwmods property as deprecated.
- Document required #address-cells, #size-cells, and ranges property
missing from text binding.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
.../devicetree/bindings/usb/am33xx-usb.txt | 143 ---------------------
.../devicetree/bindings/usb/ti,am33xx-usb.yaml | 103 +++++++++++++++
2 files changed, 103 insertions(+), 143 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
deleted file mode 100644
index 94312ad8ec8c..000000000000
--- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
+++ /dev/null
@@ -1,143 +0,0 @@
- AM33xx MUSB
-~~~~~~~~~~~~~~~
-- compatible: ti,am33xx-usb
-- reg: offset and length of the usbss register sets
-- ti,hwmods : must be "usb_otg_hs"
-
-The glue layer contains multiple child nodes. It is required to have
-at least a control module node, USB node and a PHY node. The second USB
-node and its PHY node are optional. The DMA node is also optional.
-
-Example:
-~~~~~~~~
-The following example contains all the nodes as used on am335x-evm:
-
-aliases {
- usb0 = &usb0;
- usb1 = &usb1;
- phy0 = &usb0_phy;
- phy1 = &usb1_phy;
-};
-
-usb: usb@47400000 {
- compatible = "ti,am33xx-usb";
- reg = <0x47400000 0x1000>;
- ranges;
- #address-cells = <1>;
- #size-cells = <1>;
- ti,hwmods = "usb_otg_hs";
-
- ctrl_mod: control@44e10000 {
- compatible = "ti,am335x-usb-ctrl-module";
- reg = <0x44e10620 0x10
- 0x44e10648 0x4>;
- reg-names = "phy_ctrl", "wakeup";
- };
-
- usb0_phy: usb-phy@47401300 {
- compatible = "ti,am335x-usb-phy";
- reg = <0x47401300 0x100>;
- reg-names = "phy";
- ti,ctrl_mod = <&ctrl_mod>;
- #phy-cells = <0>;
- };
-
- usb0: usb@47401000 {
- compatible = "ti,musb-am33xx";
- reg = <0x47401400 0x400
- 0x47401000 0x200>;
- reg-names = "mc", "control";
-
- interrupts = <18>;
- interrupt-names = "mc";
- dr_mode = "otg"
- mentor,multipoint = <1>;
- mentor,num-eps = <16>;
- mentor,ram-bits = <12>;
- mentor,power = <500>;
- phys = <&usb0_phy>;
-
- dmas = <&cppi41dma 0 0 &cppi41dma 1 0
- &cppi41dma 2 0 &cppi41dma 3 0
- &cppi41dma 4 0 &cppi41dma 5 0
- &cppi41dma 6 0 &cppi41dma 7 0
- &cppi41dma 8 0 &cppi41dma 9 0
- &cppi41dma 10 0 &cppi41dma 11 0
- &cppi41dma 12 0 &cppi41dma 13 0
- &cppi41dma 14 0 &cppi41dma 0 1
- &cppi41dma 1 1 &cppi41dma 2 1
- &cppi41dma 3 1 &cppi41dma 4 1
- &cppi41dma 5 1 &cppi41dma 6 1
- &cppi41dma 7 1 &cppi41dma 8 1
- &cppi41dma 9 1 &cppi41dma 10 1
- &cppi41dma 11 1 &cppi41dma 12 1
- &cppi41dma 13 1 &cppi41dma 14 1>;
- dma-names =
- "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
- "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
- "rx14", "rx15",
- "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
- "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
- "tx14", "tx15";
- };
-
- usb1_phy: usb-phy@47401b00 {
- compatible = "ti,am335x-usb-phy";
- reg = <0x47401b00 0x100>;
- reg-names = "phy";
- ti,ctrl_mod = <&ctrl_mod>;
- #phy-cells = <0>;
- };
-
- usb1: usb@47401800 {
- compatible = "ti,musb-am33xx";
- reg = <0x47401c00 0x400
- 0x47401800 0x200>;
- reg-names = "mc", "control";
- interrupts = <19>;
- interrupt-names = "mc";
- dr_mode = "host"
- mentor,multipoint = <1>;
- mentor,num-eps = <16>;
- mentor,ram-bits = <12>;
- mentor,power = <500>;
- phys = <&usb1_phy>;
-
- dmas = <&cppi41dma 15 0 &cppi41dma 16 0
- &cppi41dma 17 0 &cppi41dma 18 0
- &cppi41dma 19 0 &cppi41dma 20 0
- &cppi41dma 21 0 &cppi41dma 22 0
- &cppi41dma 23 0 &cppi41dma 24 0
- &cppi41dma 25 0 &cppi41dma 26 0
- &cppi41dma 27 0 &cppi41dma 28 0
- &cppi41dma 29 0 &cppi41dma 15 1
- &cppi41dma 16 1 &cppi41dma 17 1
- &cppi41dma 18 1 &cppi41dma 19 1
- &cppi41dma 20 1 &cppi41dma 21 1
- &cppi41dma 22 1 &cppi41dma 23 1
- &cppi41dma 24 1 &cppi41dma 25 1
- &cppi41dma 26 1 &cppi41dma 27 1
- &cppi41dma 28 1 &cppi41dma 29 1>;
- dma-names =
- "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
- "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
- "rx14", "rx15",
- "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
- "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
- "tx14", "tx15";
- };
-
- cppi41dma: dma-controller@7402000 {
- compatible = "ti,am3359-cppi41";
- reg = <0x47400000 0x1000
- 0x47402000 0x1000
- 0x47403000 0x1000
- 0x47404000 0x4000>;
- reg-names = "glue", "controller", "scheduler", "queuemgr";
- interrupts = <17>;
- interrupt-names = "glue";
- #dma-cells = <2>;
- dma-channels = <30>;
- dma-requests = <256>;
- };
-};
diff --git a/Documentation/devicetree/bindings/usb/ti,am33xx-usb.yaml b/Documentation/devicetree/bindings/usb/ti,am33xx-usb.yaml
new file mode 100644
index 000000000000..0b36b9ddfb4a
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,am33xx-usb.yaml
@@ -0,0 +1,103 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,am33xx-usb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM33xx USB Wrapper
+
+description:
+ The glue layer contains multiple child nodes. It is required to have at least
+ a USB node and a PHY node. The second USB node and its PHY node are optional.
+ The DMA node is also optional.
+
+maintainers:
+ - Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+
+properties:
+ compatible:
+ const: ti,am33xx-usb
+
+ reg:
+ maxItems: 1
+
+ ranges: true
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+ ti,hwmods:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: Name of the hwmod associated with the USB module.
+ const: usb_otg_hs
+ deprecated: true
+
+patternProperties:
+ "^(usb-)?phy@[0-9a-f]+$":
+ $ref: /schemas/phy/ti,am335x-usb-phy.yaml#
+
+ "^usb@[0-9a-f]+$":
+ $ref: /schemas/usb/ti,musb-am33xx.yaml#
+
+ "^dma-controller@[0-9a-f]+$":
+ $ref: /schemas/dma/ti/ti,cppi41.yaml#
+
+required:
+ - compatible
+ - reg
+ - ranges
+ - "#address-cells"
+ - "#size-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ usb@47400000 {
+ compatible = "ti,am33xx-usb";
+ reg = <0x47400000 0x1000>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ti,hwmods = "usb_otg_hs";
+
+ usb-phy@47401300 {
+ compatible = "ti,am335x-usb-phy";
+ reg = <0x47401300 0x100>;
+ reg-names = "phy";
+ ti,ctrl_mod = <&ctrl_mod>;
+ #phy-cells = <0>;
+ };
+
+ usb@47401000 {
+ compatible = "ti,musb-am33xx";
+ reg = <0x47401400 0x400>,
+ <0x47401000 0x200>;
+ reg-names = "mc", "control";
+ interrupts = <18>;
+ interrupt-names = "mc";
+ dr_mode = "otg";
+ mentor,multipoint = <1>;
+ mentor,num-eps = <16>;
+ mentor,ram-bits = <12>;
+ mentor,power = <500>;
+ phys = <&usb0_phy>;
+ };
+
+ dma-controller@7402000 {
+ compatible = "ti,am3359-cppi41";
+ reg = <0x47400000 0x1000>,
+ <0x47402000 0x1000>,
+ <0x47403000 0x1000>,
+ <0x47404000 0x4000>;
+ reg-names = "glue", "controller", "scheduler", "queuemgr";
+ interrupts = <17>;
+ interrupt-names = "glue";
+ #dma-cells = <2>;
+ dma-channels = <30>;
+ dma-requests = <256>;
+ };
+ };
--
2.55.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v2 6/7] dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
2026-08-18 14:28 ` [PATCH v2 6/7] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
@ 2026-08-31 13:59 ` Rob Herring (Arm)
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2026-08-31 13:59 UTC (permalink / raw)
To: Bhargav Joshi
Cc: dmaengine, Roger Quadros, Ravi B, Kumar Gupta, Andreas Kemnade,
m-chawdhry, Neil Armstrong, simona.toaca, Andrzej Siewior,
Tony Lindgren, goledhruva, Greg Kroah-Hartman, Aaro Koskinen,
Conor Dooley, Krzysztof Kozlowski, Sergei Shtylyov, Vinod Koul,
linux-kernel, daniel.baluta, Kevin Hilman, linux-omap, Frank Li,
linux-usb, devicetree, linux-phy, Vignesh Raghavendra
On Tue, 18 Aug 2026 19:58:48 +0530, Bhargav Joshi wrote:
> Convert the TI AM33xx USB Wrapper text binding to DT schema.
> Changes during conversion:
> - Drop the USB control module from child nodes, as it physically resides
> within the System Control Module address space, not the USB wrapper.
> - Allow standard phy@[0-9a-f]+$ child node names alongside the legacy
> usb-phy@[0-9a-f]+$.
> - Mark the legacy ti,hwmods property as deprecated.
> - Document required #address-cells, #size-cells, and ranges property
> missing from text binding.
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> ---
> .../devicetree/bindings/usb/am33xx-usb.txt | 143 ---------------------
> .../devicetree/bindings/usb/ti,am33xx-usb.yaml | 103 +++++++++++++++
> 2 files changed, 103 insertions(+), 143 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 7/7] dt-bindings: usb: ti,da830-musb: Convert to DT schema
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (5 preceding siblings ...)
2026-08-18 14:28 ` [PATCH v2 6/7] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
@ 2026-08-18 14:28 ` Bhargav Joshi
2026-08-31 14:00 ` Rob Herring (Arm)
2026-08-31 13:48 ` [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings " Rob Herring
7 siblings, 1 reply; 18+ messages in thread
From: Bhargav Joshi @ 2026-08-18 14:28 UTC (permalink / raw)
To: Vignesh Raghavendra, Vinod Koul, Frank Li, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Greg Kroah-Hartman,
Andrzej Siewior, Neil Armstrong, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren, Ravi B, Kumar Gupta,
Sergei Shtylyov
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
Convert the TI DA8xx/OMAP-L1x MUSB text bindings to DT schema. Since
DA8xx MUSB node acts as a parent bus for the CPPI41 DMA controller add
required #address-cells, #size-cells, and ranges properties.
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
.../devicetree/bindings/usb/da8xx-usb.txt | 69 -------------
.../devicetree/bindings/usb/ti,da830-musb.yaml | 113 +++++++++++++++++++++
2 files changed, 113 insertions(+), 69 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/da8xx-usb.txt b/Documentation/devicetree/bindings/usb/da8xx-usb.txt
deleted file mode 100644
index 00320d92d3bb..000000000000
--- a/Documentation/devicetree/bindings/usb/da8xx-usb.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-TI DA8xx MUSB
-~~~~~~~~~~~~~
-For DA8xx/OMAP-L1x/AM17xx/AM18xx platforms.
-
-Required properties:
-~~~~~~~~~~~~~~~~~~~~
- - compatible : Should be set to "ti,da830-musb".
-
- - reg: Offset and length of the USB controller register set.
-
- - interrupts: The USB interrupt number.
-
- - interrupt-names: Should be set to "mc".
-
- - dr_mode: The USB operation mode. Should be one of "host", "peripheral" or "otg".
-
- - phys: Phandle for the PHY device
-
- - phy-names: Should be "usb-phy"
-
- - dmas: specifies the dma channels
-
- - dma-names: specifies the names of the channels. Use "rxN" for receive
- and "txN" for transmit endpoints. N specifies the endpoint number.
-
-Optional properties:
-~~~~~~~~~~~~~~~~~~~~
- - vbus-supply: Phandle to a regulator providing the USB bus power.
-
-Example:
- usb_phy: usb-phy {
- compatible = "ti,da830-usb-phy";
- #phy-cells = <0>;
- };
- usb0: usb@200000 {
- compatible = "ti,da830-musb";
- reg = <0x00200000 0x1000>;
- ranges;
- #address-cells = <1>;
- #size-cells = <1>;
- interrupts = <58>;
- interrupt-names = "mc";
-
- dr_mode = "host";
- vbus-supply = <&usb_vbus>;
- phys = <&usb_phy 0>;
- phy-names = "usb-phy";
-
- dmas = <&cppi41dma 0 0 &cppi41dma 1 0
- &cppi41dma 2 0 &cppi41dma 3 0
- &cppi41dma 0 1 &cppi41dma 1 1
- &cppi41dma 2 1 &cppi41dma 3 1>;
- dma-names =
- "rx1", "rx2", "rx3", "rx4",
- "tx1", "tx2", "tx3", "tx4";
-
-
- cppi41dma: dma-controller@201000 {
- compatible = "ti,da830-cppi41";
- reg = <0x201000 0x1000
- 0x202000 0x1000
- 0x204000 0x4000>;
- reg-names = "controller", "scheduler", "queuemgr";
- interrupts = <58>;
- #dma-cells = <2>;
- dma-channels = <4>;
- };
-
- };
diff --git a/Documentation/devicetree/bindings/usb/ti,da830-musb.yaml b/Documentation/devicetree/bindings/usb/ti,da830-musb.yaml
new file mode 100644
index 000000000000..0faf2a1a17c7
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,da830-musb.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,da830-musb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI DA8xx MUSB
+
+maintainers:
+ - Sergei Shtylyov <sshtylyov@ru.mvista.com>
+
+allOf:
+ - $ref: /schemas/usb/usb-drd.yaml#
+
+properties:
+ compatible:
+ const: ti,da830-musb
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-names:
+ const: mc
+
+ phys:
+ maxItems: 1
+
+ phy-names:
+ const: usb-phy
+
+ dmas:
+ minItems: 1
+ maxItems: 8
+
+ dma-names:
+ minItems: 1
+ maxItems: 8
+ items:
+ pattern: "^(rx|tx)[1-4]$"
+
+ vbus-supply:
+ description: Phandle to a regulator providing the USB bus power.
+
+ clocks:
+ maxItems: 1
+
+ clock-ranges: true
+
+ ranges: true
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 1
+
+patternProperties:
+ "^dma-controller@[0-9a-f]+$":
+ $ref: /schemas/dma/ti/ti,cppi41.yaml#
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+ - phys
+ - phy-names
+ - ranges
+ - "#address-cells"
+ - "#size-cells"
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ usb@200000 {
+ compatible = "ti,da830-musb";
+ reg = <0x00200000 0x1000>;
+ ranges;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ interrupts = <58>;
+ interrupt-names = "mc";
+
+ dr_mode = "host";
+ vbus-supply = <&usb_vbus>;
+ phys = <&usb_phy 0>;
+ phy-names = "usb-phy";
+
+ clocks = <&psc1 1>;
+ clock-ranges;
+
+ dmas = <&cppi41dma 0 0>, <&cppi41dma 1 0>,
+ <&cppi41dma 2 0>, <&cppi41dma 3 0>,
+ <&cppi41dma 0 1>, <&cppi41dma 1 1>,
+ <&cppi41dma 2 1>, <&cppi41dma 3 1>;
+ dma-names = "rx1", "rx2", "rx3", "rx4",
+ "tx1", "tx2", "tx3", "tx4";
+
+ dma-controller@201000 {
+ compatible = "ti,da830-cppi41";
+ reg = <0x201000 0x1000>,
+ <0x202000 0x1000>,
+ <0x204000 0x4000>;
+ reg-names = "controller", "scheduler", "queuemgr";
+ interrupts = <58>;
+ #dma-cells = <2>;
+ dma-channels = <4>;
+ };
+ };
--
2.55.0
^ permalink raw reply related [flat|nested] 18+ messages in thread* Re: [PATCH v2 7/7] dt-bindings: usb: ti,da830-musb: Convert to DT schema
2026-08-18 14:28 ` [PATCH v2 7/7] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
@ 2026-08-31 14:00 ` Rob Herring (Arm)
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2026-08-31 14:00 UTC (permalink / raw)
To: Bhargav Joshi
Cc: Sergei Shtylyov, simona.toaca, linux-phy, Frank Li, m-chawdhry,
Conor Dooley, Roger Quadros, Ravi B, linux-kernel, devicetree,
Greg Kroah-Hartman, daniel.baluta, Aaro Koskinen, Andrzej Siewior,
Andreas Kemnade, Vignesh Raghavendra, Neil Armstrong,
Kevin Hilman, linux-usb, dmaengine, Vinod Koul, Tony Lindgren,
Krzysztof Kozlowski, goledhruva, Kumar Gupta, linux-omap
On Tue, 18 Aug 2026 19:58:49 +0530, Bhargav Joshi wrote:
> Convert the TI DA8xx/OMAP-L1x MUSB text bindings to DT schema. Since
> DA8xx MUSB node acts as a parent bus for the CPPI41 DMA controller add
> required #address-cells, #size-cells, and ranges properties.
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> ---
> .../devicetree/bindings/usb/da8xx-usb.txt | 69 -------------
> .../devicetree/bindings/usb/ti,da830-musb.yaml | 113 +++++++++++++++++++++
> 2 files changed, 113 insertions(+), 69 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema
2026-08-18 14:28 [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (6 preceding siblings ...)
2026-08-18 14:28 ` [PATCH v2 7/7] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
@ 2026-08-31 13:48 ` Rob Herring
2026-08-31 13:58 ` Rob Herring
7 siblings, 1 reply; 18+ messages in thread
From: Rob Herring @ 2026-08-31 13:48 UTC (permalink / raw)
To: Bhargav Joshi
Cc: Vignesh Raghavendra, Vinod Koul, Frank Li, Krzysztof Kozlowski,
Conor Dooley, Greg Kroah-Hartman, Andrzej Siewior, Neil Armstrong,
Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Ravi B, Kumar Gupta, Sergei Shtylyov, dmaengine,
devicetree, linux-kernel, linux-usb, linux-phy, linux-omap,
goledhruva, m-chawdhry, daniel.baluta, simona.toaca
On Tue, Aug 18, 2026 at 07:58:42PM +0530, Bhargav Joshi wrote:
> This patch series converts the legacy TI AM33xx, DM816, and DA8xx
> USB/MUSB text bindings to modern DT schema.
>
> The legacy am33xx-usb.txt and da8xx-usb.txt bindings was historically
> structured as a single, monolithic file that documented the entire USB
> subsystem (the wrapper, core MUSB controller, PHY, and control module)
> all together. This series converts that monolithic text binding into
> proper, distinct DT schema files for each hardware component.
>
> Patches in this series:
> 1. dt-bindings: dma: ti,cppi41: Convert to DT schema
> 2. dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
> 3. ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes
> 4. dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
> 5. dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
> 6. dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
> 7. dt-bindings: usb: ti,da830-musb: Convert to DT schema
>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> ---
> Changes in v2:
> - patch 1: add interrupts as required property for am335x-cppi41
> - patch 4,7: add pattern constraint for dma-names
> - patch 6: remove deprecated property ti,hwmods from required
> - Link to v1: https://lore.kernel.org/r/20260818-ti-am33-usb-v1-0-69ac5f92df45@gmail.com
>
> ---
> Bhargav Joshi (7):
> dt-bindings: dma: ti,cppi41: Convert to DT schema
> dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
These 2 can be sent on their own.
> ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes
> dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
> dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
> dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
> dt-bindings: usb: ti,da830-musb: Convert to DT schema
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema
2026-08-31 13:48 ` [PATCH v2 0/7] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings " Rob Herring
@ 2026-08-31 13:58 ` Rob Herring
0 siblings, 0 replies; 18+ messages in thread
From: Rob Herring @ 2026-08-31 13:58 UTC (permalink / raw)
To: Bhargav Joshi
Cc: Vignesh Raghavendra, Vinod Koul, Frank Li, Krzysztof Kozlowski,
Conor Dooley, Greg Kroah-Hartman, Andrzej Siewior, Neil Armstrong,
Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Ravi B, Kumar Gupta, Sergei Shtylyov, dmaengine,
devicetree, linux-kernel, linux-usb, linux-phy, linux-omap,
goledhruva, m-chawdhry, daniel.baluta, simona.toaca
On Mon, Aug 31, 2026 at 08:48:23AM -0500, Rob Herring wrote:
> On Tue, Aug 18, 2026 at 07:58:42PM +0530, Bhargav Joshi wrote:
> > This patch series converts the legacy TI AM33xx, DM816, and DA8xx
> > USB/MUSB text bindings to modern DT schema.
> >
> > The legacy am33xx-usb.txt and da8xx-usb.txt bindings was historically
> > structured as a single, monolithic file that documented the entire USB
> > subsystem (the wrapper, core MUSB controller, PHY, and control module)
> > all together. This series converts that monolithic text binding into
> > proper, distinct DT schema files for each hardware component.
> >
> > Patches in this series:
> > 1. dt-bindings: dma: ti,cppi41: Convert to DT schema
> > 2. dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
> > 3. ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes
> > 4. dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
> > 5. dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
> > 6. dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
> > 7. dt-bindings: usb: ti,da830-musb: Convert to DT schema
> >
> > Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
> > ---
> > Changes in v2:
> > - patch 1: add interrupts as required property for am335x-cppi41
> > - patch 4,7: add pattern constraint for dma-names
> > - patch 6: remove deprecated property ti,hwmods from required
> > - Link to v1: https://lore.kernel.org/r/20260818-ti-am33-usb-v1-0-69ac5f92df45@gmail.com
> >
> > ---
> > Bhargav Joshi (7):
> > dt-bindings: dma: ti,cppi41: Convert to DT schema
> > dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
>
> These 2 can be sent on their own.
Nevermind. I see they are a dependency on patch 6.
Rob
^ permalink raw reply [flat|nested] 18+ messages in thread