blob: bbc6b9051e05348dd3ad1ee55af90bb1fe54e41f [file] [log] [blame]
Laxminath Kasam9e78ef82019-07-01 12:31:45 +05301// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2015, 2018-2019, The Linux Foundation. All rights reserved.
4 */
5
6#include <linux/regmap.h>
7#include <linux/device.h>
8#include "wsa881x-registers-analog.h"
9
10const u8 wsa881x_ana_reg_readable[WSA881X_CACHE_SIZE] = {
11 [WSA881X_CHIP_ID0] = 1,
12 [WSA881X_CHIP_ID1] = 1,
13 [WSA881X_CHIP_ID2] = 1,
14 [WSA881X_CHIP_ID3] = 1,
15 [WSA881X_BUS_ID] = 1,
16 [WSA881X_CDC_RST_CTL] = 1,
17 [WSA881X_CDC_TOP_CLK_CTL] = 1,
18 [WSA881X_CDC_ANA_CLK_CTL] = 1,
19 [WSA881X_CDC_DIG_CLK_CTL] = 1,
20 [WSA881X_CLOCK_CONFIG] = 1,
21 [WSA881X_ANA_CTL] = 1,
22 [WSA881X_SWR_RESET_EN] = 1,
23 [WSA881X_RESET_CTL] = 1,
24 [WSA881X_TADC_VALUE_CTL] = 1,
25 [WSA881X_TEMP_DETECT_CTL] = 1,
26 [WSA881X_TEMP_MSB] = 1,
27 [WSA881X_TEMP_LSB] = 1,
28 [WSA881X_TEMP_CONFIG0] = 1,
29 [WSA881X_TEMP_CONFIG1] = 1,
30 [WSA881X_CDC_CLIP_CTL] = 1,
31 [WSA881X_SDM_PDM9_LSB] = 1,
32 [WSA881X_SDM_PDM9_MSB] = 1,
33 [WSA881X_CDC_RX_CTL] = 1,
34 [WSA881X_DEM_BYPASS_DATA0] = 1,
35 [WSA881X_DEM_BYPASS_DATA1] = 1,
36 [WSA881X_DEM_BYPASS_DATA2] = 1,
37 [WSA881X_DEM_BYPASS_DATA3] = 1,
38 [WSA881X_OTP_CTRL0] = 1,
39 [WSA881X_OTP_CTRL1] = 1,
40 [WSA881X_HDRIVE_CTL_GROUP1] = 1,
41 [WSA881X_INTR_MODE] = 1,
42 [WSA881X_INTR_MASK] = 1,
43 [WSA881X_INTR_STATUS] = 1,
44 [WSA881X_INTR_CLEAR] = 1,
45 [WSA881X_INTR_LEVEL] = 1,
46 [WSA881X_INTR_SET] = 1,
47 [WSA881X_INTR_TEST] = 1,
48 [WSA881X_PDM_TEST_MODE] = 1,
49 [WSA881X_ATE_TEST_MODE] = 1,
50 [WSA881X_PIN_CTL_MODE] = 1,
51 [WSA881X_PIN_CTL_OE] = 1,
52 [WSA881X_PIN_WDATA_IOPAD] = 1,
53 [WSA881X_PIN_STATUS] = 1,
54 [WSA881X_DIG_DEBUG_MODE] = 1,
55 [WSA881X_DIG_DEBUG_SEL] = 1,
56 [WSA881X_DIG_DEBUG_EN] = 1,
57 [WSA881X_SWR_HM_TEST1] = 1,
58 [WSA881X_SWR_HM_TEST2] = 1,
59 [WSA881X_TEMP_DETECT_DBG_CTL] = 1,
60 [WSA881X_TEMP_DEBUG_MSB] = 1,
61 [WSA881X_TEMP_DEBUG_LSB] = 1,
62 [WSA881X_SAMPLE_EDGE_SEL] = 1,
63 [WSA881X_IOPAD_CTL] = 1,
64 [WSA881X_SPARE_0] = 1,
65 [WSA881X_SPARE_1] = 1,
66 [WSA881X_SPARE_2] = 1,
67 [WSA881X_OTP_REG_0] = 1,
68 [WSA881X_OTP_REG_1] = 1,
69 [WSA881X_OTP_REG_2] = 1,
70 [WSA881X_OTP_REG_3] = 1,
71 [WSA881X_OTP_REG_4] = 1,
72 [WSA881X_OTP_REG_5] = 1,
73 [WSA881X_OTP_REG_6] = 1,
74 [WSA881X_OTP_REG_7] = 1,
75 [WSA881X_OTP_REG_8] = 1,
76 [WSA881X_OTP_REG_9] = 1,
77 [WSA881X_OTP_REG_10] = 1,
78 [WSA881X_OTP_REG_11] = 1,
79 [WSA881X_OTP_REG_12] = 1,
80 [WSA881X_OTP_REG_13] = 1,
81 [WSA881X_OTP_REG_14] = 1,
82 [WSA881X_OTP_REG_15] = 1,
83 [WSA881X_OTP_REG_16] = 1,
84 [WSA881X_OTP_REG_17] = 1,
85 [WSA881X_OTP_REG_18] = 1,
86 [WSA881X_OTP_REG_19] = 1,
87 [WSA881X_OTP_REG_20] = 1,
88 [WSA881X_OTP_REG_21] = 1,
89 [WSA881X_OTP_REG_22] = 1,
90 [WSA881X_OTP_REG_23] = 1,
91 [WSA881X_OTP_REG_24] = 1,
92 [WSA881X_OTP_REG_25] = 1,
93 [WSA881X_OTP_REG_26] = 1,
94 [WSA881X_OTP_REG_27] = 1,
95 [WSA881X_OTP_REG_28] = 1,
96 [WSA881X_OTP_REG_29] = 1,
97 [WSA881X_OTP_REG_30] = 1,
98 [WSA881X_OTP_REG_31] = 1,
99 [WSA881X_OTP_REG_63] = 1,
100 /* Analog Registers */
101 [WSA881X_BIAS_REF_CTRL] = 1,
102 [WSA881X_BIAS_TEST] = 1,
103 [WSA881X_BIAS_BIAS] = 1,
104 [WSA881X_TEMP_OP] = 1,
105 [WSA881X_TEMP_IREF_CTRL] = 1,
106 [WSA881X_TEMP_ISENS_CTRL] = 1,
107 [WSA881X_TEMP_CLK_CTRL] = 1,
108 [WSA881X_TEMP_TEST] = 1,
109 [WSA881X_TEMP_BIAS] = 1,
110 [WSA881X_TEMP_ADC_CTRL] = 1,
111 [WSA881X_TEMP_DOUT_MSB] = 1,
112 [WSA881X_TEMP_DOUT_LSB] = 1,
113 [WSA881X_ADC_EN_MODU_V] = 1,
114 [WSA881X_ADC_EN_MODU_I] = 1,
115 [WSA881X_ADC_EN_DET_TEST_V] = 1,
116 [WSA881X_ADC_EN_DET_TEST_I] = 1,
117 [WSA881X_ADC_SEL_IBIAS] = 1,
118 [WSA881X_ADC_EN_SEL_IBIAS] = 1,
119 [WSA881X_SPKR_DRV_EN] = 1,
120 [WSA881X_SPKR_DRV_GAIN] = 1,
121 [WSA881X_SPKR_DAC_CTL] = 1,
122 [WSA881X_SPKR_DRV_DBG] = 1,
123 [WSA881X_SPKR_PWRSTG_DBG] = 1,
124 [WSA881X_SPKR_OCP_CTL] = 1,
125 [WSA881X_SPKR_CLIP_CTL] = 1,
126 [WSA881X_SPKR_BBM_CTL] = 1,
127 [WSA881X_SPKR_MISC_CTL1] = 1,
128 [WSA881X_SPKR_MISC_CTL2] = 1,
129 [WSA881X_SPKR_BIAS_INT] = 1,
130 [WSA881X_SPKR_PA_INT] = 1,
131 [WSA881X_SPKR_BIAS_CAL] = 1,
132 [WSA881X_SPKR_BIAS_PSRR] = 1,
133 [WSA881X_SPKR_STATUS1] = 1,
134 [WSA881X_SPKR_STATUS2] = 1,
135 [WSA881X_BOOST_EN_CTL] = 1,
136 [WSA881X_BOOST_CURRENT_LIMIT] = 1,
137 [WSA881X_BOOST_PS_CTL] = 1,
138 [WSA881X_BOOST_PRESET_OUT1] = 1,
139 [WSA881X_BOOST_PRESET_OUT2] = 1,
140 [WSA881X_BOOST_FORCE_OUT] = 1,
141 [WSA881X_BOOST_LDO_PROG] = 1,
142 [WSA881X_BOOST_SLOPE_COMP_ISENSE_FB] = 1,
143 [WSA881X_BOOST_RON_CTL] = 1,
144 [WSA881X_BOOST_LOOP_STABILITY] = 1,
145 [WSA881X_BOOST_ZX_CTL] = 1,
146 [WSA881X_BOOST_START_CTL] = 1,
147 [WSA881X_BOOST_MISC1_CTL] = 1,
148 [WSA881X_BOOST_MISC2_CTL] = 1,
149 [WSA881X_BOOST_MISC3_CTL] = 1,
150 [WSA881X_BOOST_ATEST_CTL] = 1,
151 [WSA881X_SPKR_PROT_FE_GAIN] = 1,
152 [WSA881X_SPKR_PROT_FE_CM_LDO_SET] = 1,
153 [WSA881X_SPKR_PROT_FE_ISENSE_BIAS_SET1] = 1,
154 [WSA881X_SPKR_PROT_FE_ISENSE_BIAS_SET2] = 1,
155 [WSA881X_SPKR_PROT_ATEST1] = 1,
156 [WSA881X_SPKR_PROT_ATEST2] = 1,
157 [WSA881X_SPKR_PROT_FE_VSENSE_VCM] = 1,
158 [WSA881X_SPKR_PROT_FE_VSENSE_BIAS_SET1] = 1,
159 [WSA881X_BONGO_RESRV_REG1] = 1,
160 [WSA881X_BONGO_RESRV_REG2] = 1,
161 [WSA881X_SPKR_PROT_SAR] = 1,
162 [WSA881X_SPKR_STATUS3] = 1,
163};