ASoC: dt-bindings: add bindings for pm4125 audio codec

The audio codec IC is found on Qualcomm PM4125/PM2250 PMIC.
It has TX and RX soundwire slave devices hence two files are added.

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Tested-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20250915-pm4125_audio_codec_v1-v4-1-b247b64eec52@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Alexey Klimov 2025-09-15 17:27:48 +01:00 committed by Mark Brown
parent b9cb410d48
commit 88d0d17192
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 213 additions and 0 deletions

View File

@ -0,0 +1,134 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,pm4125-codec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm PM4125 Audio Codec
maintainers:
- Alexey Klimov <alexey.klimov@linaro.org>
description:
The audio codec IC found on Qualcomm PM4125/PM2250 PMIC.
It has RX and TX Soundwire slave devices.
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
const: qcom,pm4125-codec
reg:
description:
Specifies the SPMI base address for the audio codec peripherals. The
address space contains reset register needed to power-on the codec.
maxItems: 1
reg-names:
maxItems: 1
vdd-io-supply:
description: A reference to the 1.8V I/O supply
vdd-cp-supply:
description: A reference to the charge pump I/O supply
vdd-mic-bias-supply:
description: A reference to the 3.3V mic bias supply
vdd-pa-vpos-supply:
description: A reference to the PA VPOS supply
qcom,tx-device:
$ref: /schemas/types.yaml#/definitions/phandle-array
description: A reference to Soundwire tx device phandle
qcom,rx-device:
$ref: /schemas/types.yaml#/definitions/phandle-array
description: A reference to Soundwire rx device phandle
qcom,micbias1-microvolt:
description: micbias1 voltage
minimum: 1800000
maximum: 2850000
qcom,micbias2-microvolt:
description: micbias2 voltage
minimum: 1800000
maximum: 2850000
qcom,micbias3-microvolt:
description: micbias3 voltage
minimum: 1800000
maximum: 2850000
qcom,mbhc-buttons-vthreshold-microvolt:
description:
Array of 8 Voltage threshold values corresponding to headset
button0 - button7
minItems: 8
maxItems: 8
'#sound-dai-cells':
const: 1
required:
- compatible
- reg
- vdd-io-supply
- vdd-cp-supply
- vdd-mic-bias-supply
- vdd-pa-vpos-supply
- qcom,tx-device
- qcom,rx-device
- qcom,micbias1-microvolt
- qcom,micbias2-microvolt
- qcom,micbias3-microvolt
- '#sound-dai-cells'
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/spmi/spmi.h>
spmi {
#address-cells = <2>;
#size-cells = <0>;
pmic {
#address-cells = <1>;
#size-cells = <0>;
audio-codec@f000 {
compatible = "qcom,pm4125-codec";
reg = <0xf000>;
vdd-io-supply = <&pm4125_l15>;
vdd-cp-supply = <&pm4125_s4>;
vdd-pa-vpos-supply = <&pm4125_s4>;
vdd-mic-bias-supply = <&pm4125_l22>;
qcom,micbias1-microvolt = <1800000>;
qcom,micbias2-microvolt = <1800000>;
qcom,micbias3-microvolt = <1800000>;
qcom,rx-device = <&pm4125_rx>;
qcom,tx-device = <&pm4125_tx>;
#sound-dai-cells = <1>;
};
};
};
/* ... */
soundwire@a610000 {
reg = <0x0a610000 0x2000>;
#address-cells = <2>;
#size-cells = <0>;
pm4125_rx: audio-codec@0,4 {
compatible = "sdw20217010c00";
reg = <0 4>;
qcom,rx-port-mapping = <1 3>;
};
};
...

View File

@ -0,0 +1,79 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,pm4125-sdw.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm SoundWire Slave devices on PM4125/PM2250 PMIC audio codec.
maintainers:
- Alexey Klimov <alexey.klimov@linaro.org>
description:
The audio codec IC found on Qualcomm PM4125/PM2250 PMICs.
It has RX and TX Soundwire slave devices.
properties:
compatible:
const: sdw20217010c00
reg:
maxItems: 1
qcom,tx-port-mapping:
description: |
Specifies static port mapping between device and host tx ports.
In the order of the device port index which are adc1_port, adc23_port,
dmic03_mbhc_port, dmic46_port.
Supports maximum 2 tx soundwire ports.
PM4125 TX Port 1 (ADC1,2 & DMIC0 & MBHC) <=> SWR0 Port 1
PM4125 TX Port 2 (ADC1 & DMIC0,1,2 & MBHC) <=> SWR0 Port 2
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 2
maxItems: 2
items:
enum: [1, 2, 3, 4]
qcom,rx-port-mapping:
description: |
Specifies static port mapping between device and host rx ports.
In the order of device port index which are hph_port, clsh_port,
comp_port, lo_port, dsd port.
Supports maximum 2 rx soundwire ports.
PM4125 RX Port 1 (HPH_L/R) <==> SWR1 Port 1 (HPH_L/R)
PM4125 RX Port 2 (COMP_L/R) <==> SWR1 Port 3 (COMP_L/R)
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 2
maxItems: 2
items:
enum: [1, 2, 3, 4, 5]
required:
- compatible
- reg
oneOf:
- required:
- qcom,tx-port-mapping
- required:
- qcom,rx-port-mapping
additionalProperties: false
examples:
- |
soundwire@a610000 {
reg = <0x0a610000 0x2000>;
#address-cells = <2>;
#size-cells = <0>;
pm4125_rx: codec@0,1 {
compatible = "sdw20217010c00";
reg = <0 1>;
qcom,rx-port-mapping = <1 3>;
};
};
...