142 lines
4.0 KiB
YAML
142 lines
4.0 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/sound/adi,max98396.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Analog Devices MAX98396 Speaker Amplifier
|
|
|
|
maintainers:
|
|
- Ryan Lee <ryans.lee@analog.com>
|
|
|
|
description:
|
|
The MAX98396 is a mono Class-DG speaker amplifier with I/V sense.
|
|
The device provides a PCM interface for audio data and a standard
|
|
I2C interface for control data communication.
|
|
The MAX98397 is a variant of MAX98396 with wide input supply range.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- adi,max98396
|
|
- adi,max98397
|
|
reg:
|
|
maxItems: 1
|
|
description: I2C address of the device.
|
|
|
|
avdd-supply:
|
|
description: A 1.8V supply that powers up the AVDD pin.
|
|
|
|
dvdd-supply:
|
|
description: A 1.2V supply that powers up the DVDD pin.
|
|
|
|
dvddio-supply:
|
|
description: A 1.2V or 1.8V supply that powers up the VDDIO pin.
|
|
|
|
pvdd-supply:
|
|
description: A 3.0V to 20V supply that powers up the PVDD pin.
|
|
|
|
vbat-supply:
|
|
description: A 3.3V to 5.5V supply that powers up the VBAT pin.
|
|
|
|
adi,vmon-slot-no:
|
|
description: slot number of the voltage sense monitor
|
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 0
|
|
|
|
adi,imon-slot-no:
|
|
description: slot number of the current sense monitor
|
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 1
|
|
|
|
adi,spkfb-slot-no:
|
|
description: slot number of speaker DSP monitor
|
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 2
|
|
|
|
adi,bypass-slot-no:
|
|
description:
|
|
Selects the PCM data input channel that is routed to the speaker
|
|
audio processing bypass path.
|
|
$ref: "/schemas/types.yaml#/definitions/uint32"
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 0
|
|
|
|
adi,interleave-mode:
|
|
description:
|
|
For cases where a single combined channel for the I/V sense data
|
|
is not sufficient, the device can also be configured to share
|
|
a single data output channel on alternating frames.
|
|
In this configuration, the current and voltage data will be frame
|
|
interleaved on a single output channel.
|
|
type: boolean
|
|
|
|
adi,dmon-stuck-enable:
|
|
description:
|
|
Enables the "data monitor stuck" feature. Once the data monitor is
|
|
enabled, it actively monitors the selected input data (from DIN) to the
|
|
speaker amplifier. Once a data error is detected, the data monitor
|
|
automatically places the device into software shutdown.
|
|
type: boolean
|
|
|
|
adi,dmon-stuck-threshold-bits:
|
|
description:
|
|
Sets the threshold for the "data monitor stuck" feature, in bits.
|
|
enum: [9, 11, 13, 15]
|
|
default: 15
|
|
|
|
adi,dmon-magnitude-enable:
|
|
description:
|
|
Enables the "data monitor magnitude" feature. Once the data monitor is
|
|
enabled, it actively monitors the selected input data (from DIN) to the
|
|
speaker amplifier. Once a data error is detected, the data monitor
|
|
automatically places the device into software shutdown.
|
|
type: boolean
|
|
|
|
adi,dmon-magnitude-threshold-bits:
|
|
description:
|
|
Sets the threshold for the "data monitor magnitude" feature, in bits.
|
|
enum: [2, 3, 4, 5]
|
|
default: 5
|
|
|
|
adi,dmon-duration-ms:
|
|
description:
|
|
Sets the duration for the "data monitor" feature, in milliseconds.
|
|
enum: [64, 256, 1024, 4096]
|
|
default: 64
|
|
|
|
reset-gpios:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
max98396: amplifier@39 {
|
|
compatible = "adi,max98396";
|
|
reg = <0x39>;
|
|
dvdd-supply = <®ulator_1v2>;
|
|
dvddio-supply = <®ulator_1v8>;
|
|
avdd-supply = <®ulator_1v8>;
|
|
pvdd-supply = <®ulator_pvdd>;
|
|
adi,vmon-slot-no = <0>;
|
|
adi,imon-slot-no = <1>;
|
|
reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|