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

Convert the Maxim Integrated MAX98925/MAX98926/MAX98927 speaker
amplifier bindings to DT schema format.  Changes during conversion:
1. Add "sound-dai-cells", already used by DTS.
2. Use "maxim,interleave-mode" instead previous "interleave-mode" and
   undocumented but used interleave_mode.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230730201826.70453-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Krzysztof Kozlowski 2023-07-30 22:18:24 +02:00 committed by Mark Brown
parent 9606cda350
commit 7136368a2f
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0
2 changed files with 98 additions and 44 deletions

View file

@ -1,44 +0,0 @@
Maxim Integrated MAX98925/MAX98926/MAX98927 Speaker Amplifier
This device supports I2C.
Required properties:
- compatible : should be one of the following
- "maxim,max98925"
- "maxim,max98926"
- "maxim,max98927"
- vmon-slot-no : slot number used to send voltage information
or in inteleave mode this will be used as
interleave slot.
MAX98925/MAX98926 slot range : 0 ~ 30, Default : 0
MAX98927 slot range : 0 ~ 15, Default : 0
- imon-slot-no : slot number used to send current information
MAX98925/MAX98926 slot range : 0 ~ 30, Default : 0
MAX98927 slot range : 0 ~ 15, Default : 0
- interleave-mode : When using two MAX9892X in a system it is
possible to create ADC data that that will
overflow the frame size. Digital Audio Interleave
mode provides a means to output VMON and IMON data
from two devices on a single DOUT line when running
smaller frames sizes such as 32 BCLKS per LRCLK or
48 BCLKS per LRCLK.
Range : 0 (off), 1 (on), Default : 0
- reg : the I2C address of the device for I2C
Optional properties:
- reset-gpios : GPIO to reset the device
Example:
codec: max98927@3a {
compatible = "maxim,max98927";
vmon-slot-no = <0>;
imon-slot-no = <1>;
interleave-mode = <0>;
reg = <0x3a>;
};

View file

@ -0,0 +1,98 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/maxim,max98925.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Maxim Integrated MAX98925/MAX98926/MAX98927 speaker amplifier
maintainers:
- Ryan Lee <ryans.lee@maximintegrated.com>
properties:
compatible:
enum:
- maxim,max98925
- maxim,max98926
- maxim,max98927
reg:
maxItems: 1
reset-gpios:
maxItems: 1
'#sound-dai-cells':
const: 0
vmon-slot-no:
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 0
maximum: 30
default: 0
description:
Slot number used to send voltage information or in inteleave mode this
will be used as interleave slot.
imon-slot-no:
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 0
maximum: 30
default: 0
description:
Slot number used to send current information.
maxim,interleave-mode:
type: boolean
description:
When using two MAX9892X in a system it is possible to create ADC data
that will overflow the frame size. When enabled, the Digital Audio
Interleave mode provides a means to output VMON and IMON data from two
devices on a single DOUT line when running smaller frames sizes such as
32 BCLKS per LRCLK or 48 BCLKS per LRCLK.
required:
- compatible
- reg
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- maxim,max98927
then:
properties:
vmon-slot-no:
minimum: 0
maximum: 15
imon-slot-no:
minimum: 0
maximum: 15
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
#include <dt-bindings/gpio/gpio.h>
audio-codec@3a {
compatible = "maxim,max98927";
reg = <0x3a>;
#sound-dai-cells = <0>;
pinctrl-0 = <&speaker_default>;
pinctrl-names = "default";
reset-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
vmon-slot-no = <1>;
imon-slot-no = <0>;
};
};