diff mbox series

[v1,1/4] dt-bindings: ata: tegra: Convert binding documentation to YAML

Message ID 1604628968-1501-2-git-send-email-skomatineni@nvidia.com
State New
Headers show
Series Add AHCI support for Tegra186 | expand

Commit Message

Sowjanya Komatineni Nov. 6, 2020, 2:16 a.m. UTC
This patch converts text based dt-binding document to YAML based
dt-binding document.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
 .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
 2 files changed, 152 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
 delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt

Comments

Rob Herring (Arm) Nov. 6, 2020, 4:11 p.m. UTC | #1
On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
> This patch converts text based dt-binding document to YAML based
> dt-binding document.
> 
> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
> ---
>  .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>  .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>  2 files changed, 152 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>  delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> 


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

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Error: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 syntax error
FATAL ERROR: Unable to parse input tree
make[1]: *** [scripts/Makefile.lib:342: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1364: dt_binding_check] Error 2


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

The base for the patch is generally the last rc1. Any dependencies
should be noted.

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.
Rob Herring (Arm) Nov. 6, 2020, 4:15 p.m. UTC | #2
On Thu, Nov 05, 2020 at 06:16:05PM -0800, Sowjanya Komatineni wrote:
> This patch converts text based dt-binding document to YAML based
> dt-binding document.
> 
> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
> ---
>  .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>  .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>  2 files changed, 152 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>  delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> 
> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
> new file mode 100644
> index 0000000..ac20f6e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
> @@ -0,0 +1,152 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Tegra AHCI SATA Controller
> +
> +maintainers:
> +  - Thierry Reding <thierry.reding@gmail.com>
> +  - Jonathan Hunter <jonathanh@nvidia.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - nvidia,tegra124-ahci
> +      - nvidia,tegra132-ahci
> +      - nvidia,tegra210-ahci
> +
> +  reg:
> +    minItems: 2
> +    maxItems: 3
> +    items:
> +      - description: AHCI registers
> +      - description: SATA configuration and IPFS registers
> +      - description: SATA AUX registers
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clock-names:
> +    maxItems: 2

Don't need maxItems, implied by the size of 'items'.

> +    items:
> +      - const: sata
> +      - const: sata-oob
> +
> +  clocks:
> +    maxItems: 2
> +    description:
> +      Must contain an entry for each entry in clock-names.
> +      See ../clocks/clock-bindings.txt for details.

Drop 'description'. Says nothing specific to this binding.

> +
> +  reset-names:
> +    maxItems: 3

Need to define what each reset is.

> +
> +  resets:
> +    maxItems: 3
> +    description:
> +      Must contain an entry for each entry in reset-names.
> +      See ../reset/reset.txt for details.

Drop 'description'. Says nothing specific to this binding.

> +
> +  phy-names:
> +    items:
> +      - const: sata-0
> +
> +  phys:
> +    maxItems: 1
> +    description:
> +      Must contain an entry for each entry in phy-names.
> +      See ../phy/phy-bindings.txt for details.

Drop 'description'. Says nothing specific to this binding.

> +
> +  hvdd-supply:
> +    description: SATA HVDD regulator supply.
> +
> +  vddio-supply:
> +    description: SATA VDDIO regulator supply.
> +
> +  avdd-supply:
> +    description: SATA AVDD regulator supply.
> +
> +  target-5v-supply:
> +    description: SATA 5V power regulator supply.
> +
> +  target-12v-supply:
> +    description: SATA 12V power regulator supply.
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clock-names
> +  - clocks
> +  - reset-names
> +  - resets
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra124-ahci
> +              - nvidia,tegra132-ahci
> +    then:
> +      properties:
> +        reg:
> +          maxItems: 2

> +        reset-names:
> +          minItems: 3
> +          items:
> +            - const: sata
> +            - const: sata-oob
> +            - const: sata-cold
> +        resets:
> +          minItems: 3

This doesn't need to be conditional.

