1e125891cSKonrad Dybcio# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2e125891cSKonrad Dybcio%YAML 1.2 3e125891cSKonrad Dybcio--- 4e125891cSKonrad Dybcio$id: http://devicetree.org/schemas/sound/qcom,pm8916-wcd-analog-codec.yaml# 5e125891cSKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml# 6e125891cSKonrad Dybcio 7e125891cSKonrad Dybciotitle: Qualcomm PM8916 WCD Analog Audio Codec 8e125891cSKonrad Dybcio 9e125891cSKonrad Dybciomaintainers: 10e125891cSKonrad Dybcio - Konrad Dybcio <konradybcio@kernel.org> 11e125891cSKonrad Dybcio 12e125891cSKonrad Dybciodescription: 13e125891cSKonrad Dybcio The analog WCD audio codec found on Qualcomm PM8916 PMIC. 14e125891cSKonrad Dybcio 15e125891cSKonrad Dybcioproperties: 16e125891cSKonrad Dybcio compatible: 17e125891cSKonrad Dybcio const: qcom,pm8916-wcd-analog-codec 18e125891cSKonrad Dybcio 19e125891cSKonrad Dybcio reg: 20e125891cSKonrad Dybcio maxItems: 1 21e125891cSKonrad Dybcio 22e125891cSKonrad Dybcio interrupts: 23e125891cSKonrad Dybcio maxItems: 14 24e125891cSKonrad Dybcio 25e125891cSKonrad Dybcio interrupt-names: 26e125891cSKonrad Dybcio items: 27e125891cSKonrad Dybcio - const: cdc_spk_cnp_int 28e125891cSKonrad Dybcio - const: cdc_spk_clip_int 29e125891cSKonrad Dybcio - const: cdc_spk_ocp_int 30e125891cSKonrad Dybcio - const: mbhc_ins_rem_det1 31e125891cSKonrad Dybcio - const: mbhc_but_rel_det 32e125891cSKonrad Dybcio - const: mbhc_but_press_det 33e125891cSKonrad Dybcio - const: mbhc_ins_rem_det 34e125891cSKonrad Dybcio - const: mbhc_switch_int 35e125891cSKonrad Dybcio - const: cdc_ear_ocp_int 36e125891cSKonrad Dybcio - const: cdc_hphr_ocp_int 37e125891cSKonrad Dybcio - const: cdc_hphl_ocp_det 38e125891cSKonrad Dybcio - const: cdc_ear_cnp_int 39e125891cSKonrad Dybcio - const: cdc_hphr_cnp_int 40e125891cSKonrad Dybcio - const: cdc_hphl_cnp_int 41e125891cSKonrad Dybcio 42e125891cSKonrad Dybcio vdd-cdc-io-supply: 43e125891cSKonrad Dybcio description: 1.8V buck supply 44e125891cSKonrad Dybcio 45e125891cSKonrad Dybcio vdd-cdc-tx-rx-cx-supply: 46e125891cSKonrad Dybcio description: 1.8V SIDO buck supply 47e125891cSKonrad Dybcio 48e125891cSKonrad Dybcio vdd-micbias-supply: 49e125891cSKonrad Dybcio description: micbias supply 50e125891cSKonrad Dybcio 51e125891cSKonrad Dybcio qcom,mbhc-vthreshold-low: 52e125891cSKonrad Dybcio $ref: /schemas/types.yaml#/definitions/uint32-array 53e125891cSKonrad Dybcio description: 54e125891cSKonrad Dybcio Array of 5 threshold voltages in mV for 5-button detection on 55e125891cSKonrad Dybcio headset when MBHC is powered by an internal current source. 56e125891cSKonrad Dybcio minItems: 5 57e125891cSKonrad Dybcio maxItems: 5 58e125891cSKonrad Dybcio 59e125891cSKonrad Dybcio qcom,mbhc-vthreshold-high: 60e125891cSKonrad Dybcio $ref: /schemas/types.yaml#/definitions/uint32-array 61e125891cSKonrad Dybcio description: 62e125891cSKonrad Dybcio Array of 5 threshold voltages in mV for 5-button detection on 63e125891cSKonrad Dybcio headset when MBHC is powered from micbias. 64e125891cSKonrad Dybcio minItems: 5 65e125891cSKonrad Dybcio maxItems: 5 66e125891cSKonrad Dybcio 67e125891cSKonrad Dybcio qcom,micbias-lvl: 68e125891cSKonrad Dybcio $ref: /schemas/types.yaml#/definitions/uint32 69e125891cSKonrad Dybcio description: 70e125891cSKonrad Dybcio Voltage (mV) for Mic Bias 71e125891cSKonrad Dybcio 72e125891cSKonrad Dybcio qcom,hphl-jack-type-normally-open: 73e125891cSKonrad Dybcio type: boolean 74e125891cSKonrad Dybcio description: 75e125891cSKonrad Dybcio True if the HPHL pin on the jack is NO (Normally Open), false if it's 76e125891cSKonrad Dybcio NC (Normally Closed). 77e125891cSKonrad Dybcio 78e125891cSKonrad Dybcio qcom,gnd-jack-type-normally-open: 79e125891cSKonrad Dybcio type: boolean 80e125891cSKonrad Dybcio description: 81e125891cSKonrad Dybcio True if the GND pin on the jack is NO (Normally Open), false if it's 82e125891cSKonrad Dybcio NC (Normally Closed). 83e125891cSKonrad Dybcio 84e125891cSKonrad Dybcio qcom,micbias1-ext-cap: 85e125891cSKonrad Dybcio type: boolean 86e125891cSKonrad Dybcio description: 87e125891cSKonrad Dybcio True if micbias1 has an external capacitor. 88e125891cSKonrad Dybcio 89e125891cSKonrad Dybcio qcom,micbias2-ext-cap: 90e125891cSKonrad Dybcio type: boolean 91e125891cSKonrad Dybcio description: 92e125891cSKonrad Dybcio True if micbias2 has an external capacitor. 93e125891cSKonrad Dybcio 94e125891cSKonrad Dybcio "#sound-dai-cells": 95e125891cSKonrad Dybcio const: 1 96e125891cSKonrad Dybcio 97e125891cSKonrad Dybciorequired: 98e125891cSKonrad Dybcio - compatible 99e125891cSKonrad Dybcio - reg 100e125891cSKonrad Dybcio 101e125891cSKonrad DybcioadditionalProperties: false 102e125891cSKonrad Dybcio 103e125891cSKonrad Dybcioexamples: 104e125891cSKonrad Dybcio - | 105e125891cSKonrad Dybcio #include <dt-bindings/interrupt-controller/irq.h> 106*944b5c71SStephan Gerhold #include <dt-bindings/spmi/spmi.h> 107*944b5c71SStephan Gerhold 108*944b5c71SStephan Gerhold pmic@1 { 109*944b5c71SStephan Gerhold compatible = "qcom,pm8916", "qcom,spmi-pmic"; 110*944b5c71SStephan Gerhold reg = <0x1 SPMI_USID>; 111*944b5c71SStephan Gerhold #address-cells = <1>; 112*944b5c71SStephan Gerhold #size-cells = <0>; 113e125891cSKonrad Dybcio 114e125891cSKonrad Dybcio audio-codec@f000 { 115e125891cSKonrad Dybcio compatible = "qcom,pm8916-wcd-analog-codec"; 116*944b5c71SStephan Gerhold reg = <0xf000>; 117e125891cSKonrad Dybcio qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 118e125891cSKonrad Dybcio qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 119e125891cSKonrad Dybcio interrupt-parent = <&spmi_bus>; 120e125891cSKonrad Dybcio interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>, 121e125891cSKonrad Dybcio <0x1 0xf0 0x1 IRQ_TYPE_NONE>, 122e125891cSKonrad Dybcio <0x1 0xf0 0x2 IRQ_TYPE_NONE>, 123e125891cSKonrad Dybcio <0x1 0xf0 0x3 IRQ_TYPE_NONE>, 124e125891cSKonrad Dybcio <0x1 0xf0 0x4 IRQ_TYPE_NONE>, 125e125891cSKonrad Dybcio <0x1 0xf0 0x5 IRQ_TYPE_NONE>, 126e125891cSKonrad Dybcio <0x1 0xf0 0x6 IRQ_TYPE_NONE>, 127e125891cSKonrad Dybcio <0x1 0xf0 0x7 IRQ_TYPE_NONE>, 128e125891cSKonrad Dybcio <0x1 0xf1 0x0 IRQ_TYPE_NONE>, 129e125891cSKonrad Dybcio <0x1 0xf1 0x1 IRQ_TYPE_NONE>, 130e125891cSKonrad Dybcio <0x1 0xf1 0x2 IRQ_TYPE_NONE>, 131e125891cSKonrad Dybcio <0x1 0xf1 0x3 IRQ_TYPE_NONE>, 132e125891cSKonrad Dybcio <0x1 0xf1 0x4 IRQ_TYPE_NONE>, 133e125891cSKonrad Dybcio <0x1 0xf1 0x5 IRQ_TYPE_NONE>; 134e125891cSKonrad Dybcio interrupt-names = "cdc_spk_cnp_int", 135e125891cSKonrad Dybcio "cdc_spk_clip_int", 136e125891cSKonrad Dybcio "cdc_spk_ocp_int", 137e125891cSKonrad Dybcio "mbhc_ins_rem_det1", 138e125891cSKonrad Dybcio "mbhc_but_rel_det", 139e125891cSKonrad Dybcio "mbhc_but_press_det", 140e125891cSKonrad Dybcio "mbhc_ins_rem_det", 141e125891cSKonrad Dybcio "mbhc_switch_int", 142e125891cSKonrad Dybcio "cdc_ear_ocp_int", 143e125891cSKonrad Dybcio "cdc_hphr_ocp_int", 144e125891cSKonrad Dybcio "cdc_hphl_ocp_det", 145e125891cSKonrad Dybcio "cdc_ear_cnp_int", 146e125891cSKonrad Dybcio "cdc_hphr_cnp_int", 147e125891cSKonrad Dybcio "cdc_hphl_cnp_int"; 148e125891cSKonrad Dybcio vdd-cdc-io-supply = <&pm8916_l5>; 149e125891cSKonrad Dybcio vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>; 150e125891cSKonrad Dybcio vdd-micbias-supply = <&pm8916_l13>; 151e125891cSKonrad Dybcio #sound-dai-cells = <1>; 152e125891cSKonrad Dybcio }; 153*944b5c71SStephan Gerhold }; 154