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