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