root/include/linux/mfd/lochnagar2_regs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Lochnagar2 register definitions
   4  *
   5  * Copyright (c) 2017-2018 Cirrus Logic, Inc. and
   6  *                         Cirrus Logic International Semiconductor Ltd.
   7  *
   8  * Author: Charles Keepax <ckeepax@opensource.cirrus.com>
   9  */
  10 
  11 #ifndef LOCHNAGAR2_REGISTERS_H
  12 #define LOCHNAGAR2_REGISTERS_H
  13 
  14 /* Register Addresses */
  15 #define LOCHNAGAR2_CDC_AIF1_CTRL                      0x000D
  16 #define LOCHNAGAR2_CDC_AIF2_CTRL                      0x000E
  17 #define LOCHNAGAR2_CDC_AIF3_CTRL                      0x000F
  18 #define LOCHNAGAR2_DSP_AIF1_CTRL                      0x0010
  19 #define LOCHNAGAR2_DSP_AIF2_CTRL                      0x0011
  20 #define LOCHNAGAR2_PSIA1_CTRL                         0x0012
  21 #define LOCHNAGAR2_PSIA2_CTRL                         0x0013
  22 #define LOCHNAGAR2_GF_AIF3_CTRL                       0x0014
  23 #define LOCHNAGAR2_GF_AIF4_CTRL                       0x0015
  24 #define LOCHNAGAR2_GF_AIF1_CTRL                       0x0016
  25 #define LOCHNAGAR2_GF_AIF2_CTRL                       0x0017
  26 #define LOCHNAGAR2_SPDIF_AIF_CTRL                     0x0018
  27 #define LOCHNAGAR2_USB_AIF1_CTRL                      0x0019
  28 #define LOCHNAGAR2_USB_AIF2_CTRL                      0x001A
  29 #define LOCHNAGAR2_ADAT_AIF_CTRL                      0x001B
  30 #define LOCHNAGAR2_CDC_MCLK1_CTRL                     0x001E
  31 #define LOCHNAGAR2_CDC_MCLK2_CTRL                     0x001F
  32 #define LOCHNAGAR2_DSP_CLKIN_CTRL                     0x0020
  33 #define LOCHNAGAR2_PSIA1_MCLK_CTRL                    0x0021
  34 #define LOCHNAGAR2_PSIA2_MCLK_CTRL                    0x0022
  35 #define LOCHNAGAR2_SPDIF_MCLK_CTRL                    0x0023
  36 #define LOCHNAGAR2_GF_CLKOUT1_CTRL                    0x0024
  37 #define LOCHNAGAR2_GF_CLKOUT2_CTRL                    0x0025
  38 #define LOCHNAGAR2_ADAT_MCLK_CTRL                     0x0026
  39 #define LOCHNAGAR2_SOUNDCARD_MCLK_CTRL                0x0027
  40 #define LOCHNAGAR2_GPIO_FPGA_GPIO1                    0x0031
  41 #define LOCHNAGAR2_GPIO_FPGA_GPIO2                    0x0032
  42 #define LOCHNAGAR2_GPIO_FPGA_GPIO3                    0x0033
  43 #define LOCHNAGAR2_GPIO_FPGA_GPIO4                    0x0034
  44 #define LOCHNAGAR2_GPIO_FPGA_GPIO5                    0x0035
  45 #define LOCHNAGAR2_GPIO_FPGA_GPIO6                    0x0036
  46 #define LOCHNAGAR2_GPIO_CDC_GPIO1                     0x0037
  47 #define LOCHNAGAR2_GPIO_CDC_GPIO2                     0x0038
  48 #define LOCHNAGAR2_GPIO_CDC_GPIO3                     0x0039
  49 #define LOCHNAGAR2_GPIO_CDC_GPIO4                     0x003A
  50 #define LOCHNAGAR2_GPIO_CDC_GPIO5                     0x003B
  51 #define LOCHNAGAR2_GPIO_CDC_GPIO6                     0x003C
  52 #define LOCHNAGAR2_GPIO_CDC_GPIO7                     0x003D
  53 #define LOCHNAGAR2_GPIO_CDC_GPIO8                     0x003E
  54 #define LOCHNAGAR2_GPIO_DSP_GPIO1                     0x003F
  55 #define LOCHNAGAR2_GPIO_DSP_GPIO2                     0x0040
  56 #define LOCHNAGAR2_GPIO_DSP_GPIO3                     0x0041
  57 #define LOCHNAGAR2_GPIO_DSP_GPIO4                     0x0042
  58 #define LOCHNAGAR2_GPIO_DSP_GPIO5                     0x0043
  59 #define LOCHNAGAR2_GPIO_DSP_GPIO6                     0x0044
  60 #define LOCHNAGAR2_GPIO_GF_GPIO2                      0x0045
  61 #define LOCHNAGAR2_GPIO_GF_GPIO3                      0x0046
  62 #define LOCHNAGAR2_GPIO_GF_GPIO7                      0x0047
  63 #define LOCHNAGAR2_GPIO_CDC_AIF1_BCLK                 0x0048
  64 #define LOCHNAGAR2_GPIO_CDC_AIF1_RXDAT                0x0049
  65 #define LOCHNAGAR2_GPIO_CDC_AIF1_LRCLK                0x004A
  66 #define LOCHNAGAR2_GPIO_CDC_AIF1_TXDAT                0x004B
  67 #define LOCHNAGAR2_GPIO_CDC_AIF2_BCLK                 0x004C
  68 #define LOCHNAGAR2_GPIO_CDC_AIF2_RXDAT                0x004D
  69 #define LOCHNAGAR2_GPIO_CDC_AIF2_LRCLK                0x004E
  70 #define LOCHNAGAR2_GPIO_CDC_AIF2_TXDAT                0x004F
  71 #define LOCHNAGAR2_GPIO_CDC_AIF3_BCLK                 0x0050
  72 #define LOCHNAGAR2_GPIO_CDC_AIF3_RXDAT                0x0051
  73 #define LOCHNAGAR2_GPIO_CDC_AIF3_LRCLK                0x0052
  74 #define LOCHNAGAR2_GPIO_CDC_AIF3_TXDAT                0x0053
  75 #define LOCHNAGAR2_GPIO_DSP_AIF1_BCLK                 0x0054
  76 #define LOCHNAGAR2_GPIO_DSP_AIF1_RXDAT                0x0055
  77 #define LOCHNAGAR2_GPIO_DSP_AIF1_LRCLK                0x0056
  78 #define LOCHNAGAR2_GPIO_DSP_AIF1_TXDAT                0x0057
  79 #define LOCHNAGAR2_GPIO_DSP_AIF2_BCLK                 0x0058
  80 #define LOCHNAGAR2_GPIO_DSP_AIF2_RXDAT                0x0059
  81 #define LOCHNAGAR2_GPIO_DSP_AIF2_LRCLK                0x005A
  82 #define LOCHNAGAR2_GPIO_DSP_AIF2_TXDAT                0x005B
  83 #define LOCHNAGAR2_GPIO_PSIA1_BCLK                    0x005C
  84 #define LOCHNAGAR2_GPIO_PSIA1_RXDAT                   0x005D
  85 #define LOCHNAGAR2_GPIO_PSIA1_LRCLK                   0x005E
  86 #define LOCHNAGAR2_GPIO_PSIA1_TXDAT                   0x005F
  87 #define LOCHNAGAR2_GPIO_PSIA2_BCLK                    0x0060
  88 #define LOCHNAGAR2_GPIO_PSIA2_RXDAT                   0x0061
  89 #define LOCHNAGAR2_GPIO_PSIA2_LRCLK                   0x0062
  90 #define LOCHNAGAR2_GPIO_PSIA2_TXDAT                   0x0063
  91 #define LOCHNAGAR2_GPIO_GF_AIF3_BCLK                  0x0064
  92 #define LOCHNAGAR2_GPIO_GF_AIF3_RXDAT                 0x0065
  93 #define LOCHNAGAR2_GPIO_GF_AIF3_LRCLK                 0x0066
  94 #define LOCHNAGAR2_GPIO_GF_AIF3_TXDAT                 0x0067
  95 #define LOCHNAGAR2_GPIO_GF_AIF4_BCLK                  0x0068
  96 #define LOCHNAGAR2_GPIO_GF_AIF4_RXDAT                 0x0069
  97 #define LOCHNAGAR2_GPIO_GF_AIF4_LRCLK                 0x006A
  98 #define LOCHNAGAR2_GPIO_GF_AIF4_TXDAT                 0x006B
  99 #define LOCHNAGAR2_GPIO_GF_AIF1_BCLK                  0x006C
 100 #define LOCHNAGAR2_GPIO_GF_AIF1_RXDAT                 0x006D
 101 #define LOCHNAGAR2_GPIO_GF_AIF1_LRCLK                 0x006E
 102 #define LOCHNAGAR2_GPIO_GF_AIF1_TXDAT                 0x006F
 103 #define LOCHNAGAR2_GPIO_GF_AIF2_BCLK                  0x0070
 104 #define LOCHNAGAR2_GPIO_GF_AIF2_RXDAT                 0x0071
 105 #define LOCHNAGAR2_GPIO_GF_AIF2_LRCLK                 0x0072
 106 #define LOCHNAGAR2_GPIO_GF_AIF2_TXDAT                 0x0073
 107 #define LOCHNAGAR2_GPIO_DSP_UART1_RX                  0x0074
 108 #define LOCHNAGAR2_GPIO_DSP_UART1_TX                  0x0075
 109 #define LOCHNAGAR2_GPIO_DSP_UART2_RX                  0x0076
 110 #define LOCHNAGAR2_GPIO_DSP_UART2_TX                  0x0077
 111 #define LOCHNAGAR2_GPIO_GF_UART2_RX                   0x0078
 112 #define LOCHNAGAR2_GPIO_GF_UART2_TX                   0x0079
 113 #define LOCHNAGAR2_GPIO_USB_UART_RX                   0x007A
 114 #define LOCHNAGAR2_GPIO_CDC_PDMCLK1                   0x007C
 115 #define LOCHNAGAR2_GPIO_CDC_PDMDAT1                   0x007D
 116 #define LOCHNAGAR2_GPIO_CDC_PDMCLK2                   0x007E
 117 #define LOCHNAGAR2_GPIO_CDC_PDMDAT2                   0x007F
 118 #define LOCHNAGAR2_GPIO_CDC_DMICCLK1                  0x0080
 119 #define LOCHNAGAR2_GPIO_CDC_DMICDAT1                  0x0081
 120 #define LOCHNAGAR2_GPIO_CDC_DMICCLK2                  0x0082
 121 #define LOCHNAGAR2_GPIO_CDC_DMICDAT2                  0x0083
 122 #define LOCHNAGAR2_GPIO_CDC_DMICCLK3                  0x0084
 123 #define LOCHNAGAR2_GPIO_CDC_DMICDAT3                  0x0085
 124 #define LOCHNAGAR2_GPIO_CDC_DMICCLK4                  0x0086
 125 #define LOCHNAGAR2_GPIO_CDC_DMICDAT4                  0x0087
 126 #define LOCHNAGAR2_GPIO_DSP_DMICCLK1                  0x0088
 127 #define LOCHNAGAR2_GPIO_DSP_DMICDAT1                  0x0089
 128 #define LOCHNAGAR2_GPIO_DSP_DMICCLK2                  0x008A
 129 #define LOCHNAGAR2_GPIO_DSP_DMICDAT2                  0x008B
 130 #define LOCHNAGAR2_GPIO_I2C2_SCL                      0x008C
 131 #define LOCHNAGAR2_GPIO_I2C2_SDA                      0x008D
 132 #define LOCHNAGAR2_GPIO_I2C3_SCL                      0x008E
 133 #define LOCHNAGAR2_GPIO_I2C3_SDA                      0x008F
 134 #define LOCHNAGAR2_GPIO_I2C4_SCL                      0x0090
 135 #define LOCHNAGAR2_GPIO_I2C4_SDA                      0x0091
 136 #define LOCHNAGAR2_GPIO_DSP_STANDBY                   0x0092
 137 #define LOCHNAGAR2_GPIO_CDC_MCLK1                     0x0093
 138 #define LOCHNAGAR2_GPIO_CDC_MCLK2                     0x0094
 139 #define LOCHNAGAR2_GPIO_DSP_CLKIN                     0x0095
 140 #define LOCHNAGAR2_GPIO_PSIA1_MCLK                    0x0096
 141 #define LOCHNAGAR2_GPIO_PSIA2_MCLK                    0x0097
 142 #define LOCHNAGAR2_GPIO_GF_GPIO1                      0x0098
 143 #define LOCHNAGAR2_GPIO_GF_GPIO5                      0x0099
 144 #define LOCHNAGAR2_GPIO_DSP_GPIO20                    0x009A
 145 #define LOCHNAGAR2_GPIO_CHANNEL1                      0x00B9
 146 #define LOCHNAGAR2_GPIO_CHANNEL2                      0x00BA
 147 #define LOCHNAGAR2_GPIO_CHANNEL3                      0x00BB
 148 #define LOCHNAGAR2_GPIO_CHANNEL4                      0x00BC
 149 #define LOCHNAGAR2_GPIO_CHANNEL5                      0x00BD
 150 #define LOCHNAGAR2_GPIO_CHANNEL6                      0x00BE
 151 #define LOCHNAGAR2_GPIO_CHANNEL7                      0x00BF
 152 #define LOCHNAGAR2_GPIO_CHANNEL8                      0x00C0
 153 #define LOCHNAGAR2_GPIO_CHANNEL9                      0x00C1
 154 #define LOCHNAGAR2_GPIO_CHANNEL10                     0x00C2
 155 #define LOCHNAGAR2_GPIO_CHANNEL11                     0x00C3
 156 #define LOCHNAGAR2_GPIO_CHANNEL12                     0x00C4
 157 #define LOCHNAGAR2_GPIO_CHANNEL13                     0x00C5
 158 #define LOCHNAGAR2_GPIO_CHANNEL14                     0x00C6
 159 #define LOCHNAGAR2_GPIO_CHANNEL15                     0x00C7
 160 #define LOCHNAGAR2_GPIO_CHANNEL16                     0x00C8
 161 #define LOCHNAGAR2_MINICARD_RESETS                    0x00DF
 162 #define LOCHNAGAR2_ANALOGUE_PATH_CTRL1                0x00E3
 163 #define LOCHNAGAR2_ANALOGUE_PATH_CTRL2                0x00E4
 164 #define LOCHNAGAR2_COMMS_CTRL4                        0x00F0
 165 #define LOCHNAGAR2_SPDIF_CTRL                         0x00FE
 166 #define LOCHNAGAR2_IMON_CTRL1                         0x0108
 167 #define LOCHNAGAR2_IMON_CTRL2                         0x0109
 168 #define LOCHNAGAR2_IMON_CTRL3                         0x010A
 169 #define LOCHNAGAR2_IMON_CTRL4                         0x010B
 170 #define LOCHNAGAR2_IMON_DATA1                         0x010C
 171 #define LOCHNAGAR2_IMON_DATA2                         0x010D
 172 #define LOCHNAGAR2_POWER_CTRL                         0x0116
 173 #define LOCHNAGAR2_MICVDD_CTRL1                       0x0119
 174 #define LOCHNAGAR2_MICVDD_CTRL2                       0x011B
 175 #define LOCHNAGAR2_VDDCORE_CDC_CTRL1                  0x011E
 176 #define LOCHNAGAR2_VDDCORE_CDC_CTRL2                  0x0120
 177 #define LOCHNAGAR2_SOUNDCARD_AIF_CTRL                 0x0180
 178 
 179 /* (0x000D-0x001B, 0x0180)  CDC_AIF1_CTRL - SOUNCARD_AIF_CTRL */
 180 #define LOCHNAGAR2_AIF_ENA_MASK                       0x8000
 181 #define LOCHNAGAR2_AIF_ENA_SHIFT                          15
 182 #define LOCHNAGAR2_AIF_LRCLK_DIR_MASK                 0x4000
 183 #define LOCHNAGAR2_AIF_LRCLK_DIR_SHIFT                    14
 184 #define LOCHNAGAR2_AIF_BCLK_DIR_MASK                  0x2000
 185 #define LOCHNAGAR2_AIF_BCLK_DIR_SHIFT                     13
 186 #define LOCHNAGAR2_AIF_SRC_MASK                       0x00FF
 187 #define LOCHNAGAR2_AIF_SRC_SHIFT                           0
 188 
 189 /* (0x001E - 0x0027)  CDC_MCLK1_CTRL - SOUNDCARD_MCLK_CTRL */
 190 #define LOCHNAGAR2_CLK_ENA_MASK                       0x8000
 191 #define LOCHNAGAR2_CLK_ENA_SHIFT                          15
 192 #define LOCHNAGAR2_CLK_SRC_MASK                       0x00FF
 193 #define LOCHNAGAR2_CLK_SRC_SHIFT                           0
 194 
 195 /* (0x0031 - 0x009A)  GPIO_FPGA_GPIO1 - GPIO_DSP_GPIO20 */
 196 #define LOCHNAGAR2_GPIO_SRC_MASK                      0x00FF
 197 #define LOCHNAGAR2_GPIO_SRC_SHIFT                          0
 198 
 199 /* (0x00B9 - 0x00C8)  GPIO_CHANNEL1 - GPIO_CHANNEL16 */
 200 #define LOCHNAGAR2_GPIO_CHANNEL_STS_MASK              0x8000
 201 #define LOCHNAGAR2_GPIO_CHANNEL_STS_SHIFT                 15
 202 #define LOCHNAGAR2_GPIO_CHANNEL_SRC_MASK              0x00FF
 203 #define LOCHNAGAR2_GPIO_CHANNEL_SRC_SHIFT                  0
 204 
 205 /* (0x00DF)  MINICARD_RESETS */
 206 #define LOCHNAGAR2_DSP_RESET_MASK                     0x0002
 207 #define LOCHNAGAR2_DSP_RESET_SHIFT                         1
 208 #define LOCHNAGAR2_CDC_RESET_MASK                     0x0001
 209 #define LOCHNAGAR2_CDC_RESET_SHIFT                         0
 210 
 211 /* (0x00E3)  ANALOGUE_PATH_CTRL1 */
 212 #define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_MASK          0x8000
 213 #define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_SHIFT             15
 214 #define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_STS_MASK      0x4000
 215 #define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_STS_SHIFT         14
 216 
 217 /* (0x00E4)  ANALOGUE_PATH_CTRL2 */
 218 #define LOCHNAGAR2_P2_INPUT_BIAS_ENA_MASK             0x0080
 219 #define LOCHNAGAR2_P2_INPUT_BIAS_ENA_SHIFT                 7
 220 #define LOCHNAGAR2_P1_INPUT_BIAS_ENA_MASK             0x0040
 221 #define LOCHNAGAR2_P1_INPUT_BIAS_ENA_SHIFT                 6
 222 #define LOCHNAGAR2_P2_MICBIAS_SRC_MASK                0x0038
 223 #define LOCHNAGAR2_P2_MICBIAS_SRC_SHIFT                    3
 224 #define LOCHNAGAR2_P1_MICBIAS_SRC_MASK                0x0007
 225 #define LOCHNAGAR2_P1_MICBIAS_SRC_SHIFT                    0
 226 
 227 /* (0x00F0)  COMMS_CTRL4 */
 228 #define LOCHNAGAR2_CDC_CIF1MODE_MASK                  0x0001
 229 #define LOCHNAGAR2_CDC_CIF1MODE_SHIFT                      0
 230 
 231 /* (0x00FE)  SPDIF_CTRL */
 232 #define LOCHNAGAR2_SPDIF_HWMODE_MASK                  0x0008
 233 #define LOCHNAGAR2_SPDIF_HWMODE_SHIFT                      3
 234 #define LOCHNAGAR2_SPDIF_RESET_MASK                   0x0001
 235 #define LOCHNAGAR2_SPDIF_RESET_SHIFT                       0
 236 
 237 /* (0x0108)  IMON_CTRL1 */
 238 #define LOCHNAGAR2_IMON_ENA_MASK                      0x8000
 239 #define LOCHNAGAR2_IMON_ENA_SHIFT                         15
 240 #define LOCHNAGAR2_IMON_MEASURED_CHANNELS_MASK        0x03FC
 241 #define LOCHNAGAR2_IMON_MEASURED_CHANNELS_SHIFT            2
 242 #define LOCHNAGAR2_IMON_MODE_SEL_MASK                 0x0003
 243 #define LOCHNAGAR2_IMON_MODE_SEL_SHIFT                     0
 244 
 245 /* (0x0109)  IMON_CTRL2 */
 246 #define LOCHNAGAR2_IMON_FSR_MASK                      0x03FF
 247 #define LOCHNAGAR2_IMON_FSR_SHIFT                          0
 248 
 249 /* (0x010A)  IMON_CTRL3 */
 250 #define LOCHNAGAR2_IMON_DONE_MASK                     0x0004
 251 #define LOCHNAGAR2_IMON_DONE_SHIFT                         2
 252 #define LOCHNAGAR2_IMON_CONFIGURE_MASK                0x0002
 253 #define LOCHNAGAR2_IMON_CONFIGURE_SHIFT                    1
 254 #define LOCHNAGAR2_IMON_MEASURE_MASK                  0x0001
 255 #define LOCHNAGAR2_IMON_MEASURE_SHIFT                      0
 256 
 257 /* (0x010B)  IMON_CTRL4 */
 258 #define LOCHNAGAR2_IMON_DATA_REQ_MASK                 0x0080
 259 #define LOCHNAGAR2_IMON_DATA_REQ_SHIFT                     7
 260 #define LOCHNAGAR2_IMON_CH_SEL_MASK                   0x0070
 261 #define LOCHNAGAR2_IMON_CH_SEL_SHIFT                       4
 262 #define LOCHNAGAR2_IMON_DATA_RDY_MASK                 0x0008
 263 #define LOCHNAGAR2_IMON_DATA_RDY_SHIFT                     3
 264 #define LOCHNAGAR2_IMON_CH_SRC_MASK                   0x0007
 265 #define LOCHNAGAR2_IMON_CH_SRC_SHIFT                       0
 266 
 267 /* (0x010C, 0x010D)  IMON_DATA1, IMON_DATA2 */
 268 #define LOCHNAGAR2_IMON_DATA_MASK                     0xFFFF
 269 #define LOCHNAGAR2_IMON_DATA_SHIFT                         0
 270 
 271 /* (0x0116)  POWER_CTRL */
 272 #define LOCHNAGAR2_PWR_ENA_MASK                       0x0001
 273 #define LOCHNAGAR2_PWR_ENA_SHIFT                           0
 274 
 275 /* (0x0119)  MICVDD_CTRL1 */
 276 #define LOCHNAGAR2_MICVDD_REG_ENA_MASK                0x8000
 277 #define LOCHNAGAR2_MICVDD_REG_ENA_SHIFT                   15
 278 
 279 /* (0x011B)  MICVDD_CTRL2 */
 280 #define LOCHNAGAR2_MICVDD_VSEL_MASK                   0x001F
 281 #define LOCHNAGAR2_MICVDD_VSEL_SHIFT                       0
 282 
 283 /* (0x011E)  VDDCORE_CDC_CTRL1 */
 284 #define LOCHNAGAR2_VDDCORE_CDC_REG_ENA_MASK           0x8000
 285 #define LOCHNAGAR2_VDDCORE_CDC_REG_ENA_SHIFT              15
 286 
 287 /* (0x0120)  VDDCORE_CDC_CTRL2 */
 288 #define LOCHNAGAR2_VDDCORE_CDC_VSEL_MASK              0x007F
 289 #define LOCHNAGAR2_VDDCORE_CDC_VSEL_SHIFT                  0
 290 
 291 #endif

/* [<][>][^][v][top][bottom][index][help] */