[PATCH 2/4] dt-bindings: usb: atmel,at91sam9g45-ehci: convert to DT schema

Charan Pedumuru posted 4 patches 1 week ago
[PATCH 2/4] dt-bindings: usb: atmel,at91sam9g45-ehci: convert to DT schema
Posted by Charan Pedumuru 1 week ago
Convert Atmel AT91SAM9G45 EHCI USB Host Controller
binding to DT schema.
Changes during conversion:
- Include "usb-ehci" as a fallback compatible to allow atmel EHCI
  driver matching.

Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
 .../bindings/usb/atmel,at91sam9g45-ehci.yaml       | 71 ++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/atmel,at91sam9g45-ehci.yaml b/Documentation/devicetree/bindings/usb/atmel,at91sam9g45-ehci.yaml
new file mode 100644
index 000000000000..d7b8d110656c
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/atmel,at91sam9g45-ehci.yaml
@@ -0,0 +1,71 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel AT91SAM9G45 EHCI USB Host Controller
+
+maintainers:
+  - Nicolas Ferre <nicolas.ferre@microchip.com>
+  - Alexandre Belloni <alexandre.belloni@bootlin.com>
+
+description:
+  The Atmel AT91SAM9G45 EHCI controller is a high-speed USB 2.0 host
+  controller compliant with the EHCI specification. It provides USB host
+  functionality when operating in host mode and requires a peripheral clock
+  and a UTMI clock for operation. The controller may support multiple USB
+  ports, with the PHY interface type selectable via the phy_type property.
+
+allOf:
+  - $ref: /schemas/usb/usb.yaml#
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: atmel,at91sam9g45-ehci
+          - const: usb-ehci
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 2
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: ehci_clk
+      - const: usb_clk
+
+  phy_type:
+    enum:
+      - utmi
+      - hsic
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/at91.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    usb@500000 {
+        compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
+        reg = <0x00500000 0x100000>;
+        interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
+        clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 41>;
+        clock-names = "usb_clk", "ehci_clk";
+        phy_type = "hsic";
+    };
+...

-- 
2.52.0
Re: [PATCH 2/4] dt-bindings: usb: atmel,at91sam9g45-ehci: convert to DT schema
Posted by Rob Herring (Arm) 1 week ago
On Sun, 01 Feb 2026 11:34:21 +0000, Charan Pedumuru wrote:
> Convert Atmel AT91SAM9G45 EHCI USB Host Controller
> binding to DT schema.
> Changes during conversion:
> - Include "usb-ehci" as a fallback compatible to allow atmel EHCI
>   driver matching.
> 
> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
> ---
>  .../bindings/usb/atmel,at91sam9g45-ehci.yaml       | 71 ++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Warning: Duplicate compatible "usb-ehci" found in schemas matching "$id":
	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
	http://devicetree.org/schemas/usb/generic-ehci.yaml#
Warning: Duplicate compatible "atmel,at91sam9g45-ehci" found in schemas matching "$id":
	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
	http://devicetree.org/schemas/usb/generic-ehci.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/atmel,at91sam9g45-ehci.example.dtb: usb@500000 (atmel,at91sam9g45-ehci): Unevaluated properties are not allowed ('clock-names' was unexpected)
	from schema $id: http://devicetree.org/schemas/usb/generic-ehci.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.kernel.org/project/devicetree/patch/20260201-atmel-usb-v1-2-d1a3e93003f1@gmail.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Re: [PATCH 2/4] dt-bindings: usb: atmel,at91sam9g45-ehci: convert to DT schema
Posted by Charan Pedumuru 6 days, 23 hours ago

