1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/nuvoton,nau8824.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NAU8824 audio CODEC 8 9maintainers: 10 - John Hsu <KCHSU0@nuvoton.com> 11 12allOf: 13 - $ref: dai-common.yaml# 14 15properties: 16 compatible: 17 enum: 18 - nuvoton,nau8824 19 20 reg: 21 maxItems: 1 22 23 '#sound-dai-cells': 24 const: 0 25 26 interrupts: 27 maxItems: 1 28 29 nuvoton,jkdet-polarity: 30 $ref: /schemas/types.yaml#/definitions/uint32 31 description: 32 JKDET pin polarity. 33 enum: 34 - 0 # active high 35 - 1 # active low 36 default: 1 37 38 nuvoton,vref-impedance: 39 $ref: /schemas/types.yaml#/definitions/uint32 40 description: 41 VREF Impedance selection. 42 enum: 43 - 0 # Open 44 - 1 # 25 kOhm 45 - 2 # 125 kOhm 46 - 3 # 2.5 kOhm 47 default: 2 48 49 nuvoton,micbias-voltage: 50 $ref: /schemas/types.yaml#/definitions/uint32 51 description: 52 Micbias voltage level. 53 enum: 54 - 0 # VDDA 55 - 1 # VDDA 56 - 2 # VDDA * 1.1 57 - 3 # VDDA * 1.2 58 - 4 # VDDA * 1.3 59 - 5 # VDDA * 1.4 60 - 6 # VDDA * 1.53 61 - 7 # VDDA * 1.53 62 default: 6 63 64 nuvoton,sar-threshold-num: 65 $ref: /schemas/types.yaml#/definitions/uint32 66 description: 67 Number of buttons supported. 68 minimum: 1 69 maximum: 8 70 default: 4 71 72 nuvoton,sar-threshold: 73 $ref: /schemas/types.yaml#/definitions/uint32-array 74 description: 75 Impedance threshold for each button. Array that contains up to 8 buttons 76 configuration. SAR value is calculated as 77 SAR = 255 * MICBIAS / SAR_VOLTAGE * R / (2000 + R) where MICBIAS is 78 configured by 'nuvoton,micbias-voltage', SAR_VOLTAGE is configured by 79 'nuvoton,sar-voltage', R - button impedance. 80 Refer datasheet section 10.2 for more information about threshold 81 calculation. 82 minItems: 1 83 maxItems: 8 84 items: 85 minimum: 0 86 maximum: 255 87 88 nuvoton,sar-hysteresis: 89 $ref: /schemas/types.yaml#/definitions/uint32 90 description: 91 Button impedance measurement hysteresis. 92 default: 0 93 94 nuvoton,sar-voltage: 95 $ref: /schemas/types.yaml#/definitions/uint32 96 description: 97 Reference voltage for button impedance measurement. 98 enum: 99 - 0 # VDDA 100 - 1 # VDDA 101 - 2 # VDDA * 1.1 102 - 3 # VDDA * 1.2 103 - 4 # VDDA * 1.3 104 - 5 # VDDA * 1.4 105 - 6 # VDDA * 1.53 106 - 7 # VDDA * 1.53 107 default: 6 108 109 nuvoton,sar-compare-time: 110 $ref: /schemas/types.yaml#/definitions/uint32 111 description: 112 SAR compare time. 113 enum: 114 - 0 # 500ns 115 - 1 # 1us 116 - 2 # 2us 117 - 3 # 4us 118 default: 1 119 120 nuvoton,sar-sampling-time: 121 $ref: /schemas/types.yaml#/definitions/uint32 122 description: 123 SAR sampling time. 124 enum: 125 - 0 # 2us 126 - 1 # 4us 127 - 2 # 8us 128 - 3 # 16us 129 default: 1 130 131 nuvoton,short-key-debounce: 132 $ref: /schemas/types.yaml#/definitions/uint32 133 description: 134 Button short key press debounce time. 135 enum: 136 - 0 # 30 ms 137 - 1 # 50 ms 138 - 2 # 100 ms 139 default: 0 140 141 nuvoton,jack-eject-debounce: 142 $ref: /schemas/types.yaml#/definitions/uint32 143 description: 144 Jack ejection debounce time. 145 enum: 146 - 0 # 0 ms 147 - 1 # 1 ms 148 - 2 # 10 ms 149 default: 1 150 151required: 152 - compatible 153 - reg 154 155unevaluatedProperties: false 156 157examples: 158 - | 159 #include <dt-bindings/gpio/gpio.h> 160 #include <dt-bindings/interrupt-controller/irq.h> 161 i2c { 162 #address-cells = <1>; 163 #size-cells = <0>; 164 codec@1a { 165 #sound-dai-cells = <0>; 166 compatible = "nuvoton,nau8824"; 167 reg = <0x1a>; 168 interrupt-parent = <&gpio>; 169 interrupts = <38 IRQ_TYPE_LEVEL_LOW>; 170 nuvoton,vref-impedance = <2>; 171 nuvoton,micbias-voltage = <6>; 172 nuvoton,sar-threshold-num = <4>; 173 // Setup 4 buttons impedance according to Android specification 174 nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>; 175 nuvoton,sar-hysteresis = <0>; 176 nuvoton,sar-voltage = <6>; 177 nuvoton,sar-compare-time = <1>; 178 nuvoton,sar-sampling-time = <1>; 179 nuvoton,short-key-debounce = <0>; 180 nuvoton,jack-eject-debounce = <1>; 181 }; 182 }; 183