linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
@ 2022-07-12 16:25 Sergiu Moga
  2022-07-12 16:32 ` Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Sergiu Moga @ 2022-07-12 16:25 UTC (permalink / raw)
  To: broonie, robh+dt, krzysztof.kozlowski+dt, nicolas.ferre,
	alexandre.belloni, claudiu.beznea
  Cc: linux-spi, devicetree, linux-arm-kernel, linux-kernel,
	Kavyasree.Kotagiri, UNGLinuxDriver, tudor.ambarus, Sergiu Moga,
	Krzysztof Kozlowski

Convert SPI DT binding for Atmel/Microchip SoCs to json-schema.

Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---

v1 -> v2:
- change subject headline prefix from "dt-bindings: spi" to "spi: atmel"
- change maintainer
- kept the compatbile as items (instead of switching to enums) and at91rm9200
as fallback for sam9x60, since the evolution of IP's is incremental.
- removed unnecessay "cs-gpios" property and descriptions
- added min/max for fifo-size property.


v2 -> v3:
- change subject headline prefix from "spi: atmel" to
"spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema"
- use enum instead of a range for "atmel,fifo-size"


 .../bindings/spi/atmel,at91rm9200-spi.yaml    | 76 +++++++++++++++++++
 .../devicetree/bindings/spi/spi_atmel.txt     | 36 ---------
 2 files changed, 76 insertions(+), 36 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
 delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt

diff --git a/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
new file mode 100644
index 000000000000..084897cc8f66
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
@@ -0,0 +1,76 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/atmel,spi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel SPI device
+
+maintainers:
+  - Tudor Ambarus <tudor.ambarus@microchip.com>
+
+allOf:
+  - $ref: spi-controller.yaml#
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: atmel,at91rm9200-spi
+      - items:
+          - const: microchip,sam9x60-spi
+          - const: atmel,at91rm9200-spi
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clock-names:
+    contains:
+      const: spi_clk
+
+  clocks:
+    maxItems: 1
+
+  atmel,fifo-size:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: |
+      Maximum number of data the RX and TX FIFOs can store for FIFO
+      capable SPI controllers.
+  enum: [ 16, 32 ]
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clock-names
+  - clocks
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    spi1: spi@fffcc000 {
+        compatible = "atmel,at91rm9200-spi";
+        reg = <0xfffcc000 0x4000>;
+        interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        clocks = <&spi1_clk>;
+        clock-names = "spi_clk";
+        cs-gpios = <&pioB 3 GPIO_ACTIVE_HIGH>;
+        atmel,fifo-size = <32>;
+
+        mmc@0 {
+            compatible = "mmc-spi-slot";
+            reg = <0>;
+            gpios = <&pioC 4 GPIO_ACTIVE_HIGH>;    /* CD */
+            spi-max-frequency = <25000000>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/spi/spi_atmel.txt b/Documentation/devicetree/bindings/spi/spi_atmel.txt
deleted file mode 100644
index 5bb4a8f1df7a..000000000000
--- a/Documentation/devicetree/bindings/spi/spi_atmel.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-Atmel SPI device
-
-Required properties:
-- compatible : should be "atmel,at91rm9200-spi" or "microchip,sam9x60-spi".
-- reg: Address and length of the register set for the device
-- interrupts: Should contain spi interrupt
-- cs-gpios: chipselects (optional for SPI controller version >= 2 with the
-  Chip Select Active After Transfer feature).
-- clock-names: tuple listing input clock names.
-	Required elements: "spi_clk"
-- clocks: phandles to input clocks.
-
-Optional properties:
-- atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO
-  capable SPI controllers.
-
-Example:
-
-spi1: spi@fffcc000 {
-	compatible = "atmel,at91rm9200-spi";
-	reg = <0xfffcc000 0x4000>;
-	interrupts = <13 4 5>;
-	#address-cells = <1>;
-	#size-cells = <0>;
-	clocks = <&spi1_clk>;
-	clock-names = "spi_clk";
-	cs-gpios = <&pioB 3 0>;
-	atmel,fifo-size = <32>;
-
-	mmc-slot@0 {
-		compatible = "mmc-spi-slot";
-		reg = <0>;
-		gpios = <&pioC 4 0>;	/* CD */
-		spi-max-frequency = <25000000>;
-	};
-};
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
  2022-07-12 16:25 [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema Sergiu Moga
@ 2022-07-12 16:32 ` Krzysztof Kozlowski
  2022-07-13  8:12   ` Sergiu.Moga
  2022-07-12 22:29 ` Rob Herring
  2022-07-14 14:08 ` Mark Brown
  2 siblings, 1 reply; 5+ messages in thread
From: Krzysztof Kozlowski @ 2022-07-12 16:32 UTC (permalink / raw)
  To: Sergiu Moga, broonie, robh+dt, krzysztof.kozlowski+dt,
	nicolas.ferre, alexandre.belloni, claudiu.beznea
  Cc: linux-spi, devicetree, linux-arm-kernel, linux-kernel,
	Kavyasree.Kotagiri, UNGLinuxDriver, tudor.ambarus

On 12/07/2022 18:25, Sergiu Moga wrote:
> Convert SPI DT binding for Atmel/Microchip SoCs to json-schema.
> 
> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
> 
> v1 -> v2:
> - change subject headline prefix from "dt-bindings: spi" to "spi: atmel"
> - change maintainer
> - kept the compatbile as items (instead of switching to enums) and at91rm9200
> as fallback for sam9x60, since the evolution of IP's is incremental.
> - removed unnecessay "cs-gpios" property and descriptions
> - added min/max for fifo-size property.
> 
> 
> v2 -> v3:
> - change subject headline prefix from "spi: atmel" to
> "spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema"
> - use enum instead of a range for "atmel,fifo-size"
> 
> 
>  .../bindings/spi/atmel,at91rm9200-spi.yaml    | 76 +++++++++++++++++++
>  .../devicetree/bindings/spi/spi_atmel.txt     | 36 ---------
>  2 files changed, 76 insertions(+), 36 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
>  delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
> 
> diff --git a/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
> new file mode 100644
> index 000000000000..084897cc8f66
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spi/atmel,spi.yaml#

You need to test the bindings.


> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel SPI device
> +
> +maintainers:
> +  - Tudor Ambarus <tudor.ambarus@microchip.com>
> +
> +allOf:
> +  - $ref: spi-controller.yaml#
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:

I missed that part - this is one item, so no "items".

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
  2022-07-12 16:25 [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema Sergiu Moga
  2022-07-12 16:32 ` Krzysztof Kozlowski
