ASoC: dt-bindings: tegra30-i2s: convert to dt schema
Subsystems (4)
PATCH v4 1/1 ASoC: dt-bindings: tegra30-i2s: convert to dt schema
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.
---
Changes v3->v4:
- removed redundant example
- defined clock-names property
v3:
https://lore.kernel.org/all/[email protected]/
--- .../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
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt deleted +0 -27
@@ -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"; -};
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml new file +83 -0
83 lines not on this page · raw message
Signature · 1 line
2.44.0
Rob Herring
maintainerQuoted 75 lines · Mohammad Shehar Yaar Tausif
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 <[email protected]>---
Changesv3->v4:
- removed redundant example
- defined clock-names propertyv3:
https://lore.kernel.org/all/[email protected]/--- .../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.yamlDocumentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt deleted +0
-27@@ -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"; -};Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml new file +16
-0@@ -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 <[email protected]> + - Jon Hunter <[email protected]> + +properties: + compatible: + oneOf: + - enum:
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml line 25
Quoted 10 lines
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml new file +9
-0+ - 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.
Quoted 47 lines
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml new file +47
-0+ + 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>
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml line 82
Quoted 10 lines
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml new file +10
-0+ + 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.