# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/awinic,aw8738.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Awinic AW8738 Audio Amplifier

maintainers:
  - Stephan Gerhold <stephan@gerhold.net>

description:
  The Awinic AW8738 is a simple audio amplifier with different operation modes
  (set using one-wire pulse control). The mode configures the speaker-guard
  function (primarily the power limit for the amplifier).

allOf:
  - $ref: name-prefix.yaml#

properties:
  compatible:
    const: awinic,aw8738

  mode-gpios:
    description:
      GPIO used for one-wire pulse control. The pin is typically called SHDN
      (active-low), but this is misleading since it is actually more than
      just a simple shutdown/enable control.
    maxItems: 1

  awinic,mode:
    description: Operation mode (number of pulses for one-wire pulse control)
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 1
    maximum: 7

  sound-name-prefix: true

required:
  - compatible
  - mode-gpios
  - awinic,mode

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    audio-amplifier {
        compatible = "awinic,aw8738";
        mode-gpios = <&msmgpio 114 GPIO_ACTIVE_HIGH>;
        awinic,mode = <5>;
        sound-name-prefix = "Speaker Amp";
    };
