Unverified Commit 715f4585 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Mark Brown
Browse files

ASoC: dt-bindings: maxim,max98504: Convert to DT schema



Convert the Maxim Integrated MAX98504 amplifier bindings to DT schema.
Few properties are made optional:
1. interrupts: current Linux driver implementation does not use them,
2. supplies: on some boards these might be wired to battery, for which
   no regulator is provided.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221204113621.151303-1-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8a5a0558
Loading
Loading
Loading
Loading
+0 −44
Original line number Diff line number Diff line
Maxim MAX98504 class D mono speaker amplifier

This device supports I2C control interface and an IRQ output signal. It features
a PCM and PDM digital audio interface (DAI) and a differential analog input.

Required properties:

 - compatible : "maxim,max98504"
 - reg : should contain the I2C slave device address
 - DVDD-supply, DIOVDD-supply, PVDD-supply: power supplies for the device,
   as covered in ../regulator/regulator.txt
 - interrupts : should specify the interrupt line the device is connected to,
   as described in ../interrupt-controller/interrupts.txt

Optional properties:

 - maxim,brownout-threshold - the PVDD brownout threshold, the value must be
   from 0, 1...21 range, corresponding to 2.6V, 2.65V...3.65V voltage range
 - maxim,brownout-attenuation - the brownout attenuation to the speaker gain
   applied during the "attack hold" and "timed hold" phase, the value must be
   from 0...6 (dB) range
 - maxim,brownout-attack-hold-ms - the brownout attack hold phase time in ms,
   0...255 (VBATBROWN_ATTK_HOLD, register 0x0018)
 - maxim,brownout-timed-hold-ms - the brownout timed hold phase time in ms,
   0...255 (VBATBROWN_TIME_HOLD, register 0x0019)
 - maxim,brownout-release-rate-ms - the brownout release phase step time in ms,
   0...255 (VBATBROWN_RELEASE, register 0x001A)

The default value when the above properties are not specified is 0,
the maxim,brownout-threshold property must be specified to actually enable
the PVDD brownout protection.

Example:

 max98504@31 {
	compatible = "maxim,max98504";
	reg = <0x31>;
	interrupt-parent = <&gpio_bank_0>;
	interrupts = <2 0>;

	DVDD-supply = <&regulator>;
	DIOVDD-supply = <&regulator>;
	PVDD-supply = <&regulator>;
};
+86 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/maxim,max98504.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim Integrated MAX98504 class D mono speaker amplifier

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

description:
  Maxim Integrated MAX98504 speaker amplifier supports I2C control interface
  with an IRQ output signal, PCM and PDM digital audio interface (DAI) and a
  differential analog input.

properties:
  compatible:
    const: maxim,max98504

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  DIOVDD-supply: true
  DVDD-supply: true
  PVDD-supply: true

  maxim,brownout-threshold:
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 21
    default: 0
    description:
      PVDD brownout threshold, where values correspond to 2.6V, 2.65V...3.65V
      voltage range.  Property also enables the PVDD brownout protection.

  maxim,brownout-attenuation:
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 6
    default: 0
    description:
      Brownout attenuation to the speaker gain applied during the "attack hold"
      and "timed hold" phase, the value must be from 0...6 (dB) range.

  maxim,brownout-attack-hold-ms:
    maximum: 255
    default: 0
    description:
      Brownout attack hold phase time in ms, VBATBROWN_ATTK_HOLD, register 0x0018.

  maxim,brownout-timed-hold-ms:
    maximum: 255
    default: 0
    description:
      Brownout timed hold phase time in ms, VBATBROWN_TIME_HOLD, register 0x0019.

  maxim,brownout-release-rate-ms:
    maximum: 255
    default: 0
    description:
      Brownout release phase step time in ms, VBATBROWN_RELEASE, register 0x001A.

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        amplifier@31 {
            compatible = "maxim,max98504";
            reg = <0x31>;

            DIOVDD-supply = <&ldo3_reg>;
            DVDD-supply = <&ldo3_reg>;
        };
    };