blob: 63604566ab161b145c706d9afabd3ffac34f08c9 [file] [log] [blame]
Aditya Bavanarid273a6f2020-03-03 21:59:03 +05301// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
4 */
5
6#include <linux/types.h>
7#include "rouleur-registers.h"
8
9const u8 rouleur_reg_access_analog[ROULEUR_REG(
10 ROULEUR_ANALOG_REGISTERS_MAX_SIZE)] = {
11 [ROULEUR_REG(ROULEUR_ANA_MICBIAS_MICB_1_2_EN)] = RD_WR_REG,
12 [ROULEUR_REG(ROULEUR_ANA_MICBIAS_MICB_3_EN)] = RD_WR_REG,
13 [ROULEUR_REG(ROULEUR_ANA_MICBIAS_LDO_1_SETTING)] = RD_WR_REG,
14 [ROULEUR_REG(ROULEUR_ANA_MICBIAS_LDO_1_CTRL)] = RD_WR_REG,
15 [ROULEUR_REG(ROULEUR_ANA_TX_AMIC1)] = RD_WR_REG,
16 [ROULEUR_REG(ROULEUR_ANA_TX_AMIC2)] = RD_WR_REG,
17 [ROULEUR_REG(ROULEUR_ANA_MBHC_MECH)] = RD_WR_REG,
18 [ROULEUR_REG(ROULEUR_ANA_MBHC_ELECT)] = RD_WR_REG,
19 [ROULEUR_REG(ROULEUR_ANA_MBHC_ZDET)] = RD_WR_REG,
20 [ROULEUR_REG(ROULEUR_ANA_MBHC_RESULT_1)] = RD_REG,
21 [ROULEUR_REG(ROULEUR_ANA_MBHC_RESULT_2)] = RD_REG,
22 [ROULEUR_REG(ROULEUR_ANA_MBHC_RESULT_3)] = RD_REG,
23 [ROULEUR_REG(ROULEUR_ANA_MBHC_BTN0_ZDET_VREF1)] = RD_WR_REG,
24 [ROULEUR_REG(ROULEUR_ANA_MBHC_BTN1_ZDET_VREF2)] = RD_WR_REG,
25 [ROULEUR_REG(ROULEUR_ANA_MBHC_BTN2_ZDET_VREF3)] = RD_WR_REG,
26 [ROULEUR_REG(ROULEUR_ANA_MBHC_BTN3_ZDET_DBG_400)] = RD_WR_REG,
27 [ROULEUR_REG(ROULEUR_ANA_MBHC_BTN4_ZDET_DBG_1400)] = RD_WR_REG,
28 [ROULEUR_REG(ROULEUR_ANA_MBHC_MICB2_RAMP)] = RD_WR_REG,
29 [ROULEUR_REG(ROULEUR_ANA_MBHC_CTL_1)] = RD_WR_REG,
30 [ROULEUR_REG(ROULEUR_ANA_MBHC_CTL_2)] = RD_WR_REG,
31 [ROULEUR_REG(ROULEUR_ANA_MBHC_PLUG_DETECT_CTL)] = RD_WR_REG,
32 [ROULEUR_REG(ROULEUR_ANA_MBHC_ZDET_ANA_CTL)] = RD_WR_REG,
33 [ROULEUR_REG(ROULEUR_ANA_MBHC_ZDET_RAMP_CTL)] = RD_WR_REG,
34 [ROULEUR_REG(ROULEUR_ANA_MBHC_FSM_STATUS)] = RD_REG,
35 [ROULEUR_REG(ROULEUR_ANA_MBHC_ADC_RESULT)] = RD_REG,
Aditya Bavanari1434a0a2020-03-28 13:09:08 +053036 [ROULEUR_REG(ROULEUR_ANA_MBHC_CTL_CLK)] = RD_WR_REG,
Aditya Bavanarid273a6f2020-03-03 21:59:03 +053037 [ROULEUR_REG(ROULEUR_ANA_MBHC_ZDET_CALIB_RESULT)] = RD_REG,
38 [ROULEUR_REG(ROULEUR_ANA_NCP_EN)] = RD_WR_REG,
Aditya Bavanarib333e2c2020-07-13 18:19:21 +053039 [ROULEUR_REG(ROULEUR_ANA_NCP_VCTRL)] = RD_WR_REG,
Aditya Bavanarib6a752d2020-03-24 17:40:39 +053040 [ROULEUR_REG(ROULEUR_ANA_HPHPA_CNP_CTL_1)] = RD_WR_REG,
Aditya Bavanarid273a6f2020-03-03 21:59:03 +053041 [ROULEUR_REG(ROULEUR_ANA_HPHPA_CNP_CTL_2)] = RD_WR_REG,
42 [ROULEUR_REG(ROULEUR_ANA_HPHPA_PA_STATUS)] = RD_REG,
43 [ROULEUR_REG(ROULEUR_ANA_HPHPA_FSM_CLK)] = RD_WR_REG,
Aditya Bavanaribc657252020-04-10 16:38:29 +053044 [ROULEUR_REG(ROULEUR_ANA_HPHPA_L_GAIN)] = RD_WR_REG,
45 [ROULEUR_REG(ROULEUR_ANA_HPHPA_R_GAIN)] = RD_WR_REG,
Aditya Bavanarid273a6f2020-03-03 21:59:03 +053046 [ROULEUR_REG(ROULEUR_ANA_HPHPA_SPARE_CTL)] = RD_WR_REG,
Aditya Bavanarib6a752d2020-03-24 17:40:39 +053047 [ROULEUR_REG(ROULEUR_SWR_HPHPA_HD2)] = RD_WR_REG,
Aditya Bavanarid273a6f2020-03-03 21:59:03 +053048 [ROULEUR_REG(ROULEUR_ANA_SURGE_EN)] = RD_WR_REG,
49 [ROULEUR_REG(ROULEUR_ANA_COMBOPA_CTL)] = RD_WR_REG,
Aditya Bavanarib333e2c2020-07-13 18:19:21 +053050 [ROULEUR_REG(ROULEUR_ANA_COMBOPA_CTL_4)] = RD_WR_REG,
51 [ROULEUR_REG(ROULEUR_ANA_COMBOPA_CTL_5)] = RD_WR_REG,
Aditya Bavanarid273a6f2020-03-03 21:59:03 +053052 [ROULEUR_REG(ROULEUR_ANA_RXLDO_CTL)] = RD_WR_REG,
53 [ROULEUR_REG(ROULEUR_ANA_MBIAS_EN)] = RD_WR_REG,
54};
55
56const u8 rouleur_reg_access_digital[ROULEUR_REG(
57 ROULEUR_DIGITAL_REGISTERS_MAX_SIZE)] = {
58 [ROULEUR_REG(ROULEUR_DIG_SWR_CHIP_ID0)] = RD_REG,
59 [ROULEUR_REG(ROULEUR_DIG_SWR_CHIP_ID1)] = RD_REG,
60 [ROULEUR_REG(ROULEUR_DIG_SWR_CHIP_ID2)] = RD_REG,
61 [ROULEUR_REG(ROULEUR_DIG_SWR_CHIP_ID3)] = RD_REG,
62 [ROULEUR_REG(ROULEUR_DIG_SWR_SWR_TX_CLK_RATE)] = RD_WR_REG,
63 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RST_CTL)] = RD_WR_REG,
64 [ROULEUR_REG(ROULEUR_DIG_SWR_TOP_CLK_CFG)] = RD_WR_REG,
65 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX_CLK_CTL)] = RD_WR_REG,
66 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_TX_CLK_CTL)] = RD_WR_REG,
67 [ROULEUR_REG(ROULEUR_DIG_SWR_SWR_RST_EN)] = RD_WR_REG,
68 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX_RST)] = RD_WR_REG,
69 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX0_CTL)] = RD_WR_REG,
70 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX1_CTL)] = RD_WR_REG,
71 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_TX_ANA_MODE_0_1)] = RD_WR_REG,
72 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_COMP_CTL_0)] = RD_WR_REG,
73 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX_DELAY_CTL)] = RD_WR_REG,
74 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX_GAIN_0)] = RD_WR_REG,
75 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX_GAIN_1)] = RD_WR_REG,
76 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RX_GAIN_CTL)] = RD_WR_REG,
77 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_TX0_CTL)] = RD_WR_REG,
78 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_TX1_CTL)] = RD_WR_REG,
79 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_TX_RST)] = RD_WR_REG,
80 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_REQ0_CTL)] = RD_WR_REG,
81 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_REQ1_CTL)] = RD_WR_REG,
82 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_RST)] = RD_WR_REG,
83 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_AMIC_CTL)] = RD_WR_REG,
84 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_DMIC_CTL)] = RD_WR_REG,
85 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_DMIC1_CTL)] = RD_WR_REG,
86 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_DMIC1_RATE)] = RD_WR_REG,
87 [ROULEUR_REG(ROULEUR_DIG_SWR_PDM_WD_CTL0)] = RD_WR_REG,
88 [ROULEUR_REG(ROULEUR_DIG_SWR_PDM_WD_CTL1)] = RD_WR_REG,
89 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_MODE)] = RD_WR_REG,
90 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_MASK_0)] = RD_WR_REG,
91 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_MASK_1)] = RD_WR_REG,
92 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_MASK_2)] = RD_WR_REG,
93 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_STATUS_0)] = RD_REG,
94 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_STATUS_1)] = RD_REG,
95 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_STATUS_2)] = RD_REG,
96 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_CLEAR_0)] = RD_WR_REG,
97 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_CLEAR_1)] = RD_WR_REG,
98 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_CLEAR_2)] = RD_WR_REG,
99 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_LEVEL_0)] = RD_WR_REG,
100 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_LEVEL_1)] = RD_WR_REG,
101 [ROULEUR_REG(ROULEUR_DIG_SWR_INTR_LEVEL_2)] = RD_WR_REG,
102 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_CONN_RX0_CTL)] = RD_WR_REG,
103 [ROULEUR_REG(ROULEUR_DIG_SWR_CDC_CONN_RX1_CTL)] = RD_WR_REG,
104 [ROULEUR_REG(ROULEUR_DIG_SWR_LOOP_BACK_MODE)] = RD_WR_REG,
105 [ROULEUR_REG(ROULEUR_DIG_SWR_DRIVE_STRENGTH_0)] = RD_WR_REG,
106 [ROULEUR_REG(ROULEUR_DIG_SWR_DIG_DEBUG_CTL)] = RD_WR_REG,
107 [ROULEUR_REG(ROULEUR_DIG_SWR_DIG_DEBUG_EN)] = RD_WR_REG,
108 [ROULEUR_REG(ROULEUR_DIG_SWR_DEM_BYPASS_DATA0)] = RD_WR_REG,
109 [ROULEUR_REG(ROULEUR_DIG_SWR_DEM_BYPASS_DATA1)] = RD_WR_REG,
110 [ROULEUR_REG(ROULEUR_DIG_SWR_DEM_BYPASS_DATA2)] = RD_WR_REG,
111 [ROULEUR_REG(ROULEUR_DIG_SWR_DEM_BYPASS_DATA3)] = RD_WR_REG,
112};