2023-03-25 20:19:56

by Saalim Quadri

[permalink] [raw]
Subject: [PATCH] ASoC: dt-bindings: ak4458: Convert to dtschema

Convert the AK4458 audio DAC bindings to DT schema.

Signed-off-by: Saalim Quadri <[email protected]>
---
.../devicetree/bindings/sound/ak4458.txt | 28 ---------
.../bindings/sound/asahi-kasei,ak4458.yaml | 62 +++++++++++++++++++
2 files changed, 62 insertions(+), 28 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/ak4458.txt
create mode 100644 Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml

diff --git a/Documentation/devicetree/bindings/sound/ak4458.txt b/Documentation/devicetree/bindings/sound/ak4458.txt
deleted file mode 100644
index 0416c14895d6..000000000000
--- a/Documentation/devicetree/bindings/sound/ak4458.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-AK4458 audio DAC
-
-This device supports I2C mode.
-
-Required properties:
-
-- compatible : "asahi-kasei,ak4458" or "asahi-kasei,ak4497"
-- reg : The I2C address of the device for I2C
-
-Optional properties:
-- reset-gpios: A GPIO specifier for the power down & reset pin
-- mute-gpios: A GPIO specifier for the soft mute pin
-- AVDD-supply: Analog power supply
-- DVDD-supply: Digital power supply
-- dsd-path: Select DSD input pins for ak4497
- 0: select #16, #17, #19 pins
- 1: select #3, #4, #5 pins
-
-Example:
-
-&i2c {
- ak4458: dac@10 {
- compatible = "asahi-kasei,ak4458";
- reg = <0x10>;
- reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>
- mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>
- };
-};
diff --git a/Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml b/Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml
new file mode 100644
index 000000000000..b97aee96fa17
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/asahi-kasei,ak4458.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: AK4458 audio DAC
+
+maintainers:
+ - Shengjiu Wang <[email protected]>
+
+properties:
+ compatible:
+ enum:
+ - asahi-kasei,ak4458
+ - asahi-kasei,ak4497
+
+ reg:
+ maxItems: 1
+
+ avdd-supply:
+ description: Analog power supply
+
+ dvdd-supply:
+ description: Digital power supply
+
+ reset-gpios:
+ maxItems: 1
+
+ mute-gpios:
+ maxItems: 1
+ description:
+ GPIO used to mute all the outputs
+
+ dsd-path:
+ description: Select DSD input pins for ak4497
+ $ref: /schemas/types.yaml#/definitions/uint32
+ oneOf:
+ - const: 0
+ description: select #16, #17, #19 pins
+ - const: 1
+ description: select #3, #4, #5 pins
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ak4458: codec@10 {
+ compatible = "asahi-kasei,ak4458";
+ reg = <0x10>;
+ reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+ mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+ };
+ };
--
2.34.1


2023-03-25 20:20:18

by Saalim Quadri

[permalink] [raw]
Subject: Re: [PATCH] ASoC: dt-bindings: ak4458: Convert to dtschema

> + dsd-path:
> + description: Select DSD input pins for ak4497
> + $ref: /schemas/types.yaml#/definitions/uint32
> + oneOf:
> + - const: 0
> + description: select #16, #17, #19 pins
> + - const: 1
> + description: select #3, #4, #5 pins

I hope if you can review this part correctly.

Thank you,

Saalim

2023-03-26 09:28:21

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] ASoC: dt-bindings: ak4458: Convert to dtschema

On 25/03/2023 21:10, Saalim Quadri wrote:
> Convert the AK4458 audio DAC bindings to DT schema.
>
> Signed-off-by: Saalim Quadri <[email protected]>
> ---
> .../devicetree/bindings/sound/ak4458.txt | 28 ---------
> .../bindings/sound/asahi-kasei,ak4458.yaml | 62 +++++++++++++++++++
> 2 files changed, 62 insertions(+), 28 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/ak4458.txt
> create mode 100644 Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/ak4458.txt b/Documentation/devicetree/bindings/sound/ak4458.txt
> deleted file mode 100644
> index 0416c14895d6..000000000000
> --- a/Documentation/devicetree/bindings/sound/ak4458.txt
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -AK4458 audio DAC
> -
> -This device supports I2C mode.
> -
> -Required properties:
> -
> -- compatible : "asahi-kasei,ak4458" or "asahi-kasei,ak4497"
> -- reg : The I2C address of the device for I2C
> -
> -Optional properties:
> -- reset-gpios: A GPIO specifier for the power down & reset pin
> -- mute-gpios: A GPIO specifier for the soft mute pin
> -- AVDD-supply: Analog power supply
> -- DVDD-supply: Digital power supply
> -- dsd-path: Select DSD input pins for ak4497
> - 0: select #16, #17, #19 pins
> - 1: select #3, #4, #5 pins
> -
> -Example:
> -
> -&i2c {
> - ak4458: dac@10 {
> - compatible = "asahi-kasei,ak4458";
> - reg = <0x10>;
> - reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>
> - mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>
> - };
> -};
> diff --git a/Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml b/Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml
> new file mode 100644
> index 000000000000..b97aee96fa17
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/asahi-kasei,ak4458.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/asahi-kasei,ak4458.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: AK4458 audio DAC
> +
> +maintainers:
> + - Shengjiu Wang <[email protected]>
> +
> +properties:
> + compatible:
> + enum:
> + - asahi-kasei,ak4458
> + - asahi-kasei,ak4497
> +
> + reg:
> + maxItems: 1
> +
> + avdd-supply:
> + description: Analog power supply
> +
> + dvdd-supply:
> + description: Digital power supply
> +
> + reset-gpios:
> + maxItems: 1
> +
> + mute-gpios:
> + maxItems: 1
> + description:
> + GPIO used to mute all the outputs
> +
> + dsd-path:
> + description: Select DSD input pins for ak4497
> + $ref: /schemas/types.yaml#/definitions/uint32
> + oneOf:
> + - const: 0
> + description: select #16, #17, #19 pins
> + - const: 1
> + description: select #3, #4, #5 pins
> +
> +required:
> + - compatible
> + - reg
> +

Based on driver:

allOf:
- if:
properties:
compatible:
enum:
- ak4458.....
then:
properties:
dsd-path: false

> +additionalProperties: false
> +
Best regards,
Krzysztof

2023-03-26 13:03:14

by Saalim Quadri

[permalink] [raw]
Subject: Re: [PATCH] ASoC: dt-bindings: ak4458: Convert to dtschema

> allOf:
> - if:
> properties:
> compatible:
> enum:
> - ak4458.....
> then:
> properties:
> dsd-path: false

Do we also require to add a descriptioon to explain the pins which will be selected based off on the value?
Or have you disabled it based on, that it is disabled for ak4458 codecs?

Thank you,

Saalim

2023-03-26 14:50:48

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] ASoC: dt-bindings: ak4458: Convert to dtschema

On 26/03/2023 14:58, Saalim Quadri wrote:
>> allOf:
>> - if:
>> properties:
>> compatible:
>> enum:
>> - ak4458.....
>> then:
>> properties:
>> dsd-path: false
>
> Do we also require to add a descriptioon to explain the pins which will be selected based off on the value?

Description where? What pins?

> Or have you disabled it based on, that it is disabled for ak4458 codecs?

What is disabled? The driver indicates the property is valid only for
ak4497.



Best regards,
Krzysztof