@ 2022-07-12 22:29 ` Rob Herring
  2022-07-14 14:08 ` Mark Brown
  2 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2022-07-12 22:29 UTC (permalink / raw)
  To: Sergiu Moga
  Cc: krzysztof.kozlowski+dt, Krzysztof Kozlowski, linux-arm-kernel,
	tudor.ambarus, devicetree, nicolas.ferre, claudiu.beznea,
	linux-spi, linux-kernel, robh+dt, UNGLinuxDriver,
	Kavyasree.Kotagiri, alexandre.belloni, broonie

On Tue, 12 Jul 2022 19:25:55 +0300, Sergiu Moga wrote:
> Convert SPI DT binding for Atmel/Microchip SoCs to json-schema.
> 
> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
> 
> v1 -> v2:
> - change subject headline prefix from "dt-bindings: spi" to "spi: atmel"
> - change maintainer
> - kept the compatbile as items (instead of switching to enums) and at91rm9200
> as fallback for sam9x60, since the evolution of IP's is incremental.
> - removed unnecessay "cs-gpios" property and descriptions
> - added min/max for fifo-size property.
> 
> 
> v2 -> v3:
> - change subject headline prefix from "spi: atmel" to
> "spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema"
> - use enum instead of a range for "atmel,fifo-size"
> 
> 
>  .../bindings/spi/atmel,at91rm9200-spi.yaml    | 76 +++++++++++++++++++
>  .../devicetree/bindings/spi/spi_atmel.txt     | 36 ---------
>  2 files changed, 76 insertions(+), 36 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
>  delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml: properties:enum: [16, 32] is not of type 'object', 'boolean'
	from schema $id: http://json-schema.org/draft-07/schema#
./Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml: $id: relative path/filename doesn't match actual path or filename
	expected: http://devicetree.org/schemas/spi/atmel,at91rm9200-spi.yaml#
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml: ignoring, error in schema: properties: enum
Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.example.dtb:0:0: /example-0/spi@fffcc000: failed to match any schema with compatible: ['atmel,at91rm9200-spi']
Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.example.dtb:0:0: /example-0/spi@fffcc000/mmc@0: failed to match any schema with compatible: ['mmc-spi-slot']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

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.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
  2022-07-12 16:32 ` Krzysztof Kozlowski
@ 2022-07-13  8:12   ` Sergiu.Moga
  0 siblings, 0 replies; 5+ messages in thread
From: Sergiu.Moga @ 2022-07-13  8:12 UTC (permalink / raw)
  To: krzysztof.kozlowski, broonie, robh+dt, krzysztof.kozlowski+dt,
	Nicolas.Ferre, alexandre.belloni, Claudiu.Beznea
  Cc: linux-spi, devicetree, linux-arm-kernel, linux-kernel,
	Kavyasree.Kotagiri, UNGLinuxDriver, Tudor.Ambarus

On 12.07.2022 19:32, Krzysztof Kozlowski wrote:
> On 12/07/2022 18:25, Sergiu Moga wrote:
>> Convert SPI DT binding for Atmel/Microchip SoCs to json-schema.
>>
>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> ---
>>
>> v1 -> v2:
>> - change subject headline prefix from "dt-bindings: spi" to "spi: atmel"
>> - change maintainer
>> - kept the compatbile as items (instead of switching to enums) and at91rm9200
>> as fallback for sam9x60, since the evolution of IP's is incremental.
>> - removed unnecessay "cs-gpios" property and descriptions
>> - added min/max for fifo-size property.
>>
>>
>> v2 -> v3:
>> - change subject headline prefix from "spi: atmel" to
>> "spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema"
>> - use enum instead of a range for "atmel,fifo-size"
>>
>>
>>   .../bindings/spi/atmel,at91rm9200-spi.yaml    | 76 +++++++++++++++++++
>>   .../devicetree/bindings/spi/spi_atmel.txt     | 36 ---------
>>   2 files changed, 76 insertions(+), 36 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
>>
>> diff --git a/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
>> new file mode 100644
>> index 000000000000..084897cc8f66
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml
>> @@ -0,0 +1,76 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/spi/atmel,spi.yaml#
> You need to test the bindings.
>
My apologies, I did notice the related error locally, but I somehow 
forgot to amend the commit before formatting the patch and sending it. I 
am sorry about this.
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Atmel SPI device
>> +
>> +maintainers:
>> +  - Tudor Ambarus <tudor.ambarus@microchip.com>
>> +
>> +allOf:
>> +  - $ref: spi-controller.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
>> +      - items:
> I missed that part - this is one item, so no "items".
You are right, should be just a const I guess. Thank you.
> Best regards,
> Krzysztof

Regards,

     Sergiu


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
  2022-07-12 16:25 [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema Sergiu Moga
  2022-07-12 16:32 ` Krzysztof Kozlowski
  2022-07-12 22:29 ` Rob Herring
@ 2022-07-14 14:08 ` Mark Brown
  2 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2022-07-14 14:08 UTC (permalink / raw)
  To: sergiu.moga, krzysztof.kozlowski+dt, nicolas.ferre, robh+dt,
	alexandre.belloni, claudiu.beznea
  Cc: UNGLinuxDriver, devicetree, Kavyasree.Kotagiri, linux-arm-kernel,
	linux-spi, tudor.ambarus, krzysztof.kozlowski, linux-kernel

On Tue, 12 Jul 2022 19:25:55 +0300, Sergiu Moga wrote:
> Convert SPI DT binding for Atmel/Microchip SoCs to json-schema.
> 
> 

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema
      commit: ecff027298de72c6b0c7144baa7a76c7b2a24451

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-07-14 14:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-12 16:25 [PATCH v3] spi: dt-bindings: atmel,at91rm9200-spi: convert to json-schema Sergiu Moga
2022-07-12 16:32 ` Krzysztof Kozlowski
2022-07-13  8:12   ` Sergiu.Moga
2022-07-12 22:29 ` Rob Herring
2022-07-14 14:08 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).