* [PATCH v2] ASoC: dt-bindings: tegra30-i2s: convert to dt schema
@ 2024-04-21 12:30 Mohammad Shehar Yaar Tausif
2024-04-21 18:23 ` Krzysztof Kozlowski
0 siblings, 1 reply; 2+ messages in thread
From: Mohammad Shehar Yaar Tausif @ 2024-04-21 12:30 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thierry Reding, Jonathan Hunter
Cc: Mohammad Shehar Yaar Tausif, Thierry Reding, linux-sound,
devicetree, linux-tegra, linux-kernel
Convert NVIDIA Tegra30 I2S binding to DT schema.
Signed-off-by: Mohammad Shehar Yaar Tausif <sheharyaar48@gmail.com>
---
v1->v2:
- Removed incorrect item ref definition
Previous versions:
v1:
https://lore.kernel.org/all/20240420175008.140391-1-sheharyaar48@gmail.com/
---
.../bindings/sound/nvidia,tegra30-i2s.txt | 27 --------
.../bindings/sound/nvidia,tegra30-i2s.yaml | 66 +++++++++++++++++++
2 files changed, 66 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..b4cc0b0abfb8
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml
@@ -0,0 +1,66 @@
+# 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
+ - const: nvidia,tegra124-i2s
+ - const: nvidia,tegra30-i2s
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+ reset-names:
+ const: i2s
+
+ nvidia,ahub-cif-ids:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description: |
+ The list of AHUB CIF IDs for this port, rx (playback)
+ first, tx (capture) second. See nvidia,tegra30-ahub.txt for values.
+ minItems: 2
+ maxItems: 2
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - resets
+ - reset-names
+ - nvidia,ahub-cif-ids
+
+additionalProperties: false
+
+examples:
+ - |
+ 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";
+ };
+...
--
2.44.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] ASoC: dt-bindings: tegra30-i2s: convert to dt schema
2024-04-21 12:30 [PATCH v2] ASoC: dt-bindings: tegra30-i2s: convert to dt schema Mohammad Shehar Yaar Tausif
@ 2024-04-21 18:23 ` Krzysztof Kozlowski
0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Kozlowski @ 2024-04-21 18:23 UTC (permalink / raw)
To: Mohammad Shehar Yaar Tausif, Liam Girdwood, Mark Brown,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding,
Jonathan Hunter
Cc: Thierry Reding, linux-sound, devicetree, linux-tegra,
linux-kernel
On 21/04/2024 14:30, Mohammad Shehar Yaar Tausif wrote:
> Convert NVIDIA Tegra30 I2S binding to DT schema.
>
> Signed-off-by: Mohammad Shehar Yaar Tausif <sheharyaar48@gmail.com>
> ---
> v1->v2:
> - Removed incorrect item ref definition
>
> Previous versions:
> v1:
> https://lore.kernel.org/all/20240420175008.140391-1-sheharyaar48@gmail.com/
> ---
> .../bindings/sound/nvidia,tegra30-i2s.txt | 27 --------
> .../bindings/sound/nvidia,tegra30-i2s.yaml | 66 +++++++++++++++++++
> 2 files changed, 66 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..b4cc0b0abfb8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.yaml
> @@ -0,0 +1,66 @@
> +# 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
> + - const: nvidia,tegra124-i2s
> + - const: nvidia,tegra30-i2s
That's not what the binding said and not what DTS is saying.
This points to the fact you did not really test this binding on real DTS.
When you convert the binding to DT schema, you *must* test all existing
DTS. Especially that trivial one, like this case armv7 multiplatform boards.
That's a requirement in DT conversion work.
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + resets:
> + maxItems: 1
> +
> + reset-names:
> + const: i2s
> +
> + nvidia,ahub-cif-ids:
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + description: |
> + The list of AHUB CIF IDs for this port, rx (playback)
> + first, tx (capture) second. See nvidia,tegra30-ahub.txt for values.
> + minItems: 2
> + maxItems: 2
Better list items with description
items:
- description:
- description:
Also provide proper constraints. Looks like RX and TX are max 5.
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - resets
> + - reset-names
> + - nvidia,ahub-cif-ids
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2s@70080300 {
> + compatible = "nvidia,tegra30-i2s";
Use 4 spaces for example indentation.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-04-21 18:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-21 12:30 [PATCH v2] ASoC: dt-bindings: tegra30-i2s: convert to dt schema Mohammad Shehar Yaar Tausif
2024-04-21 18:23 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox