dt-bindings: usb: atmel,at91sam9rl-udc: convert to DT schema

Convert Atmel High-Speed USB Device Controller (USBA) binding to DT schema.
Changes during conversion:
- Make the "clock-names" property flexible enough to accept the items
  in any order as the existing in tree DTS nodes doesn't follow an order.

Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260327-atmel-usb-v4-5-eb8b6e49b29d@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Charan Pedumuru 2026-03-27 16:47:46 +00:00 committed by Greg Kroah-Hartman
parent abfffb4b36
commit 35c8b7148c
2 changed files with 74 additions and 46 deletions

View File

@ -0,0 +1,74 @@
# 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:
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>;
};
...

View File

@ -1,46 +0,0 @@
Atmel SOC USB controllers
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>;
};