diff mbox series

dt-bindings: spi: convert spi_atmel to json-schema

Message ID 20220629125804.137099-1-sergiu.moga@microchip.com (mailing list archive)
State New, archived
Headers show
Series dt-bindings: spi: convert spi_atmel to json-schema | expand

Commit Message

Sergiu Moga June 29, 2022, 12:58 p.m. UTC
Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
format.

Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
---
 .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
 .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
 2 files changed, 82 insertions(+), 36 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/spi/atmel,spi.yaml
 delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt

Comments

Krzysztof Kozlowski June 29, 2022, 1:23 p.m. UTC | #1
On 29/06/2022 14:58, Sergiu Moga wrote:
> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
> format.
> 
> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
> ---
>  .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>  .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>  2 files changed, 82 insertions(+), 36 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/spi/atmel,spi.yaml
>  delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
> 
> diff --git a/Documentation/devicetree/bindings/spi/atmel,spi.yaml b/Documentation/devicetree/bindings/spi/atmel,spi.yaml
> new file mode 100644
> index 000000000000..751618a47235
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/atmel,spi.yaml
> @@ -0,0 +1,82 @@
> +# 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:
> +  - Mark Brown <broonie@kernel.org>

This should be rather someone from Microchip.

> +
> +allOf:
> +  - $ref: "spi-controller.yaml#"

No need for quotes.

> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - items:
> +          - const: atmel,at91rm9200-spi
> +      - items:

These are not items, just single entry. Should be combined with above
and made an 'enum'.

> +          - const: microchip,sam9x60-spi
> +      - items:
> +          - const: microchip,sam9x60-spi
> +          - const: atmel,at91rm9200-spi

This is wrong. Either this is a fallback or it is not. It's not the
Schroedinger's cat... Maybe your DTS are wrong.

> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  cs-gpios: true

No need, coming from spi-controller.yaml.

> +
> +  clock-names:
> +    description:
> +      Tuple listing input clock names, "spi_clk" is a required element.

Skip description.

> +    contains:
> +      const: spi_clk
> +    additionalItems: true

no additionalItems.

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

minimum and maximum for values, if it is known.

> +
> +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", "str2";

This does not make really sense. You have one clock.

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


Best regards,
Krzysztof
Mark Brown June 29, 2022, 2:12 p.m. UTC | #2
On Wed, Jun 29, 2022 at 03:58:04PM +0300, Sergiu Moga wrote:
> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
> format.

Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.
Nicolas Ferre June 29, 2022, 3:01 p.m. UTC | #3
Sergiu,

On 29/06/2022 at 15:23, Krzysztof Kozlowski wrote:
>> +title: Atmel SPI device
>> +
>> +maintainers:
>> +  - Mark Brown<broonie@kernel.org>
> This should be rather someone from Microchip.

Tudor Ambarus <tudor.ambarus@microchip.com> is our maintainer for SPI 
controller, sorry for not having advised you internally about this ;-)

Best regards,
   Nicolas
Rob Herring (Arm) June 29, 2022, 10:36 p.m. UTC | #4
On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
> format.
> 
> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
> ---
>  .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>  .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>  2 files changed, 82 insertions(+), 36 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
Documentation/devicetree/bindings/spi/atmel,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.
Conor Dooley June 29, 2022, 10:45 p.m. UTC | #5
On 29/06/2022 23:36, Rob Herring wrote:
> On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
>> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
>> format.
>>
>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>> ---
>>  .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>>  .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>>  2 files changed, 82 insertions(+), 36 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
> Documentation/devicetree/bindings/spi/atmel,spi.example.dtb:0:0: /example-0/spi@fffcc000/mmc@0: failed to match any schema with compatible: ['mmc-spi-slot']

My conversion of this should be in -next right?
Is this just an incorrect base for the bot, or am I missing
something?
Thanks,
Conor.

> 
> 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.
>
Sergiu Moga June 30, 2022, 5:59 a.m. UTC | #6
Hello Krzysztof,

On 29.06.2022 16:23, Krzysztof Kozlowski wrote:
> On 29/06/2022 14:58, Sergiu Moga wrote:
>> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
>> format.
>>
>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>> ---
>>   .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>>   .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>>   2 files changed, 82 insertions(+), 36 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/spi/atmel,spi.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
>>
>> diff --git a/Documentation/devicetree/bindings/spi/atmel,spi.yaml b/Documentation/devicetree/bindings/spi/atmel,spi.yaml
>> new file mode 100644
>> index 000000000000..751618a47235
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/spi/atmel,spi.yaml
>> @@ -0,0 +1,82 @@
>> +# 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:
>> +  - Mark Brown <broonie@kernel.org>
> This should be rather someone from Microchip.
>
>> +
>> +allOf:
>> +  - $ref: "spi-controller.yaml#"
> No need for quotes.
>
>> +
>> +properties:
>> +  compatible:
>> +    oneOf:
>> +      - items:
>> +          - const: atmel,at91rm9200-spi
>> +      - items:
> These are not items, just single entry. Should be combined with above
> and made an 'enum'.
>
>> +          - const: microchip,sam9x60-spi
>> +      - items:
>> +          - const: microchip,sam9x60-spi
>> +          - const: atmel,at91rm9200-spi
> This is wrong. Either this is a fallback or it is not. It's not the
> Schroedinger's cat... Maybe your DTS are wrong.