On 01-02-2026 18:07, Rob Herring (Arm) wrote:
> 
> On Sun, 01 Feb 2026 11:34:21 +0000, Charan Pedumuru wrote:
>> Convert Atmel AT91SAM9G45 EHCI USB Host Controller
>> binding to DT schema.
>> Changes during conversion:
>> - Include "usb-ehci" as a fallback compatible to allow atmel EHCI
>>   driver matching.
>>
>> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
>> ---
>>  .../bindings/usb/atmel,at91sam9g45-ehci.yaml       | 71 ++++++++++++++++++++++
>>  1 file changed, 71 insertions(+)
>>
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> Warning: Duplicate compatible "usb-ehci" found in schemas matching "$id":
> 	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
> 	http://devicetree.org/schemas/usb/generic-ehci.yaml#
> Warning: Duplicate compatible "atmel,at91sam9g45-ehci" found in schemas matching "$id":
> 	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
> 	http://devicetree.org/schemas/usb/generic-ehci.yaml#
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/atmel,at91sam9g45-ehci.example.dtb: usb@500000 (atmel,at91sam9g45-ehci): Unevaluated properties are not allowed ('clock-names' was unexpected)
> 	from schema $id: http://devicetree.org/schemas/usb/generic-ehci.yaml

Hi Rob,
Isn't it pointing to the other schema ID which was not defined by me? Can I have your suggestion on changing the compatible name to other name to resolve this error? I ran dt_check in my machine on the latest version and I don't see any error there.

> 
> doc reference errors (make refcheckdocs):
> 
> See https://patchwork.kernel.org/project/devicetree/patch/20260201-atmel-usb-v1-2-d1a3e93003f1@gmail.com
> 
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
> 

-- 
Best Regards,
Charan.
Re: [PATCH 2/4] dt-bindings: usb: atmel,at91sam9g45-ehci: convert to DT schema
Posted by Rob Herring 5 days, 16 hours ago
On Mon, Feb 02, 2026 at 04:32:54PM +0530, Charan Pedumuru wrote:
> 
> 
> On 01-02-2026 18:07, Rob Herring (Arm) wrote:
> > 
> > On Sun, 01 Feb 2026 11:34:21 +0000, Charan Pedumuru wrote:
> >> Convert Atmel AT91SAM9G45 EHCI USB Host Controller
> >> binding to DT schema.
> >> Changes during conversion:
> >> - Include "usb-ehci" as a fallback compatible to allow atmel EHCI
> >>   driver matching.
> >>
> >> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
> >> ---
> >>  .../bindings/usb/atmel,at91sam9g45-ehci.yaml       | 71 ++++++++++++++++++++++
> >>  1 file changed, 71 insertions(+)
> >>
> > 
> > My bot found errors running 'make dt_binding_check' on your patch:
> > 
> > yamllint warnings/errors:
> > 
> > dtschema/dtc warnings/errors:
> > Warning: Duplicate compatible "usb-ehci" found in schemas matching "$id":
> > 	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
> > 	http://devicetree.org/schemas/usb/generic-ehci.yaml#
> > Warning: Duplicate compatible "atmel,at91sam9g45-ehci" found in schemas matching "$id":
> > 	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
> > 	http://devicetree.org/schemas/usb/generic-ehci.yaml#
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/atmel,at91sam9g45-ehci.example.dtb: usb@500000 (atmel,at91sam9g45-ehci): Unevaluated properties are not allowed ('clock-names' was unexpected)
> > 	from schema $id: http://devicetree.org/schemas/usb/generic-ehci.yaml
> 
> Hi Rob,
> Isn't it pointing to the other schema ID which was not defined by me? 

You can't have the same compatible defined in 2 places.

> Can I have your suggestion on changing the compatible name to other 
> name to resolve this error? 

Why are you converting this? It's already covered by generic-ehci.yaml. 
Though I seem to recall there were some warnings for Atmel.

> I ran dt_check in my machine on the 
> latest version and I don't see any error there.

Please read the last paragraph below for why.

