* [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-18 14:28 ` [PATCH v2 2/7] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 10+ 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-18 14:28 ` [PATCH v2 3/7] ARM: dts: ti: am335x: Fix redundant interrupts property in USB nodes Bhargav Joshi
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 10+ 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-18 14:28 ` [PATCH v2 4/7] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema Bhargav Joshi
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 10+ 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-18 14:39 ` sashiko-bot
2026-08-18 14:28 ` [PATCH v2 5/7] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
` (2 subsequent siblings)
6 siblings, 1 reply; 10+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 10+ 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-18 14:39 ` sashiko-bot
0 siblings, 0 replies; 10+ messages in thread
From: sashiko-bot @ 2026-08-18 14:39 UTC (permalink / raw)
To: Bhargav Joshi
Cc: neil.armstrong, vkoul, robh, conor+dt, dmaengine, olteanv,
devicetree, Frank.Li, linux-phy
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Missing type reference for `mentor,ram-bits` vendor property in DT schema.
--
--- Patch [4]: [PATCH v2 4/7] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema ---
commit cf3529cd6795cb99eba5fc624b9972e24548b4e8
Author: Bhargav Joshi <j.bhargav.u@gmail.com>
dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
This commit converts the TI AM33xx MUSB text bindings to DT schema. It
also introduces several updates during the conversion, such as allowing an
optional vbus interrupt and adding interface-type and phy-names properties
natively used by the dm816x hardware.
> 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 0000000000000..cc01edc75d11e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/ti,musb-am33xx.yaml
[ ... ]
> + 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
[Severity: Low]
Will this cause schema validation to fail during make dt_binding_check?
Without a type reference, the array <12> in device trees might be validated
as a matrix against const: 12 instead of a scalar integer, causing a type
mismatch error.
Should this include a $ref to /schemas/types.yaml#/definitions/uint32
similar to mentor,num-eps?
> +
> + mentor,power:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Controller supply capacity (in mA) when operating in host mode.
> + const: 500
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260818-ti-am33-usb-v2-0-66fd44d66824@gmail.com?part=4
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 10+ 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-18 14:28 ` [PATCH v2 6/7] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
2026-08-18 14:28 ` [PATCH v2 7/7] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
6 siblings, 0 replies; 10+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 10+ 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-18 14:35 ` sashiko-bot
2026-08-18 14:28 ` [PATCH v2 7/7] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
6 siblings, 1 reply; 10+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 10+ 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-18 14:35 ` sashiko-bot
0 siblings, 0 replies; 10+ messages in thread
From: sashiko-bot @ 2026-08-18 14:35 UTC (permalink / raw)
To: Bhargav Joshi
Cc: devicetree, robh, neil.armstrong, olteanv, linux-phy, dmaengine,
conor+dt, vkoul, Frank.Li
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The YAML example contains unresolved phandle references (`&ctrl_mod` and `&usb0_phy`), which will cause `dt_binding_check` compilation to fail.
--
--- Patch [6]: [PATCH v2 6/7] dt-bindings: usb: ti,am33xx-usb: Convert to DT schema ---
commit e44cab46abc4f9978c722895c49e454a5ad807d6
Author: Bhargav Joshi <j.bhargav.u@gmail.com>
dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
This commit converts the TI AM33xx USB Wrapper text binding to DT schema.
It drops the USB control module from child nodes, allows standard phy node
names alongside legacy ones, and deprecates the ti,hwmods property.
> 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 0000000000000..0b36b9ddfb4a9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/ti,am33xx-usb.yaml
[ ... ]
> +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>;
[Severity: Low]
Will this cause a compilation failure during make dt_binding_check?
The example references the &ctrl_mod phandle here, but since the control
module node was removed from the child nodes during the conversion, this
reference appears to be undefined.
> + #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>;
[Severity: Low]
Does this also leave an undefined reference in the example?
The phys property references &usb0_phy, but the usb0_phy label was dropped
from the usb-phy@47401300 node in this example schema.
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260818-ti-am33-usb-v2-0-66fd44d66824@gmail.com?part=6
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 10+ 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
6 siblings, 0 replies; 10+ 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
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply related [flat|nested] 10+ messages in thread