Indeed, this looks unnecessary. This here is only to avoid the error 
caused by arm/boot/dts/at91-sam9x60ek.dts, since its spi0 node contains 
both compatibles.

>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  cs-gpios: true
> No need, coming from spi-controller.yaml.
>
>> +
>> +  clock-names:
>> +    description:
>> +      Tuple listing input clock names, "spi_clk" is a required element.
> Skip description.
>
>> +    contains:
>> +      const: spi_clk
>> +    additionalItems: true
> no additionalItems.
>
>> +
>> +  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.
> minimum and maximum for values, if it is known.
>
>> +
>> +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", "str2";
> This does not make really sense. You have one clock.
>
I am sorry about this. Yes, you are right, the original binding did not 
really have it either. I just put it here while testing it to ensure 
that the property accepts more than just "spi_clk". It seems that I 
forgot to remove it before sending it. Thank you for pointing it out!

>> +        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>;
>> +        };
>
> Best regards,
> Krzysztof


Regards,

     Sergiu
Sergiu Moga June 30, 2022, 6:05 a.m. UTC | #7
Hello Rob,

On 30.06.2022 01:36, Rob Herring wrote:
> On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
>> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
>> format.
>>
>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>> ---
>>   .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>>   .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>>   2 files changed, 82 insertions(+), 36 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
> Documentation/devicetree/bindings/spi/atmel,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.
>
I do not receive this error when running the specified checking command 
on my end. I am on the next branch as well and I have just updated 
dt-schema. There already seems to be such a schema at 
Documentation/devicetree/bindings/mmc/mmc-spi-slot.yaml.


Regards,

     Sergiu
Sergiu Moga June 30, 2022, 6:07 a.m. UTC | #8
On 29.06.2022 18:01, Nicolas Ferre wrote:
> Sergiu,
>
> On 29/06/2022 at 15:23, Krzysztof Kozlowski wrote:
>>> +title: Atmel SPI device
>>> +
>>> +maintainers:
>>> +  - Mark Brown<broonie@kernel.org>
>> This should be rather someone from Microchip.
>
> Tudor Ambarus <tudor.ambarus@microchip.com> is our maintainer for SPI 
> controller, sorry for not having advised you internally about this ;-)
>
> Best regards,
>   Nicolas
>
Noted. Thank you, Nicolas :).


Regards,

     Sergiu
Rob Herring (Arm) June 30, 2022, 9:12 p.m. UTC | #9
On Wed, Jun 29, 2022 at 10:45:20PM +0000, Conor.Dooley@microchip.com wrote:
> On 29/06/2022 23:36, Rob Herring wrote:
> > On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
> >> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
> >> format.
> >>
> >> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
> >> ---
> >>  .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
> >>  .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
> >>  2 files changed, 82 insertions(+), 36 deletions(-)
> >>  create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
> > Documentation/devicetree/bindings/spi/atmel,spi.example.dtb:0:0: /example-0/spi@fffcc000/mmc@0: failed to match any schema with compatible: ['mmc-spi-slot']
> 
> My conversion of this should be in -next right?

I don't know, you tell me.

> Is this just an incorrect base for the bot, or am I missing
> something?

The bot runs on rc1.

Rob
Conor Dooley June 30, 2022, 10:22 p.m. UTC | #10
On 30/06/2022 22:12, Rob Herring wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> On Wed, Jun 29, 2022 at 10:45:20PM +0000, Conor.Dooley@microchip.com wrote:
>> On 29/06/2022 23:36, Rob Herring wrote:
>>> On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
>>>> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
>>>> format.
>>>>
>>>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>>>> ---
>>>>  .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>>>>  .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>>>>  2 files changed, 82 insertions(+), 36 deletions(-)
>>>>  create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
>>> Documentation/devicetree/bindings/spi/atmel,spi.example.dtb:0:0: /example-0/spi@fffcc000/mmc@0: failed to match any schema with compatible: ['mmc-spi-slot']
>>
>> My conversion of this should be in -next right?
> 
> I don't know, you tell me.

Well, I was hoping Sergiu knew, been/am away so hard to keep track!

> 
>> Is this just an incorrect base for the bot, or am I missing
>> something?
> 
> The bot runs on rc1.
> 
> Rob
Nicolas Ferre July 1, 2022, 7:41 a.m. UTC | #11
Hi Conor,