> +      required:
> +        - phys
> +        - phy-names
> +        - hvdd-supply
> +        - vddio-supply
> +        - avdd-supply
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nvidia,tegra210-ahci
> +    then:
> +      properties:
> +        reg:
> +          minItems: 3
> +        reset-names:
> +          minItems: 3
> +          items:
> +            - const: sata
> +            - const: sata-oob
> +            - const: sata-cold
> +        resets:
> +          minItems: 3
> +
> +additionalProperties: true
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/tegra210-car.h>
> +    #include <dt-bindings/reset/tegra210-car.h>
> +
> +    sata@70020000 {
> +            compatible = "nvidia,tegra210-ahci";
> +            reg = <0x0 0x70027000 0x0 0x00002000>, /* AHCI */
> +                  <0x0 0x70020000 0x0 0x00007000>, /* SATA */
> +                  <0x0 0x70001100 0x0 0x00010000>; /* SATA AUX */
> +            interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
> +            clocks = <&tegra_car TEGRA210_CLK_SATA>,
> +                     <&tegra_car TEGRA210_CLK_SATA_OOB>;
> +            clock-names = "sata", "sata-oob";
> +            resets = <&tegra_car 124>,
> +                     <&tegra_car 123>,
> +                     <&tegra_car 129>;
> +            reset-names = "sata", "sata-oob", "sata-cold";
> +    };
> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt b/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> deleted file mode 100644
> index 12ab2f7..0000000
> --- a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -Tegra SoC SATA AHCI controller
> -
> -Required properties :
> -- compatible : Must be one of:
> -  - Tegra124 : "nvidia,tegra124-ahci"
> -  - Tegra132 : "nvidia,tegra132-ahci", "nvidia,tegra124-ahci"
> -  - Tegra210 : "nvidia,tegra210-ahci"
> -- reg : Should contain 2 entries:
> -  - AHCI register set (SATA BAR5)
> -  - SATA register set
> -- interrupts : Defines the interrupt used by SATA
> -- clocks : Must contain an entry for each entry in clock-names.
> -  See ../clocks/clock-bindings.txt for details.
> -- clock-names : Must include the following entries:
> -  - sata
> -  - sata-oob
> -- resets : Must contain an entry for each entry in reset-names.
> -  See ../reset/reset.txt for details.
> -- reset-names : Must include the following entries:
> -  - sata
> -  - sata-oob
> -  - sata-cold
> -- phys : Must contain an entry for each entry in phy-names.
> -  See ../phy/phy-bindings.txt for details.
> -- phy-names : Must include the following entries:
> -  - For Tegra124 and Tegra132:
> -    - sata-phy : XUSB PADCTL SATA PHY
> -- For Tegra124 and Tegra132:
> -  - hvdd-supply : Defines the SATA HVDD regulator
> -  - vddio-supply : Defines the SATA VDDIO regulator
> -  - avdd-supply : Defines the SATA AVDD regulator
> -  - target-5v-supply : Defines the SATA 5V power regulator
> -  - target-12v-supply : Defines the SATA 12V power regulator
> -
> -Optional properties:
> -- reg :
> -  - AUX register set
> -- clock-names :
> -  - cml1 :
> -    cml1 clock should be defined here if the PHY driver
> -    doesn't manage them. If it does, they should not be.
> -- phy-names :
> -  - For T210:
> -    - sata-phy
> -- 
> 2.7.4
>
Sowjanya Komatineni Nov. 6, 2020, 4:41 p.m. UTC | #3
On 11/6/20 8:11 AM, Rob Herring wrote:
> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
>> This patch converts text based dt-binding document to YAML based
>> dt-binding document.
>>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>> ---
>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> Error: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 syntax error
> FATAL ERROR: Unable to parse input tree
> make[1]: *** [scripts/Makefile.lib:342: Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [Makefile:1364: dt_binding_check] Error 2
>
>
> See https://patchwork.ozlabs.org/patch/1395390
>
> The base for the patch is generally the last rc1. Any dependencies
> should be noted.
>
> 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.
Thanks Rob. Will re-try after installing up-to-date.
Sowjanya Komatineni Nov. 6, 2020, 4:47 p.m. UTC | #4
On 11/6/20 8:15 AM, Rob Herring wrote:
> On Thu, Nov 05, 2020 at 06:16:05PM -0800, Sowjanya Komatineni wrote:
>> This patch converts text based dt-binding document to YAML based
>> dt-binding document.
>>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>> ---
>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 +++++++++++++++++++++
>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>   delete mode 100644 Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>
>> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>> new file mode 100644
>> index 0000000..ac20f6e
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>> @@ -0,0 +1,152 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Tegra AHCI SATA Controller
>> +
>> +maintainers:
>> +  - Thierry Reding <thierry.reding@gmail.com>
>> +  - Jonathan Hunter <jonathanh@nvidia.com>
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - nvidia,tegra124-ahci
>> +      - nvidia,tegra132-ahci
>> +      - nvidia,tegra210-ahci
>> +
>> +  reg:
>> +    minItems: 2
>> +    maxItems: 3
>> +    items:
>> +      - description: AHCI registers
>> +      - description: SATA configuration and IPFS registers
>> +      - description: SATA AUX registers
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  clock-names:
>> +    maxItems: 2
> Don't need maxItems, implied by the size of 'items'.
>
>> +    items:
>> +      - const: sata
>> +      - const: sata-oob
>> +
>> +  clocks:
>> +    maxItems: 2
>> +    description:
>> +      Must contain an entry for each entry in clock-names.
>> +      See ../clocks/clock-bindings.txt for details.
> Drop 'description'. Says nothing specific to this binding.
>
>> +
>> +  reset-names:
>> +    maxItems: 3
> Need to define what each reset is.
reset-names are specified as conditional below.
>
>> +
>> +  resets:
>> +    maxItems: 3
>> +    description:
>> +      Must contain an entry for each entry in reset-names.
>> +      See ../reset/reset.txt for details.
> Drop 'description'. Says nothing specific to this binding.
>
>> +
>> +  phy-names:
>> +    items:
>> +      - const: sata-0
>> +
>> +  phys:
>> +    maxItems: 1
>> +    description:
>> +      Must contain an entry for each entry in phy-names.
>> +      See ../phy/phy-bindings.txt for details.
> Drop 'description'. Says nothing specific to this binding.
>
>> +
>> +  hvdd-supply:
>> +    description: SATA HVDD regulator supply.
>> +
>> +  vddio-supply:
>> +    description: SATA VDDIO regulator supply.
>> +
>> +  avdd-supply:
>> +    description: SATA AVDD regulator supply.
>> +
>> +  target-5v-supply:
>> +    description: SATA 5V power regulator supply.
>> +
>> +  target-12v-supply:
>> +    description: SATA 12V power regulator supply.
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - interrupts
>> +  - clock-names
>> +  - clocks
>> +  - reset-names
>> +  - resets
>> +
>> +allOf:
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nvidia,tegra124-ahci
>> +              - nvidia,tegra132-ahci
>> +    then:
>> +      properties:
>> +        reg:
>> +          maxItems: 2
>> +        reset-names:
>> +          minItems: 3
>> +          items:
>> +            - const: sata
>> +            - const: sata-oob
>> +            - const: sata-cold
>> +        resets:
>> +          minItems: 3
> This doesn't need to be conditional.

Reason for specifying reset-names as conditional is as items are ordered 
list, index: 0 - sata, 1 - sata-oob, and 2 - sata-cold

Tegra124 thru Tegra210 has all 3 resets but Tegra186 don't have sata-oob 
and using reset-names as sata, sata-cold will change index of sata-cold 
and I see dtbs_check shows error for sata-cold as index being wrong.

So added conditional reset-names to specify different order of these 
names for Tegra186 and prior.

Please suggest any other way of forcing order of these names separately.

Otherwise, removing conditional reset-names and specifying in main 
section also need to update all old dtbs to change order of the 
reset-names in device tree to be sata, sata-cold and sata-oob so same 
order will work for all SoC's.

>> +      required:
>> +        - phys
>> +        - phy-names
>> +        - hvdd-supply
>> +        - vddio-supply
>> +        - avdd-supply
>> +
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nvidia,tegra210-ahci
>> +    then:
>> +      properties:
>> +        reg:
>> +          minItems: 3
>> +        reset-names:
>> +          minItems: 3
>> +          items:
>> +            - const: sata
>> +            - const: sata-oob
>> +            - const: sata-cold
>> +        resets:
>> +          minItems: 3
>> +
>> +additionalProperties: true
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/clock/tegra210-car.h>
>> +    #include <dt-bindings/reset/tegra210-car.h>
>> +
>> +    sata@70020000 {
>> +            compatible = "nvidia,tegra210-ahci";
>> +            reg = <0x0 0x70027000 0x0 0x00002000>, /* AHCI */
>> +                  <0x0 0x70020000 0x0 0x00007000>, /* SATA */
>> +                  <0x0 0x70001100 0x0 0x00010000>; /* SATA AUX */
>> +            interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
>> +            clocks = <&tegra_car TEGRA210_CLK_SATA>,
>> +                     <&tegra_car TEGRA210_CLK_SATA_OOB>;
>> +            clock-names = "sata", "sata-oob";
>> +            resets = <&tegra_car 124>,
>> +                     <&tegra_car 123>,
>> +                     <&tegra_car 129>;
>> +            reset-names = "sata", "sata-oob", "sata-cold";
>> +    };
>> diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt b/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>> deleted file mode 100644
>> index 12ab2f7..0000000
>> --- a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>> +++ /dev/null
>> @@ -1,44 +0,0 @@
>> -Tegra SoC SATA AHCI controller
>> -
>> -Required properties :
>> -- compatible : Must be one of:
>> -  - Tegra124 : "nvidia,tegra124-ahci"
>> -  - Tegra132 : "nvidia,tegra132-ahci", "nvidia,tegra124-ahci"
>> -  - Tegra210 : "nvidia,tegra210-ahci"
>> -- reg : Should contain 2 entries:
>> -  - AHCI register set (SATA BAR5)
>> -  - SATA register set
>> -- interrupts : Defines the interrupt used by SATA
>> -- clocks : Must contain an entry for each entry in clock-names.
>> -  See ../clocks/clock-bindings.txt for details.
>> -- clock-names : Must include the following entries:
>> -  - sata
>> -  - sata-oob
>> -- resets : Must contain an entry for each entry in reset-names.
>> -  See ../reset/reset.txt for details.
>> -- reset-names : Must include the following entries:
>> -  - sata
>> -  - sata-oob
>> -  - sata-cold
>> -- phys : Must contain an entry for each entry in phy-names.
>> -  See ../phy/phy-bindings.txt for details.
>> -- phy-names : Must include the following entries:
>> -  - For Tegra124 and Tegra132:
>> -    - sata-phy : XUSB PADCTL SATA PHY
>> -- For Tegra124 and Tegra132:
>> -  - hvdd-supply : Defines the SATA HVDD regulator
>> -  - vddio-supply : Defines the SATA VDDIO regulator
>> -  - avdd-supply : Defines the SATA AVDD regulator
>> -  - target-5v-supply : Defines the SATA 5V power regulator
>> -  - target-12v-supply : Defines the SATA 12V power regulator
>> -
>> -Optional properties:
>> -- reg :
>> -  - AUX register set
>> -- clock-names :
>> -  - cml1 :
>> -    cml1 clock should be defined here if the PHY driver
>> -    doesn't manage them. If it does, they should not be.
>> -- phy-names :
>> -  - For T210:
>> -    - sata-phy
>> -- 
>> 2.7.4
>>
Sowjanya Komatineni Nov. 6, 2020, 5:18 p.m. UTC | #5
On 11/6/20 8:41 AM, Sowjanya Komatineni wrote:
>
> On 11/6/20 8:11 AM, Rob Herring wrote:
>> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
>>> This patch converts text based dt-binding document to YAML based
>>> dt-binding document.
>>>
>>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>>> ---
>>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 
>>> +++++++++++++++++++++
>>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>>   create mode 100644 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>>   delete mode 100644 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>>
>>
>> My bot found errors running 'make dt_binding_check' on your patch:
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> Error: 
>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 
>> syntax error
>> FATAL ERROR: Unable to parse input tree
>> make[1]: *** [scripts/Makefile.lib:342: 
>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] 
>> Error 1
>> make[1]: *** Waiting for unfinished jobs....
>> make: *** [Makefile:1364: dt_binding_check] Error 2
>>
>>
>> See https://patchwork.ozlabs.org/patch/1395390
>>
>> The base for the patch is generally the last rc1. Any dependencies
>> should be noted.
>>
>> 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.
> Thanks Rob. Will re-try after installing up-to-date.

Somehow running 'make dt_binding_check' gives below error.

I have yamllint newest version (1.2.1-1). Any specific version of 
yamllint is needed?

  LINT    Documentation/devicetree/bindings
invalid config: unknown option "max-spaces-inside-empty" for rule "braces"
xargs: /usr/bin/yamllint: exited with status 255; aborting
Documentation/devicetree/bindings/Makefile:59: recipe for target 
'Documentation/devicetree/bindings/processed-schema-examples.json' failed
make[1]: *** 
[Documentation/devicetree/bindings/processed-schema-examples.json] Error 124
Makefile:1362: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2
Sowjanya Komatineni Nov. 13, 2020, 3:54 a.m. UTC | #6
Hi Rob,

Updated yamllint and dt-schema as well.

When I do make dt_binding_check, I see it failed as 
processed-schema-examples.json is not generated.
Any idea of what I may be missing?

Also it did not go thru bindings/ata path. Tried with DT_SCHEMA_FILES to 
tegra-ahci.yaml as well and I see same.
make dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml

LINT    Documentation/devicetree/bindings
./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:20:9: [warning] 
wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:30:9: [warning] 
wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:33:9: [warning] 
wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml:37:2: 
[error] syntax error: expected <block end>, but found '<scalar>' (syntax)
./Documentation/devicetree/bindings/soc/aspeed/xdma.yaml:10:2: [warning] 
wrong indentation: expected 2 but found 1 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:10:4: 
[warning] wrong indentation: expected 2 but found 3 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:18:7: 
[warning] wrong indentation: expected 4 but found 6 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:10:4: 
[warning] wrong indentation: expected 2 but found 3 (indentation)
./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:15:7: 
[warning] wrong indentation: expected 4 but found 6 (indentation)
./Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml:25:10: 
[warning] wrong indentation: expected 10 but found 9 (indentation)
./Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml:52:9: 
[warning] wrong indentation: expected 6 but found 8 (indentation)
./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:32:13: 
[warning] wrong indentation: expected 14 but found 12 (indentation)
./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:35:9: 
[warning] wrong indentation: expected 10 but found 8 (indentation)
Documentation/devicetree/bindings/Makefile:59: recipe for target 
'Documentation/devicetree/bindings/processed-schema-examples.json' failed
make[1]: *** 
[Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
Makefile:1362: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2


When I do dtbs_check, I see 
Documentation/devicetree/bindings/processed-schema.json generated and 
also it passes for tegra-ahci.yaml

make ARCH=arm64 dtbs_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml

Regards,

Sowjanya


On 11/6/20 9:18 AM, Sowjanya Komatineni wrote:
>
> On 11/6/20 8:41 AM, Sowjanya Komatineni wrote:
>>
>> On 11/6/20 8:11 AM, Rob Herring wrote:
>>> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
>>>> This patch converts text based dt-binding document to YAML based
>>>> dt-binding document.
>>>>
>>>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>>>> ---
>>>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152 
>>>> +++++++++++++++++++++
>>>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
>>>>   2 files changed, 152 insertions(+), 44 deletions(-)
>>>>   create mode 100644 
>>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>>>>   delete mode 100644 
>>>> Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
>>>>
>>>
>>> My bot found errors running 'make dt_binding_check' on your patch:
>>>
>>> yamllint warnings/errors:
>>>
>>> dtschema/dtc warnings/errors:
>>> Error: 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32 
>>> syntax error
>>> FATAL ERROR: Unable to parse input tree
>>> make[1]: *** [scripts/Makefile.lib:342: 
>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml] 
>>> Error 1
>>> make[1]: *** Waiting for unfinished jobs....
>>> make: *** [Makefile:1364: dt_binding_check] Error 2
>>>
>>>
>>> See https://patchwork.ozlabs.org/patch/1395390
>>>
>>> The base for the patch is generally the last rc1. Any dependencies
>>> should be noted.
>>>
>>> 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.
>> Thanks Rob. Will re-try after installing up-to-date.
>
> Somehow running 'make dt_binding_check' gives below error.
>
> I have yamllint newest version (1.2.1-1). Any specific version of 
> yamllint is needed?
>
>  LINT    Documentation/devicetree/bindings
> invalid config: unknown option "max-spaces-inside-empty" for rule 
> "braces"
> xargs: /usr/bin/yamllint: exited with status 255; aborting
> Documentation/devicetree/bindings/Makefile:59: recipe for target 
> 'Documentation/devicetree/bindings/processed-schema-examples.json' failed
> make[1]: *** 
> [Documentation/devicetree/bindings/processed-schema-examples.json] 
> Error 124
> Makefile:1362: recipe for target 'dt_binding_check' failed
> make: *** [dt_binding_check] Error 2
>
Rob Herring (Arm) Nov. 13, 2020, 1:59 p.m. UTC | #7
On Thu, Nov 12, 2020 at 9:54 PM Sowjanya Komatineni
<skomatineni@nvidia.com> wrote:
>
> Hi Rob,
>
> Updated yamllint and dt-schema as well.
>
> When I do make dt_binding_check, I see it failed as
> processed-schema-examples.json is not generated.
> Any idea of what I may be missing?
>
> Also it did not go thru bindings/ata path. Tried with DT_SCHEMA_FILES to
> tegra-ahci.yaml as well and I see same.
> make dt_binding_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>
> LINT    Documentation/devicetree/bindings
> ./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:20:9: [warning]
> wrong indentation: expected 10 but found 8 (indentation)
> ./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:30:9: [warning]
> wrong indentation: expected 10 but found 8 (indentation)
> ./Documentation/devicetree/bindings/mmc/mtk-sd.yaml:33:9: [warning]
> wrong indentation: expected 10 but found 8 (indentation)
> ./Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.yaml:37:2:
> [error] syntax error: expected <block end>, but found '<scalar>' (syntax)

I believe this error only occurred on linux-next. linux-next is not a
base you should develop on (usually). rc2 is good. Unfortunately
someone broke rc3.

> ./Documentation/devicetree/bindings/soc/aspeed/xdma.yaml:10:2: [warning]
> wrong indentation: expected 2 but found 1 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:10:4:
> [warning] wrong indentation: expected 2 but found 3 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml:18:7:
> [warning] wrong indentation: expected 4 but found 6 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:10:4:
> [warning] wrong indentation: expected 2 but found 3 (indentation)
> ./Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml:15:7:
> [warning] wrong indentation: expected 4 but found 6 (indentation)
> ./Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml:25:10:
> [warning] wrong indentation: expected 10 but found 9 (indentation)
> ./Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml:52:9:
> [warning] wrong indentation: expected 6 but found 8 (indentation)
> ./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:32:13:
> [warning] wrong indentation: expected 14 but found 12 (indentation)
> ./Documentation/devicetree/bindings/clock/imx8qxp-lpcg.yaml:35:9:
> [warning] wrong indentation: expected 10 but found 8 (indentation)
> Documentation/devicetree/bindings/Makefile:59: recipe for target
> 'Documentation/devicetree/bindings/processed-schema-examples.json' failed
> make[1]: ***
> [Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
> Makefile:1362: recipe for target 'dt_binding_check' failed
> make: *** [dt_binding_check] Error 2

Use 'make -k' if there are unrelated errors.

>
> When I do dtbs_check, I see
> Documentation/devicetree/bindings/processed-schema.json generated and
> also it passes for tegra-ahci.yaml

Then it should be good.

Rob

>
> make ARCH=arm64 dtbs_check
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
>
> Regards,
>
> Sowjanya
>
>
> On 11/6/20 9:18 AM, Sowjanya Komatineni wrote:
> >
> > On 11/6/20 8:41 AM, Sowjanya Komatineni wrote:
> >>
> >> On 11/6/20 8:11 AM, Rob Herring wrote:
> >>> On Thu, 05 Nov 2020 18:16:05 -0800, Sowjanya Komatineni wrote:
> >>>> This patch converts text based dt-binding document to YAML based
> >>>> dt-binding document.
> >>>>
> >>>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
> >>>> ---
> >>>>   .../devicetree/bindings/ata/nvidia,tegra-ahci.yaml | 152
> >>>> +++++++++++++++++++++
> >>>>   .../bindings/ata/nvidia,tegra124-ahci.txt          |  44 ------
> >>>>   2 files changed, 152 insertions(+), 44 deletions(-)
> >>>>   create mode 100644
> >>>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
> >>>>   delete mode 100644
> >>>> Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
> >>>>
> >>>
> >>> My bot found errors running 'make dt_binding_check' on your patch:
> >>>
> >>> yamllint warnings/errors:
> >>>
> >>> dtschema/dtc warnings/errors:
> >>> Error:
> >>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dts:27.31-32
> >>> syntax error
> >>> FATAL ERROR: Unable to parse input tree
> >>> make[1]: *** [scripts/Makefile.lib:342:
> >>> Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.example.dt.yaml]
> >>> Error 1
> >>> make[1]: *** Waiting for unfinished jobs....
> >>> make: *** [Makefile:1364: dt_binding_check] Error 2
> >>>
> >>>
> >>> See https://patchwork.ozlabs.org/patch/1395390
> >>>
> >>> The base for the patch is generally the last rc1. Any dependencies
> >>> should be noted.
> >>>
> >>> 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.
> >> Thanks Rob. Will re-try after installing up-to-date.
> >
> > Somehow running 'make dt_binding_check' gives below error.
> >
> > I have yamllint newest version (1.2.1-1). Any specific version of
> > yamllint is needed?
> >
> >  LINT    Documentation/devicetree/bindings
> > invalid config: unknown option "max-spaces-inside-empty" for rule
> > "braces"
> > xargs: /usr/bin/yamllint: exited with status 255; aborting
> > Documentation/devicetree/bindings/Makefile:59: recipe for target
> > 'Documentation/devicetree/bindings/processed-schema-examples.json' failed
> > make[1]: ***
> > [Documentation/devicetree/bindings/processed-schema-examples.json]
> > Error 124
> > Makefile:1362: recipe for target 'dt_binding_check' failed
> > make: *** [dt_binding_check] Error 2
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
new file mode 100644
index 0000000..ac20f6e
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
@@ -0,0 +1,152 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Tegra AHCI SATA Controller
+
+maintainers:
+  - Thierry Reding <thierry.reding@gmail.com>
+  - Jonathan Hunter <jonathanh@nvidia.com>
+
+properties:
+  compatible:
+    enum:
+      - nvidia,tegra124-ahci
+      - nvidia,tegra132-ahci
+      - nvidia,tegra210-ahci
+
+  reg:
+    minItems: 2
+    maxItems: 3
+    items:
+      - description: AHCI registers
+      - description: SATA configuration and IPFS registers
+      - description: SATA AUX registers
+
+  interrupts:
+    maxItems: 1
+
+  clock-names:
+    maxItems: 2
+    items:
+      - const: sata
+      - const: sata-oob
+
+  clocks:
+    maxItems: 2
+    description:
+      Must contain an entry for each entry in clock-names.
+      See ../clocks/clock-bindings.txt for details.
+
+  reset-names:
+    maxItems: 3
+
+  resets:
+    maxItems: 3
+    description:
+      Must contain an entry for each entry in reset-names.
+      See ../reset/reset.txt for details.
+
+  phy-names:
+    items:
+      - const: sata-0
+
+  phys:
+    maxItems: 1
+    description:
+      Must contain an entry for each entry in phy-names.
+      See ../phy/phy-bindings.txt for details.
+
+  hvdd-supply:
+    description: SATA HVDD regulator supply.
+
+  vddio-supply:
+    description: SATA VDDIO regulator supply.
+
+  avdd-supply:
+    description: SATA AVDD regulator supply.
+
+  target-5v-supply:
+    description: SATA 5V power regulator supply.
+
+  target-12v-supply:
+    description: SATA 12V power regulator supply.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clock-names
+  - clocks
+  - reset-names
+  - resets
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra124-ahci
+              - nvidia,tegra132-ahci
+    then:
+      properties:
+        reg:
+          maxItems: 2
+        reset-names:
+          minItems: 3
+          items:
+            - const: sata
+            - const: sata-oob
+            - const: sata-cold
+        resets:
+          minItems: 3
+      required:
+        - phys
+        - phy-names
+        - hvdd-supply
+        - vddio-supply
+        - avdd-supply
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nvidia,tegra210-ahci
+    then:
+      properties:
+        reg:
+          minItems: 3
+        reset-names:
+          minItems: 3
+          items:
+            - const: sata
+            - const: sata-oob
+            - const: sata-cold
+        resets:
+          minItems: 3
+
+additionalProperties: true
+
+examples:
+  - |
+    #include <dt-bindings/clock/tegra210-car.h>
+    #include <dt-bindings/reset/tegra210-car.h>
+
+    sata@70020000 {
+            compatible = "nvidia,tegra210-ahci";
+            reg = <0x0 0x70027000 0x0 0x00002000>, /* AHCI */
+                  <0x0 0x70020000 0x0 0x00007000>, /* SATA */
+                  <0x0 0x70001100 0x0 0x00010000>; /* SATA AUX */
+            interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+            clocks = <&tegra_car TEGRA210_CLK_SATA>,
+                     <&tegra_car TEGRA210_CLK_SATA_OOB>;
+            clock-names = "sata", "sata-oob";
+            resets = <&tegra_car 124>,
+                     <&tegra_car 123>,
+                     <&tegra_car 129>;
+            reset-names = "sata", "sata-oob", "sata-cold";
+    };
diff --git a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt b/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
deleted file mode 100644
index 12ab2f7..0000000
--- a/Documentation/devicetree/bindings/ata/nvidia,tegra124-ahci.txt
+++ /dev/null
@@ -1,44 +0,0 @@ 
-Tegra SoC SATA AHCI controller
-
-Required properties :
-- compatible : Must be one of:
-  - Tegra124 : "nvidia,tegra124-ahci"
-  - Tegra132 : "nvidia,tegra132-ahci", "nvidia,tegra124-ahci"
-  - Tegra210 : "nvidia,tegra210-ahci"
-- reg : Should contain 2 entries:
-  - AHCI register set (SATA BAR5)
-  - SATA register set
-- interrupts : Defines the interrupt used by SATA
-- clocks : Must contain an entry for each entry in clock-names.
-  See ../clocks/clock-bindings.txt for details.
-- clock-names : Must include the following entries:
-  - sata
-  - sata-oob
-- resets : Must contain an entry for each entry in reset-names.
-  See ../reset/reset.txt for details.
-- reset-names : Must include the following entries:
-  - sata
-  - sata-oob
-  - sata-cold
-- phys : Must contain an entry for each entry in phy-names.
-  See ../phy/phy-bindings.txt for details.
-- phy-names : Must include the following entries:
-  - For Tegra124 and Tegra132:
-    - sata-phy : XUSB PADCTL SATA PHY
-- For Tegra124 and Tegra132:
-  - hvdd-supply : Defines the SATA HVDD regulator
-  - vddio-supply : Defines the SATA VDDIO regulator
-  - avdd-supply : Defines the SATA AVDD regulator
-  - target-5v-supply : Defines the SATA 5V power regulator
-  - target-12v-supply : Defines the SATA 12V power regulator
-
-Optional properties:
-- reg :
-  - AUX register set
-- clock-names :
-  - cml1 :
-    cml1 clock should be defined here if the PHY driver
-    doesn't manage them. If it does, they should not be.
-- phy-names :
-  - For T210:
-    - sata-phy