> 
> > 
> > doc reference errors (make refcheckdocs):
> > 
> > See https://patchwork.kernel.org/project/devicetree/patch/20260201-atmel-usb-v1-2-d1a3e93003f1@gmail.com
> > 
> > The base for the series is generally the latest rc1. A different dependency
> > should be noted in *this* patch.
> > 
> > If you already ran 'make dt_binding_check' and didn't see the above
> > error(s), then make sure 'yamllint' is installed and dt-schema is up to
> > date:
> > 
> > pip3 install dtschema --upgrade
> > 
> > Please check and re-submit after running the above command yourself. Note
> > that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> > your schema. However, it must be unset to test all examples with your schema.

^^^^^^^

Rob
Re: [PATCH 2/4] dt-bindings: usb: atmel,at91sam9g45-ehci: convert to DT schema
Posted by Charan Pedumuru 4 days, 21 hours ago

On 03-02-2026 23:38, Rob Herring wrote:
> On Mon, Feb 02, 2026 at 04:32:54PM +0530, Charan Pedumuru wrote:
>>
>>
>> On 01-02-2026 18:07, Rob Herring (Arm) wrote:
>>>
>>> On Sun, 01 Feb 2026 11:34:21 +0000, Charan Pedumuru wrote:
>>>> Convert Atmel AT91SAM9G45 EHCI USB Host Controller
>>>> binding to DT schema.
>>>> Changes during conversion:
>>>> - Include "usb-ehci" as a fallback compatible to allow atmel EHCI
>>>>   driver matching.
>>>>
>>>> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
>>>> ---
>>>>  .../bindings/usb/atmel,at91sam9g45-ehci.yaml       | 71 ++++++++++++++++++++++
>>>>  1 file changed, 71 insertions(+)
>>>>
>>>
>>> My bot found errors running 'make dt_binding_check' on your patch:
>>>
>>> yamllint warnings/errors:
>>>
>>> dtschema/dtc warnings/errors:
>>> Warning: Duplicate compatible "usb-ehci" found in schemas matching "$id":
>>> 	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
>>> 	http://devicetree.org/schemas/usb/generic-ehci.yaml#
>>> Warning: Duplicate compatible "atmel,at91sam9g45-ehci" found in schemas matching "$id":
>>> 	http://devicetree.org/schemas/usb/atmel,at91sam9g45-ehci.yaml
>>> 	http://devicetree.org/schemas/usb/generic-ehci.yaml#
>>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/atmel,at91sam9g45-ehci.example.dtb: usb@500000 (atmel,at91sam9g45-ehci): Unevaluated properties are not allowed ('clock-names' was unexpected)
>>> 	from schema $id: http://devicetree.org/schemas/usb/generic-ehci.yaml
>>
>> Hi Rob,
>> Isn't it pointing to the other schema ID which was not defined by me? 
> 
> You can't have the same compatible defined in 2 places.

Okay.

> 
>> Can I have your suggestion on changing the compatible name to other 
>> name to resolve this error? 
> 
> Why are you converting this? It's already covered by generic-ehci.yaml. 
> Though I seem to recall there were some warnings for Atmel.

Yes, in that case I will drop this patch in the next revision.

> 
>> I ran dt_check in my machine on the 
>> latest version and I don't see any error there.
> 
> Please read the last paragraph below for why.

Okay, I understood now.

> 
>>
>>>
>>> doc reference errors (make refcheckdocs):
>>>
>>> See https://patchwork.kernel.org/project/devicetree/patch/20260201-atmel-usb-v1-2-d1a3e93003f1@gmail.com
>>>
>>> The base for the series is generally the latest rc1. A different dependency
>>> should be noted in *this* patch.
>>>
>>> If you already ran 'make dt_binding_check' and didn't see the above
>>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>>> date:
>>>
>>> pip3 install dtschema --upgrade
>>>
>>> Please check and re-submit after running the above command yourself. Note
>>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>>> your schema. However, it must be unset to test all examples with your schema.
> 
> ^^^^^^^
> 
> Rob

-- 
Best Regards,
Charan.