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

Krzysztof Kozlowski krzk at kernel.org
Fri Aug 21 00:41:13 PDT 2026


On Mon, Aug 17, 2026 at 10:57:13PM -0700, Naveen Kumar Rajgiri Bassappa wrote:
> +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.

Did you implement my comment?

> +
> +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]

You miss referencing proper schema to get such property or you should
not come with own generic properties. IOW, look at other bindings how
they define a proper UDC device schema.


I also do not see a need for this, compatible defines max 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>;

resets, phys. Make example complete.

> +            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