diff mbox series

dt-bindings: net: can: atmel: Convert to json schema

Message ID 20240912-can-v1-1-c5651b1809bb@microchip.com (mailing list archive)
State New, archived
Headers show
Series dt-bindings: net: can: atmel: Convert to json schema | expand

Commit Message

Charan Pedumuru Sept. 12, 2024, 5:49 a.m. UTC
Convert atmel-can documentation to yaml format

Signed-off-by: Charan Pedumuru <charan.pedumuru@microchip.com>
---
 .../bindings/net/can/atmel,at91sam9263-can.yaml    | 67 ++++++++++++++++++++++
 .../devicetree/bindings/net/can/atmel-can.txt      | 15 -----
 2 files changed, 67 insertions(+), 15 deletions(-)


---
base-commit: 32ffa5373540a8d1c06619f52d019c6cdc948bb4
change-id: 20240912-can-8eb7f8e7566d

Best regards,

Comments

Conor Dooley Sept. 12, 2024, 6:36 a.m. UTC | #1
On Thu, Sep 12, 2024 at 11:19:16AM +0530, Charan Pedumuru wrote:
> Convert atmel-can documentation to yaml format
> 
> Signed-off-by: Charan Pedumuru <charan.pedumuru@microchip.com>

Please see the comments I left on the internal v2 of this patch.

Thanks,
Conor.

> ---
>  .../bindings/net/can/atmel,at91sam9263-can.yaml    | 67 ++++++++++++++++++++++
>  .../devicetree/bindings/net/can/atmel-can.txt      | 15 -----
>  2 files changed, 67 insertions(+), 15 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml b/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml
> new file mode 100644
> index 000000000000..269af4c993a7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml
> @@ -0,0 +1,67 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/can/atmel,at91sam9263-can.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel CAN Controller
> +
> +maintainers:
> +  - Nicolas Ferre <nicolas.ferre@microchip.com>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - enum:
> +          - atmel,at91sam9263-can
> +          - atmel,at91sam9x5-can
> +          - microchip,sam9x60-can
> +      - items:
> +          - enum:
> +              - microchip,sam9x60-can
> +          - const: atmel,at91sam9x5-can
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    items:
> +      - const: can_clk
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +allOf:
> +  - $ref: can-controller.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - microchip,sam9x60-can
> +    then:
> +      required:
> +        - compatible
> +        - reg
> +        - interrupts
> +        - clocks
> +        - clock-names
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    can0: can@f000c000 {
> +          compatible = "atmel,at91sam9x5-can";
> +          reg = <0xf000c000 0x300>;
> +          interrupts = <30 IRQ_TYPE_LEVEL_HIGH 3>;
> +    };
> diff --git a/Documentation/devicetree/bindings/net/can/atmel-can.txt b/Documentation/devicetree/bindings/net/can/atmel-can.txt
> deleted file mode 100644
> index 218a3b3eb27e..000000000000
> --- a/Documentation/devicetree/bindings/net/can/atmel-can.txt
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -* AT91 CAN *
> -
> -Required properties:
> -  - compatible: Should be "atmel,at91sam9263-can", "atmel,at91sam9x5-can" or
> -    "microchip,sam9x60-can"
> -  - reg: Should contain CAN controller registers location and length
> -  - interrupts: Should contain IRQ line for the CAN controller
> -
> -Example:
> -
> -	can0: can@f000c000 {
> -		compatible = "atmel,at91sam9x5-can";
> -		reg = <0xf000c000 0x300>;
> -		interrupts = <40 4 5>
> -	};
> 
> ---
> base-commit: 32ffa5373540a8d1c06619f52d019c6cdc948bb4
> change-id: 20240912-can-8eb7f8e7566d
> 
> Best regards,
> -- 
> Charan Pedumuru <charan.pedumuru@microchip.com>
>
Marc Kleine-Budde Sept. 12, 2024, 7:35 a.m. UTC | #2
On 12.09.2024 11:19:16, Charan Pedumuru wrote:
> Convert atmel-can documentation to yaml format
> 
> Signed-off-by: Charan Pedumuru <charan.pedumuru@microchip.com>
> ---
>  .../bindings/net/can/atmel,at91sam9263-can.yaml    | 67 ++++++++++++++++++++++
>  .../devicetree/bindings/net/can/atmel-can.txt      | 15 -----
>  2 files changed, 67 insertions(+), 15 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml b/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml
> new file mode 100644
> index 000000000000..269af4c993a7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml
> @@ -0,0 +1,67 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/can/atmel,at91sam9263-can.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel CAN Controller
> +
> +maintainers:
> +  - Nicolas Ferre <nicolas.ferre@microchip.com>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - enum:
> +          - atmel,at91sam9263-can
> +          - atmel,at91sam9x5-can
> +          - microchip,sam9x60-can

