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,nau8821.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NAU88L21 audio codec 8 9maintainers: 10 - Seven Lee <wtli@nuvoton.com> 11 12allOf: 13 - $ref: dai-common.yaml# 14 15properties: 16 compatible: 17 const: nuvoton,nau8821 18 19 reg: 20 maxItems: 1 21 22 interrupts: 23 maxItems: 1 24 25 nuvoton,jkdet-enable: 26 description: Enable jack detection via JKDET pin. 27 type: boolean 28 29 nuvoton,jkdet-pull-enable: 30 description: Enable JKDET pin pull. If set - pin pull enabled, 31 otherwise pin in high impedance state. 32 type: boolean 33 34 nuvoton,jkdet-pull-up: 35 description: Pull-up JKDET pin. If set then JKDET pin is pull up, 36 otherwise pull down. 37 type: boolean 38 39 nuvoton,key-enable: 40 description: handles key press detection. 41 type: boolean 42 43 nuvoton,jkdet-polarity: 44 description: JKDET pin polarity. 45 $ref: /schemas/types.yaml#/definitions/uint32 46 enum: 47 - 0 # active high 48 - 1 # active low 49 default: 1 50 51 nuvoton,micbias-voltage: 52 description: MICBIAS output level select. 53 $ref: /schemas/types.yaml#/definitions/uint32 54 enum: 55 - 0 # VDDA 56 - 1 # VDDA * 1 57 - 2 # VDDA * 1.1 58 - 3 # VDDA * 1.2 59 - 4 # VDDA * 1.3 60 - 5 # VDDA * 1.4 61 - 6 # VDDA * 1.53 62 - 7 # VDDA * 1.53 63 default: 6 64 65 nuvoton,vref-impedance: 66 description: VMID Tie-off impedance select. 67 $ref: /schemas/types.yaml#/definitions/uint32 68 enum: 69 - 0 # open 70 - 1 # 25KOhms 71 - 2 # 125KOhms 72 - 3 # 2.5KOhms 73 default: 2 74 75 nuvoton,jack-insert-debounce: 76 description: number from 0 to 7 that sets debounce time to 2^(n+2)ms. 77 $ref: /schemas/types.yaml#/definitions/uint32 78 maximum: 7 79 default: 7 80 81 nuvoton,jack-eject-debounce: 82 description: number from 0 to 7 that sets debounce time to 2^(n+2)ms. 83 $ref: /schemas/types.yaml#/definitions/uint32 84 maximum: 7 85 default: 0 86 87 nuvoton,dmic-clk-threshold: 88 description: DMIC clock speed expected value. Unit is Hz. 89 $ref: /schemas/types.yaml#/definitions/uint32 90 default: 3072000 91 92 nuvoton,dmic-slew-rate: 93 description: The range 0 to 7 represents the speed of DMIC slew rate. 94 The lowest value 0 means the slowest rate and the highest value 95 7 means the fastest rate. 96 $ref: /schemas/types.yaml#/definitions/uint32 97 maximum: 7 98 default: 0 99 100 nuvoton,left-input-single-end: 101 description: Enable left input with single-ended settings if set. 102 For the headset mic application, the single-ended control is 103 just limited to the left adc for design demand. 104 type: boolean 105 106 nuvoton,adc-delay-ms: 107 description: Delay (in ms) to make input path stable and avoid pop noise. 108 minimum: 125 109 maximum: 500 110 default: 125 111 112 '#sound-dai-cells': 113 const: 0 114 115required: 116 - compatible 117 - reg 118 119unevaluatedProperties: false 120 121examples: 122 - | 123 #include <dt-bindings/gpio/gpio.h> 124 #include <dt-bindings/interrupt-controller/irq.h> 125 i2c { 126 #address-cells = <1>; 127 #size-cells = <0>; 128 codec@1b { 129 compatible = "nuvoton,nau8821"; 130 reg = <0x1b>; 131 interrupt-parent = <&gpio>; 132 interrupts = <23 IRQ_TYPE_LEVEL_LOW>; 133 nuvoton,jkdet-enable; 134 nuvoton,jkdet-pull-enable; 135 nuvoton,jkdet-pull-up; 136 nuvoton,key-enable; 137 nuvoton,left-input-single-end; 138 nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>; 139 nuvoton,micbias-voltage = <6>; 140 nuvoton,vref-impedance = <2>; 141 nuvoton,jack-insert-debounce = <7>; 142 nuvoton,jack-eject-debounce = <0>; 143 nuvoton,dmic-clk-threshold = <3072000>; 144 nuvoton,dmic-slew-rate = <0>; 145 nuvoton,adc-delay-ms = <125>; 146 #sound-dai-cells = <0>; 147 }; 148 }; 149