Documentation / devicetree / bindings / sound / qcom,pm4125-codec.yaml


Based on kernel version 6.18. Page generated on 2025-12-02 09:03 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 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>;
        };
    };
...