public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] dt-bindings: usb: atmel: convert Atmel USB controller bindings to YAML
@ 2026-03-07  9:16 Charan Pedumuru
  2026-03-07  9:16 ` [PATCH v3 1/5] arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node Charan Pedumuru
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-07  9:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni
  Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel,
	Charan Pedumuru

This patch series converts the legacy text-based Device Tree bindings for
Atmel/Microchip USB controllers to DT schema (YAML) format.

Note:
The patch "dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema"
depends on the patch "arm: dts: at91: remove unused #address-cells/#size-cells
from sam9x60 UDC node". If the DT schema patch is applied before the DTS
cleanup patch, `dtbs_check` will fail due to the presence of the removed
properties in the existing DTS.

Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
Changes in v3:
- sam9x60: Add a new patch removing the unnecessary #address-cells and
  #size-cells properties from the sam9x60 UDC node.
- atmel,at91sam9rl-udc: Remove #address-cells and #size-cells from the
  atmel,at91sam9rl-udc binding properties.
- generic-ohci: Add an else condition to the generic-ohci schema properties
  for improved validation precision.
- Link to v2: https://lore.kernel.org/r/20260224-atmel-usb-v2-0-6d6a615c9c47@gmail.com

Changes in v2:
- Drop the separate YAML patches for OHCI and EHCI.
- Add the compatibles "atmel,at91rm9200-ohci" and "atmel,at91sam9g45-ehci"
  to the existing generic OHCI and EHCI binding files.
- Link to v1: https://lore.kernel.org/r/20260201-atmel-usb-v1-0-d1a3e93003f1@gmail.com

---
Charan Pedumuru (5):
      arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node
      dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support
      dt-bindings: usb: generic-ehci: fix schema structure and add at91sam9g45 constraints
      dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema
      dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema

 .../bindings/usb/atmel,at91rm9200-udc.yaml         |  77 +++++++++++++
 .../bindings/usb/atmel,at91sam9rl-udc.yaml         |  75 +++++++++++++
 .../devicetree/bindings/usb/atmel-usb.txt          | 125 ---------------------
 .../devicetree/bindings/usb/generic-ehci.yaml      |  46 +++++---
 .../devicetree/bindings/usb/generic-ohci.yaml      |  33 ++++++
 arch/arm/boot/dts/microchip/sam9x60.dtsi           |   2 -
 6 files changed, 218 insertions(+), 140 deletions(-)
---
base-commit: 3f24e4edcd1b8981c6b448ea2680726dedd87279
change-id: 20260129-atmel-usb-37f89a141e48

Best regards,
-- 
Charan Pedumuru <charan.pedumuru@gmail.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v3 1/5] arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node
  2026-03-07  9:16 [PATCH v3 0/5] dt-bindings: usb: atmel: convert Atmel USB controller bindings to YAML Charan Pedumuru
@ 2026-03-07  9:16 ` Charan Pedumuru
  2026-03-08 16:06   ` Claudiu Beznea
  2026-03-07  9:16 ` [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support Charan Pedumuru
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-07  9:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni
  Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel,
	Charan Pedumuru

The UDC node does not define any child nodes, so the "#address-cells" and
"#size-cells" properties are unnecessary. Remove these unused properties
to simplify the devicetree node and keep it consistent with DT conventions.

Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
 arch/arm/boot/dts/microchip/sam9x60.dtsi | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/microchip/sam9x60.dtsi b/arch/arm/boot/dts/microchip/sam9x60.dtsi
index b075865e6a76..e708b3df4ccd 100644
--- a/arch/arm/boot/dts/microchip/sam9x60.dtsi
+++ b/arch/arm/boot/dts/microchip/sam9x60.dtsi
@@ -75,8 +75,6 @@ ahb {
 		ranges;
 
 		usb0: gadget@500000 {
-			#address-cells = <1>;
-			#size-cells = <0>;
 			compatible = "microchip,sam9x60-udc";
 			reg = <0x00500000 0x100000
 				0xf803c000 0x400>;

-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support
  2026-03-07  9:16 [PATCH v3 0/5] dt-bindings: usb: atmel: convert Atmel USB controller bindings to YAML Charan Pedumuru
  2026-03-07  9:16 ` [PATCH v3 1/5] arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node Charan Pedumuru
@ 2026-03-07  9:16 ` Charan Pedumuru
  2026-03-08  9:23   ` Krzysztof Kozlowski
  2026-03-07  9:16 ` [PATCH v3 3/5] dt-bindings: usb: generic-ehci: fix schema structure and add at91sam9g45 constraints Charan Pedumuru
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-07  9:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni
  Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel,
	Charan Pedumuru

Add binding support for the Atmel AT91RM9200 OHCI USB host controller
to the generic OHCI schema.

Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
 .../devicetree/bindings/usb/generic-ohci.yaml      | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
index 961cbf85eeb5..a8a94b9c1fee 100644
--- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
@@ -55,6 +55,7 @@ properties:
           - ti,ohci-omap3
       - items:
           - enum:
+              - atmel,at91rm9200-ohci
               - cavium,octeon-6335-ohci
               - nintendo,hollywood-usb-ohci
               - nxp,ohci-nxp
@@ -137,6 +138,16 @@ properties:
       The associated ISP1301 device. Necessary for the UDC controller for
       connecting to the USB physical layer.
 
+  atmel,vbus-gpio:
+    description: GPIO used to control or sense the USB VBUS power.
+    minItems: 1
+    maxItems: 3
+
+  atmel,oc-gpio:
+    description: GPIO used to signal USB overcurrent condition.
+    minItems: 1
+    maxItems: 3
+
 required:
   - compatible
   - reg
@@ -144,6 +155,28 @@ required:
 
 allOf:
   - $ref: usb-hcd.yaml
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: atmel,at91rm9200-ohci
+    then:
+      properties:
+        clock-names:
+          items:
+            - const: ohci_clk
+            - const: hclk
+            - const: uhpck
+
+      required:
+        - clocks
+        - clock-names
+
+    else:
+      properties:
+        atmel,vbus-gpio: false
+        atmel,oc-gpio: false
+
   - if:
       not:
         properties:

-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v3 3/5] dt-bindings: usb: generic-ehci: fix schema structure and add at91sam9g45 constraints
  2026-03-07  9:16 [PATCH v3 0/5] dt-bindings: usb: atmel: convert Atmel USB controller bindings to YAML Charan Pedumuru
  2026-03-07  9:16 ` [PATCH v3 1/5] arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node Charan Pedumuru
  2026-03-07  9:16 ` [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support Charan Pedumuru
@ 2026-03-07  9:16 ` Charan Pedumuru
  2026-03-07  9:16 ` [PATCH v3 4/5] dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema Charan Pedumuru
  2026-03-07  9:16 ` [PATCH v3 5/5] dt-bindings: usb: atmel,at91sam9rl-udc: " Charan Pedumuru
  4 siblings, 0 replies; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-07  9:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni
  Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel,
	Charan Pedumuru

Add clock and phy constraints for atmel,at91sam9g45-ehci and reorganize
the allOf section to fix dtbs_check warnings.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
 .../devicetree/bindings/usb/generic-ehci.yaml      | 46 ++++++++++++++++------
 1 file changed, 33 insertions(+), 13 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
index 601f097c09a6..55a5aa7d7a54 100644
--- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
@@ -9,19 +9,6 @@ title: USB EHCI Controller
 maintainers:
   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
-allOf:
-  - $ref: usb-hcd.yaml
-  - if:
-      properties:
-        compatible:
-          not:
-            contains:
-              const: ibm,usb-ehci-440epx
-    then:
-      properties:
-        reg:
-          maxItems: 1
-
 properties:
   compatible:
     oneOf:
@@ -167,6 +154,39 @@ required:
   - reg
   - interrupts
 
+allOf:
+  - $ref: usb-hcd.yaml
+  - if:
+      properties:
+        compatible:
+          not:
+            contains:
+              const: ibm,usb-ehci-440epx
+    then:
+      properties:
+        reg:
+          maxItems: 1
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: atmel,at91sam9g45-ehci
+    then:
+      properties:
+        clock-names:
+          items:
+            - const: usb_clk
+            - const: ehci_clk
+
+        phy_type:
+          enum:
+            - utmi
+            - hsic
+
+      required:
+        - clocks
+        - clock-names
+
 unevaluatedProperties: false
 
 examples:

-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v3 4/5] dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema
  2026-03-07  9:16 [PATCH v3 0/5] dt-bindings: usb: atmel: convert Atmel USB controller bindings to YAML Charan Pedumuru
                   ` (2 preceding siblings ...)
  2026-03-07  9:16 ` [PATCH v3 3/5] dt-bindings: usb: generic-ehci: fix schema structure and add at91sam9g45 constraints Charan Pedumuru
@ 2026-03-07  9:16 ` Charan Pedumuru
  2026-03-08  9:27   ` Krzysztof Kozlowski
  2026-03-07  9:16 ` [PATCH v3 5/5] dt-bindings: usb: atmel,at91sam9rl-udc: " Charan Pedumuru
  4 siblings, 1 reply; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-07  9:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni
  Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel,
	Charan Pedumuru

Convert Atmel AT91 USB Device Controller (UDC) binding to DT schema.
Changes during conversion:
- Include "atmel,pullup-gpio" and "atmel,matrix" in the properties since
  they are required by existing in-tree DTS definitions.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
 .../bindings/usb/atmel,at91rm9200-udc.yaml         | 77 ++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml b/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml
new file mode 100644
index 000000000000..6961cd5d5d89
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/atmel,at91rm9200-udc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel AT91 USB Device Controller (UDC)
+
+maintainers:
+  - Nicolas Ferre <nicolas.ferre@microchip.com>
+  - Alexandre Belloni <alexandre.belloni@bootlin.com>
+
+description:
+  The Atmel AT91 USB Device Controller provides USB gadget (device-mode)
+  functionality on AT91 SoCs. It requires a peripheral clock and an AHB
+  clock for operation and may optionally control VBUS power through a GPIO.
+
+properties:
+  compatible:
+    enum:
+      - atmel,at91rm9200-udc
+      - atmel,at91sam9260-udc
+      - atmel,at91sam9261-udc
+      - atmel,at91sam9263-udc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 2
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: pclk
+      - const: hclk
+
+  atmel,vbus-gpio:
+    description: GPIO used to enable or control VBUS power for the USB bus.
+    maxItems: 1
+
+  atmel,matrix:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: Phandle to the Atmel bus matrix controller.
+
+  atmel,pullup-gpio:
+    description:
+      GPIO controlling the USB D+ pull-up resistor used to signal device
+      connection to the host.
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/clock/at91.h>
+    #include <dt-bindings/gpio/gpio.h>
+    gadget@fffa4000 {
+        compatible = "atmel,at91rm9200-udc";
+        reg = <0xfffa4000 0x4000>;
+        interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
+        clocks = <&udc_clk>, <&udpck>;
+        clock-names = "pclk", "hclk";
+        atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
+    };
+...

-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v3 5/5] dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema
  2026-03-07  9:16 [PATCH v3 0/5] dt-bindings: usb: atmel: convert Atmel USB controller bindings to YAML Charan Pedumuru
                   ` (3 preceding siblings ...)
  2026-03-07  9:16 ` [PATCH v3 4/5] dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema Charan Pedumuru
@ 2026-03-07  9:16 ` Charan Pedumuru
  2026-03-08  9:29   ` Krzysztof Kozlowski
  4 siblings, 1 reply; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-07  9:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni
  Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel,
	Charan Pedumuru

Convert Atmel High-Speed USB Device Controller (USBA) binding to DT schema.

Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
 .../bindings/usb/atmel,at91sam9rl-udc.yaml         |  75 +++++++++++++
 .../devicetree/bindings/usb/atmel-usb.txt          | 125 ---------------------
 2 files changed, 75 insertions(+), 125 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/atmel,at91sam9rl-udc.yaml b/Documentation/devicetree/bindings/usb/atmel,at91sam9rl-udc.yaml
new file mode 100644
index 000000000000..55a0e062b04d
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/atmel,at91sam9rl-udc.yaml
@@ -0,0 +1,75 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/atmel,at91sam9rl-udc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel High-Speed USB Device Controller (USBA)
+
+maintainers:
+  - Nicolas Ferre <nicolas.ferre@microchip.com>
+  - Alexandre Belloni <alexandre.belloni@bootlin.com>
+
+description:
+  The Atmel High-Speed USB Device Controller (USBA) provides USB 2.0
+  high-speed gadget functionality on several Atmel and Microchip SoCs.
+  The controller requires a peripheral clock and a host clock for operation
+  and may optionally use a GPIO to detect VBUS presence.
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - atmel,at91sam9rl-udc
+          - atmel,at91sam9g45-udc
+          - atmel,sama5d3-udc
+      - items:
+          - const: microchip,lan9662-udc
+          - const: atmel,sama5d3-udc
+      - const: microchip,sam9x60-udc
+
+  reg:
+    maxItems: 2
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 2
+    maxItems: 2
+
+  clock-names:
+    minItems: 2
+    maxItems: 2
+    items:
+      enum: [pclk, hclk]
+
+  atmel,vbus-gpio:
+    description: GPIO used to detect the presence of VBUS, indicating that
+      the USB cable is connected.
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/clock/at91.h>
+    #include <dt-bindings/gpio/gpio.h>
+    gadget@fff78000 {
+        compatible = "atmel,at91sam9g45-udc";
+        reg = <0x00600000 0x80000
+               0xfff78000 0x400>;
+        interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
+        clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
+        clock-names = "pclk", "hclk";
+        atmel,vbus-gpio = <&pioC 15 GPIO_ACTIVE_HIGH>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt
deleted file mode 100644
index 12183ef47ee4..000000000000
--- a/Documentation/devicetree/bindings/usb/atmel-usb.txt
+++ /dev/null
@@ -1,125 +0,0 @@
-Atmel SOC USB controllers
-
-OHCI
-
-Required properties:
- - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers
-   used in host mode.
- - reg: Address and length of the register set for the device
- - interrupts: Should contain ohci interrupt
- - clocks: Should reference the peripheral, host and system clocks
- - clock-names: Should contain three strings
-		"ohci_clk" for the peripheral clock
-		"hclk" for the host clock
-		"uhpck" for the system clock
- - num-ports: Number of ports.
- - atmel,vbus-gpio: If present, specifies a gpio that needs to be
-   activated for the bus to be powered.
- - atmel,oc-gpio: If present, specifies a gpio that needs to be
-   activated for the overcurrent detection.
-
-usb0: ohci@500000 {
-	compatible = "atmel,at91rm9200-ohci", "usb-ohci";
-	reg = <0x00500000 0x100000>;
-	clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
-	clock-names = "ohci_clk", "hclk", "uhpck";
-	interrupts = <20 4>;
-	num-ports = <2>;
-};
-
-EHCI
-
-Required properties:
- - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers
-   used in host mode.
- - reg: Address and length of the register set for the device
- - interrupts: Should contain ehci interrupt
- - clocks: Should reference the peripheral and the UTMI clocks
- - clock-names: Should contain two strings
-		"ehci_clk" for the peripheral clock
-		"usb_clk" for the UTMI clock
-
-Optional properties:
- - phy_type : For multi port host USB controllers, should be one of
-   "utmi", or "hsic".
-
-usb1: ehci@800000 {
-	compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
-	reg = <0x00800000 0x100000>;
-	interrupts = <22 4>;
-	clocks = <&utmi>, <&uhphs_clk>;
-	clock-names = "usb_clk", "ehci_clk";
-};
-
-AT91 USB device controller
-
-Required properties:
- - compatible: Should be one of the following
-	       "atmel,at91rm9200-udc"
-	       "atmel,at91sam9260-udc"
-	       "atmel,at91sam9261-udc"
-	       "atmel,at91sam9263-udc"
- - reg: Address and length of the register set for the device
- - interrupts: Should contain macb interrupt
- - clocks: Should reference the peripheral and the AHB clocks
- - clock-names: Should contain two strings
-		"pclk" for the peripheral clock
-		"hclk" for the AHB clock
-
-Optional properties:
- - atmel,vbus-gpio: If present, specifies a gpio that needs to be
-   activated for the bus to be powered.
-
-usb1: gadget@fffa4000 {
-	compatible = "atmel,at91rm9200-udc";
-	reg = <0xfffa4000 0x4000>;
-	interrupts = <10 4>;
-	clocks = <&udc_clk>, <&udpck>;
-	clock-names = "pclk", "hclk";
-	atmel,vbus-gpio = <&pioC 5 0>;
-};
-
-Atmel High-Speed USB device controller
-
-Required properties:
- - compatible: Should be one of the following
-	       "atmel,at91sam9rl-udc"
-	       "atmel,at91sam9g45-udc"
-	       "atmel,sama5d3-udc"
-	       "microchip,sam9x60-udc"
-	       "microchip,lan9662-udc"
-	       For "microchip,lan9662-udc" the fallback "atmel,sama5d3-udc"
-	       is required.
- - reg: Address and length of the register set for the device
- - interrupts: Should contain usba interrupt
- - clocks: Should reference the peripheral and host clocks
- - clock-names: Should contain two strings
-		"pclk" for the peripheral clock
-		"hclk" for the host clock
-
-Deprecated property:
- - ep childnode: To specify the number of endpoints and their properties.
-
-Optional properties:
- - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether
-   vbus is present (USB is connected).
-
-Deprecated child node properties:
- - name: Name of the endpoint.
- - reg: Num of the endpoint.
- - atmel,fifo-size: Size of the fifo.
- - atmel,nb-banks: Number of banks.
- - atmel,can-dma: Boolean to specify if the endpoint support DMA.
- - atmel,can-isoc: Boolean to specify if the endpoint support ISOC.
-
-usb2: gadget@fff78000 {
-	#address-cells = <1>;
-	#size-cells = <0>;
-	compatible = "atmel,at91sam9rl-udc";
-	reg = <0x00600000 0x80000
-	       0xfff78000 0x400>;
-	interrupts = <27 4 0>;
-	clocks = <&utmi>, <&udphs_clk>;
-	clock-names = "hclk", "pclk";
-	atmel,vbus-gpio = <&pioB 19 0>;
-};

-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support
  2026-03-07  9:16 ` [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support Charan Pedumuru
@ 2026-03-08  9:23   ` Krzysztof Kozlowski
  2026-03-08  9:28     ` Krzysztof Kozlowski
  2026-03-13  6:31     ` Charan Pedumuru
  0 siblings, 2 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-08  9:23 UTC (permalink / raw)
  To: Charan Pedumuru
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel

On Sat, Mar 07, 2026 at 09:16:19AM +0000, Charan Pedumuru wrote:
> Add binding support for the Atmel AT91RM9200 OHCI USB host controller
> to the generic OHCI schema.
> 
> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
> ---
>  .../devicetree/bindings/usb/generic-ohci.yaml      | 33 ++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> index 961cbf85eeb5..a8a94b9c1fee 100644
> --- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> +++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> @@ -55,6 +55,7 @@ properties:
>            - ti,ohci-omap3
>        - items:
>            - enum:
> +              - atmel,at91rm9200-ohci
>                - cavium,octeon-6335-ohci
>                - nintendo,hollywood-usb-ohci
>                - nxp,ohci-nxp
> @@ -137,6 +138,16 @@ properties:
>        The associated ISP1301 device. Necessary for the UDC controller for
>        connecting to the USB physical layer.
>  
> +  atmel,vbus-gpio:

gpio is deprecated. All bindings use gpios. Also, pins do not use vendor
prefixes.


> +    description: GPIO used to control or sense the USB VBUS power.
> +    minItems: 1
> +    maxItems: 3

Why is this flexible? There is only one VBUS, no? Which pin is it
exactly on this device?

> +
> +  atmel,oc-gpio:
> +    description: GPIO used to signal USB overcurrent condition.
> +    minItems: 1
> +    maxItems: 3

Same question here - how is the pin called in the schematics?

> +
>  required:
>    - compatible
>    - reg
> @@ -144,6 +155,28 @@ required:
>  
>  allOf:
>    - $ref: usb-hcd.yaml
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: atmel,at91rm9200-ohci
> +    then:
> +      properties:
> +        clock-names:
> +          items:
> +            - const: ohci_clk
> +            - const: hclk
> +            - const: uhpck
> +
> +      required:
> +        - clocks
> +        - clock-names

There is already if:then:else covering clocks, so this makes multiple
clauses being applied to same device. That's not really readable.
Unfortunately that's a bit of a mess from existing binding. This can be
solved by moving this to separate schema, especially that you want to
add some specific properties to this device.

> +
> +    else:
> +      properties:
> +        atmel,vbus-gpio: false
> +        atmel,oc-gpio: false
> +
>    - if:
>        not:
>          properties:
> 
> -- 
> 2.53.0
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 4/5] dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema
  2026-03-07  9:16 ` [PATCH v3 4/5] dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema Charan Pedumuru
@ 2026-03-08  9:27   ` Krzysztof Kozlowski
  2026-03-13  6:55     ` Charan Pedumuru
  0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-08  9:27 UTC (permalink / raw)
  To: Charan Pedumuru
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel

On Sat, Mar 07, 2026 at 09:16:21AM +0000, Charan Pedumuru wrote:
> Convert Atmel AT91 USB Device Controller (UDC) binding to DT schema.
> Changes during conversion:
> - Include "atmel,pullup-gpio" and "atmel,matrix" in the properties since
>   they are required by existing in-tree DTS definitions.
> 
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
> ---
>  .../bindings/usb/atmel,at91rm9200-udc.yaml         | 77 ++++++++++++++++++++++

Where is the actual conversion? You are supposed to remove other file
for this to be a "convert".

>  1 file changed, 77 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml b/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml
> new file mode 100644
> index 000000000000..6961cd5d5d89
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml
> @@ -0,0 +1,77 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/atmel,at91rm9200-udc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel AT91 USB Device Controller (UDC)
> +
> +maintainers:
> +  - Nicolas Ferre <nicolas.ferre@microchip.com>
> +  - Alexandre Belloni <alexandre.belloni@bootlin.com>
> +
> +description:
> +  The Atmel AT91 USB Device Controller provides USB gadget (device-mode)
> +  functionality on AT91 SoCs. It requires a peripheral clock and an AHB
> +  clock for operation and may optionally control VBUS power through a GPIO.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - atmel,at91rm9200-udc
> +      - atmel,at91sam9260-udc
> +      - atmel,at91sam9261-udc
> +      - atmel,at91sam9263-udc
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    minItems: 2

Drop

> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: pclk
> +      - const: hclk
> +
> +  atmel,vbus-gpio:
> +    description: GPIO used to enable or control VBUS power for the USB bus.
> +    maxItems: 1
> +
> +  atmel,matrix:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: Phandle to the Atmel bus matrix controller.
> +
> +  atmel,pullup-gpio:
> +    description:
> +      GPIO controlling the USB D+ pull-up resistor used to signal device
> +      connection to the host.
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +unevaluatedProperties: false

additionalProperties

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support
  2026-03-08  9:23   ` Krzysztof Kozlowski
@ 2026-03-08  9:28     ` Krzysztof Kozlowski
  2026-03-13  6:34       ` Charan Pedumuru
  2026-03-13  6:31     ` Charan Pedumuru
  1 sibling, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-08  9:28 UTC (permalink / raw)
  To: Charan Pedumuru
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel

On 08/03/2026 10:23, Krzysztof Kozlowski wrote:
> On Sat, Mar 07, 2026 at 09:16:19AM +0000, Charan Pedumuru wrote:
>> Add binding support for the Atmel AT91RM9200 OHCI USB host controller
>> to the generic OHCI schema.
>>
>> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>

Also:

A nit, subject: drop second/last, redundant "binding support". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18

And you cannot add support for bindings. The DT schema or some kernel
Makefile gave that support, not this file.


>> ---
>>  .../devicetree/bindings/usb/generic-ohci.yaml      | 33 ++++++++++++++++++++++
>>  1 file changed, 33 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>> index 961cbf85eeb5..a8a94b9c1fee 100644
>> --- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>> +++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>> @@ -55,6 +55,7 @@ properties:
>>            - ti,ohci-omap3
>>        - items:
>>            - enum:
>> +              - atmel,at91rm9200-ohci
>>                - cavium,octeon-6335-ohci
>>                - nintendo,hollywood-usb-ohci
>>                - nxp,ohci-nxp
>> @@ -137,6 +138,16 @@ properties:
>>        The associated ISP1301 device. Necessary for the UDC controller for
>>        connecting to the USB physical layer.
>>  
>> +  atmel,vbus-gpio:
> 
> gpio is deprecated. All bindings use gpios. Also, pins do not use vendor
> prefixes.
> 
> 
>> +    description: GPIO used to control or sense the USB VBUS power.
>> +    minItems: 1
>> +    maxItems: 3
> 
> Why is this flexible? There is only one VBUS, no? Which pin is it
> exactly on this device?
> 
>> +
>> +  atmel,oc-gpio:
>> +    description: GPIO used to signal USB overcurrent condition.
>> +    minItems: 1
>> +    maxItems: 3
> 
> Same question here - how is the pin called in the schematics?
> 
>> +
>>  required:
>>    - compatible
>>    - reg
>> @@ -144,6 +155,28 @@ required:
>>  
>>  allOf:
>>    - $ref: usb-hcd.yaml
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            const: atmel,at91rm9200-ohci
>> +    then:
>> +      properties:
>> +        clock-names:
>> +          items:
>> +            - const: ohci_clk
>> +            - const: hclk
>> +            - const: uhpck
>> +
>> +      required:
>> +        - clocks
>> +        - clock-names
> 
> There is already if:then:else covering clocks, so this makes multiple
> clauses being applied to same device. That's not really readable.
> Unfortunately that's a bit of a mess from existing binding. This can be
> solved by moving this to separate schema, especially that you want to
> add some specific properties to this device.

I guess Rob was fine with this, so let's keep it in this file.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 5/5] dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema
  2026-03-07  9:16 ` [PATCH v3 5/5] dt-bindings: usb: atmel,at91sam9rl-udc: " Charan Pedumuru
@ 2026-03-08  9:29   ` Krzysztof Kozlowski
  2026-03-13 13:29     ` Charan Pedumuru
  0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-08  9:29 UTC (permalink / raw)
  To: Charan Pedumuru
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel

On Sat, Mar 07, 2026 at 09:16:22AM +0000, Charan Pedumuru wrote:
> +
> +  reg:
> +    maxItems: 2
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    minItems: 2

Drop

> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 2
> +    maxItems: 2
> +    items:
> +      enum: [pclk, hclk]

No, list the items instead. Why is this flexible? Nothing in commit msg
explains that.

> +
> +  atmel,vbus-gpio:
> +    description: GPIO used to detect the presence of VBUS, indicating that
> +      the USB cable is connected.
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/clock/at91.h>
> +    #include <dt-bindings/gpio/gpio.h>
> +    gadget@fff78000 {
> +        compatible = "atmel,at91sam9g45-udc";
> +        reg = <0x00600000 0x80000
> +               0xfff78000 0x400>;
> +        interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
> +        clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
> +        clock-names = "pclk", "hclk";
> +        atmel,vbus-gpio = <&pioC 15 GPIO_ACTIVE_HIGH>;
> +    };
> +...
> diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt
> deleted file mode 100644
> index 12183ef47ee4..000000000000
> --- a/Documentation/devicetree/bindings/usb/atmel-usb.txt
> +++ /dev/null
> @@ -1,125 +0,0 @@
> -Atmel SOC USB controllers
> -
> -OHCI
> -
> -Required properties:
> - - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers

Why do you remove OHCI here? There is no conversion of this compatible.
Don't combine multiple different changes in one commit.


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 1/5] arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node
  2026-03-07  9:16 ` [PATCH v3 1/5] arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node Charan Pedumuru
@ 2026-03-08 16:06   ` Claudiu Beznea
  0 siblings, 0 replies; 15+ messages in thread
From: Claudiu Beznea @ 2026-03-08 16:06 UTC (permalink / raw)
  To: Charan Pedumuru, Greg Kroah-Hartman, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Herve Codina, Nicolas Ferre,
	Alexandre Belloni
  Cc: linux-usb, devicetree, linux-arm-kernel, linux-kernel



On 3/7/26 11:16, Charan Pedumuru wrote:
> The UDC node does not define any child nodes, so the "#address-cells" and
> "#size-cells" properties are unnecessary. Remove these unused properties
> to simplify the devicetree node and keep it consistent with DT conventions.
> 
> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>

Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>

Applied to at91-dt, thanks!

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support
  2026-03-08  9:23   ` Krzysztof Kozlowski
  2026-03-08  9:28     ` Krzysztof Kozlowski
@ 2026-03-13  6:31     ` Charan Pedumuru
  1 sibling, 0 replies; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-13  6:31 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel



On 08-03-2026 14:53, Krzysztof Kozlowski wrote:
> On Sat, Mar 07, 2026 at 09:16:19AM +0000, Charan Pedumuru wrote:
>> Add binding support for the Atmel AT91RM9200 OHCI USB host controller
>> to the generic OHCI schema.
>>
>> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
>> ---
>>  .../devicetree/bindings/usb/generic-ohci.yaml      | 33 ++++++++++++++++++++++
>>  1 file changed, 33 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>> index 961cbf85eeb5..a8a94b9c1fee 100644
>> --- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>> +++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>> @@ -55,6 +55,7 @@ properties:
>>            - ti,ohci-omap3
>>        - items:
>>            - enum:
>> +              - atmel,at91rm9200-ohci
>>                - cavium,octeon-6335-ohci
>>                - nintendo,hollywood-usb-ohci
>>                - nxp,ohci-nxp
>> @@ -137,6 +138,16 @@ properties:
>>        The associated ISP1301 device. Necessary for the UDC controller for
>>        connecting to the USB physical layer.
>>  
>> +  atmel,vbus-gpio:
> 
> gpio is deprecated. All bindings use gpios. Also, pins do not use vendor
> prefixes.

It was already defined in the existing device tree and the same was defined in the text binding, I will remove these particular bindings from text file for each patch.

> 
> 
>> +    description: GPIO used to control or sense the USB VBUS power.
>> +    minItems: 1
>> +    maxItems: 3
> 
> Why is this flexible? There is only one VBUS, no? Which pin is it
> exactly on this device?

VBUS has 3 pins and will write the exact pin in the description.

> 
>> +
>> +  atmel,oc-gpio:
>> +    description: GPIO used to signal USB overcurrent condition.
>> +    minItems: 1
>> +    maxItems: 3
> 
> Same question here - how is the pin called in the schematics?

Okay.

> 
>> +
>>  required:
>>    - compatible
>>    - reg
>> @@ -144,6 +155,28 @@ required:
>>  
>>  allOf:
>>    - $ref: usb-hcd.yaml
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            const: atmel,at91rm9200-ohci
>> +    then:
>> +      properties:
>> +        clock-names:
>> +          items:
>> +            - const: ohci_clk
>> +            - const: hclk
>> +            - const: uhpck
>> +
>> +      required:
>> +        - clocks
>> +        - clock-names
> 
> There is already if:then:else covering clocks, so this makes multiple
> clauses being applied to same device. That's not really readable.
> Unfortunately that's a bit of a mess from existing binding. This can be
> solved by moving this to separate schema, especially that you want to
> add some specific properties to this device.
> 
>> +
>> +    else:
>> +      properties:
>> +        atmel,vbus-gpio: false
>> +        atmel,oc-gpio: false
>> +
>>    - if:
>>        not:
>>          properties:
>>
>> -- 
>> 2.53.0
>>

-- 
Best Regards,
Charan.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support
  2026-03-08  9:28     ` Krzysztof Kozlowski
@ 2026-03-13  6:34       ` Charan Pedumuru
  0 siblings, 0 replies; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-13  6:34 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel



On 08-03-2026 14:58, Krzysztof Kozlowski wrote:
> On 08/03/2026 10:23, Krzysztof Kozlowski wrote:
>> On Sat, Mar 07, 2026 at 09:16:19AM +0000, Charan Pedumuru wrote:
>>> Add binding support for the Atmel AT91RM9200 OHCI USB host controller
>>> to the generic OHCI schema.
>>>
>>> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
> 
> Also:
> 
> A nit, subject: drop second/last, redundant "binding support". The
> "dt-bindings" prefix is already stating that these are bindings.
> See also:
> https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
> 
> And you cannot add support for bindings. The DT schema or some kernel
> Makefile gave that support, not this file.

Okay, I will change that.

> 
> 
>>> ---
>>>  .../devicetree/bindings/usb/generic-ohci.yaml      | 33 ++++++++++++++++++++++
>>>  1 file changed, 33 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>>> index 961cbf85eeb5..a8a94b9c1fee 100644
>>> --- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>>> +++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
>>> @@ -55,6 +55,7 @@ properties:
>>>            - ti,ohci-omap3
>>>        - items:
>>>            - enum:
>>> +              - atmel,at91rm9200-ohci
>>>                - cavium,octeon-6335-ohci
>>>                - nintendo,hollywood-usb-ohci
>>>                - nxp,ohci-nxp
>>> @@ -137,6 +138,16 @@ properties:
>>>        The associated ISP1301 device. Necessary for the UDC controller for
>>>        connecting to the USB physical layer.
>>>  
>>> +  atmel,vbus-gpio:
>>
>> gpio is deprecated. All bindings use gpios. Also, pins do not use vendor
>> prefixes.
>>
>>
>>> +    description: GPIO used to control or sense the USB VBUS power.
>>> +    minItems: 1
>>> +    maxItems: 3
>>
>> Why is this flexible? There is only one VBUS, no? Which pin is it
>> exactly on this device?
>>
>>> +
>>> +  atmel,oc-gpio:
>>> +    description: GPIO used to signal USB overcurrent condition.
>>> +    minItems: 1
>>> +    maxItems: 3
>>
>> Same question here - how is the pin called in the schematics?
>>
>>> +
>>>  required:
>>>    - compatible
>>>    - reg
>>> @@ -144,6 +155,28 @@ required:
>>>  
>>>  allOf:
>>>    - $ref: usb-hcd.yaml
>>> +  - if:
>>> +      properties:
>>> +        compatible:
>>> +          contains:
>>> +            const: atmel,at91rm9200-ohci
>>> +    then:
>>> +      properties:
>>> +        clock-names:
>>> +          items:
>>> +            - const: ohci_clk
>>> +            - const: hclk
>>> +            - const: uhpck
>>> +
>>> +      required:
>>> +        - clocks
>>> +        - clock-names
>>
>> There is already if:then:else covering clocks, so this makes multiple
>> clauses being applied to same device. That's not really readable.
>> Unfortunately that's a bit of a mess from existing binding. This can be
>> solved by moving this to separate schema, especially that you want to
>> add some specific properties to this device.
> 
> I guess Rob was fine with this, so let's keep it in this file.

Yes, it should be defined here as the fallback compatible is already defined in this existing YAML.

> 
> Best regards,
> Krzysztof

-- 
Best Regards,
Charan.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 4/5] dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema
  2026-03-08  9:27   ` Krzysztof Kozlowski
@ 2026-03-13  6:55     ` Charan Pedumuru
  0 siblings, 0 replies; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-13  6:55 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel



On 08-03-2026 14:57, Krzysztof Kozlowski wrote:
> On Sat, Mar 07, 2026 at 09:16:21AM +0000, Charan Pedumuru wrote:
>> Convert Atmel AT91 USB Device Controller (UDC) binding to DT schema.
>> Changes during conversion:
>> - Include "atmel,pullup-gpio" and "atmel,matrix" in the properties since
>>   they are required by existing in-tree DTS definitions.
>>
>> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
>> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
>> ---
>>  .../bindings/usb/atmel,at91rm9200-udc.yaml         | 77 ++++++++++++++++++++++
> 
> Where is the actual conversion? You are supposed to remove other file
> for this to be a "convert".
> 
>>  1 file changed, 77 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml b/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml
>> new file mode 100644
>> index 000000000000..6961cd5d5d89
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/atmel,at91rm9200-udc.yaml
>> @@ -0,0 +1,77 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/usb/atmel,at91rm9200-udc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Atmel AT91 USB Device Controller (UDC)
>> +
>> +maintainers:
>> +  - Nicolas Ferre <nicolas.ferre@microchip.com>
>> +  - Alexandre Belloni <alexandre.belloni@bootlin.com>
>> +
>> +description:
>> +  The Atmel AT91 USB Device Controller provides USB gadget (device-mode)
>> +  functionality on AT91 SoCs. It requires a peripheral clock and an AHB
>> +  clock for operation and may optionally control VBUS power through a GPIO.
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - atmel,at91rm9200-udc
>> +      - atmel,at91sam9260-udc
>> +      - atmel,at91sam9261-udc
>> +      - atmel,at91sam9263-udc
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    minItems: 2
> 
> Drop

Sure.

> 
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    items:
>> +      - const: pclk
>> +      - const: hclk
>> +
>> +  atmel,vbus-gpio:
>> +    description: GPIO used to enable or control VBUS power for the USB bus.
>> +    maxItems: 1
>> +
>> +  atmel,matrix:
>> +    $ref: /schemas/types.yaml#/definitions/phandle
>> +    description: Phandle to the Atmel bus matrix controller.
>> +
>> +  atmel,pullup-gpio:
>> +    description:
>> +      GPIO controlling the USB D+ pull-up resistor used to signal device
>> +      connection to the host.
>> +    maxItems: 1
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clocks
>> +  - clock-names
>> +
>> +unevaluatedProperties: false
> 
> additionalProperties

Okay.

> 
> Best regards,
> Krzysztof
> 

-- 
Best Regards,
Charan.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v3 5/5] dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema
  2026-03-08  9:29   ` Krzysztof Kozlowski
@ 2026-03-13 13:29     ` Charan Pedumuru
  0 siblings, 0 replies; 15+ messages in thread
From: Charan Pedumuru @ 2026-03-13 13:29 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Claudiu Beznea, Herve Codina, Nicolas Ferre,
	Alexandre Belloni, linux-usb, devicetree, linux-arm-kernel,
	linux-kernel



On 08-03-2026 14:59, Krzysztof Kozlowski wrote:
> On Sat, Mar 07, 2026 at 09:16:22AM +0000, Charan Pedumuru wrote:
>> +
>> +  reg:
>> +    maxItems: 2
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    minItems: 2
> 
> Drop

Sure.

> 
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    minItems: 2
>> +    maxItems: 2
>> +    items:
>> +      enum: [pclk, hclk]
> 
> No, list the items instead. Why is this flexible? Nothing in commit msg
> explains that.

Some of the DTS files use those clock-names in different order, I will write this in the commit message.

> 
>> +
>> +  atmel,vbus-gpio:
>> +    description: GPIO used to detect the presence of VBUS, indicating that
>> +      the USB cable is connected.
>> +    maxItems: 1
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clocks
>> +  - clock-names
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/interrupt-controller/irq.h>
>> +    #include <dt-bindings/clock/at91.h>
>> +    #include <dt-bindings/gpio/gpio.h>
>> +    gadget@fff78000 {
>> +        compatible = "atmel,at91sam9g45-udc";
>> +        reg = <0x00600000 0x80000
>> +               0xfff78000 0x400>;
>> +        interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
>> +        clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
>> +        clock-names = "pclk", "hclk";
>> +        atmel,vbus-gpio = <&pioC 15 GPIO_ACTIVE_HIGH>;
>> +    };
>> +...
>> diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt
>> deleted file mode 100644
>> index 12183ef47ee4..000000000000
>> --- a/Documentation/devicetree/bindings/usb/atmel-usb.txt
>> +++ /dev/null
>> @@ -1,125 +0,0 @@
>> -Atmel SOC USB controllers
>> -
>> -OHCI
>> -
>> -Required properties:
>> - - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers
> 
> Why do you remove OHCI here? There is no conversion of this compatible.
> Don't combine multiple different changes in one commit.

I will remove each binding from the text file for each patch while converting them.

> 
> 
> Best regards,
> Krzysztof
> 

-- 
Best Regards,
Charan.


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-03-13 13:29 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-07  9:16 [PATCH v3 0/5] dt-bindings: usb: atmel: convert Atmel USB controller bindings to YAML Charan Pedumuru
2026-03-07  9:16 ` [PATCH v3 1/5] arm: dts: at91: remove unused #address-cells/#size-cells from sam9x60 udc node Charan Pedumuru
2026-03-08 16:06   ` Claudiu Beznea
2026-03-07  9:16 ` [PATCH v3 2/5] dt-bindings: usb: generic-ohci: add AT91RM9200 OHCI binding support Charan Pedumuru
2026-03-08  9:23   ` Krzysztof Kozlowski
2026-03-08  9:28     ` Krzysztof Kozlowski
2026-03-13  6:34       ` Charan Pedumuru
2026-03-13  6:31     ` Charan Pedumuru
2026-03-07  9:16 ` [PATCH v3 3/5] dt-bindings: usb: generic-ehci: fix schema structure and add at91sam9g45 constraints Charan Pedumuru
2026-03-07  9:16 ` [PATCH v3 4/5] dt-bindings: usb: atmel,at91rm9200-udc: convert to DT schema Charan Pedumuru
2026-03-08  9:27   ` Krzysztof Kozlowski
2026-03-13  6:55     ` Charan Pedumuru
2026-03-07  9:16 ` [PATCH v3 5/5] dt-bindings: usb: atmel,at91sam9rl-udc: " Charan Pedumuru
2026-03-08  9:29   ` Krzysztof Kozlowski
2026-03-13 13:29     ` Charan Pedumuru

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox