18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) ST-Ericsson SA 2012
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Author: Ola Lilja <ola.o.lilja@stericsson.com>,
68c2ecf20Sopenharmony_ci *         Kristoffer Karlsson <kristoffer.karlsson@stericsson.com>,
78c2ecf20Sopenharmony_ci *         Roger Nilsson <roger.xr.nilsson@stericsson.com>,
88c2ecf20Sopenharmony_ci *         for ST-Ericsson.
98c2ecf20Sopenharmony_ci *
108c2ecf20Sopenharmony_ci *         Based on the early work done by:
118c2ecf20Sopenharmony_ci *         Mikko J. Lehto <mikko.lehto@symbio.com>,
128c2ecf20Sopenharmony_ci *         Mikko Sarmanne <mikko.sarmanne@symbio.com>,
138c2ecf20Sopenharmony_ci *         for ST-Ericsson.
148c2ecf20Sopenharmony_ci *
158c2ecf20Sopenharmony_ci * License terms:
168c2ecf20Sopenharmony_ci */
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci#ifndef AB8500_CODEC_REGISTERS_H
198c2ecf20Sopenharmony_ci#define AB8500_CODEC_REGISTERS_H
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci#define AB8500_SUPPORTED_RATE			(SNDRV_PCM_RATE_48000)
228c2ecf20Sopenharmony_ci#define AB8500_SUPPORTED_FMT			(SNDRV_PCM_FMTBIT_S16_LE)
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci/* AB8500 interface slot offset definitions */
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#define AB8500_AD_DATA0_OFFSET	0
278c2ecf20Sopenharmony_ci#define AB8500_DA_DATA0_OFFSET	8
288c2ecf20Sopenharmony_ci#define AB8500_AD_DATA1_OFFSET	16
298c2ecf20Sopenharmony_ci#define AB8500_DA_DATA1_OFFSET	24
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci/* AB8500 audio bank (0x0d) register definitions */
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci#define AB8500_POWERUP				0x00
348c2ecf20Sopenharmony_ci#define AB8500_AUDSWRESET			0x01
358c2ecf20Sopenharmony_ci#define AB8500_ADPATHENA			0x02
368c2ecf20Sopenharmony_ci#define AB8500_DAPATHENA			0x03
378c2ecf20Sopenharmony_ci#define AB8500_ANACONF1				0x04
388c2ecf20Sopenharmony_ci#define AB8500_ANACONF2				0x05
398c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF			0x06
408c2ecf20Sopenharmony_ci#define AB8500_ANACONF3				0x07
418c2ecf20Sopenharmony_ci#define AB8500_ANACONF4				0x08
428c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF			0x09
438c2ecf20Sopenharmony_ci#define AB8500_MUTECONF				0x0A
448c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF			0x0B
458c2ecf20Sopenharmony_ci#define AB8500_ANACONF5				0x0C
468c2ecf20Sopenharmony_ci#define AB8500_ENVCPCONF			0x0D
478c2ecf20Sopenharmony_ci#define AB8500_SIGENVCONF			0x0E
488c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1			0x0F
498c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF2			0x10
508c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF3			0x11
518c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF4			0x12
528c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF5			0x13
538c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN1				0x14
548c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN2				0x15
558c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN3				0x16
568c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN4				0x17
578c2ecf20Sopenharmony_ci#define AB8500_DIGLINHSLGAIN			0x18
588c2ecf20Sopenharmony_ci#define AB8500_DIGLINHSRGAIN			0x19
598c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF			0x1A
608c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1			0x1B
618c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2			0x1C
628c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3			0x1D
638c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4			0x1E
648c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL1			0x1F
658c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL2			0x20
668c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL3			0x21
678c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL4			0x22
688c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL5			0x23
698c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL6			0x24
708c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL7			0x25
718c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL8			0x26
728c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL9			0x27
738c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL10			0x28
748c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL11			0x29
758c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL12			0x2A
768c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL13			0x2B
778c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL14			0x2C
788c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL15			0x2D
798c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL16			0x2E
808c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSEL(slot)			(AB8500_ADSLOTSEL1 + (slot >> 1))
818c2ecf20Sopenharmony_ci#define AB8500_ADSLOTHIZCTRL1			0x2F
828c2ecf20Sopenharmony_ci#define AB8500_ADSLOTHIZCTRL2			0x30
838c2ecf20Sopenharmony_ci#define AB8500_ADSLOTHIZCTRL3			0x31
848c2ecf20Sopenharmony_ci#define AB8500_ADSLOTHIZCTRL4			0x32
858c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF1			0x33
868c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF2			0x34
878c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF3			0x35
888c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF4			0x36
898c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF5			0x37
908c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF6			0x38
918c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF7			0x39
928c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF8			0x3A
938c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF1			0x3B
948c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2			0x3C
958c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF3			0x3D
968c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF			0x3E
978c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1			0x3F
988c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF2			0x40
998c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAIN1			0x41
1008c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAIN2			0x42
1018c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAIN3			0x43
1028c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAIN4			0x44
1038c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAIN5			0x45
1048c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAIN6			0x46
1058c2ecf20Sopenharmony_ci#define AB8500_DADIGGAIN1			0x47
1068c2ecf20Sopenharmony_ci#define AB8500_DADIGGAIN2			0x48
1078c2ecf20Sopenharmony_ci#define AB8500_DADIGGAIN3			0x49
1088c2ecf20Sopenharmony_ci#define AB8500_DADIGGAIN4			0x4A
1098c2ecf20Sopenharmony_ci#define AB8500_DADIGGAIN5			0x4B
1108c2ecf20Sopenharmony_ci#define AB8500_DADIGGAIN6			0x4C
1118c2ecf20Sopenharmony_ci#define AB8500_ADDIGLOOPGAIN1			0x4D
1128c2ecf20Sopenharmony_ci#define AB8500_ADDIGLOOPGAIN2			0x4E
1138c2ecf20Sopenharmony_ci#define AB8500_HSLEARDIGGAIN			0x4F
1148c2ecf20Sopenharmony_ci#define AB8500_HSRDIGGAIN			0x50
1158c2ecf20Sopenharmony_ci#define AB8500_SIDFIRGAIN1			0x51
1168c2ecf20Sopenharmony_ci#define AB8500_SIDFIRGAIN2			0x52
1178c2ecf20Sopenharmony_ci#define AB8500_ANCCONF1				0x53
1188c2ecf20Sopenharmony_ci#define AB8500_ANCCONF2				0x54
1198c2ecf20Sopenharmony_ci#define AB8500_ANCCONF3				0x55
1208c2ecf20Sopenharmony_ci#define AB8500_ANCCONF4				0x56
1218c2ecf20Sopenharmony_ci#define AB8500_ANCCONF5				0x57
1228c2ecf20Sopenharmony_ci#define AB8500_ANCCONF6				0x58
1238c2ecf20Sopenharmony_ci#define AB8500_ANCCONF7				0x59
1248c2ecf20Sopenharmony_ci#define AB8500_ANCCONF8				0x5A
1258c2ecf20Sopenharmony_ci#define AB8500_ANCCONF9				0x5B
1268c2ecf20Sopenharmony_ci#define AB8500_ANCCONF10			0x5C
1278c2ecf20Sopenharmony_ci#define AB8500_ANCCONF11			0x5D
1288c2ecf20Sopenharmony_ci#define AB8500_ANCCONF12			0x5E
1298c2ecf20Sopenharmony_ci#define AB8500_ANCCONF13			0x5F
1308c2ecf20Sopenharmony_ci#define AB8500_ANCCONF14			0x60
1318c2ecf20Sopenharmony_ci#define AB8500_SIDFIRADR			0x61
1328c2ecf20Sopenharmony_ci#define AB8500_SIDFIRCOEF1			0x62
1338c2ecf20Sopenharmony_ci#define AB8500_SIDFIRCOEF2			0x63
1348c2ecf20Sopenharmony_ci#define AB8500_SIDFIRCONF			0x64
1358c2ecf20Sopenharmony_ci#define AB8500_AUDINTMASK1			0x65
1368c2ecf20Sopenharmony_ci#define AB8500_AUDINTSOURCE1			0x66
1378c2ecf20Sopenharmony_ci#define AB8500_AUDINTMASK2			0x67
1388c2ecf20Sopenharmony_ci#define AB8500_AUDINTSOURCE2			0x68
1398c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF1			0x69
1408c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF2			0x6A
1418c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF3			0x6B
1428c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF4			0x6C
1438c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF5			0x6D
1448c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF6			0x6E
1458c2ecf20Sopenharmony_ci#define AB8500_AUDREV				0x6F
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci#define AB8500_FIRST_REG			AB8500_POWERUP
1488c2ecf20Sopenharmony_ci#define AB8500_LAST_REG				AB8500_AUDREV
1498c2ecf20Sopenharmony_ci#define AB8500_CACHEREGNUM			(AB8500_LAST_REG + 1)
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci#define AB8500_MASK_ALL				0xFF
1528c2ecf20Sopenharmony_ci#define AB8500_MASK_SLOT(slot)			((slot & 1) ? 0xF0 : 0x0F)
1538c2ecf20Sopenharmony_ci#define AB8500_MASK_NONE			0x00
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci/* AB8500_POWERUP */
1568c2ecf20Sopenharmony_ci#define AB8500_POWERUP_POWERUP			7
1578c2ecf20Sopenharmony_ci#define AB8500_POWERUP_ENANA			3
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci/* AB8500_AUDSWRESET */
1608c2ecf20Sopenharmony_ci#define AB8500_AUDSWRESET_SWRESET		7
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci/* AB8500_ADPATHENA */
1638c2ecf20Sopenharmony_ci#define AB8500_ADPATHENA_ENAD12			7
1648c2ecf20Sopenharmony_ci#define AB8500_ADPATHENA_ENAD34			5
1658c2ecf20Sopenharmony_ci#define AB8500_ADPATHENA_ENAD5768		3
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci/* AB8500_DAPATHENA */
1688c2ecf20Sopenharmony_ci#define AB8500_DAPATHENA_ENDA1			7
1698c2ecf20Sopenharmony_ci#define AB8500_DAPATHENA_ENDA2			6
1708c2ecf20Sopenharmony_ci#define AB8500_DAPATHENA_ENDA3			5
1718c2ecf20Sopenharmony_ci#define AB8500_DAPATHENA_ENDA4			4
1728c2ecf20Sopenharmony_ci#define AB8500_DAPATHENA_ENDA5			3
1738c2ecf20Sopenharmony_ci#define AB8500_DAPATHENA_ENDA6			2
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci/* AB8500_ANACONF1 */
1768c2ecf20Sopenharmony_ci#define AB8500_ANACONF1_HSLOWPOW		7
1778c2ecf20Sopenharmony_ci#define AB8500_ANACONF1_DACLOWPOW1		6
1788c2ecf20Sopenharmony_ci#define AB8500_ANACONF1_DACLOWPOW0		5
1798c2ecf20Sopenharmony_ci#define AB8500_ANACONF1_EARDACLOWPOW		4
1808c2ecf20Sopenharmony_ci#define AB8500_ANACONF1_EARSELCM		2
1818c2ecf20Sopenharmony_ci#define AB8500_ANACONF1_HSHPEN			1
1828c2ecf20Sopenharmony_ci#define AB8500_ANACONF1_EARDRVLOWPOW		0
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci/* AB8500_ANACONF2 */
1858c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_ENMIC1			7
1868c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_ENMIC2			6
1878c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_ENLINL			5
1888c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_ENLINR			4
1898c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_MUTMIC1			3
1908c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_MUTMIC2			2
1918c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_MUTLINL			1
1928c2ecf20Sopenharmony_ci#define AB8500_ANACONF2_MUTLINR			0
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci/* AB8500_DIGMICCONF */
1958c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF_ENDMIC1		7
1968c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF_ENDMIC2		6
1978c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF_ENDMIC3		5
1988c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF_ENDMIC4		4
1998c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF_ENDMIC5		3
2008c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF_ENDMIC6		2
2018c2ecf20Sopenharmony_ci#define AB8500_DIGMICCONF_HSFADSPEED		0
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci/* AB8500_ANACONF3 */
2048c2ecf20Sopenharmony_ci#define AB8500_ANACONF3_MIC1SEL			7
2058c2ecf20Sopenharmony_ci#define AB8500_ANACONF3_LINRSEL			6
2068c2ecf20Sopenharmony_ci#define AB8500_ANACONF3_ENDRVHSL		5
2078c2ecf20Sopenharmony_ci#define AB8500_ANACONF3_ENDRVHSR		4
2088c2ecf20Sopenharmony_ci#define AB8500_ANACONF3_ENADCMIC		2
2098c2ecf20Sopenharmony_ci#define AB8500_ANACONF3_ENADCLINL		1
2108c2ecf20Sopenharmony_ci#define AB8500_ANACONF3_ENADCLINR		0
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci/* AB8500_ANACONF4 */
2138c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_DISPDVSS		7
2148c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_ENEAR			6
2158c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_ENHSL			5
2168c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_ENHSR			4
2178c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_ENHFL			3
2188c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_ENHFR			2
2198c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_ENVIB1			1
2208c2ecf20Sopenharmony_ci#define AB8500_ANACONF4_ENVIB2			0
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci/* AB8500_DAPATHCONF */
2238c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF_ENDACEAR		6
2248c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF_ENDACHSL		5
2258c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF_ENDACHSR		4
2268c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF_ENDACHFL		3
2278c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF_ENDACHFR		2
2288c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF_ENDACVIB1		1
2298c2ecf20Sopenharmony_ci#define AB8500_DAPATHCONF_ENDACVIB2		0
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ci/* AB8500_MUTECONF */
2328c2ecf20Sopenharmony_ci#define AB8500_MUTECONF_MUTEAR			6
2338c2ecf20Sopenharmony_ci#define AB8500_MUTECONF_MUTHSL			5
2348c2ecf20Sopenharmony_ci#define AB8500_MUTECONF_MUTHSR			4
2358c2ecf20Sopenharmony_ci#define AB8500_MUTECONF_MUTDACEAR		2
2368c2ecf20Sopenharmony_ci#define AB8500_MUTECONF_MUTDACHSL		1
2378c2ecf20Sopenharmony_ci#define AB8500_MUTECONF_MUTDACHSR		0
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci/* AB8500_SHORTCIRCONF */
2408c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF_ENSHORTPWD		7
2418c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF_EARSHORTDIS		6
2428c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF_HSSHORTDIS		5
2438c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF_HSPULLDEN		4
2448c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF_HSOSCEN		2
2458c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF_HSFADDIS		1
2468c2ecf20Sopenharmony_ci#define AB8500_SHORTCIRCONF_HSZCDDIS		0
2478c2ecf20Sopenharmony_ci/* Zero cross should be disabled */
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ci/* AB8500_ANACONF5 */
2508c2ecf20Sopenharmony_ci#define AB8500_ANACONF5_ENCPHS			7
2518c2ecf20Sopenharmony_ci#define AB8500_ANACONF5_HSLDACTOLOL		5
2528c2ecf20Sopenharmony_ci#define AB8500_ANACONF5_HSRDACTOLOR		4
2538c2ecf20Sopenharmony_ci#define AB8500_ANACONF5_ENLOL			3
2548c2ecf20Sopenharmony_ci#define AB8500_ANACONF5_ENLOR			2
2558c2ecf20Sopenharmony_ci#define AB8500_ANACONF5_HSAUTOEN		0
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ci/* AB8500_ENVCPCONF */
2588c2ecf20Sopenharmony_ci#define AB8500_ENVCPCONF_ENVDETHTHRE		4
2598c2ecf20Sopenharmony_ci#define AB8500_ENVCPCONF_ENVDETLTHRE		0
2608c2ecf20Sopenharmony_ci#define AB8500_ENVCPCONF_ENVDETHTHRE_MAX	0x0F
2618c2ecf20Sopenharmony_ci#define AB8500_ENVCPCONF_ENVDETLTHRE_MAX	0x0F
2628c2ecf20Sopenharmony_ci
2638c2ecf20Sopenharmony_ci/* AB8500_SIGENVCONF */
2648c2ecf20Sopenharmony_ci#define AB8500_SIGENVCONF_CPLVEN		5
2658c2ecf20Sopenharmony_ci#define AB8500_SIGENVCONF_ENVDETCPEN		4
2668c2ecf20Sopenharmony_ci#define AB8500_SIGENVCONF_ENVDETTIME		0
2678c2ecf20Sopenharmony_ci#define AB8500_SIGENVCONF_ENVDETTIME_MAX	0x0F
2688c2ecf20Sopenharmony_ci
2698c2ecf20Sopenharmony_ci/* AB8500_PWMGENCONF1 */
2708c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWMTOVIB1		7
2718c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWMTOVIB2		6
2728c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWM1CTRL		5
2738c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWM2CTRL		4
2748c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWM1NCTRL		3
2758c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWM1PCTRL		2
2768c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWM2NCTRL		1
2778c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONF1_PWM2PCTRL		0
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ci/* AB8500_PWMGENCONF2 */
2808c2ecf20Sopenharmony_ci/* AB8500_PWMGENCONF3 */
2818c2ecf20Sopenharmony_ci/* AB8500_PWMGENCONF4 */
2828c2ecf20Sopenharmony_ci/* AB8500_PWMGENCONF5 */
2838c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONFX_PWMVIBXPOL		7
2848c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONFX_PWMVIBXDUTCYC	0
2858c2ecf20Sopenharmony_ci#define AB8500_PWMGENCONFX_PWMVIBXDUTCYC_MAX	0x64
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ci/* AB8500_ANAGAIN1 */
2888c2ecf20Sopenharmony_ci/* AB8500_ANAGAIN2 */
2898c2ecf20Sopenharmony_ci#define AB8500_ANAGAINX_ENSEMICX		7
2908c2ecf20Sopenharmony_ci#define AB8500_ANAGAINX_LOWPOWMICX		6
2918c2ecf20Sopenharmony_ci#define AB8500_ANAGAINX_MICXGAIN		0
2928c2ecf20Sopenharmony_ci#define AB8500_ANAGAINX_MICXGAIN_MAX		0x1F
2938c2ecf20Sopenharmony_ci
2948c2ecf20Sopenharmony_ci/* AB8500_ANAGAIN3 */
2958c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN3_HSLGAIN			4
2968c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN3_HSRGAIN			0
2978c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN3_HSXGAIN_MAX		0x0F
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ci/* AB8500_ANAGAIN4 */
3008c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN4_LINLGAIN		4
3018c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN4_LINRGAIN		0
3028c2ecf20Sopenharmony_ci#define AB8500_ANAGAIN4_LINXGAIN_MAX		0x0F
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ci/* AB8500_DIGLINHSLGAIN */
3058c2ecf20Sopenharmony_ci/* AB8500_DIGLINHSRGAIN */
3068c2ecf20Sopenharmony_ci#define AB8500_DIGLINHSXGAIN_LINTOHSXGAIN	0
3078c2ecf20Sopenharmony_ci#define AB8500_DIGLINHSXGAIN_LINTOHSXGAIN_MAX	0x13
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci/* AB8500_ADFILTCONF */
3108c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD1NH			7
3118c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD2NH			6
3128c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD3NH			5
3138c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD4NH			4
3148c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD1VOICE		3
3158c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD2VOICE		2
3168c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD3VOICE		1
3178c2ecf20Sopenharmony_ci#define AB8500_ADFILTCONF_AD4VOICE		0
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ci/* AB8500_DIGIFCONF1 */
3208c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1_ENMASTGEN		7
3218c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1_IF1BITCLKOS1		6
3228c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1_IF1BITCLKOS0		5
3238c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1_ENFSBITCLK1		4
3248c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1_IF0BITCLKOS1		2
3258c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1_IF0BITCLKOS0		1
3268c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF1_ENFSBITCLK0		0
3278c2ecf20Sopenharmony_ci
3288c2ecf20Sopenharmony_ci/* AB8500_DIGIFCONF2 */
3298c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2_FSYNC0P		6
3308c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2_BITCLK0P		5
3318c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2_IF0DEL		4
3328c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2_IF0FORMAT1		3
3338c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2_IF0FORMAT0		2
3348c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2_IF0WL1		1
3358c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF2_IF0WL0		0
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ci/* AB8500_DIGIFCONF3 */
3388c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3_IF0DATOIF1AD		7
3398c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3_IF0CLKTOIF1CLK	6
3408c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3_IF1MASTER		5
3418c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3_IF1DATOIF0AD		3
3428c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3_IF1CLKTOIF0CLK	2
3438c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3_IF0MASTER		1
3448c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF3_IF0BFIFOEN		0
3458c2ecf20Sopenharmony_ci
3468c2ecf20Sopenharmony_ci/* AB8500_DIGIFCONF4 */
3478c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4_FSYNC1P		6
3488c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4_BITCLK1P		5
3498c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4_IF1DEL		4
3508c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4_IF1FORMAT1		3
3518c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4_IF1FORMAT0		2
3528c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4_IF1WL1		1
3538c2ecf20Sopenharmony_ci#define AB8500_DIGIFCONF4_IF1WL0		0
3548c2ecf20Sopenharmony_ci
3558c2ecf20Sopenharmony_ci/* AB8500_ADSLOTSELX */
3568c2ecf20Sopenharmony_ci#define AB8500_AD_OUT1	0x0
3578c2ecf20Sopenharmony_ci#define AB8500_AD_OUT2	0x1
3588c2ecf20Sopenharmony_ci#define AB8500_AD_OUT3	0x2
3598c2ecf20Sopenharmony_ci#define AB8500_AD_OUT4	0x3
3608c2ecf20Sopenharmony_ci#define AB8500_AD_OUT5	0x4
3618c2ecf20Sopenharmony_ci#define AB8500_AD_OUT6	0x5
3628c2ecf20Sopenharmony_ci#define AB8500_AD_OUT7	0x6
3638c2ecf20Sopenharmony_ci#define AB8500_AD_OUT8	0x7
3648c2ecf20Sopenharmony_ci#define AB8500_ZEROES	0x8
3658c2ecf20Sopenharmony_ci#define AB8500_TRISTATE	0xF
3668c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSELX_EVEN_SHIFT		0
3678c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSELX_ODD_SHIFT		4
3688c2ecf20Sopenharmony_ci#define AB8500_ADSLOTSELX_AD_OUT_TO_SLOT(out, slot)	\
3698c2ecf20Sopenharmony_ci	((out) << (((slot) & 1) ? \
3708c2ecf20Sopenharmony_ci	 AB8500_ADSLOTSELX_ODD_SHIFT : AB8500_ADSLOTSELX_EVEN_SHIFT))
3718c2ecf20Sopenharmony_ci
3728c2ecf20Sopenharmony_ci/* AB8500_ADSLOTHIZCTRL1 */
3738c2ecf20Sopenharmony_ci/* AB8500_ADSLOTHIZCTRL2 */
3748c2ecf20Sopenharmony_ci/* AB8500_ADSLOTHIZCTRL3 */
3758c2ecf20Sopenharmony_ci/* AB8500_ADSLOTHIZCTRL4 */
3768c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF1 */
3778c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF1_DA12VOICE		7
3788c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF1_SWAPDA12_34		6
3798c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF1_DAI7TOADO1		5
3808c2ecf20Sopenharmony_ci
3818c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF2 */
3828c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF2_DAI8TOADO2		5
3838c2ecf20Sopenharmony_ci
3848c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF3 */
3858c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF3_DA34VOICE		7
3868c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF3_DAI7TOADO3		5
3878c2ecf20Sopenharmony_ci
3888c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF4 */
3898c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF4_DAI8TOADO4		5
3908c2ecf20Sopenharmony_ci
3918c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF5 */
3928c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF5_DA56VOICE		7
3938c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF5_DAI7TOADO5		5
3948c2ecf20Sopenharmony_ci
3958c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF6 */
3968c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF6_DAI8TOADO6		5
3978c2ecf20Sopenharmony_ci
3988c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF7 */
3998c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF7_DAI8TOADO7		5
4008c2ecf20Sopenharmony_ci
4018c2ecf20Sopenharmony_ci/* AB8500_DASLOTCONF8 */
4028c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONF8_DAI7TOADO8		5
4038c2ecf20Sopenharmony_ci
4048c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONFX_SLTODAX_SHIFT	0
4058c2ecf20Sopenharmony_ci#define AB8500_DASLOTCONFX_SLTODAX_MASK		0x1F
4068c2ecf20Sopenharmony_ci
4078c2ecf20Sopenharmony_ci/* AB8500_CLASSDCONF1 */
4088c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF1_PARLHF		7
4098c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF1_PARLVIB		6
4108c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF1_VIB1SWAPEN		3
4118c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF1_VIB2SWAPEN		2
4128c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF1_HFLSWAPEN		1
4138c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF1_HFRSWAPEN		0
4148c2ecf20Sopenharmony_ci
4158c2ecf20Sopenharmony_ci/* AB8500_CLASSDCONF2 */
4168c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_FIRBYP3		7
4178c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_FIRBYP2		6
4188c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_FIRBYP1		5
4198c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_FIRBYP0		4
4208c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_HIGHVOLEN3		3
4218c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_HIGHVOLEN2		2
4228c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_HIGHVOLEN1		1
4238c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF2_HIGHVOLEN0		0
4248c2ecf20Sopenharmony_ci
4258c2ecf20Sopenharmony_ci/* AB8500_CLASSDCONF3 */
4268c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF3_DITHHPGAIN		4
4278c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF3_DITHHPGAIN_MAX	0x0A
4288c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF3_DITHWGAIN		0
4298c2ecf20Sopenharmony_ci#define AB8500_CLASSDCONF3_DITHWGAIN_MAX	0x0A
4308c2ecf20Sopenharmony_ci
4318c2ecf20Sopenharmony_ci/* AB8500_DMICFILTCONF */
4328c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_ANCINSEL		7
4338c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_DA3TOEAR		6
4348c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_DMIC1SINC3		5
4358c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_DMIC2SINC3		4
4368c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_DMIC3SINC3		3
4378c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_DMIC4SINC3		2
4388c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_DMIC5SINC3		1
4398c2ecf20Sopenharmony_ci#define AB8500_DMICFILTCONF_DMIC6SINC3		0
4408c2ecf20Sopenharmony_ci
4418c2ecf20Sopenharmony_ci/* AB8500_DIGMULTCONF1 */
4428c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_DATOHSLEN		7
4438c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_DATOHSREN		6
4448c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_AD1SEL		5
4458c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_AD2SEL		4
4468c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_AD3SEL		3
4478c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_AD5SEL		2
4488c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_AD6SEL		1
4498c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF1_ANCSEL		0
4508c2ecf20Sopenharmony_ci
4518c2ecf20Sopenharmony_ci/* AB8500_DIGMULTCONF2 */
4528c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF2_DATOHFREN		7
4538c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF2_DATOHFLEN		6
4548c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF2_HFRSEL		5
4558c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF2_HFLSEL		4
4568c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF2_FIRSID1SEL		2
4578c2ecf20Sopenharmony_ci#define AB8500_DIGMULTCONF2_FIRSID2SEL		0
4588c2ecf20Sopenharmony_ci
4598c2ecf20Sopenharmony_ci/* AB8500_ADDIGGAIN1 */
4608c2ecf20Sopenharmony_ci/* AB8500_ADDIGGAIN2 */
4618c2ecf20Sopenharmony_ci/* AB8500_ADDIGGAIN3 */
4628c2ecf20Sopenharmony_ci/* AB8500_ADDIGGAIN4 */
4638c2ecf20Sopenharmony_ci/* AB8500_ADDIGGAIN5 */
4648c2ecf20Sopenharmony_ci/* AB8500_ADDIGGAIN6 */
4658c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAINX_FADEDISADX		6
4668c2ecf20Sopenharmony_ci#define AB8500_ADDIGGAINX_ADXGAIN_MAX		0x3F
4678c2ecf20Sopenharmony_ci
4688c2ecf20Sopenharmony_ci/* AB8500_DADIGGAIN1 */
4698c2ecf20Sopenharmony_ci/* AB8500_DADIGGAIN2 */
4708c2ecf20Sopenharmony_ci/* AB8500_DADIGGAIN3 */
4718c2ecf20Sopenharmony_ci/* AB8500_DADIGGAIN4 */
4728c2ecf20Sopenharmony_ci/* AB8500_DADIGGAIN5 */
4738c2ecf20Sopenharmony_ci/* AB8500_DADIGGAIN6 */
4748c2ecf20Sopenharmony_ci#define AB8500_DADIGGAINX_FADEDISDAX		6
4758c2ecf20Sopenharmony_ci#define AB8500_DADIGGAINX_DAXGAIN_MAX		0x3F
4768c2ecf20Sopenharmony_ci
4778c2ecf20Sopenharmony_ci/* AB8500_ADDIGLOOPGAIN1 */
4788c2ecf20Sopenharmony_ci/* AB8500_ADDIGLOOPGAIN2 */
4798c2ecf20Sopenharmony_ci#define AB8500_ADDIGLOOPGAINX_FADEDISADXL	6
4808c2ecf20Sopenharmony_ci#define AB8500_ADDIGLOOPGAINX_ADXLBGAIN_MAX	0x3F
4818c2ecf20Sopenharmony_ci
4828c2ecf20Sopenharmony_ci/* AB8500_HSLEARDIGGAIN */
4838c2ecf20Sopenharmony_ci#define AB8500_HSLEARDIGGAIN_HSSINC1		7
4848c2ecf20Sopenharmony_ci#define AB8500_HSLEARDIGGAIN_FADEDISHSL		4
4858c2ecf20Sopenharmony_ci#define AB8500_HSLEARDIGGAIN_HSLDGAIN_MAX	0x09
4868c2ecf20Sopenharmony_ci
4878c2ecf20Sopenharmony_ci/* AB8500_HSRDIGGAIN */
4888c2ecf20Sopenharmony_ci#define AB8500_HSRDIGGAIN_FADESPEED		6
4898c2ecf20Sopenharmony_ci#define AB8500_HSRDIGGAIN_FADEDISHSR		4
4908c2ecf20Sopenharmony_ci#define AB8500_HSRDIGGAIN_HSRDGAIN_MAX		0x09
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ci/* AB8500_SIDFIRGAIN1 */
4938c2ecf20Sopenharmony_ci/* AB8500_SIDFIRGAIN2 */
4948c2ecf20Sopenharmony_ci#define AB8500_SIDFIRGAINX_FIRSIDXGAIN_MAX	0x1F
4958c2ecf20Sopenharmony_ci
4968c2ecf20Sopenharmony_ci/* AB8500_ANCCONF1 */
4978c2ecf20Sopenharmony_ci#define AB8500_ANCCONF1_ANCIIRUPDATE		3
4988c2ecf20Sopenharmony_ci#define AB8500_ANCCONF1_ENANC			2
4998c2ecf20Sopenharmony_ci#define AB8500_ANCCONF1_ANCIIRINIT		1
5008c2ecf20Sopenharmony_ci#define AB8500_ANCCONF1_ANCFIRUPDATE		0
5018c2ecf20Sopenharmony_ci
5028c2ecf20Sopenharmony_ci/* AB8500_ANCCONF2 */
5038c2ecf20Sopenharmony_ci#define AB8500_ANCCONF2_SHIFT			5
5048c2ecf20Sopenharmony_ci#define AB8500_ANCCONF2_MIN			-0x10
5058c2ecf20Sopenharmony_ci#define AB8500_ANCCONF2_MAX			0xF
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_ci/* AB8500_ANCCONF3 */
5088c2ecf20Sopenharmony_ci#define AB8500_ANCCONF3_SHIFT			5
5098c2ecf20Sopenharmony_ci#define AB8500_ANCCONF3_MIN			-0x10
5108c2ecf20Sopenharmony_ci#define AB8500_ANCCONF3_MAX			0xF
5118c2ecf20Sopenharmony_ci
5128c2ecf20Sopenharmony_ci/* AB8500_ANCCONF4 */
5138c2ecf20Sopenharmony_ci#define AB8500_ANCCONF4_SHIFT			5
5148c2ecf20Sopenharmony_ci#define AB8500_ANCCONF4_MIN			-0x10
5158c2ecf20Sopenharmony_ci#define AB8500_ANCCONF4_MAX			0xF
5168c2ecf20Sopenharmony_ci
5178c2ecf20Sopenharmony_ci/* AB8500_ANC_FIR_COEFFS */
5188c2ecf20Sopenharmony_ci#define AB8500_ANC_FIR_COEFF_MIN		-0x8000
5198c2ecf20Sopenharmony_ci#define AB8500_ANC_FIR_COEFF_MAX		0x7FFF
5208c2ecf20Sopenharmony_ci#define AB8500_ANC_FIR_COEFFS			15
5218c2ecf20Sopenharmony_ci
5228c2ecf20Sopenharmony_ci/* AB8500_ANC_IIR_COEFFS */
5238c2ecf20Sopenharmony_ci#define AB8500_ANC_IIR_COEFF_MIN		-0x800000
5248c2ecf20Sopenharmony_ci#define AB8500_ANC_IIR_COEFF_MAX		0x7FFFFF
5258c2ecf20Sopenharmony_ci#define AB8500_ANC_IIR_COEFFS			24
5268c2ecf20Sopenharmony_ci/* AB8500_ANC_WARP_DELAY */
5278c2ecf20Sopenharmony_ci#define AB8500_ANC_WARP_DELAY_SHIFT		16
5288c2ecf20Sopenharmony_ci#define AB8500_ANC_WARP_DELAY_MIN		0x0000
5298c2ecf20Sopenharmony_ci#define AB8500_ANC_WARP_DELAY_MAX		0xFFFF
5308c2ecf20Sopenharmony_ci
5318c2ecf20Sopenharmony_ci/* AB8500_ANCCONF11 */
5328c2ecf20Sopenharmony_ci/* AB8500_ANCCONF12 */
5338c2ecf20Sopenharmony_ci/* AB8500_ANCCONF13 */
5348c2ecf20Sopenharmony_ci/* AB8500_ANCCONF14 */
5358c2ecf20Sopenharmony_ci
5368c2ecf20Sopenharmony_ci/* AB8500_SIDFIRADR */
5378c2ecf20Sopenharmony_ci#define AB8500_SIDFIRADR_FIRSIDSET		7
5388c2ecf20Sopenharmony_ci#define AB8500_SIDFIRADR_ADDRESS_SHIFT		0
5398c2ecf20Sopenharmony_ci#define AB8500_SIDFIRADR_ADDRESS_MAX		0x7F
5408c2ecf20Sopenharmony_ci
5418c2ecf20Sopenharmony_ci/* AB8500_SIDFIRCOEF1 */
5428c2ecf20Sopenharmony_ci/* AB8500_SIDFIRCOEF2 */
5438c2ecf20Sopenharmony_ci#define AB8500_SID_FIR_COEFF_MIN		0
5448c2ecf20Sopenharmony_ci#define AB8500_SID_FIR_COEFF_MAX		0xFFFF
5458c2ecf20Sopenharmony_ci#define AB8500_SID_FIR_COEFFS			128
5468c2ecf20Sopenharmony_ci
5478c2ecf20Sopenharmony_ci/* AB8500_SIDFIRCONF */
5488c2ecf20Sopenharmony_ci#define AB8500_SIDFIRCONF_ENFIRSIDS		2
5498c2ecf20Sopenharmony_ci#define AB8500_SIDFIRCONF_FIRSIDSTOIF1		1
5508c2ecf20Sopenharmony_ci#define AB8500_SIDFIRCONF_FIRSIDBUSY		0
5518c2ecf20Sopenharmony_ci
5528c2ecf20Sopenharmony_ci/* AB8500_AUDINTMASK1 */
5538c2ecf20Sopenharmony_ci/* AB8500_AUDINTSOURCE1 */
5548c2ecf20Sopenharmony_ci/* AB8500_AUDINTMASK2 */
5558c2ecf20Sopenharmony_ci/* AB8500_AUDINTSOURCE2 */
5568c2ecf20Sopenharmony_ci
5578c2ecf20Sopenharmony_ci/* AB8500_FIFOCONF1 */
5588c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF1_BFIFOMASK		0x80
5598c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF1_BFIFO19M2		0x40
5608c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF1_BFIFOINT_SHIFT		0
5618c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF1_BFIFOINT_MAX		0x3F
5628c2ecf20Sopenharmony_ci
5638c2ecf20Sopenharmony_ci/* AB8500_FIFOCONF2 */
5648c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF2_BFIFOTX_SHIFT		0
5658c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF2_BFIFOTX_MAX		0xFF
5668c2ecf20Sopenharmony_ci
5678c2ecf20Sopenharmony_ci/* AB8500_FIFOCONF3 */
5688c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF3_BFIFOEXSL_SHIFT	5
5698c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF3_BFIFOEXSL_MAX		0x5
5708c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF3_PREBITCLK0_SHIFT	2
5718c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF3_PREBITCLK0_MAX		0x7
5728c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF3_BFIFOMAST_SHIFT	1
5738c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF3_BFIFORUN_SHIFT		0
5748c2ecf20Sopenharmony_ci
5758c2ecf20Sopenharmony_ci/* AB8500_FIFOCONF4 */
5768c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF4_BFIFOFRAMSW_SHIFT	0
5778c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF4_BFIFOFRAMSW_MAX	0xFF
5788c2ecf20Sopenharmony_ci
5798c2ecf20Sopenharmony_ci/* AB8500_FIFOCONF5 */
5808c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF5_BFIFOWAKEUP_SHIFT	0
5818c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF5_BFIFOWAKEUP_MAX	0xFF
5828c2ecf20Sopenharmony_ci
5838c2ecf20Sopenharmony_ci/* AB8500_FIFOCONF6 */
5848c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF6_BFIFOSAMPLE_SHIFT	0
5858c2ecf20Sopenharmony_ci#define AB8500_FIFOCONF6_BFIFOSAMPLE_MAX	0xFF
5868c2ecf20Sopenharmony_ci
5878c2ecf20Sopenharmony_ci/* AB8500_AUDREV */
5888c2ecf20Sopenharmony_ci
5898c2ecf20Sopenharmony_ci#endif
590