162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/qcom,pm8916-wcd-analog-codec.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Qualcomm PM8916 WCD Analog Audio Codec
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Konrad Dybcio <konradybcio@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  The analog WCD audio codec found on Qualcomm PM8916 PMIC.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    const: qcom,pm8916-wcd-analog-codec
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  reg:
2062306a36Sopenharmony_ci    maxItems: 1
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  interrupts:
2362306a36Sopenharmony_ci    maxItems: 14
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  interrupt-names:
2662306a36Sopenharmony_ci    items:
2762306a36Sopenharmony_ci      - const: cdc_spk_cnp_int
2862306a36Sopenharmony_ci      - const: cdc_spk_clip_int
2962306a36Sopenharmony_ci      - const: cdc_spk_ocp_int
3062306a36Sopenharmony_ci      - const: mbhc_ins_rem_det1
3162306a36Sopenharmony_ci      - const: mbhc_but_rel_det
3262306a36Sopenharmony_ci      - const: mbhc_but_press_det
3362306a36Sopenharmony_ci      - const: mbhc_ins_rem_det
3462306a36Sopenharmony_ci      - const: mbhc_switch_int
3562306a36Sopenharmony_ci      - const: cdc_ear_ocp_int
3662306a36Sopenharmony_ci      - const: cdc_hphr_ocp_int
3762306a36Sopenharmony_ci      - const: cdc_hphl_ocp_det
3862306a36Sopenharmony_ci      - const: cdc_ear_cnp_int
3962306a36Sopenharmony_ci      - const: cdc_hphr_cnp_int
4062306a36Sopenharmony_ci      - const: cdc_hphl_cnp_int
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  vdd-cdc-io-supply:
4362306a36Sopenharmony_ci    description: 1.8V buck supply
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  vdd-cdc-tx-rx-cx-supply:
4662306a36Sopenharmony_ci    description: 1.8V SIDO buck supply
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci  vdd-micbias-supply:
4962306a36Sopenharmony_ci    description: micbias supply
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci  qcom,mbhc-vthreshold-low:
5262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
5362306a36Sopenharmony_ci    description:
5462306a36Sopenharmony_ci      Array of 5 threshold voltages in mV for 5-button detection on
5562306a36Sopenharmony_ci      headset when MBHC is powered by an internal current source.
5662306a36Sopenharmony_ci    minItems: 5
5762306a36Sopenharmony_ci    maxItems: 5
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci  qcom,mbhc-vthreshold-high:
6062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
6162306a36Sopenharmony_ci    description:
6262306a36Sopenharmony_ci      Array of 5 threshold voltages in mV for 5-button detection on
6362306a36Sopenharmony_ci      headset when MBHC is powered from micbias.
6462306a36Sopenharmony_ci    minItems: 5
6562306a36Sopenharmony_ci    maxItems: 5
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci  qcom,micbias-lvl:
6862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
6962306a36Sopenharmony_ci    description:
7062306a36Sopenharmony_ci      Voltage (mV) for Mic Bias
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci  qcom,hphl-jack-type-normally-open:
7362306a36Sopenharmony_ci    type: boolean
7462306a36Sopenharmony_ci    description:
7562306a36Sopenharmony_ci      True if the HPHL pin on the jack is NO (Normally Open), false if it's
7662306a36Sopenharmony_ci      NC (Normally Closed).
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci  qcom,gnd-jack-type-normally-open:
7962306a36Sopenharmony_ci    type: boolean
8062306a36Sopenharmony_ci    description:
8162306a36Sopenharmony_ci      True if the GND pin on the jack is NO (Normally Open), false if it's
8262306a36Sopenharmony_ci      NC (Normally Closed).
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci  qcom,micbias1-ext-cap:
8562306a36Sopenharmony_ci    type: boolean
8662306a36Sopenharmony_ci    description:
8762306a36Sopenharmony_ci      True if micbias1 has an external capacitor.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci  qcom,micbias2-ext-cap:
9062306a36Sopenharmony_ci    type: boolean
9162306a36Sopenharmony_ci    description:
9262306a36Sopenharmony_ci      True if micbias2 has an external capacitor.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci  "#sound-dai-cells":
9562306a36Sopenharmony_ci    const: 1
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_cirequired:
9862306a36Sopenharmony_ci  - compatible
9962306a36Sopenharmony_ci  - reg
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ciadditionalProperties: false
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ciexamples:
10462306a36Sopenharmony_ci  - |
10562306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
10662306a36Sopenharmony_ci    #include <dt-bindings/spmi/spmi.h>
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci    pmic@1 {
10962306a36Sopenharmony_ci      compatible = "qcom,pm8916", "qcom,spmi-pmic";
11062306a36Sopenharmony_ci      reg = <0x1 SPMI_USID>;
11162306a36Sopenharmony_ci      #address-cells = <1>;
11262306a36Sopenharmony_ci      #size-cells = <0>;
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci      audio-codec@f000 {
11562306a36Sopenharmony_ci        compatible = "qcom,pm8916-wcd-analog-codec";
11662306a36Sopenharmony_ci        reg = <0xf000>;
11762306a36Sopenharmony_ci        qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
11862306a36Sopenharmony_ci        qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
11962306a36Sopenharmony_ci        interrupt-parent = <&spmi_bus>;
12062306a36Sopenharmony_ci        interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
12162306a36Sopenharmony_ci              <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
12262306a36Sopenharmony_ci              <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
12362306a36Sopenharmony_ci              <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
12462306a36Sopenharmony_ci              <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
12562306a36Sopenharmony_ci              <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
12662306a36Sopenharmony_ci              <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
12762306a36Sopenharmony_ci              <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
12862306a36Sopenharmony_ci              <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
12962306a36Sopenharmony_ci              <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
13062306a36Sopenharmony_ci              <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
13162306a36Sopenharmony_ci              <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
13262306a36Sopenharmony_ci              <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
13362306a36Sopenharmony_ci              <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
13462306a36Sopenharmony_ci        interrupt-names = "cdc_spk_cnp_int",
13562306a36Sopenharmony_ci                          "cdc_spk_clip_int",
13662306a36Sopenharmony_ci                          "cdc_spk_ocp_int",
13762306a36Sopenharmony_ci                          "mbhc_ins_rem_det1",
13862306a36Sopenharmony_ci                          "mbhc_but_rel_det",
13962306a36Sopenharmony_ci                          "mbhc_but_press_det",
14062306a36Sopenharmony_ci                          "mbhc_ins_rem_det",
14162306a36Sopenharmony_ci                          "mbhc_switch_int",
14262306a36Sopenharmony_ci                          "cdc_ear_ocp_int",
14362306a36Sopenharmony_ci                          "cdc_hphr_ocp_int",
14462306a36Sopenharmony_ci                          "cdc_hphl_ocp_det",
14562306a36Sopenharmony_ci                          "cdc_ear_cnp_int",
14662306a36Sopenharmony_ci                          "cdc_hphr_cnp_int",
14762306a36Sopenharmony_ci                          "cdc_hphl_cnp_int";
14862306a36Sopenharmony_ci        vdd-cdc-io-supply = <&pm8916_l5>;
14962306a36Sopenharmony_ci        vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
15062306a36Sopenharmony_ci        vdd-micbias-supply = <&pm8916_l13>;
15162306a36Sopenharmony_ci        #sound-dai-cells = <1>;
15262306a36Sopenharmony_ci      };
15362306a36Sopenharmony_ci    };
154