Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: arizona: Add registers for ADC microphone detection

The newer devices support using a software comparison to determine
whether a 3/4 pole jack is present. Add the registers necessary for
this.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>

authored by

Charles Keepax and committed by
Chanwoo Choi
e76e397a 1f93e4a9

+10 -3
+2
drivers/mfd/wm5110-tables.c
··· 1811 1811 case ARIZONA_MIC_DETECT_1: 1812 1812 case ARIZONA_MIC_DETECT_2: 1813 1813 case ARIZONA_MIC_DETECT_3: 1814 + case ARIZONA_MIC_DETECT_4: 1814 1815 case ARIZONA_MIC_DETECT_LEVEL_1: 1815 1816 case ARIZONA_MIC_DETECT_LEVEL_2: 1816 1817 case ARIZONA_MIC_DETECT_LEVEL_3: ··· 2848 2847 case ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS: 2849 2848 case ARIZONA_ASYNC_SAMPLE_RATE_2_STATUS: 2850 2849 case ARIZONA_MIC_DETECT_3: 2850 + case ARIZONA_MIC_DETECT_4: 2851 2851 case ARIZONA_HP_CTRL_1L: 2852 2852 case ARIZONA_HP_CTRL_1R: 2853 2853 case ARIZONA_HEADPHONE_DETECT_2:
+2
include/dt-bindings/mfd/arizona.h
··· 107 107 #define ARIZONA_ACCDET_MODE_MIC 0 108 108 #define ARIZONA_ACCDET_MODE_HPL 1 109 109 #define ARIZONA_ACCDET_MODE_HPR 2 110 + #define ARIZONA_ACCDET_MODE_HPM 4 111 + #define ARIZONA_ACCDET_MODE_ADC 7 110 112 111 113 #endif
+3
include/linux/mfd/arizona/pdata.h
··· 124 124 /** Channel to use for headphone detection */ 125 125 unsigned int hpdet_channel; 126 126 127 + /** Use software comparison to determine mic presence */ 128 + bool micd_software_compare; 129 + 127 130 /** Extra debounce timeout used during initial mic detection (ms) */ 128 131 unsigned int micd_detect_debounce; 129 132
+3 -3
include/linux/mfd/arizona/registers.h
··· 2359 2359 #define ARIZONA_ACCDET_SRC_MASK 0x2000 /* ACCDET_SRC */ 2360 2360 #define ARIZONA_ACCDET_SRC_SHIFT 13 /* ACCDET_SRC */ 2361 2361 #define ARIZONA_ACCDET_SRC_WIDTH 1 /* ACCDET_SRC */ 2362 - #define ARIZONA_ACCDET_MODE_MASK 0x0003 /* ACCDET_MODE - [1:0] */ 2363 - #define ARIZONA_ACCDET_MODE_SHIFT 0 /* ACCDET_MODE - [1:0] */ 2364 - #define ARIZONA_ACCDET_MODE_WIDTH 2 /* ACCDET_MODE - [1:0] */ 2362 + #define ARIZONA_ACCDET_MODE_MASK 0x0007 /* ACCDET_MODE - [2:0] */ 2363 + #define ARIZONA_ACCDET_MODE_SHIFT 0 /* ACCDET_MODE - [2:0] */ 2364 + #define ARIZONA_ACCDET_MODE_WIDTH 3 /* ACCDET_MODE - [2:0] */ 2365 2365 2366 2366 /* 2367 2367 * R667 (0x29B) - Headphone Detect 1