# 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 <shengjiu.wang@nxp.com>

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

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: asahi-kasei,ak4458

    then:
      properties:
        dsd-path: false

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        codec@10 {
            compatible = "asahi-kasei,ak4458";
            reg = <0x10>;
            reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
            mute-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
        };
    };