mirror of https://github.com/torvalds/linux.git
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:
parent
b9cb410d48
commit
88d0d17192
|
|
@ -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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
||||||
|
|
@ -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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
||||||
Loading…
Reference in New Issue