On 30/06/2022 at 00:45, Conor Dooley - M52691 wrote:
> On 29/06/2022 23:36, Rob Herring wrote:
>> On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
>>> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
>>> format.
>>>
>>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>>> ---
>>>   .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>>>   .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>>>   2 files changed, 82 insertions(+), 36 deletions(-)
>>>   create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
>> Documentation/devicetree/bindings/spi/atmel,spi.example.dtb:0:0: /example-0/spi@fffcc000/mmc@0: failed to match any schema with compatible: ['mmc-spi-slot']
> 
> My conversion of this should be in -next right?

Aren't you talking about
Documentation/devicetree/bindings/spi/microchip,mpfs-spi.yaml or 
Documentation/devicetree/bindings/fpga/microchip,mpf-spi-fpga-mgr.yaml
rather than atmel,spi.yaml ?

> Is this just an incorrect base for the bot, or am I missing
> something?

[..]

Regards,
   Nicolas
Conor Dooley July 1, 2022, 7:50 a.m. UTC | #12
On 01/07/2022 08:41, Nicolas Ferre wrote:
> Hi Conor,
> 
> On 30/06/2022 at 00:45, Conor Dooley - M52691 wrote:
>> On 29/06/2022 23:36, Rob Herring wrote:
>>> On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
>>>> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
>>>> format.
>>>>
>>>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>>>> ---
>>>>   .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>>>>   .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>>>>   2 files changed, 82 insertions(+), 36 deletions(-)
>>>>   create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
>>> Documentation/devicetree/bindings/spi/atmel,spi.example.dtb:0:0: /example-0/spi@fffcc000/mmc@0: failed to match any schema with compatible: ['mmc-spi-slot']
>>
>> My conversion of this should be in -next right?
> 
> Aren't you talking about
> Documentation/devicetree/bindings/spi/microchip,mpfs-spi.yaml or Documentation/devicetree/bindings/fpga/microchip,mpf-spi-fpga-mgr.yaml
> rather than atmel,spi.yaml ?

Nope, I converted mmc-spi-slot :)
And I checked, it is in -next 226e09de0acd ("dt-bindings: mmc:
convert mmc-spi-slot to yaml"))
Was just pointing out that this error from the bot is not really
a problem.
Nicolas Ferre July 1, 2022, 7:56 a.m. UTC | #13
On 01/07/2022 at 09:50, Conor Dooley - M52691 wrote:
> On 01/07/2022 08:41, Nicolas Ferre wrote:
>> Hi Conor,
>>
>> On 30/06/2022 at 00:45, Conor Dooley - M52691 wrote:
>>> On 29/06/2022 23:36, Rob Herring wrote:
>>>> On Wed, 29 Jun 2022 15:58:04 +0300, Sergiu Moga wrote:
>>>>> Convert SPI binding for Atmel/Microchip SoCs to Device Tree Schema
>>>>> format.
>>>>>
>>>>> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
>>>>> ---
>>>>>    .../devicetree/bindings/spi/atmel,spi.yaml    | 82 +++++++++++++++++++
>>>>>    .../devicetree/bindings/spi/spi_atmel.txt     | 36 --------
>>>>>    2 files changed, 82 insertions(+), 36 deletions(-)
>>>>>    create mode 100644 Documentation/devicetree/bindings/spi/atmel,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:
>>>> Documentation/devicetree/bindings/spi/atmel,spi.example.dtb:0:0: /example-0/spi@fffcc000/mmc@0: failed to match any schema with compatible: ['mmc-spi-slot']
>>>
>>> My conversion of this should be in -next right?
>>
>> Aren't you talking about
>> Documentation/devicetree/bindings/spi/microchip,mpfs-spi.yaml or Documentation/devicetree/bindings/fpga/microchip,mpf-spi-fpga-mgr.yaml
>> rather than atmel,spi.yaml ?
> 
> Nope, I converted mmc-spi-slot :)
> And I checked, it is in -next 226e09de0acd ("dt-bindings: mmc:
> convert mmc-spi-slot to yaml"))
> Was just pointing out that this error from the bot is not really
> a problem.

Ah, all right Conor. Thanks for the info.

Best regards,
   Nicolas
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/spi/atmel,spi.yaml b/Documentation/devicetree/bindings/spi/atmel,spi.yaml
new file mode 100644
index 000000000000..751618a47235
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/atmel,spi.yaml
@@ -0,0 +1,82 @@ 
+# 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:
+  - Mark Brown <broonie@kernel.org>
+
+allOf:
+  - $ref: "spi-controller.yaml#"
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - const: atmel,at91rm9200-spi
+      - items:
+          - const: microchip,sam9x60-spi
+      - items:
+          - const: microchip,sam9x60-spi
+          - const: atmel,at91rm9200-spi
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  cs-gpios: true
+
+  clock-names:
+    description:
+      Tuple listing input clock names, "spi_clk" is a required element.
+    contains:
+      const: spi_clk
+    additionalItems: true
+
+  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.
+
+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", "str2";
+        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>;
-	};
-};