1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/dialog,da7219.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Dialog Semiconductor DA7219 Audio Codec 8 9maintainers: 10 - David Rau <David.Rau.opensource@dm.renesas.com> 11 12description: 13 The DA7219 is an ultra low-power audio codec with 14 in-built advanced accessory detection (AAD) for mobile 15 computing and accessory applications, which supports 16 sample rates up to 96 kHz at 24-bit resolution. 17 18properties: 19 compatible: 20 const: dlg,da7219 21 22 reg: 23 maxItems: 1 24 25 interrupts: 26 maxItems: 1 27 28 VDD-supply: 29 description: 30 VDD power supply for the device. 31 32 VDDMIC-supply: 33 description: 34 VDDMIC power supply for the device. 35 36 VDDIO-supply: 37 description: 38 VDDIO power supply for the device. 39 40 interrupt-names: 41 description: 42 Should be "wakeup" if interrupt is to be used to wake system, 43 otherwise "irq" should be used. 44 enum: 45 - wakeup 46 - irq 47 48 wakeup-source: 49 type: boolean 50 description: 51 Flag to indicate this device can wake system (suspend/resume). 52 53 "#clock-cells": 54 const: 1 55 56 clock-output-names: 57 minItems: 2 58 maxItems: 2 59 description: 60 Name given for DAI WCLK and BCLK outputs. 61 62 clocks: 63 maxItems: 1 64 description: 65 phandle and clock specifier for codec MCLK. 66 67 clock-names: 68 const: mclk 69 70 dlg,micbias-lvl: 71 enum: [1600, 1800, 2000, 2200, 2400, 2600] 72 description: 73 Voltage (mV) for Mic Bias. 74 $ref: /schemas/types.yaml#/definitions/uint32 75 76 dlg,mic-amp-in-sel: 77 enum: [diff, se_p, se_n] 78 description: 79 Mic input source type. 80 81 diff - Differential. 82 83 se_p - MIC_P. 84 Positive differential analog microphone input. 85 86 se_n - MIC_N. 87 Negative differential analog microphone input. 88 $ref: /schemas/types.yaml#/definitions/string 89 90 da7219_aad: 91 type: object 92 additionalProperties: false 93 description: 94 Configuration of advanced accessory detection. 95 properties: 96 dlg,micbias-pulse-lvl: 97 enum: [2800, 2900] 98 description: 99 Mic bias higher voltage pulse level (mV). 100 $ref: /schemas/types.yaml#/definitions/uint32 101 102 dlg,micbias-pulse-time: 103 description: 104 Mic bias higher voltage pulse duration (ms). 105 $ref: /schemas/types.yaml#/definitions/uint32 106 minimum: 0 107 108 dlg,btn-cfg: 109 enum: [2, 5, 10, 50, 100, 200, 500] 110 description: 111 Periodic button press measurements for 4-pole jack (ms). 112 $ref: /schemas/types.yaml#/definitions/uint32 113 114 dlg,mic-det-thr: 115 enum: [200, 500, 750, 1000] 116 description: 117 Impedance threshold for mic detection measurement (Ohms). 118 $ref: /schemas/types.yaml#/definitions/uint32 119 120 dlg,jack-ins-deb: 121 enum: [5, 10, 20, 50, 100, 200, 500, 1000] 122 description: 123 Debounce time for jack insertion (ms). 124 $ref: /schemas/types.yaml#/definitions/uint32 125 126 dlg,jack-ins-det-pty: 127 enum: [low, high] 128 description: 129 Polarity for jack insertion detection. 130 $ref: /schemas/types.yaml#/definitions/string 131 132 dlg,jack-det-rate: 133 enum: ["32_64", "64_128", "128_256", "256_512"] 134 description: 135 Jack type (3/4 pole) detection latency (ms). 136 $ref: /schemas/types.yaml#/definitions/string 137 138 dlg,jack-rem-deb: 139 enum: [1, 5, 10, 20] 140 description: 141 Debounce time for jack removal (ms). 142 $ref: /schemas/types.yaml#/definitions/uint32 143 144 dlg,a-d-btn-thr: 145 description: 146 Impedance threshold between buttons A and D. 147 $ref: /schemas/types.yaml#/definitions/uint32 148 minimum: 0 149 maximum: 255 150 151 dlg,d-b-btn-thr: 152 description: 153 Impedance threshold between buttons D and B. 154 $ref: /schemas/types.yaml#/definitions/uint32 155 minimum: 0 156 maximum: 255 157 158 dlg,b-c-btn-thr: 159 description: 160 Impedance threshold between buttons B and C. 161 $ref: /schemas/types.yaml#/definitions/uint32 162 minimum: 0 163 maximum: 255 164 165 dlg,c-mic-btn-thr: 166 description: 167 Impedance threshold between button C and Mic. 168 $ref: /schemas/types.yaml#/definitions/uint32 169 minimum: 0 170 maximum: 255 171 172 dlg,btn-avg: 173 enum: [1, 2, 4, 8] 174 description: 175 Number of 8-bit readings for averaged button measurement. 176 $ref: /schemas/types.yaml#/definitions/uint32 177 178 dlg,adc-1bit-rpt: 179 enum: [1, 2, 4, 8] 180 description: 181 Repeat count for 1-bit button measurement. 182 $ref: /schemas/types.yaml#/definitions/uint32 183 184required: 185 - compatible 186 - reg 187 - interrupts 188 - VDD-supply 189 - VDDMIC-supply 190 - VDDIO-supply 191 192additionalProperties: false 193 194examples: 195 - | 196 #include <dt-bindings/interrupt-controller/irq.h> 197 i2c { 198 #address-cells = <1>; 199 #size-cells = <0>; 200 201 codec: da7219@1a { 202 compatible = "dlg,da7219"; 203 reg = <0x1a>; 204 205 interrupt-parent = <&gpio6>; 206 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 207 208 VDD-supply = <&vdd_reg>; 209 VDDMIC-supply = <&vddmic_reg>; 210 VDDIO-supply = <&vddio_reg>; 211 212 #clock-cells = <1>; 213 clock-output-names = "da7219-dai-wclk", "da7219-dai-bclk"; 214 215 clocks = <&clks 201>; 216 clock-names = "mclk"; 217 218 dlg,micbias-lvl = <2600>; 219 dlg,mic-amp-in-sel = "diff"; 220 221 da7219_aad { 222 dlg,btn-cfg = <50>; 223 dlg,mic-det-thr = <500>; 224 dlg,jack-ins-deb = <20>; 225 dlg,jack-ins-det-pty = "low"; 226 dlg,jack-det-rate = "32_64"; 227 dlg,jack-rem-deb = <1>; 228 229 dlg,a-d-btn-thr = <0xa>; 230 dlg,d-b-btn-thr = <0x16>; 231 dlg,b-c-btn-thr = <0x21>; 232 dlg,c-mic-btn-thr = <0x3E>; 233 234 dlg,btn-avg = <4>; 235 dlg,adc-1bit-rpt = <1>; 236 }; 237 }; 238 }; 239