The driver doesn't have a compatible for "microchip,sam9x60-can".

> +      - items:
> +          - enum:
> +              - microchip,sam9x60-can
> +          - const: atmel,at91sam9x5-can
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    items:
> +      - const: can_clk
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +allOf:
> +  - $ref: can-controller.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - microchip,sam9x60-can
> +    then:
> +      required:
> +        - compatible
> +        - reg
> +        - interrupts
> +        - clocks
> +        - clock-names

AFAICS clock-names is required for all compatibles.

> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    can0: can@f000c000 {

I think unused labels should be removed.

> +          compatible = "atmel,at91sam9x5-can";
> +          reg = <0xf000c000 0x300>;
> +          interrupts = <30 IRQ_TYPE_LEVEL_HIGH 3>;
> +    };
> diff --git a/Documentation/devicetree/bindings/net/can/atmel-can.txt b/Documentation/devicetree/bindings/net/can/atmel-can.txt
> deleted file mode 100644
> index 218a3b3eb27e..000000000000
> --- a/Documentation/devicetree/bindings/net/can/atmel-can.txt
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -* AT91 CAN *
> -
> -Required properties:
> -  - compatible: Should be "atmel,at91sam9263-can", "atmel,at91sam9x5-can" or
> -    "microchip,sam9x60-can"
> -  - reg: Should contain CAN controller registers location and length
> -  - interrupts: Should contain IRQ line for the CAN controller
> -
> -Example:
> -
> -	can0: can@f000c000 {
> -		compatible = "atmel,at91sam9x5-can";
> -		reg = <0xf000c000 0x300>;
> -		interrupts = <40 4 5>
> -	};
> 
> ---
> base-commit: 32ffa5373540a8d1c06619f52d019c6cdc948bb4
> change-id: 20240912-can-8eb7f8e7566d
> 
> Best regards,
> -- 
> Charan Pedumuru <charan.pedumuru@microchip.com>
> 
> 
> 

Marc
Marc Kleine-Budde Sept. 23, 2024, 10:57 a.m. UTC | #3
On 20.09.2024 04:51:57, Charan.Pedumuru@microchip.com wrote:
> >> +allOf:
> >> +  - $ref: can-controller.yaml#
> >> +  - if:
> >> +      properties:
> >> +        compatible:
> >> +          contains:
> >> +            enum:
> >> +              - microchip,sam9x60-can
> >> +    then:
> >> +      required:
> >> +        - compatible
> >> +        - reg
> >> +        - interrupts
> >> +        - clocks
> >> +        - clock-names
> > AFAICS clock-names is required for all compatibles.
> In our case only sam9x60 is using clock-names property.

No, the driver uses "clk_get(&pdev->dev, "can_clk")", so this property
is mandatory.

regards,
Marc
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml b/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml
new file mode 100644
index 000000000000..269af4c993a7
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/atmel,at91sam9263-can.yaml
@@ -0,0 +1,67 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/can/atmel,at91sam9263-can.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel CAN Controller
+
+maintainers:
+  - Nicolas Ferre <nicolas.ferre@microchip.com>
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - atmel,at91sam9263-can
+          - atmel,at91sam9x5-can
+          - microchip,sam9x60-can
+      - items:
+          - enum:
+              - microchip,sam9x60-can
+          - const: atmel,at91sam9x5-can
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    items:
+      - const: can_clk
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+allOf:
+  - $ref: can-controller.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - microchip,sam9x60-can
+    then:
+      required:
+        - compatible
+        - reg
+        - interrupts
+        - clocks
+        - clock-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    can0: can@f000c000 {
+          compatible = "atmel,at91sam9x5-can";
+          reg = <0xf000c000 0x300>;
+          interrupts = <30 IRQ_TYPE_LEVEL_HIGH 3>;
+    };
diff --git a/Documentation/devicetree/bindings/net/can/atmel-can.txt b/Documentation/devicetree/bindings/net/can/atmel-can.txt
deleted file mode 100644
index 218a3b3eb27e..000000000000
--- a/Documentation/devicetree/bindings/net/can/atmel-can.txt
+++ /dev/null
@@ -1,15 +0,0 @@ 
-* AT91 CAN *
-
-Required properties:
-  - compatible: Should be "atmel,at91sam9263-can", "atmel,at91sam9x5-can" or
-    "microchip,sam9x60-can"
-  - reg: Should contain CAN controller registers location and length
-  - interrupts: Should contain IRQ line for the CAN controller
-
-Example:
-
-	can0: can@f000c000 {
-		compatible = "atmel,at91sam9x5-can";
-		reg = <0xf000c000 0x300>;
-		interrupts = <40 4 5>
-	};