Message ID | 20240425153045.49939-1-sheharyaar48@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v4] ASoC: dt-bindings: tegra30-i2s: convert to dt schema | expand |
On Thu, Apr 25, 2024 at 09:00:43PM +0530, Mohammad Shehar Yaar Tausif wrote: > Convert NVIDIA Tegra30 I2S binding to DT schema and > add "clock-names" property used by multiple tegra i2s blocks > in arch/arm64/boot/dts/nvidia/tegra132.dtsi. This is not a > required property by the binding. > > Signed-off-by: Mohammad Shehar Yaar Tausif <sheharyaar48@gmail.com> > --- > Changes v3->v4: > - removed redundant example > - defined clock-names property > > v3: > https://lore.kernel.org/all/20240425090716.176818-1-sheharyaar48@gmail.com/ > --- > .../bindings/sound/nvidia,tegra30-i2s.txt | 27 ------ > .../bindings/sound/nvidia,tegra30-i2s.yaml | 83 +++++++++++++++++++ > 2 files changed, 83 insertions(+), 27 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt > create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml > > diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt > deleted file mode 100644 > index 38caa936f6f8..000000000000 > --- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt > +++ /dev/null > @@ -1,27 +0,0 @@ > -NVIDIA Tegra30 I2S controller > - > -Required properties: > -- compatible : For Tegra30, must contain "nvidia,tegra30-i2s". For Tegra124, > - must contain "nvidia,tegra124-i2s". Otherwise, must contain > - "nvidia,<chip>-i2s" plus at least one of the above, where <chip> is > - tegra114 or tegra132. > -- reg : Should contain I2S registers location and length > -- clocks : Must contain one entry, for the module clock. > - See ../clocks/clock-bindings.txt for details. > -- resets : Must contain an entry for each entry in reset-names. > - See ../reset/reset.txt for details. > -- reset-names : Must include the following entries: > - - i2s > -- nvidia,ahub-cif-ids : The list of AHUB CIF IDs for this port, rx (playback) > - first, tx (capture) second. See nvidia,tegra30-ahub.txt for values. > - > -Example: > - > -i2s@70080300 { > - compatible = "nvidia,tegra30-i2s"; > - reg = <0x70080300 0x100>; > - nvidia,ahub-cif-ids = <4 4>; > - clocks = <&tegra_car 11>; > - resets = <&tegra_car 11>; > - reset-names = "i2s"; > -}; > diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml > new file mode 100644 > index 000000000000..13cee366f5b3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/nvidia,tegra30-i2s.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NVIDIA Tegra30 I2S controller > + > +maintainers: > + - Thierry Reding <treding@nvidia.com> > + - Jon Hunter <jonathanh@nvidia.com> > + > +properties: > + compatible: > + oneOf: > + - enum: > + - nvidia,tegra124-i2s > + - nvidia,tegra30-i2s > + - items: > + - enum: > + - nvidia,tegra114-i2s > + - nvidia,tegra132-i2s > + - enum: > + - nvidia,tegra124-i2s > + - nvidia,tegra30-i2s This allows 4 possible combinations for 2 SoCs. That may be how the old binding was worded, but that's not valid. > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + const: i2s > + > + resets: > + maxItems: 1 > + > + reset-names: > + const: i2s > + > + nvidia,ahub-cif-ids: > + description: list of AHUB CIF IDs > + $ref: /schemas/types.yaml#/definitions/uint32-array > + items: > + - description: rx (playback) > + - description: tx (capture) > + > +required: > + - compatible > + - reg > + - clocks > + - resets > + - reset-names > + - nvidia,ahub-cif-ids > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/tegra30-car.h> > + > + i2s@70080300 { > + compatible = "nvidia,tegra30-i2s"; > + reg = <0x70080300 0x100>; > + nvidia,ahub-cif-ids = <4 4>; > + clocks = <&tegra_car TEGRA30_CLK_I2S0>; > + resets = <&tegra_car 30>; > + reset-names = "i2s"; > + }; > + - | > + #include <dt-bindings/clock/tegra124-car.h> > + > + i2s@70301100 { > + compatible = "nvidia,tegra124-i2s"; > + reg = <0x70301100 0x100>; > + nvidia,ahub-cif-ids = <5 5>; > + clocks = <&tegra_car TEGRA124_CLK_I2S1>; > + clock-names = "i2s"; > + resets = <&tegra_car 11>; > + reset-names = "i2s"; > + }; I didn't check what you removed, but this is still 1 example too many. They are almost the same.
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt deleted file mode 100644 index 38caa936f6f8..000000000000 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt +++ /dev/null @@ -1,27 +0,0 @@ -NVIDIA Tegra30 I2S controller - -Required properties: -- compatible : For Tegra30, must contain "nvidia,tegra30-i2s". For Tegra124, - must contain "nvidia,tegra124-i2s". Otherwise, must contain - "nvidia,<chip>-i2s" plus at least one of the above, where <chip> is - tegra114 or tegra132. -- reg : Should contain I2S registers location and length -- clocks : Must contain one entry, for the module clock. - See ../clocks/clock-bindings.txt for details. -- resets : Must contain an entry for each entry in reset-names. - See ../reset/reset.txt for details. -- reset-names : Must include the following entries: - - i2s -- nvidia,ahub-cif-ids : The list of AHUB CIF IDs for this port, rx (playback) - first, tx (capture) second. See nvidia,tegra30-ahub.txt for values. - -Example: - -i2s@70080300 { - compatible = "nvidia,tegra30-i2s"; - reg = <0x70080300 0x100>; - nvidia,ahub-cif-ids = <4 4>; - clocks = <&tegra_car 11>; - resets = <&tegra_car 11>; - reset-names = "i2s"; -}; diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml new file mode 100644 index 000000000000..13cee366f5b3 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/nvidia,tegra30-i2s.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NVIDIA Tegra30 I2S controller + +maintainers: + - Thierry Reding <treding@nvidia.com> + - Jon Hunter <jonathanh@nvidia.com> + +properties: + compatible: + oneOf: + - enum: + - nvidia,tegra124-i2s + - nvidia,tegra30-i2s + - items: + - enum: + - nvidia,tegra114-i2s + - nvidia,tegra132-i2s + - enum: + - nvidia,tegra124-i2s + - nvidia,tegra30-i2s + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + const: i2s + + resets: + maxItems: 1 + + reset-names: + const: i2s + + nvidia,ahub-cif-ids: + description: list of AHUB CIF IDs + $ref: /schemas/types.yaml#/definitions/uint32-array + items: + - description: rx (playback) + - description: tx (capture) + +required: + - compatible + - reg + - clocks + - resets + - reset-names + - nvidia,ahub-cif-ids + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/tegra30-car.h> + + i2s@70080300 { + compatible = "nvidia,tegra30-i2s"; + reg = <0x70080300 0x100>; + nvidia,ahub-cif-ids = <4 4>; + clocks = <&tegra_car TEGRA30_CLK_I2S0>; + resets = <&tegra_car 30>; + reset-names = "i2s"; + }; + - | + #include <dt-bindings/clock/tegra124-car.h> + + i2s@70301100 { + compatible = "nvidia,tegra124-i2s"; + reg = <0x70301100 0x100>; + nvidia,ahub-cif-ids = <5 5>; + clocks = <&tegra_car TEGRA124_CLK_I2S1>; + clock-names = "i2s"; + resets = <&tegra_car 11>; + reset-names = "i2s"; + }; +...
Convert NVIDIA Tegra30 I2S binding to DT schema and add "clock-names" property used by multiple tegra i2s blocks in arch/arm64/boot/dts/nvidia/tegra132.dtsi. This is not a required property by the binding. Signed-off-by: Mohammad Shehar Yaar Tausif <sheharyaar48@gmail.com> --- Changes v3->v4: - removed redundant example - defined clock-names property v3: https://lore.kernel.org/all/20240425090716.176818-1-sheharyaar48@gmail.com/ --- .../bindings/sound/nvidia,tegra30-i2s.txt | 27 ------ .../bindings/sound/nvidia,tegra30-i2s.yaml | 83 +++++++++++++++++++ 2 files changed, 83 insertions(+), 27 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml