* [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema
@ 2026-08-31 23:23 Bhargav Joshi
2026-08-31 23:23 ` [PATCH v3 1/6] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:23 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,
Manivannan Sadhasivam, Bin Liu
Cc: dmaengine, devicetree, linux-kernel, linux-usb, linux-phy,
linux-omap, goledhruva, m-chawdhry, daniel.baluta, simona.toaca,
j.bhargav.u
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. dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
4. dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
5. dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
6. dt-bindings: usb: ti,da830-musb: Convert to DT schema
Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
---
Changes in v3:
- Dropped patch with dts change Fix redundant interrupts property in USB
nodes.
- Rebased to latest mainline.
- Link to v2: https://lore.kernel.org/r/20260818-ti-am33-usb-v2-0-66fd44d66824@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 (6):
dt-bindings: dma: ti,cppi41: Convert to DT schema
dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
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
.../devicetree/bindings/dma/ti/ti,cppi41.yaml | 109 +++++++++++
.../devicetree/bindings/phy/ti,am335x-usb-phy.yaml | 49 +++++
.../devicetree/bindings/usb/am33xx-usb.txt | 200 ---------------------
.../devicetree/bindings/usb/da8xx-usb.txt | 81 ---------
.../bindings/usb/ti,am335x-usb-ctrl-module.yaml | 38 ++++
.../devicetree/bindings/usb/ti,am33xx-usb.yaml | 103 +++++++++++
.../devicetree/bindings/usb/ti,da830-musb.yaml | 113 ++++++++++++
.../devicetree/bindings/usb/ti,musb-am33xx.yaml | 113 ++++++++++++
8 files changed, 525 insertions(+), 281 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20260817-ti-am33-usb-4548f2e570ef
Best regards,
--
Bhargav
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/6] dt-bindings: dma: ti,cppi41: Convert to DT schema
2026-08-31 23:23 [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
@ 2026-08-31 23:23 ` Bhargav Joshi
2026-08-31 23:35 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 2/6] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:23 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,
Manivannan Sadhasivam, Bin Liu
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.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
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] 12+ messages in thread
* [PATCH v3 2/6] dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
2026-08-31 23:23 [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
2026-08-31 23:23 ` [PATCH v3 1/6] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
@ 2026-08-31 23:23 ` Bhargav Joshi
2026-09-03 11:45 ` Manivannan Sadhasivam
2026-08-31 23:23 ` [PATCH v3 3/6] dt-bindings: usb: ti,musb-am33xx: " Bhargav Joshi
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:23 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,
Manivannan Sadhasivam, Bin Liu
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.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
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] 12+ messages in thread
* [PATCH v3 3/6] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
2026-08-31 23:23 [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
2026-08-31 23:23 ` [PATCH v3 1/6] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
2026-08-31 23:23 ` [PATCH v3 2/6] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
@ 2026-08-31 23:23 ` Bhargav Joshi
2026-08-31 23:34 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 4/6] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:23 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,
Manivannan Sadhasivam, Bin Liu
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.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
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] 12+ messages in thread
* [PATCH v3 4/6] dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
2026-08-31 23:23 [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (2 preceding siblings ...)
2026-08-31 23:23 ` [PATCH v3 3/6] dt-bindings: usb: ti,musb-am33xx: " Bhargav Joshi
@ 2026-08-31 23:23 ` Bhargav Joshi
2026-08-31 23:32 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 5/6] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
2026-08-31 23:23 ` [PATCH v3 6/6] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
5 siblings, 1 reply; 12+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:23 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,
Manivannan Sadhasivam, Bin Liu
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.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
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] 12+ messages in thread
* [PATCH v3 5/6] dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
2026-08-31 23:23 [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (3 preceding siblings ...)
2026-08-31 23:23 ` [PATCH v3 4/6] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
@ 2026-08-31 23:23 ` Bhargav Joshi
2026-08-31 23:32 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 6/6] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
5 siblings, 1 reply; 12+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:23 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,
Manivannan Sadhasivam, Bin Liu
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.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
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] 12+ messages in thread
* [PATCH v3 6/6] dt-bindings: usb: ti,da830-musb: Convert to DT schema
2026-08-31 23:23 [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
` (4 preceding siblings ...)
2026-08-31 23:23 ` [PATCH v3 5/6] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
@ 2026-08-31 23:23 ` Bhargav Joshi
5 siblings, 0 replies; 12+ messages in thread
From: Bhargav Joshi @ 2026-08-31 23:23 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,
Manivannan Sadhasivam, Bin Liu
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.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
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..fefae735b34d
--- /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:
+ - Bin Liu <b-liu@ti.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] 12+ messages in thread
* Re: [PATCH v3 4/6] dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
2026-08-31 23:23 ` [PATCH v3 4/6] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
@ 2026-08-31 23:32 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-08-31 23:32 UTC (permalink / raw)
To: Bhargav Joshi
Cc: conor+dt, robh, vkoul, dmaengine, neil.armstrong, Frank.Li,
linux-phy, olteanv, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Documentation loss for `reg` property entries during dt-schema conversion.
--
commit c1a1061abb654fbffdeb37f5a8ae9d8c5c5596f0
Author: Bhargav Joshi <j.bhargav.u@gmail.com>
dt-bindings: usb: ti,am335x-usb-ctrl-module: Convert to DT schema
Convert the TI AM335x USB Control Module text bindings to DT schema. No
functional changes.
> diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
> index 5973f88bcc65d..94312ad8ec8cd 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.
> -
[ ... ]
> 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 0000000000000..f8ac0af745c6c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/ti,am335x-usb-ctrl-module.yaml
> @@ -0,0 +1,38 @@
[ ... ]
> +properties:
> + compatible:
> + const: ti,am335x-usb-ctrl-module
> +
> + reg:
> + maxItems: 2
[Severity: Low]
Does this YAML conversion lose some of the documentation details from the
original text binding?
The previous text binding included explicit descriptions for the two reg
entries ("USB control registers" and "USB wake up control"). While reg-names
are provided below, should an items list under reg be included to preserve
these explicit descriptions?
> +
> + reg-names:
> + items:
> + - const: phy_ctrl
> + - const: wakeup
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260901-ti-am33-usb-v3-0-5e15c617d2e9@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] 12+ messages in thread
* Re: [PATCH v3 5/6] dt-bindings: usb: ti,am33xx-usb: Convert to DT schema
2026-08-31 23:23 ` [PATCH v3 5/6] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
@ 2026-08-31 23:32 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-08-31 23:32 UTC (permalink / raw)
To: Bhargav Joshi
Cc: vkoul, olteanv, dmaengine, conor+dt, neil.armstrong, robh,
Frank.Li, devicetree, linux-phy
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Undefined labels in the YAML example cause `dtc` compilation to fail during `make dt_binding_check`.
--
commit 8b02af2c630db204aabbcbc1828484db912830c0
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 child
node names, and marks the legacy ti,hwmods property as deprecated.
> 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]
Does this reference to ctrl_mod cause a build failure during dtc compilation?
The control module node and its label appear to have been removed from the
example during the text-to-YAML conversion, which may result in a fatal
"Reference to non-existent node or label" error when running make
dt_binding_check.
> + #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]
Will dtc compilation fail on this phandle reference? The usb0_phy label
was removed from the usb-phy@47401300 node in the example above, meaning
this reference is undefined and may break make dt_binding_check.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260901-ti-am33-usb-v3-0-5e15c617d2e9@gmail.com?part=5
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 3/6] dt-bindings: usb: ti,musb-am33xx: Convert to DT schema
2026-08-31 23:23 ` [PATCH v3 3/6] dt-bindings: usb: ti,musb-am33xx: " Bhargav Joshi
@ 2026-08-31 23:34 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-08-31 23:34 UTC (permalink / raw)
To: Bhargav Joshi
Cc: olteanv, conor+dt, vkoul, robh, dmaengine, Frank.Li,
neil.armstrong, devicetree, linux-phy
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Missing type definition for vendor property `mentor,ram-bits`.
--
commit b18161dcce0d8d9c92432e06f2d6b68cc0d0e262
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
allows an optional vbus interrupt and adds interface-type and phy-names
properties for 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]
Is mentor,ram-bits missing a type definition?
Without a type reference for a custom property, make dt_binding_check issues
a 'missing type definition' warning and fails constraint evaluation against
valid DTS usage. DT schema parses cell arrays like <12> as matrices like
[[12]] if not told they are scalar integers, failing the const: 12 check.
Does this need a type reference like
$ref: /schemas/types.yaml#/definitions/uint32 similar to mentor,num-eps and
mentor,power?
> +
> + 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/20260901-ti-am33-usb-v3-0-5e15c617d2e9@gmail.com?part=3
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: dma: ti,cppi41: Convert to DT schema
2026-08-31 23:23 ` [PATCH v3 1/6] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
@ 2026-08-31 23:35 ` sashiko-bot
0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-08-31 23:35 UTC (permalink / raw)
To: Bhargav Joshi
Cc: linux-phy, dmaengine, conor+dt, vkoul, Frank.Li, robh,
neil.armstrong, olteanv, devicetree
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [Medium] The `interrupts` property is not marked as required for the `ti,da830-cppi41` hardware variant, allowing incomplete nodes to pass schema validation.
- [Low] Missing property type definitions for deprecated custom properties `#dma-channels` and `#dma-requests`.
- [Low] The unit address in the example node name does not match the first `reg` address.
--
commit efe52f34688a9f85bd73ed6d80af2e1107be14ba
Author: Bhargav Joshi <j.bhargav.u@gmail.com>
dt-bindings: dma: ti,cppi41: Convert to DT schema
This commit converts the TI CPPI 4.1 DMA controller text bindings to DT
schema. It merges ti,am3359-cppi41 and ti,da830-cppi41 into a single schema
and adds undocumented properties like power-domains to match existing device
tree usage.
> 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 0000000000000..a8c28e8ada072
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/ti/ti,cppi41.yaml
> @@ -0,0 +1,109 @@
[ ... ]
> + power-domains:
> + maxItems: 1
> +
> + "#dma-channels":
> + description: Deprecated, use dma-channels instead.
> + deprecated: true
> +
> + "#dma-requests":
> + description: Deprecated, use dma-requests instead.
> + deprecated: true
[Severity: Low]
Are the #dma-channels and #dma-requests custom properties missing a type
definition?
The schema tool strictly requires all properties that do not match core
regex patterns to have an explicit type via a reference. Without a type
definition, does this regression cause schema validation to fail when
checking the bindings?
> +
> +required:
> + - compatible
[ ... ]
> +allOf:
> + - $ref: /schemas/dma/dma-controller.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: ti,am3359-cppi41
[ ... ]
> + else:
> + properties:
> + reg:
> + maxItems: 3
> + reg-names:
> + items:
> + - const: controller
> + - const: scheduler
> + - const: queuemgr
[Severity: Medium]
Should the interrupts property be marked as required in this else block for
the ti,da830-cppi41 hardware variant?
If incomplete nodes pass schema validation without an interrupts property,
won't this regression cause the driver probe to fail when it attempts to parse
and map the interrupt?
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + dma-controller@7402000 {
> + compatible = "ti,am3359-cppi41";
> + reg = <0x47400000 0x1000>,
[Severity: Low]
Is the unit address in the dma-controller@7402000 node name mismatched with
the first reg address?
The node name uses 7402000, but the first register address is 0x47400000.
Will this formatting regression cause a compiler warning when the examples are
evaluated?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260901-ti-am33-usb-v3-0-5e15c617d2e9@gmail.com?part=1
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 2/6] dt-bindings: phy: ti,am335x-usb-phy: Convert to DT schema
2026-08-31 23:23 ` [PATCH v3 2/6] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
@ 2026-09-03 11:45 ` Manivannan Sadhasivam
0 siblings, 0 replies; 12+ messages in thread
From: Manivannan Sadhasivam @ 2026-09-03 11:45 UTC (permalink / raw)
To: Bhargav Joshi
Cc: 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,
Bin Liu, dmaengine, devicetree, linux-kernel, linux-usb,
linux-phy, linux-omap, goledhruva, m-chawdhry, daniel.baluta,
simona.toaca
On Tue, Sep 01, 2026 at 04:53:06AM +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.
>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
- Mani
--
மணிவண்ணன் சதாசிவம்
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-09-03 11:46 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-31 23:23 [PATCH v3 0/6] dt-bindings: usb: ti: Convert AM33xx/DA8xx MUSB bindings to DT schema Bhargav Joshi
2026-08-31 23:23 ` [PATCH v3 1/6] dt-bindings: dma: ti,cppi41: Convert " Bhargav Joshi
2026-08-31 23:35 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 2/6] dt-bindings: phy: ti,am335x-usb-phy: " Bhargav Joshi
2026-09-03 11:45 ` Manivannan Sadhasivam
2026-08-31 23:23 ` [PATCH v3 3/6] dt-bindings: usb: ti,musb-am33xx: " Bhargav Joshi
2026-08-31 23:34 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 4/6] dt-bindings: usb: ti,am335x-usb-ctrl-module: " Bhargav Joshi
2026-08-31 23:32 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 5/6] dt-bindings: usb: ti,am33xx-usb: " Bhargav Joshi
2026-08-31 23:32 ` sashiko-bot
2026-08-31 23:23 ` [PATCH v3 6/6] dt-bindings: usb: ti,da830-musb: " Bhargav Joshi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).