[PATCH v2 1/2] dt-bindings: usb: gadget: udc: add Axiado AX3000 and AX3005 UDC

Naveen Kumar Rajgiri Bassappa rbnaveenkumar at axiado.com
Mon Aug 17 22:57:13 PDT 2026


Add a Devicetree binding for the USB device controller integrated into
the Axiado AX3000 and AX3005 SoCs.

The controller is based on the Corigine USB 3.1 device IP core and supports
High-Speed and SuperSpeed operation. The standard maximum-speed property
can be used to limit the controller to High-Speed operation.

Signed-off-by: Naveen Kumar Rajgiri Bassappa <rbnaveenkumar at axiado.com>
---
 .../devicetree/bindings/usb/axiado,ax3000-udc.yaml | 72 ++++++++++++++++++++++
 MAINTAINERS                                        |  8 +++
 2 files changed, 80 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/axiado,ax3000-udc.yaml b/Documentation/devicetree/bindings/usb/axiado,ax3000-udc.yaml
new file mode 100644
index 000000000000..a9892658b059
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/axiado,ax3000-udc.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/axiado,ax3000-udc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Axiado AX3000/AX3005 USB Device Controller
+
+maintainers:
+  - Naveen Kumar Rajgiri Bassappa <rbnaveenkumar at axiado.com>
+  - Krutik Shah <krutikshah at axiado.com>
+  - Prasad Bolisetty <pbolisetty at axiado.com>
+
+description:
+  Axiado USB Device Controller (UDC) is used on the AX3000 and AX3005
+  SoCs. This controller is based on a Corigine USB IP core and provides
+  SuperSpeed (5 Gb/s) or High-Speed (480 Mb/s) operation, selected by the
+  maximum-speed property. It supports control, bulk, interrupt, and
+  isochronous transfer types across multiple configurable endpoints. The
+  node describes the memory-mapped register region, interrupt line, and
+  other required properties for the UDC hardware.
+
+properties:
+  compatible:
+    oneOf:
+      - const: axiado,ax3000-udc
+      - items:
+          - const: axiado,ax3005-udc
+          - const: axiado,ax3000-udc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  resets:
+    maxItems: 1
+
+  phys:
+    maxItems: 1
+
+  maximum-speed:
+    enum: [super-speed, high-speed]
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    soc {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        usb at 81200000 {
+            compatible = "axiado,ax3000-udc";
+            reg = <0x0 0x81200000 0x0 0x00100000>;
+            interrupt-parent = <&gic500>;
+            interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
+            maximum-speed = "high-speed";
+        };
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index a674e36529f7..36af69fb965b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4468,6 +4468,14 @@ F:	Documentation/devicetree/bindings/spi/axiado,ax3000-spi.yaml
 F:	drivers/spi/spi-axiado.c
 F:	drivers/spi/spi-axiado.h
 
+AXIADO USB UDC DRIVER
+M:	Naveen Kumar Rajgiri Bassappa <rbnaveenkumar at axiado.com>
+M:	Krutik Shah <krutikshah at axiado.com>
+M:	Prasad Bolisetty <pbolisetty at axiado.com>
+L:	linux-usb at vger.kernel.org
+S:	Supported
+F:	Documentation/devicetree/bindings/usb/axiado,ax3000-udc.yaml
+
 AYANEO PLATFORM EC DRIVER
 M:	Antheas Kapenekakis <lkml at antheas.dev>
 L:	platform-driver-x86 at vger.kernel.org

-- 
2.34.1




More information about the linux-arm-kernel mailing list