diff mbox series

[v2,1/1] ASoC: dt-bindings: tlv320aic32x4: convert to DT schema format

Message ID 20230616083549.2331830-1-alexander.stein@ew.tq-group.com
State Accepted
Commit 289650d61c600ac4f631028c761f38042ba599c8
Headers show
Series [v2,1/1] ASoC: dt-bindings: tlv320aic32x4: convert to DT schema format | expand

Commit Message

Alexander Stein June 16, 2023, 8:35 a.m. UTC
Convert the binding to DT schema format.
Since commit 514b044cba667 ("ASoC: tlv320aic32x4: Model PLL in CCF")
clocks & clock-names = "mclk" is mandatory, it has been added to required
properties as well. '#sound-dai-cells' is added for reference from
simple-audio-card.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
Changes in v2:
* Rebased onto for-next of [1]
* Add vendor prefix 'ti' to file name
* Simplify 'reg' property
* Removed description from 'reset-gpios'
* Added reference to dai-common.yaml
* Fixed node name in example

There is no in-tree user for aic32x4-gpio-func, so I just converted the
bindings to YAML and skipped introducing a dt-binding header for
defining the constants.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/log/

 .../bindings/sound/ti,tlv320aic32x4.yaml      | 101 ++++++++++++++++++
 .../bindings/sound/tlv320aic32x4.txt          |  42 --------
 2 files changed, 101 insertions(+), 42 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/ti,tlv320aic32x4.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/tlv320aic32x4.txt

Comments

Krzysztof Kozlowski June 16, 2023, 9:34 a.m. UTC | #1
On 16/06/2023 10:35, Alexander Stein wrote:
> Convert the binding to DT schema format.
> Since commit 514b044cba667 ("ASoC: tlv320aic32x4: Model PLL in CCF")
> clocks & clock-names = "mclk" is mandatory, it has been added to required
> properties as well. '#sound-dai-cells' is added for reference from
> simple-audio-card.
> 
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Mark Brown June 16, 2023, 11:54 a.m. UTC | #2
On Fri, Jun 16, 2023 at 10:35:49AM +0200, Alexander Stein wrote:
> Convert the binding to DT schema format.
> Since commit 514b044cba667 ("ASoC: tlv320aic32x4: Model PLL in CCF")
> clocks & clock-names = "mclk" is mandatory, it has been added to required
> properties as well. '#sound-dai-cells' is added for reference from
> simple-audio-card.

This doesn't apply against current code, please check and resend.  This
should be an incremental patch perhaps?
Mark Brown June 16, 2023, 12:21 p.m. UTC | #3
On Fri, Jun 16, 2023 at 02:17:40PM +0200, Alexander Stein wrote:
> Am Freitag, 16. Juni 2023, 13:54:49 CEST schrieb Mark Brown:

> > This doesn't apply against current code, please check and resend.  This
> > should be an incremental patch perhaps?

> Is there any change to original .txt file I am not aware of? The to be created 
> .yaml file is new, so there is no increment.

That'll be the issue, yes.

> To which base/branch/tag should I rebase this?

As ever

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Alexander Stein June 16, 2023, 12:24 p.m. UTC | #4
Hi Mark,

Am Freitag, 16. Juni 2023, 14:21:29 CEST schrieb Mark Brown:
> On Fri, Jun 16, 2023 at 02:17:40PM +0200, Alexander Stein wrote:
> > Am Freitag, 16. Juni 2023, 13:54:49 CEST schrieb Mark Brown:
> > > This doesn't apply against current code, please check and resend.  This
> > > should be an incremental patch perhaps?
> > 
> > Is there any change to original .txt file I am not aware of? The to be
> > created .yaml file is new, so there is no increment.
> 
> That'll be the issue, yes.

Ok, there is nothing I can do, right?

> > To which base/branch/tag should I rebase this?
> 
> As ever
> 
>    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> for-next

As mentioned in the changelog, that's already the case.

Thanks and best regards,
Alexander
Mark Brown June 16, 2023, 12:30 p.m. UTC | #5
On Fri, Jun 16, 2023 at 02:24:17PM +0200, Alexander Stein wrote:
> Am Freitag, 16. Juni 2023, 14:21:29 CEST schrieb Mark Brown:

> > That'll be the issue, yes.

> Ok, there is nothing I can do, right?

You could check for dependencies and tell me about them.  For example in
this case it turns out the issue is that there's a fix to add supply
names that went in which is only on my fixes branch.
Alexander Stein June 16, 2023, 1:22 p.m. UTC | #6
Am Freitag, 16. Juni 2023, 14:30:37 CEST schrieb Mark Brown:
> On Fri, Jun 16, 2023 at 02:24:17PM +0200, Alexander Stein wrote:
> > Am Freitag, 16. Juni 2023, 14:21:29 CEST schrieb Mark Brown:
> > > That'll be the issue, yes.
> > 
> > Ok, there is nothing I can do, right?
> 
> You could check for dependencies and tell me about them.  For example in
> this case it turns out the issue is that there's a fix to add supply
> names that went in which is only on my fixes branch.

