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: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221204113621.151303-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Krzysztof Kozlowski 2022-12-04 12:36:21 +01:00 committed by Mark Brown
parent 8a5a05583a
commit 715f45854f
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 86 additions and 44 deletions

View File

@ -1,44 +0,0 @@
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>;
};

View File

@ -0,0 +1,86 @@
# 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>;
};
};