Unverified Commit 88d0d171 authored by Alexey Klimov's avatar Alexey Klimov Committed by Mark Brown
Browse files

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: default avatarAlexey Klimov <alexey.klimov@linaro.org>
Reviewed-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Tested-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20250915-pm4125_audio_codec_v1-v4-1-b247b64eec52@linaro.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b9cb410d
Loading
Loading
Loading
Loading
+134 −0
Original line number Diff line number Diff line
# 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>;
        };
    };
...
+79 −0
Original line number Diff line number Diff line
# 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>;
        };
    };
...