You are referring to [1]? That's part of next-branch since next-20230523. So 
this patch should apply on top without conflicts., e.g. today's https://
git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next.

Best regards,
Alexander

[1] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/commit/?
id=3a2e3fa795052b42da013931bc2e451bcecf4f0c
Mark Brown June 16, 2023, 1:37 p.m. UTC | #7
On Fri, Jun 16, 2023 at 03:22:31PM +0200, Alexander Stein wrote:
> Am Freitag, 16. Juni 2023, 14:30:37 CEST schrieb Mark Brown:

> > You could check for dependencies and tell me about them.  For example in
> > this case it turns out the issue is that there's a fix to add supply
> > names that went in which is only on my fixes branch.

> You are referring to [1]? That's part of next-branch since next-20230523. So 
> this patch should apply on top without conflicts., e.g. today's https://
> git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next.

So, I actually apply on for-6.x branches (which change regularly so I
tend to just tell people to use for-next as it works most of the time).
In this case you've got a dependency on something which is only in the
fixes branch, that'd be what'd be good to surface.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/ti,tlv320aic32x4.yaml b/Documentation/devicetree/bindings/sound/ti,tlv320aic32x4.yaml
new file mode 100644
index 0000000000000..a7cc9aa344684
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,tlv320aic32x4.yaml
@@ -0,0 +1,101 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2019 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ti,tlv320aic32x4.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TLV320AIC32x4 Stereo Audio codec
+
+maintainers:
+  - Alexander Stein <alexander.stein@ew.tq-group.com>
+
+description: |
+  The TLV320AIC32x4 audio codec can be accessed using I2C or SPI
+
+properties:
+  compatible:
+    enum:
+      - ti,tas2505
+      - ti,tlv320aic32x4
+      - ti,tlv320aic32x6
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: Master clock
+
+  clock-names:
+    items:
+      - const: mclk
+
+  av-supply:
+    description: Analog core power supply
+
+  dv-supply:
+    description: Digital core power supply
+
+  iov-supply:
+    description: Digital IO power supply
+
+  ldoin-supply:
+    description: LDO power supply
+
+  reset-gpios:
+    maxItems: 1
+
+  '#sound-dai-cells':
+    const: 0
+
+  aic32x4-gpio-func:
+    description: |
+       GPIO function configuration for pins MFP1-MFP5.
+       Types are defined in include/sound/tlv320aic32x4.h
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 5
+    maxItems: 5
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - iov-supply
+
+allOf:
+  - $ref: dai-common.yaml#
+  - if:
+      not:
+        required:
+          - ldoin-supply
+    then:
+      required:
+        - av-supply
+        - dv-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+      audio-codec@18 {
+        compatible = "ti,tlv320aic32x4";
+        reg = <0x18>;
+        iov-supply = <&reg_3v3>;
+        ldoin-supply = <&reg_3v3>;
+        clocks = <&clks 201>;
+        clock-names = "mclk";
+        aic32x4-gpio-func= <
+          0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
+          0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
+          0x04 /* MFP3 AIC32X4_MFP3_GPIO_ENABLED */
+          0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
+          0x08 /* MFP5 AIC32X4_MFP5_GPIO_INPUT */
+        >;
+      };
+    };
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt b/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt
deleted file mode 100644
index 0b4e21bde5bc1..0000000000000
--- a/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt
+++ /dev/null
@@ -1,42 +0,0 @@ 
-Texas Instruments - tlv320aic32x4 Codec module
-
-The tlv320aic32x4 serial control bus communicates through I2C protocols
-
-Required properties:
- - compatible - "string" - One of:
-	"ti,tlv320aic32x4" TLV320AIC3204
-	"ti,tlv320aic32x6" TLV320AIC3206, TLV320AIC3256
-	"ti,tas2505" TAS2505, TAS2521
- - reg: I2C slave address
- - *-supply: Required supply regulators are:
-    "iov" - digital IO power supply
-    "ldoin" - LDO power supply
-    "dv" - Digital core power supply
-    "av" - Analog core power supply
-    If you supply ldoin, dv and av are optional. Otherwise they are required
-   See regulator/regulator.txt for more information about the detailed binding
-   format.
-
-Optional properties:
- - reset-gpios: Reset-GPIO phandle with args as described in gpio/gpio.txt
- - clocks/clock-names: Clock named 'mclk' for the master clock of the codec.
-   See clock/clock-bindings.txt for information about the detailed format.
- - aic32x4-gpio-func - <array of 5 int>
-	- Types are defined in include/sound/tlv320aic32x4.h
-
-
-Example:
-
-codec: tlv320aic32x4@18 {
-	compatible = "ti,tlv320aic32x4";
-	reg = <0x18>;
-	clocks = <&clks 201>;
-	clock-names = "mclk";
-	aic32x4-gpio-func= <
-			0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
-			0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
-			0x04 /* MFP3 AIC32X4_MFP3_GPIO_ENABLED */
-			0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
-			0x08 /* MFP5 AIC32X4_MFP5_GPIO_INPUT */
-		>;
-};