ASoC: dt-bindings: Add FS2104/5S audio amplifiers

Add a DT schema for describing FourSemi FS2104/5S
audio amplifiers which support both I2S and I2C interface.

Signed-off-by: Nick Li <nick.li@foursemi.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/350C011186D85903+20250811104610.8993-3-nick.li@foursemi.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Nick Li
2025-08-11 18:46:07 +08:00
committed by Mark Brown
parent 243167e969
commit fd90680da7

View File

@@ -0,0 +1,101 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/foursemi,fs2105s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FourSemi FS2104/5S Digital Audio Amplifier
maintainers:
- Nick Li <nick.li@foursemi.com>
description:
The FS2104 is a 15W Inductor-Less, Stereo, Closed-Loop,
Digital Input Class-D Power Amplifier with Enhanced Signal Processing.
The FS2105S is a 30W Inductor-Less, Stereo, Closed-Loop,
Digital Input Class-D Power Amplifier with Enhanced Signal Processing.
properties:
compatible:
oneOf:
- items:
- enum:
- foursemi,fs2104
- const: foursemi,fs2105s
- enum:
- foursemi,fs2105s
reg:
maxItems: 1
clocks:
items:
- description: The clock of I2S BCLK
clock-names:
items:
- const: bclk
interrupts:
maxItems: 1
'#sound-dai-cells':
const: 0
pvdd-supply:
description:
Regulator for power supply(PVDD in datasheet).
dvdd-supply:
description:
Regulator for digital supply(DVDD in datasheet).
reset-gpios:
maxItems: 1
description:
It's the SDZ pin in datasheet, the pin is active low,
it will power down and reset the chip to shut down state.
firmware-name:
maxItems: 1
description: |
The firmware(*.bin) contains:
a. Register initialization settings
b. DSP effect parameters
c. Multi-scene sound effect configurations(optional)
It's gernerated by FourSemi's tuning tool.
required:
- compatible
- reg
- '#sound-dai-cells'
- pvdd-supply
- dvdd-supply
- reset-gpios
- firmware-name
allOf:
- $ref: dai-common.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
audio-codec@68 {
compatible = "foursemi,fs2105s";
reg = <0x68>;
clocks = <&clocks 18>;
clock-names = "bclk";
#sound-dai-cells = <0>;
pvdd-supply = <&pvdd_supply>;
dvdd-supply = <&dvdd_supply>;
reset-gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
firmware-name = "fs2105s-btl-2p0-0s.bin";
pinctrl-names = "default";
pinctrl-0 = <&fs210x_pins_default>;
};
};