154 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
 | |
| %YAML 1.2
 | |
| ---
 | |
| $id: http://devicetree.org/schemas/sound/qcom,pm8916-wcd-analog-codec.yaml#
 | |
| $schema: http://devicetree.org/meta-schemas/core.yaml#
 | |
| 
 | |
| title: Qualcomm PM8916 WCD Analog Audio Codec
 | |
| 
 | |
| maintainers:
 | |
|   - Konrad Dybcio <konradybcio@kernel.org>
 | |
| 
 | |
| description:
 | |
|   The analog WCD audio codec found on Qualcomm PM8916 PMIC.
 | |
| 
 | |
| properties:
 | |
|   compatible:
 | |
|     const: qcom,pm8916-wcd-analog-codec
 | |
| 
 | |
|   reg:
 | |
|     maxItems: 1
 | |
| 
 | |
|   interrupts:
 | |
|     maxItems: 14
 | |
| 
 | |
|   interrupt-names:
 | |
|     items:
 | |
|       - const: cdc_spk_cnp_int
 | |
|       - const: cdc_spk_clip_int
 | |
|       - const: cdc_spk_ocp_int
 | |
|       - const: mbhc_ins_rem_det1
 | |
|       - const: mbhc_but_rel_det
 | |
|       - const: mbhc_but_press_det
 | |
|       - const: mbhc_ins_rem_det
 | |
|       - const: mbhc_switch_int
 | |
|       - const: cdc_ear_ocp_int
 | |
|       - const: cdc_hphr_ocp_int
 | |
|       - const: cdc_hphl_ocp_det
 | |
|       - const: cdc_ear_cnp_int
 | |
|       - const: cdc_hphr_cnp_int
 | |
|       - const: cdc_hphl_cnp_int
 | |
| 
 | |
|   vdd-cdc-io-supply:
 | |
|     description: 1.8V buck supply
 | |
| 
 | |
|   vdd-cdc-tx-rx-cx-supply:
 | |
|     description: 1.8V SIDO buck supply
 | |
| 
 | |
|   vdd-micbias-supply:
 | |
|     description: micbias supply
 | |
| 
 | |
|   qcom,mbhc-vthreshold-low:
 | |
|     $ref: /schemas/types.yaml#/definitions/uint32-array
 | |
|     description:
 | |
|       Array of 5 threshold voltages in mV for 5-button detection on
 | |
|       headset when MBHC is powered by an internal current source.
 | |
|     minItems: 5
 | |
|     maxItems: 5
 | |
| 
 | |
|   qcom,mbhc-vthreshold-high:
 | |
|     $ref: /schemas/types.yaml#/definitions/uint32-array
 | |
|     description:
 | |
|       Array of 5 threshold voltages in mV for 5-button detection on
 | |
|       headset when MBHC is powered from micbias.
 | |
|     minItems: 5
 | |
|     maxItems: 5
 | |
| 
 | |
|   qcom,micbias-lvl:
 | |
|     $ref: /schemas/types.yaml#/definitions/uint32
 | |
|     description:
 | |
|       Voltage (mV) for Mic Bias
 | |
| 
 | |
|   qcom,hphl-jack-type-normally-open:
 | |
|     type: boolean
 | |
|     description:
 | |
|       True if the HPHL pin on the jack is NO (Normally Open), false if it's
 | |
|       NC (Normally Closed).
 | |
| 
 | |
|   qcom,gnd-jack-type-normally-open:
 | |
|     type: boolean
 | |
|     description:
 | |
|       True if the GND pin on the jack is NO (Normally Open), false if it's
 | |
|       NC (Normally Closed).
 | |
| 
 | |
|   qcom,micbias1-ext-cap:
 | |
|     type: boolean
 | |
|     description:
 | |
|       True if micbias1 has an external capacitor.
 | |
| 
 | |
|   qcom,micbias2-ext-cap:
 | |
|     type: boolean
 | |
|     description:
 | |
|       True if micbias2 has an external capacitor.
 | |
| 
 | |
|   "#sound-dai-cells":
 | |
|     const: 1
 | |
| 
 | |
| required:
 | |
|   - compatible
 | |
|   - reg
 | |
| 
 | |
| additionalProperties: false
 | |
| 
 | |
| examples:
 | |
|   - |
 | |
|     #include <dt-bindings/interrupt-controller/irq.h>
 | |
|     #include <dt-bindings/spmi/spmi.h>
 | |
| 
 | |
|     pmic@1 {
 | |
|       compatible = "qcom,pm8916", "qcom,spmi-pmic";
 | |
|       reg = <0x1 SPMI_USID>;
 | |
|       #address-cells = <1>;
 | |
|       #size-cells = <0>;
 | |
| 
 | |
|       audio-codec@f000 {
 | |
|         compatible = "qcom,pm8916-wcd-analog-codec";
 | |
|         reg = <0xf000>;
 | |
|         qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
 | |
|         qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
 | |
|         interrupt-parent = <&spmi_bus>;
 | |
|         interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
 | |
|               <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
 | |
|         interrupt-names = "cdc_spk_cnp_int",
 | |
|                           "cdc_spk_clip_int",
 | |
|                           "cdc_spk_ocp_int",
 | |
|                           "mbhc_ins_rem_det1",
 | |
|                           "mbhc_but_rel_det",
 | |
|                           "mbhc_but_press_det",
 | |
|                           "mbhc_ins_rem_det",
 | |
|                           "mbhc_switch_int",
 | |
|                           "cdc_ear_ocp_int",
 | |
|                           "cdc_hphr_ocp_int",
 | |
|                           "cdc_hphl_ocp_det",
 | |
|                           "cdc_ear_cnp_int",
 | |
|                           "cdc_hphr_cnp_int",
 | |
|                           "cdc_hphl_cnp_int";
 | |
|         vdd-cdc-io-supply = <&pm8916_l5>;
 | |
|         vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
 | |
|         vdd-micbias-supply = <&pm8916_l13>;
 | |
|         #sound-dai-cells = <1>;
 | |
|       };
 | |
|     };    
 |