diff options
| author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
|---|---|---|
| committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
| commit | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch) | |
| tree | a8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /include/linux/mfd | |
| parent | 406089d01562f1e2bf9f089fd7637009ebaad589 (diff) | |
Patched in Tegra support.
Diffstat (limited to 'include/linux/mfd')
81 files changed, 1043 insertions, 21471 deletions
diff --git a/include/linux/mfd/88pm80x.h b/include/linux/mfd/88pm80x.h deleted file mode 100644 index 478672ed0c3..00000000000 --- a/include/linux/mfd/88pm80x.h +++ /dev/null | |||
| @@ -1,369 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Marvell 88PM80x Interface | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Marvell International Ltd. | ||
| 5 | * Qiao Zhou <zhouqiao@marvell.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | */ | ||
| 11 | |||
| 12 | #ifndef __LINUX_MFD_88PM80X_H | ||
| 13 | #define __LINUX_MFD_88PM80X_H | ||
| 14 | |||
| 15 | #include <linux/platform_device.h> | ||
| 16 | #include <linux/interrupt.h> | ||
| 17 | #include <linux/regmap.h> | ||
| 18 | #include <linux/atomic.h> | ||
| 19 | |||
| 20 | #define PM80X_VERSION_MASK (0xFF) /* 80X chip ID mask */ | ||
| 21 | enum { | ||
| 22 | CHIP_INVALID = 0, | ||
| 23 | CHIP_PM800, | ||
| 24 | CHIP_PM805, | ||
| 25 | CHIP_MAX, | ||
| 26 | }; | ||
| 27 | |||
| 28 | enum { | ||
| 29 | PM800_ID_BUCK1 = 0, | ||
| 30 | PM800_ID_BUCK2, | ||
| 31 | PM800_ID_BUCK3, | ||
| 32 | PM800_ID_BUCK4, | ||
| 33 | PM800_ID_BUCK5, | ||
| 34 | |||
| 35 | PM800_ID_LDO1, | ||
| 36 | PM800_ID_LDO2, | ||
| 37 | PM800_ID_LDO3, | ||
| 38 | PM800_ID_LDO4, | ||
| 39 | PM800_ID_LDO5, | ||
| 40 | PM800_ID_LDO6, | ||
| 41 | PM800_ID_LDO7, | ||
| 42 | PM800_ID_LDO8, | ||
| 43 | PM800_ID_LDO9, | ||
| 44 | PM800_ID_LDO10, | ||
| 45 | PM800_ID_LDO11, | ||
| 46 | PM800_ID_LDO12, | ||
| 47 | PM800_ID_LDO13, | ||
| 48 | PM800_ID_LDO14, | ||
| 49 | PM800_ID_LDO15, | ||
| 50 | PM800_ID_LDO16, | ||
| 51 | PM800_ID_LDO17, | ||
| 52 | PM800_ID_LDO18, | ||
| 53 | PM800_ID_LDO19, | ||
| 54 | |||
| 55 | PM800_ID_RG_MAX, | ||
| 56 | }; | ||
| 57 | #define PM800_MAX_REGULATOR PM800_ID_RG_MAX /* 5 Bucks, 19 LDOs */ | ||
| 58 | #define PM800_NUM_BUCK (5) /*5 Bucks */ | ||
| 59 | #define PM800_NUM_LDO (19) /*19 Bucks */ | ||
| 60 | |||
| 61 | /* page 0 basic: slave adder 0x60 */ | ||
| 62 | |||
| 63 | #define PM800_STATUS_1 (0x01) | ||
| 64 | #define PM800_ONKEY_STS1 (1 << 0) | ||
| 65 | #define PM800_EXTON_STS1 (1 << 1) | ||
| 66 | #define PM800_CHG_STS1 (1 << 2) | ||
| 67 | #define PM800_BAT_STS1 (1 << 3) | ||
| 68 | #define PM800_VBUS_STS1 (1 << 4) | ||
| 69 | #define PM800_LDO_PGOOD_STS1 (1 << 5) | ||
| 70 | #define PM800_BUCK_PGOOD_STS1 (1 << 6) | ||
| 71 | |||
| 72 | #define PM800_STATUS_2 (0x02) | ||
| 73 | #define PM800_RTC_ALARM_STS2 (1 << 0) | ||
| 74 | |||
| 75 | /* Wakeup Registers */ | ||
| 76 | #define PM800_WAKEUP1 (0x0D) | ||
| 77 | |||
| 78 | #define PM800_WAKEUP2 (0x0E) | ||
| 79 | #define PM800_WAKEUP2_INV_INT (1 << 0) | ||
| 80 | #define PM800_WAKEUP2_INT_CLEAR (1 << 1) | ||
| 81 | #define PM800_WAKEUP2_INT_MASK (1 << 2) | ||
| 82 | |||
| 83 | #define PM800_POWER_UP_LOG (0x10) | ||
| 84 | |||
| 85 | /* Referance and low power registers */ | ||
| 86 | #define PM800_LOW_POWER1 (0x20) | ||
| 87 | #define PM800_LOW_POWER2 (0x21) | ||
| 88 | #define PM800_LOW_POWER_CONFIG3 (0x22) | ||
| 89 | #define PM800_LOW_POWER_CONFIG4 (0x23) | ||
| 90 | |||
| 91 | /* GPIO register */ | ||
| 92 | #define PM800_GPIO_0_1_CNTRL (0x30) | ||
| 93 | #define PM800_GPIO0_VAL (1 << 0) | ||
| 94 | #define PM800_GPIO0_GPIO_MODE(x) (x << 1) | ||
| 95 | #define PM800_GPIO1_VAL (1 << 4) | ||
| 96 | #define PM800_GPIO1_GPIO_MODE(x) (x << 5) | ||
| 97 | |||
| 98 | #define PM800_GPIO_2_3_CNTRL (0x31) | ||
| 99 | #define PM800_GPIO2_VAL (1 << 0) | ||
| 100 | #define PM800_GPIO2_GPIO_MODE(x) (x << 1) | ||
| 101 | #define PM800_GPIO3_VAL (1 << 4) | ||
| 102 | #define PM800_GPIO3_GPIO_MODE(x) (x << 5) | ||
| 103 | #define PM800_GPIO3_MODE_MASK 0x1F | ||
| 104 | #define PM800_GPIO3_HEADSET_MODE PM800_GPIO3_GPIO_MODE(6) | ||
| 105 | |||
| 106 | #define PM800_GPIO_4_CNTRL (0x32) | ||
| 107 | #define PM800_GPIO4_VAL (1 << 0) | ||
| 108 | #define PM800_GPIO4_GPIO_MODE(x) (x << 1) | ||
| 109 | |||
| 110 | #define PM800_HEADSET_CNTRL (0x38) | ||
| 111 | #define PM800_HEADSET_DET_EN (1 << 7) | ||
| 112 | #define PM800_HSDET_SLP (1 << 1) | ||
| 113 | /* PWM register */ | ||
| 114 | #define PM800_PWM1 (0x40) | ||
| 115 | #define PM800_PWM2 (0x41) | ||
| 116 | #define PM800_PWM3 (0x42) | ||
| 117 | #define PM800_PWM4 (0x43) | ||
| 118 | |||
| 119 | /* RTC Registers */ | ||
| 120 | #define PM800_RTC_CONTROL (0xD0) | ||
| 121 | #define PM800_RTC_MISC1 (0xE1) | ||
| 122 | #define PM800_RTC_MISC2 (0xE2) | ||
| 123 | #define PM800_RTC_MISC3 (0xE3) | ||
| 124 | #define PM800_RTC_MISC4 (0xE4) | ||
| 125 | #define PM800_RTC_MISC5 (0xE7) | ||
| 126 | /* bit definitions of RTC Register 1 (0xD0) */ | ||
| 127 | #define PM800_ALARM1_EN (1 << 0) | ||
| 128 | #define PM800_ALARM_WAKEUP (1 << 4) | ||
| 129 | #define PM800_ALARM (1 << 5) | ||
| 130 | #define PM800_RTC1_USE_XO (1 << 7) | ||
| 131 | |||
| 132 | /* Regulator Control Registers: BUCK1,BUCK5,LDO1 have DVC */ | ||
| 133 | |||
| 134 | /* buck registers */ | ||
| 135 | #define PM800_SLEEP_BUCK1 (0x30) | ||
| 136 | |||
| 137 | /* BUCK Sleep Mode Register 1: BUCK[1..4] */ | ||
| 138 | #define PM800_BUCK_SLP1 (0x5A) | ||
| 139 | #define PM800_BUCK1_SLP1_SHIFT 0 | ||
| 140 | #define PM800_BUCK1_SLP1_MASK (0x3 << PM800_BUCK1_SLP1_SHIFT) | ||
| 141 | |||
| 142 | /* page 2 GPADC: slave adder 0x02 */ | ||
| 143 | #define PM800_GPADC_MEAS_EN1 (0x01) | ||
| 144 | #define PM800_MEAS_EN1_VBAT (1 << 2) | ||
| 145 | #define PM800_GPADC_MEAS_EN2 (0x02) | ||
| 146 | #define PM800_MEAS_EN2_RFTMP (1 << 0) | ||
| 147 | #define PM800_MEAS_GP0_EN (1 << 2) | ||
| 148 | #define PM800_MEAS_GP1_EN (1 << 3) | ||
| 149 | #define PM800_MEAS_GP2_EN (1 << 4) | ||
| 150 | #define PM800_MEAS_GP3_EN (1 << 5) | ||
| 151 | #define PM800_MEAS_GP4_EN (1 << 6) | ||
| 152 | |||
| 153 | #define PM800_GPADC_MISC_CONFIG1 (0x05) | ||
| 154 | #define PM800_GPADC_MISC_CONFIG2 (0x06) | ||
| 155 | #define PM800_GPADC_MISC_GPFSM_EN (1 << 0) | ||
| 156 | #define PM800_GPADC_SLOW_MODE(x) (x << 3) | ||
| 157 | |||
| 158 | #define PM800_GPADC_MISC_CONFIG3 (0x09) | ||
| 159 | #define PM800_GPADC_MISC_CONFIG4 (0x0A) | ||
| 160 | |||
| 161 | #define PM800_GPADC_PREBIAS1 (0x0F) | ||
| 162 | #define PM800_GPADC0_GP_PREBIAS_TIME(x) (x << 0) | ||
| 163 | #define PM800_GPADC_PREBIAS2 (0x10) | ||
| 164 | |||
| 165 | #define PM800_GP_BIAS_ENA1 (0x14) | ||
| 166 | #define PM800_GPADC_GP_BIAS_EN0 (1 << 0) | ||
| 167 | #define PM800_GPADC_GP_BIAS_EN1 (1 << 1) | ||
| 168 | #define PM800_GPADC_GP_BIAS_EN2 (1 << 2) | ||
| 169 | #define PM800_GPADC_GP_BIAS_EN3 (1 << 3) | ||
| 170 | |||
| 171 | #define PM800_GP_BIAS_OUT1 (0x15) | ||
| 172 | #define PM800_BIAS_OUT_GP0 (1 << 0) | ||
| 173 | #define PM800_BIAS_OUT_GP1 (1 << 1) | ||
| 174 | #define PM800_BIAS_OUT_GP2 (1 << 2) | ||
| 175 | #define PM800_BIAS_OUT_GP3 (1 << 3) | ||
| 176 | |||
| 177 | #define PM800_GPADC0_LOW_TH 0x20 | ||
| 178 | #define PM800_GPADC1_LOW_TH 0x21 | ||
| 179 | #define PM800_GPADC2_LOW_TH 0x22 | ||
| 180 | #define PM800_GPADC3_LOW_TH 0x23 | ||
| 181 | #define PM800_GPADC4_LOW_TH 0x24 | ||
| 182 | |||
| 183 | #define PM800_GPADC0_UPP_TH 0x30 | ||
| 184 | #define PM800_GPADC1_UPP_TH 0x31 | ||
| 185 | #define PM800_GPADC2_UPP_TH 0x32 | ||
| 186 | #define PM800_GPADC3_UPP_TH 0x33 | ||
| 187 | #define PM800_GPADC4_UPP_TH 0x34 | ||
| 188 | |||
| 189 | #define PM800_VBBAT_MEAS1 0x40 | ||
| 190 | #define PM800_VBBAT_MEAS2 0x41 | ||
| 191 | #define PM800_VBAT_MEAS1 0x42 | ||
| 192 | #define PM800_VBAT_MEAS2 0x43 | ||
| 193 | #define PM800_VSYS_MEAS1 0x44 | ||
| 194 | #define PM800_VSYS_MEAS2 0x45 | ||
| 195 | #define PM800_VCHG_MEAS1 0x46 | ||
| 196 | #define PM800_VCHG_MEAS2 0x47 | ||
| 197 | #define PM800_TINT_MEAS1 0x50 | ||
| 198 | #define PM800_TINT_MEAS2 0x51 | ||
| 199 | #define PM800_PMOD_MEAS1 0x52 | ||
| 200 | #define PM800_PMOD_MEAS2 0x53 | ||
| 201 | |||
| 202 | #define PM800_GPADC0_MEAS1 0x54 | ||
| 203 | #define PM800_GPADC0_MEAS2 0x55 | ||
| 204 | #define PM800_GPADC1_MEAS1 0x56 | ||
| 205 | #define PM800_GPADC1_MEAS2 0x57 | ||
| 206 | #define PM800_GPADC2_MEAS1 0x58 | ||
| 207 | #define PM800_GPADC2_MEAS2 0x59 | ||
| 208 | #define PM800_GPADC3_MEAS1 0x5A | ||
| 209 | #define PM800_GPADC3_MEAS2 0x5B | ||
| 210 | #define PM800_GPADC4_MEAS1 0x5C | ||
| 211 | #define PM800_GPADC4_MEAS2 0x5D | ||
| 212 | |||
| 213 | #define PM800_GPADC4_AVG1 0xA8 | ||
| 214 | #define PM800_GPADC4_AVG2 0xA9 | ||
| 215 | |||
| 216 | /* 88PM805 Registers */ | ||
| 217 | #define PM805_MAIN_POWERUP (0x01) | ||
| 218 | #define PM805_INT_STATUS0 (0x02) /* for ena/dis all interrupts */ | ||
| 219 | |||
| 220 | #define PM805_STATUS0_INT_CLEAR (1 << 0) | ||
| 221 | #define PM805_STATUS0_INV_INT (1 << 1) | ||
| 222 | #define PM800_STATUS0_INT_MASK (1 << 2) | ||
| 223 | |||
| 224 | #define PM805_INT_STATUS1 (0x03) | ||
| 225 | |||
| 226 | #define PM805_INT1_HP1_SHRT (1 << 0) | ||
| 227 | #define PM805_INT1_HP2_SHRT (1 << 1) | ||
| 228 | #define PM805_INT1_MIC_CONFLICT (1 << 2) | ||
| 229 | #define PM805_INT1_CLIP_FAULT (1 << 3) | ||
| 230 | #define PM805_INT1_LDO_OFF (1 << 4) | ||
| 231 | #define PM805_INT1_SRC_DPLL_LOCK (1 << 5) | ||
| 232 | |||
| 233 | #define PM805_INT_STATUS2 (0x04) | ||
| 234 | |||
| 235 | #define PM805_INT2_MIC_DET (1 << 0) | ||
| 236 | #define PM805_INT2_SHRT_BTN_DET (1 << 1) | ||
| 237 | #define PM805_INT2_VOLM_BTN_DET (1 << 2) | ||
| 238 | #define PM805_INT2_VOLP_BTN_DET (1 << 3) | ||
| 239 | #define PM805_INT2_RAW_PLL_FAULT (1 << 4) | ||
| 240 | #define PM805_INT2_FINE_PLL_FAULT (1 << 5) | ||
| 241 | |||
| 242 | #define PM805_INT_MASK1 (0x05) | ||
| 243 | #define PM805_INT_MASK2 (0x06) | ||
| 244 | #define PM805_SHRT_BTN_DET (1 << 1) | ||
| 245 | |||
| 246 | /* number of status and int reg in a row */ | ||
| 247 | #define PM805_INT_REG_NUM (2) | ||
| 248 | |||
| 249 | #define PM805_MIC_DET1 (0x07) | ||
| 250 | #define PM805_MIC_DET_EN_MIC_DET (1 << 0) | ||
| 251 | #define PM805_MIC_DET2 (0x08) | ||
| 252 | #define PM805_MIC_DET_STATUS1 (0x09) | ||
| 253 | |||
| 254 | #define PM805_MIC_DET_STATUS3 (0x0A) | ||
| 255 | #define PM805_AUTO_SEQ_STATUS1 (0x0B) | ||
| 256 | #define PM805_AUTO_SEQ_STATUS2 (0x0C) | ||
| 257 | |||
| 258 | #define PM805_ADC_SETTING1 (0x10) | ||
| 259 | #define PM805_ADC_SETTING2 (0x11) | ||
| 260 | #define PM805_ADC_SETTING3 (0x11) | ||
| 261 | #define PM805_ADC_GAIN1 (0x12) | ||
| 262 | #define PM805_ADC_GAIN2 (0x13) | ||
| 263 | #define PM805_DMIC_SETTING (0x15) | ||
| 264 | #define PM805_DWS_SETTING (0x16) | ||
| 265 | #define PM805_MIC_CONFLICT_STS (0x17) | ||
| 266 | |||
| 267 | #define PM805_PDM_SETTING1 (0x20) | ||
| 268 | #define PM805_PDM_SETTING2 (0x21) | ||
| 269 | #define PM805_PDM_SETTING3 (0x22) | ||
| 270 | #define PM805_PDM_CONTROL1 (0x23) | ||
| 271 | #define PM805_PDM_CONTROL2 (0x24) | ||
| 272 | #define PM805_PDM_CONTROL3 (0x25) | ||
| 273 | |||
| 274 | #define PM805_HEADPHONE_SETTING (0x26) | ||
| 275 | #define PM805_HEADPHONE_GAIN_A2A (0x27) | ||
| 276 | #define PM805_HEADPHONE_SHORT_STATE (0x28) | ||
| 277 | #define PM805_EARPHONE_SETTING (0x29) | ||
| 278 | #define PM805_AUTO_SEQ_SETTING (0x2A) | ||
| 279 | |||
| 280 | struct pm80x_rtc_pdata { | ||
| 281 | int vrtc; | ||
| 282 | int rtc_wakeup; | ||
| 283 | }; | ||
| 284 | |||
| 285 | struct pm80x_subchip { | ||
| 286 | struct i2c_client *power_page; /* chip client for power page */ | ||
| 287 | struct i2c_client *gpadc_page; /* chip client for gpadc page */ | ||
| 288 | struct regmap *regmap_power; | ||
| 289 | struct regmap *regmap_gpadc; | ||
| 290 | unsigned short power_page_addr; /* power page I2C address */ | ||
| 291 | unsigned short gpadc_page_addr; /* gpadc page I2C address */ | ||
| 292 | }; | ||
| 293 | |||
| 294 | struct pm80x_chip { | ||
| 295 | struct pm80x_subchip *subchip; | ||
| 296 | struct device *dev; | ||
| 297 | struct i2c_client *client; | ||
| 298 | struct i2c_client *companion; | ||
| 299 | struct regmap *regmap; | ||
| 300 | struct regmap_irq_chip *regmap_irq_chip; | ||
| 301 | struct regmap_irq_chip_data *irq_data; | ||
| 302 | unsigned char version; | ||
| 303 | int id; | ||
| 304 | int irq; | ||
| 305 | int irq_mode; | ||
| 306 | unsigned long wu_flag; | ||
| 307 | spinlock_t lock; | ||
| 308 | }; | ||
| 309 | |||
| 310 | struct pm80x_platform_data { | ||
| 311 | struct pm80x_rtc_pdata *rtc; | ||
| 312 | unsigned short power_page_addr; /* power page I2C address */ | ||
| 313 | unsigned short gpadc_page_addr; /* gpadc page I2C address */ | ||
| 314 | int irq_mode; /* Clear interrupt by read/write(0/1) */ | ||
| 315 | int batt_det; /* enable/disable */ | ||
| 316 | int (*plat_config)(struct pm80x_chip *chip, | ||
| 317 | struct pm80x_platform_data *pdata); | ||
| 318 | }; | ||
| 319 | |||
| 320 | extern const struct dev_pm_ops pm80x_pm_ops; | ||
| 321 | extern const struct regmap_config pm80x_regmap_config; | ||
| 322 | |||
| 323 | static inline int pm80x_request_irq(struct pm80x_chip *pm80x, int irq, | ||
| 324 | irq_handler_t handler, unsigned long flags, | ||
| 325 | const char *name, void *data) | ||
| 326 | { | ||
| 327 | if (!pm80x->irq_data) | ||
| 328 | return -EINVAL; | ||
| 329 | return request_threaded_irq(regmap_irq_get_virq(pm80x->irq_data, irq), | ||
| 330 | NULL, handler, flags, name, data); | ||
| 331 | } | ||
| 332 | |||
| 333 | static inline void pm80x_free_irq(struct pm80x_chip *pm80x, int irq, void *data) | ||
| 334 | { | ||
| 335 | if (!pm80x->irq_data) | ||
| 336 | return; | ||
| 337 | free_irq(regmap_irq_get_virq(pm80x->irq_data, irq), data); | ||
| 338 | } | ||
| 339 | |||
| 340 | #ifdef CONFIG_PM | ||
| 341 | static inline int pm80x_dev_suspend(struct device *dev) | ||
| 342 | { | ||
| 343 | struct platform_device *pdev = to_platform_device(dev); | ||
| 344 | struct pm80x_chip *chip = dev_get_drvdata(pdev->dev.parent); | ||
| 345 | int irq = platform_get_irq(pdev, 0); | ||
| 346 | |||
| 347 | if (device_may_wakeup(dev)) | ||
| 348 | set_bit((1 << irq), &chip->wu_flag); | ||
| 349 | |||
| 350 | return 0; | ||
| 351 | } | ||
| 352 | |||
| 353 | static inline int pm80x_dev_resume(struct device *dev) | ||
| 354 | { | ||
| 355 | struct platform_device *pdev = to_platform_device(dev); | ||
| 356 | struct pm80x_chip *chip = dev_get_drvdata(pdev->dev.parent); | ||
| 357 | int irq = platform_get_irq(pdev, 0); | ||
| 358 | |||
| 359 | if (device_may_wakeup(dev)) | ||
| 360 | clear_bit((1 << irq), &chip->wu_flag); | ||
| 361 | |||
| 362 | return 0; | ||
| 363 | } | ||
| 364 | #endif | ||
| 365 | |||
| 366 | extern int pm80x_init(struct i2c_client *client, | ||
| 367 | const struct i2c_device_id *id); | ||
| 368 | extern int pm80x_deinit(struct i2c_client *client); | ||
| 369 | #endif /* __LINUX_MFD_88PM80X_H */ | ||
diff --git a/include/linux/mfd/88pm860x.h b/include/linux/mfd/88pm860x.h index cd97530205c..63b4fb8e3b6 100644 --- a/include/linux/mfd/88pm860x.h +++ b/include/linux/mfd/88pm860x.h | |||
| @@ -34,26 +34,27 @@ enum { | |||
| 34 | PM8606_ID_MAX, | 34 | PM8606_ID_MAX, |
| 35 | }; | 35 | }; |
| 36 | 36 | ||
| 37 | enum { | ||
| 38 | PM8606_BACKLIGHT1 = 0, | ||
| 39 | PM8606_BACKLIGHT2, | ||
| 40 | PM8606_BACKLIGHT3, | ||
| 41 | }; | ||
| 42 | |||
| 43 | enum { | ||
| 44 | PM8606_LED1_RED = 0, | ||
| 45 | PM8606_LED1_GREEN, | ||
| 46 | PM8606_LED1_BLUE, | ||
| 47 | PM8606_LED2_RED, | ||
| 48 | PM8606_LED2_GREEN, | ||
| 49 | PM8606_LED2_BLUE, | ||
| 50 | PM8607_LED_VIBRATOR, | ||
| 51 | }; | ||
| 52 | |||
| 37 | 53 | ||
| 38 | /* 8606 Registers */ | 54 | /* 8606 Registers */ |
| 39 | #define PM8606_DCM_BOOST (0x00) | 55 | #define PM8606_DCM_BOOST (0x00) |
| 40 | #define PM8606_PWM (0x01) | 56 | #define PM8606_PWM (0x01) |
| 41 | 57 | ||
| 42 | #define PM8607_MISC2 (0x42) | ||
| 43 | |||
| 44 | /* Power Up Log Register */ | ||
| 45 | #define PM8607_POWER_UP_LOG (0x3F) | ||
| 46 | |||
| 47 | /* Charger Control Registers */ | ||
| 48 | #define PM8607_CCNT (0x47) | ||
| 49 | #define PM8607_CHG_CTRL1 (0x48) | ||
| 50 | #define PM8607_CHG_CTRL2 (0x49) | ||
| 51 | #define PM8607_CHG_CTRL3 (0x4A) | ||
| 52 | #define PM8607_CHG_CTRL4 (0x4B) | ||
| 53 | #define PM8607_CHG_CTRL5 (0x4C) | ||
| 54 | #define PM8607_CHG_CTRL6 (0x4D) | ||
| 55 | #define PM8607_CHG_CTRL7 (0x4E) | ||
| 56 | |||
| 57 | /* Backlight Registers */ | 58 | /* Backlight Registers */ |
| 58 | #define PM8606_WLED1A (0x02) | 59 | #define PM8606_WLED1A (0x02) |
| 59 | #define PM8606_WLED1B (0x03) | 60 | #define PM8606_WLED1B (0x03) |
| @@ -135,7 +136,6 @@ enum { | |||
| 135 | PM8607_ID_LDO13, | 136 | PM8607_ID_LDO13, |
| 136 | PM8607_ID_LDO14, | 137 | PM8607_ID_LDO14, |
| 137 | PM8607_ID_LDO15, | 138 | PM8607_ID_LDO15, |
| 138 | PM8606_ID_PREG, | ||
| 139 | 139 | ||
| 140 | PM8607_ID_RG_MAX, | 140 | PM8607_ID_RG_MAX, |
| 141 | }; | 141 | }; |
| @@ -204,71 +204,6 @@ enum { | |||
| 204 | #define PM8607_PD_PREBIAS (0x56) /* prebias time */ | 204 | #define PM8607_PD_PREBIAS (0x56) /* prebias time */ |
| 205 | #define PM8607_GPADC_MISC1 (0x57) | 205 | #define PM8607_GPADC_MISC1 (0x57) |
| 206 | 206 | ||
| 207 | /* bit definitions of MEAS_EN1*/ | ||
| 208 | #define PM8607_MEAS_EN1_VBAT (1 << 0) | ||
| 209 | #define PM8607_MEAS_EN1_VCHG (1 << 1) | ||
| 210 | #define PM8607_MEAS_EN1_VSYS (1 << 2) | ||
| 211 | #define PM8607_MEAS_EN1_TINT (1 << 3) | ||
| 212 | #define PM8607_MEAS_EN1_RFTMP (1 << 4) | ||
| 213 | #define PM8607_MEAS_EN1_TBAT (1 << 5) | ||
| 214 | #define PM8607_MEAS_EN1_GPADC2 (1 << 6) | ||
| 215 | #define PM8607_MEAS_EN1_GPADC3 (1 << 7) | ||
| 216 | |||
| 217 | /* Battery Monitor Registers */ | ||
| 218 | #define PM8607_GP_BIAS2 (0x5A) | ||
| 219 | #define PM8607_VBAT_LOWTH (0x5B) | ||
| 220 | #define PM8607_VCHG_LOWTH (0x5C) | ||
| 221 | #define PM8607_VSYS_LOWTH (0x5D) | ||
| 222 | #define PM8607_TINT_LOWTH (0x5E) | ||
| 223 | #define PM8607_GPADC0_LOWTH (0x5F) | ||
| 224 | #define PM8607_GPADC1_LOWTH (0x60) | ||
| 225 | #define PM8607_GPADC2_LOWTH (0x61) | ||
| 226 | #define PM8607_GPADC3_LOWTH (0x62) | ||
| 227 | #define PM8607_VBAT_HIGHTH (0x63) | ||
| 228 | #define PM8607_VCHG_HIGHTH (0x64) | ||
| 229 | #define PM8607_VSYS_HIGHTH (0x65) | ||
| 230 | #define PM8607_TINT_HIGHTH (0x66) | ||
| 231 | #define PM8607_GPADC0_HIGHTH (0x67) | ||
| 232 | #define PM8607_GPADC1_HIGHTH (0x68) | ||
| 233 | #define PM8607_GPADC2_HIGHTH (0x69) | ||
| 234 | #define PM8607_GPADC3_HIGHTH (0x6A) | ||
| 235 | #define PM8607_IBAT_MEAS1 (0x6B) | ||
| 236 | #define PM8607_IBAT_MEAS2 (0x6C) | ||
| 237 | #define PM8607_VBAT_MEAS1 (0x6D) | ||
| 238 | #define PM8607_VBAT_MEAS2 (0x6E) | ||
| 239 | #define PM8607_VCHG_MEAS1 (0x6F) | ||
| 240 | #define PM8607_VCHG_MEAS2 (0x70) | ||
| 241 | #define PM8607_VSYS_MEAS1 (0x71) | ||
| 242 | #define PM8607_VSYS_MEAS2 (0x72) | ||
| 243 | #define PM8607_TINT_MEAS1 (0x73) | ||
| 244 | #define PM8607_TINT_MEAS2 (0x74) | ||
| 245 | #define PM8607_GPADC0_MEAS1 (0x75) | ||
| 246 | #define PM8607_GPADC0_MEAS2 (0x76) | ||
| 247 | #define PM8607_GPADC1_MEAS1 (0x77) | ||
| 248 | #define PM8607_GPADC1_MEAS2 (0x78) | ||
| 249 | #define PM8607_GPADC2_MEAS1 (0x79) | ||
| 250 | #define PM8607_GPADC2_MEAS2 (0x7A) | ||
| 251 | #define PM8607_GPADC3_MEAS1 (0x7B) | ||
| 252 | #define PM8607_GPADC3_MEAS2 (0x7C) | ||
| 253 | #define PM8607_CCNT_MEAS1 (0x95) | ||
| 254 | #define PM8607_CCNT_MEAS2 (0x96) | ||
| 255 | #define PM8607_VBAT_AVG (0x97) | ||
| 256 | #define PM8607_VCHG_AVG (0x98) | ||
| 257 | #define PM8607_VSYS_AVG (0x99) | ||
| 258 | #define PM8607_VBAT_MIN (0x9A) | ||
| 259 | #define PM8607_VCHG_MIN (0x9B) | ||
| 260 | #define PM8607_VSYS_MIN (0x9C) | ||
| 261 | #define PM8607_VBAT_MAX (0x9D) | ||
| 262 | #define PM8607_VCHG_MAX (0x9E) | ||
| 263 | #define PM8607_VSYS_MAX (0x9F) | ||
| 264 | |||
| 265 | #define PM8607_GPADC_MISC2 (0x59) | ||
| 266 | #define PM8607_GPADC0_GP_BIAS_A0 (1 << 0) | ||
| 267 | #define PM8607_GPADC1_GP_BIAS_A1 (1 << 1) | ||
| 268 | #define PM8607_GPADC2_GP_BIAS_A2 (1 << 2) | ||
| 269 | #define PM8607_GPADC3_GP_BIAS_A3 (1 << 3) | ||
| 270 | #define PM8607_GPADC2_GP_BIAS_OUT2 (1 << 6) | ||
| 271 | |||
| 272 | /* RTC Control Registers */ | 207 | /* RTC Control Registers */ |
| 273 | #define PM8607_RTC1 (0xA0) | 208 | #define PM8607_RTC1 (0xA0) |
| 274 | #define PM8607_RTC_COUNTER1 (0xA1) | 209 | #define PM8607_RTC_COUNTER1 (0xA1) |
| @@ -328,22 +263,6 @@ enum { | |||
| 328 | #define PM8607_PD_PREBIAS_MASK (0x1F << 0) | 263 | #define PM8607_PD_PREBIAS_MASK (0x1F << 0) |
| 329 | #define PM8607_PD_PRECHG_MASK (7 << 5) | 264 | #define PM8607_PD_PRECHG_MASK (7 << 5) |
| 330 | 265 | ||
| 331 | #define PM8606_REF_GP_OSC_OFF 0 | ||
| 332 | #define PM8606_REF_GP_OSC_ON 1 | ||
| 333 | #define PM8606_REF_GP_OSC_UNKNOWN 2 | ||
| 334 | |||
| 335 | /* Clients of reference group and 8MHz oscillator in 88PM8606 */ | ||
| 336 | enum pm8606_ref_gp_and_osc_clients { | ||
| 337 | REF_GP_NO_CLIENTS = 0, | ||
| 338 | WLED1_DUTY = (1<<0), /*PF 0x02.7:0*/ | ||
| 339 | WLED2_DUTY = (1<<1), /*PF 0x04.7:0*/ | ||
| 340 | WLED3_DUTY = (1<<2), /*PF 0x06.7:0*/ | ||
| 341 | RGB1_ENABLE = (1<<3), /*PF 0x07.1*/ | ||
| 342 | RGB2_ENABLE = (1<<4), /*PF 0x07.2*/ | ||
| 343 | LDO_VBR_EN = (1<<5), /*PF 0x12.0*/ | ||
| 344 | REF_GP_MAX_CLIENT = 0xFFFF | ||
| 345 | }; | ||
| 346 | |||
| 347 | /* Interrupt Number in 88PM8607 */ | 266 | /* Interrupt Number in 88PM8607 */ |
| 348 | enum { | 267 | enum { |
| 349 | PM8607_IRQ_ONKEY, | 268 | PM8607_IRQ_ONKEY, |
| @@ -378,24 +297,19 @@ enum { | |||
| 378 | 297 | ||
| 379 | struct pm860x_chip { | 298 | struct pm860x_chip { |
| 380 | struct device *dev; | 299 | struct device *dev; |
| 300 | struct mutex io_lock; | ||
| 381 | struct mutex irq_lock; | 301 | struct mutex irq_lock; |
| 382 | struct mutex osc_lock; | ||
| 383 | struct i2c_client *client; | 302 | struct i2c_client *client; |
| 384 | struct i2c_client *companion; /* companion chip client */ | 303 | struct i2c_client *companion; /* companion chip client */ |
| 385 | struct regmap *regmap; | ||
| 386 | struct regmap *regmap_companion; | ||
| 387 | 304 | ||
| 388 | int buck3_double; /* DVC ramp slope double */ | 305 | int buck3_double; /* DVC ramp slope double */ |
| 389 | int companion_addr; | 306 | unsigned short companion_addr; |
| 390 | unsigned short osc_vote; | ||
| 391 | int id; | 307 | int id; |
| 392 | int irq_mode; | 308 | int irq_mode; |
| 393 | int irq_base; | 309 | int irq_base; |
| 394 | int core_irq; | 310 | int core_irq; |
| 395 | unsigned char chip_version; | 311 | unsigned char chip_version; |
| 396 | unsigned char osc_status; | ||
| 397 | 312 | ||
| 398 | unsigned int wakeup_flag; | ||
| 399 | }; | 313 | }; |
| 400 | 314 | ||
| 401 | enum { | 315 | enum { |
| @@ -404,12 +318,16 @@ enum { | |||
| 404 | }; | 318 | }; |
| 405 | 319 | ||
| 406 | struct pm860x_backlight_pdata { | 320 | struct pm860x_backlight_pdata { |
| 321 | int id; | ||
| 407 | int pwm; | 322 | int pwm; |
| 408 | int iset; | 323 | int iset; |
| 324 | unsigned long flags; | ||
| 409 | }; | 325 | }; |
| 410 | 326 | ||
| 411 | struct pm860x_led_pdata { | 327 | struct pm860x_led_pdata { |
| 328 | int id; | ||
| 412 | int iset; | 329 | int iset; |
| 330 | unsigned long flags; | ||
| 413 | }; | 331 | }; |
| 414 | 332 | ||
| 415 | struct pm860x_rtc_pdata { | 333 | struct pm860x_rtc_pdata { |
| @@ -430,8 +348,7 @@ struct pm860x_touch_pdata { | |||
| 430 | }; | 348 | }; |
| 431 | 349 | ||
| 432 | struct pm860x_power_pdata { | 350 | struct pm860x_power_pdata { |
| 433 | int max_capacity; | 351 | unsigned fast_charge; /* charge current */ |
| 434 | int resistor; | ||
| 435 | }; | 352 | }; |
| 436 | 353 | ||
| 437 | struct pm860x_platform_data { | 354 | struct pm860x_platform_data { |
| @@ -440,35 +357,17 @@ struct pm860x_platform_data { | |||
| 440 | struct pm860x_rtc_pdata *rtc; | 357 | struct pm860x_rtc_pdata *rtc; |
| 441 | struct pm860x_touch_pdata *touch; | 358 | struct pm860x_touch_pdata *touch; |
| 442 | struct pm860x_power_pdata *power; | 359 | struct pm860x_power_pdata *power; |
| 443 | struct regulator_init_data *buck1; | 360 | struct regulator_init_data *regulator; |
| 444 | struct regulator_init_data *buck2; | 361 | |
| 445 | struct regulator_init_data *buck3; | 362 | unsigned short companion_addr; /* I2C address of companion chip */ |
| 446 | struct regulator_init_data *ldo1; | ||
| 447 | struct regulator_init_data *ldo2; | ||
| 448 | struct regulator_init_data *ldo3; | ||
| 449 | struct regulator_init_data *ldo4; | ||
| 450 | struct regulator_init_data *ldo5; | ||
| 451 | struct regulator_init_data *ldo6; | ||
| 452 | struct regulator_init_data *ldo7; | ||
| 453 | struct regulator_init_data *ldo8; | ||
| 454 | struct regulator_init_data *ldo9; | ||
| 455 | struct regulator_init_data *ldo10; | ||
| 456 | struct regulator_init_data *ldo12; | ||
| 457 | struct regulator_init_data *ldo_vibrator; | ||
| 458 | struct regulator_init_data *ldo14; | ||
| 459 | struct charger_desc *chg_desc; | ||
| 460 | |||
| 461 | int companion_addr; /* I2C address of companion chip */ | ||
| 462 | int i2c_port; /* Controlled by GI2C or PI2C */ | 363 | int i2c_port; /* Controlled by GI2C or PI2C */ |
| 463 | int irq_mode; /* Clear interrupt by read/write(0/1) */ | 364 | int irq_mode; /* Clear interrupt by read/write(0/1) */ |
| 464 | int irq_base; /* IRQ base number of 88pm860x */ | 365 | int irq_base; /* IRQ base number of 88pm860x */ |
| 465 | int num_leds; | 366 | int num_leds; |
| 466 | int num_backlights; | 367 | int num_backlights; |
| 368 | int num_regulators; | ||
| 467 | }; | 369 | }; |
| 468 | 370 | ||
| 469 | extern int pm8606_osc_enable(struct pm860x_chip *, unsigned short); | ||
| 470 | extern int pm8606_osc_disable(struct pm860x_chip *, unsigned short); | ||
| 471 | |||
| 472 | extern int pm860x_reg_read(struct i2c_client *, int); | 371 | extern int pm860x_reg_read(struct i2c_client *, int); |
| 473 | extern int pm860x_reg_write(struct i2c_client *, int, unsigned char); | 372 | extern int pm860x_reg_write(struct i2c_client *, int, unsigned char); |
| 474 | extern int pm860x_bulk_read(struct i2c_client *, int, int, unsigned char *); | 373 | extern int pm860x_bulk_read(struct i2c_client *, int, int, unsigned char *); |
| @@ -484,4 +383,8 @@ extern int pm860x_page_bulk_write(struct i2c_client *, int, int, | |||
| 484 | extern int pm860x_page_set_bits(struct i2c_client *, int, unsigned char, | 383 | extern int pm860x_page_set_bits(struct i2c_client *, int, unsigned char, |
| 485 | unsigned char); | 384 | unsigned char); |
| 486 | 385 | ||
| 386 | extern int pm860x_device_init(struct pm860x_chip *chip, | ||
| 387 | struct pm860x_platform_data *pdata) __devinit ; | ||
| 388 | extern void pm860x_device_exit(struct pm860x_chip *chip) __devexit ; | ||
| 389 | |||
| 487 | #endif /* __LINUX_MFD_88PM860X_H */ | 390 | #endif /* __LINUX_MFD_88PM860X_H */ |
diff --git a/include/linux/mfd/ab3100.h b/include/linux/mfd/ab3100.h deleted file mode 100644 index afd3080bde2..00000000000 --- a/include/linux/mfd/ab3100.h +++ /dev/null | |||
| @@ -1,129 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2007-2009 ST-Ericsson AB | ||
| 3 | * License terms: GNU General Public License (GPL) version 2 | ||
| 4 | * AB3100 core access functions | ||
| 5 | * Author: Linus Walleij <linus.walleij@stericsson.com> | ||
| 6 | * | ||
| 7 | */ | ||
| 8 | |||
| 9 | #include <linux/regulator/machine.h> | ||
| 10 | |||
| 11 | struct device; | ||
| 12 | |||
| 13 | #ifndef MFD_AB3100_H | ||
| 14 | #define MFD_AB3100_H | ||
| 15 | |||
| 16 | |||
| 17 | #define AB3100_P1A 0xc0 | ||
| 18 | #define AB3100_P1B 0xc1 | ||
| 19 | #define AB3100_P1C 0xc2 | ||
| 20 | #define AB3100_P1D 0xc3 | ||
| 21 | #define AB3100_P1E 0xc4 | ||
| 22 | #define AB3100_P1F 0xc5 | ||
| 23 | #define AB3100_P1G 0xc6 | ||
| 24 | #define AB3100_R2A 0xc7 | ||
| 25 | #define AB3100_R2B 0xc8 | ||
| 26 | |||
| 27 | /* | ||
| 28 | * AB3100, EVENTA1, A2 and A3 event register flags | ||
| 29 | * these are catenated into a single 32-bit flag in the code | ||
| 30 | * for event notification broadcasts. | ||
| 31 | */ | ||
| 32 | #define AB3100_EVENTA1_ONSWA (0x01<<16) | ||
| 33 | #define AB3100_EVENTA1_ONSWB (0x02<<16) | ||
| 34 | #define AB3100_EVENTA1_ONSWC (0x04<<16) | ||
| 35 | #define AB3100_EVENTA1_DCIO (0x08<<16) | ||
| 36 | #define AB3100_EVENTA1_OVER_TEMP (0x10<<16) | ||
| 37 | #define AB3100_EVENTA1_SIM_OFF (0x20<<16) | ||
| 38 | #define AB3100_EVENTA1_VBUS (0x40<<16) | ||
| 39 | #define AB3100_EVENTA1_VSET_USB (0x80<<16) | ||
| 40 | |||
| 41 | #define AB3100_EVENTA2_READY_TX (0x01<<8) | ||
| 42 | #define AB3100_EVENTA2_READY_RX (0x02<<8) | ||
| 43 | #define AB3100_EVENTA2_OVERRUN_ERROR (0x04<<8) | ||
| 44 | #define AB3100_EVENTA2_FRAMING_ERROR (0x08<<8) | ||
| 45 | #define AB3100_EVENTA2_CHARG_OVERCURRENT (0x10<<8) | ||
| 46 | #define AB3100_EVENTA2_MIDR (0x20<<8) | ||
| 47 | #define AB3100_EVENTA2_BATTERY_REM (0x40<<8) | ||
| 48 | #define AB3100_EVENTA2_ALARM (0x80<<8) | ||
| 49 | |||
| 50 | #define AB3100_EVENTA3_ADC_TRIG5 (0x01) | ||
| 51 | #define AB3100_EVENTA3_ADC_TRIG4 (0x02) | ||
| 52 | #define AB3100_EVENTA3_ADC_TRIG3 (0x04) | ||
| 53 | #define AB3100_EVENTA3_ADC_TRIG2 (0x08) | ||
| 54 | #define AB3100_EVENTA3_ADC_TRIGVBAT (0x10) | ||
| 55 | #define AB3100_EVENTA3_ADC_TRIGVTX (0x20) | ||
| 56 | #define AB3100_EVENTA3_ADC_TRIG1 (0x40) | ||
| 57 | #define AB3100_EVENTA3_ADC_TRIG0 (0x80) | ||
| 58 | |||
| 59 | /* AB3100, STR register flags */ | ||
| 60 | #define AB3100_STR_ONSWA (0x01) | ||
| 61 | #define AB3100_STR_ONSWB (0x02) | ||
| 62 | #define AB3100_STR_ONSWC (0x04) | ||
| 63 | #define AB3100_STR_DCIO (0x08) | ||
| 64 | #define AB3100_STR_BOOT_MODE (0x10) | ||
| 65 | #define AB3100_STR_SIM_OFF (0x20) | ||
| 66 | #define AB3100_STR_BATT_REMOVAL (0x40) | ||
| 67 | #define AB3100_STR_VBUS (0x80) | ||
| 68 | |||
| 69 | /* | ||
| 70 | * AB3100 contains 8 regulators, one external regulator controller | ||
| 71 | * and a buck converter, further the LDO E and buck converter can | ||
| 72 | * have separate settings if they are in sleep mode, this is | ||
| 73 | * modeled as a separate regulator. | ||
| 74 | */ | ||
| 75 | #define AB3100_NUM_REGULATORS 10 | ||
| 76 | |||
| 77 | /** | ||
| 78 | * struct ab3100 | ||
| 79 | * @access_mutex: lock out concurrent accesses to the AB3100 registers | ||
| 80 | * @dev: pointer to the containing device | ||
| 81 | * @i2c_client: I2C client for this chip | ||
| 82 | * @testreg_client: secondary client for test registers | ||
| 83 | * @chip_name: name of this chip variant | ||
| 84 | * @chip_id: 8 bit chip ID for this chip variant | ||
| 85 | * @event_subscribers: event subscribers are listed here | ||
| 86 | * @startup_events: a copy of the first reading of the event registers | ||
| 87 | * @startup_events_read: whether the first events have been read | ||
| 88 | * | ||
| 89 | * This struct is PRIVATE and devices using it should NOT | ||
| 90 | * access ANY fields. It is used as a token for calling the | ||
| 91 | * AB3100 functions. | ||
| 92 | */ | ||
| 93 | struct ab3100 { | ||
| 94 | struct mutex access_mutex; | ||
| 95 | struct device *dev; | ||
| 96 | struct i2c_client *i2c_client; | ||
| 97 | struct i2c_client *testreg_client; | ||
| 98 | char chip_name[32]; | ||
| 99 | u8 chip_id; | ||
| 100 | struct blocking_notifier_head event_subscribers; | ||
| 101 | u8 startup_events[3]; | ||
| 102 | bool startup_events_read; | ||
| 103 | }; | ||
| 104 | |||
| 105 | /** | ||
| 106 | * struct ab3100_platform_data | ||
| 107 | * Data supplied to initialize board connections to the AB3100 | ||
| 108 | * @reg_constraints: regulator constraints for target board | ||
| 109 | * the order of these constraints are: LDO A, C, D, E, | ||
| 110 | * F, G, H, K, EXT and BUCK. | ||
| 111 | * @reg_initvals: initial values for the regulator registers | ||
| 112 | * plus two sleep settings for LDO E and the BUCK converter. | ||
| 113 | * exactly AB3100_NUM_REGULATORS+2 values must be sent in. | ||
| 114 | * Order: LDO A, C, E, E sleep, F, G, H, K, EXT, BUCK, | ||
| 115 | * BUCK sleep, LDO D. (LDO D need to be initialized last.) | ||
| 116 | * @external_voltage: voltage level of the external regulator. | ||
| 117 | */ | ||
| 118 | struct ab3100_platform_data { | ||
| 119 | struct regulator_init_data reg_constraints[AB3100_NUM_REGULATORS]; | ||
| 120 | u8 reg_initvals[AB3100_NUM_REGULATORS+2]; | ||
| 121 | int external_voltage; | ||
| 122 | }; | ||
| 123 | |||
| 124 | int ab3100_event_register(struct ab3100 *ab3100, | ||
| 125 | struct notifier_block *nb); | ||
| 126 | int ab3100_event_unregister(struct ab3100 *ab3100, | ||
| 127 | struct notifier_block *nb); | ||
| 128 | |||
| 129 | #endif /* MFD_AB3100_H */ | ||
diff --git a/include/linux/mfd/abx500.h b/include/linux/mfd/abx500.h index 2138bd33021..896b5e47f16 100644 --- a/include/linux/mfd/abx500.h +++ b/include/linux/mfd/abx500.h | |||
| @@ -1,9 +1,12 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2007-2009 ST-Ericsson AB | 2 | * Copyright (C) 2007-2009 ST-Ericsson AB |
| 3 | * License terms: GNU General Public License (GPL) version 2 | 3 | * License terms: GNU General Public License (GPL) version 2 |
| 4 | * AB3100 core access functions | ||
| 5 | * Author: Linus Walleij <linus.walleij@stericsson.com> | ||
| 4 | * | 6 | * |
| 5 | * ABX500 core access functions. | 7 | * ABX500 core access functions. |
| 6 | * The abx500 interface is used for the Analog Baseband chips. | 8 | * The abx500 interface is used for the Analog Baseband chip |
| 9 | * ab3100, ab3550, ab5500, and ab8500. | ||
| 7 | * | 10 | * |
| 8 | * Author: Mattias Wallin <mattias.wallin@stericsson.com> | 11 | * Author: Mattias Wallin <mattias.wallin@stericsson.com> |
| 9 | * Author: Mattias Nilsson <mattias.i.nilsson@stericsson.com> | 12 | * Author: Mattias Nilsson <mattias.i.nilsson@stericsson.com> |
| @@ -11,278 +14,190 @@ | |||
| 11 | * Author: Rickard Andersson <rickard.andersson@stericsson.com> | 14 | * Author: Rickard Andersson <rickard.andersson@stericsson.com> |
| 12 | */ | 15 | */ |
| 13 | 16 | ||
| 17 | #include <linux/device.h> | ||
| 14 | #include <linux/regulator/machine.h> | 18 | #include <linux/regulator/machine.h> |
| 15 | 19 | ||
| 16 | struct device; | ||
| 17 | |||
| 18 | #ifndef MFD_ABX500_H | 20 | #ifndef MFD_ABX500_H |
| 19 | #define MFD_ABX500_H | 21 | #define MFD_ABX500_H |
| 20 | 22 | ||
| 21 | /** | 23 | #define AB3100_P1A 0xc0 |
| 22 | * struct abx500_init_setting | 24 | #define AB3100_P1B 0xc1 |
| 23 | * Initial value of the registers for driver to use during setup. | 25 | #define AB3100_P1C 0xc2 |
| 24 | */ | 26 | #define AB3100_P1D 0xc3 |
| 25 | struct abx500_init_settings { | 27 | #define AB3100_P1E 0xc4 |
| 26 | u8 bank; | 28 | #define AB3100_P1F 0xc5 |
| 27 | u8 reg; | 29 | #define AB3100_P1G 0xc6 |
| 28 | u8 setting; | 30 | #define AB3100_R2A 0xc7 |
| 29 | }; | 31 | #define AB3100_R2B 0xc8 |
| 32 | #define AB3550_P1A 0x10 | ||
| 33 | #define AB5500_1_0 0x20 | ||
| 34 | #define AB5500_2_0 0x21 | ||
| 35 | #define AB5500_2_1 0x22 | ||
| 36 | |||
| 37 | /* AB8500 CIDs*/ | ||
| 38 | #define AB8500_CUTEARLY 0x00 | ||
| 39 | #define AB8500_CUT1P0 0x10 | ||
| 40 | #define AB8500_CUT1P1 0x11 | ||
| 41 | #define AB8500_CUT2P0 0x20 | ||
| 42 | #define AB8500_CUT3P0 0x30 | ||
| 30 | 43 | ||
| 31 | /* Battery driver related data */ | ||
| 32 | /* | 44 | /* |
| 33 | * ADC for the battery thermistor. | 45 | * AB3100, EVENTA1, A2 and A3 event register flags |
| 34 | * When using the ABx500_ADC_THERM_BATCTRL the battery ID resistor is combined | 46 | * these are catenated into a single 32-bit flag in the code |
| 35 | * with a NTC resistor to both identify the battery and to measure its | 47 | * for event notification broadcasts. |
| 36 | * temperature. Different phone manufactures uses different techniques to both | ||
| 37 | * identify the battery and to read its temperature. | ||
| 38 | */ | ||
| 39 | enum abx500_adc_therm { | ||
| 40 | ABx500_ADC_THERM_BATCTRL, | ||
| 41 | ABx500_ADC_THERM_BATTEMP, | ||
| 42 | }; | ||
| 43 | |||
| 44 | /** | ||
| 45 | * struct abx500_res_to_temp - defines one point in a temp to res curve. To | ||
| 46 | * be used in battery packs that combines the identification resistor with a | ||
| 47 | * NTC resistor. | ||
| 48 | * @temp: battery pack temperature in Celcius | ||
| 49 | * @resist: NTC resistor net total resistance | ||
| 50 | */ | ||
| 51 | struct abx500_res_to_temp { | ||
| 52 | int temp; | ||
| 53 | int resist; | ||
| 54 | }; | ||
| 55 | |||
| 56 | /** | ||
| 57 | * struct abx500_v_to_cap - Table for translating voltage to capacity | ||
| 58 | * @voltage: Voltage in mV | ||
| 59 | * @capacity: Capacity in percent | ||
| 60 | */ | 48 | */ |
| 61 | struct abx500_v_to_cap { | 49 | #define AB3100_EVENTA1_ONSWA (0x01<<16) |
| 62 | int voltage; | 50 | #define AB3100_EVENTA1_ONSWB (0x02<<16) |
| 63 | int capacity; | 51 | #define AB3100_EVENTA1_ONSWC (0x04<<16) |
| 64 | }; | 52 | #define AB3100_EVENTA1_DCIO (0x08<<16) |
| 65 | 53 | #define AB3100_EVENTA1_OVER_TEMP (0x10<<16) | |
| 66 | /* Forward declaration */ | 54 | #define AB3100_EVENTA1_SIM_OFF (0x20<<16) |
| 67 | struct abx500_fg; | 55 | #define AB3100_EVENTA1_VBUS (0x40<<16) |
| 56 | #define AB3100_EVENTA1_VSET_USB (0x80<<16) | ||
| 57 | |||
| 58 | #define AB3100_EVENTA2_READY_TX (0x01<<8) | ||
| 59 | #define AB3100_EVENTA2_READY_RX (0x02<<8) | ||
| 60 | #define AB3100_EVENTA2_OVERRUN_ERROR (0x04<<8) | ||
| 61 | #define AB3100_EVENTA2_FRAMING_ERROR (0x08<<8) | ||
| 62 | #define AB3100_EVENTA2_CHARG_OVERCURRENT (0x10<<8) | ||
| 63 | #define AB3100_EVENTA2_MIDR (0x20<<8) | ||
| 64 | #define AB3100_EVENTA2_BATTERY_REM (0x40<<8) | ||
| 65 | #define AB3100_EVENTA2_ALARM (0x80<<8) | ||
| 66 | |||
| 67 | #define AB3100_EVENTA3_ADC_TRIG5 (0x01) | ||
| 68 | #define AB3100_EVENTA3_ADC_TRIG4 (0x02) | ||
| 69 | #define AB3100_EVENTA3_ADC_TRIG3 (0x04) | ||
| 70 | #define AB3100_EVENTA3_ADC_TRIG2 (0x08) | ||
| 71 | #define AB3100_EVENTA3_ADC_TRIGVBAT (0x10) | ||
| 72 | #define AB3100_EVENTA3_ADC_TRIGVTX (0x20) | ||
| 73 | #define AB3100_EVENTA3_ADC_TRIG1 (0x40) | ||
| 74 | #define AB3100_EVENTA3_ADC_TRIG0 (0x80) | ||
| 75 | |||
| 76 | /* AB3100, STR register flags */ | ||
| 77 | #define AB3100_STR_ONSWA (0x01) | ||
| 78 | #define AB3100_STR_ONSWB (0x02) | ||
| 79 | #define AB3100_STR_ONSWC (0x04) | ||
| 80 | #define AB3100_STR_DCIO (0x08) | ||
| 81 | #define AB3100_STR_BOOT_MODE (0x10) | ||
| 82 | #define AB3100_STR_SIM_OFF (0x20) | ||
| 83 | #define AB3100_STR_BATT_REMOVAL (0x40) | ||
| 84 | #define AB3100_STR_VBUS (0x80) | ||
| 68 | 85 | ||
| 69 | /** | 86 | /* |
| 70 | * struct abx500_fg_parameters - Fuel gauge algorithm parameters, in seconds | 87 | * AB3100 contains 8 regulators, one external regulator controller |
| 71 | * if not specified | 88 | * and a buck converter, further the LDO E and buck converter can |
| 72 | * @recovery_sleep_timer: Time between measurements while recovering | 89 | * have separate settings if they are in sleep mode, this is |
| 73 | * @recovery_total_time: Total recovery time | 90 | * modeled as a separate regulator. |
| 74 | * @init_timer: Measurement interval during startup | ||
| 75 | * @init_discard_time: Time we discard voltage measurement at startup | ||
| 76 | * @init_total_time: Total init time during startup | ||
| 77 | * @high_curr_time: Time current has to be high to go to recovery | ||
| 78 | * @accu_charging: FG accumulation time while charging | ||
| 79 | * @accu_high_curr: FG accumulation time in high current mode | ||
| 80 | * @high_curr_threshold: High current threshold, in mA | ||
| 81 | * @lowbat_threshold: Low battery threshold, in mV | ||
| 82 | * @overbat_threshold: Over battery threshold, in mV | ||
| 83 | * @battok_falling_th_sel0 Threshold in mV for battOk signal sel0 | ||
| 84 | * Resolution in 50 mV step. | ||
| 85 | * @battok_raising_th_sel1 Threshold in mV for battOk signal sel1 | ||
| 86 | * Resolution in 50 mV step. | ||
| 87 | * @user_cap_limit Capacity reported from user must be within this | ||
| 88 | * limit to be considered as sane, in percentage | ||
| 89 | * points. | ||
| 90 | * @maint_thres This is the threshold where we stop reporting | ||
| 91 | * battery full while in maintenance, in per cent | ||
| 92 | */ | 91 | */ |
| 93 | struct abx500_fg_parameters { | 92 | #define AB3100_NUM_REGULATORS 10 |
| 94 | int recovery_sleep_timer; | ||
| 95 | int recovery_total_time; | ||
| 96 | int init_timer; | ||
| 97 | int init_discard_time; | ||
| 98 | int init_total_time; | ||
| 99 | int high_curr_time; | ||
| 100 | int accu_charging; | ||
| 101 | int accu_high_curr; | ||
| 102 | int high_curr_threshold; | ||
| 103 | int lowbat_threshold; | ||
| 104 | int overbat_threshold; | ||
| 105 | int battok_falling_th_sel0; | ||
| 106 | int battok_raising_th_sel1; | ||
| 107 | int user_cap_limit; | ||
| 108 | int maint_thres; | ||
| 109 | }; | ||
| 110 | 93 | ||
| 111 | /** | 94 | /** |
| 112 | * struct abx500_charger_maximization - struct used by the board config. | 95 | * struct ab3100 |
| 113 | * @use_maxi: Enable maximization for this battery type | 96 | * @access_mutex: lock out concurrent accesses to the AB3100 registers |
| 114 | * @maxi_chg_curr: Maximum charger current allowed | 97 | * @dev: pointer to the containing device |
| 115 | * @maxi_wait_cycles: cycles to wait before setting charger current | 98 | * @i2c_client: I2C client for this chip |
| 116 | * @charger_curr_step delta between two charger current settings (mA) | 99 | * @testreg_client: secondary client for test registers |
| 100 | * @chip_name: name of this chip variant | ||
| 101 | * @chip_id: 8 bit chip ID for this chip variant | ||
| 102 | * @event_subscribers: event subscribers are listed here | ||
| 103 | * @startup_events: a copy of the first reading of the event registers | ||
| 104 | * @startup_events_read: whether the first events have been read | ||
| 105 | * | ||
| 106 | * This struct is PRIVATE and devices using it should NOT | ||
| 107 | * access ANY fields. It is used as a token for calling the | ||
| 108 | * AB3100 functions. | ||
| 117 | */ | 109 | */ |
| 118 | struct abx500_maxim_parameters { | 110 | struct ab3100 { |
| 119 | bool ena_maxi; | 111 | struct mutex access_mutex; |
| 120 | int chg_curr; | 112 | struct device *dev; |
| 121 | int wait_cycles; | 113 | struct i2c_client *i2c_client; |
| 122 | int charger_curr_step; | 114 | struct i2c_client *testreg_client; |
| 115 | char chip_name[32]; | ||
| 116 | u8 chip_id; | ||
| 117 | struct blocking_notifier_head event_subscribers; | ||
| 118 | u8 startup_events[3]; | ||
| 119 | bool startup_events_read; | ||
| 123 | }; | 120 | }; |
| 124 | 121 | ||
| 125 | /** | 122 | /** |
| 126 | * struct abx500_battery_type - different batteries supported | 123 | * struct ab3100_platform_data |
| 127 | * @name: battery technology | 124 | * Data supplied to initialize board connections to the AB3100 |
| 128 | * @resis_high: battery upper resistance limit | 125 | * @reg_constraints: regulator constraints for target board |
| 129 | * @resis_low: battery lower resistance limit | 126 | * the order of these constraints are: LDO A, C, D, E, |
| 130 | * @charge_full_design: Maximum battery capacity in mAh | 127 | * F, G, H, K, EXT and BUCK. |
| 131 | * @nominal_voltage: Nominal voltage of the battery in mV | 128 | * @reg_initvals: initial values for the regulator registers |
| 132 | * @termination_vol: max voltage upto which battery can be charged | 129 | * plus two sleep settings for LDO E and the BUCK converter. |
| 133 | * @termination_curr battery charging termination current in mA | 130 | * exactly AB3100_NUM_REGULATORS+2 values must be sent in. |
| 134 | * @recharge_vol battery voltage limit that will trigger a new | 131 | * Order: LDO A, C, E, E sleep, F, G, H, K, EXT, BUCK, |
| 135 | * full charging cycle in the case where maintenan- | 132 | * BUCK sleep, LDO D. (LDO D need to be initialized last.) |
| 136 | * -ce charging has been disabled | 133 | * @external_voltage: voltage level of the external regulator. |
| 137 | * @normal_cur_lvl: charger current in normal state in mA | ||
| 138 | * @normal_vol_lvl: charger voltage in normal state in mV | ||
| 139 | * @maint_a_cur_lvl: charger current in maintenance A state in mA | ||
| 140 | * @maint_a_vol_lvl: charger voltage in maintenance A state in mV | ||
| 141 | * @maint_a_chg_timer_h: charge time in maintenance A state | ||
| 142 | * @maint_b_cur_lvl: charger current in maintenance B state in mA | ||
| 143 | * @maint_b_vol_lvl: charger voltage in maintenance B state in mV | ||
| 144 | * @maint_b_chg_timer_h: charge time in maintenance B state | ||
| 145 | * @low_high_cur_lvl: charger current in temp low/high state in mA | ||
| 146 | * @low_high_vol_lvl: charger voltage in temp low/high state in mV' | ||
| 147 | * @battery_resistance: battery inner resistance in mOhm. | ||
| 148 | * @n_r_t_tbl_elements: number of elements in r_to_t_tbl | ||
| 149 | * @r_to_t_tbl: table containing resistance to temp points | ||
| 150 | * @n_v_cap_tbl_elements: number of elements in v_to_cap_tbl | ||
| 151 | * @v_to_cap_tbl: Voltage to capacity (in %) table | ||
| 152 | * @n_batres_tbl_elements number of elements in the batres_tbl | ||
| 153 | * @batres_tbl battery internal resistance vs temperature table | ||
| 154 | */ | 134 | */ |
| 155 | struct abx500_battery_type { | 135 | struct ab3100_platform_data { |
| 156 | int name; | 136 | struct regulator_init_data reg_constraints[AB3100_NUM_REGULATORS]; |
| 157 | int resis_high; | 137 | u8 reg_initvals[AB3100_NUM_REGULATORS+2]; |
| 158 | int resis_low; | 138 | int external_voltage; |
| 159 | int charge_full_design; | ||
| 160 | int nominal_voltage; | ||
| 161 | int termination_vol; | ||
| 162 | int termination_curr; | ||
| 163 | int recharge_vol; | ||
| 164 | int normal_cur_lvl; | ||
| 165 | int normal_vol_lvl; | ||
| 166 | int maint_a_cur_lvl; | ||
| 167 | int maint_a_vol_lvl; | ||
| 168 | int maint_a_chg_timer_h; | ||
| 169 | int maint_b_cur_lvl; | ||
| 170 | int maint_b_vol_lvl; | ||
| 171 | int maint_b_chg_timer_h; | ||
| 172 | int low_high_cur_lvl; | ||
| 173 | int low_high_vol_lvl; | ||
| 174 | int battery_resistance; | ||
| 175 | int n_temp_tbl_elements; | ||
| 176 | struct abx500_res_to_temp *r_to_t_tbl; | ||
| 177 | int n_v_cap_tbl_elements; | ||
| 178 | struct abx500_v_to_cap *v_to_cap_tbl; | ||
| 179 | int n_batres_tbl_elements; | ||
| 180 | struct batres_vs_temp *batres_tbl; | ||
| 181 | }; | 139 | }; |
| 182 | 140 | ||
| 183 | /** | 141 | int ab3100_event_register(struct ab3100 *ab3100, |
| 184 | * struct abx500_bm_capacity_levels - abx500 capacity level data | 142 | struct notifier_block *nb); |
| 185 | * @critical: critical capacity level in percent | 143 | int ab3100_event_unregister(struct ab3100 *ab3100, |
| 186 | * @low: low capacity level in percent | 144 | struct notifier_block *nb); |
| 187 | * @normal: normal capacity level in percent | 145 | |
| 188 | * @high: high capacity level in percent | 146 | /* AB3550, STR register flags */ |
| 189 | * @full: full capacity level in percent | 147 | #define AB3550_STR_ONSWA (0x01) |
| 190 | */ | 148 | #define AB3550_STR_ONSWB (0x02) |
| 191 | struct abx500_bm_capacity_levels { | 149 | #define AB3550_STR_ONSWC (0x04) |
| 192 | int critical; | 150 | #define AB3550_STR_DCIO (0x08) |
| 193 | int low; | 151 | #define AB3550_STR_BOOT_MODE (0x10) |
| 194 | int normal; | 152 | #define AB3550_STR_SIM_OFF (0x20) |
| 195 | int high; | 153 | #define AB3550_STR_BATT_REMOVAL (0x40) |
| 196 | int full; | 154 | #define AB3550_STR_VBUS (0x80) |
| 155 | |||
| 156 | /* Interrupt mask registers */ | ||
| 157 | #define AB3550_IMR1 0x29 | ||
| 158 | #define AB3550_IMR2 0x2a | ||
| 159 | #define AB3550_IMR3 0x2b | ||
| 160 | #define AB3550_IMR4 0x2c | ||
| 161 | #define AB3550_IMR5 0x2d | ||
| 162 | |||
| 163 | enum ab3550_devid { | ||
| 164 | AB3550_DEVID_ADC, | ||
| 165 | AB3550_DEVID_DAC, | ||
| 166 | AB3550_DEVID_LEDS, | ||
| 167 | AB3550_DEVID_POWER, | ||
| 168 | AB3550_DEVID_REGULATORS, | ||
| 169 | AB3550_DEVID_SIM, | ||
| 170 | AB3550_DEVID_UART, | ||
| 171 | AB3550_DEVID_RTC, | ||
| 172 | AB3550_DEVID_CHARGER, | ||
| 173 | AB3550_DEVID_FUELGAUGE, | ||
| 174 | AB3550_DEVID_VIBRATOR, | ||
| 175 | AB3550_DEVID_CODEC, | ||
| 176 | AB3550_NUM_DEVICES, | ||
| 197 | }; | 177 | }; |
| 198 | 178 | ||
| 199 | /** | 179 | /** |
| 200 | * struct abx500_bm_charger_parameters - Charger specific parameters | 180 | * struct abx500_init_setting |
| 201 | * @usb_volt_max: maximum allowed USB charger voltage in mV | 181 | * Initial value of the registers for driver to use during setup. |
| 202 | * @usb_curr_max: maximum allowed USB charger current in mA | ||
| 203 | * @ac_volt_max: maximum allowed AC charger voltage in mV | ||
| 204 | * @ac_curr_max: maximum allowed AC charger current in mA | ||
| 205 | */ | 182 | */ |
| 206 | struct abx500_bm_charger_parameters { | 183 | struct abx500_init_settings { |
| 207 | int usb_volt_max; | 184 | u8 bank; |
| 208 | int usb_curr_max; | 185 | u8 reg; |
| 209 | int ac_volt_max; | 186 | u8 setting; |
| 210 | int ac_curr_max; | ||
| 211 | }; | 187 | }; |
| 212 | 188 | ||
| 213 | /** | 189 | /** |
| 214 | * struct abx500_bm_data - abx500 battery management data | 190 | * struct ab3550_platform_data |
| 215 | * @temp_under under this temp, charging is stopped | 191 | * Data supplied to initialize board connections to the AB3550 |
| 216 | * @temp_low between this temp and temp_under charging is reduced | ||
| 217 | * @temp_high between this temp and temp_over charging is reduced | ||
| 218 | * @temp_over over this temp, charging is stopped | ||
| 219 | * @temp_now present battery temperature | ||
| 220 | * @temp_interval_chg temperature measurement interval in s when charging | ||
| 221 | * @temp_interval_nochg temperature measurement interval in s when not charging | ||
| 222 | * @main_safety_tmr_h safety timer for main charger | ||
| 223 | * @usb_safety_tmr_h safety timer for usb charger | ||
| 224 | * @bkup_bat_v voltage which we charge the backup battery with | ||
| 225 | * @bkup_bat_i current which we charge the backup battery with | ||
| 226 | * @no_maintenance indicates that maintenance charging is disabled | ||
| 227 | * @abx500_adc_therm placement of thermistor, batctrl or battemp adc | ||
| 228 | * @chg_unknown_bat flag to enable charging of unknown batteries | ||
| 229 | * @enable_overshoot flag to enable VBAT overshoot control | ||
| 230 | * @auto_trig flag to enable auto adc trigger | ||
| 231 | * @fg_res resistance of FG resistor in 0.1mOhm | ||
| 232 | * @n_btypes number of elements in array bat_type | ||
| 233 | * @batt_id index of the identified battery in array bat_type | ||
| 234 | * @interval_charging charge alg cycle period time when charging (sec) | ||
| 235 | * @interval_not_charging charge alg cycle period time when not charging (sec) | ||
| 236 | * @temp_hysteresis temperature hysteresis | ||
| 237 | * @gnd_lift_resistance Battery ground to phone ground resistance (mOhm) | ||
| 238 | * @maxi: maximization parameters | ||
| 239 | * @cap_levels capacity in percent for the different capacity levels | ||
| 240 | * @bat_type table of supported battery types | ||
| 241 | * @chg_params charger parameters | ||
| 242 | * @fg_params fuel gauge parameters | ||
| 243 | */ | 192 | */ |
| 244 | struct abx500_bm_data { | 193 | struct ab3550_platform_data { |
| 245 | int temp_under; | 194 | struct {unsigned int base; unsigned int count; } irq; |
| 246 | int temp_low; | 195 | void *dev_data[AB3550_NUM_DEVICES]; |
| 247 | int temp_high; | 196 | size_t dev_data_sz[AB3550_NUM_DEVICES]; |
| 248 | int temp_over; | 197 | struct abx500_init_settings *init_settings; |
| 249 | int temp_now; | 198 | unsigned int init_settings_sz; |
| 250 | int temp_interval_chg; | ||
| 251 | int temp_interval_nochg; | ||
| 252 | int main_safety_tmr_h; | ||
| 253 | int usb_safety_tmr_h; | ||
| 254 | int bkup_bat_v; | ||
| 255 | int bkup_bat_i; | ||
| 256 | bool no_maintenance; | ||
| 257 | bool chg_unknown_bat; | ||
| 258 | bool enable_overshoot; | ||
| 259 | bool auto_trig; | ||
| 260 | enum abx500_adc_therm adc_therm; | ||
| 261 | int fg_res; | ||
| 262 | int n_btypes; | ||
| 263 | int batt_id; | ||
| 264 | int interval_charging; | ||
| 265 | int interval_not_charging; | ||
| 266 | int temp_hysteresis; | ||
| 267 | int gnd_lift_resistance; | ||
| 268 | const struct abx500_maxim_parameters *maxi; | ||
| 269 | const struct abx500_bm_capacity_levels *cap_levels; | ||
| 270 | struct abx500_battery_type *bat_type; | ||
| 271 | const struct abx500_bm_charger_parameters *chg_params; | ||
| 272 | const struct abx500_fg_parameters *fg_params; | ||
| 273 | }; | 199 | }; |
| 274 | 200 | ||
| 275 | extern struct abx500_bm_data ab8500_bm_data; | ||
| 276 | |||
| 277 | enum { | ||
| 278 | NTC_EXTERNAL = 0, | ||
| 279 | NTC_INTERNAL, | ||
| 280 | }; | ||
| 281 | |||
| 282 | int bmdevs_of_probe(struct device *dev, | ||
| 283 | struct device_node *np, | ||
| 284 | struct abx500_bm_data **battery); | ||
| 285 | |||
| 286 | int abx500_set_register_interruptible(struct device *dev, u8 bank, u8 reg, | 201 | int abx500_set_register_interruptible(struct device *dev, u8 bank, u8 reg, |
| 287 | u8 value); | 202 | u8 value); |
| 288 | int abx500_get_register_interruptible(struct device *dev, u8 bank, u8 reg, | 203 | int abx500_get_register_interruptible(struct device *dev, u8 bank, u8 reg, |
diff --git a/include/linux/mfd/abx500/ab8500-bm.h b/include/linux/mfd/abx500/ab8500-bm.h deleted file mode 100644 index 44310c98ee6..00000000000 --- a/include/linux/mfd/abx500/ab8500-bm.h +++ /dev/null | |||
| @@ -1,474 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright ST-Ericsson 2012. | ||
| 3 | * | ||
| 4 | * Author: Arun Murthy <arun.murthy@stericsson.com> | ||
| 5 | * Licensed under GPLv2. | ||
| 6 | */ | ||
| 7 | |||
| 8 | #ifndef _AB8500_BM_H | ||
| 9 | #define _AB8500_BM_H | ||
| 10 | |||
| 11 | #include <linux/kernel.h> | ||
| 12 | #include <linux/mfd/abx500.h> | ||
| 13 | |||
| 14 | /* | ||
| 15 | * System control 2 register offsets. | ||
| 16 | * bank = 0x02 | ||
| 17 | */ | ||
| 18 | #define AB8500_MAIN_WDOG_CTRL_REG 0x01 | ||
| 19 | #define AB8500_LOW_BAT_REG 0x03 | ||
| 20 | #define AB8500_BATT_OK_REG 0x04 | ||
| 21 | /* | ||
| 22 | * USB/ULPI register offsets | ||
| 23 | * Bank : 0x5 | ||
| 24 | */ | ||
| 25 | #define AB8500_USB_LINE_STAT_REG 0x80 | ||
| 26 | |||
| 27 | /* | ||
| 28 | * Charger / status register offfsets | ||
| 29 | * Bank : 0x0B | ||
| 30 | */ | ||
| 31 | #define AB8500_CH_STATUS1_REG 0x00 | ||
| 32 | #define AB8500_CH_STATUS2_REG 0x01 | ||
| 33 | #define AB8500_CH_USBCH_STAT1_REG 0x02 | ||
| 34 | #define AB8500_CH_USBCH_STAT2_REG 0x03 | ||
| 35 | #define AB8500_CH_FSM_STAT_REG 0x04 | ||
| 36 | #define AB8500_CH_STAT_REG 0x05 | ||
| 37 | |||
| 38 | /* | ||
| 39 | * Charger / control register offfsets | ||
| 40 | * Bank : 0x0B | ||
| 41 | */ | ||
| 42 | #define AB8500_CH_VOLT_LVL_REG 0x40 | ||
| 43 | #define AB8500_CH_VOLT_LVL_MAX_REG 0x41 /*Only in Cut2.0*/ | ||
| 44 | #define AB8500_CH_OPT_CRNTLVL_REG 0x42 | ||
| 45 | #define AB8500_CH_OPT_CRNTLVL_MAX_REG 0x43 /*Only in Cut2.0*/ | ||
| 46 | #define AB8500_CH_WD_TIMER_REG 0x50 | ||
| 47 | #define AB8500_CHARG_WD_CTRL 0x51 | ||
| 48 | #define AB8500_BTEMP_HIGH_TH 0x52 | ||
| 49 | #define AB8500_LED_INDICATOR_PWM_CTRL 0x53 | ||
| 50 | #define AB8500_LED_INDICATOR_PWM_DUTY 0x54 | ||
| 51 | #define AB8500_BATT_OVV 0x55 | ||
| 52 | #define AB8500_CHARGER_CTRL 0x56 | ||
| 53 | #define AB8500_BAT_CTRL_CURRENT_SOURCE 0x60 /*Only in Cut2.0*/ | ||
| 54 | |||
| 55 | /* | ||
| 56 | * Charger / main control register offsets | ||
| 57 | * Bank : 0x0B | ||
| 58 | */ | ||
| 59 | #define AB8500_MCH_CTRL1 0x80 | ||
| 60 | #define AB8500_MCH_CTRL2 0x81 | ||
| 61 | #define AB8500_MCH_IPT_CURLVL_REG 0x82 | ||
| 62 | #define AB8500_CH_WD_REG 0x83 | ||
| 63 | |||
| 64 | /* | ||
| 65 | * Charger / USB control register offsets | ||
| 66 | * Bank : 0x0B | ||
| 67 | */ | ||
| 68 | #define AB8500_USBCH_CTRL1_REG 0xC0 | ||
| 69 | #define AB8500_USBCH_CTRL2_REG 0xC1 | ||
| 70 | #define AB8500_USBCH_IPT_CRNTLVL_REG 0xC2 | ||
| 71 | |||
| 72 | /* | ||
| 73 | * Gas Gauge register offsets | ||
| 74 | * Bank : 0x0C | ||
| 75 | */ | ||
| 76 | #define AB8500_GASG_CC_CTRL_REG 0x00 | ||
| 77 | #define AB8500_GASG_CC_ACCU1_REG 0x01 | ||
| 78 | #define AB8500_GASG_CC_ACCU2_REG 0x02 | ||
| 79 | #define AB8500_GASG_CC_ACCU3_REG 0x03 | ||
| 80 | #define AB8500_GASG_CC_ACCU4_REG 0x04 | ||
| 81 | #define AB8500_GASG_CC_SMPL_CNTRL_REG 0x05 | ||
| 82 | #define AB8500_GASG_CC_SMPL_CNTRH_REG 0x06 | ||
| 83 | #define AB8500_GASG_CC_SMPL_CNVL_REG 0x07 | ||
| 84 | #define AB8500_GASG_CC_SMPL_CNVH_REG 0x08 | ||
| 85 | #define AB8500_GASG_CC_CNTR_AVGOFF_REG 0x09 | ||
| 86 | #define AB8500_GASG_CC_OFFSET_REG 0x0A | ||
| 87 | #define AB8500_GASG_CC_NCOV_ACCU 0x10 | ||
| 88 | #define AB8500_GASG_CC_NCOV_ACCU_CTRL 0x11 | ||
| 89 | #define AB8500_GASG_CC_NCOV_ACCU_LOW 0x12 | ||
| 90 | #define AB8500_GASG_CC_NCOV_ACCU_MED 0x13 | ||
| 91 | #define AB8500_GASG_CC_NCOV_ACCU_HIGH 0x14 | ||
| 92 | |||
| 93 | /* | ||
| 94 | * Interrupt register offsets | ||
| 95 | * Bank : 0x0E | ||
| 96 | */ | ||
| 97 | #define AB8500_IT_SOURCE2_REG 0x01 | ||
| 98 | #define AB8500_IT_SOURCE21_REG 0x14 | ||
| 99 | |||
| 100 | /* | ||
| 101 | * RTC register offsets | ||
| 102 | * Bank: 0x0F | ||
| 103 | */ | ||
| 104 | #define AB8500_RTC_BACKUP_CHG_REG 0x0C | ||
| 105 | #define AB8500_RTC_CC_CONF_REG 0x01 | ||
| 106 | #define AB8500_RTC_CTRL_REG 0x0B | ||
| 107 | |||
| 108 | /* | ||
| 109 | * OTP register offsets | ||
| 110 | * Bank : 0x15 | ||
| 111 | */ | ||
| 112 | #define AB8500_OTP_CONF_15 0x0E | ||
| 113 | |||
| 114 | /* GPADC constants from AB8500 spec, UM0836 */ | ||
| 115 | #define ADC_RESOLUTION 1024 | ||
| 116 | #define ADC_CH_MAIN_MIN 0 | ||
| 117 | #define ADC_CH_MAIN_MAX 20030 | ||
| 118 | #define ADC_CH_VBUS_MIN 0 | ||
| 119 | #define ADC_CH_VBUS_MAX 20030 | ||
| 120 | #define ADC_CH_VBAT_MIN 2300 | ||
| 121 | #define ADC_CH_VBAT_MAX 4800 | ||
| 122 | #define ADC_CH_BKBAT_MIN 0 | ||
| 123 | #define ADC_CH_BKBAT_MAX 3200 | ||
| 124 | |||
| 125 | /* Main charge i/p current */ | ||
| 126 | #define MAIN_CH_IP_CUR_0P9A 0x80 | ||
| 127 | #define MAIN_CH_IP_CUR_1P0A 0x90 | ||
| 128 | #define MAIN_CH_IP_CUR_1P1A 0xA0 | ||
| 129 | #define MAIN_CH_IP_CUR_1P2A 0xB0 | ||
| 130 | #define MAIN_CH_IP_CUR_1P3A 0xC0 | ||
| 131 | #define MAIN_CH_IP_CUR_1P4A 0xD0 | ||
| 132 | #define MAIN_CH_IP_CUR_1P5A 0xE0 | ||
| 133 | |||
| 134 | /* ChVoltLevel */ | ||
| 135 | #define CH_VOL_LVL_3P5 0x00 | ||
| 136 | #define CH_VOL_LVL_4P0 0x14 | ||
| 137 | #define CH_VOL_LVL_4P05 0x16 | ||
| 138 | #define CH_VOL_LVL_4P1 0x1B | ||
| 139 | #define CH_VOL_LVL_4P15 0x20 | ||
| 140 | #define CH_VOL_LVL_4P2 0x25 | ||
| 141 | #define CH_VOL_LVL_4P6 0x4D | ||
| 142 | |||
| 143 | /* ChOutputCurrentLevel */ | ||
| 144 | #define CH_OP_CUR_LVL_0P1 0x00 | ||
| 145 | #define CH_OP_CUR_LVL_0P2 0x01 | ||
| 146 | #define CH_OP_CUR_LVL_0P3 0x02 | ||
| 147 | #define CH_OP_CUR_LVL_0P4 0x03 | ||
| 148 | #define CH_OP_CUR_LVL_0P5 0x04 | ||
| 149 | #define CH_OP_CUR_LVL_0P6 0x05 | ||
| 150 | #define CH_OP_CUR_LVL_0P7 0x06 | ||
| 151 | #define CH_OP_CUR_LVL_0P8 0x07 | ||
| 152 | #define CH_OP_CUR_LVL_0P9 0x08 | ||
| 153 | #define CH_OP_CUR_LVL_1P4 0x0D | ||
| 154 | #define CH_OP_CUR_LVL_1P5 0x0E | ||
| 155 | #define CH_OP_CUR_LVL_1P6 0x0F | ||
| 156 | |||
| 157 | /* BTEMP High thermal limits */ | ||
| 158 | #define BTEMP_HIGH_TH_57_0 0x00 | ||
| 159 | #define BTEMP_HIGH_TH_52 0x01 | ||
| 160 | #define BTEMP_HIGH_TH_57_1 0x02 | ||
| 161 | #define BTEMP_HIGH_TH_62 0x03 | ||
| 162 | |||
| 163 | /* current is mA */ | ||
| 164 | #define USB_0P1A 100 | ||
| 165 | #define USB_0P2A 200 | ||
| 166 | #define USB_0P3A 300 | ||
| 167 | #define USB_0P4A 400 | ||
| 168 | #define USB_0P5A 500 | ||
| 169 | |||
| 170 | #define LOW_BAT_3P1V 0x20 | ||
| 171 | #define LOW_BAT_2P3V 0x00 | ||
| 172 | #define LOW_BAT_RESET 0x01 | ||
| 173 | #define LOW_BAT_ENABLE 0x01 | ||
| 174 | |||
| 175 | /* Backup battery constants */ | ||
| 176 | #define BUP_ICH_SEL_50UA 0x00 | ||
| 177 | #define BUP_ICH_SEL_150UA 0x04 | ||
| 178 | #define BUP_ICH_SEL_300UA 0x08 | ||
| 179 | #define BUP_ICH_SEL_700UA 0x0C | ||
| 180 | |||
| 181 | #define BUP_VCH_SEL_2P5V 0x00 | ||
| 182 | #define BUP_VCH_SEL_2P6V 0x01 | ||
| 183 | #define BUP_VCH_SEL_2P8V 0x02 | ||
| 184 | #define BUP_VCH_SEL_3P1V 0x03 | ||
| 185 | |||
| 186 | /* Battery OVV constants */ | ||
| 187 | #define BATT_OVV_ENA 0x02 | ||
| 188 | #define BATT_OVV_TH_3P7 0x00 | ||
| 189 | #define BATT_OVV_TH_4P75 0x01 | ||
| 190 | |||
| 191 | /* A value to indicate over voltage */ | ||
| 192 | #define BATT_OVV_VALUE 4750 | ||
| 193 | |||
| 194 | /* VBUS OVV constants */ | ||
| 195 | #define VBUS_OVV_SELECT_MASK 0x78 | ||
| 196 | #define VBUS_OVV_SELECT_5P6V 0x00 | ||
| 197 | #define VBUS_OVV_SELECT_5P7V 0x08 | ||
| 198 | #define VBUS_OVV_SELECT_5P8V 0x10 | ||
| 199 | #define VBUS_OVV_SELECT_5P9V 0x18 | ||
| 200 | #define VBUS_OVV_SELECT_6P0V 0x20 | ||
| 201 | #define VBUS_OVV_SELECT_6P1V 0x28 | ||
| 202 | #define VBUS_OVV_SELECT_6P2V 0x30 | ||
| 203 | #define VBUS_OVV_SELECT_6P3V 0x38 | ||
| 204 | |||
| 205 | #define VBUS_AUTO_IN_CURR_LIM_ENA 0x04 | ||
| 206 | |||
| 207 | /* Fuel Gauge constants */ | ||
| 208 | #define RESET_ACCU 0x02 | ||
| 209 | #define READ_REQ 0x01 | ||
| 210 | #define CC_DEEP_SLEEP_ENA 0x02 | ||
| 211 | #define CC_PWR_UP_ENA 0x01 | ||
| 212 | #define CC_SAMPLES_40 0x28 | ||
| 213 | #define RD_NCONV_ACCU_REQ 0x01 | ||
| 214 | #define CC_CALIB 0x08 | ||
| 215 | #define CC_INTAVGOFFSET_ENA 0x10 | ||
| 216 | #define CC_MUXOFFSET 0x80 | ||
| 217 | #define CC_INT_CAL_N_AVG_MASK 0x60 | ||
| 218 | #define CC_INT_CAL_SAMPLES_16 0x40 | ||
| 219 | #define CC_INT_CAL_SAMPLES_8 0x20 | ||
| 220 | #define CC_INT_CAL_SAMPLES_4 0x00 | ||
| 221 | |||
| 222 | /* RTC constants */ | ||
| 223 | #define RTC_BUP_CH_ENA 0x10 | ||
| 224 | |||
| 225 | /* BatCtrl Current Source Constants */ | ||
| 226 | #define BAT_CTRL_7U_ENA 0x01 | ||
| 227 | #define BAT_CTRL_20U_ENA 0x02 | ||
| 228 | #define BAT_CTRL_CMP_ENA 0x04 | ||
| 229 | #define FORCE_BAT_CTRL_CMP_HIGH 0x08 | ||
| 230 | #define BAT_CTRL_PULL_UP_ENA 0x10 | ||
| 231 | |||
| 232 | /* Battery type */ | ||
| 233 | #define BATTERY_UNKNOWN 00 | ||
| 234 | |||
| 235 | /** | ||
| 236 | * struct res_to_temp - defines one point in a temp to res curve. To | ||
| 237 | * be used in battery packs that combines the identification resistor with a | ||
| 238 | * NTC resistor. | ||
| 239 | * @temp: battery pack temperature in Celcius | ||
| 240 | * @resist: NTC resistor net total resistance | ||
| 241 | */ | ||
| 242 | struct res_to_temp { | ||
| 243 | int temp; | ||
| 244 | int resist; | ||
| 245 | }; | ||
| 246 | |||
| 247 | /** | ||
| 248 | * struct batres_vs_temp - defines one point in a temp vs battery internal | ||
| 249 | * resistance curve. | ||
| 250 | * @temp: battery pack temperature in Celcius | ||
| 251 | * @resist: battery internal reistance in mOhm | ||
| 252 | */ | ||
| 253 | struct batres_vs_temp { | ||
| 254 | int temp; | ||
| 255 | int resist; | ||
| 256 | }; | ||
| 257 | |||
| 258 | /* Forward declaration */ | ||
| 259 | struct ab8500_fg; | ||
| 260 | |||
| 261 | /** | ||
| 262 | * struct ab8500_fg_parameters - Fuel gauge algorithm parameters, in seconds | ||
| 263 | * if not specified | ||
| 264 | * @recovery_sleep_timer: Time between measurements while recovering | ||
| 265 | * @recovery_total_time: Total recovery time | ||
| 266 | * @init_timer: Measurement interval during startup | ||
| 267 | * @init_discard_time: Time we discard voltage measurement at startup | ||
| 268 | * @init_total_time: Total init time during startup | ||
| 269 | * @high_curr_time: Time current has to be high to go to recovery | ||
| 270 | * @accu_charging: FG accumulation time while charging | ||
| 271 | * @accu_high_curr: FG accumulation time in high current mode | ||
| 272 | * @high_curr_threshold: High current threshold, in mA | ||
| 273 | * @lowbat_threshold: Low battery threshold, in mV | ||
| 274 | * @battok_falling_th_sel0 Threshold in mV for battOk signal sel0 | ||
| 275 | * Resolution in 50 mV step. | ||
| 276 | * @battok_raising_th_sel1 Threshold in mV for battOk signal sel1 | ||
| 277 | * Resolution in 50 mV step. | ||
| 278 | * @user_cap_limit Capacity reported from user must be within this | ||
| 279 | * limit to be considered as sane, in percentage | ||
| 280 | * points. | ||
| 281 | * @maint_thres This is the threshold where we stop reporting | ||
| 282 | * battery full while in maintenance, in per cent | ||
| 283 | */ | ||
| 284 | struct ab8500_fg_parameters { | ||
| 285 | int recovery_sleep_timer; | ||
| 286 | int recovery_total_time; | ||
| 287 | int init_timer; | ||
| 288 | int init_discard_time; | ||
| 289 | int init_total_time; | ||
| 290 | int high_curr_time; | ||
| 291 | int accu_charging; | ||
| 292 | int accu_high_curr; | ||
| 293 | int high_curr_threshold; | ||
| 294 | int lowbat_threshold; | ||
| 295 | int battok_falling_th_sel0; | ||
| 296 | int battok_raising_th_sel1; | ||
| 297 | int user_cap_limit; | ||
| 298 | int maint_thres; | ||
| 299 | }; | ||
| 300 | |||
| 301 | /** | ||
| 302 | * struct ab8500_charger_maximization - struct used by the board config. | ||
| 303 | * @use_maxi: Enable maximization for this battery type | ||
| 304 | * @maxi_chg_curr: Maximum charger current allowed | ||
| 305 | * @maxi_wait_cycles: cycles to wait before setting charger current | ||
| 306 | * @charger_curr_step delta between two charger current settings (mA) | ||
| 307 | */ | ||
| 308 | struct ab8500_maxim_parameters { | ||
| 309 | bool ena_maxi; | ||
| 310 | int chg_curr; | ||
| 311 | int wait_cycles; | ||
| 312 | int charger_curr_step; | ||
| 313 | }; | ||
| 314 | |||
| 315 | /** | ||
| 316 | * struct ab8500_bm_capacity_levels - ab8500 capacity level data | ||
| 317 | * @critical: critical capacity level in percent | ||
| 318 | * @low: low capacity level in percent | ||
| 319 | * @normal: normal capacity level in percent | ||
| 320 | * @high: high capacity level in percent | ||
| 321 | * @full: full capacity level in percent | ||
| 322 | */ | ||
| 323 | struct ab8500_bm_capacity_levels { | ||
| 324 | int critical; | ||
| 325 | int low; | ||
| 326 | int normal; | ||
| 327 | int high; | ||
| 328 | int full; | ||
| 329 | }; | ||
| 330 | |||
| 331 | /** | ||
| 332 | * struct ab8500_bm_charger_parameters - Charger specific parameters | ||
| 333 | * @usb_volt_max: maximum allowed USB charger voltage in mV | ||
| 334 | * @usb_curr_max: maximum allowed USB charger current in mA | ||
| 335 | * @ac_volt_max: maximum allowed AC charger voltage in mV | ||
| 336 | * @ac_curr_max: maximum allowed AC charger current in mA | ||
| 337 | */ | ||
| 338 | struct ab8500_bm_charger_parameters { | ||
| 339 | int usb_volt_max; | ||
| 340 | int usb_curr_max; | ||
| 341 | int ac_volt_max; | ||
| 342 | int ac_curr_max; | ||
| 343 | }; | ||
| 344 | |||
| 345 | /** | ||
| 346 | * struct ab8500_bm_data - ab8500 battery management data | ||
| 347 | * @temp_under under this temp, charging is stopped | ||
| 348 | * @temp_low between this temp and temp_under charging is reduced | ||
| 349 | * @temp_high between this temp and temp_over charging is reduced | ||
| 350 | * @temp_over over this temp, charging is stopped | ||
| 351 | * @temp_interval_chg temperature measurement interval in s when charging | ||
| 352 | * @temp_interval_nochg temperature measurement interval in s when not charging | ||
| 353 | * @main_safety_tmr_h safety timer for main charger | ||
| 354 | * @usb_safety_tmr_h safety timer for usb charger | ||
| 355 | * @bkup_bat_v voltage which we charge the backup battery with | ||
| 356 | * @bkup_bat_i current which we charge the backup battery with | ||
| 357 | * @no_maintenance indicates that maintenance charging is disabled | ||
| 358 | * @adc_therm placement of thermistor, batctrl or battemp adc | ||
| 359 | * @chg_unknown_bat flag to enable charging of unknown batteries | ||
| 360 | * @enable_overshoot flag to enable VBAT overshoot control | ||
| 361 | * @fg_res resistance of FG resistor in 0.1mOhm | ||
| 362 | * @n_btypes number of elements in array bat_type | ||
| 363 | * @batt_id index of the identified battery in array bat_type | ||
| 364 | * @interval_charging charge alg cycle period time when charging (sec) | ||
| 365 | * @interval_not_charging charge alg cycle period time when not charging (sec) | ||
| 366 | * @temp_hysteresis temperature hysteresis | ||
| 367 | * @gnd_lift_resistance Battery ground to phone ground resistance (mOhm) | ||
| 368 | * @maxi: maximization parameters | ||
| 369 | * @cap_levels capacity in percent for the different capacity levels | ||
| 370 | * @bat_type table of supported battery types | ||
| 371 | * @chg_params charger parameters | ||
| 372 | * @fg_params fuel gauge parameters | ||
| 373 | */ | ||
| 374 | struct ab8500_bm_data { | ||
| 375 | int temp_under; | ||
| 376 | int temp_low; | ||
| 377 | int temp_high; | ||
| 378 | int temp_over; | ||
| 379 | int temp_interval_chg; | ||
| 380 | int temp_interval_nochg; | ||
| 381 | int main_safety_tmr_h; | ||
| 382 | int usb_safety_tmr_h; | ||
| 383 | int bkup_bat_v; | ||
| 384 | int bkup_bat_i; | ||
| 385 | bool no_maintenance; | ||
| 386 | bool chg_unknown_bat; | ||
| 387 | bool enable_overshoot; | ||
| 388 | enum abx500_adc_therm adc_therm; | ||
| 389 | int fg_res; | ||
| 390 | int n_btypes; | ||
| 391 | int batt_id; | ||
| 392 | int interval_charging; | ||
| 393 | int interval_not_charging; | ||
| 394 | int temp_hysteresis; | ||
| 395 | int gnd_lift_resistance; | ||
| 396 | const struct ab8500_maxim_parameters *maxi; | ||
| 397 | const struct ab8500_bm_capacity_levels *cap_levels; | ||
| 398 | const struct ab8500_bm_charger_parameters *chg_params; | ||
| 399 | const struct ab8500_fg_parameters *fg_params; | ||
| 400 | }; | ||
| 401 | |||
| 402 | struct ab8500_charger_platform_data { | ||
| 403 | char **supplied_to; | ||
| 404 | size_t num_supplicants; | ||
| 405 | bool autopower_cfg; | ||
| 406 | }; | ||
| 407 | |||
| 408 | struct ab8500_btemp_platform_data { | ||
| 409 | char **supplied_to; | ||
| 410 | size_t num_supplicants; | ||
| 411 | }; | ||
| 412 | |||
| 413 | struct ab8500_fg_platform_data { | ||
| 414 | char **supplied_to; | ||
| 415 | size_t num_supplicants; | ||
| 416 | }; | ||
| 417 | |||
| 418 | struct ab8500_chargalg_platform_data { | ||
| 419 | char **supplied_to; | ||
| 420 | size_t num_supplicants; | ||
| 421 | }; | ||
| 422 | struct ab8500_btemp; | ||
| 423 | struct ab8500_gpadc; | ||
| 424 | struct ab8500_fg; | ||
| 425 | #ifdef CONFIG_AB8500_BM | ||
| 426 | void ab8500_fg_reinit(void); | ||
| 427 | void ab8500_charger_usb_state_changed(u8 bm_usb_state, u16 mA); | ||
| 428 | struct ab8500_btemp *ab8500_btemp_get(void); | ||
| 429 | int ab8500_btemp_get_batctrl_temp(struct ab8500_btemp *btemp); | ||
| 430 | struct ab8500_fg *ab8500_fg_get(void); | ||
| 431 | int ab8500_fg_inst_curr_blocking(struct ab8500_fg *dev); | ||
| 432 | int ab8500_fg_inst_curr_start(struct ab8500_fg *di); | ||
| 433 | int ab8500_fg_inst_curr_finalize(struct ab8500_fg *di, int *res); | ||
| 434 | int ab8500_fg_inst_curr_done(struct ab8500_fg *di); | ||
| 435 | |||
| 436 | #else | ||
| 437 | int ab8500_fg_inst_curr_done(struct ab8500_fg *di) | ||
| 438 | { | ||
| 439 | } | ||
| 440 | static void ab8500_fg_reinit(void) | ||
| 441 | { | ||
| 442 | } | ||
| 443 | static void ab8500_charger_usb_state_changed(u8 bm_usb_state, u16 mA) | ||
| 444 | { | ||
| 445 | } | ||
| 446 | static struct ab8500_btemp *ab8500_btemp_get(void) | ||
| 447 | { | ||
| 448 | return NULL; | ||
| 449 | } | ||
| 450 | static int ab8500_btemp_get_batctrl_temp(struct ab8500_btemp *btemp) | ||
| 451 | { | ||
| 452 | return 0; | ||
| 453 | } | ||
| 454 | struct ab8500_fg *ab8500_fg_get(void) | ||
| 455 | { | ||
| 456 | return NULL; | ||
| 457 | } | ||
| 458 | static int ab8500_fg_inst_curr_blocking(struct ab8500_fg *dev) | ||
| 459 | { | ||
| 460 | return -ENODEV; | ||
| 461 | } | ||
| 462 | |||
| 463 | static inline int ab8500_fg_inst_curr_start(struct ab8500_fg *di) | ||
| 464 | { | ||
| 465 | return -ENODEV; | ||
| 466 | } | ||
| 467 | |||
| 468 | static inline int ab8500_fg_inst_curr_finalize(struct ab8500_fg *di, int *res) | ||
| 469 | { | ||
| 470 | return -ENODEV; | ||
| 471 | } | ||
| 472 | |||
| 473 | #endif | ||
| 474 | #endif /* _AB8500_BM_H */ | ||
diff --git a/include/linux/mfd/abx500/ab8500-codec.h b/include/linux/mfd/abx500/ab8500-codec.h deleted file mode 100644 index d7079413def..00000000000 --- a/include/linux/mfd/abx500/ab8500-codec.h +++ /dev/null | |||
| @@ -1,54 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson SA 2012 | ||
| 3 | * | ||
| 4 | * Author: Ola Lilja <ola.o.lilja@stericsson.com> | ||
| 5 | * for ST-Ericsson. | ||
| 6 | * | ||
| 7 | * License terms: | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify it | ||
| 10 | * under the terms of the GNU General Public License version 2 as published | ||
| 11 | * by the Free Software Foundation. | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef AB8500_CORE_CODEC_H | ||
| 15 | #define AB8500_CORE_CODEC_H | ||
| 16 | |||
| 17 | /* Mic-types */ | ||
| 18 | enum amic_type { | ||
| 19 | AMIC_TYPE_SINGLE_ENDED, | ||
| 20 | AMIC_TYPE_DIFFERENTIAL | ||
| 21 | }; | ||
| 22 | |||
| 23 | /* Mic-biases */ | ||
| 24 | enum amic_micbias { | ||
| 25 | AMIC_MICBIAS_VAMIC1, | ||
| 26 | AMIC_MICBIAS_VAMIC2, | ||
| 27 | AMIC_MICBIAS_UNKNOWN | ||
| 28 | }; | ||
| 29 | |||
| 30 | /* Bias-voltage */ | ||
| 31 | enum ear_cm_voltage { | ||
| 32 | EAR_CMV_0_95V, | ||
| 33 | EAR_CMV_1_10V, | ||
| 34 | EAR_CMV_1_27V, | ||
| 35 | EAR_CMV_1_58V, | ||
| 36 | EAR_CMV_UNKNOWN | ||
| 37 | }; | ||
| 38 | |||
| 39 | /* Analog microphone settings */ | ||
| 40 | struct amic_settings { | ||
| 41 | enum amic_type mic1_type; | ||
| 42 | enum amic_type mic2_type; | ||
| 43 | enum amic_micbias mic1a_micbias; | ||
| 44 | enum amic_micbias mic1b_micbias; | ||
| 45 | enum amic_micbias mic2_micbias; | ||
| 46 | }; | ||
| 47 | |||
| 48 | /* Platform data structure for the audio-parts of the AB8500 */ | ||
| 49 | struct ab8500_codec_platform_data { | ||
| 50 | struct amic_settings amics; | ||
| 51 | enum ear_cm_voltage ear_cmv; | ||
| 52 | }; | ||
| 53 | |||
| 54 | #endif | ||
diff --git a/include/linux/mfd/abx500/ab8500-gpadc.h b/include/linux/mfd/abx500/ab8500-gpadc.h deleted file mode 100644 index 252966769d9..00000000000 --- a/include/linux/mfd/abx500/ab8500-gpadc.h +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2010 ST-Ericsson SA | ||
| 3 | * Licensed under GPLv2. | ||
| 4 | * | ||
| 5 | * Author: Arun R Murthy <arun.murthy@stericsson.com> | ||
| 6 | * Author: Daniel Willerud <daniel.willerud@stericsson.com> | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef _AB8500_GPADC_H | ||
| 10 | #define _AB8500_GPADC_H | ||
| 11 | |||
| 12 | /* GPADC source: From datasheet(ADCSwSel[4:0] in GPADCCtrl2) */ | ||
| 13 | #define BAT_CTRL 0x01 | ||
| 14 | #define BTEMP_BALL 0x02 | ||
| 15 | #define MAIN_CHARGER_V 0x03 | ||
| 16 | #define ACC_DETECT1 0x04 | ||
| 17 | #define ACC_DETECT2 0x05 | ||
| 18 | #define ADC_AUX1 0x06 | ||
| 19 | #define ADC_AUX2 0x07 | ||
| 20 | #define MAIN_BAT_V 0x08 | ||
| 21 | #define VBUS_V 0x09 | ||
| 22 | #define MAIN_CHARGER_C 0x0A | ||
| 23 | #define USB_CHARGER_C 0x0B | ||
| 24 | #define BK_BAT_V 0x0C | ||
| 25 | #define DIE_TEMP 0x0D | ||
| 26 | |||
| 27 | struct ab8500_gpadc; | ||
| 28 | |||
| 29 | struct ab8500_gpadc *ab8500_gpadc_get(char *name); | ||
| 30 | int ab8500_gpadc_convert(struct ab8500_gpadc *gpadc, u8 channel); | ||
| 31 | int ab8500_gpadc_read_raw(struct ab8500_gpadc *gpadc, u8 channel); | ||
| 32 | int ab8500_gpadc_ad_to_voltage(struct ab8500_gpadc *gpadc, | ||
| 33 | u8 channel, int ad_value); | ||
| 34 | |||
| 35 | #endif /* _AB8500_GPADC_H */ | ||
diff --git a/include/linux/mfd/abx500/ab8500-gpio.h b/include/linux/mfd/abx500/ab8500-gpio.h deleted file mode 100644 index 2387c207ea8..00000000000 --- a/include/linux/mfd/abx500/ab8500-gpio.h +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright ST-Ericsson 2010. | ||
| 3 | * | ||
| 4 | * Author: Bibek Basu <bibek.basu@stericsson.com> | ||
| 5 | * Licensed under GPLv2. | ||
| 6 | */ | ||
| 7 | |||
| 8 | #ifndef _AB8500_GPIO_H | ||
| 9 | #define _AB8500_GPIO_H | ||
| 10 | |||
| 11 | /* | ||
| 12 | * Platform data to register a block: only the initial gpio/irq number. | ||
| 13 | * Array sizes are large enough to contain all AB8500 and AB9540 GPIO | ||
| 14 | * registers. | ||
| 15 | */ | ||
| 16 | |||
| 17 | struct ab8500_gpio_platform_data { | ||
| 18 | int gpio_base; | ||
| 19 | u32 irq_base; | ||
| 20 | u8 config_reg[8]; | ||
| 21 | }; | ||
| 22 | |||
| 23 | #endif /* _AB8500_GPIO_H */ | ||
diff --git a/include/linux/mfd/abx500/ab8500-sysctrl.h b/include/linux/mfd/abx500/ab8500-sysctrl.h deleted file mode 100644 index 10eb50973c3..00000000000 --- a/include/linux/mfd/abx500/ab8500-sysctrl.h +++ /dev/null | |||
| @@ -1,297 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson SA 2010 | ||
| 3 | * Author: Mattias Nilsson <mattias.i.nilsson@stericsson.com> for ST Ericsson. | ||
| 4 | * License terms: GNU General Public License (GPL) version 2 | ||
| 5 | */ | ||
| 6 | #ifndef __AB8500_SYSCTRL_H | ||
| 7 | #define __AB8500_SYSCTRL_H | ||
| 8 | |||
| 9 | #include <linux/bitops.h> | ||
| 10 | |||
| 11 | #ifdef CONFIG_AB8500_CORE | ||
| 12 | |||
| 13 | int ab8500_sysctrl_read(u16 reg, u8 *value); | ||
| 14 | int ab8500_sysctrl_write(u16 reg, u8 mask, u8 value); | ||
| 15 | |||
| 16 | #else | ||
| 17 | |||
| 18 | static inline int ab8500_sysctrl_read(u16 reg, u8 *value) | ||
| 19 | { | ||
| 20 | return 0; | ||
| 21 | } | ||
| 22 | |||
| 23 | static inline int ab8500_sysctrl_write(u16 reg, u8 mask, u8 value) | ||
| 24 | { | ||
| 25 | return 0; | ||
| 26 | } | ||
| 27 | |||
| 28 | #endif /* CONFIG_AB8500_CORE */ | ||
| 29 | |||
| 30 | static inline int ab8500_sysctrl_set(u16 reg, u8 bits) | ||
| 31 | { | ||
| 32 | return ab8500_sysctrl_write(reg, bits, bits); | ||
| 33 | } | ||
| 34 | |||
| 35 | static inline int ab8500_sysctrl_clear(u16 reg, u8 bits) | ||
| 36 | { | ||
| 37 | return ab8500_sysctrl_write(reg, bits, 0); | ||
| 38 | } | ||
| 39 | |||
| 40 | /* Registers */ | ||
| 41 | #define AB8500_TURNONSTATUS 0x100 | ||
| 42 | #define AB8500_RESETSTATUS 0x101 | ||
| 43 | #define AB8500_PONKEY1PRESSSTATUS 0x102 | ||
| 44 | #define AB8500_SYSCLKREQSTATUS 0x142 | ||
| 45 | #define AB8500_STW4500CTRL1 0x180 | ||
| 46 | #define AB8500_STW4500CTRL2 0x181 | ||
| 47 | #define AB8500_STW4500CTRL3 0x200 | ||
| 48 | #define AB8500_MAINWDOGCTRL 0x201 | ||
| 49 | #define AB8500_MAINWDOGTIMER 0x202 | ||
| 50 | #define AB8500_LOWBAT 0x203 | ||
| 51 | #define AB8500_BATTOK 0x204 | ||
| 52 | #define AB8500_SYSCLKTIMER 0x205 | ||
| 53 | #define AB8500_SMPSCLKCTRL 0x206 | ||
| 54 | #define AB8500_SMPSCLKSEL1 0x207 | ||
| 55 | #define AB8500_SMPSCLKSEL2 0x208 | ||
| 56 | #define AB8500_SMPSCLKSEL3 0x209 | ||
| 57 | #define AB8500_SYSULPCLKCONF 0x20A | ||
| 58 | #define AB8500_SYSULPCLKCTRL1 0x20B | ||
| 59 | #define AB8500_SYSCLKCTRL 0x20C | ||
| 60 | #define AB8500_SYSCLKREQ1VALID 0x20D | ||
| 61 | #define AB8500_SYSTEMCTRLSUP 0x20F | ||
| 62 | #define AB8500_SYSCLKREQ1RFCLKBUF 0x210 | ||
| 63 | #define AB8500_SYSCLKREQ2RFCLKBUF 0x211 | ||
| 64 | #define AB8500_SYSCLKREQ3RFCLKBUF 0x212 | ||
| 65 | #define AB8500_SYSCLKREQ4RFCLKBUF 0x213 | ||
| 66 | #define AB8500_SYSCLKREQ5RFCLKBUF 0x214 | ||
| 67 | #define AB8500_SYSCLKREQ6RFCLKBUF 0x215 | ||
| 68 | #define AB8500_SYSCLKREQ7RFCLKBUF 0x216 | ||
| 69 | #define AB8500_SYSCLKREQ8RFCLKBUF 0x217 | ||
| 70 | #define AB8500_DITHERCLKCTRL 0x220 | ||
| 71 | #define AB8500_SWATCTRL 0x230 | ||
| 72 | #define AB8500_HIQCLKCTRL 0x232 | ||
| 73 | #define AB8500_VSIMSYSCLKCTRL 0x233 | ||
| 74 | #define AB9540_SYSCLK12BUFCTRL 0x234 | ||
| 75 | #define AB9540_SYSCLK12CONFCTRL 0x235 | ||
| 76 | #define AB9540_SYSCLK12BUFCTRL2 0x236 | ||
| 77 | #define AB9540_SYSCLK12BUF1VALID 0x237 | ||
| 78 | #define AB9540_SYSCLK12BUF2VALID 0x238 | ||
| 79 | #define AB9540_SYSCLK12BUF3VALID 0x239 | ||
| 80 | #define AB9540_SYSCLK12BUF4VALID 0x23A | ||
| 81 | |||
| 82 | /* Bits */ | ||
| 83 | #define AB8500_TURNONSTATUS_PORNVBAT BIT(0) | ||
| 84 | #define AB8500_TURNONSTATUS_PONKEY1DBF BIT(1) | ||
| 85 | #define AB8500_TURNONSTATUS_PONKEY2DBF BIT(2) | ||
| 86 | #define AB8500_TURNONSTATUS_RTCALARM BIT(3) | ||
| 87 | #define AB8500_TURNONSTATUS_MAINCHDET BIT(4) | ||
| 88 | #define AB8500_TURNONSTATUS_VBUSDET BIT(5) | ||
| 89 | #define AB8500_TURNONSTATUS_USBIDDETECT BIT(6) | ||
| 90 | |||
| 91 | #define AB8500_RESETSTATUS_RESETN4500NSTATUS BIT(0) | ||
| 92 | #define AB8500_RESETSTATUS_SWRESETN4500NSTATUS BIT(2) | ||
| 93 | |||
| 94 | #define AB8500_PONKEY1PRESSSTATUS_PONKEY1PRESSTIME_MASK 0x7F | ||
| 95 | #define AB8500_PONKEY1PRESSSTATUS_PONKEY1PRESSTIME_SHIFT 0 | ||
| 96 | |||
| 97 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ1STATUS BIT(0) | ||
| 98 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ2STATUS BIT(1) | ||
| 99 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ3STATUS BIT(2) | ||
| 100 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ4STATUS BIT(3) | ||
| 101 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ5STATUS BIT(4) | ||
| 102 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ6STATUS BIT(5) | ||
| 103 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ7STATUS BIT(6) | ||
| 104 | #define AB8500_SYSCLKREQSTATUS_SYSCLKREQ8STATUS BIT(7) | ||
| 105 | |||
| 106 | #define AB8500_STW4500CTRL1_SWOFF BIT(0) | ||
| 107 | #define AB8500_STW4500CTRL1_SWRESET4500N BIT(1) | ||
| 108 | #define AB8500_STW4500CTRL1_THDB8500SWOFF BIT(2) | ||
| 109 | |||
| 110 | #define AB8500_STW4500CTRL2_RESETNVAUX1VALID BIT(0) | ||
| 111 | #define AB8500_STW4500CTRL2_RESETNVAUX2VALID BIT(1) | ||
| 112 | #define AB8500_STW4500CTRL2_RESETNVAUX3VALID BIT(2) | ||
| 113 | #define AB8500_STW4500CTRL2_RESETNVMODVALID BIT(3) | ||
| 114 | #define AB8500_STW4500CTRL2_RESETNVEXTSUPPLY1VALID BIT(4) | ||
| 115 | #define AB8500_STW4500CTRL2_RESETNVEXTSUPPLY2VALID BIT(5) | ||
| 116 | #define AB8500_STW4500CTRL2_RESETNVEXTSUPPLY3VALID BIT(6) | ||
| 117 | #define AB8500_STW4500CTRL2_RESETNVSMPS1VALID BIT(7) | ||
| 118 | |||
| 119 | #define AB8500_STW4500CTRL3_CLK32KOUT2DIS BIT(0) | ||
| 120 | #define AB8500_STW4500CTRL3_RESETAUDN BIT(1) | ||
| 121 | #define AB8500_STW4500CTRL3_RESETDENCN BIT(2) | ||
| 122 | #define AB8500_STW4500CTRL3_THSDENA BIT(3) | ||
| 123 | |||
| 124 | #define AB8500_MAINWDOGCTRL_MAINWDOGENA BIT(0) | ||
| 125 | #define AB8500_MAINWDOGCTRL_MAINWDOGKICK BIT(1) | ||
| 126 | #define AB8500_MAINWDOGCTRL_WDEXPTURNONVALID BIT(4) | ||
| 127 | |||
| 128 | #define AB8500_MAINWDOGTIMER_MAINWDOGTIMER_MASK 0x7F | ||
| 129 | #define AB8500_MAINWDOGTIMER_MAINWDOGTIMER_SHIFT 0 | ||
| 130 | |||
| 131 | #define AB8500_LOWBAT_LOWBATENA BIT(0) | ||
| 132 | #define AB8500_LOWBAT_LOWBAT_MASK 0x7E | ||
| 133 | #define AB8500_LOWBAT_LOWBAT_SHIFT 1 | ||
| 134 | |||
| 135 | #define AB8500_BATTOK_BATTOKSEL0THF_MASK 0x0F | ||
| 136 | #define AB8500_BATTOK_BATTOKSEL0THF_SHIFT 0 | ||
| 137 | #define AB8500_BATTOK_BATTOKSEL1THF_MASK 0xF0 | ||
| 138 | #define AB8500_BATTOK_BATTOKSEL1THF_SHIFT 4 | ||
| 139 | |||
| 140 | #define AB8500_SYSCLKTIMER_SYSCLKTIMER_MASK 0x0F | ||
| 141 | #define AB8500_SYSCLKTIMER_SYSCLKTIMER_SHIFT 0 | ||
| 142 | #define AB8500_SYSCLKTIMER_SYSCLKTIMERADJ_MASK 0xF0 | ||
| 143 | #define AB8500_SYSCLKTIMER_SYSCLKTIMERADJ_SHIFT 4 | ||
| 144 | |||
| 145 | #define AB8500_SMPSCLKCTRL_SMPSCLKINTSEL_MASK 0x03 | ||
| 146 | #define AB8500_SMPSCLKCTRL_SMPSCLKINTSEL_SHIFT 0 | ||
| 147 | #define AB8500_SMPSCLKCTRL_3M2CLKINTENA BIT(2) | ||
| 148 | |||
| 149 | #define AB8500_SMPSCLKSEL1_VARMCLKSEL_MASK 0x07 | ||
| 150 | #define AB8500_SMPSCLKSEL1_VARMCLKSEL_SHIFT 0 | ||
| 151 | #define AB8500_SMPSCLKSEL1_VAPECLKSEL_MASK 0x38 | ||
| 152 | #define AB8500_SMPSCLKSEL1_VAPECLKSEL_SHIFT 3 | ||
| 153 | |||
| 154 | #define AB8500_SMPSCLKSEL2_VMODCLKSEL_MASK 0x07 | ||
| 155 | #define AB8500_SMPSCLKSEL2_VMODCLKSEL_SHIFT 0 | ||
| 156 | #define AB8500_SMPSCLKSEL2_VSMPS1CLKSEL_MASK 0x38 | ||
| 157 | #define AB8500_SMPSCLKSEL2_VSMPS1CLKSEL_SHIFT 3 | ||
| 158 | |||
| 159 | #define AB8500_SMPSCLKSEL3_VSMPS2CLKSEL_MASK 0x07 | ||
| 160 | #define AB8500_SMPSCLKSEL3_VSMPS2CLKSEL_SHIFT 0 | ||
| 161 | #define AB8500_SMPSCLKSEL3_VSMPS3CLKSEL_MASK 0x38 | ||
| 162 | #define AB8500_SMPSCLKSEL3_VSMPS3CLKSEL_SHIFT 3 | ||
| 163 | |||
| 164 | #define AB8500_SYSULPCLKCONF_ULPCLKCONF_MASK 0x03 | ||
| 165 | #define AB8500_SYSULPCLKCONF_ULPCLKCONF_SHIFT 0 | ||
| 166 | #define AB8500_SYSULPCLKCONF_CLK27MHZSTRE BIT(2) | ||
| 167 | #define AB8500_SYSULPCLKCONF_TVOUTCLKDELN BIT(3) | ||
| 168 | #define AB8500_SYSULPCLKCONF_TVOUTCLKINV BIT(4) | ||
| 169 | #define AB8500_SYSULPCLKCONF_ULPCLKSTRE BIT(5) | ||
| 170 | #define AB8500_SYSULPCLKCONF_CLK27MHZBUFENA BIT(6) | ||
| 171 | #define AB8500_SYSULPCLKCONF_CLK27MHZPDENA BIT(7) | ||
| 172 | |||
| 173 | #define AB8500_SYSULPCLKCTRL1_SYSULPCLKINTSEL_MASK 0x03 | ||
| 174 | #define AB8500_SYSULPCLKCTRL1_SYSULPCLKINTSEL_SHIFT 0 | ||
| 175 | #define AB8500_SYSULPCLKCTRL1_ULPCLKREQ BIT(2) | ||
| 176 | #define AB8500_SYSULPCLKCTRL1_4500SYSCLKREQ BIT(3) | ||
| 177 | #define AB8500_SYSULPCLKCTRL1_AUDIOCLKENA BIT(4) | ||
| 178 | #define AB8500_SYSULPCLKCTRL1_SYSCLKBUF2REQ BIT(5) | ||
| 179 | #define AB8500_SYSULPCLKCTRL1_SYSCLKBUF3REQ BIT(6) | ||
| 180 | #define AB8500_SYSULPCLKCTRL1_SYSCLKBUF4REQ BIT(7) | ||
| 181 | |||
| 182 | #define AB8500_SYSCLKCTRL_TVOUTPLLENA BIT(0) | ||
| 183 | #define AB8500_SYSCLKCTRL_TVOUTCLKENA BIT(1) | ||
| 184 | #define AB8500_SYSCLKCTRL_USBCLKENA BIT(2) | ||
| 185 | |||
| 186 | #define AB8500_SYSCLKREQ1VALID_SYSCLKREQ1VALID BIT(0) | ||
| 187 | #define AB8500_SYSCLKREQ1VALID_ULPCLKREQ1VALID BIT(1) | ||
| 188 | #define AB8500_SYSCLKREQ1VALID_USBSYSCLKREQ1VALID BIT(2) | ||
| 189 | |||
| 190 | #define AB8500_SYSTEMCTRLSUP_EXTSUP12LPNCLKSEL_MASK 0x03 | ||
| 191 | #define AB8500_SYSTEMCTRLSUP_EXTSUP12LPNCLKSEL_SHIFT 0 | ||
| 192 | #define AB8500_SYSTEMCTRLSUP_EXTSUP3LPNCLKSEL_MASK 0x0C | ||
| 193 | #define AB8500_SYSTEMCTRLSUP_EXTSUP3LPNCLKSEL_SHIFT 2 | ||
| 194 | #define AB8500_SYSTEMCTRLSUP_INTDB8500NOD BIT(4) | ||
| 195 | |||
| 196 | #define AB8500_SYSCLKREQ1RFCLKBUF_SYSCLKREQ1RFCLKBUF2 BIT(2) | ||
| 197 | #define AB8500_SYSCLKREQ1RFCLKBUF_SYSCLKREQ1RFCLKBUF3 BIT(3) | ||
| 198 | #define AB8500_SYSCLKREQ1RFCLKBUF_SYSCLKREQ1RFCLKBUF4 BIT(4) | ||
| 199 | |||
| 200 | #define AB8500_SYSCLKREQ2RFCLKBUF_SYSCLKREQ2RFCLKBUF2 BIT(2) | ||
| 201 | #define AB8500_SYSCLKREQ2RFCLKBUF_SYSCLKREQ2RFCLKBUF3 BIT(3) | ||
| 202 | #define AB8500_SYSCLKREQ2RFCLKBUF_SYSCLKREQ2RFCLKBUF4 BIT(4) | ||
| 203 | |||
| 204 | #define AB8500_SYSCLKREQ3RFCLKBUF_SYSCLKREQ3RFCLKBUF2 BIT(2) | ||
| 205 | #define AB8500_SYSCLKREQ3RFCLKBUF_SYSCLKREQ3RFCLKBUF3 BIT(3) | ||
| 206 | #define AB8500_SYSCLKREQ3RFCLKBUF_SYSCLKREQ3RFCLKBUF4 BIT(4) | ||
| 207 | |||
| 208 | #define AB8500_SYSCLKREQ4RFCLKBUF_SYSCLKREQ4RFCLKBUF2 BIT(2) | ||
| 209 | #define AB8500_SYSCLKREQ4RFCLKBUF_SYSCLKREQ4RFCLKBUF3 BIT(3) | ||
| 210 | #define AB8500_SYSCLKREQ4RFCLKBUF_SYSCLKREQ4RFCLKBUF4 BIT(4) | ||
| 211 | |||
| 212 | #define AB8500_SYSCLKREQ5RFCLKBUF_SYSCLKREQ5RFCLKBUF2 BIT(2) | ||
| 213 | #define AB8500_SYSCLKREQ5RFCLKBUF_SYSCLKREQ5RFCLKBUF3 BIT(3) | ||
| 214 | #define AB8500_SYSCLKREQ5RFCLKBUF_SYSCLKREQ5RFCLKBUF4 BIT(4) | ||
| 215 | |||
| 216 | #define AB8500_SYSCLKREQ6RFCLKBUF_SYSCLKREQ6RFCLKBUF2 BIT(2) | ||
| 217 | #define AB8500_SYSCLKREQ6RFCLKBUF_SYSCLKREQ6RFCLKBUF3 BIT(3) | ||
| 218 | #define AB8500_SYSCLKREQ6RFCLKBUF_SYSCLKREQ6RFCLKBUF4 BIT(4) | ||
| 219 | |||
| 220 | #define AB8500_SYSCLKREQ7RFCLKBUF_SYSCLKREQ7RFCLKBUF2 BIT(2) | ||
| 221 | #define AB8500_SYSCLKREQ7RFCLKBUF_SYSCLKREQ7RFCLKBUF3 BIT(3) | ||
| 222 | #define AB8500_SYSCLKREQ7RFCLKBUF_SYSCLKREQ7RFCLKBUF4 BIT(4) | ||
| 223 | |||
| 224 | #define AB8500_SYSCLKREQ8RFCLKBUF_SYSCLKREQ8RFCLKBUF2 BIT(2) | ||
| 225 | #define AB8500_SYSCLKREQ8RFCLKBUF_SYSCLKREQ8RFCLKBUF3 BIT(3) | ||
| 226 | #define AB8500_SYSCLKREQ8RFCLKBUF_SYSCLKREQ8RFCLKBUF4 BIT(4) | ||
| 227 | |||
| 228 | #define AB8500_DITHERCLKCTRL_VARMDITHERENA BIT(0) | ||
| 229 | #define AB8500_DITHERCLKCTRL_VSMPS3DITHERENA BIT(1) | ||
| 230 | #define AB8500_DITHERCLKCTRL_VSMPS1DITHERENA BIT(2) | ||
| 231 | #define AB8500_DITHERCLKCTRL_VSMPS2DITHERENA BIT(3) | ||
| 232 | #define AB8500_DITHERCLKCTRL_VMODDITHERENA BIT(4) | ||
| 233 | #define AB8500_DITHERCLKCTRL_VAPEDITHERENA BIT(5) | ||
| 234 | #define AB8500_DITHERCLKCTRL_DITHERDEL_MASK 0xC0 | ||
| 235 | #define AB8500_DITHERCLKCTRL_DITHERDEL_SHIFT 6 | ||
| 236 | |||
| 237 | #define AB8500_SWATCTRL_UPDATERF BIT(0) | ||
| 238 | #define AB8500_SWATCTRL_SWATENABLE BIT(1) | ||
| 239 | #define AB8500_SWATCTRL_RFOFFTIMER_MASK 0x1C | ||
| 240 | #define AB8500_SWATCTRL_RFOFFTIMER_SHIFT 2 | ||
| 241 | #define AB8500_SWATCTRL_SWATBIT5 BIT(6) | ||
| 242 | |||
| 243 | #define AB8500_HIQCLKCTRL_SYSCLKREQ1HIQENAVALID BIT(0) | ||
| 244 | #define AB8500_HIQCLKCTRL_SYSCLKREQ2HIQENAVALID BIT(1) | ||
| 245 | #define AB8500_HIQCLKCTRL_SYSCLKREQ3HIQENAVALID BIT(2) | ||
| 246 | #define AB8500_HIQCLKCTRL_SYSCLKREQ4HIQENAVALID BIT(3) | ||
| 247 | #define AB8500_HIQCLKCTRL_SYSCLKREQ5HIQENAVALID BIT(4) | ||
| 248 | #define AB8500_HIQCLKCTRL_SYSCLKREQ6HIQENAVALID BIT(5) | ||
| 249 | #define AB8500_HIQCLKCTRL_SYSCLKREQ7HIQENAVALID BIT(6) | ||
| 250 | #define AB8500_HIQCLKCTRL_SYSCLKREQ8HIQENAVALID BIT(7) | ||
| 251 | |||
| 252 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ1VALID BIT(0) | ||
| 253 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ2VALID BIT(1) | ||
| 254 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ3VALID BIT(2) | ||
| 255 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ4VALID BIT(3) | ||
| 256 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ5VALID BIT(4) | ||
| 257 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ6VALID BIT(5) | ||
| 258 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ7VALID BIT(6) | ||
| 259 | #define AB8500_VSIMSYSCLKCTRL_VSIMSYSCLKREQ8VALID BIT(7) | ||
| 260 | |||
| 261 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF1ENA BIT(0) | ||
| 262 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF2ENA BIT(1) | ||
| 263 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF3ENA BIT(2) | ||
| 264 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF4ENA BIT(3) | ||
| 265 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUFENA_MASK 0x0F | ||
| 266 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF1STRE BIT(4) | ||
| 267 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF2STRE BIT(5) | ||
| 268 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF3STRE BIT(6) | ||
| 269 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUF4STRE BIT(7) | ||
| 270 | #define AB9540_SYSCLK12BUFCTRL_SYSCLK12BUFSTRE_MASK 0xF0 | ||
| 271 | |||
| 272 | #define AB9540_SYSCLK12CONFCTRL_PLL26TO38ENA BIT(0) | ||
| 273 | #define AB9540_SYSCLK12CONFCTRL_SYSCLK12USBMUXSEL BIT(1) | ||
| 274 | #define AB9540_SYSCLK12CONFCTRL_INT384MHZMUXSEL_MASK 0x0C | ||
| 275 | #define AB9540_SYSCLK12CONFCTRL_INT384MHZMUXSEL_SHIFT 2 | ||
| 276 | #define AB9540_SYSCLK12CONFCTRL_SYSCLK12BUFMUX BIT(4) | ||
| 277 | #define AB9540_SYSCLK12CONFCTRL_SYSCLK12PLLMUX BIT(5) | ||
| 278 | #define AB9540_SYSCLK12CONFCTRL_SYSCLK2MUXVALID BIT(6) | ||
| 279 | |||
| 280 | #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF1PDENA BIT(0) | ||
| 281 | #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF2PDENA BIT(1) | ||
| 282 | #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF3PDENA BIT(2) | ||
| 283 | #define AB9540_SYSCLK12BUFCTRL2_SYSCLK12BUF4PDENA BIT(3) | ||
| 284 | |||
| 285 | #define AB9540_SYSCLK12BUF1VALID_SYSCLK12BUF1VALID_MASK 0xFF | ||
| 286 | #define AB9540_SYSCLK12BUF1VALID_SYSCLK12BUF1VALID_SHIFT 0 | ||
| 287 | |||
| 288 | #define AB9540_SYSCLK12BUF2VALID_SYSCLK12BUF2VALID_MASK 0xFF | ||
| 289 | #define AB9540_SYSCLK12BUF2VALID_SYSCLK12BUF2VALID_SHIFT 0 | ||
| 290 | |||
| 291 | #define AB9540_SYSCLK12BUF3VALID_SYSCLK12BUF3VALID_MASK 0xFF | ||
| 292 | #define AB9540_SYSCLK12BUF3VALID_SYSCLK12BUF3VALID_SHIFT 0 | ||
| 293 | |||
| 294 | #define AB9540_SYSCLK12BUF4VALID_SYSCLK12BUF4VALID_MASK 0xFF | ||
| 295 | #define AB9540_SYSCLK12BUF4VALID_SYSCLK12BUF4VALID_SHIFT 0 | ||
| 296 | |||
| 297 | #endif /* __AB8500_SYSCTRL_H */ | ||
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h deleted file mode 100644 index 1cb5698b4d7..00000000000 --- a/include/linux/mfd/abx500/ab8500.h +++ /dev/null | |||
| @@ -1,344 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson SA 2010 | ||
| 3 | * | ||
| 4 | * License Terms: GNU General Public License v2 | ||
| 5 | * Author: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> | ||
| 6 | */ | ||
| 7 | #ifndef MFD_AB8500_H | ||
| 8 | #define MFD_AB8500_H | ||
| 9 | |||
| 10 | #include <linux/atomic.h> | ||
| 11 | #include <linux/mutex.h> | ||
| 12 | #include <linux/irqdomain.h> | ||
| 13 | |||
| 14 | struct device; | ||
| 15 | |||
| 16 | /* | ||
| 17 | * AB IC versions | ||
| 18 | * | ||
| 19 | * AB8500_VERSION_AB8500 should be 0xFF but will never be read as need a | ||
| 20 | * non-supported multi-byte I2C access via PRCMU. Set to 0x00 to ease the | ||
| 21 | * print of version string. | ||
| 22 | */ | ||
| 23 | enum ab8500_version { | ||
| 24 | AB8500_VERSION_AB8500 = 0x0, | ||
| 25 | AB8500_VERSION_AB8505 = 0x1, | ||
| 26 | AB8500_VERSION_AB9540 = 0x2, | ||
| 27 | AB8500_VERSION_AB8540 = 0x3, | ||
| 28 | AB8500_VERSION_UNDEFINED, | ||
| 29 | }; | ||
| 30 | |||
| 31 | /* AB8500 CIDs*/ | ||
| 32 | #define AB8500_CUTEARLY 0x00 | ||
| 33 | #define AB8500_CUT1P0 0x10 | ||
| 34 | #define AB8500_CUT1P1 0x11 | ||
| 35 | #define AB8500_CUT2P0 0x20 | ||
| 36 | #define AB8500_CUT3P0 0x30 | ||
| 37 | #define AB8500_CUT3P3 0x33 | ||
| 38 | |||
| 39 | /* | ||
| 40 | * AB8500 bank addresses | ||
| 41 | */ | ||
| 42 | #define AB8500_SYS_CTRL1_BLOCK 0x1 | ||
| 43 | #define AB8500_SYS_CTRL2_BLOCK 0x2 | ||
| 44 | #define AB8500_REGU_CTRL1 0x3 | ||
| 45 | #define AB8500_REGU_CTRL2 0x4 | ||
| 46 | #define AB8500_USB 0x5 | ||
| 47 | #define AB8500_TVOUT 0x6 | ||
| 48 | #define AB8500_DBI 0x7 | ||
| 49 | #define AB8500_ECI_AV_ACC 0x8 | ||
| 50 | #define AB8500_RESERVED 0x9 | ||
| 51 | #define AB8500_GPADC 0xA | ||
| 52 | #define AB8500_CHARGER 0xB | ||
| 53 | #define AB8500_GAS_GAUGE 0xC | ||
| 54 | #define AB8500_AUDIO 0xD | ||
| 55 | #define AB8500_INTERRUPT 0xE | ||
| 56 | #define AB8500_RTC 0xF | ||
| 57 | #define AB8500_MISC 0x10 | ||
| 58 | #define AB8500_DEVELOPMENT 0x11 | ||
| 59 | #define AB8500_DEBUG 0x12 | ||
| 60 | #define AB8500_PROD_TEST 0x13 | ||
| 61 | #define AB8500_OTP_EMUL 0x15 | ||
| 62 | |||
| 63 | /* | ||
| 64 | * Interrupts | ||
| 65 | * Values used to index into array ab8500_irq_regoffset[] defined in | ||
| 66 | * drivers/mdf/ab8500-core.c | ||
| 67 | */ | ||
| 68 | /* Definitions for AB8500 and AB9540 */ | ||
| 69 | /* ab8500_irq_regoffset[0] -> IT[Source|Latch|Mask]1 */ | ||
| 70 | #define AB8500_INT_MAIN_EXT_CH_NOT_OK 0 /* not 8505/9540 */ | ||
| 71 | #define AB8500_INT_UN_PLUG_TV_DET 1 /* not 8505/9540 */ | ||
| 72 | #define AB8500_INT_PLUG_TV_DET 2 /* not 8505/9540 */ | ||
| 73 | #define AB8500_INT_TEMP_WARM 3 | ||
| 74 | #define AB8500_INT_PON_KEY2DB_F 4 | ||
| 75 | #define AB8500_INT_PON_KEY2DB_R 5 | ||
| 76 | #define AB8500_INT_PON_KEY1DB_F 6 | ||
| 77 | #define AB8500_INT_PON_KEY1DB_R 7 | ||
| 78 | /* ab8500_irq_regoffset[1] -> IT[Source|Latch|Mask]2 */ | ||
| 79 | #define AB8500_INT_BATT_OVV 8 | ||
| 80 | #define AB8500_INT_MAIN_CH_UNPLUG_DET 10 /* not 8505 */ | ||
| 81 | #define AB8500_INT_MAIN_CH_PLUG_DET 11 /* not 8505 */ | ||
| 82 | #define AB8500_INT_VBUS_DET_F 14 | ||
| 83 | #define AB8500_INT_VBUS_DET_R 15 | ||
| 84 | /* ab8500_irq_regoffset[2] -> IT[Source|Latch|Mask]3 */ | ||
| 85 | #define AB8500_INT_VBUS_CH_DROP_END 16 | ||
| 86 | #define AB8500_INT_RTC_60S 17 | ||
| 87 | #define AB8500_INT_RTC_ALARM 18 | ||
| 88 | #define AB8500_INT_BAT_CTRL_INDB 20 | ||
| 89 | #define AB8500_INT_CH_WD_EXP 21 | ||
| 90 | #define AB8500_INT_VBUS_OVV 22 | ||
| 91 | #define AB8500_INT_MAIN_CH_DROP_END 23 /* not 8505/9540 */ | ||
| 92 | /* ab8500_irq_regoffset[3] -> IT[Source|Latch|Mask]4 */ | ||
| 93 | #define AB8500_INT_CCN_CONV_ACC 24 | ||
| 94 | #define AB8500_INT_INT_AUD 25 | ||
| 95 | #define AB8500_INT_CCEOC 26 | ||
| 96 | #define AB8500_INT_CC_INT_CALIB 27 | ||
| 97 | #define AB8500_INT_LOW_BAT_F 28 | ||
| 98 | #define AB8500_INT_LOW_BAT_R 29 | ||
| 99 | #define AB8500_INT_BUP_CHG_NOT_OK 30 | ||
| 100 | #define AB8500_INT_BUP_CHG_OK 31 | ||
| 101 | /* ab8500_irq_regoffset[4] -> IT[Source|Latch|Mask]5 */ | ||
| 102 | #define AB8500_INT_GP_HW_ADC_CONV_END 32 /* not 8505 */ | ||
| 103 | #define AB8500_INT_ACC_DETECT_1DB_F 33 | ||
| 104 | #define AB8500_INT_ACC_DETECT_1DB_R 34 | ||
| 105 | #define AB8500_INT_ACC_DETECT_22DB_F 35 | ||
| 106 | #define AB8500_INT_ACC_DETECT_22DB_R 36 | ||
| 107 | #define AB8500_INT_ACC_DETECT_21DB_F 37 | ||
| 108 | #define AB8500_INT_ACC_DETECT_21DB_R 38 | ||
| 109 | #define AB8500_INT_GP_SW_ADC_CONV_END 39 | ||
| 110 | /* ab8500_irq_regoffset[5] -> IT[Source|Latch|Mask]7 */ | ||
| 111 | #define AB8500_INT_GPIO6R 40 /* not 8505/9540 */ | ||
| 112 | #define AB8500_INT_GPIO7R 41 /* not 8505/9540 */ | ||
| 113 | #define AB8500_INT_GPIO8R 42 /* not 8505/9540 */ | ||
| 114 | #define AB8500_INT_GPIO9R 43 /* not 8505/9540 */ | ||
| 115 | #define AB8500_INT_GPIO10R 44 | ||
| 116 | #define AB8500_INT_GPIO11R 45 | ||
| 117 | #define AB8500_INT_GPIO12R 46 /* not 8505 */ | ||
| 118 | #define AB8500_INT_GPIO13R 47 | ||
| 119 | /* ab8500_irq_regoffset[6] -> IT[Source|Latch|Mask]8 */ | ||
| 120 | #define AB8500_INT_GPIO24R 48 /* not 8505 */ | ||
| 121 | #define AB8500_INT_GPIO25R 49 /* not 8505 */ | ||
| 122 | #define AB8500_INT_GPIO36R 50 /* not 8505/9540 */ | ||
| 123 | #define AB8500_INT_GPIO37R 51 /* not 8505/9540 */ | ||
| 124 | #define AB8500_INT_GPIO38R 52 /* not 8505/9540 */ | ||
| 125 | #define AB8500_INT_GPIO39R 53 /* not 8505/9540 */ | ||
| 126 | #define AB8500_INT_GPIO40R 54 | ||
| 127 | #define AB8500_INT_GPIO41R 55 | ||
| 128 | /* ab8500_irq_regoffset[7] -> IT[Source|Latch|Mask]9 */ | ||
| 129 | #define AB8500_INT_GPIO6F 56 /* not 8505/9540 */ | ||
| 130 | #define AB8500_INT_GPIO7F 57 /* not 8505/9540 */ | ||
| 131 | #define AB8500_INT_GPIO8F 58 /* not 8505/9540 */ | ||
| 132 | #define AB8500_INT_GPIO9F 59 /* not 8505/9540 */ | ||
| 133 | #define AB8500_INT_GPIO10F 60 | ||
| 134 | #define AB8500_INT_GPIO11F 61 | ||
| 135 | #define AB8500_INT_GPIO12F 62 /* not 8505 */ | ||
| 136 | #define AB8500_INT_GPIO13F 63 | ||
| 137 | /* ab8500_irq_regoffset[8] -> IT[Source|Latch|Mask]10 */ | ||
| 138 | #define AB8500_INT_GPIO24F 64 /* not 8505 */ | ||
| 139 | #define AB8500_INT_GPIO25F 65 /* not 8505 */ | ||
| 140 | #define AB8500_INT_GPIO36F 66 /* not 8505/9540 */ | ||
| 141 | #define AB8500_INT_GPIO37F 67 /* not 8505/9540 */ | ||
| 142 | #define AB8500_INT_GPIO38F 68 /* not 8505/9540 */ | ||
| 143 | #define AB8500_INT_GPIO39F 69 /* not 8505/9540 */ | ||
| 144 | #define AB8500_INT_GPIO40F 70 | ||
| 145 | #define AB8500_INT_GPIO41F 71 | ||
| 146 | /* ab8500_irq_regoffset[9] -> IT[Source|Latch|Mask]12 */ | ||
| 147 | #define AB8500_INT_ADP_SOURCE_ERROR 72 | ||
| 148 | #define AB8500_INT_ADP_SINK_ERROR 73 | ||
| 149 | #define AB8500_INT_ADP_PROBE_PLUG 74 | ||
| 150 | #define AB8500_INT_ADP_PROBE_UNPLUG 75 | ||
| 151 | #define AB8500_INT_ADP_SENSE_OFF 76 | ||
| 152 | #define AB8500_INT_USB_PHY_POWER_ERR 78 | ||
| 153 | #define AB8500_INT_USB_LINK_STATUS 79 | ||
| 154 | /* ab8500_irq_regoffset[10] -> IT[Source|Latch|Mask]19 */ | ||
| 155 | #define AB8500_INT_BTEMP_LOW 80 | ||
| 156 | #define AB8500_INT_BTEMP_LOW_MEDIUM 81 | ||
| 157 | #define AB8500_INT_BTEMP_MEDIUM_HIGH 82 | ||
| 158 | #define AB8500_INT_BTEMP_HIGH 83 | ||
| 159 | /* ab8500_irq_regoffset[11] -> IT[Source|Latch|Mask]20 */ | ||
| 160 | #define AB8500_INT_SRP_DETECT 88 | ||
| 161 | #define AB8500_INT_USB_CHARGER_NOT_OKR 89 | ||
| 162 | #define AB8500_INT_ID_WAKEUP_R 90 | ||
| 163 | #define AB8500_INT_ID_DET_R1R 92 | ||
| 164 | #define AB8500_INT_ID_DET_R2R 93 | ||
| 165 | #define AB8500_INT_ID_DET_R3R 94 | ||
| 166 | #define AB8500_INT_ID_DET_R4R 95 | ||
| 167 | /* ab8500_irq_regoffset[12] -> IT[Source|Latch|Mask]21 */ | ||
| 168 | #define AB8500_INT_ID_WAKEUP_F 96 | ||
| 169 | #define AB8500_INT_ID_DET_R1F 98 | ||
| 170 | #define AB8500_INT_ID_DET_R2F 99 | ||
| 171 | #define AB8500_INT_ID_DET_R3F 100 | ||
| 172 | #define AB8500_INT_ID_DET_R4F 101 | ||
| 173 | #define AB8500_INT_CHAUTORESTARTAFTSEC 102 | ||
| 174 | #define AB8500_INT_CHSTOPBYSEC 103 | ||
| 175 | /* ab8500_irq_regoffset[13] -> IT[Source|Latch|Mask]22 */ | ||
| 176 | #define AB8500_INT_USB_CH_TH_PROT_F 104 | ||
| 177 | #define AB8500_INT_USB_CH_TH_PROT_R 105 | ||
| 178 | #define AB8500_INT_MAIN_CH_TH_PROT_F 106 /* not 8505/9540 */ | ||
| 179 | #define AB8500_INT_MAIN_CH_TH_PROT_R 107 /* not 8505/9540 */ | ||
| 180 | #define AB8500_INT_CHCURLIMNOHSCHIRP 109 | ||
| 181 | #define AB8500_INT_CHCURLIMHSCHIRP 110 | ||
| 182 | #define AB8500_INT_XTAL32K_KO 111 | ||
| 183 | |||
| 184 | /* Definitions for AB9540 */ | ||
| 185 | /* ab8500_irq_regoffset[14] -> IT[Source|Latch|Mask]13 */ | ||
| 186 | #define AB9540_INT_GPIO50R 113 | ||
| 187 | #define AB9540_INT_GPIO51R 114 /* not 8505 */ | ||
| 188 | #define AB9540_INT_GPIO52R 115 | ||
| 189 | #define AB9540_INT_GPIO53R 116 | ||
| 190 | #define AB9540_INT_GPIO54R 117 /* not 8505 */ | ||
| 191 | #define AB9540_INT_IEXT_CH_RF_BFN_R 118 | ||
| 192 | #define AB9540_INT_IEXT_CH_RF_BFN_F 119 | ||
| 193 | /* ab8500_irq_regoffset[15] -> IT[Source|Latch|Mask]14 */ | ||
| 194 | #define AB9540_INT_GPIO50F 121 | ||
| 195 | #define AB9540_INT_GPIO51F 122 /* not 8505 */ | ||
| 196 | #define AB9540_INT_GPIO52F 123 | ||
| 197 | #define AB9540_INT_GPIO53F 124 | ||
| 198 | #define AB9540_INT_GPIO54F 125 /* not 8505 */ | ||
| 199 | /* ab8500_irq_regoffset[16] -> IT[Source|Latch|Mask]25 */ | ||
| 200 | #define AB8505_INT_KEYSTUCK 128 | ||
| 201 | #define AB8505_INT_IKR 129 | ||
| 202 | #define AB8505_INT_IKP 130 | ||
| 203 | #define AB8505_INT_KP 131 | ||
| 204 | #define AB8505_INT_KEYDEGLITCH 132 | ||
| 205 | #define AB8505_INT_MODPWRSTATUSF 134 | ||
| 206 | #define AB8505_INT_MODPWRSTATUSR 135 | ||
| 207 | |||
| 208 | /* | ||
| 209 | * AB8500_AB9540_NR_IRQS is used when configuring the IRQ numbers for the | ||
| 210 | * entire platform. This is a "compile time" constant so this must be set to | ||
| 211 | * the largest possible value that may be encountered with different AB SOCs. | ||
| 212 | * Of the currently supported AB devices, AB8500 and AB9540, it is the AB9540 | ||
| 213 | * which is larger. | ||
| 214 | */ | ||
| 215 | #define AB8500_NR_IRQS 112 | ||
| 216 | #define AB8505_NR_IRQS 136 | ||
| 217 | #define AB9540_NR_IRQS 136 | ||
| 218 | /* This is set to the roof of any AB8500 chip variant IRQ counts */ | ||
| 219 | #define AB8500_MAX_NR_IRQS AB9540_NR_IRQS | ||
| 220 | |||
| 221 | #define AB8500_NUM_IRQ_REGS 14 | ||
| 222 | #define AB9540_NUM_IRQ_REGS 17 | ||
| 223 | |||
| 224 | /** | ||
| 225 | * struct ab8500 - ab8500 internal structure | ||
| 226 | * @dev: parent device | ||
| 227 | * @lock: read/write operations lock | ||
| 228 | * @irq_lock: genirq bus lock | ||
| 229 | * @transfer_ongoing: 0 if no transfer ongoing | ||
| 230 | * @irq: irq line | ||
| 231 | * @irq_domain: irq domain | ||
| 232 | * @version: chip version id (e.g. ab8500 or ab9540) | ||
| 233 | * @chip_id: chip revision id | ||
| 234 | * @write: register write | ||
| 235 | * @write_masked: masked register write | ||
| 236 | * @read: register read | ||
| 237 | * @rx_buf: rx buf for SPI | ||
| 238 | * @tx_buf: tx buf for SPI | ||
| 239 | * @mask: cache of IRQ regs for bus lock | ||
| 240 | * @oldmask: cache of previous IRQ regs for bus lock | ||
| 241 | * @mask_size: Actual number of valid entries in mask[], oldmask[] and | ||
| 242 | * irq_reg_offset | ||
| 243 | * @irq_reg_offset: Array of offsets into IRQ registers | ||
| 244 | */ | ||
| 245 | struct ab8500 { | ||
| 246 | struct device *dev; | ||
| 247 | struct mutex lock; | ||
| 248 | struct mutex irq_lock; | ||
| 249 | atomic_t transfer_ongoing; | ||
| 250 | int irq_base; | ||
| 251 | int irq; | ||
| 252 | struct irq_domain *domain; | ||
| 253 | enum ab8500_version version; | ||
| 254 | u8 chip_id; | ||
| 255 | |||
| 256 | int (*write)(struct ab8500 *ab8500, u16 addr, u8 data); | ||
| 257 | int (*write_masked)(struct ab8500 *ab8500, u16 addr, u8 mask, u8 data); | ||
| 258 | int (*read)(struct ab8500 *ab8500, u16 addr); | ||
| 259 | |||
| 260 | unsigned long tx_buf[4]; | ||
| 261 | unsigned long rx_buf[4]; | ||
| 262 | |||
| 263 | u8 *mask; | ||
| 264 | u8 *oldmask; | ||
| 265 | int mask_size; | ||
| 266 | const int *irq_reg_offset; | ||
| 267 | }; | ||
| 268 | |||
| 269 | struct regulator_reg_init; | ||
| 270 | struct regulator_init_data; | ||
| 271 | struct ab8500_gpio_platform_data; | ||
| 272 | struct ab8500_codec_platform_data; | ||
| 273 | |||
| 274 | /** | ||
| 275 | * struct ab8500_platform_data - AB8500 platform data | ||
| 276 | * @irq_base: start of AB8500 IRQs, AB8500_NR_IRQS will be used | ||
| 277 | * @init: board-specific initialization after detection of ab8500 | ||
| 278 | * @num_regulator_reg_init: number of regulator init registers | ||
| 279 | * @regulator_reg_init: regulator init registers | ||
| 280 | * @num_regulator: number of regulators | ||
| 281 | * @regulator: machine-specific constraints for regulators | ||
| 282 | */ | ||
| 283 | struct ab8500_platform_data { | ||
| 284 | int irq_base; | ||
| 285 | void (*init) (struct ab8500 *); | ||
| 286 | int num_regulator_reg_init; | ||
| 287 | struct ab8500_regulator_reg_init *regulator_reg_init; | ||
| 288 | int num_regulator; | ||
| 289 | struct regulator_init_data *regulator; | ||
| 290 | struct ab8500_gpio_platform_data *gpio; | ||
| 291 | struct ab8500_codec_platform_data *codec; | ||
| 292 | }; | ||
| 293 | |||
| 294 | extern int ab8500_init(struct ab8500 *ab8500, | ||
| 295 | enum ab8500_version version); | ||
| 296 | extern int ab8500_exit(struct ab8500 *ab8500); | ||
| 297 | |||
| 298 | extern int ab8500_suspend(struct ab8500 *ab8500); | ||
| 299 | |||
| 300 | static inline int is_ab8500(struct ab8500 *ab) | ||
| 301 | { | ||
| 302 | return ab->version == AB8500_VERSION_AB8500; | ||
| 303 | } | ||
| 304 | |||
| 305 | static inline int is_ab8505(struct ab8500 *ab) | ||
| 306 | { | ||
| 307 | return ab->version == AB8500_VERSION_AB8505; | ||
| 308 | } | ||
| 309 | |||
| 310 | static inline int is_ab9540(struct ab8500 *ab) | ||
| 311 | { | ||
| 312 | return ab->version == AB8500_VERSION_AB9540; | ||
| 313 | } | ||
| 314 | |||
| 315 | static inline int is_ab8540(struct ab8500 *ab) | ||
| 316 | { | ||
| 317 | return ab->version == AB8500_VERSION_AB8540; | ||
| 318 | } | ||
| 319 | |||
| 320 | /* exclude also ab8505, ab9540... */ | ||
| 321 | static inline int is_ab8500_1p0_or_earlier(struct ab8500 *ab) | ||
| 322 | { | ||
| 323 | return (is_ab8500(ab) && (ab->chip_id <= AB8500_CUT1P0)); | ||
| 324 | } | ||
| 325 | |||
| 326 | /* exclude also ab8505, ab9540... */ | ||
| 327 | static inline int is_ab8500_1p1_or_earlier(struct ab8500 *ab) | ||
| 328 | { | ||
| 329 | return (is_ab8500(ab) && (ab->chip_id <= AB8500_CUT1P1)); | ||
| 330 | } | ||
| 331 | |||
| 332 | /* exclude also ab8505, ab9540... */ | ||
| 333 | static inline int is_ab8500_2p0_or_earlier(struct ab8500 *ab) | ||
| 334 | { | ||
| 335 | return (is_ab8500(ab) && (ab->chip_id <= AB8500_CUT2P0)); | ||
| 336 | } | ||
| 337 | |||
| 338 | /* exclude also ab8505, ab9540... */ | ||
| 339 | static inline int is_ab8500_2p0(struct ab8500 *ab) | ||
| 340 | { | ||
| 341 | return (is_ab8500(ab) && (ab->chip_id == AB8500_CUT2P0)); | ||
| 342 | } | ||
| 343 | |||
| 344 | #endif /* MFD_AB8500_H */ | ||
diff --git a/include/linux/mfd/abx500/ux500_chargalg.h b/include/linux/mfd/abx500/ux500_chargalg.h deleted file mode 100644 index 9b07725750c..00000000000 --- a/include/linux/mfd/abx500/ux500_chargalg.h +++ /dev/null | |||
| @@ -1,38 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson SA 2012 | ||
| 3 | * Author: Johan Gardsmark <johan.gardsmark@stericsson.com> for ST-Ericsson. | ||
| 4 | * License terms: GNU General Public License (GPL), version 2 | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef _UX500_CHARGALG_H | ||
| 8 | #define _UX500_CHARGALG_H | ||
| 9 | |||
| 10 | #include <linux/power_supply.h> | ||
| 11 | |||
| 12 | #define psy_to_ux500_charger(x) container_of((x), \ | ||
| 13 | struct ux500_charger, psy) | ||
| 14 | |||
| 15 | /* Forward declaration */ | ||
| 16 | struct ux500_charger; | ||
| 17 | |||
| 18 | struct ux500_charger_ops { | ||
| 19 | int (*enable) (struct ux500_charger *, int, int, int); | ||
| 20 | int (*kick_wd) (struct ux500_charger *); | ||
| 21 | int (*update_curr) (struct ux500_charger *, int); | ||
| 22 | }; | ||
| 23 | |||
| 24 | /** | ||
| 25 | * struct ux500_charger - power supply ux500 charger sub class | ||
| 26 | * @psy power supply base class | ||
| 27 | * @ops ux500 charger operations | ||
| 28 | * @max_out_volt maximum output charger voltage in mV | ||
| 29 | * @max_out_curr maximum output charger current in mA | ||
| 30 | */ | ||
| 31 | struct ux500_charger { | ||
| 32 | struct power_supply psy; | ||
| 33 | struct ux500_charger_ops ops; | ||
| 34 | int max_out_volt; | ||
| 35 | int max_out_curr; | ||
| 36 | }; | ||
| 37 | |||
| 38 | #endif | ||
diff --git a/include/linux/mfd/arizona/core.h b/include/linux/mfd/arizona/core.h deleted file mode 100644 index a580363a7d2..00000000000 --- a/include/linux/mfd/arizona/core.h +++ /dev/null | |||
| @@ -1,118 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Arizona MFD internals | ||
| 3 | * | ||
| 4 | * Copyright 2012 Wolfson Microelectronics plc | ||
| 5 | * | ||
| 6 | * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef _WM_ARIZONA_CORE_H | ||
| 14 | #define _WM_ARIZONA_CORE_H | ||
| 15 | |||
| 16 | #include <linux/interrupt.h> | ||
| 17 | #include <linux/regmap.h> | ||
| 18 | #include <linux/regulator/consumer.h> | ||
| 19 | #include <linux/mfd/arizona/pdata.h> | ||
| 20 | |||
| 21 | #define ARIZONA_MAX_CORE_SUPPLIES 3 | ||
| 22 | |||
| 23 | enum arizona_type { | ||
| 24 | WM5102 = 1, | ||
| 25 | WM5110 = 2, | ||
| 26 | }; | ||
| 27 | |||
| 28 | #define ARIZONA_IRQ_GP1 0 | ||
| 29 | #define ARIZONA_IRQ_GP2 1 | ||
| 30 | #define ARIZONA_IRQ_GP3 2 | ||
| 31 | #define ARIZONA_IRQ_GP4 3 | ||
| 32 | #define ARIZONA_IRQ_GP5_FALL 4 | ||
| 33 | #define ARIZONA_IRQ_GP5_RISE 5 | ||
| 34 | #define ARIZONA_IRQ_JD_FALL 6 | ||
| 35 | #define ARIZONA_IRQ_JD_RISE 7 | ||
| 36 | #define ARIZONA_IRQ_DSP1_RAM_RDY 8 | ||
| 37 | #define ARIZONA_IRQ_DSP2_RAM_RDY 9 | ||
| 38 | #define ARIZONA_IRQ_DSP3_RAM_RDY 10 | ||
| 39 | #define ARIZONA_IRQ_DSP4_RAM_RDY 11 | ||
| 40 | #define ARIZONA_IRQ_DSP_IRQ1 12 | ||
| 41 | #define ARIZONA_IRQ_DSP_IRQ2 13 | ||
| 42 | #define ARIZONA_IRQ_DSP_IRQ3 14 | ||
| 43 | #define ARIZONA_IRQ_DSP_IRQ4 15 | ||
| 44 | #define ARIZONA_IRQ_DSP_IRQ5 16 | ||
| 45 | #define ARIZONA_IRQ_DSP_IRQ6 17 | ||
| 46 | #define ARIZONA_IRQ_DSP_IRQ7 18 | ||
| 47 | #define ARIZONA_IRQ_DSP_IRQ8 19 | ||
| 48 | #define ARIZONA_IRQ_SPK_SHUTDOWN_WARN 20 | ||
| 49 | #define ARIZONA_IRQ_SPK_SHUTDOWN 21 | ||
| 50 | #define ARIZONA_IRQ_MICDET 22 | ||
| 51 | #define ARIZONA_IRQ_HPDET 23 | ||
| 52 | #define ARIZONA_IRQ_WSEQ_DONE 24 | ||
| 53 | #define ARIZONA_IRQ_DRC2_SIG_DET 25 | ||
| 54 | #define ARIZONA_IRQ_DRC1_SIG_DET 26 | ||
| 55 | #define ARIZONA_IRQ_ASRC2_LOCK 27 | ||
| 56 | #define ARIZONA_IRQ_ASRC1_LOCK 28 | ||
| 57 | #define ARIZONA_IRQ_UNDERCLOCKED 29 | ||
| 58 | #define ARIZONA_IRQ_OVERCLOCKED 30 | ||
| 59 | #define ARIZONA_IRQ_FLL2_LOCK 31 | ||
| 60 | #define ARIZONA_IRQ_FLL1_LOCK 32 | ||
| 61 | #define ARIZONA_IRQ_CLKGEN_ERR 33 | ||
| 62 | #define ARIZONA_IRQ_CLKGEN_ERR_ASYNC 34 | ||
| 63 | #define ARIZONA_IRQ_ASRC_CFG_ERR 35 | ||
| 64 | #define ARIZONA_IRQ_AIF3_ERR 36 | ||
| 65 | #define ARIZONA_IRQ_AIF2_ERR 37 | ||
| 66 | #define ARIZONA_IRQ_AIF1_ERR 38 | ||
| 67 | #define ARIZONA_IRQ_CTRLIF_ERR 39 | ||
| 68 | #define ARIZONA_IRQ_MIXER_DROPPED_SAMPLES 40 | ||
| 69 | #define ARIZONA_IRQ_ASYNC_CLK_ENA_LOW 41 | ||
| 70 | #define ARIZONA_IRQ_SYSCLK_ENA_LOW 42 | ||
| 71 | #define ARIZONA_IRQ_ISRC1_CFG_ERR 43 | ||
| 72 | #define ARIZONA_IRQ_ISRC2_CFG_ERR 44 | ||
| 73 | #define ARIZONA_IRQ_BOOT_DONE 45 | ||
| 74 | #define ARIZONA_IRQ_DCS_DAC_DONE 46 | ||
| 75 | #define ARIZONA_IRQ_DCS_HP_DONE 47 | ||
| 76 | #define ARIZONA_IRQ_FLL2_CLOCK_OK 48 | ||
| 77 | #define ARIZONA_IRQ_FLL1_CLOCK_OK 49 | ||
| 78 | |||
| 79 | #define ARIZONA_NUM_IRQ 50 | ||
| 80 | |||
| 81 | struct snd_soc_dapm_context; | ||
| 82 | |||
| 83 | struct arizona { | ||
| 84 | struct regmap *regmap; | ||
| 85 | struct device *dev; | ||
| 86 | |||
| 87 | enum arizona_type type; | ||
| 88 | unsigned int rev; | ||
| 89 | |||
| 90 | int num_core_supplies; | ||
| 91 | struct regulator_bulk_data core_supplies[ARIZONA_MAX_CORE_SUPPLIES]; | ||
| 92 | struct regulator *dcvdd; | ||
| 93 | |||
| 94 | struct arizona_pdata pdata; | ||
| 95 | |||
| 96 | int irq; | ||
| 97 | struct irq_domain *virq; | ||
| 98 | struct regmap_irq_chip_data *aod_irq_chip; | ||
| 99 | struct regmap_irq_chip_data *irq_chip; | ||
| 100 | |||
| 101 | struct mutex clk_lock; | ||
| 102 | int clk32k_ref; | ||
| 103 | |||
| 104 | struct snd_soc_dapm_context *dapm; | ||
| 105 | }; | ||
| 106 | |||
| 107 | int arizona_clk32k_enable(struct arizona *arizona); | ||
| 108 | int arizona_clk32k_disable(struct arizona *arizona); | ||
| 109 | |||
| 110 | int arizona_request_irq(struct arizona *arizona, int irq, char *name, | ||
| 111 | irq_handler_t handler, void *data); | ||
| 112 | void arizona_free_irq(struct arizona *arizona, int irq, void *data); | ||
| 113 | int arizona_set_irq_wake(struct arizona *arizona, int irq, int on); | ||
| 114 | |||
| 115 | int wm5102_patch(struct arizona *arizona); | ||
| 116 | int wm5110_patch(struct arizona *arizona); | ||
| 117 | |||
| 118 | #endif | ||
diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h deleted file mode 100644 index 8b1d1daaae1..00000000000 --- a/include/linux/mfd/arizona/pdata.h +++ /dev/null | |||
| @@ -1,125 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Platform data for Arizona devices | ||
| 3 | * | ||
| 4 | * Copyright 2012 Wolfson Microelectronics. PLC. | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License version 2 as | ||
| 8 | * published by the Free Software Foundation. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #ifndef _ARIZONA_PDATA_H | ||
| 12 | #define _ARIZONA_PDATA_H | ||
| 13 | |||
| 14 | #define ARIZONA_GPN_DIR 0x8000 /* GPN_DIR */ | ||
| 15 | #define ARIZONA_GPN_DIR_MASK 0x8000 /* GPN_DIR */ | ||
| 16 | #define ARIZONA_GPN_DIR_SHIFT 15 /* GPN_DIR */ | ||
| 17 | #define ARIZONA_GPN_DIR_WIDTH 1 /* GPN_DIR */ | ||
| 18 | #define ARIZONA_GPN_PU 0x4000 /* GPN_PU */ | ||
| 19 | #define ARIZONA_GPN_PU_MASK 0x4000 /* GPN_PU */ | ||
| 20 | #define ARIZONA_GPN_PU_SHIFT 14 /* GPN_PU */ | ||
| 21 | #define ARIZONA_GPN_PU_WIDTH 1 /* GPN_PU */ | ||
| 22 | #define ARIZONA_GPN_PD 0x2000 /* GPN_PD */ | ||
| 23 | #define ARIZONA_GPN_PD_MASK 0x2000 /* GPN_PD */ | ||
| 24 | #define ARIZONA_GPN_PD_SHIFT 13 /* GPN_PD */ | ||
| 25 | #define ARIZONA_GPN_PD_WIDTH 1 /* GPN_PD */ | ||
| 26 | #define ARIZONA_GPN_LVL 0x0800 /* GPN_LVL */ | ||
| 27 | #define ARIZONA_GPN_LVL_MASK 0x0800 /* GPN_LVL */ | ||
| 28 | #define ARIZONA_GPN_LVL_SHIFT 11 /* GPN_LVL */ | ||
| 29 | #define ARIZONA_GPN_LVL_WIDTH 1 /* GPN_LVL */ | ||
| 30 | #define ARIZONA_GPN_POL 0x0400 /* GPN_POL */ | ||
| 31 | #define ARIZONA_GPN_POL_MASK 0x0400 /* GPN_POL */ | ||
| 32 | #define ARIZONA_GPN_POL_SHIFT 10 /* GPN_POL */ | ||
| 33 | #define ARIZONA_GPN_POL_WIDTH 1 /* GPN_POL */ | ||
| 34 | #define ARIZONA_GPN_OP_CFG 0x0200 /* GPN_OP_CFG */ | ||
| 35 | #define ARIZONA_GPN_OP_CFG_MASK 0x0200 /* GPN_OP_CFG */ | ||
| 36 | #define ARIZONA_GPN_OP_CFG_SHIFT 9 /* GPN_OP_CFG */ | ||
| 37 | #define ARIZONA_GPN_OP_CFG_WIDTH 1 /* GPN_OP_CFG */ | ||
| 38 | #define ARIZONA_GPN_DB 0x0100 /* GPN_DB */ | ||
| 39 | #define ARIZONA_GPN_DB_MASK 0x0100 /* GPN_DB */ | ||
| 40 | #define ARIZONA_GPN_DB_SHIFT 8 /* GPN_DB */ | ||
| 41 | #define ARIZONA_GPN_DB_WIDTH 1 /* GPN_DB */ | ||
| 42 | #define ARIZONA_GPN_FN_MASK 0x007F /* GPN_FN - [6:0] */ | ||
| 43 | #define ARIZONA_GPN_FN_SHIFT 0 /* GPN_FN - [6:0] */ | ||
| 44 | #define ARIZONA_GPN_FN_WIDTH 7 /* GPN_FN - [6:0] */ | ||
| 45 | |||
| 46 | #define ARIZONA_MAX_GPIO 5 | ||
| 47 | |||
| 48 | #define ARIZONA_32KZ_MCLK1 1 | ||
| 49 | #define ARIZONA_32KZ_MCLK2 2 | ||
| 50 | #define ARIZONA_32KZ_NONE 3 | ||
| 51 | |||
| 52 | #define ARIZONA_MAX_INPUT 4 | ||
| 53 | |||
| 54 | #define ARIZONA_DMIC_MICVDD 0 | ||
| 55 | #define ARIZONA_DMIC_MICBIAS1 1 | ||
| 56 | #define ARIZONA_DMIC_MICBIAS2 2 | ||
| 57 | #define ARIZONA_DMIC_MICBIAS3 3 | ||
| 58 | |||
| 59 | #define ARIZONA_INMODE_DIFF 0 | ||
| 60 | #define ARIZONA_INMODE_SE 1 | ||
| 61 | #define ARIZONA_INMODE_DMIC 2 | ||
| 62 | |||
| 63 | #define ARIZONA_MAX_OUTPUT 6 | ||
| 64 | |||
| 65 | #define ARIZONA_HAP_ACT_ERM 0 | ||
| 66 | #define ARIZONA_HAP_ACT_LRA 2 | ||
| 67 | |||
| 68 | #define ARIZONA_MAX_PDM_SPK 2 | ||
| 69 | |||
| 70 | struct regulator_init_data; | ||
| 71 | |||
| 72 | struct arizona_micd_config { | ||
| 73 | unsigned int src; | ||
| 74 | unsigned int bias; | ||
| 75 | bool gpio; | ||
| 76 | }; | ||
| 77 | |||
| 78 | struct arizona_pdata { | ||
| 79 | int reset; /** GPIO controlling /RESET, if any */ | ||
| 80 | int ldoena; /** GPIO controlling LODENA, if any */ | ||
| 81 | |||
| 82 | /** Regulator configuration for MICVDD */ | ||
| 83 | struct regulator_init_data *micvdd; | ||
| 84 | |||
| 85 | /** Regulator configuration for LDO1 */ | ||
| 86 | struct regulator_init_data *ldo1; | ||
| 87 | |||
| 88 | /** If a direct 32kHz clock is provided on an MCLK specify it here */ | ||
| 89 | int clk32k_src; | ||
| 90 | |||
| 91 | bool irq_active_high; /** IRQ polarity */ | ||
| 92 | |||
| 93 | /* Base GPIO */ | ||
| 94 | int gpio_base; | ||
| 95 | |||
| 96 | /** Pin state for GPIO pins */ | ||
| 97 | int gpio_defaults[ARIZONA_MAX_GPIO]; | ||
| 98 | |||
| 99 | /** GPIO for mic detection polarity */ | ||
| 100 | int micd_pol_gpio; | ||
| 101 | |||
| 102 | /** Headset polarity configurations */ | ||
| 103 | struct arizona_micd_config *micd_configs; | ||
| 104 | int num_micd_configs; | ||
| 105 | |||
| 106 | /** Reference voltage for DMIC inputs */ | ||
| 107 | int dmic_ref[ARIZONA_MAX_INPUT]; | ||
| 108 | |||
| 109 | /** Mode of input structures */ | ||
| 110 | int inmode[ARIZONA_MAX_INPUT]; | ||
| 111 | |||
| 112 | /** Mode for outputs */ | ||
| 113 | bool out_mono[ARIZONA_MAX_OUTPUT]; | ||
| 114 | |||
| 115 | /** PDM speaker mute setting */ | ||
| 116 | unsigned int spk_mute[ARIZONA_MAX_PDM_SPK]; | ||
| 117 | |||
| 118 | /** PDM speaker format */ | ||
| 119 | unsigned int spk_fmt[ARIZONA_MAX_PDM_SPK]; | ||
| 120 | |||
| 121 | /** Haptic actuator type */ | ||
| 122 | unsigned int hap_act; | ||
| 123 | }; | ||
| 124 | |||
| 125 | #endif | ||
diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h deleted file mode 100644 index 1f6fe31a4d5..00000000000 --- a/include/linux/mfd/arizona/registers.h +++ /dev/null | |||
| @@ -1,6611 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * ARIZONA register definitions | ||
| 3 | * | ||
| 4 | * Copyright 2012 Wolfson Microelectronics plc | ||
| 5 | * | ||
| 6 | * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef _ARIZONA_REGISTERS_H | ||
| 14 | #define _ARIZONA_REGISTERS_H | ||
| 15 | |||
| 16 | /* | ||
| 17 | * Register values. | ||
| 18 | */ | ||
| 19 | #define ARIZONA_SOFTWARE_RESET 0x00 | ||
| 20 | #define ARIZONA_DEVICE_REVISION 0x01 | ||
| 21 | #define ARIZONA_CTRL_IF_SPI_CFG_1 0x08 | ||
| 22 | #define ARIZONA_CTRL_IF_I2C1_CFG_1 0x09 | ||
| 23 | #define ARIZONA_CTRL_IF_I2C2_CFG_1 0x0A | ||
| 24 | #define ARIZONA_CTRL_IF_I2C1_CFG_2 0x0B | ||
| 25 | #define ARIZONA_CTRL_IF_I2C2_CFG_2 0x0C | ||
| 26 | #define ARIZONA_CTRL_IF_STATUS_1 0x0D | ||
| 27 | #define ARIZONA_WRITE_SEQUENCER_CTRL_0 0x16 | ||
| 28 | #define ARIZONA_WRITE_SEQUENCER_CTRL_1 0x17 | ||
| 29 | #define ARIZONA_WRITE_SEQUENCER_CTRL_2 0x18 | ||
| 30 | #define ARIZONA_WRITE_SEQUENCER_PROM 0x1A | ||
| 31 | #define ARIZONA_TONE_GENERATOR_1 0x20 | ||
| 32 | #define ARIZONA_TONE_GENERATOR_2 0x21 | ||
| 33 | #define ARIZONA_TONE_GENERATOR_3 0x22 | ||
| 34 | #define ARIZONA_TONE_GENERATOR_4 0x23 | ||
| 35 | #define ARIZONA_TONE_GENERATOR_5 0x24 | ||
| 36 | #define ARIZONA_PWM_DRIVE_1 0x30 | ||
| 37 | #define ARIZONA_PWM_DRIVE_2 0x31 | ||
| 38 | #define ARIZONA_PWM_DRIVE_3 0x32 | ||
| 39 | #define ARIZONA_WAKE_CONTROL 0x40 | ||
| 40 | #define ARIZONA_SEQUENCE_CONTROL 0x41 | ||
| 41 | #define ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_1 0x61 | ||
| 42 | #define ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_2 0x62 | ||
| 43 | #define ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_3 0x63 | ||
| 44 | #define ARIZONA_SAMPLE_RATE_SEQUENCE_SELECT_4 0x64 | ||
| 45 | #define ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_1 0x68 | ||
| 46 | #define ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_2 0x69 | ||
| 47 | #define ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_3 0x6A | ||
| 48 | #define ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_4 0x6B | ||
| 49 | #define ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_5 0x6C | ||
| 50 | #define ARIZONA_ALWAYS_ON_TRIGGERS_SEQUENCE_SELECT_6 0x6D | ||
| 51 | #define ARIZONA_COMFORT_NOISE_GENERATOR 0x70 | ||
| 52 | #define ARIZONA_HAPTICS_CONTROL_1 0x90 | ||
| 53 | #define ARIZONA_HAPTICS_CONTROL_2 0x91 | ||
| 54 | #define ARIZONA_HAPTICS_PHASE_1_INTENSITY 0x92 | ||
| 55 | #define ARIZONA_HAPTICS_PHASE_1_DURATION 0x93 | ||
| 56 | #define ARIZONA_HAPTICS_PHASE_2_INTENSITY 0x94 | ||
| 57 | #define ARIZONA_HAPTICS_PHASE_2_DURATION 0x95 | ||
| 58 | #define ARIZONA_HAPTICS_PHASE_3_INTENSITY 0x96 | ||
| 59 | #define ARIZONA_HAPTICS_PHASE_3_DURATION 0x97 | ||
| 60 | #define ARIZONA_HAPTICS_STATUS 0x98 | ||
| 61 | #define ARIZONA_CLOCK_32K_1 0x100 | ||
| 62 | #define ARIZONA_SYSTEM_CLOCK_1 0x101 | ||
| 63 | #define ARIZONA_SAMPLE_RATE_1 0x102 | ||
| 64 | #define ARIZONA_SAMPLE_RATE_2 0x103 | ||
| 65 | #define ARIZONA_SAMPLE_RATE_3 0x104 | ||
| 66 | #define ARIZONA_SAMPLE_RATE_1_STATUS 0x10A | ||
| 67 | #define ARIZONA_SAMPLE_RATE_2_STATUS 0x10B | ||
| 68 | #define ARIZONA_SAMPLE_RATE_3_STATUS 0x10C | ||
| 69 | #define ARIZONA_ASYNC_CLOCK_1 0x112 | ||
| 70 | #define ARIZONA_ASYNC_SAMPLE_RATE_1 0x113 | ||
| 71 | #define ARIZONA_ASYNC_SAMPLE_RATE_1_STATUS 0x11B | ||
| 72 | #define ARIZONA_OUTPUT_SYSTEM_CLOCK 0x149 | ||
| 73 | #define ARIZONA_OUTPUT_ASYNC_CLOCK 0x14A | ||
| 74 | #define ARIZONA_RATE_ESTIMATOR_1 0x152 | ||
| 75 | #define ARIZONA_RATE_ESTIMATOR_2 0x153 | ||
| 76 | #define ARIZONA_RATE_ESTIMATOR_3 0x154 | ||
| 77 | #define ARIZONA_RATE_ESTIMATOR_4 0x155 | ||
| 78 | #define ARIZONA_RATE_ESTIMATOR_5 0x156 | ||
| 79 | #define ARIZONA_DYNAMIC_FREQUENCY_SCALING_1 0x161 | ||
| 80 | #define ARIZONA_FLL1_CONTROL_1 0x171 | ||
| 81 | #define ARIZONA_FLL1_CONTROL_2 0x172 | ||
| 82 | #define ARIZONA_FLL1_CONTROL_3 0x173 | ||
| 83 | #define ARIZONA_FLL1_CONTROL_4 0x174 | ||
| 84 | #define ARIZONA_FLL1_CONTROL_5 0x175 | ||
| 85 | #define ARIZONA_FLL1_CONTROL_6 0x176 | ||
| 86 | #define ARIZONA_FLL1_LOOP_FILTER_TEST_1 0x177 | ||
| 87 | #define ARIZONA_FLL1_NCO_TEST_0 0x178 | ||
| 88 | #define ARIZONA_FLL1_SYNCHRONISER_1 0x181 | ||
| 89 | #define ARIZONA_FLL1_SYNCHRONISER_2 0x182 | ||
| 90 | #define ARIZONA_FLL1_SYNCHRONISER_3 0x183 | ||
| 91 | #define ARIZONA_FLL1_SYNCHRONISER_4 0x184 | ||
| 92 | #define ARIZONA_FLL1_SYNCHRONISER_5 0x185 | ||
| 93 | #define ARIZONA_FLL1_SYNCHRONISER_6 0x186 | ||
| 94 | #define ARIZONA_FLL1_SPREAD_SPECTRUM 0x189 | ||
| 95 | #define ARIZONA_FLL1_GPIO_CLOCK 0x18A | ||
| 96 | #define ARIZONA_FLL2_CONTROL_1 0x191 | ||
| 97 | #define ARIZONA_FLL2_CONTROL_2 0x192 | ||
| 98 | #define ARIZONA_FLL2_CONTROL_3 0x193 | ||
| 99 | #define ARIZONA_FLL2_CONTROL_4 0x194 | ||
| 100 | #define ARIZONA_FLL2_CONTROL_5 0x195 | ||
| 101 | #define ARIZONA_FLL2_CONTROL_6 0x196 | ||
| 102 | #define ARIZONA_FLL2_LOOP_FILTER_TEST_1 0x197 | ||
| 103 | #define ARIZONA_FLL2_NCO_TEST_0 0x198 | ||
| 104 | #define ARIZONA_FLL2_SYNCHRONISER_1 0x1A1 | ||
| 105 | #define ARIZONA_FLL2_SYNCHRONISER_2 0x1A2 | ||
| 106 | #define ARIZONA_FLL2_SYNCHRONISER_3 0x1A3 | ||
| 107 | #define ARIZONA_FLL2_SYNCHRONISER_4 0x1A4 | ||
| 108 | #define ARIZONA_FLL2_SYNCHRONISER_5 0x1A5 | ||
| 109 | #define ARIZONA_FLL2_SYNCHRONISER_6 0x1A6 | ||
| 110 | #define ARIZONA_FLL2_SPREAD_SPECTRUM 0x1A9 | ||
| 111 | #define ARIZONA_FLL2_GPIO_CLOCK 0x1AA | ||
| 112 | #define ARIZONA_MIC_CHARGE_PUMP_1 0x200 | ||
| 113 | #define ARIZONA_LDO1_CONTROL_1 0x210 | ||
| 114 | #define ARIZONA_LDO1_CONTROL_2 0x212 | ||
| 115 | #define ARIZONA_LDO2_CONTROL_1 0x213 | ||
| 116 | #define ARIZONA_MIC_BIAS_CTRL_1 0x218 | ||
| 117 | #define ARIZONA_MIC_BIAS_CTRL_2 0x219 | ||
| 118 | #define ARIZONA_MIC_BIAS_CTRL_3 0x21A | ||
| 119 | #define ARIZONA_ACCESSORY_DETECT_MODE_1 0x293 | ||
| 120 | #define ARIZONA_HEADPHONE_DETECT_1 0x29B | ||
| 121 | #define ARIZONA_HEADPHONE_DETECT_2 0x29C | ||
| 122 | #define ARIZONA_MIC_DETECT_1 0x2A3 | ||
| 123 | #define ARIZONA_MIC_DETECT_2 0x2A4 | ||
| 124 | #define ARIZONA_MIC_DETECT_3 0x2A5 | ||
| 125 | #define ARIZONA_MIC_NOISE_MIX_CONTROL_1 0x2C3 | ||
| 126 | #define ARIZONA_ISOLATION_CONTROL 0x2CB | ||
| 127 | #define ARIZONA_JACK_DETECT_ANALOGUE 0x2D3 | ||
| 128 | #define ARIZONA_INPUT_ENABLES 0x300 | ||
| 129 | #define ARIZONA_INPUT_ENABLES_STATUS 0x301 | ||
| 130 | #define ARIZONA_INPUT_RATE 0x308 | ||
| 131 | #define ARIZONA_INPUT_VOLUME_RAMP 0x309 | ||
| 132 | #define ARIZONA_IN1L_CONTROL 0x310 | ||
| 133 | #define ARIZONA_ADC_DIGITAL_VOLUME_1L 0x311 | ||
| 134 | #define ARIZONA_DMIC1L_CONTROL 0x312 | ||
| 135 | #define ARIZONA_IN1R_CONTROL 0x314 | ||
| 136 | #define ARIZONA_ADC_DIGITAL_VOLUME_1R 0x315 | ||
| 137 | #define ARIZONA_DMIC1R_CONTROL 0x316 | ||
| 138 | #define ARIZONA_IN2L_CONTROL 0x318 | ||
| 139 | #define ARIZONA_ADC_DIGITAL_VOLUME_2L 0x319 | ||
| 140 | #define ARIZONA_DMIC2L_CONTROL 0x31A | ||
| 141 | #define ARIZONA_IN2R_CONTROL 0x31C | ||
| 142 | #define ARIZONA_ADC_DIGITAL_VOLUME_2R 0x31D | ||
| 143 | #define ARIZONA_DMIC2R_CONTROL 0x31E | ||
| 144 | #define ARIZONA_IN3L_CONTROL 0x320 | ||
| 145 | #define ARIZONA_ADC_DIGITAL_VOLUME_3L 0x321 | ||
| 146 | #define ARIZONA_DMIC3L_CONTROL 0x322 | ||
| 147 | #define ARIZONA_IN3R_CONTROL 0x324 | ||
| 148 | #define ARIZONA_ADC_DIGITAL_VOLUME_3R 0x325 | ||
| 149 | #define ARIZONA_DMIC3R_CONTROL 0x326 | ||
| 150 | #define ARIZONA_IN4L_CONTROL 0x328 | ||
| 151 | #define ARIZONA_ADC_DIGITAL_VOLUME_4L 0x329 | ||
| 152 | #define ARIZONA_DMIC4L_CONTROL 0x32A | ||
| 153 | #define ARIZONA_ADC_DIGITAL_VOLUME_4R 0x32D | ||
| 154 | #define ARIZONA_DMIC4R_CONTROL 0x32E | ||
| 155 | #define ARIZONA_OUTPUT_ENABLES_1 0x400 | ||
| 156 | #define ARIZONA_OUTPUT_STATUS_1 0x401 | ||
| 157 | #define ARIZONA_RAW_OUTPUT_STATUS_1 0x406 | ||
| 158 | #define ARIZONA_OUTPUT_RATE_1 0x408 | ||
| 159 | #define ARIZONA_OUTPUT_VOLUME_RAMP 0x409 | ||
| 160 | #define ARIZONA_OUTPUT_PATH_CONFIG_1L 0x410 | ||
| 161 | #define ARIZONA_DAC_DIGITAL_VOLUME_1L 0x411 | ||
| 162 | #define ARIZONA_DAC_VOLUME_LIMIT_1L 0x412 | ||
| 163 | #define ARIZONA_NOISE_GATE_SELECT_1L 0x413 | ||
| 164 | #define ARIZONA_OUTPUT_PATH_CONFIG_1R 0x414 | ||
| 165 | #define ARIZONA_DAC_DIGITAL_VOLUME_1R 0x415 | ||
| 166 | #define ARIZONA_DAC_VOLUME_LIMIT_1R 0x416 | ||
| 167 | #define ARIZONA_NOISE_GATE_SELECT_1R 0x417 | ||
| 168 | #define ARIZONA_OUTPUT_PATH_CONFIG_2L 0x418 | ||
| 169 | #define ARIZONA_DAC_DIGITAL_VOLUME_2L 0x419 | ||
| 170 | #define ARIZONA_DAC_VOLUME_LIMIT_2L 0x41A | ||
| 171 | #define ARIZONA_NOISE_GATE_SELECT_2L 0x41B | ||
| 172 | #define ARIZONA_OUTPUT_PATH_CONFIG_2R 0x41C | ||
| 173 | #define ARIZONA_DAC_DIGITAL_VOLUME_2R 0x41D | ||
| 174 | #define ARIZONA_DAC_VOLUME_LIMIT_2R 0x41E | ||
| 175 | #define ARIZONA_NOISE_GATE_SELECT_2R 0x41F | ||
| 176 | #define ARIZONA_OUTPUT_PATH_CONFIG_3L 0x420 | ||
| 177 | #define ARIZONA_DAC_DIGITAL_VOLUME_3L 0x421 | ||
| 178 | #define ARIZONA_DAC_VOLUME_LIMIT_3L 0x422 | ||
| 179 | #define ARIZONA_NOISE_GATE_SELECT_3L 0x423 | ||
| 180 | #define ARIZONA_OUTPUT_PATH_CONFIG_3R 0x424 | ||
| 181 | #define ARIZONA_DAC_DIGITAL_VOLUME_3R 0x425 | ||
| 182 | #define ARIZONA_DAC_VOLUME_LIMIT_3R 0x426 | ||
| 183 | #define ARIZONA_NOISE_GATE_SELECT_3R 0x427 | ||
| 184 | #define ARIZONA_OUTPUT_PATH_CONFIG_4L 0x428 | ||
| 185 | #define ARIZONA_DAC_DIGITAL_VOLUME_4L 0x429 | ||
| 186 | #define ARIZONA_OUT_VOLUME_4L 0x42A | ||
| 187 | #define ARIZONA_NOISE_GATE_SELECT_4L 0x42B | ||
| 188 | #define ARIZONA_OUTPUT_PATH_CONFIG_4R 0x42C | ||
| 189 | #define ARIZONA_DAC_DIGITAL_VOLUME_4R 0x42D | ||
| 190 | #define ARIZONA_OUT_VOLUME_4R 0x42E | ||
| 191 | #define ARIZONA_NOISE_GATE_SELECT_4R 0x42F | ||
| 192 | #define ARIZONA_OUTPUT_PATH_CONFIG_5L 0x430 | ||
| 193 | #define ARIZONA_DAC_DIGITAL_VOLUME_5L 0x431 | ||
| 194 | #define ARIZONA_DAC_VOLUME_LIMIT_5L 0x432 | ||
| 195 | #define ARIZONA_NOISE_GATE_SELECT_5L 0x433 | ||
| 196 | #define ARIZONA_OUTPUT_PATH_CONFIG_5R 0x434 | ||
| 197 | #define ARIZONA_DAC_DIGITAL_VOLUME_5R 0x435 | ||
| 198 | #define ARIZONA_DAC_VOLUME_LIMIT_5R 0x436 | ||
| 199 | #define ARIZONA_NOISE_GATE_SELECT_5R 0x437 | ||
| 200 | #define ARIZONA_OUTPUT_PATH_CONFIG_6L 0x438 | ||
| 201 | #define ARIZONA_DAC_DIGITAL_VOLUME_6L 0x439 | ||
| 202 | #define ARIZONA_DAC_VOLUME_LIMIT_6L 0x43A | ||
| 203 | #define ARIZONA_NOISE_GATE_SELECT_6L 0x43B | ||
| 204 | #define ARIZONA_OUTPUT_PATH_CONFIG_6R 0x43C | ||
| 205 | #define ARIZONA_DAC_DIGITAL_VOLUME_6R 0x43D | ||
| 206 | #define ARIZONA_DAC_VOLUME_LIMIT_6R 0x43E | ||
| 207 | #define ARIZONA_NOISE_GATE_SELECT_6R 0x43F | ||
| 208 | #define ARIZONA_DAC_AEC_CONTROL_1 0x450 | ||
| 209 | #define ARIZONA_NOISE_GATE_CONTROL 0x458 | ||
| 210 | #define ARIZONA_PDM_SPK1_CTRL_1 0x490 | ||
| 211 | #define ARIZONA_PDM_SPK1_CTRL_2 0x491 | ||
| 212 | #define ARIZONA_PDM_SPK2_CTRL_1 0x492 | ||
| 213 | #define ARIZONA_PDM_SPK2_CTRL_2 0x493 | ||
| 214 | #define ARIZONA_DAC_COMP_1 0x4DC | ||
| 215 | #define ARIZONA_DAC_COMP_2 0x4DD | ||
| 216 | #define ARIZONA_DAC_COMP_3 0x4DE | ||
| 217 | #define ARIZONA_DAC_COMP_4 0x4DF | ||
| 218 | #define ARIZONA_AIF1_BCLK_CTRL 0x500 | ||
| 219 | #define ARIZONA_AIF1_TX_PIN_CTRL 0x501 | ||
| 220 | #define ARIZONA_AIF1_RX_PIN_CTRL 0x502 | ||
| 221 | #define ARIZONA_AIF1_RATE_CTRL 0x503 | ||
| 222 | #define ARIZONA_AIF1_FORMAT 0x504 | ||
| 223 | #define ARIZONA_AIF1_TX_BCLK_RATE 0x505 | ||
| 224 | #define ARIZONA_AIF1_RX_BCLK_RATE 0x506 | ||
| 225 | #define ARIZONA_AIF1_FRAME_CTRL_1 0x507 | ||
| 226 | #define ARIZONA_AIF1_FRAME_CTRL_2 0x508 | ||
| 227 | #define ARIZONA_AIF1_FRAME_CTRL_3 0x509 | ||
| 228 | #define ARIZONA_AIF1_FRAME_CTRL_4 0x50A | ||
| 229 | #define ARIZONA_AIF1_FRAME_CTRL_5 0x50B | ||
| 230 | #define ARIZONA_AIF1_FRAME_CTRL_6 0x50C | ||
| 231 | #define ARIZONA_AIF1_FRAME_CTRL_7 0x50D | ||
| 232 | #define ARIZONA_AIF1_FRAME_CTRL_8 0x50E | ||
| 233 | #define ARIZONA_AIF1_FRAME_CTRL_9 0x50F | ||
| 234 | #define ARIZONA_AIF1_FRAME_CTRL_10 0x510 | ||
| 235 | #define ARIZONA_AIF1_FRAME_CTRL_11 0x511 | ||
| 236 | #define ARIZONA_AIF1_FRAME_CTRL_12 0x512 | ||
| 237 | #define ARIZONA_AIF1_FRAME_CTRL_13 0x513 | ||
| 238 | #define ARIZONA_AIF1_FRAME_CTRL_14 0x514 | ||
| 239 | #define ARIZONA_AIF1_FRAME_CTRL_15 0x515 | ||
| 240 | #define ARIZONA_AIF1_FRAME_CTRL_16 0x516 | ||
| 241 | #define ARIZONA_AIF1_FRAME_CTRL_17 0x517 | ||
| 242 | #define ARIZONA_AIF1_FRAME_CTRL_18 0x518 | ||
| 243 | #define ARIZONA_AIF1_TX_ENABLES 0x519 | ||
| 244 | #define ARIZONA_AIF1_RX_ENABLES 0x51A | ||
| 245 | #define ARIZONA_AIF1_FORCE_WRITE 0x51B | ||
| 246 | #define ARIZONA_AIF2_BCLK_CTRL 0x540 | ||
| 247 | #define ARIZONA_AIF2_TX_PIN_CTRL 0x541 | ||
| 248 | #define ARIZONA_AIF2_RX_PIN_CTRL 0x542 | ||
| 249 | #define ARIZONA_AIF2_RATE_CTRL 0x543 | ||
| 250 | #define ARIZONA_AIF2_FORMAT 0x544 | ||
| 251 | #define ARIZONA_AIF2_TX_BCLK_RATE 0x545 | ||
| 252 | #define ARIZONA_AIF2_RX_BCLK_RATE 0x546 | ||
| 253 | #define ARIZONA_AIF2_FRAME_CTRL_1 0x547 | ||
| 254 | #define ARIZONA_AIF2_FRAME_CTRL_2 0x548 | ||
| 255 | #define ARIZONA_AIF2_FRAME_CTRL_3 0x549 | ||
| 256 | #define ARIZONA_AIF2_FRAME_CTRL_4 0x54A | ||
| 257 | #define ARIZONA_AIF2_FRAME_CTRL_11 0x551 | ||
| 258 | #define ARIZONA_AIF2_FRAME_CTRL_12 0x552 | ||
| 259 | #define ARIZONA_AIF2_TX_ENABLES 0x559 | ||
| 260 | #define ARIZONA_AIF2_RX_ENABLES 0x55A | ||
| 261 | #define ARIZONA_AIF2_FORCE_WRITE 0x55B | ||
| 262 | #define ARIZONA_AIF3_BCLK_CTRL 0x580 | ||
| 263 | #define ARIZONA_AIF3_TX_PIN_CTRL 0x581 | ||
| 264 | #define ARIZONA_AIF3_RX_PIN_CTRL 0x582 | ||
| 265 | #define ARIZONA_AIF3_RATE_CTRL 0x583 | ||
| 266 | #define ARIZONA_AIF3_FORMAT 0x584 | ||
| 267 | #define ARIZONA_AIF3_TX_BCLK_RATE 0x585 | ||
| 268 | #define ARIZONA_AIF3_RX_BCLK_RATE 0x586 | ||
| 269 | #define ARIZONA_AIF3_FRAME_CTRL_1 0x587 | ||
| 270 | #define ARIZONA_AIF3_FRAME_CTRL_2 0x588 | ||
| 271 | #define ARIZONA_AIF3_FRAME_CTRL_3 0x589 | ||
| 272 | #define ARIZONA_AIF3_FRAME_CTRL_4 0x58A | ||
| 273 | #define ARIZONA_AIF3_FRAME_CTRL_11 0x591 | ||
| 274 | #define ARIZONA_AIF3_FRAME_CTRL_12 0x592 | ||
| 275 | #define ARIZONA_AIF3_TX_ENABLES 0x599 | ||
| 276 | #define ARIZONA_AIF3_RX_ENABLES 0x59A | ||
| 277 | #define ARIZONA_AIF3_FORCE_WRITE 0x59B | ||
| 278 | #define ARIZONA_SLIMBUS_FRAMER_REF_GEAR 0x5E3 | ||
| 279 | #define ARIZONA_SLIMBUS_RATES_1 0x5E5 | ||
| 280 | #define ARIZONA_SLIMBUS_RATES_2 0x5E6 | ||
| 281 | #define ARIZONA_SLIMBUS_RATES_3 0x5E7 | ||
| 282 | #define ARIZONA_SLIMBUS_RATES_4 0x5E8 | ||
| 283 | #define ARIZONA_SLIMBUS_RATES_5 0x5E9 | ||
| 284 | #define ARIZONA_SLIMBUS_RATES_6 0x5EA | ||
| 285 | #define ARIZONA_SLIMBUS_RATES_7 0x5EB | ||
| 286 | #define ARIZONA_SLIMBUS_RATES_8 0x5EC | ||
| 287 | #define ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE 0x5F5 | ||
| 288 | #define ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE 0x5F6 | ||
| 289 | #define ARIZONA_SLIMBUS_RX_PORT_STATUS 0x5F7 | ||
| 290 | #define ARIZONA_SLIMBUS_TX_PORT_STATUS 0x5F8 | ||
| 291 | #define ARIZONA_PWM1MIX_INPUT_1_SOURCE 0x640 | ||
| 292 | #define ARIZONA_PWM1MIX_INPUT_1_VOLUME 0x641 | ||
| 293 | #define ARIZONA_PWM1MIX_INPUT_2_SOURCE 0x642 | ||
| 294 | #define ARIZONA_PWM1MIX_INPUT_2_VOLUME 0x643 | ||
| 295 | #define ARIZONA_PWM1MIX_INPUT_3_SOURCE 0x644 | ||
| 296 | #define ARIZONA_PWM1MIX_INPUT_3_VOLUME 0x645 | ||
| 297 | #define ARIZONA_PWM1MIX_INPUT_4_SOURCE 0x646 | ||
| 298 | #define ARIZONA_PWM1MIX_INPUT_4_VOLUME 0x647 | ||
| 299 | #define ARIZONA_PWM2MIX_INPUT_1_SOURCE 0x648 | ||
| 300 | #define ARIZONA_PWM2MIX_INPUT_1_VOLUME 0x649 | ||
| 301 | #define ARIZONA_PWM2MIX_INPUT_2_SOURCE 0x64A | ||
| 302 | #define ARIZONA_PWM2MIX_INPUT_2_VOLUME 0x64B | ||
| 303 | #define ARIZONA_PWM2MIX_INPUT_3_SOURCE 0x64C | ||
| 304 | #define ARIZONA_PWM2MIX_INPUT_3_VOLUME 0x64D | ||
| 305 | #define ARIZONA_PWM2MIX_INPUT_4_SOURCE 0x64E | ||
| 306 | #define ARIZONA_PWM2MIX_INPUT_4_VOLUME 0x64F | ||
| 307 | #define ARIZONA_MICMIX_INPUT_1_SOURCE 0x660 | ||
| 308 | #define ARIZONA_MICMIX_INPUT_1_VOLUME 0x661 | ||
| 309 | #define ARIZONA_MICMIX_INPUT_2_SOURCE 0x662 | ||
| 310 | #define ARIZONA_MICMIX_INPUT_2_VOLUME 0x663 | ||
| 311 | #define ARIZONA_MICMIX_INPUT_3_SOURCE 0x664 | ||
| 312 | #define ARIZONA_MICMIX_INPUT_3_VOLUME 0x665 | ||
| 313 | #define ARIZONA_MICMIX_INPUT_4_SOURCE 0x666 | ||
| 314 | #define ARIZONA_MICMIX_INPUT_4_VOLUME 0x667 | ||
| 315 | #define ARIZONA_NOISEMIX_INPUT_1_SOURCE 0x668 | ||
| 316 | #define ARIZONA_NOISEMIX_INPUT_1_VOLUME 0x669 | ||
| 317 | #define ARIZONA_NOISEMIX_INPUT_2_SOURCE 0x66A | ||
| 318 | #define ARIZONA_NOISEMIX_INPUT_2_VOLUME 0x66B | ||
| 319 | #define ARIZONA_NOISEMIX_INPUT_3_SOURCE 0x66C | ||
| 320 | #define ARIZONA_NOISEMIX_INPUT_3_VOLUME 0x66D | ||
| 321 | #define ARIZONA_NOISEMIX_INPUT_4_SOURCE 0x66E | ||
| 322 | #define ARIZONA_NOISEMIX_INPUT_4_VOLUME 0x66F | ||
| 323 | #define ARIZONA_OUT1LMIX_INPUT_1_SOURCE 0x680 | ||
| 324 | #define ARIZONA_OUT1LMIX_INPUT_1_VOLUME 0x681 | ||
| 325 | #define ARIZONA_OUT1LMIX_INPUT_2_SOURCE 0x682 | ||
| 326 | #define ARIZONA_OUT1LMIX_INPUT_2_VOLUME 0x683 | ||
| 327 | #define ARIZONA_OUT1LMIX_INPUT_3_SOURCE 0x684 | ||
| 328 | #define ARIZONA_OUT1LMIX_INPUT_3_VOLUME 0x685 | ||
| 329 | #define ARIZONA_OUT1LMIX_INPUT_4_SOURCE 0x686 | ||
| 330 | #define ARIZONA_OUT1LMIX_INPUT_4_VOLUME 0x687 | ||
| 331 | #define ARIZONA_OUT1RMIX_INPUT_1_SOURCE 0x688 | ||
| 332 | #define ARIZONA_OUT1RMIX_INPUT_1_VOLUME 0x689 | ||
| 333 | #define ARIZONA_OUT1RMIX_INPUT_2_SOURCE 0x68A | ||
| 334 | #define ARIZONA_OUT1RMIX_INPUT_2_VOLUME 0x68B | ||
| 335 | #define ARIZONA_OUT1RMIX_INPUT_3_SOURCE 0x68C | ||
| 336 | #define ARIZONA_OUT1RMIX_INPUT_3_VOLUME 0x68D | ||
| 337 | #define ARIZONA_OUT1RMIX_INPUT_4_SOURCE 0x68E | ||
| 338 | #define ARIZONA_OUT1RMIX_INPUT_4_VOLUME 0x68F | ||
| 339 | #define ARIZONA_OUT2LMIX_INPUT_1_SOURCE 0x690 | ||
| 340 | #define ARIZONA_OUT2LMIX_INPUT_1_VOLUME 0x691 | ||
| 341 | #define ARIZONA_OUT2LMIX_INPUT_2_SOURCE 0x692 | ||
| 342 | #define ARIZONA_OUT2LMIX_INPUT_2_VOLUME 0x693 | ||
| 343 | #define ARIZONA_OUT2LMIX_INPUT_3_SOURCE 0x694 | ||
| 344 | #define ARIZONA_OUT2LMIX_INPUT_3_VOLUME 0x695 | ||
| 345 | #define ARIZONA_OUT2LMIX_INPUT_4_SOURCE 0x696 | ||
| 346 | #define ARIZONA_OUT2LMIX_INPUT_4_VOLUME 0x697 | ||
| 347 | #define ARIZONA_OUT2RMIX_INPUT_1_SOURCE 0x698 | ||
| 348 | #define ARIZONA_OUT2RMIX_INPUT_1_VOLUME 0x699 | ||
| 349 | #define ARIZONA_OUT2RMIX_INPUT_2_SOURCE 0x69A | ||
| 350 | #define ARIZONA_OUT2RMIX_INPUT_2_VOLUME 0x69B | ||
| 351 | #define ARIZONA_OUT2RMIX_INPUT_3_SOURCE 0x69C | ||
| 352 | #define ARIZONA_OUT2RMIX_INPUT_3_VOLUME 0x69D | ||
| 353 | #define ARIZONA_OUT2RMIX_INPUT_4_SOURCE 0x69E | ||
| 354 | #define ARIZONA_OUT2RMIX_INPUT_4_VOLUME 0x69F | ||
| 355 | #define ARIZONA_OUT3LMIX_INPUT_1_SOURCE 0x6A0 | ||
| 356 | #define ARIZONA_OUT3LMIX_INPUT_1_VOLUME 0x6A1 | ||
| 357 | #define ARIZONA_OUT3LMIX_INPUT_2_SOURCE 0x6A2 | ||
| 358 | #define ARIZONA_OUT3LMIX_INPUT_2_VOLUME 0x6A3 | ||
| 359 | #define ARIZONA_OUT3LMIX_INPUT_3_SOURCE 0x6A4 | ||
| 360 | #define ARIZONA_OUT3LMIX_INPUT_3_VOLUME 0x6A5 | ||
| 361 | #define ARIZONA_OUT3LMIX_INPUT_4_SOURCE 0x6A6 | ||
| 362 | #define ARIZONA_OUT3LMIX_INPUT_4_VOLUME 0x6A7 | ||
| 363 | #define ARIZONA_OUT3RMIX_INPUT_1_SOURCE 0x6A8 | ||
| 364 | #define ARIZONA_OUT3RMIX_INPUT_1_VOLUME 0x6A9 | ||
| 365 | #define ARIZONA_OUT3RMIX_INPUT_2_SOURCE 0x6AA | ||
| 366 | #define ARIZONA_OUT3RMIX_INPUT_2_VOLUME 0x6AB | ||
| 367 | #define ARIZONA_OUT3RMIX_INPUT_3_SOURCE 0x6AC | ||
| 368 | #define ARIZONA_OUT3RMIX_INPUT_3_VOLUME 0x6AD | ||
| 369 | #define ARIZONA_OUT3RMIX_INPUT_4_SOURCE 0x6AE | ||
| 370 | #define ARIZONA_OUT3RMIX_INPUT_4_VOLUME 0x6AF | ||
| 371 | #define ARIZONA_OUT4LMIX_INPUT_1_SOURCE 0x6B0 | ||
| 372 | #define ARIZONA_OUT4LMIX_INPUT_1_VOLUME 0x6B1 | ||
| 373 | #define ARIZONA_OUT4LMIX_INPUT_2_SOURCE 0x6B2 | ||
| 374 | #define ARIZONA_OUT4LMIX_INPUT_2_VOLUME 0x6B3 | ||
| 375 | #define ARIZONA_OUT4LMIX_INPUT_3_SOURCE 0x6B4 | ||
| 376 | #define ARIZONA_OUT4LMIX_INPUT_3_VOLUME 0x6B5 | ||
| 377 | #define ARIZONA_OUT4LMIX_INPUT_4_SOURCE 0x6B6 | ||
| 378 | #define ARIZONA_OUT4LMIX_INPUT_4_VOLUME 0x6B7 | ||
| 379 | #define ARIZONA_OUT4RMIX_INPUT_1_SOURCE 0x6B8 | ||
| 380 | #define ARIZONA_OUT4RMIX_INPUT_1_VOLUME 0x6B9 | ||
| 381 | #define ARIZONA_OUT4RMIX_INPUT_2_SOURCE 0x6BA | ||
| 382 | #define ARIZONA_OUT4RMIX_INPUT_2_VOLUME 0x6BB | ||
| 383 | #define ARIZONA_OUT4RMIX_INPUT_3_SOURCE 0x6BC | ||
| 384 | #define ARIZONA_OUT4RMIX_INPUT_3_VOLUME 0x6BD | ||
| 385 | #define ARIZONA_OUT4RMIX_INPUT_4_SOURCE 0x6BE | ||
| 386 | #define ARIZONA_OUT4RMIX_INPUT_4_VOLUME 0x6BF | ||
| 387 | #define ARIZONA_OUT5LMIX_INPUT_1_SOURCE 0x6C0 | ||
| 388 | #define ARIZONA_OUT5LMIX_INPUT_1_VOLUME 0x6C1 | ||
| 389 | #define ARIZONA_OUT5LMIX_INPUT_2_SOURCE 0x6C2 | ||
| 390 | #define ARIZONA_OUT5LMIX_INPUT_2_VOLUME 0x6C3 | ||
| 391 | #define ARIZONA_OUT5LMIX_INPUT_3_SOURCE 0x6C4 | ||
| 392 | #define ARIZONA_OUT5LMIX_INPUT_3_VOLUME 0x6C5 | ||
| 393 | #define ARIZONA_OUT5LMIX_INPUT_4_SOURCE 0x6C6 | ||
| 394 | #define ARIZONA_OUT5LMIX_INPUT_4_VOLUME 0x6C7 | ||
| 395 | #define ARIZONA_OUT5RMIX_INPUT_1_SOURCE 0x6C8 | ||
| 396 | #define ARIZONA_OUT5RMIX_INPUT_1_VOLUME 0x6C9 | ||
| 397 | #define ARIZONA_OUT5RMIX_INPUT_2_SOURCE 0x6CA | ||
| 398 | #define ARIZONA_OUT5RMIX_INPUT_2_VOLUME 0x6CB | ||
| 399 | #define ARIZONA_OUT5RMIX_INPUT_3_SOURCE 0x6CC | ||
| 400 | #define ARIZONA_OUT5RMIX_INPUT_3_VOLUME 0x6CD | ||
| 401 | #define ARIZONA_OUT5RMIX_INPUT_4_SOURCE 0x6CE | ||
| 402 | #define ARIZONA_OUT5RMIX_INPUT_4_VOLUME 0x6CF | ||
| 403 | #define ARIZONA_OUT6LMIX_INPUT_1_SOURCE 0x6D0 | ||
| 404 | #define ARIZONA_OUT6LMIX_INPUT_1_VOLUME 0x6D1 | ||
| 405 | #define ARIZONA_OUT6LMIX_INPUT_2_SOURCE 0x6D2 | ||
| 406 | #define ARIZONA_OUT6LMIX_INPUT_2_VOLUME 0x6D3 | ||
| 407 | #define ARIZONA_OUT6LMIX_INPUT_3_SOURCE 0x6D4 | ||
| 408 | #define ARIZONA_OUT6LMIX_INPUT_3_VOLUME 0x6D5 | ||
| 409 | #define ARIZONA_OUT6LMIX_INPUT_4_SOURCE 0x6D6 | ||
| 410 | #define ARIZONA_OUT6LMIX_INPUT_4_VOLUME 0x6D7 | ||
| 411 | #define ARIZONA_OUT6RMIX_INPUT_1_SOURCE 0x6D8 | ||
| 412 | #define ARIZONA_OUT6RMIX_INPUT_1_VOLUME 0x6D9 | ||
| 413 | #define ARIZONA_OUT6RMIX_INPUT_2_SOURCE 0x6DA | ||
| 414 | #define ARIZONA_OUT6RMIX_INPUT_2_VOLUME 0x6DB | ||
| 415 | #define ARIZONA_OUT6RMIX_INPUT_3_SOURCE 0x6DC | ||
| 416 | #define ARIZONA_OUT6RMIX_INPUT_3_VOLUME 0x6DD | ||
| 417 | #define ARIZONA_OUT6RMIX_INPUT_4_SOURCE 0x6DE | ||
| 418 | #define ARIZONA_OUT6RMIX_INPUT_4_VOLUME 0x6DF | ||
| 419 | #define ARIZONA_AIF1TX1MIX_INPUT_1_SOURCE 0x700 | ||
| 420 | #define ARIZONA_AIF1TX1MIX_INPUT_1_VOLUME 0x701 | ||
| 421 | #define ARIZONA_AIF1TX1MIX_INPUT_2_SOURCE 0x702 | ||
| 422 | #define ARIZONA_AIF1TX1MIX_INPUT_2_VOLUME 0x703 | ||
| 423 | #define ARIZONA_AIF1TX1MIX_INPUT_3_SOURCE 0x704 | ||
| 424 | #define ARIZONA_AIF1TX1MIX_INPUT_3_VOLUME 0x705 | ||
| 425 | #define ARIZONA_AIF1TX1MIX_INPUT_4_SOURCE 0x706 | ||
| 426 | #define ARIZONA_AIF1TX1MIX_INPUT_4_VOLUME 0x707 | ||
| 427 | #define ARIZONA_AIF1TX2MIX_INPUT_1_SOURCE 0x708 | ||
| 428 | #define ARIZONA_AIF1TX2MIX_INPUT_1_VOLUME 0x709 | ||
| 429 | #define ARIZONA_AIF1TX2MIX_INPUT_2_SOURCE 0x70A | ||
| 430 | #define ARIZONA_AIF1TX2MIX_INPUT_2_VOLUME 0x70B | ||
| 431 | #define ARIZONA_AIF1TX2MIX_INPUT_3_SOURCE 0x70C | ||
| 432 | #define ARIZONA_AIF1TX2MIX_INPUT_3_VOLUME 0x70D | ||
| 433 | #define ARIZONA_AIF1TX2MIX_INPUT_4_SOURCE 0x70E | ||
| 434 | #define ARIZONA_AIF1TX2MIX_INPUT_4_VOLUME 0x70F | ||
| 435 | #define ARIZONA_AIF1TX3MIX_INPUT_1_SOURCE 0x710 | ||
| 436 | #define ARIZONA_AIF1TX3MIX_INPUT_1_VOLUME 0x711 | ||
| 437 | #define ARIZONA_AIF1TX3MIX_INPUT_2_SOURCE 0x712 | ||
| 438 | #define ARIZONA_AIF1TX3MIX_INPUT_2_VOLUME 0x713 | ||
| 439 | #define ARIZONA_AIF1TX3MIX_INPUT_3_SOURCE 0x714 | ||
| 440 | #define ARIZONA_AIF1TX3MIX_INPUT_3_VOLUME 0x715 | ||
| 441 | #define ARIZONA_AIF1TX3MIX_INPUT_4_SOURCE 0x716 | ||
| 442 | #define ARIZONA_AIF1TX3MIX_INPUT_4_VOLUME 0x717 | ||
| 443 | #define ARIZONA_AIF1TX4MIX_INPUT_1_SOURCE 0x718 | ||
| 444 | #define ARIZONA_AIF1TX4MIX_INPUT_1_VOLUME 0x719 | ||
| 445 | #define ARIZONA_AIF1TX4MIX_INPUT_2_SOURCE 0x71A | ||
| 446 | #define ARIZONA_AIF1TX4MIX_INPUT_2_VOLUME 0x71B | ||
| 447 | #define ARIZONA_AIF1TX4MIX_INPUT_3_SOURCE 0x71C | ||
| 448 | #define ARIZONA_AIF1TX4MIX_INPUT_3_VOLUME 0x71D | ||
| 449 | #define ARIZONA_AIF1TX4MIX_INPUT_4_SOURCE 0x71E | ||
| 450 | #define ARIZONA_AIF1TX4MIX_INPUT_4_VOLUME 0x71F | ||
| 451 | #define ARIZONA_AIF1TX5MIX_INPUT_1_SOURCE 0x720 | ||
| 452 | #define ARIZONA_AIF1TX5MIX_INPUT_1_VOLUME 0x721 | ||
| 453 | #define ARIZONA_AIF1TX5MIX_INPUT_2_SOURCE 0x722 | ||
| 454 | #define ARIZONA_AIF1TX5MIX_INPUT_2_VOLUME 0x723 | ||
| 455 | #define ARIZONA_AIF1TX5MIX_INPUT_3_SOURCE 0x724 | ||
| 456 | #define ARIZONA_AIF1TX5MIX_INPUT_3_VOLUME 0x725 | ||
| 457 | #define ARIZONA_AIF1TX5MIX_INPUT_4_SOURCE 0x726 | ||
| 458 | #define ARIZONA_AIF1TX5MIX_INPUT_4_VOLUME 0x727 | ||
| 459 | #define ARIZONA_AIF1TX6MIX_INPUT_1_SOURCE 0x728 | ||
| 460 | #define ARIZONA_AIF1TX6MIX_INPUT_1_VOLUME 0x729 | ||
| 461 | #define ARIZONA_AIF1TX6MIX_INPUT_2_SOURCE 0x72A | ||
| 462 | #define ARIZONA_AIF1TX6MIX_INPUT_2_VOLUME 0x72B | ||
| 463 | #define ARIZONA_AIF1TX6MIX_INPUT_3_SOURCE 0x72C | ||
| 464 | #define ARIZONA_AIF1TX6MIX_INPUT_3_VOLUME 0x72D | ||
| 465 | #define ARIZONA_AIF1TX6MIX_INPUT_4_SOURCE 0x72E | ||
| 466 | #define ARIZONA_AIF1TX6MIX_INPUT_4_VOLUME 0x72F | ||
| 467 | #define ARIZONA_AIF1TX7MIX_INPUT_1_SOURCE 0x730 | ||
| 468 | #define ARIZONA_AIF1TX7MIX_INPUT_1_VOLUME 0x731 | ||
| 469 | #define ARIZONA_AIF1TX7MIX_INPUT_2_SOURCE 0x732 | ||
| 470 | #define ARIZONA_AIF1TX7MIX_INPUT_2_VOLUME 0x733 | ||
| 471 | #define ARIZONA_AIF1TX7MIX_INPUT_3_SOURCE 0x734 | ||
| 472 | #define ARIZONA_AIF1TX7MIX_INPUT_3_VOLUME 0x735 | ||
| 473 | #define ARIZONA_AIF1TX7MIX_INPUT_4_SOURCE 0x736 | ||
| 474 | #define ARIZONA_AIF1TX7MIX_INPUT_4_VOLUME 0x737 | ||
| 475 | #define ARIZONA_AIF1TX8MIX_INPUT_1_SOURCE 0x738 | ||
| 476 | #define ARIZONA_AIF1TX8MIX_INPUT_1_VOLUME 0x739 | ||
| 477 | #define ARIZONA_AIF1TX8MIX_INPUT_2_SOURCE 0x73A | ||
| 478 | #define ARIZONA_AIF1TX8MIX_INPUT_2_VOLUME 0x73B | ||
| 479 | #define ARIZONA_AIF1TX8MIX_INPUT_3_SOURCE 0x73C | ||
| 480 | #define ARIZONA_AIF1TX8MIX_INPUT_3_VOLUME 0x73D | ||
| 481 | #define ARIZONA_AIF1TX8MIX_INPUT_4_SOURCE 0x73E | ||
| 482 | #define ARIZONA_AIF1TX8MIX_INPUT_4_VOLUME 0x73F | ||
| 483 | #define ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE 0x740 | ||
| 484 | #define ARIZONA_AIF2TX1MIX_INPUT_1_VOLUME 0x741 | ||
| 485 | #define ARIZONA_AIF2TX1MIX_INPUT_2_SOURCE 0x742 | ||
| 486 | #define ARIZONA_AIF2TX1MIX_INPUT_2_VOLUME 0x743 | ||
| 487 | #define ARIZONA_AIF2TX1MIX_INPUT_3_SOURCE 0x744 | ||
| 488 | #define ARIZONA_AIF2TX1MIX_INPUT_3_VOLUME 0x745 | ||
| 489 | #define ARIZONA_AIF2TX1MIX_INPUT_4_SOURCE 0x746 | ||
| 490 | #define ARIZONA_AIF2TX1MIX_INPUT_4_VOLUME 0x747 | ||
| 491 | #define ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE 0x748 | ||
| 492 | #define ARIZONA_AIF2TX2MIX_INPUT_1_VOLUME 0x749 | ||
| 493 | #define ARIZONA_AIF2TX2MIX_INPUT_2_SOURCE 0x74A | ||
| 494 | #define ARIZONA_AIF2TX2MIX_INPUT_2_VOLUME 0x74B | ||
| 495 | #define ARIZONA_AIF2TX2MIX_INPUT_3_SOURCE 0x74C | ||
| 496 | #define ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME 0x74D | ||
| 497 | #define ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE 0x74E | ||
| 498 | #define ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME 0x74F | ||
| 499 | #define ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE 0x780 | ||
| 500 | #define ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME 0x781 | ||
| 501 | #define ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE 0x782 | ||
| 502 | #define ARIZONA_AIF3TX1MIX_INPUT_2_VOLUME 0x783 | ||
| 503 | #define ARIZONA_AIF3TX1MIX_INPUT_3_SOURCE 0x784 | ||
| 504 | #define ARIZONA_AIF3TX1MIX_INPUT_3_VOLUME 0x785 | ||
| 505 | #define ARIZONA_AIF3TX1MIX_INPUT_4_SOURCE 0x786 | ||
| 506 | #define ARIZONA_AIF3TX1MIX_INPUT_4_VOLUME 0x787 | ||
| 507 | #define ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE 0x788 | ||
| 508 | #define ARIZONA_AIF3TX2MIX_INPUT_1_VOLUME 0x789 | ||
| 509 | #define ARIZONA_AIF3TX2MIX_INPUT_2_SOURCE 0x78A | ||
| 510 | #define ARIZONA_AIF3TX2MIX_INPUT_2_VOLUME 0x78B | ||
| 511 | #define ARIZONA_AIF3TX2MIX_INPUT_3_SOURCE 0x78C | ||
| 512 | #define ARIZONA_AIF3TX2MIX_INPUT_3_VOLUME 0x78D | ||
| 513 | #define ARIZONA_AIF3TX2MIX_INPUT_4_SOURCE 0x78E | ||
| 514 | #define ARIZONA_AIF3TX2MIX_INPUT_4_VOLUME 0x78F | ||
| 515 | #define ARIZONA_SLIMTX1MIX_INPUT_1_SOURCE 0x7C0 | ||
| 516 | #define ARIZONA_SLIMTX1MIX_INPUT_1_VOLUME 0x7C1 | ||
| 517 | #define ARIZONA_SLIMTX1MIX_INPUT_2_SOURCE 0x7C2 | ||
| 518 | #define ARIZONA_SLIMTX1MIX_INPUT_2_VOLUME 0x7C3 | ||
| 519 | #define ARIZONA_SLIMTX1MIX_INPUT_3_SOURCE 0x7C4 | ||
| 520 | #define ARIZONA_SLIMTX1MIX_INPUT_3_VOLUME 0x7C5 | ||
| 521 | #define ARIZONA_SLIMTX1MIX_INPUT_4_SOURCE 0x7C6 | ||
| 522 | #define ARIZONA_SLIMTX1MIX_INPUT_4_VOLUME 0x7C7 | ||
| 523 | #define ARIZONA_SLIMTX2MIX_INPUT_1_SOURCE 0x7C8 | ||
| 524 | #define ARIZONA_SLIMTX2MIX_INPUT_1_VOLUME 0x7C9 | ||
| 525 | #define ARIZONA_SLIMTX2MIX_INPUT_2_SOURCE 0x7CA | ||
| 526 | #define ARIZONA_SLIMTX2MIX_INPUT_2_VOLUME 0x7CB | ||
| 527 | #define ARIZONA_SLIMTX2MIX_INPUT_3_SOURCE 0x7CC | ||
| 528 | #define ARIZONA_SLIMTX2MIX_INPUT_3_VOLUME 0x7CD | ||
| 529 | #define ARIZONA_SLIMTX2MIX_INPUT_4_SOURCE 0x7CE | ||
| 530 | #define ARIZONA_SLIMTX2MIX_INPUT_4_VOLUME 0x7CF | ||
| 531 | #define ARIZONA_SLIMTX3MIX_INPUT_1_SOURCE 0x7D0 | ||
| 532 | #define ARIZONA_SLIMTX3MIX_INPUT_1_VOLUME 0x7D1 | ||
| 533 | #define ARIZONA_SLIMTX3MIX_INPUT_2_SOURCE 0x7D2 | ||
| 534 | #define ARIZONA_SLIMTX3MIX_INPUT_2_VOLUME 0x7D3 | ||
| 535 | #define ARIZONA_SLIMTX3MIX_INPUT_3_SOURCE 0x7D4 | ||
| 536 | #define ARIZONA_SLIMTX3MIX_INPUT_3_VOLUME 0x7D5 | ||
| 537 | #define ARIZONA_SLIMTX3MIX_INPUT_4_SOURCE 0x7D6 | ||
| 538 | #define ARIZONA_SLIMTX3MIX_INPUT_4_VOLUME 0x7D7 | ||
| 539 | #define ARIZONA_SLIMTX4MIX_INPUT_1_SOURCE 0x7D8 | ||
| 540 | #define ARIZONA_SLIMTX4MIX_INPUT_1_VOLUME 0x7D9 | ||
| 541 | #define ARIZONA_SLIMTX4MIX_INPUT_2_SOURCE 0x7DA | ||
| 542 | #define ARIZONA_SLIMTX4MIX_INPUT_2_VOLUME 0x7DB | ||
| 543 | #define ARIZONA_SLIMTX4MIX_INPUT_3_SOURCE 0x7DC | ||
| 544 | #define ARIZONA_SLIMTX4MIX_INPUT_3_VOLUME 0x7DD | ||
| 545 | #define ARIZONA_SLIMTX4MIX_INPUT_4_SOURCE 0x7DE | ||
| 546 | #define ARIZONA_SLIMTX4MIX_INPUT_4_VOLUME 0x7DF | ||
| 547 | #define ARIZONA_SLIMTX5MIX_INPUT_1_SOURCE 0x7E0 | ||
| 548 | #define ARIZONA_SLIMTX5MIX_INPUT_1_VOLUME 0x7E1 | ||
| 549 | #define ARIZONA_SLIMTX5MIX_INPUT_2_SOURCE 0x7E2 | ||
| 550 | #define ARIZONA_SLIMTX5MIX_INPUT_2_VOLUME 0x7E3 | ||
| 551 | #define ARIZONA_SLIMTX5MIX_INPUT_3_SOURCE 0x7E4 | ||
| 552 | #define ARIZONA_SLIMTX5MIX_INPUT_3_VOLUME 0x7E5 | ||
| 553 | #define ARIZONA_SLIMTX5MIX_INPUT_4_SOURCE 0x7E6 | ||
| 554 | #define ARIZONA_SLIMTX5MIX_INPUT_4_VOLUME 0x7E7 | ||
| 555 | #define ARIZONA_SLIMTX6MIX_INPUT_1_SOURCE 0x7E8 | ||
| 556 | #define ARIZONA_SLIMTX6MIX_INPUT_1_VOLUME 0x7E9 | ||
| 557 | #define ARIZONA_SLIMTX6MIX_INPUT_2_SOURCE 0x7EA | ||
| 558 | #define ARIZONA_SLIMTX6MIX_INPUT_2_VOLUME 0x7EB | ||
| 559 | #define ARIZONA_SLIMTX6MIX_INPUT_3_SOURCE 0x7EC | ||
| 560 | #define ARIZONA_SLIMTX6MIX_INPUT_3_VOLUME 0x7ED | ||
| 561 | #define ARIZONA_SLIMTX6MIX_INPUT_4_SOURCE 0x7EE | ||
| 562 | #define ARIZONA_SLIMTX6MIX_INPUT_4_VOLUME 0x7EF | ||
| 563 | #define ARIZONA_SLIMTX7MIX_INPUT_1_SOURCE 0x7F0 | ||
| 564 | #define ARIZONA_SLIMTX7MIX_INPUT_1_VOLUME 0x7F1 | ||
| 565 | #define ARIZONA_SLIMTX7MIX_INPUT_2_SOURCE 0x7F2 | ||
| 566 | #define ARIZONA_SLIMTX7MIX_INPUT_2_VOLUME 0x7F3 | ||
| 567 | #define ARIZONA_SLIMTX7MIX_INPUT_3_SOURCE 0x7F4 | ||
| 568 | #define ARIZONA_SLIMTX7MIX_INPUT_3_VOLUME 0x7F5 | ||
| 569 | #define ARIZONA_SLIMTX7MIX_INPUT_4_SOURCE 0x7F6 | ||
| 570 | #define ARIZONA_SLIMTX7MIX_INPUT_4_VOLUME 0x7F7 | ||
| 571 | #define ARIZONA_SLIMTX8MIX_INPUT_1_SOURCE 0x7F8 | ||
| 572 | #define ARIZONA_SLIMTX8MIX_INPUT_1_VOLUME 0x7F9 | ||
| 573 | #define ARIZONA_SLIMTX8MIX_INPUT_2_SOURCE 0x7FA | ||
| 574 | #define ARIZONA_SLIMTX8MIX_INPUT_2_VOLUME 0x7FB | ||
| 575 | #define ARIZONA_SLIMTX8MIX_INPUT_3_SOURCE 0x7FC | ||
| 576 | #define ARIZONA_SLIMTX8MIX_INPUT_3_VOLUME 0x7FD | ||
| 577 | #define ARIZONA_SLIMTX8MIX_INPUT_4_SOURCE 0x7FE | ||
| 578 | #define ARIZONA_SLIMTX8MIX_INPUT_4_VOLUME 0x7FF | ||
| 579 | #define ARIZONA_EQ1MIX_INPUT_1_SOURCE 0x880 | ||
| 580 | #define ARIZONA_EQ1MIX_INPUT_1_VOLUME 0x881 | ||
| 581 | #define ARIZONA_EQ1MIX_INPUT_2_SOURCE 0x882 | ||
| 582 | #define ARIZONA_EQ1MIX_INPUT_2_VOLUME 0x883 | ||
| 583 | #define ARIZONA_EQ1MIX_INPUT_3_SOURCE 0x884 | ||
| 584 | #define ARIZONA_EQ1MIX_INPUT_3_VOLUME 0x885 | ||
| 585 | #define ARIZONA_EQ1MIX_INPUT_4_SOURCE 0x886 | ||
| 586 | #define ARIZONA_EQ1MIX_INPUT_4_VOLUME 0x887 | ||
| 587 | #define ARIZONA_EQ2MIX_INPUT_1_SOURCE 0x888 | ||
| 588 | #define ARIZONA_EQ2MIX_INPUT_1_VOLUME 0x889 | ||
| 589 | #define ARIZONA_EQ2MIX_INPUT_2_SOURCE 0x88A | ||
| 590 | #define ARIZONA_EQ2MIX_INPUT_2_VOLUME 0x88B | ||
| 591 | #define ARIZONA_EQ2MIX_INPUT_3_SOURCE 0x88C | ||
| 592 | #define ARIZONA_EQ2MIX_INPUT_3_VOLUME 0x88D | ||
| 593 | #define ARIZONA_EQ2MIX_INPUT_4_SOURCE 0x88E | ||
| 594 | #define ARIZONA_EQ2MIX_INPUT_4_VOLUME 0x88F | ||
| 595 | #define ARIZONA_EQ3MIX_INPUT_1_SOURCE 0x890 | ||
| 596 | #define ARIZONA_EQ3MIX_INPUT_1_VOLUME 0x891 | ||
| 597 | #define ARIZONA_EQ3MIX_INPUT_2_SOURCE 0x892 | ||
| 598 | #define ARIZONA_EQ3MIX_INPUT_2_VOLUME 0x893 | ||
| 599 | #define ARIZONA_EQ3MIX_INPUT_3_SOURCE 0x894 | ||
| 600 | #define ARIZONA_EQ3MIX_INPUT_3_VOLUME 0x895 | ||
| 601 | #define ARIZONA_EQ3MIX_INPUT_4_SOURCE 0x896 | ||
| 602 | #define ARIZONA_EQ3MIX_INPUT_4_VOLUME 0x897 | ||
| 603 | #define ARIZONA_EQ4MIX_INPUT_1_SOURCE 0x898 | ||
| 604 | #define ARIZONA_EQ4MIX_INPUT_1_VOLUME 0x899 | ||
| 605 | #define ARIZONA_EQ4MIX_INPUT_2_SOURCE 0x89A | ||
| 606 | #define ARIZONA_EQ4MIX_INPUT_2_VOLUME 0x89B | ||
| 607 | #define ARIZONA_EQ4MIX_INPUT_3_SOURCE 0x89C | ||
| 608 | #define ARIZONA_EQ4MIX_INPUT_3_VOLUME 0x89D | ||
| 609 | #define ARIZONA_EQ4MIX_INPUT_4_SOURCE 0x89E | ||
| 610 | #define ARIZONA_EQ4MIX_INPUT_4_VOLUME 0x89F | ||
| 611 | #define ARIZONA_DRC1LMIX_INPUT_1_SOURCE 0x8C0 | ||
| 612 | #define ARIZONA_DRC1LMIX_INPUT_1_VOLUME 0x8C1 | ||
| 613 | #define ARIZONA_DRC1LMIX_INPUT_2_SOURCE 0x8C2 | ||
| 614 | #define ARIZONA_DRC1LMIX_INPUT_2_VOLUME 0x8C3 | ||
| 615 | #define ARIZONA_DRC1LMIX_INPUT_3_SOURCE 0x8C4 | ||
| 616 | #define ARIZONA_DRC1LMIX_INPUT_3_VOLUME 0x8C5 | ||
| 617 | #define ARIZONA_DRC1LMIX_INPUT_4_SOURCE 0x8C6 | ||
| 618 | #define ARIZONA_DRC1LMIX_INPUT_4_VOLUME 0x8C7 | ||
| 619 | #define ARIZONA_DRC1RMIX_INPUT_1_SOURCE 0x8C8 | ||
| 620 | #define ARIZONA_DRC1RMIX_INPUT_1_VOLUME 0x8C9 | ||
| 621 | #define ARIZONA_DRC1RMIX_INPUT_2_SOURCE 0x8CA | ||
| 622 | #define ARIZONA_DRC1RMIX_INPUT_2_VOLUME 0x8CB | ||
| 623 | #define ARIZONA_DRC1RMIX_INPUT_3_SOURCE 0x8CC | ||
| 624 | #define ARIZONA_DRC1RMIX_INPUT_3_VOLUME 0x8CD | ||
| 625 | #define ARIZONA_DRC1RMIX_INPUT_4_SOURCE 0x8CE | ||
| 626 | #define ARIZONA_DRC1RMIX_INPUT_4_VOLUME 0x8CF | ||
| 627 | #define ARIZONA_DRC2LMIX_INPUT_1_SOURCE 0x8D0 | ||
| 628 | #define ARIZONA_DRC2LMIX_INPUT_1_VOLUME 0x8D1 | ||
| 629 | #define ARIZONA_DRC2LMIX_INPUT_2_SOURCE 0x8D2 | ||
| 630 | #define ARIZONA_DRC2LMIX_INPUT_2_VOLUME 0x8D3 | ||
| 631 | #define ARIZONA_DRC2LMIX_INPUT_3_SOURCE 0x8D4 | ||
| 632 | #define ARIZONA_DRC2LMIX_INPUT_3_VOLUME 0x8D5 | ||
| 633 | #define ARIZONA_DRC2LMIX_INPUT_4_SOURCE 0x8D6 | ||
| 634 | #define ARIZONA_DRC2LMIX_INPUT_4_VOLUME 0x8D7 | ||
| 635 | #define ARIZONA_DRC2RMIX_INPUT_1_SOURCE 0x8D8 | ||
| 636 | #define ARIZONA_DRC2RMIX_INPUT_1_VOLUME 0x8D9 | ||
| 637 | #define ARIZONA_DRC2RMIX_INPUT_2_SOURCE 0x8DA | ||
| 638 | #define ARIZONA_DRC2RMIX_INPUT_2_VOLUME 0x8DB | ||
| 639 | #define ARIZONA_DRC2RMIX_INPUT_3_SOURCE 0x8DC | ||
| 640 | #define ARIZONA_DRC2RMIX_INPUT_3_VOLUME 0x8DD | ||
| 641 | #define ARIZONA_DRC2RMIX_INPUT_4_SOURCE 0x8DE | ||
| 642 | #define ARIZONA_DRC2RMIX_INPUT_4_VOLUME 0x8DF | ||
| 643 | #define ARIZONA_HPLP1MIX_INPUT_1_SOURCE 0x900 | ||
| 644 | #define ARIZONA_HPLP1MIX_INPUT_1_VOLUME 0x901 | ||
| 645 | #define ARIZONA_HPLP1MIX_INPUT_2_SOURCE 0x902 | ||
| 646 | #define ARIZONA_HPLP1MIX_INPUT_2_VOLUME 0x903 | ||
| 647 | #define ARIZONA_HPLP1MIX_INPUT_3_SOURCE 0x904 | ||
| 648 | #define ARIZONA_HPLP1MIX_INPUT_3_VOLUME 0x905 | ||
| 649 | #define ARIZONA_HPLP1MIX_INPUT_4_SOURCE 0x906 | ||
| 650 | #define ARIZONA_HPLP1MIX_INPUT_4_VOLUME 0x907 | ||
| 651 | #define ARIZONA_HPLP2MIX_INPUT_1_SOURCE 0x908 | ||
| 652 | #define ARIZONA_HPLP2MIX_INPUT_1_VOLUME 0x909 | ||
| 653 | #define ARIZONA_HPLP2MIX_INPUT_2_SOURCE 0x90A | ||
| 654 | #define ARIZONA_HPLP2MIX_INPUT_2_VOLUME 0x90B | ||
| 655 | #define ARIZONA_HPLP2MIX_INPUT_3_SOURCE 0x90C | ||
| 656 | #define ARIZONA_HPLP2MIX_INPUT_3_VOLUME 0x90D | ||
| 657 | #define ARIZONA_HPLP2MIX_INPUT_4_SOURCE 0x90E | ||
| 658 | #define ARIZONA_HPLP2MIX_INPUT_4_VOLUME 0x90F | ||
| 659 | #define ARIZONA_HPLP3MIX_INPUT_1_SOURCE 0x910 | ||
| 660 | #define ARIZONA_HPLP3MIX_INPUT_1_VOLUME 0x911 | ||
| 661 | #define ARIZONA_HPLP3MIX_INPUT_2_SOURCE 0x912 | ||
| 662 | #define ARIZONA_HPLP3MIX_INPUT_2_VOLUME 0x913 | ||
| 663 | #define ARIZONA_HPLP3MIX_INPUT_3_SOURCE 0x914 | ||
| 664 | #define ARIZONA_HPLP3MIX_INPUT_3_VOLUME 0x915 | ||
| 665 | #define ARIZONA_HPLP3MIX_INPUT_4_SOURCE 0x916 | ||
| 666 | #define ARIZONA_HPLP3MIX_INPUT_4_VOLUME 0x917 | ||
| 667 | #define ARIZONA_HPLP4MIX_INPUT_1_SOURCE 0x918 | ||
| 668 | #define ARIZONA_HPLP4MIX_INPUT_1_VOLUME 0x919 | ||
| 669 | #define ARIZONA_HPLP4MIX_INPUT_2_SOURCE 0x91A | ||
| 670 | #define ARIZONA_HPLP4MIX_INPUT_2_VOLUME 0x91B | ||
| 671 | #define ARIZONA_HPLP4MIX_INPUT_3_SOURCE 0x91C | ||
| 672 | #define ARIZONA_HPLP4MIX_INPUT_3_VOLUME 0x91D | ||
| 673 | #define ARIZONA_HPLP4MIX_INPUT_4_SOURCE 0x91E | ||
| 674 | #define ARIZONA_HPLP4MIX_INPUT_4_VOLUME 0x91F | ||
| 675 | #define ARIZONA_DSP1LMIX_INPUT_1_SOURCE 0x940 | ||
| 676 | #define ARIZONA_DSP1LMIX_INPUT_1_VOLUME 0x941 | ||
| 677 | #define ARIZONA_DSP1LMIX_INPUT_2_SOURCE 0x942 | ||
| 678 | #define ARIZONA_DSP1LMIX_INPUT_2_VOLUME 0x943 | ||
| 679 | #define ARIZONA_DSP1LMIX_INPUT_3_SOURCE 0x944 | ||
| 680 | #define ARIZONA_DSP1LMIX_INPUT_3_VOLUME 0x945 | ||
| 681 | #define ARIZONA_DSP1LMIX_INPUT_4_SOURCE 0x946 | ||
| 682 | #define ARIZONA_DSP1LMIX_INPUT_4_VOLUME 0x947 | ||
| 683 | #define ARIZONA_DSP1RMIX_INPUT_1_SOURCE 0x948 | ||
| 684 | #define ARIZONA_DSP1RMIX_INPUT_1_VOLUME 0x949 | ||
| 685 | #define ARIZONA_DSP1RMIX_INPUT_2_SOURCE 0x94A | ||
| 686 | #define ARIZONA_DSP1RMIX_INPUT_2_VOLUME 0x94B | ||
| 687 | #define ARIZONA_DSP1RMIX_INPUT_3_SOURCE 0x94C | ||
| 688 | #define ARIZONA_DSP1RMIX_INPUT_3_VOLUME 0x94D | ||
| 689 | #define ARIZONA_DSP1RMIX_INPUT_4_SOURCE 0x94E | ||
| 690 | #define ARIZONA_DSP1RMIX_INPUT_4_VOLUME 0x94F | ||
| 691 | #define ARIZONA_DSP1AUX1MIX_INPUT_1_SOURCE 0x950 | ||
| 692 | #define ARIZONA_DSP1AUX2MIX_INPUT_1_SOURCE 0x958 | ||
| 693 | #define ARIZONA_DSP1AUX3MIX_INPUT_1_SOURCE 0x960 | ||
| 694 | #define ARIZONA_DSP1AUX4MIX_INPUT_1_SOURCE 0x968 | ||
| 695 | #define ARIZONA_DSP1AUX5MIX_INPUT_1_SOURCE 0x970 | ||
| 696 | #define ARIZONA_DSP1AUX6MIX_INPUT_1_SOURCE 0x978 | ||
| 697 | #define ARIZONA_DSP2LMIX_INPUT_1_SOURCE 0x980 | ||
| 698 | #define ARIZONA_DSP2LMIX_INPUT_1_VOLUME 0x981 | ||
| 699 | #define ARIZONA_DSP2LMIX_INPUT_2_SOURCE 0x982 | ||
| 700 | #define ARIZONA_DSP2LMIX_INPUT_2_VOLUME 0x983 | ||
| 701 | #define ARIZONA_DSP2LMIX_INPUT_3_SOURCE 0x984 | ||
| 702 | #define ARIZONA_DSP2LMIX_INPUT_3_VOLUME 0x985 | ||
| 703 | #define ARIZONA_DSP2LMIX_INPUT_4_SOURCE 0x986 | ||
| 704 | #define ARIZONA_DSP2LMIX_INPUT_4_VOLUME 0x987 | ||
| 705 | #define ARIZONA_DSP2RMIX_INPUT_1_SOURCE 0x988 | ||
| 706 | #define ARIZONA_DSP2RMIX_INPUT_1_VOLUME 0x989 | ||
| 707 | #define ARIZONA_DSP2RMIX_INPUT_2_SOURCE 0x98A | ||
| 708 | #define ARIZONA_DSP2RMIX_INPUT_2_VOLUME 0x98B | ||
| 709 | #define ARIZONA_DSP2RMIX_INPUT_3_SOURCE 0x98C | ||
| 710 | #define ARIZONA_DSP2RMIX_INPUT_3_VOLUME 0x98D | ||
| 711 | #define ARIZONA_DSP2RMIX_INPUT_4_SOURCE 0x98E | ||
| 712 | #define ARIZONA_DSP2RMIX_INPUT_4_VOLUME 0x98F | ||
| 713 | #define ARIZONA_DSP2AUX1MIX_INPUT_1_SOURCE 0x990 | ||
| 714 | #define ARIZONA_DSP2AUX2MIX_INPUT_1_SOURCE 0x998 | ||
| 715 | #define ARIZONA_DSP2AUX3MIX_INPUT_1_SOURCE 0x9A0 | ||
| 716 | #define ARIZONA_DSP2AUX4MIX_INPUT_1_SOURCE 0x9A8 | ||
| 717 | #define ARIZONA_DSP2AUX5MIX_INPUT_1_SOURCE 0x9B0 | ||
| 718 | #define ARIZONA_DSP2AUX6MIX_INPUT_1_SOURCE 0x9B8 | ||
| 719 | #define ARIZONA_DSP3LMIX_INPUT_1_SOURCE 0x9C0 | ||
| 720 | #define ARIZONA_DSP3LMIX_INPUT_1_VOLUME 0x9C1 | ||
| 721 | #define ARIZONA_DSP3LMIX_INPUT_2_SOURCE 0x9C2 | ||
| 722 | #define ARIZONA_DSP3LMIX_INPUT_2_VOLUME 0x9C3 | ||
| 723 | #define ARIZONA_DSP3LMIX_INPUT_3_SOURCE 0x9C4 | ||
| 724 | #define ARIZONA_DSP3LMIX_INPUT_3_VOLUME 0x9C5 | ||
| 725 | #define ARIZONA_DSP3LMIX_INPUT_4_SOURCE 0x9C6 | ||
| 726 | #define ARIZONA_DSP3LMIX_INPUT_4_VOLUME 0x9C7 | ||
| 727 | #define ARIZONA_DSP3RMIX_INPUT_1_SOURCE 0x9C8 | ||
| 728 | #define ARIZONA_DSP3RMIX_INPUT_1_VOLUME 0x9C9 | ||
| 729 | #define ARIZONA_DSP3RMIX_INPUT_2_SOURCE 0x9CA | ||
| 730 | #define ARIZONA_DSP3RMIX_INPUT_2_VOLUME 0x9CB | ||
| 731 | #define ARIZONA_DSP3RMIX_INPUT_3_SOURCE 0x9CC | ||
| 732 | #define ARIZONA_DSP3RMIX_INPUT_3_VOLUME 0x9CD | ||
| 733 | #define ARIZONA_DSP3RMIX_INPUT_4_SOURCE 0x9CE | ||
| 734 | #define ARIZONA_DSP3RMIX_INPUT_4_VOLUME 0x9CF | ||
| 735 | #define ARIZONA_DSP3AUX1MIX_INPUT_1_SOURCE 0x9D0 | ||
| 736 | #define ARIZONA_DSP3AUX2MIX_INPUT_1_SOURCE 0x9D8 | ||
| 737 | #define ARIZONA_DSP3AUX3MIX_INPUT_1_SOURCE 0x9E0 | ||
| 738 | #define ARIZONA_DSP3AUX4MIX_INPUT_1_SOURCE 0x9E8 | ||
| 739 | #define ARIZONA_DSP3AUX5MIX_INPUT_1_SOURCE 0x9F0 | ||
| 740 | #define ARIZONA_DSP3AUX6MIX_INPUT_1_SOURCE 0x9F8 | ||
| 741 | #define ARIZONA_DSP4LMIX_INPUT_1_SOURCE 0xA00 | ||
| 742 | #define ARIZONA_DSP4LMIX_INPUT_1_VOLUME 0xA01 | ||
| 743 | #define ARIZONA_DSP4LMIX_INPUT_2_SOURCE 0xA02 | ||
| 744 | #define ARIZONA_DSP4LMIX_INPUT_2_VOLUME 0xA03 | ||
| 745 | #define ARIZONA_DSP4LMIX_INPUT_3_SOURCE 0xA04 | ||
| 746 | #define ARIZONA_DSP4LMIX_INPUT_3_VOLUME 0xA05 | ||
| 747 | #define ARIZONA_DSP4LMIX_INPUT_4_SOURCE 0xA06 | ||
| 748 | #define ARIZONA_DSP4LMIX_INPUT_4_VOLUME 0xA07 | ||
| 749 | #define ARIZONA_DSP4RMIX_INPUT_1_SOURCE 0xA08 | ||
| 750 | #define ARIZONA_DSP4RMIX_INPUT_1_VOLUME 0xA09 | ||
| 751 | #define ARIZONA_DSP4RMIX_INPUT_2_SOURCE 0xA0A | ||
| 752 | #define ARIZONA_DSP4RMIX_INPUT_2_VOLUME 0xA0B | ||
| 753 | #define ARIZONA_DSP4RMIX_INPUT_3_SOURCE 0xA0C | ||
| 754 | #define ARIZONA_DSP4RMIX_INPUT_3_VOLUME 0xA0D | ||
| 755 | #define ARIZONA_DSP4RMIX_INPUT_4_SOURCE 0xA0E | ||
| 756 | #define ARIZONA_DSP4RMIX_INPUT_4_VOLUME 0xA0F | ||
| 757 | #define ARIZONA_DSP4AUX1MIX_INPUT_1_SOURCE 0xA10 | ||
| 758 | #define ARIZONA_DSP4AUX2MIX_INPUT_1_SOURCE 0xA18 | ||
| 759 | #define ARIZONA_DSP4AUX3MIX_INPUT_1_SOURCE 0xA20 | ||
| 760 | #define ARIZONA_DSP4AUX4MIX_INPUT_1_SOURCE 0xA28 | ||
| 761 | #define ARIZONA_DSP4AUX5MIX_INPUT_1_SOURCE 0xA30 | ||
| 762 | #define ARIZONA_DSP4AUX6MIX_INPUT_1_SOURCE 0xA38 | ||
| 763 | #define ARIZONA_ASRC1LMIX_INPUT_1_SOURCE 0xA80 | ||
| 764 | #define ARIZONA_ASRC1RMIX_INPUT_1_SOURCE 0xA88 | ||
| 765 | #define ARIZONA_ASRC2LMIX_INPUT_1_SOURCE 0xA90 | ||
| 766 | #define ARIZONA_ASRC2RMIX_INPUT_1_SOURCE 0xA98 | ||
| 767 | #define ARIZONA_ISRC1DEC1MIX_INPUT_1_SOURCE 0xB00 | ||
| 768 | #define ARIZONA_ISRC1DEC2MIX_INPUT_1_SOURCE 0xB08 | ||
| 769 | #define ARIZONA_ISRC1DEC3MIX_INPUT_1_SOURCE 0xB10 | ||
| 770 | #define ARIZONA_ISRC1DEC4MIX_INPUT_1_SOURCE 0xB18 | ||
| 771 | #define ARIZONA_ISRC1INT1MIX_INPUT_1_SOURCE 0xB20 | ||
| 772 | #define ARIZONA_ISRC1INT2MIX_INPUT_1_SOURCE 0xB28 | ||
| 773 | #define ARIZONA_ISRC1INT3MIX_INPUT_1_SOURCE 0xB30 | ||
| 774 | #define ARIZONA_ISRC1INT4MIX_INPUT_1_SOURCE 0xB38 | ||
| 775 | #define ARIZONA_ISRC2DEC1MIX_INPUT_1_SOURCE 0xB40 | ||
| 776 | #define ARIZONA_ISRC2DEC2MIX_INPUT_1_SOURCE 0xB48 | ||
| 777 | #define ARIZONA_ISRC2INT1MIX_INPUT_1_SOURCE 0xB60 | ||
| 778 | #define ARIZONA_ISRC2INT2MIX_INPUT_1_SOURCE 0xB68 | ||
| 779 | #define ARIZONA_ISRC1INT3MIX_INPUT_1_SOURCE 0xB30 | ||
| 780 | #define ARIZONA_ISRC1INT4MIX_INPUT_1_SOURCE 0xB38 | ||
| 781 | #define ARIZONA_ISRC2DEC1MIX_INPUT_1_SOURCE 0xB40 | ||
| 782 | #define ARIZONA_ISRC2DEC2MIX_INPUT_1_SOURCE 0xB48 | ||
| 783 | #define ARIZONA_ISRC2DEC3MIX_INPUT_1_SOURCE 0xB50 | ||
| 784 | #define ARIZONA_ISRC2DEC4MIX_INPUT_1_SOURCE 0xB58 | ||
| 785 | #define ARIZONA_ISRC2INT1MIX_INPUT_1_SOURCE 0xB60 | ||
| 786 | #define ARIZONA_ISRC2INT2MIX_INPUT_1_SOURCE 0xB68 | ||
| 787 | #define ARIZONA_ISRC2INT3MIX_INPUT_1_SOURCE 0xB70 | ||
| 788 | #define ARIZONA_ISRC2INT4MIX_INPUT_1_SOURCE 0xB78 | ||
| 789 | #define ARIZONA_ISRC3DEC1MIX_INPUT_1_SOURCE 0xB80 | ||
| 790 | #define ARIZONA_ISRC3DEC2MIX_INPUT_1_SOURCE 0xB88 | ||
| 791 | #define ARIZONA_ISRC3DEC3MIX_INPUT_1_SOURCE 0xB90 | ||
| 792 | #define ARIZONA_ISRC3DEC4MIX_INPUT_1_SOURCE 0xB98 | ||
| 793 | #define ARIZONA_ISRC3INT1MIX_INPUT_1_SOURCE 0xBA0 | ||
| 794 | #define ARIZONA_ISRC3INT2MIX_INPUT_1_SOURCE 0xBA8 | ||
| 795 | #define ARIZONA_ISRC3INT3MIX_INPUT_1_SOURCE 0xBB0 | ||
| 796 | #define ARIZONA_ISRC3INT4MIX_INPUT_1_SOURCE 0xBB8 | ||
| 797 | #define ARIZONA_GPIO1_CTRL 0xC00 | ||
| 798 | #define ARIZONA_GPIO2_CTRL 0xC01 | ||
| 799 | #define ARIZONA_GPIO3_CTRL 0xC02 | ||
| 800 | #define ARIZONA_GPIO4_CTRL 0xC03 | ||
| 801 | #define ARIZONA_GPIO5_CTRL 0xC04 | ||
| 802 | #define ARIZONA_IRQ_CTRL_1 0xC0F | ||
| 803 | #define ARIZONA_GPIO_DEBOUNCE_CONFIG 0xC10 | ||
| 804 | #define ARIZONA_MISC_PAD_CTRL_1 0xC20 | ||
| 805 | #define ARIZONA_MISC_PAD_CTRL_2 0xC21 | ||
| 806 | #define ARIZONA_MISC_PAD_CTRL_3 0xC22 | ||
| 807 | #define ARIZONA_MISC_PAD_CTRL_4 0xC23 | ||
| 808 | #define ARIZONA_MISC_PAD_CTRL_5 0xC24 | ||
| 809 | #define ARIZONA_MISC_PAD_CTRL_6 0xC25 | ||
| 810 | #define ARIZONA_MISC_PAD_CTRL_7 0xC30 | ||
| 811 | #define ARIZONA_MISC_PAD_CTRL_8 0xC31 | ||
| 812 | #define ARIZONA_MISC_PAD_CTRL_9 0xC32 | ||
| 813 | #define ARIZONA_MISC_PAD_CTRL_10 0xC33 | ||
| 814 | #define ARIZONA_MISC_PAD_CTRL_11 0xC34 | ||
| 815 | #define ARIZONA_MISC_PAD_CTRL_12 0xC35 | ||
| 816 | #define ARIZONA_MISC_PAD_CTRL_13 0xC36 | ||
| 817 | #define ARIZONA_MISC_PAD_CTRL_14 0xC37 | ||
| 818 | #define ARIZONA_MISC_PAD_CTRL_15 0xC38 | ||
| 819 | #define ARIZONA_MISC_PAD_CTRL_16 0xC39 | ||
| 820 | #define ARIZONA_MISC_PAD_CTRL_17 0xC3A | ||
| 821 | #define ARIZONA_MISC_PAD_CTRL_18 0xC3B | ||
| 822 | #define ARIZONA_INTERRUPT_STATUS_1 0xD00 | ||
| 823 | #define ARIZONA_INTERRUPT_STATUS_2 0xD01 | ||
| 824 | #define ARIZONA_INTERRUPT_STATUS_3 0xD02 | ||
| 825 | #define ARIZONA_INTERRUPT_STATUS_4 0xD03 | ||
| 826 | #define ARIZONA_INTERRUPT_STATUS_5 0xD04 | ||
| 827 | #define ARIZONA_INTERRUPT_STATUS_1_MASK 0xD08 | ||
| 828 | #define ARIZONA_INTERRUPT_STATUS_2_MASK 0xD09 | ||
| 829 | #define ARIZONA_INTERRUPT_STATUS_3_MASK 0xD0A | ||
| 830 | #define ARIZONA_INTERRUPT_STATUS_4_MASK 0xD0B | ||
| 831 | #define ARIZONA_INTERRUPT_STATUS_5_MASK 0xD0C | ||
| 832 | #define ARIZONA_INTERRUPT_CONTROL 0xD0F | ||
| 833 | #define ARIZONA_IRQ2_STATUS_1 0xD10 | ||
| 834 | #define ARIZONA_IRQ2_STATUS_2 0xD11 | ||
| 835 | #define ARIZONA_IRQ2_STATUS_3 0xD12 | ||
| 836 | #define ARIZONA_IRQ2_STATUS_4 0xD13 | ||
| 837 | #define ARIZONA_IRQ2_STATUS_5 0xD14 | ||
| 838 | #define ARIZONA_IRQ2_STATUS_1_MASK 0xD18 | ||
| 839 | #define ARIZONA_IRQ2_STATUS_2_MASK 0xD19 | ||
| 840 | #define ARIZONA_IRQ2_STATUS_3_MASK 0xD1A | ||
| 841 | #define ARIZONA_IRQ2_STATUS_4_MASK 0xD1B | ||
| 842 | #define ARIZONA_IRQ2_STATUS_5_MASK 0xD1C | ||
| 843 | #define ARIZONA_IRQ2_CONTROL 0xD1F | ||
| 844 | #define ARIZONA_INTERRUPT_RAW_STATUS_2 0xD20 | ||
| 845 | #define ARIZONA_INTERRUPT_RAW_STATUS_3 0xD21 | ||
| 846 | #define ARIZONA_INTERRUPT_RAW_STATUS_4 0xD22 | ||
| 847 | #define ARIZONA_INTERRUPT_RAW_STATUS_5 0xD23 | ||
| 848 | #define ARIZONA_INTERRUPT_RAW_STATUS_6 0xD24 | ||
| 849 | #define ARIZONA_INTERRUPT_RAW_STATUS_7 0xD25 | ||
| 850 | #define ARIZONA_INTERRUPT_RAW_STATUS_8 0xD26 | ||
| 851 | #define ARIZONA_IRQ_PIN_STATUS 0xD40 | ||
| 852 | #define ARIZONA_ADSP2_IRQ0 0xD41 | ||
| 853 | #define ARIZONA_AOD_WKUP_AND_TRIG 0xD50 | ||
| 854 | #define ARIZONA_AOD_IRQ1 0xD51 | ||
| 855 | #define ARIZONA_AOD_IRQ2 0xD52 | ||
| 856 | #define ARIZONA_AOD_IRQ_MASK_IRQ1 0xD53 | ||
| 857 | #define ARIZONA_AOD_IRQ_MASK_IRQ2 0xD54 | ||
| 858 | #define ARIZONA_AOD_IRQ_RAW_STATUS 0xD55 | ||
| 859 | #define ARIZONA_JACK_DETECT_DEBOUNCE 0xD56 | ||
| 860 | #define ARIZONA_FX_CTRL1 0xE00 | ||
| 861 | #define ARIZONA_FX_CTRL2 0xE01 | ||
| 862 | #define ARIZONA_EQ1_1 0xE10 | ||
| 863 | #define ARIZONA_EQ1_2 0xE11 | ||
| 864 | #define ARIZONA_EQ1_3 0xE12 | ||
| 865 | #define ARIZONA_EQ1_4 0xE13 | ||
| 866 | #define ARIZONA_EQ1_5 0xE14 | ||
| 867 | #define ARIZONA_EQ1_6 0xE15 | ||
| 868 | #define ARIZONA_EQ1_7 0xE16 | ||
| 869 | #define ARIZONA_EQ1_8 0xE17 | ||
| 870 | #define ARIZONA_EQ1_9 0xE18 | ||
| 871 | #define ARIZONA_EQ1_10 0xE19 | ||
| 872 | #define ARIZONA_EQ1_11 0xE1A | ||
| 873 | #define ARIZONA_EQ1_12 0xE1B | ||
| 874 | #define ARIZONA_EQ1_13 0xE1C | ||
| 875 | #define ARIZONA_EQ1_14 0xE1D | ||
| 876 | #define ARIZONA_EQ1_15 0xE1E | ||
| 877 | #define ARIZONA_EQ1_16 0xE1F | ||
| 878 | #define ARIZONA_EQ1_17 0xE20 | ||
| 879 | #define ARIZONA_EQ1_18 0xE21 | ||
| 880 | #define ARIZONA_EQ1_19 0xE22 | ||
| 881 | #define ARIZONA_EQ1_20 0xE23 | ||
| 882 | #define ARIZONA_EQ1_21 0xE24 | ||
| 883 | #define ARIZONA_EQ2_1 0xE26 | ||
| 884 | #define ARIZONA_EQ2_2 0xE27 | ||
| 885 | #define ARIZONA_EQ2_3 0xE28 | ||
| 886 | #define ARIZONA_EQ2_4 0xE29 | ||
| 887 | #define ARIZONA_EQ2_5 0xE2A | ||
| 888 | #define ARIZONA_EQ2_6 0xE2B | ||
| 889 | #define ARIZONA_EQ2_7 0xE2C | ||
| 890 | #define ARIZONA_EQ2_8 0xE2D | ||
| 891 | #define ARIZONA_EQ2_9 0xE2E | ||
| 892 | #define ARIZONA_EQ2_10 0xE2F | ||
| 893 | #define ARIZONA_EQ2_11 0xE30 | ||
| 894 | #define ARIZONA_EQ2_12 0xE31 | ||
| 895 | #define ARIZONA_EQ2_13 0xE32 | ||
| 896 | #define ARIZONA_EQ2_14 0xE33 | ||
| 897 | #define ARIZONA_EQ2_15 0xE34 | ||
| 898 | #define ARIZONA_EQ2_16 0xE35 | ||
| 899 | #define ARIZONA_EQ2_17 0xE36 | ||
| 900 | #define ARIZONA_EQ2_18 0xE37 | ||
| 901 | #define ARIZONA_EQ2_19 0xE38 | ||
| 902 | #define ARIZONA_EQ2_20 0xE39 | ||
| 903 | #define ARIZONA_EQ2_21 0xE3A | ||
| 904 | #define ARIZONA_EQ3_1 0xE3C | ||
| 905 | #define ARIZONA_EQ3_2 0xE3D | ||
| 906 | #define ARIZONA_EQ3_3 0xE3E | ||
| 907 | #define ARIZONA_EQ3_4 0xE3F | ||
| 908 | #define ARIZONA_EQ3_5 0xE40 | ||
| 909 | #define ARIZONA_EQ3_6 0xE41 | ||
| 910 | #define ARIZONA_EQ3_7 0xE42 | ||
| 911 | #define ARIZONA_EQ3_8 0xE43 | ||
| 912 | #define ARIZONA_EQ3_9 0xE44 | ||
| 913 | #define ARIZONA_EQ3_10 0xE45 | ||
| 914 | #define ARIZONA_EQ3_11 0xE46 | ||
| 915 | #define ARIZONA_EQ3_12 0xE47 | ||
| 916 | #define ARIZONA_EQ3_13 0xE48 | ||
| 917 | #define ARIZONA_EQ3_14 0xE49 | ||
| 918 | #define ARIZONA_EQ3_15 0xE4A | ||
| 919 | #define ARIZONA_EQ3_16 0xE4B | ||
| 920 | #define ARIZONA_EQ3_17 0xE4C | ||
| 921 | #define ARIZONA_EQ3_18 0xE4D | ||
| 922 | #define ARIZONA_EQ3_19 0xE4E | ||
| 923 | #define ARIZONA_EQ3_20 0xE4F | ||
| 924 | #define ARIZONA_EQ3_21 0xE50 | ||
| 925 | #define ARIZONA_EQ4_1 0xE52 | ||
| 926 | #define ARIZONA_EQ4_2 0xE53 | ||
| 927 | #define ARIZONA_EQ4_3 0xE54 | ||
| 928 | #define ARIZONA_EQ4_4 0xE55 | ||
| 929 | #define ARIZONA_EQ4_5 0xE56 | ||
| 930 | #define ARIZONA_EQ4_6 0xE57 | ||
| 931 | #define ARIZONA_EQ4_7 0xE58 | ||
| 932 | #define ARIZONA_EQ4_8 0xE59 | ||
| 933 | #define ARIZONA_EQ4_9 0xE5A | ||
| 934 | #define ARIZONA_EQ4_10 0xE5B | ||
| 935 | #define ARIZONA_EQ4_11 0xE5C | ||
| 936 | #define ARIZONA_EQ4_12 0xE5D | ||
| 937 | #define ARIZONA_EQ4_13 0xE5E | ||
| 938 | #define ARIZONA_EQ4_14 0xE5F | ||
| 939 | #define ARIZONA_EQ4_15 0xE60 | ||
| 940 | #define ARIZONA_EQ4_16 0xE61 | ||
| 941 | #define ARIZONA_EQ4_17 0xE62 | ||
| 942 | #define ARIZONA_EQ4_18 0xE63 | ||
| 943 | #define ARIZONA_EQ4_19 0xE64 | ||
| 944 | #define ARIZONA_EQ4_20 0xE65 | ||
| 945 | #define ARIZONA_EQ4_21 0xE66 | ||
| 946 | #define ARIZONA_DRC1_CTRL1 0xE80 | ||
| 947 | #define ARIZONA_DRC1_CTRL2 0xE81 | ||
| 948 | #define ARIZONA_DRC1_CTRL3 0xE82 | ||
| 949 | #define ARIZONA_DRC1_CTRL4 0xE83 | ||
| 950 | #define ARIZONA_DRC1_CTRL5 0xE84 | ||
| 951 | #define ARIZONA_DRC2_CTRL1 0xE89 | ||
| 952 | #define ARIZONA_DRC2_CTRL2 0xE8A | ||
| 953 | #define ARIZONA_DRC2_CTRL3 0xE8B | ||
| 954 | #define ARIZONA_DRC2_CTRL4 0xE8C | ||
| 955 | #define ARIZONA_DRC2_CTRL5 0xE8D | ||
| 956 | #define ARIZONA_HPLPF1_1 0xEC0 | ||
| 957 | #define ARIZONA_HPLPF1_2 0xEC1 | ||
| 958 | #define ARIZONA_HPLPF2_1 0xEC4 | ||
| 959 | #define ARIZONA_HPLPF2_2 0xEC5 | ||
| 960 | #define ARIZONA_HPLPF3_1 0xEC8 | ||
| 961 | #define ARIZONA_HPLPF3_2 0xEC9 | ||
| 962 | #define ARIZONA_HPLPF4_1 0xECC | ||
| 963 | #define ARIZONA_HPLPF4_2 0xECD | ||
| 964 | #define ARIZONA_ASRC_ENABLE 0xEE0 | ||
| 965 | #define ARIZONA_ASRC_STATUS 0xEE1 | ||
| 966 | #define ARIZONA_ASRC_RATE1 0xEE2 | ||
| 967 | #define ARIZONA_ASRC_RATE2 0xEE3 | ||
| 968 | #define ARIZONA_ISRC_1_CTRL_1 0xEF0 | ||
| 969 | #define ARIZONA_ISRC_1_CTRL_2 0xEF1 | ||
| 970 | #define ARIZONA_ISRC_1_CTRL_3 0xEF2 | ||
| 971 | #define ARIZONA_ISRC_2_CTRL_1 0xEF3 | ||
| 972 | #define ARIZONA_ISRC_2_CTRL_2 0xEF4 | ||
| 973 | #define ARIZONA_ISRC_2_CTRL_3 0xEF5 | ||
| 974 | #define ARIZONA_ISRC_3_CTRL_1 0xEF6 | ||
| 975 | #define ARIZONA_ISRC_3_CTRL_2 0xEF7 | ||
| 976 | #define ARIZONA_ISRC_3_CTRL_3 0xEF8 | ||
| 977 | #define ARIZONA_CLOCK_CONTROL 0xF00 | ||
| 978 | #define ARIZONA_ANC_SRC 0xF01 | ||
| 979 | #define ARIZONA_DSP_STATUS 0xF02 | ||
| 980 | #define ARIZONA_DSP1_CONTROL_1 0x1100 | ||
| 981 | #define ARIZONA_DSP1_CLOCKING_1 0x1101 | ||
| 982 | #define ARIZONA_DSP1_STATUS_1 0x1104 | ||
| 983 | #define ARIZONA_DSP1_STATUS_2 0x1105 | ||
| 984 | #define ARIZONA_DSP1_STATUS_3 0x1106 | ||
| 985 | #define ARIZONA_DSP2_CONTROL_1 0x1200 | ||
| 986 | #define ARIZONA_DSP2_CLOCKING_1 0x1201 | ||
| 987 | #define ARIZONA_DSP2_STATUS_1 0x1204 | ||
| 988 | #define ARIZONA_DSP2_STATUS_2 0x1205 | ||
| 989 | #define ARIZONA_DSP3_CONTROL_1 0x1300 | ||
| 990 | #define ARIZONA_DSP3_CLOCKING_1 0x1301 | ||
| 991 | #define ARIZONA_DSP3_STATUS_1 0x1304 | ||
| 992 | #define ARIZONA_DSP3_STATUS_2 0x1305 | ||
| 993 | #define ARIZONA_DSP4_CONTROL_1 0x1400 | ||
| 994 | #define ARIZONA_DSP4_CLOCKING_1 0x1401 | ||
| 995 | #define ARIZONA_DSP4_STATUS_1 0x1404 | ||
| 996 | #define ARIZONA_DSP4_STATUS_2 0x1405 | ||
| 997 | |||
| 998 | /* | ||
| 999 | * Field Definitions. | ||
| 1000 | */ | ||
| 1001 | |||
| 1002 | /* | ||
| 1003 | * R0 (0x00) - software reset | ||
| 1004 | */ | ||
| 1005 | #define ARIZONA_SW_RST_DEV_ID1_MASK 0xFFFF /* SW_RST_DEV_ID1 - [15:0] */ | ||
| 1006 | #define ARIZONA_SW_RST_DEV_ID1_SHIFT 0 /* SW_RST_DEV_ID1 - [15:0] */ | ||
| 1007 | #define ARIZONA_SW_RST_DEV_ID1_WIDTH 16 /* SW_RST_DEV_ID1 - [15:0] */ | ||
| 1008 | |||
| 1009 | /* | ||
| 1010 | * R1 (0x01) - Device Revision | ||
| 1011 | */ | ||
| 1012 | #define ARIZONA_DEVICE_REVISION_MASK 0x00FF /* DEVICE_REVISION - [7:0] */ | ||
| 1013 | #define ARIZONA_DEVICE_REVISION_SHIFT 0 /* DEVICE_REVISION - [7:0] */ | ||
| 1014 | #define ARIZONA_DEVICE_REVISION_WIDTH 8 /* DEVICE_REVISION - [7:0] */ | ||
| 1015 | |||
| 1016 | /* | ||
| 1017 | * R8 (0x08) - Ctrl IF SPI CFG 1 | ||
| 1018 | */ | ||
| 1019 | #define ARIZONA_SPI_CFG 0x0010 /* SPI_CFG */ | ||
| 1020 | #define ARIZONA_SPI_CFG_MASK 0x0010 /* SPI_CFG */ | ||
| 1021 | #define ARIZONA_SPI_CFG_SHIFT 4 /* SPI_CFG */ | ||
| 1022 | #define ARIZONA_SPI_CFG_WIDTH 1 /* SPI_CFG */ | ||
| 1023 | #define ARIZONA_SPI_4WIRE 0x0008 /* SPI_4WIRE */ | ||
| 1024 | #define ARIZONA_SPI_4WIRE_MASK 0x0008 /* SPI_4WIRE */ | ||
| 1025 | #define ARIZONA_SPI_4WIRE_SHIFT 3 /* SPI_4WIRE */ | ||
| 1026 | #define ARIZONA_SPI_4WIRE_WIDTH 1 /* SPI_4WIRE */ | ||
| 1027 | #define ARIZONA_SPI_AUTO_INC_MASK 0x0003 /* SPI_AUTO_INC - [1:0] */ | ||
| 1028 | #define ARIZONA_SPI_AUTO_INC_SHIFT 0 /* SPI_AUTO_INC - [1:0] */ | ||
| 1029 | #define ARIZONA_SPI_AUTO_INC_WIDTH 2 /* SPI_AUTO_INC - [1:0] */ | ||
| 1030 | |||
| 1031 | /* | ||
| 1032 | * R9 (0x09) - Ctrl IF I2C1 CFG 1 | ||
| 1033 | */ | ||
| 1034 | #define ARIZONA_I2C1_AUTO_INC_MASK 0x0003 /* I2C1_AUTO_INC - [1:0] */ | ||
| 1035 | #define ARIZONA_I2C1_AUTO_INC_SHIFT 0 /* I2C1_AUTO_INC - [1:0] */ | ||
| 1036 | #define ARIZONA_I2C1_AUTO_INC_WIDTH 2 /* I2C1_AUTO_INC - [1:0] */ | ||
| 1037 | |||
| 1038 | /* | ||
| 1039 | * R13 (0x0D) - Ctrl IF Status 1 | ||
| 1040 | */ | ||
| 1041 | #define ARIZONA_I2C1_BUSY 0x0020 /* I2C1_BUSY */ | ||
| 1042 | #define ARIZONA_I2C1_BUSY_MASK 0x0020 /* I2C1_BUSY */ | ||
| 1043 | #define ARIZONA_I2C1_BUSY_SHIFT 5 /* I2C1_BUSY */ | ||
| 1044 | #define ARIZONA_I2C1_BUSY_WIDTH 1 /* I2C1_BUSY */ | ||
| 1045 | #define ARIZONA_SPI_BUSY 0x0010 /* SPI_BUSY */ | ||
| 1046 | #define ARIZONA_SPI_BUSY_MASK 0x0010 /* SPI_BUSY */ | ||
| 1047 | #define ARIZONA_SPI_BUSY_SHIFT 4 /* SPI_BUSY */ | ||
| 1048 | #define ARIZONA_SPI_BUSY_WIDTH 1 /* SPI_BUSY */ | ||
| 1049 | |||
| 1050 | /* | ||
| 1051 | * R22 (0x16) - Write Sequencer Ctrl 0 | ||
| 1052 | */ | ||
| 1053 | #define ARIZONA_WSEQ_ABORT 0x0800 /* WSEQ_ABORT */ | ||
| 1054 | #define ARIZONA_WSEQ_ABORT_MASK 0x0800 /* WSEQ_ABORT */ | ||
| 1055 | #define ARIZONA_WSEQ_ABORT_SHIFT 11 /* WSEQ_ABORT */ | ||
| 1056 | #define ARIZONA_WSEQ_ABORT_WIDTH 1 /* WSEQ_ABORT */ | ||
| 1057 | #define ARIZONA_WSEQ_START 0x0400 /* WSEQ_START */ | ||
| 1058 | #define ARIZONA_WSEQ_START_MASK 0x0400 /* WSEQ_START */ | ||
| 1059 | #define ARIZONA_WSEQ_START_SHIFT 10 /* WSEQ_START */ | ||
| 1060 | #define ARIZONA_WSEQ_START_WIDTH 1 /* WSEQ_START */ | ||
| 1061 | #define ARIZONA_WSEQ_ENA 0x0200 /* WSEQ_ENA */ | ||
| 1062 | #define ARIZONA_WSEQ_ENA_MASK 0x0200 /* WSEQ_ENA */ | ||
| 1063 | #define ARIZONA_WSEQ_ENA_SHIFT 9 /* WSEQ_ENA */ | ||
| 1064 | #define ARIZONA_WSEQ_ENA_WIDTH 1 /* WSEQ_ENA */ | ||
| 1065 | #define ARIZONA_WSEQ_START_INDEX_MASK 0x01FF /* WSEQ_START_INDEX - [8:0] */ | ||
| 1066 | #define ARIZONA_WSEQ_START_INDEX_SHIFT 0 /* WSEQ_START_INDEX - [8:0] */ | ||
| 1067 | #define ARIZONA_WSEQ_START_INDEX_WIDTH 9 /* WSEQ_START_INDEX - [8:0] */ | ||
| 1068 | |||
| 1069 | /* | ||
| 1070 | * R23 (0x17) - Write Sequencer Ctrl 1 | ||
| 1071 | */ | ||
| 1072 | #define ARIZONA_WSEQ_BUSY 0x0200 /* WSEQ_BUSY */ | ||
| 1073 | #define ARIZONA_WSEQ_BUSY_MASK 0x0200 /* WSEQ_BUSY */ | ||
| 1074 | #define ARIZONA_WSEQ_BUSY_SHIFT 9 /* WSEQ_BUSY */ | ||
| 1075 | #define ARIZONA_WSEQ_BUSY_WIDTH 1 /* WSEQ_BUSY */ | ||
| 1076 | #define ARIZONA_WSEQ_CURRENT_INDEX_MASK 0x01FF /* WSEQ_CURRENT_INDEX - [8:0] */ | ||
| 1077 | #define ARIZONA_WSEQ_CURRENT_INDEX_SHIFT 0 /* WSEQ_CURRENT_INDEX - [8:0] */ | ||
| 1078 | #define ARIZONA_WSEQ_CURRENT_INDEX_WIDTH 9 /* WSEQ_CURRENT_INDEX - [8:0] */ | ||
| 1079 | |||
| 1080 | /* | ||
| 1081 | * R24 (0x18) - Write Sequencer Ctrl 2 | ||
| 1082 | */ | ||
| 1083 | #define ARIZONA_LOAD_DEFAULTS 0x0002 /* LOAD_DEFAULTS */ | ||
| 1084 | #define ARIZONA_LOAD_DEFAULTS_MASK 0x0002 /* LOAD_DEFAULTS */ | ||
| 1085 | #define ARIZONA_LOAD_DEFAULTS_SHIFT 1 /* LOAD_DEFAULTS */ | ||
| 1086 | #define ARIZONA_LOAD_DEFAULTS_WIDTH 1 /* LOAD_DEFAULTS */ | ||
| 1087 | #define ARIZONA_WSEQ_LOAD_MEM 0x0001 /* WSEQ_LOAD_MEM */ | ||
| 1088 | #define ARIZONA_WSEQ_LOAD_MEM_MASK 0x0001 /* WSEQ_LOAD_MEM */ | ||
| 1089 | #define ARIZONA_WSEQ_LOAD_MEM_SHIFT 0 /* WSEQ_LOAD_MEM */ | ||
| 1090 | #define ARIZONA_WSEQ_LOAD_MEM_WIDTH 1 /* WSEQ_LOAD_MEM */ | ||
| 1091 | |||
| 1092 | /* | ||
| 1093 | * R26 (0x1A) - Write Sequencer PROM | ||
| 1094 | */ | ||
| 1095 | #define ARIZONA_WSEQ_OTP_WRITE 0x0001 /* WSEQ_OTP_WRITE */ | ||
| 1096 | #define ARIZONA_WSEQ_OTP_WRITE_MASK 0x0001 /* WSEQ_OTP_WRITE */ | ||
| 1097 | #define ARIZONA_WSEQ_OTP_WRITE_SHIFT 0 /* WSEQ_OTP_WRITE */ | ||
| 1098 | #define ARIZONA_WSEQ_OTP_WRITE_WIDTH 1 /* WSEQ_OTP_WRITE */ | ||
| 1099 | |||
| 1100 | /* | ||
| 1101 | * R32 (0x20) - Tone Generator 1 | ||
| 1102 | */ | ||
| 1103 | #define ARIZONA_TONE_RATE_MASK 0x7800 /* TONE_RATE - [14:11] */ | ||
| 1104 | #define ARIZONA_TONE_RATE_SHIFT 11 /* TONE_RATE - [14:11] */ | ||
| 1105 | #define ARIZONA_TONE_RATE_WIDTH 4 /* TONE_RATE - [14:11] */ | ||
| 1106 | #define ARIZONA_TONE_OFFSET_MASK 0x0300 /* TONE_OFFSET - [9:8] */ | ||
| 1107 | #define ARIZONA_TONE_OFFSET_SHIFT 8 /* TONE_OFFSET - [9:8] */ | ||
| 1108 | #define ARIZONA_TONE_OFFSET_WIDTH 2 /* TONE_OFFSET - [9:8] */ | ||
| 1109 | #define ARIZONA_TONE2_OVD 0x0020 /* TONE2_OVD */ | ||
| 1110 | #define ARIZONA_TONE2_OVD_MASK 0x0020 /* TONE2_OVD */ | ||
| 1111 | #define ARIZONA_TONE2_OVD_SHIFT 5 /* TONE2_OVD */ | ||
| 1112 | #define ARIZONA_TONE2_OVD_WIDTH 1 /* TONE2_OVD */ | ||
| 1113 | #define ARIZONA_TONE1_OVD 0x0010 /* TONE1_OVD */ | ||
| 1114 | #define ARIZONA_TONE1_OVD_MASK 0x0010 /* TONE1_OVD */ | ||
| 1115 | #define ARIZONA_TONE1_OVD_SHIFT 4 /* TONE1_OVD */ | ||
| 1116 | #define ARIZONA_TONE1_OVD_WIDTH 1 /* TONE1_OVD */ | ||
| 1117 | #define ARIZONA_TONE2_ENA 0x0002 /* TONE2_ENA */ | ||
| 1118 | #define ARIZONA_TONE2_ENA_MASK 0x0002 /* TONE2_ENA */ | ||
| 1119 | #define ARIZONA_TONE2_ENA_SHIFT 1 /* TONE2_ENA */ | ||
| 1120 | #define ARIZONA_TONE2_ENA_WIDTH 1 /* TONE2_ENA */ | ||
| 1121 | #define ARIZONA_TONE1_ENA 0x0001 /* TONE1_ENA */ | ||
| 1122 | #define ARIZONA_TONE1_ENA_MASK 0x0001 /* TONE1_ENA */ | ||
| 1123 | #define ARIZONA_TONE1_ENA_SHIFT 0 /* TONE1_ENA */ | ||
| 1124 | #define ARIZONA_TONE1_ENA_WIDTH 1 /* TONE1_ENA */ | ||
| 1125 | |||
| 1126 | /* | ||
| 1127 | * R33 (0x21) - Tone Generator 2 | ||
| 1128 | */ | ||
| 1129 | #define ARIZONA_TONE1_LVL_0_MASK 0xFFFF /* TONE1_LVL - [15:0] */ | ||
| 1130 | #define ARIZONA_TONE1_LVL_0_SHIFT 0 /* TONE1_LVL - [15:0] */ | ||
| 1131 | #define ARIZONA_TONE1_LVL_0_WIDTH 16 /* TONE1_LVL - [15:0] */ | ||
| 1132 | |||
| 1133 | /* | ||
| 1134 | * R34 (0x22) - Tone Generator 3 | ||
| 1135 | */ | ||
| 1136 | #define ARIZONA_TONE1_LVL_MASK 0x00FF /* TONE1_LVL - [7:0] */ | ||
| 1137 | #define ARIZONA_TONE1_LVL_SHIFT 0 /* TONE1_LVL - [7:0] */ | ||
| 1138 | #define ARIZONA_TONE1_LVL_WIDTH 8 /* TONE1_LVL - [7:0] */ | ||
| 1139 | |||
| 1140 | /* | ||
| 1141 | * R35 (0x23) - Tone Generator 4 | ||
| 1142 | */ | ||
| 1143 | #define ARIZONA_TONE2_LVL_0_MASK 0xFFFF /* TONE2_LVL - [15:0] */ | ||
| 1144 | #define ARIZONA_TONE2_LVL_0_SHIFT 0 /* TONE2_LVL - [15:0] */ | ||
| 1145 | #define ARIZONA_TONE2_LVL_0_WIDTH 16 /* TONE2_LVL - [15:0] */ | ||
| 1146 | |||
| 1147 | /* | ||
| 1148 | * R36 (0x24) - Tone Generator 5 | ||
| 1149 | */ | ||
| 1150 | #define ARIZONA_TONE2_LVL_MASK 0x00FF /* TONE2_LVL - [7:0] */ | ||
| 1151 | #define ARIZONA_TONE2_LVL_SHIFT 0 /* TONE2_LVL - [7:0] */ | ||
| 1152 | #define ARIZONA_TONE2_LVL_WIDTH 8 /* TONE2_LVL - [7:0] */ | ||
| 1153 | |||
| 1154 | /* | ||
| 1155 | * R48 (0x30) - PWM Drive 1 | ||
| 1156 | */ | ||
| 1157 | #define ARIZONA_PWM_RATE_MASK 0x7800 /* PWM_RATE - [14:11] */ | ||
| 1158 | #define ARIZONA_PWM_RATE_SHIFT 11 /* PWM_RATE - [14:11] */ | ||
| 1159 | #define ARIZONA_PWM_RATE_WIDTH 4 /* PWM_RATE - [14:11] */ | ||
| 1160 | #define ARIZONA_PWM_CLK_SEL_MASK 0x0700 /* PWM_CLK_SEL - [10:8] */ | ||
| 1161 | #define ARIZONA_PWM_CLK_SEL_SHIFT 8 /* PWM_CLK_SEL - [10:8] */ | ||
| 1162 | #define ARIZONA_PWM_CLK_SEL_WIDTH 3 /* PWM_CLK_SEL - [10:8] */ | ||
| 1163 | #define ARIZONA_PWM2_OVD 0x0020 /* PWM2_OVD */ | ||
| 1164 | #define ARIZONA_PWM2_OVD_MASK 0x0020 /* PWM2_OVD */ | ||
| 1165 | #define ARIZONA_PWM2_OVD_SHIFT 5 /* PWM2_OVD */ | ||
| 1166 | #define ARIZONA_PWM2_OVD_WIDTH 1 /* PWM2_OVD */ | ||
| 1167 | #define ARIZONA_PWM1_OVD 0x0010 /* PWM1_OVD */ | ||
| 1168 | #define ARIZONA_PWM1_OVD_MASK 0x0010 /* PWM1_OVD */ | ||
| 1169 | #define ARIZONA_PWM1_OVD_SHIFT 4 /* PWM1_OVD */ | ||
| 1170 | #define ARIZONA_PWM1_OVD_WIDTH 1 /* PWM1_OVD */ | ||
| 1171 | #define ARIZONA_PWM2_ENA 0x0002 /* PWM2_ENA */ | ||
| 1172 | #define ARIZONA_PWM2_ENA_MASK 0x0002 /* PWM2_ENA */ | ||
| 1173 | #define ARIZONA_PWM2_ENA_SHIFT 1 /* PWM2_ENA */ | ||
| 1174 | #define ARIZONA_PWM2_ENA_WIDTH 1 /* PWM2_ENA */ | ||
| 1175 | #define ARIZONA_PWM1_ENA 0x0001 /* PWM1_ENA */ | ||
| 1176 | #define ARIZONA_PWM1_ENA_MASK 0x0001 /* PWM1_ENA */ | ||
| 1177 | #define ARIZONA_PWM1_ENA_SHIFT 0 /* PWM1_ENA */ | ||
| 1178 | #define ARIZONA_PWM1_ENA_WIDTH 1 /* PWM1_ENA */ | ||
| 1179 | |||
| 1180 | /* | ||
| 1181 | * R49 (0x31) - PWM Drive 2 | ||
| 1182 | */ | ||
| 1183 | #define ARIZONA_PWM1_LVL_MASK 0x03FF /* PWM1_LVL - [9:0] */ | ||
| 1184 | #define ARIZONA_PWM1_LVL_SHIFT 0 /* PWM1_LVL - [9:0] */ | ||
| 1185 | #define ARIZONA_PWM1_LVL_WIDTH 10 /* PWM1_LVL - [9:0] */ | ||
| 1186 | |||
| 1187 | /* | ||
| 1188 | * R50 (0x32) - PWM Drive 3 | ||
| 1189 | */ | ||
| 1190 | #define ARIZONA_PWM2_LVL_MASK 0x03FF /* PWM2_LVL - [9:0] */ | ||
| 1191 | #define ARIZONA_PWM2_LVL_SHIFT 0 /* PWM2_LVL - [9:0] */ | ||
| 1192 | #define ARIZONA_PWM2_LVL_WIDTH 10 /* PWM2_LVL - [9:0] */ | ||
| 1193 | |||
| 1194 | /* | ||
| 1195 | * R64 (0x40) - Wake control | ||
| 1196 | */ | ||
| 1197 | #define ARIZONA_WKUP_GP5_FALL 0x0020 /* WKUP_GP5_FALL */ | ||
| 1198 | #define ARIZONA_WKUP_GP5_FALL_MASK 0x0020 /* WKUP_GP5_FALL */ | ||
| 1199 | #define ARIZONA_WKUP_GP5_FALL_SHIFT 5 /* WKUP_GP5_FALL */ | ||
| 1200 | #define ARIZONA_WKUP_GP5_FALL_WIDTH 1 /* WKUP_GP5_FALL */ | ||
| 1201 | #define ARIZONA_WKUP_GP5_RISE 0x0010 /* WKUP_GP5_RISE */ | ||
| 1202 | #define ARIZONA_WKUP_GP5_RISE_MASK 0x0010 /* WKUP_GP5_RISE */ | ||
| 1203 | #define ARIZONA_WKUP_GP5_RISE_SHIFT 4 /* WKUP_GP5_RISE */ | ||
| 1204 | #define ARIZONA_WKUP_GP5_RISE_WIDTH 1 /* WKUP_GP5_RISE */ | ||
| 1205 | #define ARIZONA_WKUP_JD1_FALL 0x0008 /* WKUP_JD1_FALL */ | ||
| 1206 | #define ARIZONA_WKUP_JD1_FALL_MASK 0x0008 /* WKUP_JD1_FALL */ | ||
| 1207 | #define ARIZONA_WKUP_JD1_FALL_SHIFT 3 /* WKUP_JD1_FALL */ | ||
| 1208 | #define ARIZONA_WKUP_JD1_FALL_WIDTH 1 /* WKUP_JD1_FALL */ | ||
| 1209 | #define ARIZONA_WKUP_JD1_RISE 0x0004 /* WKUP_JD1_RISE */ | ||
| 1210 | #define ARIZONA_WKUP_JD1_RISE_MASK 0x0004 /* WKUP_JD1_RISE */ | ||
| 1211 | #define ARIZONA_WKUP_JD1_RISE_SHIFT 2 /* WKUP_JD1_RISE */ | ||
| 1212 | #define ARIZONA_WKUP_JD1_RISE_WIDTH 1 /* WKUP_JD1_RISE */ | ||
| 1213 | #define ARIZONA_WKUP_JD2_FALL 0x0002 /* WKUP_JD2_FALL */ | ||
| 1214 | #define ARIZONA_WKUP_JD2_FALL_MASK 0x0002 /* WKUP_JD2_FALL */ | ||
| 1215 | #define ARIZONA_WKUP_JD2_FALL_SHIFT 1 /* WKUP_JD2_FALL */ | ||
| 1216 | #define ARIZONA_WKUP_JD2_FALL_WIDTH 1 /* WKUP_JD2_FALL */ | ||
| 1217 | #define ARIZONA_WKUP_JD2_RISE 0x0001 /* WKUP_JD2_RISE */ | ||
| 1218 | #define ARIZONA_WKUP_JD2_RISE_MASK 0x0001 /* WKUP_JD2_RISE */ | ||
| 1219 | #define ARIZONA_WKUP_JD2_RISE_SHIFT 0 /* WKUP_JD2_RISE */ | ||
| 1220 | #define ARIZONA_WKUP_JD2_RISE_WIDTH 1 /* WKUP_JD2_RISE */ | ||
| 1221 | |||
| 1222 | /* | ||
| 1223 | * R65 (0x41) - Sequence control | ||
| 1224 | */ | ||
| 1225 | #define ARIZONA_WSEQ_ENA_GP5_FALL 0x0020 /* WSEQ_ENA_GP5_FALL */ | ||
| 1226 | #define ARIZONA_WSEQ_ENA_GP5_FALL_MASK 0x0020 /* WSEQ_ENA_GP5_FALL */ | ||
| 1227 | #define ARIZONA_WSEQ_ENA_GP5_FALL_SHIFT 5 /* WSEQ_ENA_GP5_FALL */ | ||
| 1228 | #define ARIZONA_WSEQ_ENA_GP5_FALL_WIDTH 1 /* WSEQ_ENA_GP5_FALL */ | ||
| 1229 | #define ARIZONA_WSEQ_ENA_GP5_RISE 0x0010 /* WSEQ_ENA_GP5_RISE */ | ||
| 1230 | #define ARIZONA_WSEQ_ENA_GP5_RISE_MASK 0x0010 /* WSEQ_ENA_GP5_RISE */ | ||
| 1231 | #define ARIZONA_WSEQ_ENA_GP5_RISE_SHIFT 4 /* WSEQ_ENA_GP5_RISE */ | ||
| 1232 | #define ARIZONA_WSEQ_ENA_GP5_RISE_WIDTH 1 /* WSEQ_ENA_GP5_RISE */ | ||
| 1233 | #define ARIZONA_WSEQ_ENA_JD1_FALL 0x0008 /* WSEQ_ENA_JD1_FALL */ | ||
| 1234 | #define ARIZONA_WSEQ_ENA_JD1_FALL_MASK 0x0008 /* WSEQ_ENA_JD1_FALL */ | ||
| 1235 | #define ARIZONA_WSEQ_ENA_JD1_FALL_SHIFT 3 /* WSEQ_ENA_JD1_FALL */ | ||
| 1236 | #define ARIZONA_WSEQ_ENA_JD1_FALL_WIDTH 1 /* WSEQ_ENA_JD1_FALL */ | ||
| 1237 | #define ARIZONA_WSEQ_ENA_JD1_RISE 0x0004 /* WSEQ_ENA_JD1_RISE */ | ||
| 1238 | #define ARIZONA_WSEQ_ENA_JD1_RISE_MASK 0x0004 /* WSEQ_ENA_JD1_RISE */ | ||
| 1239 | #define ARIZONA_WSEQ_ENA_JD1_RISE_SHIFT 2 /* WSEQ_ENA_JD1_RISE */ | ||
| 1240 | #define ARIZONA_WSEQ_ENA_JD1_RISE_WIDTH 1 /* WSEQ_ENA_JD1_RISE */ | ||
| 1241 | #define ARIZONA_WSEQ_ENA_JD2_FALL 0x0002 /* WSEQ_ENA_JD2_FALL */ | ||
| 1242 | #define ARIZONA_WSEQ_ENA_JD2_FALL_MASK 0x0002 /* WSEQ_ENA_JD2_FALL */ | ||
| 1243 | #define ARIZONA_WSEQ_ENA_JD2_FALL_SHIFT 1 /* WSEQ_ENA_JD2_FALL */ | ||
| 1244 | #define ARIZONA_WSEQ_ENA_JD2_FALL_WIDTH 1 /* WSEQ_ENA_JD2_FALL */ | ||
| 1245 | #define ARIZONA_WSEQ_ENA_JD2_RISE 0x0001 /* WSEQ_ENA_JD2_RISE */ | ||
| 1246 | #define ARIZONA_WSEQ_ENA_JD2_RISE_MASK 0x0001 /* WSEQ_ENA_JD2_RISE */ | ||
| 1247 | #define ARIZONA_WSEQ_ENA_JD2_RISE_SHIFT 0 /* WSEQ_ENA_JD2_RISE */ | ||
| 1248 | #define ARIZONA_WSEQ_ENA_JD2_RISE_WIDTH 1 /* WSEQ_ENA_JD2_RISE */ | ||
| 1249 | |||
| 1250 | /* | ||
| 1251 | * R97 (0x61) - Sample Rate Sequence Select 1 | ||
| 1252 | */ | ||
| 1253 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR_MASK 0x01FF /* WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR - [8:0] */ | ||
| 1254 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR_SHIFT 0 /* WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR - [8:0] */ | ||
| 1255 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR_WIDTH 9 /* WSEQ_SAMPLE_RATE_DETECT_A_SEQ_ADDR - [8:0] */ | ||
| 1256 | |||
| 1257 | /* | ||
| 1258 | * R98 (0x62) - Sample Rate Sequence Select 2 | ||
| 1259 | */ | ||
| 1260 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_B_SEQ_ADDR_MASK 0x01FF /* WSEQ_SAMPLE_RATE_DETECT_B_SEQ_ADDR - [8:0] */ | ||
| 1261 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_B_SEQ_ADDR_SHIFT 0 /* WSEQ_SAMPLE_RATE_DETECT_B_SEQ_ADDR - [8:0] */ | ||
| 1262 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_B_SEQ_ADDR_WIDTH 9 /* WSEQ_SAMPLE_RATE_DETECT_B_SEQ_ADDR - [8:0] */ | ||
| 1263 | |||
| 1264 | /* | ||
| 1265 | * R99 (0x63) - Sample Rate Sequence Select 3 | ||
| 1266 | */ | ||
| 1267 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_C_SEQ_ADDR_MASK 0x01FF /* WSEQ_SAMPLE_RATE_DETECT_C_SEQ_ADDR - [8:0] */ | ||
| 1268 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_C_SEQ_ADDR_SHIFT 0 /* WSEQ_SAMPLE_RATE_DETECT_C_SEQ_ADDR - [8:0] */ | ||
| 1269 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_C_SEQ_ADDR_WIDTH 9 /* WSEQ_SAMPLE_RATE_DETECT_C_SEQ_ADDR - [8:0] */ | ||
| 1270 | |||
| 1271 | /* | ||
| 1272 | * R100 (0x64) - Sample Rate Sequence Select 4 | ||
| 1273 | */ | ||
| 1274 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_D_SEQ_ADDR_MASK 0x01FF /* WSEQ_SAMPLE_RATE_DETECT_D_SEQ_ADDR - [8:0] */ | ||
| 1275 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_D_SEQ_ADDR_SHIFT 0 /* WSEQ_SAMPLE_RATE_DETECT_D_SEQ_ADDR - [8:0] */ | ||
| 1276 | #define ARIZONA_WSEQ_SAMPLE_RATE_DETECT_D_SEQ_ADDR_WIDTH 9 /* WSEQ_SAMPLE_RATE_DETECT_D_SEQ_ADDR - [8:0] */ | ||
| 1277 | |||
| 1278 | /* | ||
| 1279 | * R104 (0x68) - Always On Triggers Sequence Select 1 | ||
| 1280 | */ | ||
| 1281 | #define ARIZONA_WSEQ_GP5_RISE_SEQ_ADDR_MASK 0x01FF /* WSEQ_GP5_RISE_SEQ_ADDR - [8:0] */ | ||
| 1282 | #define ARIZONA_WSEQ_GP5_RISE_SEQ_ADDR_SHIFT 0 /* WSEQ_GP5_RISE_SEQ_ADDR - [8:0] */ | ||
| 1283 | #define ARIZONA_WSEQ_GP5_RISE_SEQ_ADDR_WIDTH 9 /* WSEQ_GP5_RISE_SEQ_ADDR - [8:0] */ | ||
| 1284 | |||
| 1285 | /* | ||
| 1286 | * R105 (0x69) - Always On Triggers Sequence Select 2 | ||
| 1287 | */ | ||
| 1288 | #define ARIZONA_WSEQ_GP5_FALL_SEQ_ADDR_MASK 0x01FF /* WSEQ_GP5_FALL_SEQ_ADDR - [8:0] */ | ||
| 1289 | #define ARIZONA_WSEQ_GP5_FALL_SEQ_ADDR_SHIFT 0 /* WSEQ_GP5_FALL_SEQ_ADDR - [8:0] */ | ||
| 1290 | #define ARIZONA_WSEQ_GP5_FALL_SEQ_ADDR_WIDTH 9 /* WSEQ_GP5_FALL_SEQ_ADDR - [8:0] */ | ||
| 1291 | |||
| 1292 | /* | ||
| 1293 | * R106 (0x6A) - Always On Triggers Sequence Select 3 | ||
| 1294 | */ | ||
| 1295 | #define ARIZONA_WSEQ_JD1_RISE_SEQ_ADDR_MASK 0x01FF /* WSEQ_JD1_RISE_SEQ_ADDR - [8:0] */ | ||
| 1296 | #define ARIZONA_WSEQ_JD1_RISE_SEQ_ADDR_SHIFT 0 /* WSEQ_JD1_RISE_SEQ_ADDR - [8:0] */ | ||
| 1297 | #define ARIZONA_WSEQ_JD1_RISE_SEQ_ADDR_WIDTH 9 /* WSEQ_JD1_RISE_SEQ_ADDR - [8:0] */ | ||
| 1298 | |||
| 1299 | /* | ||
| 1300 | * R107 (0x6B) - Always On Triggers Sequence Select 4 | ||
| 1301 | */ | ||
| 1302 | #define ARIZONA_WSEQ_JD1_FALL_SEQ_ADDR_MASK 0x01FF /* WSEQ_JD1_FALL_SEQ_ADDR - [8:0] */ | ||
| 1303 | #define ARIZONA_WSEQ_JD1_FALL_SEQ_ADDR_SHIFT 0 /* WSEQ_JD1_FALL_SEQ_ADDR - [8:0] */ | ||
| 1304 | #define ARIZONA_WSEQ_JD1_FALL_SEQ_ADDR_WIDTH 9 /* WSEQ_JD1_FALL_SEQ_ADDR - [8:0] */ | ||
| 1305 | |||
| 1306 | /* | ||
| 1307 | * R108 (0x6C) - Always On Triggers Sequence Select 5 | ||
| 1308 | */ | ||
| 1309 | #define ARIZONA_WSEQ_JD2_RISE_SEQ_ADDR_MASK 0x01FF /* WSEQ_JD2_RISE_SEQ_ADDR - [8:0] */ | ||
| 1310 | #define ARIZONA_WSEQ_JD2_RISE_SEQ_ADDR_SHIFT 0 /* WSEQ_JD2_RISE_SEQ_ADDR - [8:0] */ | ||
| 1311 | #define ARIZONA_WSEQ_JD2_RISE_SEQ_ADDR_WIDTH 9 /* WSEQ_JD2_RISE_SEQ_ADDR - [8:0] */ | ||
| 1312 | |||
| 1313 | /* | ||
| 1314 | * R109 (0x6D) - Always On Triggers Sequence Select 6 | ||
| 1315 | */ | ||
| 1316 | #define ARIZONA_WSEQ_JD2_FALL_SEQ_ADDR_MASK 0x01FF /* WSEQ_JD2_FALL_SEQ_ADDR - [8:0] */ | ||
| 1317 | #define ARIZONA_WSEQ_JD2_FALL_SEQ_ADDR_SHIFT 0 /* WSEQ_JD2_FALL_SEQ_ADDR - [8:0] */ | ||
| 1318 | #define ARIZONA_WSEQ_JD2_FALL_SEQ_ADDR_WIDTH 9 /* WSEQ_JD2_FALL_SEQ_ADDR - [8:0] */ | ||
| 1319 | |||
| 1320 | /* | ||
| 1321 | * R112 (0x70) - Comfort Noise Generator | ||
| 1322 | */ | ||
| 1323 | #define ARIZONA_NOISE_GEN_RATE_MASK 0x7800 /* NOISE_GEN_RATE - [14:11] */ | ||
| 1324 | #define ARIZONA_NOISE_GEN_RATE_SHIFT 11 /* NOISE_GEN_RATE - [14:11] */ | ||
| 1325 | #define ARIZONA_NOISE_GEN_RATE_WIDTH 4 /* NOISE_GEN_RATE - [14:11] */ | ||
| 1326 | #define ARIZONA_NOISE_GEN_ENA 0x0020 /* NOISE_GEN_ENA */ | ||
| 1327 | #define ARIZONA_NOISE_GEN_ENA_MASK 0x0020 /* NOISE_GEN_ENA */ | ||
| 1328 | #define ARIZONA_NOISE_GEN_ENA_SHIFT 5 /* NOISE_GEN_ENA */ | ||
| 1329 | #define ARIZONA_NOISE_GEN_ENA_WIDTH 1 /* NOISE_GEN_ENA */ | ||
| 1330 | #define ARIZONA_NOISE_GEN_GAIN_MASK 0x001F /* NOISE_GEN_GAIN - [4:0] */ | ||
| 1331 | #define ARIZONA_NOISE_GEN_GAIN_SHIFT 0 /* NOISE_GEN_GAIN - [4:0] */ | ||
| 1332 | #define ARIZONA_NOISE_GEN_GAIN_WIDTH 5 /* NOISE_GEN_GAIN - [4:0] */ | ||
| 1333 | |||
| 1334 | /* | ||
| 1335 | * R144 (0x90) - Haptics Control 1 | ||
| 1336 | */ | ||
| 1337 | #define ARIZONA_HAP_RATE_MASK 0x7800 /* HAP_RATE - [14:11] */ | ||
| 1338 | #define ARIZONA_HAP_RATE_SHIFT 11 /* HAP_RATE - [14:11] */ | ||
| 1339 | #define ARIZONA_HAP_RATE_WIDTH 4 /* HAP_RATE - [14:11] */ | ||
| 1340 | #define ARIZONA_ONESHOT_TRIG 0x0010 /* ONESHOT_TRIG */ | ||
| 1341 | #define ARIZONA_ONESHOT_TRIG_MASK 0x0010 /* ONESHOT_TRIG */ | ||
| 1342 | #define ARIZONA_ONESHOT_TRIG_SHIFT 4 /* ONESHOT_TRIG */ | ||
| 1343 | #define ARIZONA_ONESHOT_TRIG_WIDTH 1 /* ONESHOT_TRIG */ | ||
| 1344 | #define ARIZONA_HAP_CTRL_MASK 0x000C /* HAP_CTRL - [3:2] */ | ||
| 1345 | #define ARIZONA_HAP_CTRL_SHIFT 2 /* HAP_CTRL - [3:2] */ | ||
| 1346 | #define ARIZONA_HAP_CTRL_WIDTH 2 /* HAP_CTRL - [3:2] */ | ||
| 1347 | #define ARIZONA_HAP_ACT 0x0002 /* HAP_ACT */ | ||
| 1348 | #define ARIZONA_HAP_ACT_MASK 0x0002 /* HAP_ACT */ | ||
| 1349 | #define ARIZONA_HAP_ACT_SHIFT 1 /* HAP_ACT */ | ||
| 1350 | #define ARIZONA_HAP_ACT_WIDTH 1 /* HAP_ACT */ | ||
| 1351 | |||
| 1352 | /* | ||
| 1353 | * R145 (0x91) - Haptics Control 2 | ||
| 1354 | */ | ||
| 1355 | #define ARIZONA_LRA_FREQ_MASK 0x7FFF /* LRA_FREQ - [14:0] */ | ||
| 1356 | #define ARIZONA_LRA_FREQ_SHIFT 0 /* LRA_FREQ - [14:0] */ | ||
| 1357 | #define ARIZONA_LRA_FREQ_WIDTH 15 /* LRA_FREQ - [14:0] */ | ||
| 1358 | |||
| 1359 | /* | ||
| 1360 | * R146 (0x92) - Haptics phase 1 intensity | ||
| 1361 | */ | ||
| 1362 | #define ARIZONA_PHASE1_INTENSITY_MASK 0x00FF /* PHASE1_INTENSITY - [7:0] */ | ||
| 1363 | #define ARIZONA_PHASE1_INTENSITY_SHIFT 0 /* PHASE1_INTENSITY - [7:0] */ | ||
| 1364 | #define ARIZONA_PHASE1_INTENSITY_WIDTH 8 /* PHASE1_INTENSITY - [7:0] */ | ||
| 1365 | |||
| 1366 | /* | ||
| 1367 | * R147 (0x93) - Haptics phase 1 duration | ||
| 1368 | */ | ||
| 1369 | #define ARIZONA_PHASE1_DURATION_MASK 0x01FF /* PHASE1_DURATION - [8:0] */ | ||
| 1370 | #define ARIZONA_PHASE1_DURATION_SHIFT 0 /* PHASE1_DURATION - [8:0] */ | ||
| 1371 | #define ARIZONA_PHASE1_DURATION_WIDTH 9 /* PHASE1_DURATION - [8:0] */ | ||
| 1372 | |||
| 1373 | /* | ||
| 1374 | * R148 (0x94) - Haptics phase 2 intensity | ||
| 1375 | */ | ||
| 1376 | #define ARIZONA_PHASE2_INTENSITY_MASK 0x00FF /* PHASE2_INTENSITY - [7:0] */ | ||
| 1377 | #define ARIZONA_PHASE2_INTENSITY_SHIFT 0 /* PHASE2_INTENSITY - [7:0] */ | ||
| 1378 | #define ARIZONA_PHASE2_INTENSITY_WIDTH 8 /* PHASE2_INTENSITY - [7:0] */ | ||
| 1379 | |||
| 1380 | /* | ||
| 1381 | * R149 (0x95) - Haptics phase 2 duration | ||
| 1382 | */ | ||
| 1383 | #define ARIZONA_PHASE2_DURATION_MASK 0x07FF /* PHASE2_DURATION - [10:0] */ | ||
| 1384 | #define ARIZONA_PHASE2_DURATION_SHIFT 0 /* PHASE2_DURATION - [10:0] */ | ||
| 1385 | #define ARIZONA_PHASE2_DURATION_WIDTH 11 /* PHASE2_DURATION - [10:0] */ | ||
| 1386 | |||
| 1387 | /* | ||
| 1388 | * R150 (0x96) - Haptics phase 3 intensity | ||
| 1389 | */ | ||
| 1390 | #define ARIZONA_PHASE3_INTENSITY_MASK 0x00FF /* PHASE3_INTENSITY - [7:0] */ | ||
| 1391 | #define ARIZONA_PHASE3_INTENSITY_SHIFT 0 /* PHASE3_INTENSITY - [7:0] */ | ||
| 1392 | #define ARIZONA_PHASE3_INTENSITY_WIDTH 8 /* PHASE3_INTENSITY - [7:0] */ | ||
| 1393 | |||
| 1394 | /* | ||
| 1395 | * R151 (0x97) - Haptics phase 3 duration | ||
| 1396 | */ | ||
| 1397 | #define ARIZONA_PHASE3_DURATION_MASK 0x01FF /* PHASE3_DURATION - [8:0] */ | ||
| 1398 | #define ARIZONA_PHASE3_DURATION_SHIFT 0 /* PHASE3_DURATION - [8:0] */ | ||
| 1399 | #define ARIZONA_PHASE3_DURATION_WIDTH 9 /* PHASE3_DURATION - [8:0] */ | ||
| 1400 | |||
| 1401 | /* | ||
| 1402 | * R152 (0x98) - Haptics Status | ||
| 1403 | */ | ||
| 1404 | #define ARIZONA_ONESHOT_STS 0x0001 /* ONESHOT_STS */ | ||
| 1405 | #define ARIZONA_ONESHOT_STS_MASK 0x0001 /* ONESHOT_STS */ | ||
| 1406 | #define ARIZONA_ONESHOT_STS_SHIFT 0 /* ONESHOT_STS */ | ||
| 1407 | #define ARIZONA_ONESHOT_STS_WIDTH 1 /* ONESHOT_STS */ | ||
| 1408 | |||
| 1409 | /* | ||
| 1410 | * R256 (0x100) - Clock 32k 1 | ||
| 1411 | */ | ||
| 1412 | #define ARIZONA_CLK_32K_ENA 0x0040 /* CLK_32K_ENA */ | ||
| 1413 | #define ARIZONA_CLK_32K_ENA_MASK 0x0040 /* CLK_32K_ENA */ | ||
| 1414 | #define ARIZONA_CLK_32K_ENA_SHIFT 6 /* CLK_32K_ENA */ | ||
| 1415 | #define ARIZONA_CLK_32K_ENA_WIDTH 1 /* CLK_32K_ENA */ | ||
| 1416 | #define ARIZONA_CLK_32K_SRC_MASK 0x0003 /* CLK_32K_SRC - [1:0] */ | ||
| 1417 | #define ARIZONA_CLK_32K_SRC_SHIFT 0 /* CLK_32K_SRC - [1:0] */ | ||
| 1418 | #define ARIZONA_CLK_32K_SRC_WIDTH 2 /* CLK_32K_SRC - [1:0] */ | ||
| 1419 | |||
| 1420 | /* | ||
| 1421 | * R257 (0x101) - System Clock 1 | ||
| 1422 | */ | ||
| 1423 | #define ARIZONA_SYSCLK_FRAC 0x8000 /* SYSCLK_FRAC */ | ||
| 1424 | #define ARIZONA_SYSCLK_FRAC_MASK 0x8000 /* SYSCLK_FRAC */ | ||
| 1425 | #define ARIZONA_SYSCLK_FRAC_SHIFT 15 /* SYSCLK_FRAC */ | ||
| 1426 | #define ARIZONA_SYSCLK_FRAC_WIDTH 1 /* SYSCLK_FRAC */ | ||
| 1427 | #define ARIZONA_SYSCLK_FREQ_MASK 0x0700 /* SYSCLK_FREQ - [10:8] */ | ||
| 1428 | #define ARIZONA_SYSCLK_FREQ_SHIFT 8 /* SYSCLK_FREQ - [10:8] */ | ||
| 1429 | #define ARIZONA_SYSCLK_FREQ_WIDTH 3 /* SYSCLK_FREQ - [10:8] */ | ||
| 1430 | #define ARIZONA_SYSCLK_ENA 0x0040 /* SYSCLK_ENA */ | ||
| 1431 | #define ARIZONA_SYSCLK_ENA_MASK 0x0040 /* SYSCLK_ENA */ | ||
| 1432 | #define ARIZONA_SYSCLK_ENA_SHIFT 6 /* SYSCLK_ENA */ | ||
| 1433 | #define ARIZONA_SYSCLK_ENA_WIDTH 1 /* SYSCLK_ENA */ | ||
| 1434 | #define ARIZONA_SYSCLK_SRC_MASK 0x000F /* SYSCLK_SRC - [3:0] */ | ||
| 1435 | #define ARIZONA_SYSCLK_SRC_SHIFT 0 /* SYSCLK_SRC - [3:0] */ | ||
| 1436 | #define ARIZONA_SYSCLK_SRC_WIDTH 4 /* SYSCLK_SRC - [3:0] */ | ||
| 1437 | |||
| 1438 | /* | ||
| 1439 | * R258 (0x102) - Sample rate 1 | ||
| 1440 | */ | ||
| 1441 | #define ARIZONA_SAMPLE_RATE_1_MASK 0x001F /* SAMPLE_RATE_1 - [4:0] */ | ||
| 1442 | #define ARIZONA_SAMPLE_RATE_1_SHIFT 0 /* SAMPLE_RATE_1 - [4:0] */ | ||
| 1443 | #define ARIZONA_SAMPLE_RATE_1_WIDTH 5 /* SAMPLE_RATE_1 - [4:0] */ | ||
| 1444 | |||
| 1445 | /* | ||
| 1446 | * R259 (0x103) - Sample rate 2 | ||
| 1447 | */ | ||
| 1448 | #define ARIZONA_SAMPLE_RATE_2_MASK 0x001F /* SAMPLE_RATE_2 - [4:0] */ | ||
| 1449 | #define ARIZONA_SAMPLE_RATE_2_SHIFT 0 /* SAMPLE_RATE_2 - [4:0] */ | ||
| 1450 | #define ARIZONA_SAMPLE_RATE_2_WIDTH 5 /* SAMPLE_RATE_2 - [4:0] */ | ||
| 1451 | |||
| 1452 | /* | ||
| 1453 | * R260 (0x104) - Sample rate 3 | ||
| 1454 | */ | ||
| 1455 | #define ARIZONA_SAMPLE_RATE_3_MASK 0x001F /* SAMPLE_RATE_3 - [4:0] */ | ||
| 1456 | #define ARIZONA_SAMPLE_RATE_3_SHIFT 0 /* SAMPLE_RATE_3 - [4:0] */ | ||
| 1457 | #define ARIZONA_SAMPLE_RATE_3_WIDTH 5 /* SAMPLE_RATE_3 - [4:0] */ | ||
| 1458 | |||
| 1459 | /* | ||
| 1460 | * R266 (0x10A) - Sample rate 1 status | ||
| 1461 | */ | ||
| 1462 | #define ARIZONA_SAMPLE_RATE_1_STS_MASK 0x001F /* SAMPLE_RATE_1_STS - [4:0] */ | ||
| 1463 | #define ARIZONA_SAMPLE_RATE_1_STS_SHIFT 0 /* SAMPLE_RATE_1_STS - [4:0] */ | ||
| 1464 | #define ARIZONA_SAMPLE_RATE_1_STS_WIDTH 5 /* SAMPLE_RATE_1_STS - [4:0] */ | ||
| 1465 | |||
| 1466 | /* | ||
| 1467 | * R267 (0x10B) - Sample rate 2 status | ||
| 1468 | */ | ||
| 1469 | #define ARIZONA_SAMPLE_RATE_2_STS_MASK 0x001F /* SAMPLE_RATE_2_STS - [4:0] */ | ||
| 1470 | #define ARIZONA_SAMPLE_RATE_2_STS_SHIFT 0 /* SAMPLE_RATE_2_STS - [4:0] */ | ||
| 1471 | #define ARIZONA_SAMPLE_RATE_2_STS_WIDTH 5 /* SAMPLE_RATE_2_STS - [4:0] */ | ||
| 1472 | |||
| 1473 | /* | ||
| 1474 | * R268 (0x10C) - Sample rate 3 status | ||
| 1475 | */ | ||
| 1476 | #define ARIZONA_SAMPLE_RATE_3_STS_MASK 0x001F /* SAMPLE_RATE_3_STS - [4:0] */ | ||
| 1477 | #define ARIZONA_SAMPLE_RATE_3_STS_SHIFT 0 /* SAMPLE_RATE_3_STS - [4:0] */ | ||
| 1478 | #define ARIZONA_SAMPLE_RATE_3_STS_WIDTH 5 /* SAMPLE_RATE_3_STS - [4:0] */ | ||
| 1479 | |||
| 1480 | /* | ||
| 1481 | * R274 (0x112) - Async clock 1 | ||
| 1482 | */ | ||
| 1483 | #define ARIZONA_ASYNC_CLK_FREQ_MASK 0x0700 /* ASYNC_CLK_FREQ - [10:8] */ | ||
| 1484 | #define ARIZONA_ASYNC_CLK_FREQ_SHIFT 8 /* ASYNC_CLK_FREQ - [10:8] */ | ||
| 1485 | #define ARIZONA_ASYNC_CLK_FREQ_WIDTH 3 /* ASYNC_CLK_FREQ - [10:8] */ | ||
| 1486 | #define ARIZONA_ASYNC_CLK_ENA 0x0040 /* ASYNC_CLK_ENA */ | ||
| 1487 | #define ARIZONA_ASYNC_CLK_ENA_MASK 0x0040 /* ASYNC_CLK_ENA */ | ||
| 1488 | #define ARIZONA_ASYNC_CLK_ENA_SHIFT 6 /* ASYNC_CLK_ENA */ | ||
| 1489 | #define ARIZONA_ASYNC_CLK_ENA_WIDTH 1 /* ASYNC_CLK_ENA */ | ||
| 1490 | #define ARIZONA_ASYNC_CLK_SRC_MASK 0x000F /* ASYNC_CLK_SRC - [3:0] */ | ||
| 1491 | #define ARIZONA_ASYNC_CLK_SRC_SHIFT 0 /* ASYNC_CLK_SRC - [3:0] */ | ||
| 1492 | #define ARIZONA_ASYNC_CLK_SRC_WIDTH 4 /* ASYNC_CLK_SRC - [3:0] */ | ||
| 1493 | |||
| 1494 | /* | ||
| 1495 | * R275 (0x113) - Async sample rate 1 | ||
| 1496 | */ | ||
| 1497 | #define ARIZONA_ASYNC_SAMPLE_RATE_MASK 0x001F /* ASYNC_SAMPLE_RATE - [4:0] */ | ||
| 1498 | #define ARIZONA_ASYNC_SAMPLE_RATE_SHIFT 0 /* ASYNC_SAMPLE_RATE - [4:0] */ | ||
| 1499 | #define ARIZONA_ASYNC_SAMPLE_RATE_WIDTH 5 /* ASYNC_SAMPLE_RATE - [4:0] */ | ||
| 1500 | |||
| 1501 | /* | ||
| 1502 | * R283 (0x11B) - Async sample rate 1 status | ||
| 1503 | */ | ||
| 1504 | #define ARIZONA_ASYNC_SAMPLE_RATE_STS_MASK 0x001F /* ASYNC_SAMPLE_RATE_STS - [4:0] */ | ||
| 1505 | #define ARIZONA_ASYNC_SAMPLE_RATE_STS_SHIFT 0 /* ASYNC_SAMPLE_RATE_STS - [4:0] */ | ||
| 1506 | #define ARIZONA_ASYNC_SAMPLE_RATE_STS_WIDTH 5 /* ASYNC_SAMPLE_RATE_STS - [4:0] */ | ||
| 1507 | |||
| 1508 | /* | ||
| 1509 | * R329 (0x149) - Output system clock | ||
| 1510 | */ | ||
| 1511 | #define ARIZONA_OPCLK_ENA 0x8000 /* OPCLK_ENA */ | ||
| 1512 | #define ARIZONA_OPCLK_ENA_MASK 0x8000 /* OPCLK_ENA */ | ||
| 1513 | #define ARIZONA_OPCLK_ENA_SHIFT 15 /* OPCLK_ENA */ | ||
| 1514 | #define ARIZONA_OPCLK_ENA_WIDTH 1 /* OPCLK_ENA */ | ||
| 1515 | #define ARIZONA_OPCLK_DIV_MASK 0x00F8 /* OPCLK_DIV - [7:3] */ | ||
| 1516 | #define ARIZONA_OPCLK_DIV_SHIFT 3 /* OPCLK_DIV - [7:3] */ | ||
| 1517 | #define ARIZONA_OPCLK_DIV_WIDTH 5 /* OPCLK_DIV - [7:3] */ | ||
| 1518 | #define ARIZONA_OPCLK_SEL_MASK 0x0007 /* OPCLK_SEL - [2:0] */ | ||
| 1519 | #define ARIZONA_OPCLK_SEL_SHIFT 0 /* OPCLK_SEL - [2:0] */ | ||
| 1520 | #define ARIZONA_OPCLK_SEL_WIDTH 3 /* OPCLK_SEL - [2:0] */ | ||
| 1521 | |||
| 1522 | /* | ||
| 1523 | * R330 (0x14A) - Output async clock | ||
| 1524 | */ | ||
| 1525 | #define ARIZONA_OPCLK_ASYNC_ENA 0x8000 /* OPCLK_ASYNC_ENA */ | ||
| 1526 | #define ARIZONA_OPCLK_ASYNC_ENA_MASK 0x8000 /* OPCLK_ASYNC_ENA */ | ||
| 1527 | #define ARIZONA_OPCLK_ASYNC_ENA_SHIFT 15 /* OPCLK_ASYNC_ENA */ | ||
| 1528 | #define ARIZONA_OPCLK_ASYNC_ENA_WIDTH 1 /* OPCLK_ASYNC_ENA */ | ||
| 1529 | #define ARIZONA_OPCLK_ASYNC_DIV_MASK 0x00F8 /* OPCLK_ASYNC_DIV - [7:3] */ | ||
| 1530 | #define ARIZONA_OPCLK_ASYNC_DIV_SHIFT 3 /* OPCLK_ASYNC_DIV - [7:3] */ | ||
| 1531 | #define ARIZONA_OPCLK_ASYNC_DIV_WIDTH 5 /* OPCLK_ASYNC_DIV - [7:3] */ | ||
| 1532 | #define ARIZONA_OPCLK_ASYNC_SEL_MASK 0x0007 /* OPCLK_ASYNC_SEL - [2:0] */ | ||
| 1533 | #define ARIZONA_OPCLK_ASYNC_SEL_SHIFT 0 /* OPCLK_ASYNC_SEL - [2:0] */ | ||
| 1534 | #define ARIZONA_OPCLK_ASYNC_SEL_WIDTH 3 /* OPCLK_ASYNC_SEL - [2:0] */ | ||
| 1535 | |||
| 1536 | /* | ||
| 1537 | * R338 (0x152) - Rate Estimator 1 | ||
| 1538 | */ | ||
| 1539 | #define ARIZONA_TRIG_ON_STARTUP 0x0010 /* TRIG_ON_STARTUP */ | ||
| 1540 | #define ARIZONA_TRIG_ON_STARTUP_MASK 0x0010 /* TRIG_ON_STARTUP */ | ||
| 1541 | #define ARIZONA_TRIG_ON_STARTUP_SHIFT 4 /* TRIG_ON_STARTUP */ | ||
| 1542 | #define ARIZONA_TRIG_ON_STARTUP_WIDTH 1 /* TRIG_ON_STARTUP */ | ||
| 1543 | #define ARIZONA_LRCLK_SRC_MASK 0x000E /* LRCLK_SRC - [3:1] */ | ||
| 1544 | #define ARIZONA_LRCLK_SRC_SHIFT 1 /* LRCLK_SRC - [3:1] */ | ||
| 1545 | #define ARIZONA_LRCLK_SRC_WIDTH 3 /* LRCLK_SRC - [3:1] */ | ||
| 1546 | #define ARIZONA_RATE_EST_ENA 0x0001 /* RATE_EST_ENA */ | ||
| 1547 | #define ARIZONA_RATE_EST_ENA_MASK 0x0001 /* RATE_EST_ENA */ | ||
| 1548 | #define ARIZONA_RATE_EST_ENA_SHIFT 0 /* RATE_EST_ENA */ | ||
| 1549 | #define ARIZONA_RATE_EST_ENA_WIDTH 1 /* RATE_EST_ENA */ | ||
| 1550 | |||
| 1551 | /* | ||
| 1552 | * R339 (0x153) - Rate Estimator 2 | ||
| 1553 | */ | ||
| 1554 | #define ARIZONA_SAMPLE_RATE_DETECT_A_MASK 0x001F /* SAMPLE_RATE_DETECT_A - [4:0] */ | ||
| 1555 | #define ARIZONA_SAMPLE_RATE_DETECT_A_SHIFT 0 /* SAMPLE_RATE_DETECT_A - [4:0] */ | ||
| 1556 | #define ARIZONA_SAMPLE_RATE_DETECT_A_WIDTH 5 /* SAMPLE_RATE_DETECT_A - [4:0] */ | ||
| 1557 | |||
| 1558 | /* | ||
| 1559 | * R340 (0x154) - Rate Estimator 3 | ||
| 1560 | */ | ||
| 1561 | #define ARIZONA_SAMPLE_RATE_DETECT_B_MASK 0x001F /* SAMPLE_RATE_DETECT_B - [4:0] */ | ||
| 1562 | #define ARIZONA_SAMPLE_RATE_DETECT_B_SHIFT 0 /* SAMPLE_RATE_DETECT_B - [4:0] */ | ||
| 1563 | #define ARIZONA_SAMPLE_RATE_DETECT_B_WIDTH 5 /* SAMPLE_RATE_DETECT_B - [4:0] */ | ||
| 1564 | |||
| 1565 | /* | ||
| 1566 | * R341 (0x155) - Rate Estimator 4 | ||
| 1567 | */ | ||
| 1568 | #define ARIZONA_SAMPLE_RATE_DETECT_C_MASK 0x001F /* SAMPLE_RATE_DETECT_C - [4:0] */ | ||
| 1569 | #define ARIZONA_SAMPLE_RATE_DETECT_C_SHIFT 0 /* SAMPLE_RATE_DETECT_C - [4:0] */ | ||
| 1570 | #define ARIZONA_SAMPLE_RATE_DETECT_C_WIDTH 5 /* SAMPLE_RATE_DETECT_C - [4:0] */ | ||
| 1571 | |||
| 1572 | /* | ||
| 1573 | * R342 (0x156) - Rate Estimator 5 | ||
| 1574 | */ | ||
| 1575 | #define ARIZONA_SAMPLE_RATE_DETECT_D_MASK 0x001F /* SAMPLE_RATE_DETECT_D - [4:0] */ | ||
| 1576 | #define ARIZONA_SAMPLE_RATE_DETECT_D_SHIFT 0 /* SAMPLE_RATE_DETECT_D - [4:0] */ | ||
| 1577 | #define ARIZONA_SAMPLE_RATE_DETECT_D_WIDTH 5 /* SAMPLE_RATE_DETECT_D - [4:0] */ | ||
| 1578 | |||
| 1579 | /* | ||
| 1580 | * R353 (0x161) - Dynamic Frequency Scaling 1 | ||
| 1581 | */ | ||
| 1582 | #define ARIZONA_SUBSYS_MAX_FREQ 0x0001 /* SUBSYS_MAX_FREQ */ | ||
| 1583 | #define ARIZONA_SUBSYS_MAX_FREQ_SHIFT 0 /* SUBSYS_MAX_FREQ */ | ||
| 1584 | #define ARIZONA_SUBSYS_MAX_FREQ_WIDTH 1 /* SUBSYS_MAX_FREQ */ | ||
| 1585 | |||
| 1586 | /* | ||
| 1587 | * R369 (0x171) - FLL1 Control 1 | ||
| 1588 | */ | ||
| 1589 | #define ARIZONA_FLL1_FREERUN 0x0002 /* FLL1_FREERUN */ | ||
| 1590 | #define ARIZONA_FLL1_FREERUN_MASK 0x0002 /* FLL1_FREERUN */ | ||
| 1591 | #define ARIZONA_FLL1_FREERUN_SHIFT 1 /* FLL1_FREERUN */ | ||
| 1592 | #define ARIZONA_FLL1_FREERUN_WIDTH 1 /* FLL1_FREERUN */ | ||
| 1593 | #define ARIZONA_FLL1_ENA 0x0001 /* FLL1_ENA */ | ||
| 1594 | #define ARIZONA_FLL1_ENA_MASK 0x0001 /* FLL1_ENA */ | ||
| 1595 | #define ARIZONA_FLL1_ENA_SHIFT 0 /* FLL1_ENA */ | ||
| 1596 | #define ARIZONA_FLL1_ENA_WIDTH 1 /* FLL1_ENA */ | ||
| 1597 | |||
| 1598 | /* | ||
| 1599 | * R370 (0x172) - FLL1 Control 2 | ||
| 1600 | */ | ||
| 1601 | #define ARIZONA_FLL1_CTRL_UPD 0x8000 /* FLL1_CTRL_UPD */ | ||
| 1602 | #define ARIZONA_FLL1_CTRL_UPD_MASK 0x8000 /* FLL1_CTRL_UPD */ | ||
| 1603 | #define ARIZONA_FLL1_CTRL_UPD_SHIFT 15 /* FLL1_CTRL_UPD */ | ||
| 1604 | #define ARIZONA_FLL1_CTRL_UPD_WIDTH 1 /* FLL1_CTRL_UPD */ | ||
| 1605 | #define ARIZONA_FLL1_N_MASK 0x03FF /* FLL1_N - [9:0] */ | ||
| 1606 | #define ARIZONA_FLL1_N_SHIFT 0 /* FLL1_N - [9:0] */ | ||
| 1607 | #define ARIZONA_FLL1_N_WIDTH 10 /* FLL1_N - [9:0] */ | ||
| 1608 | |||
| 1609 | /* | ||
| 1610 | * R371 (0x173) - FLL1 Control 3 | ||
| 1611 | */ | ||
| 1612 | #define ARIZONA_FLL1_THETA_MASK 0xFFFF /* FLL1_THETA - [15:0] */ | ||
| 1613 | #define ARIZONA_FLL1_THETA_SHIFT 0 /* FLL1_THETA - [15:0] */ | ||
| 1614 | #define ARIZONA_FLL1_THETA_WIDTH 16 /* FLL1_THETA - [15:0] */ | ||
| 1615 | |||
| 1616 | /* | ||
| 1617 | * R372 (0x174) - FLL1 Control 4 | ||
| 1618 | */ | ||
| 1619 | #define ARIZONA_FLL1_LAMBDA_MASK 0xFFFF /* FLL1_LAMBDA - [15:0] */ | ||
| 1620 | #define ARIZONA_FLL1_LAMBDA_SHIFT 0 /* FLL1_LAMBDA - [15:0] */ | ||
| 1621 | #define ARIZONA_FLL1_LAMBDA_WIDTH 16 /* FLL1_LAMBDA - [15:0] */ | ||
| 1622 | |||
| 1623 | /* | ||
| 1624 | * R373 (0x175) - FLL1 Control 5 | ||
| 1625 | */ | ||
| 1626 | #define ARIZONA_FLL1_FRATIO_MASK 0x0700 /* FLL1_FRATIO - [10:8] */ | ||
| 1627 | #define ARIZONA_FLL1_FRATIO_SHIFT 8 /* FLL1_FRATIO - [10:8] */ | ||
| 1628 | #define ARIZONA_FLL1_FRATIO_WIDTH 3 /* FLL1_FRATIO - [10:8] */ | ||
| 1629 | #define ARIZONA_FLL1_OUTDIV_MASK 0x000E /* FLL1_OUTDIV - [3:1] */ | ||
| 1630 | #define ARIZONA_FLL1_OUTDIV_SHIFT 1 /* FLL1_OUTDIV - [3:1] */ | ||
| 1631 | #define ARIZONA_FLL1_OUTDIV_WIDTH 3 /* FLL1_OUTDIV - [3:1] */ | ||
| 1632 | |||
| 1633 | /* | ||
| 1634 | * R374 (0x176) - FLL1 Control 6 | ||
| 1635 | */ | ||
| 1636 | #define ARIZONA_FLL1_CLK_REF_DIV_MASK 0x00C0 /* FLL1_CLK_REF_DIV - [7:6] */ | ||
| 1637 | #define ARIZONA_FLL1_CLK_REF_DIV_SHIFT 6 /* FLL1_CLK_REF_DIV - [7:6] */ | ||
| 1638 | #define ARIZONA_FLL1_CLK_REF_DIV_WIDTH 2 /* FLL1_CLK_REF_DIV - [7:6] */ | ||
| 1639 | #define ARIZONA_FLL1_CLK_REF_SRC_MASK 0x000F /* FLL1_CLK_REF_SRC - [3:0] */ | ||
| 1640 | #define ARIZONA_FLL1_CLK_REF_SRC_SHIFT 0 /* FLL1_CLK_REF_SRC - [3:0] */ | ||
| 1641 | #define ARIZONA_FLL1_CLK_REF_SRC_WIDTH 4 /* FLL1_CLK_REF_SRC - [3:0] */ | ||
| 1642 | |||
| 1643 | /* | ||
| 1644 | * R375 (0x177) - FLL1 Loop Filter Test 1 | ||
| 1645 | */ | ||
| 1646 | #define ARIZONA_FLL1_FRC_INTEG_UPD 0x8000 /* FLL1_FRC_INTEG_UPD */ | ||
| 1647 | #define ARIZONA_FLL1_FRC_INTEG_UPD_MASK 0x8000 /* FLL1_FRC_INTEG_UPD */ | ||
| 1648 | #define ARIZONA_FLL1_FRC_INTEG_UPD_SHIFT 15 /* FLL1_FRC_INTEG_UPD */ | ||
| 1649 | #define ARIZONA_FLL1_FRC_INTEG_UPD_WIDTH 1 /* FLL1_FRC_INTEG_UPD */ | ||
| 1650 | #define ARIZONA_FLL1_FRC_INTEG_VAL_MASK 0x0FFF /* FLL1_FRC_INTEG_VAL - [11:0] */ | ||
| 1651 | #define ARIZONA_FLL1_FRC_INTEG_VAL_SHIFT 0 /* FLL1_FRC_INTEG_VAL - [11:0] */ | ||
| 1652 | #define ARIZONA_FLL1_FRC_INTEG_VAL_WIDTH 12 /* FLL1_FRC_INTEG_VAL - [11:0] */ | ||
| 1653 | |||
| 1654 | /* | ||
| 1655 | * R385 (0x181) - FLL1 Synchroniser 1 | ||
| 1656 | */ | ||
| 1657 | #define ARIZONA_FLL1_SYNC_ENA 0x0001 /* FLL1_SYNC_ENA */ | ||
| 1658 | #define ARIZONA_FLL1_SYNC_ENA_MASK 0x0001 /* FLL1_SYNC_ENA */ | ||
| 1659 | #define ARIZONA_FLL1_SYNC_ENA_SHIFT 0 /* FLL1_SYNC_ENA */ | ||
| 1660 | #define ARIZONA_FLL1_SYNC_ENA_WIDTH 1 /* FLL1_SYNC_ENA */ | ||
| 1661 | |||
| 1662 | /* | ||
| 1663 | * R386 (0x182) - FLL1 Synchroniser 2 | ||
| 1664 | */ | ||
| 1665 | #define ARIZONA_FLL1_SYNC_N_MASK 0x03FF /* FLL1_SYNC_N - [9:0] */ | ||
| 1666 | #define ARIZONA_FLL1_SYNC_N_SHIFT 0 /* FLL1_SYNC_N - [9:0] */ | ||
| 1667 | #define ARIZONA_FLL1_SYNC_N_WIDTH 10 /* FLL1_SYNC_N - [9:0] */ | ||
| 1668 | |||
| 1669 | /* | ||
| 1670 | * R387 (0x183) - FLL1 Synchroniser 3 | ||
| 1671 | */ | ||
| 1672 | #define ARIZONA_FLL1_SYNC_THETA_MASK 0xFFFF /* FLL1_SYNC_THETA - [15:0] */ | ||
| 1673 | #define ARIZONA_FLL1_SYNC_THETA_SHIFT 0 /* FLL1_SYNC_THETA - [15:0] */ | ||
| 1674 | #define ARIZONA_FLL1_SYNC_THETA_WIDTH 16 /* FLL1_SYNC_THETA - [15:0] */ | ||
| 1675 | |||
| 1676 | /* | ||
| 1677 | * R388 (0x184) - FLL1 Synchroniser 4 | ||
| 1678 | */ | ||
| 1679 | #define ARIZONA_FLL1_SYNC_LAMBDA_MASK 0xFFFF /* FLL1_SYNC_LAMBDA - [15:0] */ | ||
| 1680 | #define ARIZONA_FLL1_SYNC_LAMBDA_SHIFT 0 /* FLL1_SYNC_LAMBDA - [15:0] */ | ||
| 1681 | #define ARIZONA_FLL1_SYNC_LAMBDA_WIDTH 16 /* FLL1_SYNC_LAMBDA - [15:0] */ | ||
| 1682 | |||
| 1683 | /* | ||
| 1684 | * R389 (0x185) - FLL1 Synchroniser 5 | ||
| 1685 | */ | ||
| 1686 | #define ARIZONA_FLL1_SYNC_FRATIO_MASK 0x0700 /* FLL1_SYNC_FRATIO - [10:8] */ | ||
| 1687 | #define ARIZONA_FLL1_SYNC_FRATIO_SHIFT 8 /* FLL1_SYNC_FRATIO - [10:8] */ | ||
| 1688 | #define ARIZONA_FLL1_SYNC_FRATIO_WIDTH 3 /* FLL1_SYNC_FRATIO - [10:8] */ | ||
| 1689 | |||
| 1690 | /* | ||
| 1691 | * R390 (0x186) - FLL1 Synchroniser 6 | ||
| 1692 | */ | ||
| 1693 | #define ARIZONA_FLL1_CLK_SYNC_DIV_MASK 0x00C0 /* FLL1_CLK_SYNC_DIV - [7:6] */ | ||
| 1694 | #define ARIZONA_FLL1_CLK_SYNC_DIV_SHIFT 6 /* FLL1_CLK_SYNC_DIV - [7:6] */ | ||
| 1695 | #define ARIZONA_FLL1_CLK_SYNC_DIV_WIDTH 2 /* FLL1_CLK_SYNC_DIV - [7:6] */ | ||
| 1696 | #define ARIZONA_FLL1_CLK_SYNC_SRC_MASK 0x000F /* FLL1_CLK_SYNC_SRC - [3:0] */ | ||
| 1697 | #define ARIZONA_FLL1_CLK_SYNC_SRC_SHIFT 0 /* FLL1_CLK_SYNC_SRC - [3:0] */ | ||
| 1698 | #define ARIZONA_FLL1_CLK_SYNC_SRC_WIDTH 4 /* FLL1_CLK_SYNC_SRC - [3:0] */ | ||
| 1699 | |||
| 1700 | /* | ||
| 1701 | * R393 (0x189) - FLL1 Spread Spectrum | ||
| 1702 | */ | ||
| 1703 | #define ARIZONA_FLL1_SS_AMPL_MASK 0x0030 /* FLL1_SS_AMPL - [5:4] */ | ||
| 1704 | #define ARIZONA_FLL1_SS_AMPL_SHIFT 4 /* FLL1_SS_AMPL - [5:4] */ | ||
| 1705 | #define ARIZONA_FLL1_SS_AMPL_WIDTH 2 /* FLL1_SS_AMPL - [5:4] */ | ||
| 1706 | #define ARIZONA_FLL1_SS_FREQ_MASK 0x000C /* FLL1_SS_FREQ - [3:2] */ | ||
| 1707 | #define ARIZONA_FLL1_SS_FREQ_SHIFT 2 /* FLL1_SS_FREQ - [3:2] */ | ||
| 1708 | #define ARIZONA_FLL1_SS_FREQ_WIDTH 2 /* FLL1_SS_FREQ - [3:2] */ | ||
| 1709 | #define ARIZONA_FLL1_SS_SEL_MASK 0x0003 /* FLL1_SS_SEL - [1:0] */ | ||
| 1710 | #define ARIZONA_FLL1_SS_SEL_SHIFT 0 /* FLL1_SS_SEL - [1:0] */ | ||
| 1711 | #define ARIZONA_FLL1_SS_SEL_WIDTH 2 /* FLL1_SS_SEL - [1:0] */ | ||
| 1712 | |||
| 1713 | /* | ||
| 1714 | * R394 (0x18A) - FLL1 GPIO Clock | ||
| 1715 | */ | ||
| 1716 | #define ARIZONA_FLL1_GPDIV_MASK 0x00FE /* FLL1_GPDIV - [7:1] */ | ||
| 1717 | #define ARIZONA_FLL1_GPDIV_SHIFT 1 /* FLL1_GPDIV - [7:1] */ | ||
| 1718 | #define ARIZONA_FLL1_GPDIV_WIDTH 7 /* FLL1_GPDIV - [7:1] */ | ||
| 1719 | #define ARIZONA_FLL1_GPDIV_ENA 0x0001 /* FLL1_GPDIV_ENA */ | ||
| 1720 | #define ARIZONA_FLL1_GPDIV_ENA_MASK 0x0001 /* FLL1_GPDIV_ENA */ | ||
| 1721 | #define ARIZONA_FLL1_GPDIV_ENA_SHIFT 0 /* FLL1_GPDIV_ENA */ | ||
| 1722 | #define ARIZONA_FLL1_GPDIV_ENA_WIDTH 1 /* FLL1_GPDIV_ENA */ | ||
| 1723 | |||
| 1724 | /* | ||
| 1725 | * R401 (0x191) - FLL2 Control 1 | ||
| 1726 | */ | ||
| 1727 | #define ARIZONA_FLL2_FREERUN 0x0002 /* FLL2_FREERUN */ | ||
| 1728 | #define ARIZONA_FLL2_FREERUN_MASK 0x0002 /* FLL2_FREERUN */ | ||
| 1729 | #define ARIZONA_FLL2_FREERUN_SHIFT 1 /* FLL2_FREERUN */ | ||
| 1730 | #define ARIZONA_FLL2_FREERUN_WIDTH 1 /* FLL2_FREERUN */ | ||
| 1731 | #define ARIZONA_FLL2_ENA 0x0001 /* FLL2_ENA */ | ||
| 1732 | #define ARIZONA_FLL2_ENA_MASK 0x0001 /* FLL2_ENA */ | ||
| 1733 | #define ARIZONA_FLL2_ENA_SHIFT 0 /* FLL2_ENA */ | ||
| 1734 | #define ARIZONA_FLL2_ENA_WIDTH 1 /* FLL2_ENA */ | ||
| 1735 | |||
| 1736 | /* | ||
| 1737 | * R402 (0x192) - FLL2 Control 2 | ||
| 1738 | */ | ||
| 1739 | #define ARIZONA_FLL2_CTRL_UPD 0x8000 /* FLL2_CTRL_UPD */ | ||
| 1740 | #define ARIZONA_FLL2_CTRL_UPD_MASK 0x8000 /* FLL2_CTRL_UPD */ | ||
| 1741 | #define ARIZONA_FLL2_CTRL_UPD_SHIFT 15 /* FLL2_CTRL_UPD */ | ||
| 1742 | #define ARIZONA_FLL2_CTRL_UPD_WIDTH 1 /* FLL2_CTRL_UPD */ | ||
| 1743 | #define ARIZONA_FLL2_N_MASK 0x03FF /* FLL2_N - [9:0] */ | ||
| 1744 | #define ARIZONA_FLL2_N_SHIFT 0 /* FLL2_N - [9:0] */ | ||
| 1745 | #define ARIZONA_FLL2_N_WIDTH 10 /* FLL2_N - [9:0] */ | ||
| 1746 | |||
| 1747 | /* | ||
| 1748 | * R403 (0x193) - FLL2 Control 3 | ||
| 1749 | */ | ||
| 1750 | #define ARIZONA_FLL2_THETA_MASK 0xFFFF /* FLL2_THETA - [15:0] */ | ||
| 1751 | #define ARIZONA_FLL2_THETA_SHIFT 0 /* FLL2_THETA - [15:0] */ | ||
| 1752 | #define ARIZONA_FLL2_THETA_WIDTH 16 /* FLL2_THETA - [15:0] */ | ||
| 1753 | |||
| 1754 | /* | ||
| 1755 | * R404 (0x194) - FLL2 Control 4 | ||
| 1756 | */ | ||
| 1757 | #define ARIZONA_FLL2_LAMBDA_MASK 0xFFFF /* FLL2_LAMBDA - [15:0] */ | ||
| 1758 | #define ARIZONA_FLL2_LAMBDA_SHIFT 0 /* FLL2_LAMBDA - [15:0] */ | ||
| 1759 | #define ARIZONA_FLL2_LAMBDA_WIDTH 16 /* FLL2_LAMBDA - [15:0] */ | ||
| 1760 | |||
| 1761 | /* | ||
| 1762 | * R405 (0x195) - FLL2 Control 5 | ||
| 1763 | */ | ||
| 1764 | #define ARIZONA_FLL2_FRATIO_MASK 0x0700 /* FLL2_FRATIO - [10:8] */ | ||
| 1765 | #define ARIZONA_FLL2_FRATIO_SHIFT 8 /* FLL2_FRATIO - [10:8] */ | ||
| 1766 | #define ARIZONA_FLL2_FRATIO_WIDTH 3 /* FLL2_FRATIO - [10:8] */ | ||
| 1767 | #define ARIZONA_FLL2_OUTDIV_MASK 0x000E /* FLL2_OUTDIV - [3:1] */ | ||
| 1768 | #define ARIZONA_FLL2_OUTDIV_SHIFT 1 /* FLL2_OUTDIV - [3:1] */ | ||
| 1769 | #define ARIZONA_FLL2_OUTDIV_WIDTH 3 /* FLL2_OUTDIV - [3:1] */ | ||
| 1770 | |||
| 1771 | /* | ||
| 1772 | * R406 (0x196) - FLL2 Control 6 | ||
| 1773 | */ | ||
| 1774 | #define ARIZONA_FLL2_CLK_REF_DIV_MASK 0x00C0 /* FLL2_CLK_REF_DIV - [7:6] */ | ||
| 1775 | #define ARIZONA_FLL2_CLK_REF_DIV_SHIFT 6 /* FLL2_CLK_REF_DIV - [7:6] */ | ||
| 1776 | #define ARIZONA_FLL2_CLK_REF_DIV_WIDTH 2 /* FLL2_CLK_REF_DIV - [7:6] */ | ||
| 1777 | #define ARIZONA_FLL2_CLK_REF_SRC_MASK 0x000F /* FLL2_CLK_REF_SRC - [3:0] */ | ||
| 1778 | #define ARIZONA_FLL2_CLK_REF_SRC_SHIFT 0 /* FLL2_CLK_REF_SRC - [3:0] */ | ||
| 1779 | #define ARIZONA_FLL2_CLK_REF_SRC_WIDTH 4 /* FLL2_CLK_REF_SRC - [3:0] */ | ||
| 1780 | |||
| 1781 | /* | ||
| 1782 | * R407 (0x197) - FLL2 Loop Filter Test 1 | ||
| 1783 | */ | ||
| 1784 | #define ARIZONA_FLL2_FRC_INTEG_UPD 0x8000 /* FLL2_FRC_INTEG_UPD */ | ||
| 1785 | #define ARIZONA_FLL2_FRC_INTEG_UPD_MASK 0x8000 /* FLL2_FRC_INTEG_UPD */ | ||
| 1786 | #define ARIZONA_FLL2_FRC_INTEG_UPD_SHIFT 15 /* FLL2_FRC_INTEG_UPD */ | ||
| 1787 | #define ARIZONA_FLL2_FRC_INTEG_UPD_WIDTH 1 /* FLL2_FRC_INTEG_UPD */ | ||
| 1788 | #define ARIZONA_FLL2_FRC_INTEG_VAL_MASK 0x0FFF /* FLL2_FRC_INTEG_VAL - [11:0] */ | ||
| 1789 | #define ARIZONA_FLL2_FRC_INTEG_VAL_SHIFT 0 /* FLL2_FRC_INTEG_VAL - [11:0] */ | ||
| 1790 | #define ARIZONA_FLL2_FRC_INTEG_VAL_WIDTH 12 /* FLL2_FRC_INTEG_VAL - [11:0] */ | ||
| 1791 | |||
| 1792 | /* | ||
| 1793 | * R417 (0x1A1) - FLL2 Synchroniser 1 | ||
| 1794 | */ | ||
| 1795 | #define ARIZONA_FLL2_SYNC_ENA 0x0001 /* FLL2_SYNC_ENA */ | ||
| 1796 | #define ARIZONA_FLL2_SYNC_ENA_MASK 0x0001 /* FLL2_SYNC_ENA */ | ||
| 1797 | #define ARIZONA_FLL2_SYNC_ENA_SHIFT 0 /* FLL2_SYNC_ENA */ | ||
| 1798 | #define ARIZONA_FLL2_SYNC_ENA_WIDTH 1 /* FLL2_SYNC_ENA */ | ||
| 1799 | |||
| 1800 | /* | ||
| 1801 | * R418 (0x1A2) - FLL2 Synchroniser 2 | ||
| 1802 | */ | ||
| 1803 | #define ARIZONA_FLL2_SYNC_N_MASK 0x03FF /* FLL2_SYNC_N - [9:0] */ | ||
| 1804 | #define ARIZONA_FLL2_SYNC_N_SHIFT 0 /* FLL2_SYNC_N - [9:0] */ | ||
| 1805 | #define ARIZONA_FLL2_SYNC_N_WIDTH 10 /* FLL2_SYNC_N - [9:0] */ | ||
| 1806 | |||
| 1807 | /* | ||
| 1808 | * R419 (0x1A3) - FLL2 Synchroniser 3 | ||
| 1809 | */ | ||
| 1810 | #define ARIZONA_FLL2_SYNC_THETA_MASK 0xFFFF /* FLL2_SYNC_THETA - [15:0] */ | ||
| 1811 | #define ARIZONA_FLL2_SYNC_THETA_SHIFT 0 /* FLL2_SYNC_THETA - [15:0] */ | ||
| 1812 | #define ARIZONA_FLL2_SYNC_THETA_WIDTH 16 /* FLL2_SYNC_THETA - [15:0] */ | ||
| 1813 | |||
| 1814 | /* | ||
| 1815 | * R420 (0x1A4) - FLL2 Synchroniser 4 | ||
| 1816 | */ | ||
| 1817 | #define ARIZONA_FLL2_SYNC_LAMBDA_MASK 0xFFFF /* FLL2_SYNC_LAMBDA - [15:0] */ | ||
| 1818 | #define ARIZONA_FLL2_SYNC_LAMBDA_SHIFT 0 /* FLL2_SYNC_LAMBDA - [15:0] */ | ||
| 1819 | #define ARIZONA_FLL2_SYNC_LAMBDA_WIDTH 16 /* FLL2_SYNC_LAMBDA - [15:0] */ | ||
| 1820 | |||
| 1821 | /* | ||
| 1822 | * R421 (0x1A5) - FLL2 Synchroniser 5 | ||
| 1823 | */ | ||
| 1824 | #define ARIZONA_FLL2_SYNC_FRATIO_MASK 0x0700 /* FLL2_SYNC_FRATIO - [10:8] */ | ||
| 1825 | #define ARIZONA_FLL2_SYNC_FRATIO_SHIFT 8 /* FLL2_SYNC_FRATIO - [10:8] */ | ||
| 1826 | #define ARIZONA_FLL2_SYNC_FRATIO_WIDTH 3 /* FLL2_SYNC_FRATIO - [10:8] */ | ||
| 1827 | |||
| 1828 | /* | ||
| 1829 | * R422 (0x1A6) - FLL2 Synchroniser 6 | ||
| 1830 | */ | ||
| 1831 | #define ARIZONA_FLL2_CLK_SYNC_DIV_MASK 0x00C0 /* FLL2_CLK_SYNC_DIV - [7:6] */ | ||
| 1832 | #define ARIZONA_FLL2_CLK_SYNC_DIV_SHIFT 6 /* FLL2_CLK_SYNC_DIV - [7:6] */ | ||
| 1833 | #define ARIZONA_FLL2_CLK_SYNC_DIV_WIDTH 2 /* FLL2_CLK_SYNC_DIV - [7:6] */ | ||
| 1834 | #define ARIZONA_FLL2_CLK_SYNC_SRC_MASK 0x000F /* FLL2_CLK_SYNC_SRC - [3:0] */ | ||
| 1835 | #define ARIZONA_FLL2_CLK_SYNC_SRC_SHIFT 0 /* FLL2_CLK_SYNC_SRC - [3:0] */ | ||
| 1836 | #define ARIZONA_FLL2_CLK_SYNC_SRC_WIDTH 4 /* FLL2_CLK_SYNC_SRC - [3:0] */ | ||
| 1837 | |||
| 1838 | /* | ||
| 1839 | * R425 (0x1A9) - FLL2 Spread Spectrum | ||
| 1840 | */ | ||
| 1841 | #define ARIZONA_FLL2_SS_AMPL_MASK 0x0030 /* FLL2_SS_AMPL - [5:4] */ | ||
| 1842 | #define ARIZONA_FLL2_SS_AMPL_SHIFT 4 /* FLL2_SS_AMPL - [5:4] */ | ||
| 1843 | #define ARIZONA_FLL2_SS_AMPL_WIDTH 2 /* FLL2_SS_AMPL - [5:4] */ | ||
| 1844 | #define ARIZONA_FLL2_SS_FREQ_MASK 0x000C /* FLL2_SS_FREQ - [3:2] */ | ||
| 1845 | #define ARIZONA_FLL2_SS_FREQ_SHIFT 2 /* FLL2_SS_FREQ - [3:2] */ | ||
| 1846 | #define ARIZONA_FLL2_SS_FREQ_WIDTH 2 /* FLL2_SS_FREQ - [3:2] */ | ||
| 1847 | #define ARIZONA_FLL2_SS_SEL_MASK 0x0003 /* FLL2_SS_SEL - [1:0] */ | ||
| 1848 | #define ARIZONA_FLL2_SS_SEL_SHIFT 0 /* FLL2_SS_SEL - [1:0] */ | ||
| 1849 | #define ARIZONA_FLL2_SS_SEL_WIDTH 2 /* FLL2_SS_SEL - [1:0] */ | ||
| 1850 | |||
| 1851 | /* | ||
| 1852 | * R426 (0x1AA) - FLL2 GPIO Clock | ||
| 1853 | */ | ||
| 1854 | #define ARIZONA_FLL2_GPDIV_MASK 0x00FE /* FLL2_GPDIV - [7:1] */ | ||
| 1855 | #define ARIZONA_FLL2_GPDIV_SHIFT 1 /* FLL2_GPDIV - [7:1] */ | ||
| 1856 | #define ARIZONA_FLL2_GPDIV_WIDTH 7 /* FLL2_GPDIV - [7:1] */ | ||
| 1857 | #define ARIZONA_FLL2_GPDIV_ENA 0x0001 /* FLL2_GPDIV_ENA */ | ||
| 1858 | #define ARIZONA_FLL2_GPDIV_ENA_MASK 0x0001 /* FLL2_GPDIV_ENA */ | ||
| 1859 | #define ARIZONA_FLL2_GPDIV_ENA_SHIFT 0 /* FLL2_GPDIV_ENA */ | ||
| 1860 | #define ARIZONA_FLL2_GPDIV_ENA_WIDTH 1 /* FLL2_GPDIV_ENA */ | ||
| 1861 | |||
| 1862 | /* | ||
| 1863 | * R512 (0x200) - Mic Charge Pump 1 | ||
| 1864 | */ | ||
| 1865 | #define ARIZONA_CPMIC_DISCH 0x0004 /* CPMIC_DISCH */ | ||
| 1866 | #define ARIZONA_CPMIC_DISCH_MASK 0x0004 /* CPMIC_DISCH */ | ||
| 1867 | #define ARIZONA_CPMIC_DISCH_SHIFT 2 /* CPMIC_DISCH */ | ||
| 1868 | #define ARIZONA_CPMIC_DISCH_WIDTH 1 /* CPMIC_DISCH */ | ||
| 1869 | #define ARIZONA_CPMIC_BYPASS 0x0002 /* CPMIC_BYPASS */ | ||
| 1870 | #define ARIZONA_CPMIC_BYPASS_MASK 0x0002 /* CPMIC_BYPASS */ | ||
| 1871 | #define ARIZONA_CPMIC_BYPASS_SHIFT 1 /* CPMIC_BYPASS */ | ||
| 1872 | #define ARIZONA_CPMIC_BYPASS_WIDTH 1 /* CPMIC_BYPASS */ | ||
| 1873 | #define ARIZONA_CPMIC_ENA 0x0001 /* CPMIC_ENA */ | ||
| 1874 | #define ARIZONA_CPMIC_ENA_MASK 0x0001 /* CPMIC_ENA */ | ||
| 1875 | #define ARIZONA_CPMIC_ENA_SHIFT 0 /* CPMIC_ENA */ | ||
| 1876 | #define ARIZONA_CPMIC_ENA_WIDTH 1 /* CPMIC_ENA */ | ||
| 1877 | |||
| 1878 | /* | ||
| 1879 | * R528 (0x210) - LDO1 Control 1 | ||
| 1880 | */ | ||
| 1881 | #define ARIZONA_LDO1_VSEL_MASK 0x07E0 /* LDO1_VSEL - [10:5] */ | ||
| 1882 | #define ARIZONA_LDO1_VSEL_SHIFT 5 /* LDO1_VSEL - [10:5] */ | ||
| 1883 | #define ARIZONA_LDO1_VSEL_WIDTH 6 /* LDO1_VSEL - [10:5] */ | ||
| 1884 | #define ARIZONA_LDO1_FAST 0x0010 /* LDO1_FAST */ | ||
| 1885 | #define ARIZONA_LDO1_FAST_MASK 0x0010 /* LDO1_FAST */ | ||
| 1886 | #define ARIZONA_LDO1_FAST_SHIFT 4 /* LDO1_FAST */ | ||
| 1887 | #define ARIZONA_LDO1_FAST_WIDTH 1 /* LDO1_FAST */ | ||
| 1888 | #define ARIZONA_LDO1_DISCH 0x0004 /* LDO1_DISCH */ | ||
| 1889 | #define ARIZONA_LDO1_DISCH_MASK 0x0004 /* LDO1_DISCH */ | ||
| 1890 | #define ARIZONA_LDO1_DISCH_SHIFT 2 /* LDO1_DISCH */ | ||
| 1891 | #define ARIZONA_LDO1_DISCH_WIDTH 1 /* LDO1_DISCH */ | ||
| 1892 | #define ARIZONA_LDO1_BYPASS 0x0002 /* LDO1_BYPASS */ | ||
| 1893 | #define ARIZONA_LDO1_BYPASS_MASK 0x0002 /* LDO1_BYPASS */ | ||
| 1894 | #define ARIZONA_LDO1_BYPASS_SHIFT 1 /* LDO1_BYPASS */ | ||
| 1895 | #define ARIZONA_LDO1_BYPASS_WIDTH 1 /* LDO1_BYPASS */ | ||
| 1896 | #define ARIZONA_LDO1_ENA 0x0001 /* LDO1_ENA */ | ||
| 1897 | #define ARIZONA_LDO1_ENA_MASK 0x0001 /* LDO1_ENA */ | ||
| 1898 | #define ARIZONA_LDO1_ENA_SHIFT 0 /* LDO1_ENA */ | ||
| 1899 | #define ARIZONA_LDO1_ENA_WIDTH 1 /* LDO1_ENA */ | ||
| 1900 | |||
| 1901 | /* | ||
| 1902 | * R530 (0x212) - LDO1 Control 2 | ||
| 1903 | */ | ||
| 1904 | #define ARIZONA_LDO1_HI_PWR 0x0001 /* LDO1_HI_PWR */ | ||
| 1905 | #define ARIZONA_LDO1_HI_PWR_SHIFT 0 /* LDO1_HI_PWR */ | ||
| 1906 | #define ARIZONA_LDO1_HI_PWR_WIDTH 1 /* LDO1_HI_PWR */ | ||
| 1907 | |||
| 1908 | /* | ||
| 1909 | * R531 (0x213) - LDO2 Control 1 | ||
| 1910 | */ | ||
| 1911 | #define ARIZONA_LDO2_VSEL_MASK 0x07E0 /* LDO2_VSEL - [10:5] */ | ||
| 1912 | #define ARIZONA_LDO2_VSEL_SHIFT 5 /* LDO2_VSEL - [10:5] */ | ||
| 1913 | #define ARIZONA_LDO2_VSEL_WIDTH 6 /* LDO2_VSEL - [10:5] */ | ||
| 1914 | #define ARIZONA_LDO2_FAST 0x0010 /* LDO2_FAST */ | ||
| 1915 | #define ARIZONA_LDO2_FAST_MASK 0x0010 /* LDO2_FAST */ | ||
| 1916 | #define ARIZONA_LDO2_FAST_SHIFT 4 /* LDO2_FAST */ | ||
| 1917 | #define ARIZONA_LDO2_FAST_WIDTH 1 /* LDO2_FAST */ | ||
| 1918 | #define ARIZONA_LDO2_DISCH 0x0004 /* LDO2_DISCH */ | ||
| 1919 | #define ARIZONA_LDO2_DISCH_MASK 0x0004 /* LDO2_DISCH */ | ||
| 1920 | #define ARIZONA_LDO2_DISCH_SHIFT 2 /* LDO2_DISCH */ | ||
| 1921 | #define ARIZONA_LDO2_DISCH_WIDTH 1 /* LDO2_DISCH */ | ||
| 1922 | #define ARIZONA_LDO2_BYPASS 0x0002 /* LDO2_BYPASS */ | ||
| 1923 | #define ARIZONA_LDO2_BYPASS_MASK 0x0002 /* LDO2_BYPASS */ | ||
| 1924 | #define ARIZONA_LDO2_BYPASS_SHIFT 1 /* LDO2_BYPASS */ | ||
| 1925 | #define ARIZONA_LDO2_BYPASS_WIDTH 1 /* LDO2_BYPASS */ | ||
| 1926 | #define ARIZONA_LDO2_ENA 0x0001 /* LDO2_ENA */ | ||
| 1927 | #define ARIZONA_LDO2_ENA_MASK 0x0001 /* LDO2_ENA */ | ||
| 1928 | #define ARIZONA_LDO2_ENA_SHIFT 0 /* LDO2_ENA */ | ||
| 1929 | #define ARIZONA_LDO2_ENA_WIDTH 1 /* LDO2_ENA */ | ||
| 1930 | |||
| 1931 | /* | ||
| 1932 | * R536 (0x218) - Mic Bias Ctrl 1 | ||
| 1933 | */ | ||
| 1934 | #define ARIZONA_MICB1_EXT_CAP 0x8000 /* MICB1_EXT_CAP */ | ||
| 1935 | #define ARIZONA_MICB1_EXT_CAP_MASK 0x8000 /* MICB1_EXT_CAP */ | ||
| 1936 | #define ARIZONA_MICB1_EXT_CAP_SHIFT 15 /* MICB1_EXT_CAP */ | ||
| 1937 | #define ARIZONA_MICB1_EXT_CAP_WIDTH 1 /* MICB1_EXT_CAP */ | ||
| 1938 | #define ARIZONA_MICB1_LVL_MASK 0x01E0 /* MICB1_LVL - [8:5] */ | ||
| 1939 | #define ARIZONA_MICB1_LVL_SHIFT 5 /* MICB1_LVL - [8:5] */ | ||
| 1940 | #define ARIZONA_MICB1_LVL_WIDTH 4 /* MICB1_LVL - [8:5] */ | ||
| 1941 | #define ARIZONA_MICB1_FAST 0x0010 /* MICB1_FAST */ | ||
| 1942 | #define ARIZONA_MICB1_FAST_MASK 0x0010 /* MICB1_FAST */ | ||
| 1943 | #define ARIZONA_MICB1_FAST_SHIFT 4 /* MICB1_FAST */ | ||
| 1944 | #define ARIZONA_MICB1_FAST_WIDTH 1 /* MICB1_FAST */ | ||
| 1945 | #define ARIZONA_MICB1_RATE 0x0008 /* MICB1_RATE */ | ||
| 1946 | #define ARIZONA_MICB1_RATE_MASK 0x0008 /* MICB1_RATE */ | ||
| 1947 | #define ARIZONA_MICB1_RATE_SHIFT 3 /* MICB1_RATE */ | ||
| 1948 | #define ARIZONA_MICB1_RATE_WIDTH 1 /* MICB1_RATE */ | ||
| 1949 | #define ARIZONA_MICB1_DISCH 0x0004 /* MICB1_DISCH */ | ||
| 1950 | #define ARIZONA_MICB1_DISCH_MASK 0x0004 /* MICB1_DISCH */ | ||
| 1951 | #define ARIZONA_MICB1_DISCH_SHIFT 2 /* MICB1_DISCH */ | ||
| 1952 | #define ARIZONA_MICB1_DISCH_WIDTH 1 /* MICB1_DISCH */ | ||
| 1953 | #define ARIZONA_MICB1_BYPASS 0x0002 /* MICB1_BYPASS */ | ||
| 1954 | #define ARIZONA_MICB1_BYPASS_MASK 0x0002 /* MICB1_BYPASS */ | ||
| 1955 | #define ARIZONA_MICB1_BYPASS_SHIFT 1 /* MICB1_BYPASS */ | ||
| 1956 | #define ARIZONA_MICB1_BYPASS_WIDTH 1 /* MICB1_BYPASS */ | ||
| 1957 | #define ARIZONA_MICB1_ENA 0x0001 /* MICB1_ENA */ | ||
| 1958 | #define ARIZONA_MICB1_ENA_MASK 0x0001 /* MICB1_ENA */ | ||
| 1959 | #define ARIZONA_MICB1_ENA_SHIFT 0 /* MICB1_ENA */ | ||
| 1960 | #define ARIZONA_MICB1_ENA_WIDTH 1 /* MICB1_ENA */ | ||
| 1961 | |||
| 1962 | /* | ||
| 1963 | * R537 (0x219) - Mic Bias Ctrl 2 | ||
| 1964 | */ | ||
| 1965 | #define ARIZONA_MICB2_EXT_CAP 0x8000 /* MICB2_EXT_CAP */ | ||
| 1966 | #define ARIZONA_MICB2_EXT_CAP_MASK 0x8000 /* MICB2_EXT_CAP */ | ||
| 1967 | #define ARIZONA_MICB2_EXT_CAP_SHIFT 15 /* MICB2_EXT_CAP */ | ||
| 1968 | #define ARIZONA_MICB2_EXT_CAP_WIDTH 1 /* MICB2_EXT_CAP */ | ||
| 1969 | #define ARIZONA_MICB2_LVL_MASK 0x01E0 /* MICB2_LVL - [8:5] */ | ||
| 1970 | #define ARIZONA_MICB2_LVL_SHIFT 5 /* MICB2_LVL - [8:5] */ | ||
| 1971 | #define ARIZONA_MICB2_LVL_WIDTH 4 /* MICB2_LVL - [8:5] */ | ||
| 1972 | #define ARIZONA_MICB2_FAST 0x0010 /* MICB2_FAST */ | ||
| 1973 | #define ARIZONA_MICB2_FAST_MASK 0x0010 /* MICB2_FAST */ | ||
| 1974 | #define ARIZONA_MICB2_FAST_SHIFT 4 /* MICB2_FAST */ | ||
| 1975 | #define ARIZONA_MICB2_FAST_WIDTH 1 /* MICB2_FAST */ | ||
| 1976 | #define ARIZONA_MICB2_RATE 0x0008 /* MICB2_RATE */ | ||
| 1977 | #define ARIZONA_MICB2_RATE_MASK 0x0008 /* MICB2_RATE */ | ||
| 1978 | #define ARIZONA_MICB2_RATE_SHIFT 3 /* MICB2_RATE */ | ||
| 1979 | #define ARIZONA_MICB2_RATE_WIDTH 1 /* MICB2_RATE */ | ||
| 1980 | #define ARIZONA_MICB2_DISCH 0x0004 /* MICB2_DISCH */ | ||
| 1981 | #define ARIZONA_MICB2_DISCH_MASK 0x0004 /* MICB2_DISCH */ | ||
| 1982 | #define ARIZONA_MICB2_DISCH_SHIFT 2 /* MICB2_DISCH */ | ||
| 1983 | #define ARIZONA_MICB2_DISCH_WIDTH 1 /* MICB2_DISCH */ | ||
| 1984 | #define ARIZONA_MICB2_BYPASS 0x0002 /* MICB2_BYPASS */ | ||
| 1985 | #define ARIZONA_MICB2_BYPASS_MASK 0x0002 /* MICB2_BYPASS */ | ||
| 1986 | #define ARIZONA_MICB2_BYPASS_SHIFT 1 /* MICB2_BYPASS */ | ||
| 1987 | #define ARIZONA_MICB2_BYPASS_WIDTH 1 /* MICB2_BYPASS */ | ||
| 1988 | #define ARIZONA_MICB2_ENA 0x0001 /* MICB2_ENA */ | ||
| 1989 | #define ARIZONA_MICB2_ENA_MASK 0x0001 /* MICB2_ENA */ | ||
| 1990 | #define ARIZONA_MICB2_ENA_SHIFT 0 /* MICB2_ENA */ | ||
| 1991 | #define ARIZONA_MICB2_ENA_WIDTH 1 /* MICB2_ENA */ | ||
| 1992 | |||
| 1993 | /* | ||
| 1994 | * R538 (0x21A) - Mic Bias Ctrl 3 | ||
| 1995 | */ | ||
| 1996 | #define ARIZONA_MICB3_EXT_CAP 0x8000 /* MICB3_EXT_CAP */ | ||
| 1997 | #define ARIZONA_MICB3_EXT_CAP_MASK 0x8000 /* MICB3_EXT_CAP */ | ||
| 1998 | #define ARIZONA_MICB3_EXT_CAP_SHIFT 15 /* MICB3_EXT_CAP */ | ||
| 1999 | #define ARIZONA_MICB3_EXT_CAP_WIDTH 1 /* MICB3_EXT_CAP */ | ||
| 2000 | #define ARIZONA_MICB3_LVL_MASK 0x01E0 /* MICB3_LVL - [8:5] */ | ||
| 2001 | #define ARIZONA_MICB3_LVL_SHIFT 5 /* MICB3_LVL - [8:5] */ | ||
| 2002 | #define ARIZONA_MICB3_LVL_WIDTH 4 /* MICB3_LVL - [8:5] */ | ||
| 2003 | #define ARIZONA_MICB3_FAST 0x0010 /* MICB3_FAST */ | ||
| 2004 | #define ARIZONA_MICB3_FAST_MASK 0x0010 /* MICB3_FAST */ | ||
| 2005 | #define ARIZONA_MICB3_FAST_SHIFT 4 /* MICB3_FAST */ | ||
| 2006 | #define ARIZONA_MICB3_FAST_WIDTH 1 /* MICB3_FAST */ | ||
| 2007 | #define ARIZONA_MICB3_RATE 0x0008 /* MICB3_RATE */ | ||
| 2008 | #define ARIZONA_MICB3_RATE_MASK 0x0008 /* MICB3_RATE */ | ||
| 2009 | #define ARIZONA_MICB3_RATE_SHIFT 3 /* MICB3_RATE */ | ||
| 2010 | #define ARIZONA_MICB3_RATE_WIDTH 1 /* MICB3_RATE */ | ||
| 2011 | #define ARIZONA_MICB3_DISCH 0x0004 /* MICB3_DISCH */ | ||
| 2012 | #define ARIZONA_MICB3_DISCH_MASK 0x0004 /* MICB3_DISCH */ | ||
| 2013 | #define ARIZONA_MICB3_DISCH_SHIFT 2 /* MICB3_DISCH */ | ||
| 2014 | #define ARIZONA_MICB3_DISCH_WIDTH 1 /* MICB3_DISCH */ | ||
| 2015 | #define ARIZONA_MICB3_BYPASS 0x0002 /* MICB3_BYPASS */ | ||
| 2016 | #define ARIZONA_MICB3_BYPASS_MASK 0x0002 /* MICB3_BYPASS */ | ||
| 2017 | #define ARIZONA_MICB3_BYPASS_SHIFT 1 /* MICB3_BYPASS */ | ||
| 2018 | #define ARIZONA_MICB3_BYPASS_WIDTH 1 /* MICB3_BYPASS */ | ||
| 2019 | #define ARIZONA_MICB3_ENA 0x0001 /* MICB3_ENA */ | ||
| 2020 | #define ARIZONA_MICB3_ENA_MASK 0x0001 /* MICB3_ENA */ | ||
| 2021 | #define ARIZONA_MICB3_ENA_SHIFT 0 /* MICB3_ENA */ | ||
| 2022 | #define ARIZONA_MICB3_ENA_WIDTH 1 /* MICB3_ENA */ | ||
| 2023 | |||
| 2024 | /* | ||
| 2025 | * R659 (0x293) - Accessory Detect Mode 1 | ||
| 2026 | */ | ||
| 2027 | #define ARIZONA_ACCDET_SRC 0x2000 /* ACCDET_SRC */ | ||
| 2028 | #define ARIZONA_ACCDET_SRC_MASK 0x2000 /* ACCDET_SRC */ | ||
| 2029 | #define ARIZONA_ACCDET_SRC_SHIFT 13 /* ACCDET_SRC */ | ||
| 2030 | #define ARIZONA_ACCDET_SRC_WIDTH 1 /* ACCDET_SRC */ | ||
| 2031 | #define ARIZONA_ACCDET_MODE_MASK 0x0003 /* ACCDET_MODE - [1:0] */ | ||
| 2032 | #define ARIZONA_ACCDET_MODE_SHIFT 0 /* ACCDET_MODE - [1:0] */ | ||
| 2033 | #define ARIZONA_ACCDET_MODE_WIDTH 2 /* ACCDET_MODE - [1:0] */ | ||
| 2034 | |||
| 2035 | /* | ||
| 2036 | * R667 (0x29B) - Headphone Detect 1 | ||
| 2037 | */ | ||
| 2038 | #define ARIZONA_HP_STEP_SIZE 0x0100 /* HP_STEP_SIZE */ | ||
| 2039 | #define ARIZONA_HP_STEP_SIZE_MASK 0x0100 /* HP_STEP_SIZE */ | ||
| 2040 | #define ARIZONA_HP_STEP_SIZE_SHIFT 8 /* HP_STEP_SIZE */ | ||
| 2041 | #define ARIZONA_HP_STEP_SIZE_WIDTH 1 /* HP_STEP_SIZE */ | ||
| 2042 | #define ARIZONA_HP_HOLDTIME_MASK 0x00E0 /* HP_HOLDTIME - [7:5] */ | ||
| 2043 | #define ARIZONA_HP_HOLDTIME_SHIFT 5 /* HP_HOLDTIME - [7:5] */ | ||
| 2044 | #define ARIZONA_HP_HOLDTIME_WIDTH 3 /* HP_HOLDTIME - [7:5] */ | ||
| 2045 | #define ARIZONA_HP_CLK_DIV_MASK 0x0018 /* HP_CLK_DIV - [4:3] */ | ||
| 2046 | #define ARIZONA_HP_CLK_DIV_SHIFT 3 /* HP_CLK_DIV - [4:3] */ | ||
| 2047 | #define ARIZONA_HP_CLK_DIV_WIDTH 2 /* HP_CLK_DIV - [4:3] */ | ||
| 2048 | #define ARIZONA_HP_IDAC_STEER 0x0004 /* HP_IDAC_STEER */ | ||
| 2049 | #define ARIZONA_HP_IDAC_STEER_MASK 0x0004 /* HP_IDAC_STEER */ | ||
| 2050 | #define ARIZONA_HP_IDAC_STEER_SHIFT 2 /* HP_IDAC_STEER */ | ||
| 2051 | #define ARIZONA_HP_IDAC_STEER_WIDTH 1 /* HP_IDAC_STEER */ | ||
| 2052 | #define ARIZONA_HP_RATE 0x0002 /* HP_RATE */ | ||
| 2053 | #define ARIZONA_HP_RATE_MASK 0x0002 /* HP_RATE */ | ||
| 2054 | #define ARIZONA_HP_RATE_SHIFT 1 /* HP_RATE */ | ||
| 2055 | #define ARIZONA_HP_RATE_WIDTH 1 /* HP_RATE */ | ||
| 2056 | #define ARIZONA_HP_POLL 0x0001 /* HP_POLL */ | ||
| 2057 | #define ARIZONA_HP_POLL_MASK 0x0001 /* HP_POLL */ | ||
| 2058 | #define ARIZONA_HP_POLL_SHIFT 0 /* HP_POLL */ | ||
| 2059 | #define ARIZONA_HP_POLL_WIDTH 1 /* HP_POLL */ | ||
| 2060 | |||
| 2061 | /* | ||
| 2062 | * R668 (0x29C) - Headphone Detect 2 | ||
| 2063 | */ | ||
| 2064 | #define ARIZONA_HP_DONE 0x0080 /* HP_DONE */ | ||
| 2065 | #define ARIZONA_HP_DONE_MASK 0x0080 /* HP_DONE */ | ||
| 2066 | #define ARIZONA_HP_DONE_SHIFT 7 /* HP_DONE */ | ||
| 2067 | #define ARIZONA_HP_DONE_WIDTH 1 /* HP_DONE */ | ||
| 2068 | #define ARIZONA_HP_LVL_MASK 0x007F /* HP_LVL - [6:0] */ | ||
| 2069 | #define ARIZONA_HP_LVL_SHIFT 0 /* HP_LVL - [6:0] */ | ||
| 2070 | #define ARIZONA_HP_LVL_WIDTH 7 /* HP_LVL - [6:0] */ | ||
| 2071 | |||
| 2072 | /* | ||
| 2073 | * R675 (0x2A3) - Mic Detect 1 | ||
| 2074 | */ | ||
| 2075 | #define ARIZONA_MICD_BIAS_STARTTIME_MASK 0xF000 /* MICD_BIAS_STARTTIME - [15:12] */ | ||
| 2076 | #define ARIZONA_MICD_BIAS_STARTTIME_SHIFT 12 /* MICD_BIAS_STARTTIME - [15:12] */ | ||
| 2077 | #define ARIZONA_MICD_BIAS_STARTTIME_WIDTH 4 /* MICD_BIAS_STARTTIME - [15:12] */ | ||
| 2078 | #define ARIZONA_MICD_RATE_MASK 0x0F00 /* MICD_RATE - [11:8] */ | ||
| 2079 | #define ARIZONA_MICD_RATE_SHIFT 8 /* MICD_RATE - [11:8] */ | ||
| 2080 | #define ARIZONA_MICD_RATE_WIDTH 4 /* MICD_RATE - [11:8] */ | ||
| 2081 | #define ARIZONA_MICD_BIAS_SRC_MASK 0x0030 /* MICD_BIAS_SRC - [5:4] */ | ||
| 2082 | #define ARIZONA_MICD_BIAS_SRC_SHIFT 4 /* MICD_BIAS_SRC - [5:4] */ | ||
| 2083 | #define ARIZONA_MICD_BIAS_SRC_WIDTH 2 /* MICD_BIAS_SRC - [5:4] */ | ||
| 2084 | #define ARIZONA_MICD_DBTIME 0x0002 /* MICD_DBTIME */ | ||
| 2085 | #define ARIZONA_MICD_DBTIME_MASK 0x0002 /* MICD_DBTIME */ | ||
| 2086 | #define ARIZONA_MICD_DBTIME_SHIFT 1 /* MICD_DBTIME */ | ||
| 2087 | #define ARIZONA_MICD_DBTIME_WIDTH 1 /* MICD_DBTIME */ | ||
| 2088 | #define ARIZONA_MICD_ENA 0x0001 /* MICD_ENA */ | ||
| 2089 | #define ARIZONA_MICD_ENA_MASK 0x0001 /* MICD_ENA */ | ||
| 2090 | #define ARIZONA_MICD_ENA_SHIFT 0 /* MICD_ENA */ | ||
| 2091 | #define ARIZONA_MICD_ENA_WIDTH 1 /* MICD_ENA */ | ||
| 2092 | |||
| 2093 | /* | ||
| 2094 | * R676 (0x2A4) - Mic Detect 2 | ||
| 2095 | */ | ||
| 2096 | #define ARIZONA_MICD_LVL_SEL_MASK 0x00FF /* MICD_LVL_SEL - [7:0] */ | ||
| 2097 | #define ARIZONA_MICD_LVL_SEL_SHIFT 0 /* MICD_LVL_SEL - [7:0] */ | ||
| 2098 | #define ARIZONA_MICD_LVL_SEL_WIDTH 8 /* MICD_LVL_SEL - [7:0] */ | ||
| 2099 | |||
| 2100 | /* | ||
| 2101 | * R677 (0x2A5) - Mic Detect 3 | ||
| 2102 | */ | ||
| 2103 | #define ARIZONA_MICD_LVL_MASK 0x07FC /* MICD_LVL - [10:2] */ | ||
| 2104 | #define ARIZONA_MICD_LVL_SHIFT 2 /* MICD_LVL - [10:2] */ | ||
| 2105 | #define ARIZONA_MICD_LVL_WIDTH 9 /* MICD_LVL - [10:2] */ | ||
| 2106 | #define ARIZONA_MICD_VALID 0x0002 /* MICD_VALID */ | ||
| 2107 | #define ARIZONA_MICD_VALID_MASK 0x0002 /* MICD_VALID */ | ||
| 2108 | #define ARIZONA_MICD_VALID_SHIFT 1 /* MICD_VALID */ | ||
| 2109 | #define ARIZONA_MICD_VALID_WIDTH 1 /* MICD_VALID */ | ||
| 2110 | #define ARIZONA_MICD_STS 0x0001 /* MICD_STS */ | ||
| 2111 | #define ARIZONA_MICD_STS_MASK 0x0001 /* MICD_STS */ | ||
| 2112 | #define ARIZONA_MICD_STS_SHIFT 0 /* MICD_STS */ | ||
| 2113 | #define ARIZONA_MICD_STS_WIDTH 1 /* MICD_STS */ | ||
| 2114 | |||
| 2115 | /* | ||
| 2116 | * R707 (0x2C3) - Mic noise mix control 1 | ||
| 2117 | */ | ||
| 2118 | #define ARIZONA_MICMUTE_RATE_MASK 0x7800 /* MICMUTE_RATE - [14:11] */ | ||
| 2119 | #define ARIZONA_MICMUTE_RATE_SHIFT 11 /* MICMUTE_RATE - [14:11] */ | ||
| 2120 | #define ARIZONA_MICMUTE_RATE_WIDTH 4 /* MICMUTE_RATE - [14:11] */ | ||
| 2121 | #define ARIZONA_MICMUTE_MIX_ENA 0x0040 /* MICMUTE_MIX_ENA */ | ||
| 2122 | #define ARIZONA_MICMUTE_MIX_ENA_MASK 0x0040 /* MICMUTE_MIX_ENA */ | ||
| 2123 | #define ARIZONA_MICMUTE_MIX_ENA_SHIFT 6 /* MICMUTE_MIX_ENA */ | ||
| 2124 | #define ARIZONA_MICMUTE_MIX_ENA_WIDTH 1 /* MICMUTE_MIX_ENA */ | ||
| 2125 | |||
| 2126 | /* | ||
| 2127 | * R715 (0x2CB) - Isolation control | ||
| 2128 | */ | ||
| 2129 | #define ARIZONA_ISOLATE_DCVDD1 0x0001 /* ISOLATE_DCVDD1 */ | ||
| 2130 | #define ARIZONA_ISOLATE_DCVDD1_MASK 0x0001 /* ISOLATE_DCVDD1 */ | ||
| 2131 | #define ARIZONA_ISOLATE_DCVDD1_SHIFT 0 /* ISOLATE_DCVDD1 */ | ||
| 2132 | #define ARIZONA_ISOLATE_DCVDD1_WIDTH 1 /* ISOLATE_DCVDD1 */ | ||
| 2133 | |||
| 2134 | /* | ||
| 2135 | * R723 (0x2D3) - Jack detect analogue | ||
| 2136 | */ | ||
| 2137 | #define ARIZONA_JD2_ENA 0x0002 /* JD2_ENA */ | ||
| 2138 | #define ARIZONA_JD2_ENA_MASK 0x0002 /* JD2_ENA */ | ||
| 2139 | #define ARIZONA_JD2_ENA_SHIFT 1 /* JD2_ENA */ | ||
| 2140 | #define ARIZONA_JD2_ENA_WIDTH 1 /* JD2_ENA */ | ||
| 2141 | #define ARIZONA_JD1_ENA 0x0001 /* JD1_ENA */ | ||
| 2142 | #define ARIZONA_JD1_ENA_MASK 0x0001 /* JD1_ENA */ | ||
| 2143 | #define ARIZONA_JD1_ENA_SHIFT 0 /* JD1_ENA */ | ||
| 2144 | #define ARIZONA_JD1_ENA_WIDTH 1 /* JD1_ENA */ | ||
| 2145 | |||
| 2146 | /* | ||
| 2147 | * R768 (0x300) - Input Enables | ||
| 2148 | */ | ||
| 2149 | #define ARIZONA_IN4L_ENA 0x0080 /* IN4L_ENA */ | ||
| 2150 | #define ARIZONA_IN4L_ENA_MASK 0x0080 /* IN4L_ENA */ | ||
| 2151 | #define ARIZONA_IN4L_ENA_SHIFT 7 /* IN4L_ENA */ | ||
| 2152 | #define ARIZONA_IN4L_ENA_WIDTH 1 /* IN4L_ENA */ | ||
| 2153 | #define ARIZONA_IN4R_ENA 0x0040 /* IN4R_ENA */ | ||
| 2154 | #define ARIZONA_IN4R_ENA_MASK 0x0040 /* IN4R_ENA */ | ||
| 2155 | #define ARIZONA_IN4R_ENA_SHIFT 6 /* IN4R_ENA */ | ||
| 2156 | #define ARIZONA_IN4R_ENA_WIDTH 1 /* IN4R_ENA */ | ||
| 2157 | #define ARIZONA_IN3L_ENA 0x0020 /* IN3L_ENA */ | ||
| 2158 | #define ARIZONA_IN3L_ENA_MASK 0x0020 /* IN3L_ENA */ | ||
| 2159 | #define ARIZONA_IN3L_ENA_SHIFT 5 /* IN3L_ENA */ | ||
| 2160 | #define ARIZONA_IN3L_ENA_WIDTH 1 /* IN3L_ENA */ | ||
| 2161 | #define ARIZONA_IN3R_ENA 0x0010 /* IN3R_ENA */ | ||
| 2162 | #define ARIZONA_IN3R_ENA_MASK 0x0010 /* IN3R_ENA */ | ||
| 2163 | #define ARIZONA_IN3R_ENA_SHIFT 4 /* IN3R_ENA */ | ||
| 2164 | #define ARIZONA_IN3R_ENA_WIDTH 1 /* IN3R_ENA */ | ||
| 2165 | #define ARIZONA_IN2L_ENA 0x0008 /* IN2L_ENA */ | ||
| 2166 | #define ARIZONA_IN2L_ENA_MASK 0x0008 /* IN2L_ENA */ | ||
| 2167 | #define ARIZONA_IN2L_ENA_SHIFT 3 /* IN2L_ENA */ | ||
| 2168 | #define ARIZONA_IN2L_ENA_WIDTH 1 /* IN2L_ENA */ | ||
| 2169 | #define ARIZONA_IN2R_ENA 0x0004 /* IN2R_ENA */ | ||
| 2170 | #define ARIZONA_IN2R_ENA_MASK 0x0004 /* IN2R_ENA */ | ||
| 2171 | #define ARIZONA_IN2R_ENA_SHIFT 2 /* IN2R_ENA */ | ||
| 2172 | #define ARIZONA_IN2R_ENA_WIDTH 1 /* IN2R_ENA */ | ||
| 2173 | #define ARIZONA_IN1L_ENA 0x0002 /* IN1L_ENA */ | ||
| 2174 | #define ARIZONA_IN1L_ENA_MASK 0x0002 /* IN1L_ENA */ | ||
| 2175 | #define ARIZONA_IN1L_ENA_SHIFT 1 /* IN1L_ENA */ | ||
| 2176 | #define ARIZONA_IN1L_ENA_WIDTH 1 /* IN1L_ENA */ | ||
| 2177 | #define ARIZONA_IN1R_ENA 0x0001 /* IN1R_ENA */ | ||
| 2178 | #define ARIZONA_IN1R_ENA_MASK 0x0001 /* IN1R_ENA */ | ||
| 2179 | #define ARIZONA_IN1R_ENA_SHIFT 0 /* IN1R_ENA */ | ||
| 2180 | #define ARIZONA_IN1R_ENA_WIDTH 1 /* IN1R_ENA */ | ||
| 2181 | |||
| 2182 | /* | ||
| 2183 | * R776 (0x308) - Input Rate | ||
| 2184 | */ | ||
| 2185 | #define ARIZONA_IN_RATE_MASK 0x7800 /* IN_RATE - [14:11] */ | ||
| 2186 | #define ARIZONA_IN_RATE_SHIFT 11 /* IN_RATE - [14:11] */ | ||
| 2187 | #define ARIZONA_IN_RATE_WIDTH 4 /* IN_RATE - [14:11] */ | ||
| 2188 | |||
| 2189 | /* | ||
| 2190 | * R777 (0x309) - Input Volume Ramp | ||
| 2191 | */ | ||
| 2192 | #define ARIZONA_IN_VD_RAMP_MASK 0x0070 /* IN_VD_RAMP - [6:4] */ | ||
| 2193 | #define ARIZONA_IN_VD_RAMP_SHIFT 4 /* IN_VD_RAMP - [6:4] */ | ||
| 2194 | #define ARIZONA_IN_VD_RAMP_WIDTH 3 /* IN_VD_RAMP - [6:4] */ | ||
| 2195 | #define ARIZONA_IN_VI_RAMP_MASK 0x0007 /* IN_VI_RAMP - [2:0] */ | ||
| 2196 | #define ARIZONA_IN_VI_RAMP_SHIFT 0 /* IN_VI_RAMP - [2:0] */ | ||
| 2197 | #define ARIZONA_IN_VI_RAMP_WIDTH 3 /* IN_VI_RAMP - [2:0] */ | ||
| 2198 | |||
| 2199 | /* | ||
| 2200 | * R784 (0x310) - IN1L Control | ||
| 2201 | */ | ||
| 2202 | #define ARIZONA_IN1_OSR_MASK 0x6000 /* IN1_OSR - [14:13] */ | ||
| 2203 | #define ARIZONA_IN1_OSR_SHIFT 13 /* IN1_OSR - [14:13] */ | ||
| 2204 | #define ARIZONA_IN1_OSR_WIDTH 2 /* IN1_OSR - [14:13] */ | ||
| 2205 | #define ARIZONA_IN1_DMIC_SUP_MASK 0x1800 /* IN1_DMIC_SUP - [12:11] */ | ||
| 2206 | #define ARIZONA_IN1_DMIC_SUP_SHIFT 11 /* IN1_DMIC_SUP - [12:11] */ | ||
| 2207 | #define ARIZONA_IN1_DMIC_SUP_WIDTH 2 /* IN1_DMIC_SUP - [12:11] */ | ||
| 2208 | #define ARIZONA_IN1_MODE_MASK 0x0600 /* IN1_MODE - [10:9] */ | ||
| 2209 | #define ARIZONA_IN1_MODE_SHIFT 9 /* IN1_MODE - [10:9] */ | ||
| 2210 | #define ARIZONA_IN1_MODE_WIDTH 2 /* IN1_MODE - [10:9] */ | ||
| 2211 | #define ARIZONA_IN1L_PGA_VOL_MASK 0x00FE /* IN1L_PGA_VOL - [7:1] */ | ||
| 2212 | #define ARIZONA_IN1L_PGA_VOL_SHIFT 1 /* IN1L_PGA_VOL - [7:1] */ | ||
| 2213 | #define ARIZONA_IN1L_PGA_VOL_WIDTH 7 /* IN1L_PGA_VOL - [7:1] */ | ||
| 2214 | |||
| 2215 | /* | ||
| 2216 | * R785 (0x311) - ADC Digital Volume 1L | ||
| 2217 | */ | ||
| 2218 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2219 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2220 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2221 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2222 | #define ARIZONA_IN1L_MUTE 0x0100 /* IN1L_MUTE */ | ||
| 2223 | #define ARIZONA_IN1L_MUTE_MASK 0x0100 /* IN1L_MUTE */ | ||
| 2224 | #define ARIZONA_IN1L_MUTE_SHIFT 8 /* IN1L_MUTE */ | ||
| 2225 | #define ARIZONA_IN1L_MUTE_WIDTH 1 /* IN1L_MUTE */ | ||
| 2226 | #define ARIZONA_IN1L_DIG_VOL_MASK 0x00FF /* IN1L_DIG_VOL - [7:0] */ | ||
| 2227 | #define ARIZONA_IN1L_DIG_VOL_SHIFT 0 /* IN1L_DIG_VOL - [7:0] */ | ||
| 2228 | #define ARIZONA_IN1L_DIG_VOL_WIDTH 8 /* IN1L_DIG_VOL - [7:0] */ | ||
| 2229 | |||
| 2230 | /* | ||
| 2231 | * R786 (0x312) - DMIC1L Control | ||
| 2232 | */ | ||
| 2233 | #define ARIZONA_IN1_DMICL_DLY_MASK 0x003F /* IN1_DMICL_DLY - [5:0] */ | ||
| 2234 | #define ARIZONA_IN1_DMICL_DLY_SHIFT 0 /* IN1_DMICL_DLY - [5:0] */ | ||
| 2235 | #define ARIZONA_IN1_DMICL_DLY_WIDTH 6 /* IN1_DMICL_DLY - [5:0] */ | ||
| 2236 | |||
| 2237 | /* | ||
| 2238 | * R788 (0x314) - IN1R Control | ||
| 2239 | */ | ||
| 2240 | #define ARIZONA_IN1R_PGA_VOL_MASK 0x00FE /* IN1R_PGA_VOL - [7:1] */ | ||
| 2241 | #define ARIZONA_IN1R_PGA_VOL_SHIFT 1 /* IN1R_PGA_VOL - [7:1] */ | ||
| 2242 | #define ARIZONA_IN1R_PGA_VOL_WIDTH 7 /* IN1R_PGA_VOL - [7:1] */ | ||
| 2243 | |||
| 2244 | /* | ||
| 2245 | * R789 (0x315) - ADC Digital Volume 1R | ||
| 2246 | */ | ||
| 2247 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2248 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2249 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2250 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2251 | #define ARIZONA_IN1R_MUTE 0x0100 /* IN1R_MUTE */ | ||
| 2252 | #define ARIZONA_IN1R_MUTE_MASK 0x0100 /* IN1R_MUTE */ | ||
| 2253 | #define ARIZONA_IN1R_MUTE_SHIFT 8 /* IN1R_MUTE */ | ||
| 2254 | #define ARIZONA_IN1R_MUTE_WIDTH 1 /* IN1R_MUTE */ | ||
| 2255 | #define ARIZONA_IN1R_DIG_VOL_MASK 0x00FF /* IN1R_DIG_VOL - [7:0] */ | ||
| 2256 | #define ARIZONA_IN1R_DIG_VOL_SHIFT 0 /* IN1R_DIG_VOL - [7:0] */ | ||
| 2257 | #define ARIZONA_IN1R_DIG_VOL_WIDTH 8 /* IN1R_DIG_VOL - [7:0] */ | ||
| 2258 | |||
| 2259 | /* | ||
| 2260 | * R790 (0x316) - DMIC1R Control | ||
| 2261 | */ | ||
| 2262 | #define ARIZONA_IN1_DMICR_DLY_MASK 0x003F /* IN1_DMICR_DLY - [5:0] */ | ||
| 2263 | #define ARIZONA_IN1_DMICR_DLY_SHIFT 0 /* IN1_DMICR_DLY - [5:0] */ | ||
| 2264 | #define ARIZONA_IN1_DMICR_DLY_WIDTH 6 /* IN1_DMICR_DLY - [5:0] */ | ||
| 2265 | |||
| 2266 | /* | ||
| 2267 | * R792 (0x318) - IN2L Control | ||
| 2268 | */ | ||
| 2269 | #define ARIZONA_IN2_OSR_MASK 0x6000 /* IN2_OSR - [14:13] */ | ||
| 2270 | #define ARIZONA_IN2_OSR_SHIFT 13 /* IN2_OSR - [14:13] */ | ||
| 2271 | #define ARIZONA_IN2_OSR_WIDTH 2 /* IN2_OSR - [14:13] */ | ||
| 2272 | #define ARIZONA_IN2_DMIC_SUP_MASK 0x1800 /* IN2_DMIC_SUP - [12:11] */ | ||
| 2273 | #define ARIZONA_IN2_DMIC_SUP_SHIFT 11 /* IN2_DMIC_SUP - [12:11] */ | ||
| 2274 | #define ARIZONA_IN2_DMIC_SUP_WIDTH 2 /* IN2_DMIC_SUP - [12:11] */ | ||
| 2275 | #define ARIZONA_IN2_MODE_MASK 0x0600 /* IN2_MODE - [10:9] */ | ||
| 2276 | #define ARIZONA_IN2_MODE_SHIFT 9 /* IN2_MODE - [10:9] */ | ||
| 2277 | #define ARIZONA_IN2_MODE_WIDTH 2 /* IN2_MODE - [10:9] */ | ||
| 2278 | #define ARIZONA_IN2L_PGA_VOL_MASK 0x00FE /* IN2L_PGA_VOL - [7:1] */ | ||
| 2279 | #define ARIZONA_IN2L_PGA_VOL_SHIFT 1 /* IN2L_PGA_VOL - [7:1] */ | ||
| 2280 | #define ARIZONA_IN2L_PGA_VOL_WIDTH 7 /* IN2L_PGA_VOL - [7:1] */ | ||
| 2281 | |||
| 2282 | /* | ||
| 2283 | * R793 (0x319) - ADC Digital Volume 2L | ||
| 2284 | */ | ||
| 2285 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2286 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2287 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2288 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2289 | #define ARIZONA_IN2L_MUTE 0x0100 /* IN2L_MUTE */ | ||
| 2290 | #define ARIZONA_IN2L_MUTE_MASK 0x0100 /* IN2L_MUTE */ | ||
| 2291 | #define ARIZONA_IN2L_MUTE_SHIFT 8 /* IN2L_MUTE */ | ||
| 2292 | #define ARIZONA_IN2L_MUTE_WIDTH 1 /* IN2L_MUTE */ | ||
| 2293 | #define ARIZONA_IN2L_DIG_VOL_MASK 0x00FF /* IN2L_DIG_VOL - [7:0] */ | ||
| 2294 | #define ARIZONA_IN2L_DIG_VOL_SHIFT 0 /* IN2L_DIG_VOL - [7:0] */ | ||
| 2295 | #define ARIZONA_IN2L_DIG_VOL_WIDTH 8 /* IN2L_DIG_VOL - [7:0] */ | ||
| 2296 | |||
| 2297 | /* | ||
| 2298 | * R794 (0x31A) - DMIC2L Control | ||
| 2299 | */ | ||
| 2300 | #define ARIZONA_IN2_DMICL_DLY_MASK 0x003F /* IN2_DMICL_DLY - [5:0] */ | ||
| 2301 | #define ARIZONA_IN2_DMICL_DLY_SHIFT 0 /* IN2_DMICL_DLY - [5:0] */ | ||
| 2302 | #define ARIZONA_IN2_DMICL_DLY_WIDTH 6 /* IN2_DMICL_DLY - [5:0] */ | ||
| 2303 | |||
| 2304 | /* | ||
| 2305 | * R796 (0x31C) - IN2R Control | ||
| 2306 | */ | ||
| 2307 | #define ARIZONA_IN2R_PGA_VOL_MASK 0x00FE /* IN2R_PGA_VOL - [7:1] */ | ||
| 2308 | #define ARIZONA_IN2R_PGA_VOL_SHIFT 1 /* IN2R_PGA_VOL - [7:1] */ | ||
| 2309 | #define ARIZONA_IN2R_PGA_VOL_WIDTH 7 /* IN2R_PGA_VOL - [7:1] */ | ||
| 2310 | |||
| 2311 | /* | ||
| 2312 | * R797 (0x31D) - ADC Digital Volume 2R | ||
| 2313 | */ | ||
| 2314 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2315 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2316 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2317 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2318 | #define ARIZONA_IN2R_MUTE 0x0100 /* IN2R_MUTE */ | ||
| 2319 | #define ARIZONA_IN2R_MUTE_MASK 0x0100 /* IN2R_MUTE */ | ||
| 2320 | #define ARIZONA_IN2R_MUTE_SHIFT 8 /* IN2R_MUTE */ | ||
| 2321 | #define ARIZONA_IN2R_MUTE_WIDTH 1 /* IN2R_MUTE */ | ||
| 2322 | #define ARIZONA_IN2R_DIG_VOL_MASK 0x00FF /* IN2R_DIG_VOL - [7:0] */ | ||
| 2323 | #define ARIZONA_IN2R_DIG_VOL_SHIFT 0 /* IN2R_DIG_VOL - [7:0] */ | ||
| 2324 | #define ARIZONA_IN2R_DIG_VOL_WIDTH 8 /* IN2R_DIG_VOL - [7:0] */ | ||
| 2325 | |||
| 2326 | /* | ||
| 2327 | * R798 (0x31E) - DMIC2R Control | ||
| 2328 | */ | ||
| 2329 | #define ARIZONA_IN2_DMICR_DLY_MASK 0x003F /* IN2_DMICR_DLY - [5:0] */ | ||
| 2330 | #define ARIZONA_IN2_DMICR_DLY_SHIFT 0 /* IN2_DMICR_DLY - [5:0] */ | ||
| 2331 | #define ARIZONA_IN2_DMICR_DLY_WIDTH 6 /* IN2_DMICR_DLY - [5:0] */ | ||
| 2332 | |||
| 2333 | /* | ||
| 2334 | * R800 (0x320) - IN3L Control | ||
| 2335 | */ | ||
| 2336 | #define ARIZONA_IN3_OSR_MASK 0x6000 /* IN3_OSR - [14:13] */ | ||
| 2337 | #define ARIZONA_IN3_OSR_SHIFT 13 /* IN3_OSR - [14:13] */ | ||
| 2338 | #define ARIZONA_IN3_OSR_WIDTH 2 /* IN3_OSR - [14:13] */ | ||
| 2339 | #define ARIZONA_IN3_DMIC_SUP_MASK 0x1800 /* IN3_DMIC_SUP - [12:11] */ | ||
| 2340 | #define ARIZONA_IN3_DMIC_SUP_SHIFT 11 /* IN3_DMIC_SUP - [12:11] */ | ||
| 2341 | #define ARIZONA_IN3_DMIC_SUP_WIDTH 2 /* IN3_DMIC_SUP - [12:11] */ | ||
| 2342 | #define ARIZONA_IN3_MODE_MASK 0x0600 /* IN3_MODE - [10:9] */ | ||
| 2343 | #define ARIZONA_IN3_MODE_SHIFT 9 /* IN3_MODE - [10:9] */ | ||
| 2344 | #define ARIZONA_IN3_MODE_WIDTH 2 /* IN3_MODE - [10:9] */ | ||
| 2345 | #define ARIZONA_IN3L_PGA_VOL_MASK 0x00FE /* IN3L_PGA_VOL - [7:1] */ | ||
| 2346 | #define ARIZONA_IN3L_PGA_VOL_SHIFT 1 /* IN3L_PGA_VOL - [7:1] */ | ||
| 2347 | #define ARIZONA_IN3L_PGA_VOL_WIDTH 7 /* IN3L_PGA_VOL - [7:1] */ | ||
| 2348 | |||
| 2349 | /* | ||
| 2350 | * R801 (0x321) - ADC Digital Volume 3L | ||
| 2351 | */ | ||
| 2352 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2353 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2354 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2355 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2356 | #define ARIZONA_IN3L_MUTE 0x0100 /* IN3L_MUTE */ | ||
| 2357 | #define ARIZONA_IN3L_MUTE_MASK 0x0100 /* IN3L_MUTE */ | ||
| 2358 | #define ARIZONA_IN3L_MUTE_SHIFT 8 /* IN3L_MUTE */ | ||
| 2359 | #define ARIZONA_IN3L_MUTE_WIDTH 1 /* IN3L_MUTE */ | ||
| 2360 | #define ARIZONA_IN3L_DIG_VOL_MASK 0x00FF /* IN3L_DIG_VOL - [7:0] */ | ||
| 2361 | #define ARIZONA_IN3L_DIG_VOL_SHIFT 0 /* IN3L_DIG_VOL - [7:0] */ | ||
| 2362 | #define ARIZONA_IN3L_DIG_VOL_WIDTH 8 /* IN3L_DIG_VOL - [7:0] */ | ||
| 2363 | |||
| 2364 | /* | ||
| 2365 | * R802 (0x322) - DMIC3L Control | ||
| 2366 | */ | ||
| 2367 | #define ARIZONA_IN3_DMICL_DLY_MASK 0x003F /* IN3_DMICL_DLY - [5:0] */ | ||
| 2368 | #define ARIZONA_IN3_DMICL_DLY_SHIFT 0 /* IN3_DMICL_DLY - [5:0] */ | ||
| 2369 | #define ARIZONA_IN3_DMICL_DLY_WIDTH 6 /* IN3_DMICL_DLY - [5:0] */ | ||
| 2370 | |||
| 2371 | /* | ||
| 2372 | * R804 (0x324) - IN3R Control | ||
| 2373 | */ | ||
| 2374 | #define ARIZONA_IN3R_PGA_VOL_MASK 0x00FE /* IN3R_PGA_VOL - [7:1] */ | ||
| 2375 | #define ARIZONA_IN3R_PGA_VOL_SHIFT 1 /* IN3R_PGA_VOL - [7:1] */ | ||
| 2376 | #define ARIZONA_IN3R_PGA_VOL_WIDTH 7 /* IN3R_PGA_VOL - [7:1] */ | ||
| 2377 | |||
| 2378 | /* | ||
| 2379 | * R805 (0x325) - ADC Digital Volume 3R | ||
| 2380 | */ | ||
| 2381 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2382 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2383 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2384 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2385 | #define ARIZONA_IN3R_MUTE 0x0100 /* IN3R_MUTE */ | ||
| 2386 | #define ARIZONA_IN3R_MUTE_MASK 0x0100 /* IN3R_MUTE */ | ||
| 2387 | #define ARIZONA_IN3R_MUTE_SHIFT 8 /* IN3R_MUTE */ | ||
| 2388 | #define ARIZONA_IN3R_MUTE_WIDTH 1 /* IN3R_MUTE */ | ||
| 2389 | #define ARIZONA_IN3R_DIG_VOL_MASK 0x00FF /* IN3R_DIG_VOL - [7:0] */ | ||
| 2390 | #define ARIZONA_IN3R_DIG_VOL_SHIFT 0 /* IN3R_DIG_VOL - [7:0] */ | ||
| 2391 | #define ARIZONA_IN3R_DIG_VOL_WIDTH 8 /* IN3R_DIG_VOL - [7:0] */ | ||
| 2392 | |||
| 2393 | /* | ||
| 2394 | * R806 (0x326) - DMIC3R Control | ||
| 2395 | */ | ||
| 2396 | #define ARIZONA_IN3_DMICR_DLY_MASK 0x003F /* IN3_DMICR_DLY - [5:0] */ | ||
| 2397 | #define ARIZONA_IN3_DMICR_DLY_SHIFT 0 /* IN3_DMICR_DLY - [5:0] */ | ||
| 2398 | #define ARIZONA_IN3_DMICR_DLY_WIDTH 6 /* IN3_DMICR_DLY - [5:0] */ | ||
| 2399 | |||
| 2400 | /* | ||
| 2401 | * R808 (0x328) - IN4 Control | ||
| 2402 | */ | ||
| 2403 | #define ARIZONA_IN4_OSR_MASK 0x6000 /* IN4_OSR - [14:13] */ | ||
| 2404 | #define ARIZONA_IN4_OSR_SHIFT 13 /* IN4_OSR - [14:13] */ | ||
| 2405 | #define ARIZONA_IN4_OSR_WIDTH 2 /* IN4_OSR - [14:13] */ | ||
| 2406 | #define ARIZONA_IN4_DMIC_SUP_MASK 0x1800 /* IN4_DMIC_SUP - [12:11] */ | ||
| 2407 | #define ARIZONA_IN4_DMIC_SUP_SHIFT 11 /* IN4_DMIC_SUP - [12:11] */ | ||
| 2408 | #define ARIZONA_IN4_DMIC_SUP_WIDTH 2 /* IN4_DMIC_SUP - [12:11] */ | ||
| 2409 | |||
| 2410 | /* | ||
| 2411 | * R809 (0x329) - ADC Digital Volume 4L | ||
| 2412 | */ | ||
| 2413 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2414 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2415 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2416 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2417 | #define ARIZONA_IN4L_MUTE 0x0100 /* IN4L_MUTE */ | ||
| 2418 | #define ARIZONA_IN4L_MUTE_MASK 0x0100 /* IN4L_MUTE */ | ||
| 2419 | #define ARIZONA_IN4L_MUTE_SHIFT 8 /* IN4L_MUTE */ | ||
| 2420 | #define ARIZONA_IN4L_MUTE_WIDTH 1 /* IN4L_MUTE */ | ||
| 2421 | #define ARIZONA_IN4L_DIG_VOL_MASK 0x00FF /* IN4L_DIG_VOL - [7:0] */ | ||
| 2422 | #define ARIZONA_IN4L_DIG_VOL_SHIFT 0 /* IN4L_DIG_VOL - [7:0] */ | ||
| 2423 | #define ARIZONA_IN4L_DIG_VOL_WIDTH 8 /* IN4L_DIG_VOL - [7:0] */ | ||
| 2424 | |||
| 2425 | /* | ||
| 2426 | * R810 (0x32A) - DMIC4L Control | ||
| 2427 | */ | ||
| 2428 | #define ARIZONA_IN4L_DMIC_DLY_MASK 0x003F /* IN4L_DMIC_DLY - [5:0] */ | ||
| 2429 | #define ARIZONA_IN4L_DMIC_DLY_SHIFT 0 /* IN4L_DMIC_DLY - [5:0] */ | ||
| 2430 | #define ARIZONA_IN4L_DMIC_DLY_WIDTH 6 /* IN4L_DMIC_DLY - [5:0] */ | ||
| 2431 | |||
| 2432 | /* | ||
| 2433 | * R813 (0x32D) - ADC Digital Volume 4R | ||
| 2434 | */ | ||
| 2435 | #define ARIZONA_IN_VU 0x0200 /* IN_VU */ | ||
| 2436 | #define ARIZONA_IN_VU_MASK 0x0200 /* IN_VU */ | ||
| 2437 | #define ARIZONA_IN_VU_SHIFT 9 /* IN_VU */ | ||
| 2438 | #define ARIZONA_IN_VU_WIDTH 1 /* IN_VU */ | ||
| 2439 | #define ARIZONA_IN4R_MUTE 0x0100 /* IN4R_MUTE */ | ||
| 2440 | #define ARIZONA_IN4R_MUTE_MASK 0x0100 /* IN4R_MUTE */ | ||
| 2441 | #define ARIZONA_IN4R_MUTE_SHIFT 8 /* IN4R_MUTE */ | ||
| 2442 | #define ARIZONA_IN4R_MUTE_WIDTH 1 /* IN4R_MUTE */ | ||
| 2443 | #define ARIZONA_IN4R_DIG_VOL_MASK 0x00FF /* IN4R_DIG_VOL - [7:0] */ | ||
| 2444 | #define ARIZONA_IN4R_DIG_VOL_SHIFT 0 /* IN4R_DIG_VOL - [7:0] */ | ||
| 2445 | #define ARIZONA_IN4R_DIG_VOL_WIDTH 8 /* IN4R_DIG_VOL - [7:0] */ | ||
| 2446 | |||
| 2447 | /* | ||
| 2448 | * R814 (0x32E) - DMIC4R Control | ||
| 2449 | */ | ||
| 2450 | #define ARIZONA_IN4R_DMIC_DLY_MASK 0x003F /* IN4R_DMIC_DLY - [5:0] */ | ||
| 2451 | #define ARIZONA_IN4R_DMIC_DLY_SHIFT 0 /* IN4R_DMIC_DLY - [5:0] */ | ||
| 2452 | #define ARIZONA_IN4R_DMIC_DLY_WIDTH 6 /* IN4R_DMIC_DLY - [5:0] */ | ||
| 2453 | |||
| 2454 | /* | ||
| 2455 | * R1024 (0x400) - Output Enables 1 | ||
| 2456 | */ | ||
| 2457 | #define ARIZONA_OUT6L_ENA 0x0800 /* OUT6L_ENA */ | ||
| 2458 | #define ARIZONA_OUT6L_ENA_MASK 0x0800 /* OUT6L_ENA */ | ||
| 2459 | #define ARIZONA_OUT6L_ENA_SHIFT 11 /* OUT6L_ENA */ | ||
| 2460 | #define ARIZONA_OUT6L_ENA_WIDTH 1 /* OUT6L_ENA */ | ||
| 2461 | #define ARIZONA_OUT6R_ENA 0x0400 /* OUT6R_ENA */ | ||
| 2462 | #define ARIZONA_OUT6R_ENA_MASK 0x0400 /* OUT6R_ENA */ | ||
| 2463 | #define ARIZONA_OUT6R_ENA_SHIFT 10 /* OUT6R_ENA */ | ||
| 2464 | #define ARIZONA_OUT6R_ENA_WIDTH 1 /* OUT6R_ENA */ | ||
| 2465 | #define ARIZONA_OUT5L_ENA 0x0200 /* OUT5L_ENA */ | ||
| 2466 | #define ARIZONA_OUT5L_ENA_MASK 0x0200 /* OUT5L_ENA */ | ||
| 2467 | #define ARIZONA_OUT5L_ENA_SHIFT 9 /* OUT5L_ENA */ | ||
| 2468 | #define ARIZONA_OUT5L_ENA_WIDTH 1 /* OUT5L_ENA */ | ||
| 2469 | #define ARIZONA_OUT5R_ENA 0x0100 /* OUT5R_ENA */ | ||
| 2470 | #define ARIZONA_OUT5R_ENA_MASK 0x0100 /* OUT5R_ENA */ | ||
| 2471 | #define ARIZONA_OUT5R_ENA_SHIFT 8 /* OUT5R_ENA */ | ||
| 2472 | #define ARIZONA_OUT5R_ENA_WIDTH 1 /* OUT5R_ENA */ | ||
| 2473 | #define ARIZONA_OUT4L_ENA 0x0080 /* OUT4L_ENA */ | ||
| 2474 | #define ARIZONA_OUT4L_ENA_MASK 0x0080 /* OUT4L_ENA */ | ||
| 2475 | #define ARIZONA_OUT4L_ENA_SHIFT 7 /* OUT4L_ENA */ | ||
| 2476 | #define ARIZONA_OUT4L_ENA_WIDTH 1 /* OUT4L_ENA */ | ||
| 2477 | #define ARIZONA_OUT4R_ENA 0x0040 /* OUT4R_ENA */ | ||
| 2478 | #define ARIZONA_OUT4R_ENA_MASK 0x0040 /* OUT4R_ENA */ | ||
| 2479 | #define ARIZONA_OUT4R_ENA_SHIFT 6 /* OUT4R_ENA */ | ||
| 2480 | #define ARIZONA_OUT4R_ENA_WIDTH 1 /* OUT4R_ENA */ | ||
| 2481 | #define ARIZONA_OUT3L_ENA 0x0020 /* OUT3L_ENA */ | ||
| 2482 | #define ARIZONA_OUT3L_ENA_MASK 0x0020 /* OUT3L_ENA */ | ||
| 2483 | #define ARIZONA_OUT3L_ENA_SHIFT 5 /* OUT3L_ENA */ | ||
| 2484 | #define ARIZONA_OUT3L_ENA_WIDTH 1 /* OUT3L_ENA */ | ||
| 2485 | #define ARIZONA_OUT3R_ENA 0x0010 /* OUT3R_ENA */ | ||
| 2486 | #define ARIZONA_OUT3R_ENA_MASK 0x0010 /* OUT3R_ENA */ | ||
| 2487 | #define ARIZONA_OUT3R_ENA_SHIFT 4 /* OUT3R_ENA */ | ||
| 2488 | #define ARIZONA_OUT3R_ENA_WIDTH 1 /* OUT3R_ENA */ | ||
| 2489 | #define ARIZONA_OUT2L_ENA 0x0008 /* OUT2L_ENA */ | ||
| 2490 | #define ARIZONA_OUT2L_ENA_MASK 0x0008 /* OUT2L_ENA */ | ||
| 2491 | #define ARIZONA_OUT2L_ENA_SHIFT 3 /* OUT2L_ENA */ | ||
| 2492 | #define ARIZONA_OUT2L_ENA_WIDTH 1 /* OUT2L_ENA */ | ||
| 2493 | #define ARIZONA_OUT2R_ENA 0x0004 /* OUT2R_ENA */ | ||
| 2494 | #define ARIZONA_OUT2R_ENA_MASK 0x0004 /* OUT2R_ENA */ | ||
| 2495 | #define ARIZONA_OUT2R_ENA_SHIFT 2 /* OUT2R_ENA */ | ||
| 2496 | #define ARIZONA_OUT2R_ENA_WIDTH 1 /* OUT2R_ENA */ | ||
| 2497 | #define ARIZONA_OUT1L_ENA 0x0002 /* OUT1L_ENA */ | ||
| 2498 | #define ARIZONA_OUT1L_ENA_MASK 0x0002 /* OUT1L_ENA */ | ||
| 2499 | #define ARIZONA_OUT1L_ENA_SHIFT 1 /* OUT1L_ENA */ | ||
| 2500 | #define ARIZONA_OUT1L_ENA_WIDTH 1 /* OUT1L_ENA */ | ||
| 2501 | #define ARIZONA_OUT1R_ENA 0x0001 /* OUT1R_ENA */ | ||
| 2502 | #define ARIZONA_OUT1R_ENA_MASK 0x0001 /* OUT1R_ENA */ | ||
| 2503 | #define ARIZONA_OUT1R_ENA_SHIFT 0 /* OUT1R_ENA */ | ||
| 2504 | #define ARIZONA_OUT1R_ENA_WIDTH 1 /* OUT1R_ENA */ | ||
| 2505 | |||
| 2506 | /* | ||
| 2507 | * R1025 (0x401) - Output Status 1 | ||
| 2508 | */ | ||
| 2509 | #define ARIZONA_OUT6L_ENA_STS 0x0800 /* OUT6L_ENA_STS */ | ||
| 2510 | #define ARIZONA_OUT6L_ENA_STS_MASK 0x0800 /* OUT6L_ENA_STS */ | ||
| 2511 | #define ARIZONA_OUT6L_ENA_STS_SHIFT 11 /* OUT6L_ENA_STS */ | ||
| 2512 | #define ARIZONA_OUT6L_ENA_STS_WIDTH 1 /* OUT6L_ENA_STS */ | ||
| 2513 | #define ARIZONA_OUT6R_ENA_STS 0x0400 /* OUT6R_ENA_STS */ | ||
| 2514 | #define ARIZONA_OUT6R_ENA_STS_MASK 0x0400 /* OUT6R_ENA_STS */ | ||
| 2515 | #define ARIZONA_OUT6R_ENA_STS_SHIFT 10 /* OUT6R_ENA_STS */ | ||
| 2516 | #define ARIZONA_OUT6R_ENA_STS_WIDTH 1 /* OUT6R_ENA_STS */ | ||
| 2517 | #define ARIZONA_OUT5L_ENA_STS 0x0200 /* OUT5L_ENA_STS */ | ||
| 2518 | #define ARIZONA_OUT5L_ENA_STS_MASK 0x0200 /* OUT5L_ENA_STS */ | ||
| 2519 | #define ARIZONA_OUT5L_ENA_STS_SHIFT 9 /* OUT5L_ENA_STS */ | ||
| 2520 | #define ARIZONA_OUT5L_ENA_STS_WIDTH 1 /* OUT5L_ENA_STS */ | ||
| 2521 | #define ARIZONA_OUT5R_ENA_STS 0x0100 /* OUT5R_ENA_STS */ | ||
| 2522 | #define ARIZONA_OUT5R_ENA_STS_MASK 0x0100 /* OUT5R_ENA_STS */ | ||
| 2523 | #define ARIZONA_OUT5R_ENA_STS_SHIFT 8 /* OUT5R_ENA_STS */ | ||
| 2524 | #define ARIZONA_OUT5R_ENA_STS_WIDTH 1 /* OUT5R_ENA_STS */ | ||
| 2525 | #define ARIZONA_OUT4L_ENA_STS 0x0080 /* OUT4L_ENA_STS */ | ||
| 2526 | #define ARIZONA_OUT4L_ENA_STS_MASK 0x0080 /* OUT4L_ENA_STS */ | ||
| 2527 | #define ARIZONA_OUT4L_ENA_STS_SHIFT 7 /* OUT4L_ENA_STS */ | ||
| 2528 | #define ARIZONA_OUT4L_ENA_STS_WIDTH 1 /* OUT4L_ENA_STS */ | ||
| 2529 | #define ARIZONA_OUT4R_ENA_STS 0x0040 /* OUT4R_ENA_STS */ | ||
| 2530 | #define ARIZONA_OUT4R_ENA_STS_MASK 0x0040 /* OUT4R_ENA_STS */ | ||
| 2531 | #define ARIZONA_OUT4R_ENA_STS_SHIFT 6 /* OUT4R_ENA_STS */ | ||
| 2532 | #define ARIZONA_OUT4R_ENA_STS_WIDTH 1 /* OUT4R_ENA_STS */ | ||
| 2533 | |||
| 2534 | /* | ||
| 2535 | * R1032 (0x408) - Output Rate 1 | ||
| 2536 | */ | ||
| 2537 | #define ARIZONA_OUT_RATE_MASK 0x7800 /* OUT_RATE - [14:11] */ | ||
| 2538 | #define ARIZONA_OUT_RATE_SHIFT 11 /* OUT_RATE - [14:11] */ | ||
| 2539 | #define ARIZONA_OUT_RATE_WIDTH 4 /* OUT_RATE - [14:11] */ | ||
| 2540 | |||
| 2541 | /* | ||
| 2542 | * R1033 (0x409) - Output Volume Ramp | ||
| 2543 | */ | ||
| 2544 | #define ARIZONA_OUT_VD_RAMP_MASK 0x0070 /* OUT_VD_RAMP - [6:4] */ | ||
| 2545 | #define ARIZONA_OUT_VD_RAMP_SHIFT 4 /* OUT_VD_RAMP - [6:4] */ | ||
| 2546 | #define ARIZONA_OUT_VD_RAMP_WIDTH 3 /* OUT_VD_RAMP - [6:4] */ | ||
| 2547 | #define ARIZONA_OUT_VI_RAMP_MASK 0x0007 /* OUT_VI_RAMP - [2:0] */ | ||
| 2548 | #define ARIZONA_OUT_VI_RAMP_SHIFT 0 /* OUT_VI_RAMP - [2:0] */ | ||
| 2549 | #define ARIZONA_OUT_VI_RAMP_WIDTH 3 /* OUT_VI_RAMP - [2:0] */ | ||
| 2550 | |||
| 2551 | /* | ||
| 2552 | * R1040 (0x410) - Output Path Config 1L | ||
| 2553 | */ | ||
| 2554 | #define ARIZONA_OUT1_LP_MODE 0x8000 /* OUT1_LP_MODE */ | ||
| 2555 | #define ARIZONA_OUT1_LP_MODE_MASK 0x8000 /* OUT1_LP_MODE */ | ||
| 2556 | #define ARIZONA_OUT1_LP_MODE_SHIFT 15 /* OUT1_LP_MODE */ | ||
| 2557 | #define ARIZONA_OUT1_LP_MODE_WIDTH 1 /* OUT1_LP_MODE */ | ||
| 2558 | #define ARIZONA_OUT1_OSR 0x2000 /* OUT1_OSR */ | ||
| 2559 | #define ARIZONA_OUT1_OSR_MASK 0x2000 /* OUT1_OSR */ | ||
| 2560 | #define ARIZONA_OUT1_OSR_SHIFT 13 /* OUT1_OSR */ | ||
| 2561 | #define ARIZONA_OUT1_OSR_WIDTH 1 /* OUT1_OSR */ | ||
| 2562 | #define ARIZONA_OUT1_MONO 0x1000 /* OUT1_MONO */ | ||
| 2563 | #define ARIZONA_OUT1_MONO_MASK 0x1000 /* OUT1_MONO */ | ||
| 2564 | #define ARIZONA_OUT1_MONO_SHIFT 12 /* OUT1_MONO */ | ||
| 2565 | #define ARIZONA_OUT1_MONO_WIDTH 1 /* OUT1_MONO */ | ||
| 2566 | #define ARIZONA_OUT1L_ANC_SRC_MASK 0x0C00 /* OUT1L_ANC_SRC - [11:10] */ | ||
| 2567 | #define ARIZONA_OUT1L_ANC_SRC_SHIFT 10 /* OUT1L_ANC_SRC - [11:10] */ | ||
| 2568 | #define ARIZONA_OUT1L_ANC_SRC_WIDTH 2 /* OUT1L_ANC_SRC - [11:10] */ | ||
| 2569 | #define ARIZONA_OUT1L_PGA_VOL_MASK 0x00FE /* OUT1L_PGA_VOL - [7:1] */ | ||
| 2570 | #define ARIZONA_OUT1L_PGA_VOL_SHIFT 1 /* OUT1L_PGA_VOL - [7:1] */ | ||
| 2571 | #define ARIZONA_OUT1L_PGA_VOL_WIDTH 7 /* OUT1L_PGA_VOL - [7:1] */ | ||
| 2572 | |||
| 2573 | /* | ||
| 2574 | * R1041 (0x411) - DAC Digital Volume 1L | ||
| 2575 | */ | ||
| 2576 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2577 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2578 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2579 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2580 | #define ARIZONA_OUT1L_MUTE 0x0100 /* OUT1L_MUTE */ | ||
| 2581 | #define ARIZONA_OUT1L_MUTE_MASK 0x0100 /* OUT1L_MUTE */ | ||
| 2582 | #define ARIZONA_OUT1L_MUTE_SHIFT 8 /* OUT1L_MUTE */ | ||
| 2583 | #define ARIZONA_OUT1L_MUTE_WIDTH 1 /* OUT1L_MUTE */ | ||
| 2584 | #define ARIZONA_OUT1L_VOL_MASK 0x00FF /* OUT1L_VOL - [7:0] */ | ||
| 2585 | #define ARIZONA_OUT1L_VOL_SHIFT 0 /* OUT1L_VOL - [7:0] */ | ||
| 2586 | #define ARIZONA_OUT1L_VOL_WIDTH 8 /* OUT1L_VOL - [7:0] */ | ||
| 2587 | |||
| 2588 | /* | ||
| 2589 | * R1042 (0x412) - DAC Volume Limit 1L | ||
| 2590 | */ | ||
| 2591 | #define ARIZONA_OUT1L_VOL_LIM_MASK 0x00FF /* OUT1L_VOL_LIM - [7:0] */ | ||
| 2592 | #define ARIZONA_OUT1L_VOL_LIM_SHIFT 0 /* OUT1L_VOL_LIM - [7:0] */ | ||
| 2593 | #define ARIZONA_OUT1L_VOL_LIM_WIDTH 8 /* OUT1L_VOL_LIM - [7:0] */ | ||
| 2594 | |||
| 2595 | /* | ||
| 2596 | * R1043 (0x413) - Noise Gate Select 1L | ||
| 2597 | */ | ||
| 2598 | #define ARIZONA_OUT1L_NGATE_SRC_MASK 0x0FFF /* OUT1L_NGATE_SRC - [11:0] */ | ||
| 2599 | #define ARIZONA_OUT1L_NGATE_SRC_SHIFT 0 /* OUT1L_NGATE_SRC - [11:0] */ | ||
| 2600 | #define ARIZONA_OUT1L_NGATE_SRC_WIDTH 12 /* OUT1L_NGATE_SRC - [11:0] */ | ||
| 2601 | |||
| 2602 | /* | ||
| 2603 | * R1044 (0x414) - Output Path Config 1R | ||
| 2604 | */ | ||
| 2605 | #define ARIZONA_OUT1R_ANC_SRC_MASK 0x0C00 /* OUT1R_ANC_SRC - [11:10] */ | ||
| 2606 | #define ARIZONA_OUT1R_ANC_SRC_SHIFT 10 /* OUT1R_ANC_SRC - [11:10] */ | ||
| 2607 | #define ARIZONA_OUT1R_ANC_SRC_WIDTH 2 /* OUT1R_ANC_SRC - [11:10] */ | ||
| 2608 | #define ARIZONA_OUT1R_PGA_VOL_MASK 0x00FE /* OUT1R_PGA_VOL - [7:1] */ | ||
| 2609 | #define ARIZONA_OUT1R_PGA_VOL_SHIFT 1 /* OUT1R_PGA_VOL - [7:1] */ | ||
| 2610 | #define ARIZONA_OUT1R_PGA_VOL_WIDTH 7 /* OUT1R_PGA_VOL - [7:1] */ | ||
| 2611 | |||
| 2612 | /* | ||
| 2613 | * R1045 (0x415) - DAC Digital Volume 1R | ||
| 2614 | */ | ||
| 2615 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2616 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2617 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2618 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2619 | #define ARIZONA_OUT1R_MUTE 0x0100 /* OUT1R_MUTE */ | ||
| 2620 | #define ARIZONA_OUT1R_MUTE_MASK 0x0100 /* OUT1R_MUTE */ | ||
| 2621 | #define ARIZONA_OUT1R_MUTE_SHIFT 8 /* OUT1R_MUTE */ | ||
| 2622 | #define ARIZONA_OUT1R_MUTE_WIDTH 1 /* OUT1R_MUTE */ | ||
| 2623 | #define ARIZONA_OUT1R_VOL_MASK 0x00FF /* OUT1R_VOL - [7:0] */ | ||
| 2624 | #define ARIZONA_OUT1R_VOL_SHIFT 0 /* OUT1R_VOL - [7:0] */ | ||
| 2625 | #define ARIZONA_OUT1R_VOL_WIDTH 8 /* OUT1R_VOL - [7:0] */ | ||
| 2626 | |||
| 2627 | /* | ||
| 2628 | * R1046 (0x416) - DAC Volume Limit 1R | ||
| 2629 | */ | ||
| 2630 | #define ARIZONA_OUT1R_VOL_LIM_MASK 0x00FF /* OUT1R_VOL_LIM - [7:0] */ | ||
| 2631 | #define ARIZONA_OUT1R_VOL_LIM_SHIFT 0 /* OUT1R_VOL_LIM - [7:0] */ | ||
| 2632 | #define ARIZONA_OUT1R_VOL_LIM_WIDTH 8 /* OUT1R_VOL_LIM - [7:0] */ | ||
| 2633 | |||
| 2634 | /* | ||
| 2635 | * R1047 (0x417) - Noise Gate Select 1R | ||
| 2636 | */ | ||
| 2637 | #define ARIZONA_OUT1R_NGATE_SRC_MASK 0x0FFF /* OUT1R_NGATE_SRC - [11:0] */ | ||
| 2638 | #define ARIZONA_OUT1R_NGATE_SRC_SHIFT 0 /* OUT1R_NGATE_SRC - [11:0] */ | ||
| 2639 | #define ARIZONA_OUT1R_NGATE_SRC_WIDTH 12 /* OUT1R_NGATE_SRC - [11:0] */ | ||
| 2640 | |||
| 2641 | /* | ||
| 2642 | * R1048 (0x418) - Output Path Config 2L | ||
| 2643 | */ | ||
| 2644 | #define ARIZONA_OUT2_LP_MODE 0x8000 /* OUT2_LP_MODE */ | ||
| 2645 | #define ARIZONA_OUT2_LP_MODE_MASK 0x8000 /* OUT2_LP_MODE */ | ||
| 2646 | #define ARIZONA_OUT2_LP_MODE_SHIFT 15 /* OUT2_LP_MODE */ | ||
| 2647 | #define ARIZONA_OUT2_LP_MODE_WIDTH 1 /* OUT2_LP_MODE */ | ||
| 2648 | #define ARIZONA_OUT2_OSR 0x2000 /* OUT2_OSR */ | ||
| 2649 | #define ARIZONA_OUT2_OSR_MASK 0x2000 /* OUT2_OSR */ | ||
| 2650 | #define ARIZONA_OUT2_OSR_SHIFT 13 /* OUT2_OSR */ | ||
| 2651 | #define ARIZONA_OUT2_OSR_WIDTH 1 /* OUT2_OSR */ | ||
| 2652 | #define ARIZONA_OUT2_MONO 0x1000 /* OUT2_MONO */ | ||
| 2653 | #define ARIZONA_OUT2_MONO_MASK 0x1000 /* OUT2_MONO */ | ||
| 2654 | #define ARIZONA_OUT2_MONO_SHIFT 12 /* OUT2_MONO */ | ||
| 2655 | #define ARIZONA_OUT2_MONO_WIDTH 1 /* OUT2_MONO */ | ||
| 2656 | #define ARIZONA_OUT2L_ANC_SRC_MASK 0x0C00 /* OUT2L_ANC_SRC - [11:10] */ | ||
| 2657 | #define ARIZONA_OUT2L_ANC_SRC_SHIFT 10 /* OUT2L_ANC_SRC - [11:10] */ | ||
| 2658 | #define ARIZONA_OUT2L_ANC_SRC_WIDTH 2 /* OUT2L_ANC_SRC - [11:10] */ | ||
| 2659 | #define ARIZONA_OUT2L_PGA_VOL_MASK 0x00FE /* OUT2L_PGA_VOL - [7:1] */ | ||
| 2660 | #define ARIZONA_OUT2L_PGA_VOL_SHIFT 1 /* OUT2L_PGA_VOL - [7:1] */ | ||
| 2661 | #define ARIZONA_OUT2L_PGA_VOL_WIDTH 7 /* OUT2L_PGA_VOL - [7:1] */ | ||
| 2662 | |||
| 2663 | /* | ||
| 2664 | * R1049 (0x419) - DAC Digital Volume 2L | ||
| 2665 | */ | ||
| 2666 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2667 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2668 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2669 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2670 | #define ARIZONA_OUT2L_MUTE 0x0100 /* OUT2L_MUTE */ | ||
| 2671 | #define ARIZONA_OUT2L_MUTE_MASK 0x0100 /* OUT2L_MUTE */ | ||
| 2672 | #define ARIZONA_OUT2L_MUTE_SHIFT 8 /* OUT2L_MUTE */ | ||
| 2673 | #define ARIZONA_OUT2L_MUTE_WIDTH 1 /* OUT2L_MUTE */ | ||
| 2674 | #define ARIZONA_OUT2L_VOL_MASK 0x00FF /* OUT2L_VOL - [7:0] */ | ||
| 2675 | #define ARIZONA_OUT2L_VOL_SHIFT 0 /* OUT2L_VOL - [7:0] */ | ||
| 2676 | #define ARIZONA_OUT2L_VOL_WIDTH 8 /* OUT2L_VOL - [7:0] */ | ||
| 2677 | |||
| 2678 | /* | ||
| 2679 | * R1050 (0x41A) - DAC Volume Limit 2L | ||
| 2680 | */ | ||
| 2681 | #define ARIZONA_OUT2L_VOL_LIM_MASK 0x00FF /* OUT2L_VOL_LIM - [7:0] */ | ||
| 2682 | #define ARIZONA_OUT2L_VOL_LIM_SHIFT 0 /* OUT2L_VOL_LIM - [7:0] */ | ||
| 2683 | #define ARIZONA_OUT2L_VOL_LIM_WIDTH 8 /* OUT2L_VOL_LIM - [7:0] */ | ||
| 2684 | |||
| 2685 | /* | ||
| 2686 | * R1051 (0x41B) - Noise Gate Select 2L | ||
| 2687 | */ | ||
| 2688 | #define ARIZONA_OUT2L_NGATE_SRC_MASK 0x0FFF /* OUT2L_NGATE_SRC - [11:0] */ | ||
| 2689 | #define ARIZONA_OUT2L_NGATE_SRC_SHIFT 0 /* OUT2L_NGATE_SRC - [11:0] */ | ||
| 2690 | #define ARIZONA_OUT2L_NGATE_SRC_WIDTH 12 /* OUT2L_NGATE_SRC - [11:0] */ | ||
| 2691 | |||
| 2692 | /* | ||
| 2693 | * R1052 (0x41C) - Output Path Config 2R | ||
| 2694 | */ | ||
| 2695 | #define ARIZONA_OUT2R_ANC_SRC_MASK 0x0C00 /* OUT2R_ANC_SRC - [11:10] */ | ||
| 2696 | #define ARIZONA_OUT2R_ANC_SRC_SHIFT 10 /* OUT2R_ANC_SRC - [11:10] */ | ||
| 2697 | #define ARIZONA_OUT2R_ANC_SRC_WIDTH 2 /* OUT2R_ANC_SRC - [11:10] */ | ||
| 2698 | #define ARIZONA_OUT2R_PGA_VOL_MASK 0x00FE /* OUT2R_PGA_VOL - [7:1] */ | ||
| 2699 | #define ARIZONA_OUT2R_PGA_VOL_SHIFT 1 /* OUT2R_PGA_VOL - [7:1] */ | ||
| 2700 | #define ARIZONA_OUT2R_PGA_VOL_WIDTH 7 /* OUT2R_PGA_VOL - [7:1] */ | ||
| 2701 | |||
| 2702 | /* | ||
| 2703 | * R1053 (0x41D) - DAC Digital Volume 2R | ||
| 2704 | */ | ||
| 2705 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2706 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2707 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2708 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2709 | #define ARIZONA_OUT2R_MUTE 0x0100 /* OUT2R_MUTE */ | ||
| 2710 | #define ARIZONA_OUT2R_MUTE_MASK 0x0100 /* OUT2R_MUTE */ | ||
| 2711 | #define ARIZONA_OUT2R_MUTE_SHIFT 8 /* OUT2R_MUTE */ | ||
| 2712 | #define ARIZONA_OUT2R_MUTE_WIDTH 1 /* OUT2R_MUTE */ | ||
| 2713 | #define ARIZONA_OUT2R_VOL_MASK 0x00FF /* OUT2R_VOL - [7:0] */ | ||
| 2714 | #define ARIZONA_OUT2R_VOL_SHIFT 0 /* OUT2R_VOL - [7:0] */ | ||
| 2715 | #define ARIZONA_OUT2R_VOL_WIDTH 8 /* OUT2R_VOL - [7:0] */ | ||
| 2716 | |||
| 2717 | /* | ||
| 2718 | * R1054 (0x41E) - DAC Volume Limit 2R | ||
| 2719 | */ | ||
| 2720 | #define ARIZONA_OUT2R_VOL_LIM_MASK 0x00FF /* OUT2R_VOL_LIM - [7:0] */ | ||
| 2721 | #define ARIZONA_OUT2R_VOL_LIM_SHIFT 0 /* OUT2R_VOL_LIM - [7:0] */ | ||
| 2722 | #define ARIZONA_OUT2R_VOL_LIM_WIDTH 8 /* OUT2R_VOL_LIM - [7:0] */ | ||
| 2723 | |||
| 2724 | /* | ||
| 2725 | * R1055 (0x41F) - Noise Gate Select 2R | ||
| 2726 | */ | ||
| 2727 | #define ARIZONA_OUT2R_NGATE_SRC_MASK 0x0FFF /* OUT2R_NGATE_SRC - [11:0] */ | ||
| 2728 | #define ARIZONA_OUT2R_NGATE_SRC_SHIFT 0 /* OUT2R_NGATE_SRC - [11:0] */ | ||
| 2729 | #define ARIZONA_OUT2R_NGATE_SRC_WIDTH 12 /* OUT2R_NGATE_SRC - [11:0] */ | ||
| 2730 | |||
| 2731 | /* | ||
| 2732 | * R1056 (0x420) - Output Path Config 3L | ||
| 2733 | */ | ||
| 2734 | #define ARIZONA_OUT3_LP_MODE 0x8000 /* OUT3_LP_MODE */ | ||
| 2735 | #define ARIZONA_OUT3_LP_MODE_MASK 0x8000 /* OUT3_LP_MODE */ | ||
| 2736 | #define ARIZONA_OUT3_LP_MODE_SHIFT 15 /* OUT3_LP_MODE */ | ||
| 2737 | #define ARIZONA_OUT3_LP_MODE_WIDTH 1 /* OUT3_LP_MODE */ | ||
| 2738 | #define ARIZONA_OUT3_OSR 0x2000 /* OUT3_OSR */ | ||
| 2739 | #define ARIZONA_OUT3_OSR_MASK 0x2000 /* OUT3_OSR */ | ||
| 2740 | #define ARIZONA_OUT3_OSR_SHIFT 13 /* OUT3_OSR */ | ||
| 2741 | #define ARIZONA_OUT3_OSR_WIDTH 1 /* OUT3_OSR */ | ||
| 2742 | #define ARIZONA_OUT3_MONO 0x1000 /* OUT3_MONO */ | ||
| 2743 | #define ARIZONA_OUT3_MONO_MASK 0x1000 /* OUT3_MONO */ | ||
| 2744 | #define ARIZONA_OUT3_MONO_SHIFT 12 /* OUT3_MONO */ | ||
| 2745 | #define ARIZONA_OUT3_MONO_WIDTH 1 /* OUT3_MONO */ | ||
| 2746 | #define ARIZONA_OUT3L_ANC_SRC_MASK 0x0C00 /* OUT3L_ANC_SRC - [11:10] */ | ||
| 2747 | #define ARIZONA_OUT3L_ANC_SRC_SHIFT 10 /* OUT3L_ANC_SRC - [11:10] */ | ||
| 2748 | #define ARIZONA_OUT3L_ANC_SRC_WIDTH 2 /* OUT3L_ANC_SRC - [11:10] */ | ||
| 2749 | #define ARIZONA_OUT3L_PGA_VOL_MASK 0x00FE /* OUT3L_PGA_VOL - [7:1] */ | ||
| 2750 | #define ARIZONA_OUT3L_PGA_VOL_SHIFT 1 /* OUT3L_PGA_VOL - [7:1] */ | ||
| 2751 | #define ARIZONA_OUT3L_PGA_VOL_WIDTH 7 /* OUT3L_PGA_VOL - [7:1] */ | ||
| 2752 | |||
| 2753 | /* | ||
| 2754 | * R1057 (0x421) - DAC Digital Volume 3L | ||
| 2755 | */ | ||
| 2756 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2757 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2758 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2759 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2760 | #define ARIZONA_OUT3L_MUTE 0x0100 /* OUT3L_MUTE */ | ||
| 2761 | #define ARIZONA_OUT3L_MUTE_MASK 0x0100 /* OUT3L_MUTE */ | ||
| 2762 | #define ARIZONA_OUT3L_MUTE_SHIFT 8 /* OUT3L_MUTE */ | ||
| 2763 | #define ARIZONA_OUT3L_MUTE_WIDTH 1 /* OUT3L_MUTE */ | ||
| 2764 | #define ARIZONA_OUT3L_VOL_MASK 0x00FF /* OUT3L_VOL - [7:0] */ | ||
| 2765 | #define ARIZONA_OUT3L_VOL_SHIFT 0 /* OUT3L_VOL - [7:0] */ | ||
| 2766 | #define ARIZONA_OUT3L_VOL_WIDTH 8 /* OUT3L_VOL - [7:0] */ | ||
| 2767 | |||
| 2768 | /* | ||
| 2769 | * R1058 (0x422) - DAC Volume Limit 3L | ||
| 2770 | */ | ||
| 2771 | #define ARIZONA_OUT3L_VOL_LIM_MASK 0x00FF /* OUT3L_VOL_LIM - [7:0] */ | ||
| 2772 | #define ARIZONA_OUT3L_VOL_LIM_SHIFT 0 /* OUT3L_VOL_LIM - [7:0] */ | ||
| 2773 | #define ARIZONA_OUT3L_VOL_LIM_WIDTH 8 /* OUT3L_VOL_LIM - [7:0] */ | ||
| 2774 | |||
| 2775 | /* | ||
| 2776 | * R1059 (0x423) - Noise Gate Select 3L | ||
| 2777 | */ | ||
| 2778 | #define ARIZONA_OUT3_NGATE_SRC_MASK 0x0FFF /* OUT3_NGATE_SRC - [11:0] */ | ||
| 2779 | #define ARIZONA_OUT3_NGATE_SRC_SHIFT 0 /* OUT3_NGATE_SRC - [11:0] */ | ||
| 2780 | #define ARIZONA_OUT3_NGATE_SRC_WIDTH 12 /* OUT3_NGATE_SRC - [11:0] */ | ||
| 2781 | |||
| 2782 | /* | ||
| 2783 | * R1060 (0x424) - Output Path Config 3R | ||
| 2784 | */ | ||
| 2785 | #define ARIZONA_OUT3R_PGA_VOL_MASK 0x00FE /* OUT3R_PGA_VOL - [7:1] */ | ||
| 2786 | #define ARIZONA_OUT3R_PGA_VOL_SHIFT 1 /* OUT3R_PGA_VOL - [7:1] */ | ||
| 2787 | #define ARIZONA_OUT3R_PGA_VOL_WIDTH 7 /* OUT3R_PGA_VOL - [7:1] */ | ||
| 2788 | |||
| 2789 | /* | ||
| 2790 | * R1061 (0x425) - DAC Digital Volume 3R | ||
| 2791 | */ | ||
| 2792 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2793 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2794 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2795 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2796 | #define ARIZONA_OUT3R_MUTE 0x0100 /* OUT3R_MUTE */ | ||
| 2797 | #define ARIZONA_OUT3R_MUTE_MASK 0x0100 /* OUT3R_MUTE */ | ||
| 2798 | #define ARIZONA_OUT3R_MUTE_SHIFT 8 /* OUT3R_MUTE */ | ||
| 2799 | #define ARIZONA_OUT3R_MUTE_WIDTH 1 /* OUT3R_MUTE */ | ||
| 2800 | #define ARIZONA_OUT3R_VOL_MASK 0x00FF /* OUT3R_VOL - [7:0] */ | ||
| 2801 | #define ARIZONA_OUT3R_VOL_SHIFT 0 /* OUT3R_VOL - [7:0] */ | ||
| 2802 | #define ARIZONA_OUT3R_VOL_WIDTH 8 /* OUT3R_VOL - [7:0] */ | ||
| 2803 | |||
| 2804 | /* | ||
| 2805 | * R1062 (0x426) - DAC Volume Limit 3R | ||
| 2806 | */ | ||
| 2807 | #define ARIZONA_OUT3R_ANC_SRC_MASK 0x0C00 /* OUT3R_ANC_SRC - [11:10] */ | ||
| 2808 | #define ARIZONA_OUT3R_ANC_SRC_SHIFT 10 /* OUT3R_ANC_SRC - [11:10] */ | ||
| 2809 | #define ARIZONA_OUT3R_ANC_SRC_WIDTH 2 /* OUT3R_ANC_SRC - [11:10] */ | ||
| 2810 | #define ARIZONA_OUT3R_VOL_LIM_MASK 0x00FF /* OUT3R_VOL_LIM - [7:0] */ | ||
| 2811 | #define ARIZONA_OUT3R_VOL_LIM_SHIFT 0 /* OUT3R_VOL_LIM - [7:0] */ | ||
| 2812 | #define ARIZONA_OUT3R_VOL_LIM_WIDTH 8 /* OUT3R_VOL_LIM - [7:0] */ | ||
| 2813 | |||
| 2814 | /* | ||
| 2815 | * R1064 (0x428) - Output Path Config 4L | ||
| 2816 | */ | ||
| 2817 | #define ARIZONA_OUT4_OSR 0x2000 /* OUT4_OSR */ | ||
| 2818 | #define ARIZONA_OUT4_OSR_MASK 0x2000 /* OUT4_OSR */ | ||
| 2819 | #define ARIZONA_OUT4_OSR_SHIFT 13 /* OUT4_OSR */ | ||
| 2820 | #define ARIZONA_OUT4_OSR_WIDTH 1 /* OUT4_OSR */ | ||
| 2821 | #define ARIZONA_OUT4L_ANC_SRC_MASK 0x0C00 /* OUT4L_ANC_SRC - [11:10] */ | ||
| 2822 | #define ARIZONA_OUT4L_ANC_SRC_SHIFT 10 /* OUT4L_ANC_SRC - [11:10] */ | ||
| 2823 | #define ARIZONA_OUT4L_ANC_SRC_WIDTH 2 /* OUT4L_ANC_SRC - [11:10] */ | ||
| 2824 | |||
| 2825 | /* | ||
| 2826 | * R1065 (0x429) - DAC Digital Volume 4L | ||
| 2827 | */ | ||
| 2828 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2829 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2830 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2831 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2832 | #define ARIZONA_OUT4L_MUTE 0x0100 /* OUT4L_MUTE */ | ||
| 2833 | #define ARIZONA_OUT4L_MUTE_MASK 0x0100 /* OUT4L_MUTE */ | ||
| 2834 | #define ARIZONA_OUT4L_MUTE_SHIFT 8 /* OUT4L_MUTE */ | ||
| 2835 | #define ARIZONA_OUT4L_MUTE_WIDTH 1 /* OUT4L_MUTE */ | ||
| 2836 | #define ARIZONA_OUT4L_VOL_MASK 0x00FF /* OUT4L_VOL - [7:0] */ | ||
| 2837 | #define ARIZONA_OUT4L_VOL_SHIFT 0 /* OUT4L_VOL - [7:0] */ | ||
| 2838 | #define ARIZONA_OUT4L_VOL_WIDTH 8 /* OUT4L_VOL - [7:0] */ | ||
| 2839 | |||
| 2840 | /* | ||
| 2841 | * R1066 (0x42A) - Out Volume 4L | ||
| 2842 | */ | ||
| 2843 | #define ARIZONA_OUT4L_VOL_LIM_MASK 0x00FF /* OUT4L_VOL_LIM - [7:0] */ | ||
| 2844 | #define ARIZONA_OUT4L_VOL_LIM_SHIFT 0 /* OUT4L_VOL_LIM - [7:0] */ | ||
| 2845 | #define ARIZONA_OUT4L_VOL_LIM_WIDTH 8 /* OUT4L_VOL_LIM - [7:0] */ | ||
| 2846 | |||
| 2847 | /* | ||
| 2848 | * R1067 (0x42B) - Noise Gate Select 4L | ||
| 2849 | */ | ||
| 2850 | #define ARIZONA_OUT4L_NGATE_SRC_MASK 0x0FFF /* OUT4L_NGATE_SRC - [11:0] */ | ||
| 2851 | #define ARIZONA_OUT4L_NGATE_SRC_SHIFT 0 /* OUT4L_NGATE_SRC - [11:0] */ | ||
| 2852 | #define ARIZONA_OUT4L_NGATE_SRC_WIDTH 12 /* OUT4L_NGATE_SRC - [11:0] */ | ||
| 2853 | |||
| 2854 | /* | ||
| 2855 | * R1068 (0x42C) - Output Path Config 4R | ||
| 2856 | */ | ||
| 2857 | #define ARIZONA_OUT4R_ANC_SRC_MASK 0x0C00 /* OUT4R_ANC_SRC - [11:10] */ | ||
| 2858 | #define ARIZONA_OUT4R_ANC_SRC_SHIFT 10 /* OUT4R_ANC_SRC - [11:10] */ | ||
| 2859 | #define ARIZONA_OUT4R_ANC_SRC_WIDTH 2 /* OUT4R_ANC_SRC - [11:10] */ | ||
| 2860 | |||
| 2861 | /* | ||
| 2862 | * R1069 (0x42D) - DAC Digital Volume 4R | ||
| 2863 | */ | ||
| 2864 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2865 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2866 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2867 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2868 | #define ARIZONA_OUT4R_MUTE 0x0100 /* OUT4R_MUTE */ | ||
| 2869 | #define ARIZONA_OUT4R_MUTE_MASK 0x0100 /* OUT4R_MUTE */ | ||
| 2870 | #define ARIZONA_OUT4R_MUTE_SHIFT 8 /* OUT4R_MUTE */ | ||
| 2871 | #define ARIZONA_OUT4R_MUTE_WIDTH 1 /* OUT4R_MUTE */ | ||
| 2872 | #define ARIZONA_OUT4R_VOL_MASK 0x00FF /* OUT4R_VOL - [7:0] */ | ||
| 2873 | #define ARIZONA_OUT4R_VOL_SHIFT 0 /* OUT4R_VOL - [7:0] */ | ||
| 2874 | #define ARIZONA_OUT4R_VOL_WIDTH 8 /* OUT4R_VOL - [7:0] */ | ||
| 2875 | |||
| 2876 | /* | ||
| 2877 | * R1070 (0x42E) - Out Volume 4R | ||
| 2878 | */ | ||
| 2879 | #define ARIZONA_OUT4R_VOL_LIM_MASK 0x00FF /* OUT4R_VOL_LIM - [7:0] */ | ||
| 2880 | #define ARIZONA_OUT4R_VOL_LIM_SHIFT 0 /* OUT4R_VOL_LIM - [7:0] */ | ||
| 2881 | #define ARIZONA_OUT4R_VOL_LIM_WIDTH 8 /* OUT4R_VOL_LIM - [7:0] */ | ||
| 2882 | |||
| 2883 | /* | ||
| 2884 | * R1071 (0x42F) - Noise Gate Select 4R | ||
| 2885 | */ | ||
| 2886 | #define ARIZONA_OUT4R_NGATE_SRC_MASK 0x0FFF /* OUT4R_NGATE_SRC - [11:0] */ | ||
| 2887 | #define ARIZONA_OUT4R_NGATE_SRC_SHIFT 0 /* OUT4R_NGATE_SRC - [11:0] */ | ||
| 2888 | #define ARIZONA_OUT4R_NGATE_SRC_WIDTH 12 /* OUT4R_NGATE_SRC - [11:0] */ | ||
| 2889 | |||
| 2890 | /* | ||
| 2891 | * R1072 (0x430) - Output Path Config 5L | ||
| 2892 | */ | ||
| 2893 | #define ARIZONA_OUT5_OSR 0x2000 /* OUT5_OSR */ | ||
| 2894 | #define ARIZONA_OUT5_OSR_MASK 0x2000 /* OUT5_OSR */ | ||
| 2895 | #define ARIZONA_OUT5_OSR_SHIFT 13 /* OUT5_OSR */ | ||
| 2896 | #define ARIZONA_OUT5_OSR_WIDTH 1 /* OUT5_OSR */ | ||
| 2897 | #define ARIZONA_OUT5L_ANC_SRC_MASK 0x0C00 /* OUT5L_ANC_SRC - [11:10] */ | ||
| 2898 | #define ARIZONA_OUT5L_ANC_SRC_SHIFT 10 /* OUT5L_ANC_SRC - [11:10] */ | ||
| 2899 | #define ARIZONA_OUT5L_ANC_SRC_WIDTH 2 /* OUT5L_ANC_SRC - [11:10] */ | ||
| 2900 | |||
| 2901 | /* | ||
| 2902 | * R1073 (0x431) - DAC Digital Volume 5L | ||
| 2903 | */ | ||
| 2904 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2905 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2906 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2907 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2908 | #define ARIZONA_OUT5L_MUTE 0x0100 /* OUT5L_MUTE */ | ||
| 2909 | #define ARIZONA_OUT5L_MUTE_MASK 0x0100 /* OUT5L_MUTE */ | ||
| 2910 | #define ARIZONA_OUT5L_MUTE_SHIFT 8 /* OUT5L_MUTE */ | ||
| 2911 | #define ARIZONA_OUT5L_MUTE_WIDTH 1 /* OUT5L_MUTE */ | ||
| 2912 | #define ARIZONA_OUT5L_VOL_MASK 0x00FF /* OUT5L_VOL - [7:0] */ | ||
| 2913 | #define ARIZONA_OUT5L_VOL_SHIFT 0 /* OUT5L_VOL - [7:0] */ | ||
| 2914 | #define ARIZONA_OUT5L_VOL_WIDTH 8 /* OUT5L_VOL - [7:0] */ | ||
| 2915 | |||
| 2916 | /* | ||
| 2917 | * R1074 (0x432) - DAC Volume Limit 5L | ||
| 2918 | */ | ||
| 2919 | #define ARIZONA_OUT5L_VOL_LIM_MASK 0x00FF /* OUT5L_VOL_LIM - [7:0] */ | ||
| 2920 | #define ARIZONA_OUT5L_VOL_LIM_SHIFT 0 /* OUT5L_VOL_LIM - [7:0] */ | ||
| 2921 | #define ARIZONA_OUT5L_VOL_LIM_WIDTH 8 /* OUT5L_VOL_LIM - [7:0] */ | ||
| 2922 | |||
| 2923 | /* | ||
| 2924 | * R1075 (0x433) - Noise Gate Select 5L | ||
| 2925 | */ | ||
| 2926 | #define ARIZONA_OUT5L_NGATE_SRC_MASK 0x0FFF /* OUT5L_NGATE_SRC - [11:0] */ | ||
| 2927 | #define ARIZONA_OUT5L_NGATE_SRC_SHIFT 0 /* OUT5L_NGATE_SRC - [11:0] */ | ||
| 2928 | #define ARIZONA_OUT5L_NGATE_SRC_WIDTH 12 /* OUT5L_NGATE_SRC - [11:0] */ | ||
| 2929 | |||
| 2930 | /* | ||
| 2931 | * R1076 (0x434) - Output Path Config 5R | ||
| 2932 | */ | ||
| 2933 | #define ARIZONA_OUT5R_ANC_SRC_MASK 0x0C00 /* OUT5R_ANC_SRC - [11:10] */ | ||
| 2934 | #define ARIZONA_OUT5R_ANC_SRC_SHIFT 10 /* OUT5R_ANC_SRC - [11:10] */ | ||
| 2935 | #define ARIZONA_OUT5R_ANC_SRC_WIDTH 2 /* OUT5R_ANC_SRC - [11:10] */ | ||
| 2936 | |||
| 2937 | /* | ||
| 2938 | * R1077 (0x435) - DAC Digital Volume 5R | ||
| 2939 | */ | ||
| 2940 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2941 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2942 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2943 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2944 | #define ARIZONA_OUT5R_MUTE 0x0100 /* OUT5R_MUTE */ | ||
| 2945 | #define ARIZONA_OUT5R_MUTE_MASK 0x0100 /* OUT5R_MUTE */ | ||
| 2946 | #define ARIZONA_OUT5R_MUTE_SHIFT 8 /* OUT5R_MUTE */ | ||
| 2947 | #define ARIZONA_OUT5R_MUTE_WIDTH 1 /* OUT5R_MUTE */ | ||
| 2948 | #define ARIZONA_OUT5R_VOL_MASK 0x00FF /* OUT5R_VOL - [7:0] */ | ||
| 2949 | #define ARIZONA_OUT5R_VOL_SHIFT 0 /* OUT5R_VOL - [7:0] */ | ||
| 2950 | #define ARIZONA_OUT5R_VOL_WIDTH 8 /* OUT5R_VOL - [7:0] */ | ||
| 2951 | |||
| 2952 | /* | ||
| 2953 | * R1078 (0x436) - DAC Volume Limit 5R | ||
| 2954 | */ | ||
| 2955 | #define ARIZONA_OUT5R_VOL_LIM_MASK 0x00FF /* OUT5R_VOL_LIM - [7:0] */ | ||
| 2956 | #define ARIZONA_OUT5R_VOL_LIM_SHIFT 0 /* OUT5R_VOL_LIM - [7:0] */ | ||
| 2957 | #define ARIZONA_OUT5R_VOL_LIM_WIDTH 8 /* OUT5R_VOL_LIM - [7:0] */ | ||
| 2958 | |||
| 2959 | /* | ||
| 2960 | * R1079 (0x437) - Noise Gate Select 5R | ||
| 2961 | */ | ||
| 2962 | #define ARIZONA_OUT5R_NGATE_SRC_MASK 0x0FFF /* OUT5R_NGATE_SRC - [11:0] */ | ||
| 2963 | #define ARIZONA_OUT5R_NGATE_SRC_SHIFT 0 /* OUT5R_NGATE_SRC - [11:0] */ | ||
| 2964 | #define ARIZONA_OUT5R_NGATE_SRC_WIDTH 12 /* OUT5R_NGATE_SRC - [11:0] */ | ||
| 2965 | |||
| 2966 | /* | ||
| 2967 | * R1080 (0x438) - Output Path Config 6L | ||
| 2968 | */ | ||
| 2969 | #define ARIZONA_OUT6_OSR 0x2000 /* OUT6_OSR */ | ||
| 2970 | #define ARIZONA_OUT6_OSR_MASK 0x2000 /* OUT6_OSR */ | ||
| 2971 | #define ARIZONA_OUT6_OSR_SHIFT 13 /* OUT6_OSR */ | ||
| 2972 | #define ARIZONA_OUT6_OSR_WIDTH 1 /* OUT6_OSR */ | ||
| 2973 | #define ARIZONA_OUT6L_ANC_SRC_MASK 0x0C00 /* OUT6L_ANC_SRC - [11:10] */ | ||
| 2974 | #define ARIZONA_OUT6L_ANC_SRC_SHIFT 10 /* OUT6L_ANC_SRC - [11:10] */ | ||
| 2975 | #define ARIZONA_OUT6L_ANC_SRC_WIDTH 2 /* OUT6L_ANC_SRC - [11:10] */ | ||
| 2976 | |||
| 2977 | /* | ||
| 2978 | * R1081 (0x439) - DAC Digital Volume 6L | ||
| 2979 | */ | ||
| 2980 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 2981 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 2982 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 2983 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 2984 | #define ARIZONA_OUT6L_MUTE 0x0100 /* OUT6L_MUTE */ | ||
| 2985 | #define ARIZONA_OUT6L_MUTE_MASK 0x0100 /* OUT6L_MUTE */ | ||
| 2986 | #define ARIZONA_OUT6L_MUTE_SHIFT 8 /* OUT6L_MUTE */ | ||
| 2987 | #define ARIZONA_OUT6L_MUTE_WIDTH 1 /* OUT6L_MUTE */ | ||
| 2988 | #define ARIZONA_OUT6L_VOL_MASK 0x00FF /* OUT6L_VOL - [7:0] */ | ||
| 2989 | #define ARIZONA_OUT6L_VOL_SHIFT 0 /* OUT6L_VOL - [7:0] */ | ||
| 2990 | #define ARIZONA_OUT6L_VOL_WIDTH 8 /* OUT6L_VOL - [7:0] */ | ||
| 2991 | |||
| 2992 | /* | ||
| 2993 | * R1082 (0x43A) - DAC Volume Limit 6L | ||
| 2994 | */ | ||
| 2995 | #define ARIZONA_OUT6L_VOL_LIM_MASK 0x00FF /* OUT6L_VOL_LIM - [7:0] */ | ||
| 2996 | #define ARIZONA_OUT6L_VOL_LIM_SHIFT 0 /* OUT6L_VOL_LIM - [7:0] */ | ||
| 2997 | #define ARIZONA_OUT6L_VOL_LIM_WIDTH 8 /* OUT6L_VOL_LIM - [7:0] */ | ||
| 2998 | |||
| 2999 | /* | ||
| 3000 | * R1083 (0x43B) - Noise Gate Select 6L | ||
| 3001 | */ | ||
| 3002 | #define ARIZONA_OUT6L_NGATE_SRC_MASK 0x0FFF /* OUT6L_NGATE_SRC - [11:0] */ | ||
| 3003 | #define ARIZONA_OUT6L_NGATE_SRC_SHIFT 0 /* OUT6L_NGATE_SRC - [11:0] */ | ||
| 3004 | #define ARIZONA_OUT6L_NGATE_SRC_WIDTH 12 /* OUT6L_NGATE_SRC - [11:0] */ | ||
| 3005 | |||
| 3006 | /* | ||
| 3007 | * R1084 (0x43C) - Output Path Config 6R | ||
| 3008 | */ | ||
| 3009 | #define ARIZONA_OUT6R_ANC_SRC_MASK 0x0C00 /* OUT6R_ANC_SRC - [11:10] */ | ||
| 3010 | #define ARIZONA_OUT6R_ANC_SRC_SHIFT 10 /* OUT6R_ANC_SRC - [11:10] */ | ||
| 3011 | #define ARIZONA_OUT6R_ANC_SRC_WIDTH 2 /* OUT6R_ANC_SRC - [11:10] */ | ||
| 3012 | |||
| 3013 | /* | ||
| 3014 | * R1085 (0x43D) - DAC Digital Volume 6R | ||
| 3015 | */ | ||
| 3016 | #define ARIZONA_OUT_VU 0x0200 /* OUT_VU */ | ||
| 3017 | #define ARIZONA_OUT_VU_MASK 0x0200 /* OUT_VU */ | ||
| 3018 | #define ARIZONA_OUT_VU_SHIFT 9 /* OUT_VU */ | ||
| 3019 | #define ARIZONA_OUT_VU_WIDTH 1 /* OUT_VU */ | ||
| 3020 | #define ARIZONA_OUT6R_MUTE 0x0100 /* OUT6R_MUTE */ | ||
| 3021 | #define ARIZONA_OUT6R_MUTE_MASK 0x0100 /* OUT6R_MUTE */ | ||
| 3022 | #define ARIZONA_OUT6R_MUTE_SHIFT 8 /* OUT6R_MUTE */ | ||
| 3023 | #define ARIZONA_OUT6R_MUTE_WIDTH 1 /* OUT6R_MUTE */ | ||
| 3024 | #define ARIZONA_OUT6R_VOL_MASK 0x00FF /* OUT6R_VOL - [7:0] */ | ||
| 3025 | #define ARIZONA_OUT6R_VOL_SHIFT 0 /* OUT6R_VOL - [7:0] */ | ||
| 3026 | #define ARIZONA_OUT6R_VOL_WIDTH 8 /* OUT6R_VOL - [7:0] */ | ||
| 3027 | |||
| 3028 | /* | ||
| 3029 | * R1086 (0x43E) - DAC Volume Limit 6R | ||
| 3030 | */ | ||
| 3031 | #define ARIZONA_OUT6R_VOL_LIM_MASK 0x00FF /* OUT6R_VOL_LIM - [7:0] */ | ||
| 3032 | #define ARIZONA_OUT6R_VOL_LIM_SHIFT 0 /* OUT6R_VOL_LIM - [7:0] */ | ||
| 3033 | #define ARIZONA_OUT6R_VOL_LIM_WIDTH 8 /* OUT6R_VOL_LIM - [7:0] */ | ||
| 3034 | |||
| 3035 | /* | ||
| 3036 | * R1087 (0x43F) - Noise Gate Select 6R | ||
| 3037 | */ | ||
| 3038 | #define ARIZONA_OUT6R_NGATE_SRC_MASK 0x0FFF /* OUT6R_NGATE_SRC - [11:0] */ | ||
| 3039 | #define ARIZONA_OUT6R_NGATE_SRC_SHIFT 0 /* OUT6R_NGATE_SRC - [11:0] */ | ||
| 3040 | #define ARIZONA_OUT6R_NGATE_SRC_WIDTH 12 /* OUT6R_NGATE_SRC - [11:0] */ | ||
| 3041 | |||
| 3042 | /* | ||
| 3043 | * R1104 (0x450) - DAC AEC Control 1 | ||
| 3044 | */ | ||
| 3045 | #define ARIZONA_AEC_LOOPBACK_SRC_MASK 0x003C /* AEC_LOOPBACK_SRC - [5:2] */ | ||
| 3046 | #define ARIZONA_AEC_LOOPBACK_SRC_SHIFT 2 /* AEC_LOOPBACK_SRC - [5:2] */ | ||
| 3047 | #define ARIZONA_AEC_LOOPBACK_SRC_WIDTH 4 /* AEC_LOOPBACK_SRC - [5:2] */ | ||
| 3048 | #define ARIZONA_AEC_ENA_STS 0x0002 /* AEC_ENA_STS */ | ||
| 3049 | #define ARIZONA_AEC_ENA_STS_MASK 0x0002 /* AEC_ENA_STS */ | ||
| 3050 | #define ARIZONA_AEC_ENA_STS_SHIFT 1 /* AEC_ENA_STS */ | ||
| 3051 | #define ARIZONA_AEC_ENA_STS_WIDTH 1 /* AEC_ENA_STS */ | ||
| 3052 | #define ARIZONA_AEC_LOOPBACK_ENA 0x0001 /* AEC_LOOPBACK_ENA */ | ||
| 3053 | #define ARIZONA_AEC_LOOPBACK_ENA_MASK 0x0001 /* AEC_LOOPBACK_ENA */ | ||
| 3054 | #define ARIZONA_AEC_LOOPBACK_ENA_SHIFT 0 /* AEC_LOOPBACK_ENA */ | ||
| 3055 | #define ARIZONA_AEC_LOOPBACK_ENA_WIDTH 1 /* AEC_LOOPBACK_ENA */ | ||
| 3056 | |||
| 3057 | /* | ||
| 3058 | * R1112 (0x458) - Noise Gate Control | ||
| 3059 | */ | ||
| 3060 | #define ARIZONA_NGATE_HOLD_MASK 0x0030 /* NGATE_HOLD - [5:4] */ | ||
| 3061 | #define ARIZONA_NGATE_HOLD_SHIFT 4 /* NGATE_HOLD - [5:4] */ | ||
| 3062 | #define ARIZONA_NGATE_HOLD_WIDTH 2 /* NGATE_HOLD - [5:4] */ | ||
| 3063 | #define ARIZONA_NGATE_THR_MASK 0x000E /* NGATE_THR - [3:1] */ | ||
| 3064 | #define ARIZONA_NGATE_THR_SHIFT 1 /* NGATE_THR - [3:1] */ | ||
| 3065 | #define ARIZONA_NGATE_THR_WIDTH 3 /* NGATE_THR - [3:1] */ | ||
| 3066 | #define ARIZONA_NGATE_ENA 0x0001 /* NGATE_ENA */ | ||
| 3067 | #define ARIZONA_NGATE_ENA_MASK 0x0001 /* NGATE_ENA */ | ||
| 3068 | #define ARIZONA_NGATE_ENA_SHIFT 0 /* NGATE_ENA */ | ||
| 3069 | #define ARIZONA_NGATE_ENA_WIDTH 1 /* NGATE_ENA */ | ||
| 3070 | |||
| 3071 | /* | ||
| 3072 | * R1168 (0x490) - PDM SPK1 CTRL 1 | ||
| 3073 | */ | ||
| 3074 | #define ARIZONA_SPK1R_MUTE 0x2000 /* SPK1R_MUTE */ | ||
| 3075 | #define ARIZONA_SPK1R_MUTE_MASK 0x2000 /* SPK1R_MUTE */ | ||
| 3076 | #define ARIZONA_SPK1R_MUTE_SHIFT 13 /* SPK1R_MUTE */ | ||
| 3077 | #define ARIZONA_SPK1R_MUTE_WIDTH 1 /* SPK1R_MUTE */ | ||
| 3078 | #define ARIZONA_SPK1L_MUTE 0x1000 /* SPK1L_MUTE */ | ||
| 3079 | #define ARIZONA_SPK1L_MUTE_MASK 0x1000 /* SPK1L_MUTE */ | ||
| 3080 | #define ARIZONA_SPK1L_MUTE_SHIFT 12 /* SPK1L_MUTE */ | ||
| 3081 | #define ARIZONA_SPK1L_MUTE_WIDTH 1 /* SPK1L_MUTE */ | ||
| 3082 | #define ARIZONA_SPK1_MUTE_ENDIAN 0x0100 /* SPK1_MUTE_ENDIAN */ | ||
| 3083 | #define ARIZONA_SPK1_MUTE_ENDIAN_MASK 0x0100 /* SPK1_MUTE_ENDIAN */ | ||
| 3084 | #define ARIZONA_SPK1_MUTE_ENDIAN_SHIFT 8 /* SPK1_MUTE_ENDIAN */ | ||
| 3085 | #define ARIZONA_SPK1_MUTE_ENDIAN_WIDTH 1 /* SPK1_MUTE_ENDIAN */ | ||
| 3086 | #define ARIZONA_SPK1_MUTE_SEQ1_MASK 0x00FF /* SPK1_MUTE_SEQ1 - [7:0] */ | ||
| 3087 | #define ARIZONA_SPK1_MUTE_SEQ1_SHIFT 0 /* SPK1_MUTE_SEQ1 - [7:0] */ | ||
| 3088 | #define ARIZONA_SPK1_MUTE_SEQ1_WIDTH 8 /* SPK1_MUTE_SEQ1 - [7:0] */ | ||
| 3089 | |||
| 3090 | /* | ||
| 3091 | * R1169 (0x491) - PDM SPK1 CTRL 2 | ||
| 3092 | */ | ||
| 3093 | #define ARIZONA_SPK1_FMT 0x0001 /* SPK1_FMT */ | ||
| 3094 | #define ARIZONA_SPK1_FMT_MASK 0x0001 /* SPK1_FMT */ | ||
| 3095 | #define ARIZONA_SPK1_FMT_SHIFT 0 /* SPK1_FMT */ | ||
| 3096 | #define ARIZONA_SPK1_FMT_WIDTH 1 /* SPK1_FMT */ | ||
| 3097 | |||
| 3098 | /* | ||
| 3099 | * R1170 (0x492) - PDM SPK2 CTRL 1 | ||
| 3100 | */ | ||
| 3101 | #define ARIZONA_SPK2R_MUTE 0x2000 /* SPK2R_MUTE */ | ||
| 3102 | #define ARIZONA_SPK2R_MUTE_MASK 0x2000 /* SPK2R_MUTE */ | ||
| 3103 | #define ARIZONA_SPK2R_MUTE_SHIFT 13 /* SPK2R_MUTE */ | ||
| 3104 | #define ARIZONA_SPK2R_MUTE_WIDTH 1 /* SPK2R_MUTE */ | ||
| 3105 | #define ARIZONA_SPK2L_MUTE 0x1000 /* SPK2L_MUTE */ | ||
| 3106 | #define ARIZONA_SPK2L_MUTE_MASK 0x1000 /* SPK2L_MUTE */ | ||
| 3107 | #define ARIZONA_SPK2L_MUTE_SHIFT 12 /* SPK2L_MUTE */ | ||
| 3108 | #define ARIZONA_SPK2L_MUTE_WIDTH 1 /* SPK2L_MUTE */ | ||
| 3109 | #define ARIZONA_SPK2_MUTE_ENDIAN 0x0100 /* SPK2_MUTE_ENDIAN */ | ||
| 3110 | #define ARIZONA_SPK2_MUTE_ENDIAN_MASK 0x0100 /* SPK2_MUTE_ENDIAN */ | ||
| 3111 | #define ARIZONA_SPK2_MUTE_ENDIAN_SHIFT 8 /* SPK2_MUTE_ENDIAN */ | ||
| 3112 | #define ARIZONA_SPK2_MUTE_ENDIAN_WIDTH 1 /* SPK2_MUTE_ENDIAN */ | ||
| 3113 | #define ARIZONA_SPK2_MUTE_SEQ_MASK 0x00FF /* SPK2_MUTE_SEQ - [7:0] */ | ||
| 3114 | #define ARIZONA_SPK2_MUTE_SEQ_SHIFT 0 /* SPK2_MUTE_SEQ - [7:0] */ | ||
| 3115 | #define ARIZONA_SPK2_MUTE_SEQ_WIDTH 8 /* SPK2_MUTE_SEQ - [7:0] */ | ||
| 3116 | |||
| 3117 | /* | ||
| 3118 | * R1171 (0x493) - PDM SPK2 CTRL 2 | ||
| 3119 | */ | ||
| 3120 | #define ARIZONA_SPK2_FMT 0x0001 /* SPK2_FMT */ | ||
| 3121 | #define ARIZONA_SPK2_FMT_MASK 0x0001 /* SPK2_FMT */ | ||
| 3122 | #define ARIZONA_SPK2_FMT_SHIFT 0 /* SPK2_FMT */ | ||
| 3123 | #define ARIZONA_SPK2_FMT_WIDTH 1 /* SPK2_FMT */ | ||
| 3124 | |||
| 3125 | /* | ||
| 3126 | * R1244 (0x4DC) - DAC comp 1 | ||
| 3127 | */ | ||
| 3128 | #define ARIZONA_OUT_COMP_COEFF_MASK 0xFFFF /* OUT_COMP_COEFF - [15:0] */ | ||
| 3129 | #define ARIZONA_OUT_COMP_COEFF_SHIFT 0 /* OUT_COMP_COEFF - [15:0] */ | ||
| 3130 | #define ARIZONA_OUT_COMP_COEFF_WIDTH 16 /* OUT_COMP_COEFF - [15:0] */ | ||
| 3131 | |||
| 3132 | /* | ||
| 3133 | * R1245 (0x4DD) - DAC comp 2 | ||
| 3134 | */ | ||
| 3135 | #define ARIZONA_OUT_COMP_COEFF_1 0x0002 /* OUT_COMP_COEFF */ | ||
| 3136 | #define ARIZONA_OUT_COMP_COEFF_1_MASK 0x0002 /* OUT_COMP_COEFF */ | ||
| 3137 | #define ARIZONA_OUT_COMP_COEFF_1_SHIFT 1 /* OUT_COMP_COEFF */ | ||
| 3138 | #define ARIZONA_OUT_COMP_COEFF_1_WIDTH 1 /* OUT_COMP_COEFF */ | ||
| 3139 | #define ARIZONA_OUT_COMP_COEFF_SEL 0x0001 /* OUT_COMP_COEFF_SEL */ | ||
| 3140 | #define ARIZONA_OUT_COMP_COEFF_SEL_MASK 0x0001 /* OUT_COMP_COEFF_SEL */ | ||
| 3141 | #define ARIZONA_OUT_COMP_COEFF_SEL_SHIFT 0 /* OUT_COMP_COEFF_SEL */ | ||
| 3142 | #define ARIZONA_OUT_COMP_COEFF_SEL_WIDTH 1 /* OUT_COMP_COEFF_SEL */ | ||
| 3143 | |||
| 3144 | /* | ||
| 3145 | * R1246 (0x4DE) - DAC comp 3 | ||
| 3146 | */ | ||
| 3147 | #define ARIZONA_AEC_COMP_COEFF_MASK 0xFFFF /* AEC_COMP_COEFF - [15:0] */ | ||
| 3148 | #define ARIZONA_AEC_COMP_COEFF_SHIFT 0 /* AEC_COMP_COEFF - [15:0] */ | ||
| 3149 | #define ARIZONA_AEC_COMP_COEFF_WIDTH 16 /* AEC_COMP_COEFF - [15:0] */ | ||
| 3150 | |||
| 3151 | /* | ||
| 3152 | * R1247 (0x4DF) - DAC comp 4 | ||
| 3153 | */ | ||
| 3154 | #define ARIZONA_AEC_COMP_COEFF_1 0x0002 /* AEC_COMP_COEFF */ | ||
| 3155 | #define ARIZONA_AEC_COMP_COEFF_1_MASK 0x0002 /* AEC_COMP_COEFF */ | ||
| 3156 | #define ARIZONA_AEC_COMP_COEFF_1_SHIFT 1 /* AEC_COMP_COEFF */ | ||
| 3157 | #define ARIZONA_AEC_COMP_COEFF_1_WIDTH 1 /* AEC_COMP_COEFF */ | ||
| 3158 | #define ARIZONA_AEC_COMP_COEFF_SEL 0x0001 /* AEC_COMP_COEFF_SEL */ | ||
| 3159 | #define ARIZONA_AEC_COMP_COEFF_SEL_MASK 0x0001 /* AEC_COMP_COEFF_SEL */ | ||
| 3160 | #define ARIZONA_AEC_COMP_COEFF_SEL_SHIFT 0 /* AEC_COMP_COEFF_SEL */ | ||
| 3161 | #define ARIZONA_AEC_COMP_COEFF_SEL_WIDTH 1 /* AEC_COMP_COEFF_SEL */ | ||
| 3162 | |||
| 3163 | /* | ||
| 3164 | * R1280 (0x500) - AIF1 BCLK Ctrl | ||
| 3165 | */ | ||
| 3166 | #define ARIZONA_AIF1_BCLK_INV 0x0080 /* AIF1_BCLK_INV */ | ||
| 3167 | #define ARIZONA_AIF1_BCLK_INV_MASK 0x0080 /* AIF1_BCLK_INV */ | ||
| 3168 | #define ARIZONA_AIF1_BCLK_INV_SHIFT 7 /* AIF1_BCLK_INV */ | ||
| 3169 | #define ARIZONA_AIF1_BCLK_INV_WIDTH 1 /* AIF1_BCLK_INV */ | ||
| 3170 | #define ARIZONA_AIF1_BCLK_FRC 0x0040 /* AIF1_BCLK_FRC */ | ||
| 3171 | #define ARIZONA_AIF1_BCLK_FRC_MASK 0x0040 /* AIF1_BCLK_FRC */ | ||
| 3172 | #define ARIZONA_AIF1_BCLK_FRC_SHIFT 6 /* AIF1_BCLK_FRC */ | ||
| 3173 | #define ARIZONA_AIF1_BCLK_FRC_WIDTH 1 /* AIF1_BCLK_FRC */ | ||
| 3174 | #define ARIZONA_AIF1_BCLK_MSTR 0x0020 /* AIF1_BCLK_MSTR */ | ||
| 3175 | #define ARIZONA_AIF1_BCLK_MSTR_MASK 0x0020 /* AIF1_BCLK_MSTR */ | ||
| 3176 | #define ARIZONA_AIF1_BCLK_MSTR_SHIFT 5 /* AIF1_BCLK_MSTR */ | ||
| 3177 | #define ARIZONA_AIF1_BCLK_MSTR_WIDTH 1 /* AIF1_BCLK_MSTR */ | ||
| 3178 | #define ARIZONA_AIF1_BCLK_FREQ_MASK 0x001F /* AIF1_BCLK_FREQ - [4:0] */ | ||
| 3179 | #define ARIZONA_AIF1_BCLK_FREQ_SHIFT 0 /* AIF1_BCLK_FREQ - [4:0] */ | ||
| 3180 | #define ARIZONA_AIF1_BCLK_FREQ_WIDTH 5 /* AIF1_BCLK_FREQ - [4:0] */ | ||
| 3181 | |||
| 3182 | /* | ||
| 3183 | * R1281 (0x501) - AIF1 Tx Pin Ctrl | ||
| 3184 | */ | ||
| 3185 | #define ARIZONA_AIF1TX_DAT_TRI 0x0020 /* AIF1TX_DAT_TRI */ | ||
| 3186 | #define ARIZONA_AIF1TX_DAT_TRI_MASK 0x0020 /* AIF1TX_DAT_TRI */ | ||
| 3187 | #define ARIZONA_AIF1TX_DAT_TRI_SHIFT 5 /* AIF1TX_DAT_TRI */ | ||
| 3188 | #define ARIZONA_AIF1TX_DAT_TRI_WIDTH 1 /* AIF1TX_DAT_TRI */ | ||
| 3189 | #define ARIZONA_AIF1TX_LRCLK_SRC 0x0008 /* AIF1TX_LRCLK_SRC */ | ||
| 3190 | #define ARIZONA_AIF1TX_LRCLK_SRC_MASK 0x0008 /* AIF1TX_LRCLK_SRC */ | ||
| 3191 | #define ARIZONA_AIF1TX_LRCLK_SRC_SHIFT 3 /* AIF1TX_LRCLK_SRC */ | ||
| 3192 | #define ARIZONA_AIF1TX_LRCLK_SRC_WIDTH 1 /* AIF1TX_LRCLK_SRC */ | ||
| 3193 | #define ARIZONA_AIF1TX_LRCLK_INV 0x0004 /* AIF1TX_LRCLK_INV */ | ||
| 3194 | #define ARIZONA_AIF1TX_LRCLK_INV_MASK 0x0004 /* AIF1TX_LRCLK_INV */ | ||
| 3195 | #define ARIZONA_AIF1TX_LRCLK_INV_SHIFT 2 /* AIF1TX_LRCLK_INV */ | ||
| 3196 | #define ARIZONA_AIF1TX_LRCLK_INV_WIDTH 1 /* AIF1TX_LRCLK_INV */ | ||
| 3197 | #define ARIZONA_AIF1TX_LRCLK_FRC 0x0002 /* AIF1TX_LRCLK_FRC */ | ||
| 3198 | #define ARIZONA_AIF1TX_LRCLK_FRC_MASK 0x0002 /* AIF1TX_LRCLK_FRC */ | ||
| 3199 | #define ARIZONA_AIF1TX_LRCLK_FRC_SHIFT 1 /* AIF1TX_LRCLK_FRC */ | ||
| 3200 | #define ARIZONA_AIF1TX_LRCLK_FRC_WIDTH 1 /* AIF1TX_LRCLK_FRC */ | ||
| 3201 | #define ARIZONA_AIF1TX_LRCLK_MSTR 0x0001 /* AIF1TX_LRCLK_MSTR */ | ||
| 3202 | #define ARIZONA_AIF1TX_LRCLK_MSTR_MASK 0x0001 /* AIF1TX_LRCLK_MSTR */ | ||
| 3203 | #define ARIZONA_AIF1TX_LRCLK_MSTR_SHIFT 0 /* AIF1TX_LRCLK_MSTR */ | ||
| 3204 | #define ARIZONA_AIF1TX_LRCLK_MSTR_WIDTH 1 /* AIF1TX_LRCLK_MSTR */ | ||
| 3205 | |||
| 3206 | /* | ||
| 3207 | * R1282 (0x502) - AIF1 Rx Pin Ctrl | ||
| 3208 | */ | ||
| 3209 | #define ARIZONA_AIF1RX_LRCLK_INV 0x0004 /* AIF1RX_LRCLK_INV */ | ||
| 3210 | #define ARIZONA_AIF1RX_LRCLK_INV_MASK 0x0004 /* AIF1RX_LRCLK_INV */ | ||
| 3211 | #define ARIZONA_AIF1RX_LRCLK_INV_SHIFT 2 /* AIF1RX_LRCLK_INV */ | ||
| 3212 | #define ARIZONA_AIF1RX_LRCLK_INV_WIDTH 1 /* AIF1RX_LRCLK_INV */ | ||
| 3213 | #define ARIZONA_AIF1RX_LRCLK_FRC 0x0002 /* AIF1RX_LRCLK_FRC */ | ||
| 3214 | #define ARIZONA_AIF1RX_LRCLK_FRC_MASK 0x0002 /* AIF1RX_LRCLK_FRC */ | ||
| 3215 | #define ARIZONA_AIF1RX_LRCLK_FRC_SHIFT 1 /* AIF1RX_LRCLK_FRC */ | ||
| 3216 | #define ARIZONA_AIF1RX_LRCLK_FRC_WIDTH 1 /* AIF1RX_LRCLK_FRC */ | ||
| 3217 | #define ARIZONA_AIF1RX_LRCLK_MSTR 0x0001 /* AIF1RX_LRCLK_MSTR */ | ||
| 3218 | #define ARIZONA_AIF1RX_LRCLK_MSTR_MASK 0x0001 /* AIF1RX_LRCLK_MSTR */ | ||
| 3219 | #define ARIZONA_AIF1RX_LRCLK_MSTR_SHIFT 0 /* AIF1RX_LRCLK_MSTR */ | ||
| 3220 | #define ARIZONA_AIF1RX_LRCLK_MSTR_WIDTH 1 /* AIF1RX_LRCLK_MSTR */ | ||
| 3221 | |||
| 3222 | /* | ||
| 3223 | * R1283 (0x503) - AIF1 Rate Ctrl | ||
| 3224 | */ | ||
| 3225 | #define ARIZONA_AIF1_RATE_MASK 0x7800 /* AIF1_RATE - [14:11] */ | ||
| 3226 | #define ARIZONA_AIF1_RATE_SHIFT 11 /* AIF1_RATE - [14:11] */ | ||
| 3227 | #define ARIZONA_AIF1_RATE_WIDTH 4 /* AIF1_RATE - [14:11] */ | ||
| 3228 | #define ARIZONA_AIF1_TRI 0x0040 /* AIF1_TRI */ | ||
| 3229 | #define ARIZONA_AIF1_TRI_MASK 0x0040 /* AIF1_TRI */ | ||
| 3230 | #define ARIZONA_AIF1_TRI_SHIFT 6 /* AIF1_TRI */ | ||
| 3231 | #define ARIZONA_AIF1_TRI_WIDTH 1 /* AIF1_TRI */ | ||
| 3232 | |||
| 3233 | /* | ||
| 3234 | * R1284 (0x504) - AIF1 Format | ||
| 3235 | */ | ||
| 3236 | #define ARIZONA_AIF1_FMT_MASK 0x0007 /* AIF1_FMT - [2:0] */ | ||
| 3237 | #define ARIZONA_AIF1_FMT_SHIFT 0 /* AIF1_FMT - [2:0] */ | ||
| 3238 | #define ARIZONA_AIF1_FMT_WIDTH 3 /* AIF1_FMT - [2:0] */ | ||
| 3239 | |||
| 3240 | /* | ||
| 3241 | * R1285 (0x505) - AIF1 Tx BCLK Rate | ||
| 3242 | */ | ||
| 3243 | #define ARIZONA_AIF1TX_BCPF_MASK 0x1FFF /* AIF1TX_BCPF - [12:0] */ | ||
| 3244 | #define ARIZONA_AIF1TX_BCPF_SHIFT 0 /* AIF1TX_BCPF - [12:0] */ | ||
| 3245 | #define ARIZONA_AIF1TX_BCPF_WIDTH 13 /* AIF1TX_BCPF - [12:0] */ | ||
| 3246 | |||
| 3247 | /* | ||
| 3248 | * R1286 (0x506) - AIF1 Rx BCLK Rate | ||
| 3249 | */ | ||
| 3250 | #define ARIZONA_AIF1RX_BCPF_MASK 0x1FFF /* AIF1RX_BCPF - [12:0] */ | ||
| 3251 | #define ARIZONA_AIF1RX_BCPF_SHIFT 0 /* AIF1RX_BCPF - [12:0] */ | ||
| 3252 | #define ARIZONA_AIF1RX_BCPF_WIDTH 13 /* AIF1RX_BCPF - [12:0] */ | ||
| 3253 | |||
| 3254 | /* | ||
| 3255 | * R1287 (0x507) - AIF1 Frame Ctrl 1 | ||
| 3256 | */ | ||
| 3257 | #define ARIZONA_AIF1TX_WL_MASK 0x3F00 /* AIF1TX_WL - [13:8] */ | ||
| 3258 | #define ARIZONA_AIF1TX_WL_SHIFT 8 /* AIF1TX_WL - [13:8] */ | ||
| 3259 | #define ARIZONA_AIF1TX_WL_WIDTH 6 /* AIF1TX_WL - [13:8] */ | ||
| 3260 | #define ARIZONA_AIF1TX_SLOT_LEN_MASK 0x00FF /* AIF1TX_SLOT_LEN - [7:0] */ | ||
| 3261 | #define ARIZONA_AIF1TX_SLOT_LEN_SHIFT 0 /* AIF1TX_SLOT_LEN - [7:0] */ | ||
| 3262 | #define ARIZONA_AIF1TX_SLOT_LEN_WIDTH 8 /* AIF1TX_SLOT_LEN - [7:0] */ | ||
| 3263 | |||
| 3264 | /* | ||
| 3265 | * R1288 (0x508) - AIF1 Frame Ctrl 2 | ||
| 3266 | */ | ||
| 3267 | #define ARIZONA_AIF1RX_WL_MASK 0x3F00 /* AIF1RX_WL - [13:8] */ | ||
| 3268 | #define ARIZONA_AIF1RX_WL_SHIFT 8 /* AIF1RX_WL - [13:8] */ | ||
| 3269 | #define ARIZONA_AIF1RX_WL_WIDTH 6 /* AIF1RX_WL - [13:8] */ | ||
| 3270 | #define ARIZONA_AIF1RX_SLOT_LEN_MASK 0x00FF /* AIF1RX_SLOT_LEN - [7:0] */ | ||
| 3271 | #define ARIZONA_AIF1RX_SLOT_LEN_SHIFT 0 /* AIF1RX_SLOT_LEN - [7:0] */ | ||
| 3272 | #define ARIZONA_AIF1RX_SLOT_LEN_WIDTH 8 /* AIF1RX_SLOT_LEN - [7:0] */ | ||
| 3273 | |||
| 3274 | /* | ||
| 3275 | * R1289 (0x509) - AIF1 Frame Ctrl 3 | ||
| 3276 | */ | ||
| 3277 | #define ARIZONA_AIF1TX1_SLOT_MASK 0x003F /* AIF1TX1_SLOT - [5:0] */ | ||
| 3278 | #define ARIZONA_AIF1TX1_SLOT_SHIFT 0 /* AIF1TX1_SLOT - [5:0] */ | ||
| 3279 | #define ARIZONA_AIF1TX1_SLOT_WIDTH 6 /* AIF1TX1_SLOT - [5:0] */ | ||
| 3280 | |||
| 3281 | /* | ||
| 3282 | * R1290 (0x50A) - AIF1 Frame Ctrl 4 | ||
| 3283 | */ | ||
| 3284 | #define ARIZONA_AIF1TX2_SLOT_MASK 0x003F /* AIF1TX2_SLOT - [5:0] */ | ||
| 3285 | #define ARIZONA_AIF1TX2_SLOT_SHIFT 0 /* AIF1TX2_SLOT - [5:0] */ | ||
| 3286 | #define ARIZONA_AIF1TX2_SLOT_WIDTH 6 /* AIF1TX2_SLOT - [5:0] */ | ||
| 3287 | |||
| 3288 | /* | ||
| 3289 | * R1291 (0x50B) - AIF1 Frame Ctrl 5 | ||
| 3290 | */ | ||
| 3291 | #define ARIZONA_AIF1TX3_SLOT_MASK 0x003F /* AIF1TX3_SLOT - [5:0] */ | ||
| 3292 | #define ARIZONA_AIF1TX3_SLOT_SHIFT 0 /* AIF1TX3_SLOT - [5:0] */ | ||
| 3293 | #define ARIZONA_AIF1TX3_SLOT_WIDTH 6 /* AIF1TX3_SLOT - [5:0] */ | ||
| 3294 | |||
| 3295 | /* | ||
| 3296 | * R1292 (0x50C) - AIF1 Frame Ctrl 6 | ||
| 3297 | */ | ||
| 3298 | #define ARIZONA_AIF1TX4_SLOT_MASK 0x003F /* AIF1TX4_SLOT - [5:0] */ | ||
| 3299 | #define ARIZONA_AIF1TX4_SLOT_SHIFT 0 /* AIF1TX4_SLOT - [5:0] */ | ||
| 3300 | #define ARIZONA_AIF1TX4_SLOT_WIDTH 6 /* AIF1TX4_SLOT - [5:0] */ | ||
| 3301 | |||
| 3302 | /* | ||
| 3303 | * R1293 (0x50D) - AIF1 Frame Ctrl 7 | ||
| 3304 | */ | ||
| 3305 | #define ARIZONA_AIF1TX5_SLOT_MASK 0x003F /* AIF1TX5_SLOT - [5:0] */ | ||
| 3306 | #define ARIZONA_AIF1TX5_SLOT_SHIFT 0 /* AIF1TX5_SLOT - [5:0] */ | ||
| 3307 | #define ARIZONA_AIF1TX5_SLOT_WIDTH 6 /* AIF1TX5_SLOT - [5:0] */ | ||
| 3308 | |||
| 3309 | /* | ||
| 3310 | * R1294 (0x50E) - AIF1 Frame Ctrl 8 | ||
| 3311 | */ | ||
| 3312 | #define ARIZONA_AIF1TX6_SLOT_MASK 0x003F /* AIF1TX6_SLOT - [5:0] */ | ||
| 3313 | #define ARIZONA_AIF1TX6_SLOT_SHIFT 0 /* AIF1TX6_SLOT - [5:0] */ | ||
| 3314 | #define ARIZONA_AIF1TX6_SLOT_WIDTH 6 /* AIF1TX6_SLOT - [5:0] */ | ||
| 3315 | |||
| 3316 | /* | ||
| 3317 | * R1295 (0x50F) - AIF1 Frame Ctrl 9 | ||
| 3318 | */ | ||
| 3319 | #define ARIZONA_AIF1TX7_SLOT_MASK 0x003F /* AIF1TX7_SLOT - [5:0] */ | ||
| 3320 | #define ARIZONA_AIF1TX7_SLOT_SHIFT 0 /* AIF1TX7_SLOT - [5:0] */ | ||
| 3321 | #define ARIZONA_AIF1TX7_SLOT_WIDTH 6 /* AIF1TX7_SLOT - [5:0] */ | ||
| 3322 | |||
| 3323 | /* | ||
| 3324 | * R1296 (0x510) - AIF1 Frame Ctrl 10 | ||
| 3325 | */ | ||
| 3326 | #define ARIZONA_AIF1TX8_SLOT_MASK 0x003F /* AIF1TX8_SLOT - [5:0] */ | ||
| 3327 | #define ARIZONA_AIF1TX8_SLOT_SHIFT 0 /* AIF1TX8_SLOT - [5:0] */ | ||
| 3328 | #define ARIZONA_AIF1TX8_SLOT_WIDTH 6 /* AIF1TX8_SLOT - [5:0] */ | ||
| 3329 | |||
| 3330 | /* | ||
| 3331 | * R1297 (0x511) - AIF1 Frame Ctrl 11 | ||
| 3332 | */ | ||
| 3333 | #define ARIZONA_AIF1RX1_SLOT_MASK 0x003F /* AIF1RX1_SLOT - [5:0] */ | ||
| 3334 | #define ARIZONA_AIF1RX1_SLOT_SHIFT 0 /* AIF1RX1_SLOT - [5:0] */ | ||
| 3335 | #define ARIZONA_AIF1RX1_SLOT_WIDTH 6 /* AIF1RX1_SLOT - [5:0] */ | ||
| 3336 | |||
| 3337 | /* | ||
| 3338 | * R1298 (0x512) - AIF1 Frame Ctrl 12 | ||
| 3339 | */ | ||
| 3340 | #define ARIZONA_AIF1RX2_SLOT_MASK 0x003F /* AIF1RX2_SLOT - [5:0] */ | ||
| 3341 | #define ARIZONA_AIF1RX2_SLOT_SHIFT 0 /* AIF1RX2_SLOT - [5:0] */ | ||
| 3342 | #define ARIZONA_AIF1RX2_SLOT_WIDTH 6 /* AIF1RX2_SLOT - [5:0] */ | ||
| 3343 | |||
| 3344 | /* | ||
| 3345 | * R1299 (0x513) - AIF1 Frame Ctrl 13 | ||
| 3346 | */ | ||
| 3347 | #define ARIZONA_AIF1RX3_SLOT_MASK 0x003F /* AIF1RX3_SLOT - [5:0] */ | ||
| 3348 | #define ARIZONA_AIF1RX3_SLOT_SHIFT 0 /* AIF1RX3_SLOT - [5:0] */ | ||
| 3349 | #define ARIZONA_AIF1RX3_SLOT_WIDTH 6 /* AIF1RX3_SLOT - [5:0] */ | ||
| 3350 | |||
| 3351 | /* | ||
| 3352 | * R1300 (0x514) - AIF1 Frame Ctrl 14 | ||
| 3353 | */ | ||
| 3354 | #define ARIZONA_AIF1RX4_SLOT_MASK 0x003F /* AIF1RX4_SLOT - [5:0] */ | ||
| 3355 | #define ARIZONA_AIF1RX4_SLOT_SHIFT 0 /* AIF1RX4_SLOT - [5:0] */ | ||
| 3356 | #define ARIZONA_AIF1RX4_SLOT_WIDTH 6 /* AIF1RX4_SLOT - [5:0] */ | ||
| 3357 | |||
| 3358 | /* | ||
| 3359 | * R1301 (0x515) - AIF1 Frame Ctrl 15 | ||
| 3360 | */ | ||
| 3361 | #define ARIZONA_AIF1RX5_SLOT_MASK 0x003F /* AIF1RX5_SLOT - [5:0] */ | ||
| 3362 | #define ARIZONA_AIF1RX5_SLOT_SHIFT 0 /* AIF1RX5_SLOT - [5:0] */ | ||
| 3363 | #define ARIZONA_AIF1RX5_SLOT_WIDTH 6 /* AIF1RX5_SLOT - [5:0] */ | ||
| 3364 | |||
| 3365 | /* | ||
| 3366 | * R1302 (0x516) - AIF1 Frame Ctrl 16 | ||
| 3367 | */ | ||
| 3368 | #define ARIZONA_AIF1RX6_SLOT_MASK 0x003F /* AIF1RX6_SLOT - [5:0] */ | ||
| 3369 | #define ARIZONA_AIF1RX6_SLOT_SHIFT 0 /* AIF1RX6_SLOT - [5:0] */ | ||
| 3370 | #define ARIZONA_AIF1RX6_SLOT_WIDTH 6 /* AIF1RX6_SLOT - [5:0] */ | ||
| 3371 | |||
| 3372 | /* | ||
| 3373 | * R1303 (0x517) - AIF1 Frame Ctrl 17 | ||
| 3374 | */ | ||
| 3375 | #define ARIZONA_AIF1RX7_SLOT_MASK 0x003F /* AIF1RX7_SLOT - [5:0] */ | ||
| 3376 | #define ARIZONA_AIF1RX7_SLOT_SHIFT 0 /* AIF1RX7_SLOT - [5:0] */ | ||
| 3377 | #define ARIZONA_AIF1RX7_SLOT_WIDTH 6 /* AIF1RX7_SLOT - [5:0] */ | ||
| 3378 | |||
| 3379 | /* | ||
| 3380 | * R1304 (0x518) - AIF1 Frame Ctrl 18 | ||
| 3381 | */ | ||
| 3382 | #define ARIZONA_AIF1RX8_SLOT_MASK 0x003F /* AIF1RX8_SLOT - [5:0] */ | ||
| 3383 | #define ARIZONA_AIF1RX8_SLOT_SHIFT 0 /* AIF1RX8_SLOT - [5:0] */ | ||
| 3384 | #define ARIZONA_AIF1RX8_SLOT_WIDTH 6 /* AIF1RX8_SLOT - [5:0] */ | ||
| 3385 | |||
| 3386 | /* | ||
| 3387 | * R1305 (0x519) - AIF1 Tx Enables | ||
| 3388 | */ | ||
| 3389 | #define ARIZONA_AIF1TX8_ENA 0x0080 /* AIF1TX8_ENA */ | ||
| 3390 | #define ARIZONA_AIF1TX8_ENA_MASK 0x0080 /* AIF1TX8_ENA */ | ||
| 3391 | #define ARIZONA_AIF1TX8_ENA_SHIFT 7 /* AIF1TX8_ENA */ | ||
| 3392 | #define ARIZONA_AIF1TX8_ENA_WIDTH 1 /* AIF1TX8_ENA */ | ||
| 3393 | #define ARIZONA_AIF1TX7_ENA 0x0040 /* AIF1TX7_ENA */ | ||
| 3394 | #define ARIZONA_AIF1TX7_ENA_MASK 0x0040 /* AIF1TX7_ENA */ | ||
| 3395 | #define ARIZONA_AIF1TX7_ENA_SHIFT 6 /* AIF1TX7_ENA */ | ||
| 3396 | #define ARIZONA_AIF1TX7_ENA_WIDTH 1 /* AIF1TX7_ENA */ | ||
| 3397 | #define ARIZONA_AIF1TX6_ENA 0x0020 /* AIF1TX6_ENA */ | ||
| 3398 | #define ARIZONA_AIF1TX6_ENA_MASK 0x0020 /* AIF1TX6_ENA */ | ||
| 3399 | #define ARIZONA_AIF1TX6_ENA_SHIFT 5 /* AIF1TX6_ENA */ | ||
| 3400 | #define ARIZONA_AIF1TX6_ENA_WIDTH 1 /* AIF1TX6_ENA */ | ||
| 3401 | #define ARIZONA_AIF1TX5_ENA 0x0010 /* AIF1TX5_ENA */ | ||
| 3402 | #define ARIZONA_AIF1TX5_ENA_MASK 0x0010 /* AIF1TX5_ENA */ | ||
| 3403 | #define ARIZONA_AIF1TX5_ENA_SHIFT 4 /* AIF1TX5_ENA */ | ||
| 3404 | #define ARIZONA_AIF1TX5_ENA_WIDTH 1 /* AIF1TX5_ENA */ | ||
| 3405 | #define ARIZONA_AIF1TX4_ENA 0x0008 /* AIF1TX4_ENA */ | ||
| 3406 | #define ARIZONA_AIF1TX4_ENA_MASK 0x0008 /* AIF1TX4_ENA */ | ||
| 3407 | #define ARIZONA_AIF1TX4_ENA_SHIFT 3 /* AIF1TX4_ENA */ | ||
| 3408 | #define ARIZONA_AIF1TX4_ENA_WIDTH 1 /* AIF1TX4_ENA */ | ||
| 3409 | #define ARIZONA_AIF1TX3_ENA 0x0004 /* AIF1TX3_ENA */ | ||
| 3410 | #define ARIZONA_AIF1TX3_ENA_MASK 0x0004 /* AIF1TX3_ENA */ | ||
| 3411 | #define ARIZONA_AIF1TX3_ENA_SHIFT 2 /* AIF1TX3_ENA */ | ||
| 3412 | #define ARIZONA_AIF1TX3_ENA_WIDTH 1 /* AIF1TX3_ENA */ | ||
| 3413 | #define ARIZONA_AIF1TX2_ENA 0x0002 /* AIF1TX2_ENA */ | ||
| 3414 | #define ARIZONA_AIF1TX2_ENA_MASK 0x0002 /* AIF1TX2_ENA */ | ||
| 3415 | #define ARIZONA_AIF1TX2_ENA_SHIFT 1 /* AIF1TX2_ENA */ | ||
| 3416 | #define ARIZONA_AIF1TX2_ENA_WIDTH 1 /* AIF1TX2_ENA */ | ||
| 3417 | #define ARIZONA_AIF1TX1_ENA 0x0001 /* AIF1TX1_ENA */ | ||
| 3418 | #define ARIZONA_AIF1TX1_ENA_MASK 0x0001 /* AIF1TX1_ENA */ | ||
| 3419 | #define ARIZONA_AIF1TX1_ENA_SHIFT 0 /* AIF1TX1_ENA */ | ||
| 3420 | #define ARIZONA_AIF1TX1_ENA_WIDTH 1 /* AIF1TX1_ENA */ | ||
| 3421 | |||
| 3422 | /* | ||
| 3423 | * R1306 (0x51A) - AIF1 Rx Enables | ||
| 3424 | */ | ||
| 3425 | #define ARIZONA_AIF1RX8_ENA 0x0080 /* AIF1RX8_ENA */ | ||
| 3426 | #define ARIZONA_AIF1RX8_ENA_MASK 0x0080 /* AIF1RX8_ENA */ | ||
| 3427 | #define ARIZONA_AIF1RX8_ENA_SHIFT 7 /* AIF1RX8_ENA */ | ||
| 3428 | #define ARIZONA_AIF1RX8_ENA_WIDTH 1 /* AIF1RX8_ENA */ | ||
| 3429 | #define ARIZONA_AIF1RX7_ENA 0x0040 /* AIF1RX7_ENA */ | ||
| 3430 | #define ARIZONA_AIF1RX7_ENA_MASK 0x0040 /* AIF1RX7_ENA */ | ||
| 3431 | #define ARIZONA_AIF1RX7_ENA_SHIFT 6 /* AIF1RX7_ENA */ | ||
| 3432 | #define ARIZONA_AIF1RX7_ENA_WIDTH 1 /* AIF1RX7_ENA */ | ||
| 3433 | #define ARIZONA_AIF1RX6_ENA 0x0020 /* AIF1RX6_ENA */ | ||
| 3434 | #define ARIZONA_AIF1RX6_ENA_MASK 0x0020 /* AIF1RX6_ENA */ | ||
| 3435 | #define ARIZONA_AIF1RX6_ENA_SHIFT 5 /* AIF1RX6_ENA */ | ||
| 3436 | #define ARIZONA_AIF1RX6_ENA_WIDTH 1 /* AIF1RX6_ENA */ | ||
| 3437 | #define ARIZONA_AIF1RX5_ENA 0x0010 /* AIF1RX5_ENA */ | ||
| 3438 | #define ARIZONA_AIF1RX5_ENA_MASK 0x0010 /* AIF1RX5_ENA */ | ||
| 3439 | #define ARIZONA_AIF1RX5_ENA_SHIFT 4 /* AIF1RX5_ENA */ | ||
| 3440 | #define ARIZONA_AIF1RX5_ENA_WIDTH 1 /* AIF1RX5_ENA */ | ||
| 3441 | #define ARIZONA_AIF1RX4_ENA 0x0008 /* AIF1RX4_ENA */ | ||
| 3442 | #define ARIZONA_AIF1RX4_ENA_MASK 0x0008 /* AIF1RX4_ENA */ | ||
| 3443 | #define ARIZONA_AIF1RX4_ENA_SHIFT 3 /* AIF1RX4_ENA */ | ||
| 3444 | #define ARIZONA_AIF1RX4_ENA_WIDTH 1 /* AIF1RX4_ENA */ | ||
| 3445 | #define ARIZONA_AIF1RX3_ENA 0x0004 /* AIF1RX3_ENA */ | ||
| 3446 | #define ARIZONA_AIF1RX3_ENA_MASK 0x0004 /* AIF1RX3_ENA */ | ||
| 3447 | #define ARIZONA_AIF1RX3_ENA_SHIFT 2 /* AIF1RX3_ENA */ | ||
| 3448 | #define ARIZONA_AIF1RX3_ENA_WIDTH 1 /* AIF1RX3_ENA */ | ||
| 3449 | #define ARIZONA_AIF1RX2_ENA 0x0002 /* AIF1RX2_ENA */ | ||
| 3450 | #define ARIZONA_AIF1RX2_ENA_MASK 0x0002 /* AIF1RX2_ENA */ | ||
| 3451 | #define ARIZONA_AIF1RX2_ENA_SHIFT 1 /* AIF1RX2_ENA */ | ||
| 3452 | #define ARIZONA_AIF1RX2_ENA_WIDTH 1 /* AIF1RX2_ENA */ | ||
| 3453 | #define ARIZONA_AIF1RX1_ENA 0x0001 /* AIF1RX1_ENA */ | ||
| 3454 | #define ARIZONA_AIF1RX1_ENA_MASK 0x0001 /* AIF1RX1_ENA */ | ||
| 3455 | #define ARIZONA_AIF1RX1_ENA_SHIFT 0 /* AIF1RX1_ENA */ | ||
| 3456 | #define ARIZONA_AIF1RX1_ENA_WIDTH 1 /* AIF1RX1_ENA */ | ||
| 3457 | |||
| 3458 | /* | ||
| 3459 | * R1307 (0x51B) - AIF1 Force Write | ||
| 3460 | */ | ||
| 3461 | #define ARIZONA_AIF1_FRC_WR 0x0001 /* AIF1_FRC_WR */ | ||
| 3462 | #define ARIZONA_AIF1_FRC_WR_MASK 0x0001 /* AIF1_FRC_WR */ | ||
| 3463 | #define ARIZONA_AIF1_FRC_WR_SHIFT 0 /* AIF1_FRC_WR */ | ||
| 3464 | #define ARIZONA_AIF1_FRC_WR_WIDTH 1 /* AIF1_FRC_WR */ | ||
| 3465 | |||
| 3466 | /* | ||
| 3467 | * R1344 (0x540) - AIF2 BCLK Ctrl | ||
| 3468 | */ | ||
| 3469 | #define ARIZONA_AIF2_BCLK_INV 0x0080 /* AIF2_BCLK_INV */ | ||
| 3470 | #define ARIZONA_AIF2_BCLK_INV_MASK 0x0080 /* AIF2_BCLK_INV */ | ||
| 3471 | #define ARIZONA_AIF2_BCLK_INV_SHIFT 7 /* AIF2_BCLK_INV */ | ||
| 3472 | #define ARIZONA_AIF2_BCLK_INV_WIDTH 1 /* AIF2_BCLK_INV */ | ||
| 3473 | #define ARIZONA_AIF2_BCLK_FRC 0x0040 /* AIF2_BCLK_FRC */ | ||
| 3474 | #define ARIZONA_AIF2_BCLK_FRC_MASK 0x0040 /* AIF2_BCLK_FRC */ | ||
| 3475 | #define ARIZONA_AIF2_BCLK_FRC_SHIFT 6 /* AIF2_BCLK_FRC */ | ||
| 3476 | #define ARIZONA_AIF2_BCLK_FRC_WIDTH 1 /* AIF2_BCLK_FRC */ | ||
| 3477 | #define ARIZONA_AIF2_BCLK_MSTR 0x0020 /* AIF2_BCLK_MSTR */ | ||
| 3478 | #define ARIZONA_AIF2_BCLK_MSTR_MASK 0x0020 /* AIF2_BCLK_MSTR */ | ||
| 3479 | #define ARIZONA_AIF2_BCLK_MSTR_SHIFT 5 /* AIF2_BCLK_MSTR */ | ||
| 3480 | #define ARIZONA_AIF2_BCLK_MSTR_WIDTH 1 /* AIF2_BCLK_MSTR */ | ||
| 3481 | #define ARIZONA_AIF2_BCLK_FREQ_MASK 0x001F /* AIF2_BCLK_FREQ - [4:0] */ | ||
| 3482 | #define ARIZONA_AIF2_BCLK_FREQ_SHIFT 0 /* AIF2_BCLK_FREQ - [4:0] */ | ||
| 3483 | #define ARIZONA_AIF2_BCLK_FREQ_WIDTH 5 /* AIF2_BCLK_FREQ - [4:0] */ | ||
| 3484 | |||
| 3485 | /* | ||
| 3486 | * R1345 (0x541) - AIF2 Tx Pin Ctrl | ||
| 3487 | */ | ||
| 3488 | #define ARIZONA_AIF2TX_DAT_TRI 0x0020 /* AIF2TX_DAT_TRI */ | ||
| 3489 | #define ARIZONA_AIF2TX_DAT_TRI_MASK 0x0020 /* AIF2TX_DAT_TRI */ | ||
| 3490 | #define ARIZONA_AIF2TX_DAT_TRI_SHIFT 5 /* AIF2TX_DAT_TRI */ | ||
| 3491 | #define ARIZONA_AIF2TX_DAT_TRI_WIDTH 1 /* AIF2TX_DAT_TRI */ | ||
| 3492 | #define ARIZONA_AIF2TX_LRCLK_SRC 0x0008 /* AIF2TX_LRCLK_SRC */ | ||
| 3493 | #define ARIZONA_AIF2TX_LRCLK_SRC_MASK 0x0008 /* AIF2TX_LRCLK_SRC */ | ||
| 3494 | #define ARIZONA_AIF2TX_LRCLK_SRC_SHIFT 3 /* AIF2TX_LRCLK_SRC */ | ||
| 3495 | #define ARIZONA_AIF2TX_LRCLK_SRC_WIDTH 1 /* AIF2TX_LRCLK_SRC */ | ||
| 3496 | #define ARIZONA_AIF2TX_LRCLK_INV 0x0004 /* AIF2TX_LRCLK_INV */ | ||
| 3497 | #define ARIZONA_AIF2TX_LRCLK_INV_MASK 0x0004 /* AIF2TX_LRCLK_INV */ | ||
| 3498 | #define ARIZONA_AIF2TX_LRCLK_INV_SHIFT 2 /* AIF2TX_LRCLK_INV */ | ||
| 3499 | #define ARIZONA_AIF2TX_LRCLK_INV_WIDTH 1 /* AIF2TX_LRCLK_INV */ | ||
| 3500 | #define ARIZONA_AIF2TX_LRCLK_FRC 0x0002 /* AIF2TX_LRCLK_FRC */ | ||
| 3501 | #define ARIZONA_AIF2TX_LRCLK_FRC_MASK 0x0002 /* AIF2TX_LRCLK_FRC */ | ||
| 3502 | #define ARIZONA_AIF2TX_LRCLK_FRC_SHIFT 1 /* AIF2TX_LRCLK_FRC */ | ||
| 3503 | #define ARIZONA_AIF2TX_LRCLK_FRC_WIDTH 1 /* AIF2TX_LRCLK_FRC */ | ||
| 3504 | #define ARIZONA_AIF2TX_LRCLK_MSTR 0x0001 /* AIF2TX_LRCLK_MSTR */ | ||
| 3505 | #define ARIZONA_AIF2TX_LRCLK_MSTR_MASK 0x0001 /* AIF2TX_LRCLK_MSTR */ | ||
| 3506 | #define ARIZONA_AIF2TX_LRCLK_MSTR_SHIFT 0 /* AIF2TX_LRCLK_MSTR */ | ||
| 3507 | #define ARIZONA_AIF2TX_LRCLK_MSTR_WIDTH 1 /* AIF2TX_LRCLK_MSTR */ | ||
| 3508 | |||
| 3509 | /* | ||
| 3510 | * R1346 (0x542) - AIF2 Rx Pin Ctrl | ||
| 3511 | */ | ||
| 3512 | #define ARIZONA_AIF2RX_LRCLK_INV 0x0004 /* AIF2RX_LRCLK_INV */ | ||
| 3513 | #define ARIZONA_AIF2RX_LRCLK_INV_MASK 0x0004 /* AIF2RX_LRCLK_INV */ | ||
| 3514 | #define ARIZONA_AIF2RX_LRCLK_INV_SHIFT 2 /* AIF2RX_LRCLK_INV */ | ||
| 3515 | #define ARIZONA_AIF2RX_LRCLK_INV_WIDTH 1 /* AIF2RX_LRCLK_INV */ | ||
| 3516 | #define ARIZONA_AIF2RX_LRCLK_FRC 0x0002 /* AIF2RX_LRCLK_FRC */ | ||
| 3517 | #define ARIZONA_AIF2RX_LRCLK_FRC_MASK 0x0002 /* AIF2RX_LRCLK_FRC */ | ||
| 3518 | #define ARIZONA_AIF2RX_LRCLK_FRC_SHIFT 1 /* AIF2RX_LRCLK_FRC */ | ||
| 3519 | #define ARIZONA_AIF2RX_LRCLK_FRC_WIDTH 1 /* AIF2RX_LRCLK_FRC */ | ||
| 3520 | #define ARIZONA_AIF2RX_LRCLK_MSTR 0x0001 /* AIF2RX_LRCLK_MSTR */ | ||
| 3521 | #define ARIZONA_AIF2RX_LRCLK_MSTR_MASK 0x0001 /* AIF2RX_LRCLK_MSTR */ | ||
| 3522 | #define ARIZONA_AIF2RX_LRCLK_MSTR_SHIFT 0 /* AIF2RX_LRCLK_MSTR */ | ||
| 3523 | #define ARIZONA_AIF2RX_LRCLK_MSTR_WIDTH 1 /* AIF2RX_LRCLK_MSTR */ | ||
| 3524 | |||
| 3525 | /* | ||
| 3526 | * R1347 (0x543) - AIF2 Rate Ctrl | ||
| 3527 | */ | ||
| 3528 | #define ARIZONA_AIF2_RATE_MASK 0x7800 /* AIF2_RATE - [14:11] */ | ||
| 3529 | #define ARIZONA_AIF2_RATE_SHIFT 11 /* AIF2_RATE - [14:11] */ | ||
| 3530 | #define ARIZONA_AIF2_RATE_WIDTH 4 /* AIF2_RATE - [14:11] */ | ||
| 3531 | #define ARIZONA_AIF2_TRI 0x0040 /* AIF2_TRI */ | ||
| 3532 | #define ARIZONA_AIF2_TRI_MASK 0x0040 /* AIF2_TRI */ | ||
| 3533 | #define ARIZONA_AIF2_TRI_SHIFT 6 /* AIF2_TRI */ | ||
| 3534 | #define ARIZONA_AIF2_TRI_WIDTH 1 /* AIF2_TRI */ | ||
| 3535 | |||
| 3536 | /* | ||
| 3537 | * R1348 (0x544) - AIF2 Format | ||
| 3538 | */ | ||
| 3539 | #define ARIZONA_AIF2_FMT_MASK 0x0007 /* AIF2_FMT - [2:0] */ | ||
| 3540 | #define ARIZONA_AIF2_FMT_SHIFT 0 /* AIF2_FMT - [2:0] */ | ||
| 3541 | #define ARIZONA_AIF2_FMT_WIDTH 3 /* AIF2_FMT - [2:0] */ | ||
| 3542 | |||
| 3543 | /* | ||
| 3544 | * R1349 (0x545) - AIF2 Tx BCLK Rate | ||
| 3545 | */ | ||
| 3546 | #define ARIZONA_AIF2TX_BCPF_MASK 0x1FFF /* AIF2TX_BCPF - [12:0] */ | ||
| 3547 | #define ARIZONA_AIF2TX_BCPF_SHIFT 0 /* AIF2TX_BCPF - [12:0] */ | ||
| 3548 | #define ARIZONA_AIF2TX_BCPF_WIDTH 13 /* AIF2TX_BCPF - [12:0] */ | ||
| 3549 | |||
| 3550 | /* | ||
| 3551 | * R1350 (0x546) - AIF2 Rx BCLK Rate | ||
| 3552 | */ | ||
| 3553 | #define ARIZONA_AIF2RX_BCPF_MASK 0x1FFF /* AIF2RX_BCPF - [12:0] */ | ||
| 3554 | #define ARIZONA_AIF2RX_BCPF_SHIFT 0 /* AIF2RX_BCPF - [12:0] */ | ||
| 3555 | #define ARIZONA_AIF2RX_BCPF_WIDTH 13 /* AIF2RX_BCPF - [12:0] */ | ||
| 3556 | |||
| 3557 | /* | ||
| 3558 | * R1351 (0x547) - AIF2 Frame Ctrl 1 | ||
| 3559 | */ | ||
| 3560 | #define ARIZONA_AIF2TX_WL_MASK 0x3F00 /* AIF2TX_WL - [13:8] */ | ||
| 3561 | #define ARIZONA_AIF2TX_WL_SHIFT 8 /* AIF2TX_WL - [13:8] */ | ||
| 3562 | #define ARIZONA_AIF2TX_WL_WIDTH 6 /* AIF2TX_WL - [13:8] */ | ||
| 3563 | #define ARIZONA_AIF2TX_SLOT_LEN_MASK 0x00FF /* AIF2TX_SLOT_LEN - [7:0] */ | ||
| 3564 | #define ARIZONA_AIF2TX_SLOT_LEN_SHIFT 0 /* AIF2TX_SLOT_LEN - [7:0] */ | ||
| 3565 | #define ARIZONA_AIF2TX_SLOT_LEN_WIDTH 8 /* AIF2TX_SLOT_LEN - [7:0] */ | ||
| 3566 | |||
| 3567 | /* | ||
| 3568 | * R1352 (0x548) - AIF2 Frame Ctrl 2 | ||
| 3569 | */ | ||
| 3570 | #define ARIZONA_AIF2RX_WL_MASK 0x3F00 /* AIF2RX_WL - [13:8] */ | ||
| 3571 | #define ARIZONA_AIF2RX_WL_SHIFT 8 /* AIF2RX_WL - [13:8] */ | ||
| 3572 | #define ARIZONA_AIF2RX_WL_WIDTH 6 /* AIF2RX_WL - [13:8] */ | ||
| 3573 | #define ARIZONA_AIF2RX_SLOT_LEN_MASK 0x00FF /* AIF2RX_SLOT_LEN - [7:0] */ | ||
| 3574 | #define ARIZONA_AIF2RX_SLOT_LEN_SHIFT 0 /* AIF2RX_SLOT_LEN - [7:0] */ | ||
| 3575 | #define ARIZONA_AIF2RX_SLOT_LEN_WIDTH 8 /* AIF2RX_SLOT_LEN - [7:0] */ | ||
| 3576 | |||
| 3577 | /* | ||
| 3578 | * R1353 (0x549) - AIF2 Frame Ctrl 3 | ||
| 3579 | */ | ||
| 3580 | #define ARIZONA_AIF2TX1_SLOT_MASK 0x003F /* AIF2TX1_SLOT - [5:0] */ | ||
| 3581 | #define ARIZONA_AIF2TX1_SLOT_SHIFT 0 /* AIF2TX1_SLOT - [5:0] */ | ||
| 3582 | #define ARIZONA_AIF2TX1_SLOT_WIDTH 6 /* AIF2TX1_SLOT - [5:0] */ | ||
| 3583 | |||
| 3584 | /* | ||
| 3585 | * R1354 (0x54A) - AIF2 Frame Ctrl 4 | ||
| 3586 | */ | ||
| 3587 | #define ARIZONA_AIF2TX2_SLOT_MASK 0x003F /* AIF2TX2_SLOT - [5:0] */ | ||
| 3588 | #define ARIZONA_AIF2TX2_SLOT_SHIFT 0 /* AIF2TX2_SLOT - [5:0] */ | ||
| 3589 | #define ARIZONA_AIF2TX2_SLOT_WIDTH 6 /* AIF2TX2_SLOT - [5:0] */ | ||
| 3590 | |||
| 3591 | /* | ||
| 3592 | * R1361 (0x551) - AIF2 Frame Ctrl 11 | ||
| 3593 | */ | ||
| 3594 | #define ARIZONA_AIF2RX1_SLOT_MASK 0x003F /* AIF2RX1_SLOT - [5:0] */ | ||
| 3595 | #define ARIZONA_AIF2RX1_SLOT_SHIFT 0 /* AIF2RX1_SLOT - [5:0] */ | ||
| 3596 | #define ARIZONA_AIF2RX1_SLOT_WIDTH 6 /* AIF2RX1_SLOT - [5:0] */ | ||
| 3597 | |||
| 3598 | /* | ||
| 3599 | * R1362 (0x552) - AIF2 Frame Ctrl 12 | ||
| 3600 | */ | ||
| 3601 | #define ARIZONA_AIF2RX2_SLOT_MASK 0x003F /* AIF2RX2_SLOT - [5:0] */ | ||
| 3602 | #define ARIZONA_AIF2RX2_SLOT_SHIFT 0 /* AIF2RX2_SLOT - [5:0] */ | ||
| 3603 | #define ARIZONA_AIF2RX2_SLOT_WIDTH 6 /* AIF2RX2_SLOT - [5:0] */ | ||
| 3604 | |||
| 3605 | /* | ||
| 3606 | * R1369 (0x559) - AIF2 Tx Enables | ||
| 3607 | */ | ||
| 3608 | #define ARIZONA_AIF2TX2_ENA 0x0002 /* AIF2TX2_ENA */ | ||
| 3609 | #define ARIZONA_AIF2TX2_ENA_MASK 0x0002 /* AIF2TX2_ENA */ | ||
| 3610 | #define ARIZONA_AIF2TX2_ENA_SHIFT 1 /* AIF2TX2_ENA */ | ||
| 3611 | #define ARIZONA_AIF2TX2_ENA_WIDTH 1 /* AIF2TX2_ENA */ | ||
| 3612 | #define ARIZONA_AIF2TX1_ENA 0x0001 /* AIF2TX1_ENA */ | ||
| 3613 | #define ARIZONA_AIF2TX1_ENA_MASK 0x0001 /* AIF2TX1_ENA */ | ||
| 3614 | #define ARIZONA_AIF2TX1_ENA_SHIFT 0 /* AIF2TX1_ENA */ | ||
| 3615 | #define ARIZONA_AIF2TX1_ENA_WIDTH 1 /* AIF2TX1_ENA */ | ||
| 3616 | |||
| 3617 | /* | ||
| 3618 | * R1370 (0x55A) - AIF2 Rx Enables | ||
| 3619 | */ | ||
| 3620 | #define ARIZONA_AIF2RX2_ENA 0x0002 /* AIF2RX2_ENA */ | ||
| 3621 | #define ARIZONA_AIF2RX2_ENA_MASK 0x0002 /* AIF2RX2_ENA */ | ||
| 3622 | #define ARIZONA_AIF2RX2_ENA_SHIFT 1 /* AIF2RX2_ENA */ | ||
| 3623 | #define ARIZONA_AIF2RX2_ENA_WIDTH 1 /* AIF2RX2_ENA */ | ||
| 3624 | #define ARIZONA_AIF2RX1_ENA 0x0001 /* AIF2RX1_ENA */ | ||
| 3625 | #define ARIZONA_AIF2RX1_ENA_MASK 0x0001 /* AIF2RX1_ENA */ | ||
| 3626 | #define ARIZONA_AIF2RX1_ENA_SHIFT 0 /* AIF2RX1_ENA */ | ||
| 3627 | #define ARIZONA_AIF2RX1_ENA_WIDTH 1 /* AIF2RX1_ENA */ | ||
| 3628 | |||
| 3629 | /* | ||
| 3630 | * R1371 (0x55B) - AIF2 Force Write | ||
| 3631 | */ | ||
| 3632 | #define ARIZONA_AIF2_FRC_WR 0x0001 /* AIF2_FRC_WR */ | ||
| 3633 | #define ARIZONA_AIF2_FRC_WR_MASK 0x0001 /* AIF2_FRC_WR */ | ||
| 3634 | #define ARIZONA_AIF2_FRC_WR_SHIFT 0 /* AIF2_FRC_WR */ | ||
| 3635 | #define ARIZONA_AIF2_FRC_WR_WIDTH 1 /* AIF2_FRC_WR */ | ||
| 3636 | |||
| 3637 | /* | ||
| 3638 | * R1408 (0x580) - AIF3 BCLK Ctrl | ||
| 3639 | */ | ||
| 3640 | #define ARIZONA_AIF3_BCLK_INV 0x0080 /* AIF3_BCLK_INV */ | ||
| 3641 | #define ARIZONA_AIF3_BCLK_INV_MASK 0x0080 /* AIF3_BCLK_INV */ | ||
| 3642 | #define ARIZONA_AIF3_BCLK_INV_SHIFT 7 /* AIF3_BCLK_INV */ | ||
| 3643 | #define ARIZONA_AIF3_BCLK_INV_WIDTH 1 /* AIF3_BCLK_INV */ | ||
| 3644 | #define ARIZONA_AIF3_BCLK_FRC 0x0040 /* AIF3_BCLK_FRC */ | ||
| 3645 | #define ARIZONA_AIF3_BCLK_FRC_MASK 0x0040 /* AIF3_BCLK_FRC */ | ||
| 3646 | #define ARIZONA_AIF3_BCLK_FRC_SHIFT 6 /* AIF3_BCLK_FRC */ | ||
| 3647 | #define ARIZONA_AIF3_BCLK_FRC_WIDTH 1 /* AIF3_BCLK_FRC */ | ||
| 3648 | #define ARIZONA_AIF3_BCLK_MSTR 0x0020 /* AIF3_BCLK_MSTR */ | ||
| 3649 | #define ARIZONA_AIF3_BCLK_MSTR_MASK 0x0020 /* AIF3_BCLK_MSTR */ | ||
| 3650 | #define ARIZONA_AIF3_BCLK_MSTR_SHIFT 5 /* AIF3_BCLK_MSTR */ | ||
| 3651 | #define ARIZONA_AIF3_BCLK_MSTR_WIDTH 1 /* AIF3_BCLK_MSTR */ | ||
| 3652 | #define ARIZONA_AIF3_BCLK_FREQ_MASK 0x001F /* AIF3_BCLK_FREQ - [4:0] */ | ||
| 3653 | #define ARIZONA_AIF3_BCLK_FREQ_SHIFT 0 /* AIF3_BCLK_FREQ - [4:0] */ | ||
| 3654 | #define ARIZONA_AIF3_BCLK_FREQ_WIDTH 5 /* AIF3_BCLK_FREQ - [4:0] */ | ||
| 3655 | |||
| 3656 | /* | ||
| 3657 | * R1409 (0x581) - AIF3 Tx Pin Ctrl | ||
| 3658 | */ | ||
| 3659 | #define ARIZONA_AIF3TX_DAT_TRI 0x0020 /* AIF3TX_DAT_TRI */ | ||
| 3660 | #define ARIZONA_AIF3TX_DAT_TRI_MASK 0x0020 /* AIF3TX_DAT_TRI */ | ||
| 3661 | #define ARIZONA_AIF3TX_DAT_TRI_SHIFT 5 /* AIF3TX_DAT_TRI */ | ||
| 3662 | #define ARIZONA_AIF3TX_DAT_TRI_WIDTH 1 /* AIF3TX_DAT_TRI */ | ||
| 3663 | #define ARIZONA_AIF3TX_LRCLK_SRC 0x0008 /* AIF3TX_LRCLK_SRC */ | ||
| 3664 | #define ARIZONA_AIF3TX_LRCLK_SRC_MASK 0x0008 /* AIF3TX_LRCLK_SRC */ | ||
| 3665 | #define ARIZONA_AIF3TX_LRCLK_SRC_SHIFT 3 /* AIF3TX_LRCLK_SRC */ | ||
| 3666 | #define ARIZONA_AIF3TX_LRCLK_SRC_WIDTH 1 /* AIF3TX_LRCLK_SRC */ | ||
| 3667 | #define ARIZONA_AIF3TX_LRCLK_INV 0x0004 /* AIF3TX_LRCLK_INV */ | ||
| 3668 | #define ARIZONA_AIF3TX_LRCLK_INV_MASK 0x0004 /* AIF3TX_LRCLK_INV */ | ||
| 3669 | #define ARIZONA_AIF3TX_LRCLK_INV_SHIFT 2 /* AIF3TX_LRCLK_INV */ | ||
| 3670 | #define ARIZONA_AIF3TX_LRCLK_INV_WIDTH 1 /* AIF3TX_LRCLK_INV */ | ||
| 3671 | #define ARIZONA_AIF3TX_LRCLK_FRC 0x0002 /* AIF3TX_LRCLK_FRC */ | ||
| 3672 | #define ARIZONA_AIF3TX_LRCLK_FRC_MASK 0x0002 /* AIF3TX_LRCLK_FRC */ | ||
| 3673 | #define ARIZONA_AIF3TX_LRCLK_FRC_SHIFT 1 /* AIF3TX_LRCLK_FRC */ | ||
| 3674 | #define ARIZONA_AIF3TX_LRCLK_FRC_WIDTH 1 /* AIF3TX_LRCLK_FRC */ | ||
| 3675 | #define ARIZONA_AIF3TX_LRCLK_MSTR 0x0001 /* AIF3TX_LRCLK_MSTR */ | ||
| 3676 | #define ARIZONA_AIF3TX_LRCLK_MSTR_MASK 0x0001 /* AIF3TX_LRCLK_MSTR */ | ||
| 3677 | #define ARIZONA_AIF3TX_LRCLK_MSTR_SHIFT 0 /* AIF3TX_LRCLK_MSTR */ | ||
| 3678 | #define ARIZONA_AIF3TX_LRCLK_MSTR_WIDTH 1 /* AIF3TX_LRCLK_MSTR */ | ||
| 3679 | |||
| 3680 | /* | ||
| 3681 | * R1410 (0x582) - AIF3 Rx Pin Ctrl | ||
| 3682 | */ | ||
| 3683 | #define ARIZONA_AIF3RX_LRCLK_INV 0x0004 /* AIF3RX_LRCLK_INV */ | ||
| 3684 | #define ARIZONA_AIF3RX_LRCLK_INV_MASK 0x0004 /* AIF3RX_LRCLK_INV */ | ||
| 3685 | #define ARIZONA_AIF3RX_LRCLK_INV_SHIFT 2 /* AIF3RX_LRCLK_INV */ | ||
| 3686 | #define ARIZONA_AIF3RX_LRCLK_INV_WIDTH 1 /* AIF3RX_LRCLK_INV */ | ||
| 3687 | #define ARIZONA_AIF3RX_LRCLK_FRC 0x0002 /* AIF3RX_LRCLK_FRC */ | ||
| 3688 | #define ARIZONA_AIF3RX_LRCLK_FRC_MASK 0x0002 /* AIF3RX_LRCLK_FRC */ | ||
| 3689 | #define ARIZONA_AIF3RX_LRCLK_FRC_SHIFT 1 /* AIF3RX_LRCLK_FRC */ | ||
| 3690 | #define ARIZONA_AIF3RX_LRCLK_FRC_WIDTH 1 /* AIF3RX_LRCLK_FRC */ | ||
| 3691 | #define ARIZONA_AIF3RX_LRCLK_MSTR 0x0001 /* AIF3RX_LRCLK_MSTR */ | ||
| 3692 | #define ARIZONA_AIF3RX_LRCLK_MSTR_MASK 0x0001 /* AIF3RX_LRCLK_MSTR */ | ||
| 3693 | #define ARIZONA_AIF3RX_LRCLK_MSTR_SHIFT 0 /* AIF3RX_LRCLK_MSTR */ | ||
| 3694 | #define ARIZONA_AIF3RX_LRCLK_MSTR_WIDTH 1 /* AIF3RX_LRCLK_MSTR */ | ||
| 3695 | |||
| 3696 | /* | ||
| 3697 | * R1411 (0x583) - AIF3 Rate Ctrl | ||
| 3698 | */ | ||
| 3699 | #define ARIZONA_AIF3_RATE_MASK 0x7800 /* AIF3_RATE - [14:11] */ | ||
| 3700 | #define ARIZONA_AIF3_RATE_SHIFT 11 /* AIF3_RATE - [14:11] */ | ||
| 3701 | #define ARIZONA_AIF3_RATE_WIDTH 4 /* AIF3_RATE - [14:11] */ | ||
| 3702 | #define ARIZONA_AIF3_TRI 0x0040 /* AIF3_TRI */ | ||
| 3703 | #define ARIZONA_AIF3_TRI_MASK 0x0040 /* AIF3_TRI */ | ||
| 3704 | #define ARIZONA_AIF3_TRI_SHIFT 6 /* AIF3_TRI */ | ||
| 3705 | #define ARIZONA_AIF3_TRI_WIDTH 1 /* AIF3_TRI */ | ||
| 3706 | |||
| 3707 | /* | ||
| 3708 | * R1412 (0x584) - AIF3 Format | ||
| 3709 | */ | ||
| 3710 | #define ARIZONA_AIF3_FMT_MASK 0x0007 /* AIF3_FMT - [2:0] */ | ||
| 3711 | #define ARIZONA_AIF3_FMT_SHIFT 0 /* AIF3_FMT - [2:0] */ | ||
| 3712 | #define ARIZONA_AIF3_FMT_WIDTH 3 /* AIF3_FMT - [2:0] */ | ||
| 3713 | |||
| 3714 | /* | ||
| 3715 | * R1413 (0x585) - AIF3 Tx BCLK Rate | ||
| 3716 | */ | ||
| 3717 | #define ARIZONA_AIF3TX_BCPF_MASK 0x1FFF /* AIF3TX_BCPF - [12:0] */ | ||
| 3718 | #define ARIZONA_AIF3TX_BCPF_SHIFT 0 /* AIF3TX_BCPF - [12:0] */ | ||
| 3719 | #define ARIZONA_AIF3TX_BCPF_WIDTH 13 /* AIF3TX_BCPF - [12:0] */ | ||
| 3720 | |||
| 3721 | /* | ||
| 3722 | * R1414 (0x586) - AIF3 Rx BCLK Rate | ||
| 3723 | */ | ||
| 3724 | #define ARIZONA_AIF3RX_BCPF_MASK 0x1FFF /* AIF3RX_BCPF - [12:0] */ | ||
| 3725 | #define ARIZONA_AIF3RX_BCPF_SHIFT 0 /* AIF3RX_BCPF - [12:0] */ | ||
| 3726 | #define ARIZONA_AIF3RX_BCPF_WIDTH 13 /* AIF3RX_BCPF - [12:0] */ | ||
| 3727 | |||
| 3728 | /* | ||
| 3729 | * R1415 (0x587) - AIF3 Frame Ctrl 1 | ||
| 3730 | */ | ||
| 3731 | #define ARIZONA_AIF3TX_WL_MASK 0x3F00 /* AIF3TX_WL - [13:8] */ | ||
| 3732 | #define ARIZONA_AIF3TX_WL_SHIFT 8 /* AIF3TX_WL - [13:8] */ | ||
| 3733 | #define ARIZONA_AIF3TX_WL_WIDTH 6 /* AIF3TX_WL - [13:8] */ | ||
| 3734 | #define ARIZONA_AIF3TX_SLOT_LEN_MASK 0x00FF /* AIF3TX_SLOT_LEN - [7:0] */ | ||
| 3735 | #define ARIZONA_AIF3TX_SLOT_LEN_SHIFT 0 /* AIF3TX_SLOT_LEN - [7:0] */ | ||
| 3736 | #define ARIZONA_AIF3TX_SLOT_LEN_WIDTH 8 /* AIF3TX_SLOT_LEN - [7:0] */ | ||
| 3737 | |||
| 3738 | /* | ||
| 3739 | * R1416 (0x588) - AIF3 Frame Ctrl 2 | ||
| 3740 | */ | ||
| 3741 | #define ARIZONA_AIF3RX_WL_MASK 0x3F00 /* AIF3RX_WL - [13:8] */ | ||
| 3742 | #define ARIZONA_AIF3RX_WL_SHIFT 8 /* AIF3RX_WL - [13:8] */ | ||
| 3743 | #define ARIZONA_AIF3RX_WL_WIDTH 6 /* AIF3RX_WL - [13:8] */ | ||
| 3744 | #define ARIZONA_AIF3RX_SLOT_LEN_MASK 0x00FF /* AIF3RX_SLOT_LEN - [7:0] */ | ||
| 3745 | #define ARIZONA_AIF3RX_SLOT_LEN_SHIFT 0 /* AIF3RX_SLOT_LEN - [7:0] */ | ||
| 3746 | #define ARIZONA_AIF3RX_SLOT_LEN_WIDTH 8 /* AIF3RX_SLOT_LEN - [7:0] */ | ||
| 3747 | |||
| 3748 | /* | ||
| 3749 | * R1417 (0x589) - AIF3 Frame Ctrl 3 | ||
| 3750 | */ | ||
| 3751 | #define ARIZONA_AIF3TX1_SLOT_MASK 0x003F /* AIF3TX1_SLOT - [5:0] */ | ||
| 3752 | #define ARIZONA_AIF3TX1_SLOT_SHIFT 0 /* AIF3TX1_SLOT - [5:0] */ | ||
| 3753 | #define ARIZONA_AIF3TX1_SLOT_WIDTH 6 /* AIF3TX1_SLOT - [5:0] */ | ||
| 3754 | |||
| 3755 | /* | ||
| 3756 | * R1418 (0x58A) - AIF3 Frame Ctrl 4 | ||
| 3757 | */ | ||
| 3758 | #define ARIZONA_AIF3TX2_SLOT_MASK 0x003F /* AIF3TX2_SLOT - [5:0] */ | ||
| 3759 | #define ARIZONA_AIF3TX2_SLOT_SHIFT 0 /* AIF3TX2_SLOT - [5:0] */ | ||
| 3760 | #define ARIZONA_AIF3TX2_SLOT_WIDTH 6 /* AIF3TX2_SLOT - [5:0] */ | ||
| 3761 | |||
| 3762 | /* | ||
| 3763 | * R1425 (0x591) - AIF3 Frame Ctrl 11 | ||
| 3764 | */ | ||
| 3765 | #define ARIZONA_AIF3RX1_SLOT_MASK 0x003F /* AIF3RX1_SLOT - [5:0] */ | ||
| 3766 | #define ARIZONA_AIF3RX1_SLOT_SHIFT 0 /* AIF3RX1_SLOT - [5:0] */ | ||
| 3767 | #define ARIZONA_AIF3RX1_SLOT_WIDTH 6 /* AIF3RX1_SLOT - [5:0] */ | ||
| 3768 | |||
| 3769 | /* | ||
| 3770 | * R1426 (0x592) - AIF3 Frame Ctrl 12 | ||
| 3771 | */ | ||
| 3772 | #define ARIZONA_AIF3RX2_SLOT_MASK 0x003F /* AIF3RX2_SLOT - [5:0] */ | ||
| 3773 | #define ARIZONA_AIF3RX2_SLOT_SHIFT 0 /* AIF3RX2_SLOT - [5:0] */ | ||
| 3774 | #define ARIZONA_AIF3RX2_SLOT_WIDTH 6 /* AIF3RX2_SLOT - [5:0] */ | ||
| 3775 | |||
| 3776 | /* | ||
| 3777 | * R1433 (0x599) - AIF3 Tx Enables | ||
| 3778 | */ | ||
| 3779 | #define ARIZONA_AIF3TX2_ENA 0x0002 /* AIF3TX2_ENA */ | ||
| 3780 | #define ARIZONA_AIF3TX2_ENA_MASK 0x0002 /* AIF3TX2_ENA */ | ||
| 3781 | #define ARIZONA_AIF3TX2_ENA_SHIFT 1 /* AIF3TX2_ENA */ | ||
| 3782 | #define ARIZONA_AIF3TX2_ENA_WIDTH 1 /* AIF3TX2_ENA */ | ||
| 3783 | #define ARIZONA_AIF3TX1_ENA 0x0001 /* AIF3TX1_ENA */ | ||
| 3784 | #define ARIZONA_AIF3TX1_ENA_MASK 0x0001 /* AIF3TX1_ENA */ | ||
| 3785 | #define ARIZONA_AIF3TX1_ENA_SHIFT 0 /* AIF3TX1_ENA */ | ||
| 3786 | #define ARIZONA_AIF3TX1_ENA_WIDTH 1 /* AIF3TX1_ENA */ | ||
| 3787 | |||
| 3788 | /* | ||
| 3789 | * R1434 (0x59A) - AIF3 Rx Enables | ||
| 3790 | */ | ||
| 3791 | #define ARIZONA_AIF3RX2_ENA 0x0002 /* AIF3RX2_ENA */ | ||
| 3792 | #define ARIZONA_AIF3RX2_ENA_MASK 0x0002 /* AIF3RX2_ENA */ | ||
| 3793 | #define ARIZONA_AIF3RX2_ENA_SHIFT 1 /* AIF3RX2_ENA */ | ||
| 3794 | #define ARIZONA_AIF3RX2_ENA_WIDTH 1 /* AIF3RX2_ENA */ | ||
| 3795 | #define ARIZONA_AIF3RX1_ENA 0x0001 /* AIF3RX1_ENA */ | ||
| 3796 | #define ARIZONA_AIF3RX1_ENA_MASK 0x0001 /* AIF3RX1_ENA */ | ||
| 3797 | #define ARIZONA_AIF3RX1_ENA_SHIFT 0 /* AIF3RX1_ENA */ | ||
| 3798 | #define ARIZONA_AIF3RX1_ENA_WIDTH 1 /* AIF3RX1_ENA */ | ||
| 3799 | |||
| 3800 | /* | ||
| 3801 | * R1435 (0x59B) - AIF3 Force Write | ||
| 3802 | */ | ||
| 3803 | #define ARIZONA_AIF3_FRC_WR 0x0001 /* AIF3_FRC_WR */ | ||
| 3804 | #define ARIZONA_AIF3_FRC_WR_MASK 0x0001 /* AIF3_FRC_WR */ | ||
| 3805 | #define ARIZONA_AIF3_FRC_WR_SHIFT 0 /* AIF3_FRC_WR */ | ||
| 3806 | #define ARIZONA_AIF3_FRC_WR_WIDTH 1 /* AIF3_FRC_WR */ | ||
| 3807 | |||
| 3808 | /* | ||
| 3809 | * R1507 (0x5E3) - SLIMbus Framer Ref Gear | ||
| 3810 | */ | ||
| 3811 | #define ARIZONA_SLIMCLK_SRC 0x0010 /* SLIMCLK_SRC */ | ||
| 3812 | #define ARIZONA_SLIMCLK_SRC_MASK 0x0010 /* SLIMCLK_SRC */ | ||
| 3813 | #define ARIZONA_SLIMCLK_SRC_SHIFT 4 /* SLIMCLK_SRC */ | ||
| 3814 | #define ARIZONA_SLIMCLK_SRC_WIDTH 1 /* SLIMCLK_SRC */ | ||
| 3815 | #define ARIZONA_FRAMER_REF_GEAR_MASK 0x000F /* FRAMER_REF_GEAR - [3:0] */ | ||
| 3816 | #define ARIZONA_FRAMER_REF_GEAR_SHIFT 0 /* FRAMER_REF_GEAR - [3:0] */ | ||
| 3817 | #define ARIZONA_FRAMER_REF_GEAR_WIDTH 4 /* FRAMER_REF_GEAR - [3:0] */ | ||
| 3818 | |||
| 3819 | /* | ||
| 3820 | * R1509 (0x5E5) - SLIMbus Rates 1 | ||
| 3821 | */ | ||
| 3822 | #define ARIZONA_SLIMRX2_RATE_MASK 0x7800 /* SLIMRX2_RATE - [14:11] */ | ||
| 3823 | #define ARIZONA_SLIMRX2_RATE_SHIFT 11 /* SLIMRX2_RATE - [14:11] */ | ||
| 3824 | #define ARIZONA_SLIMRX2_RATE_WIDTH 4 /* SLIMRX2_RATE - [14:11] */ | ||
| 3825 | #define ARIZONA_SLIMRX1_RATE_MASK 0x0078 /* SLIMRX1_RATE - [6:3] */ | ||
| 3826 | #define ARIZONA_SLIMRX1_RATE_SHIFT 3 /* SLIMRX1_RATE - [6:3] */ | ||
| 3827 | #define ARIZONA_SLIMRX1_RATE_WIDTH 4 /* SLIMRX1_RATE - [6:3] */ | ||
| 3828 | |||
| 3829 | /* | ||
| 3830 | * R1510 (0x5E6) - SLIMbus Rates 2 | ||
| 3831 | */ | ||
| 3832 | #define ARIZONA_SLIMRX4_RATE_MASK 0x7800 /* SLIMRX4_RATE - [14:11] */ | ||
| 3833 | #define ARIZONA_SLIMRX4_RATE_SHIFT 11 /* SLIMRX4_RATE - [14:11] */ | ||
| 3834 | #define ARIZONA_SLIMRX4_RATE_WIDTH 4 /* SLIMRX4_RATE - [14:11] */ | ||
| 3835 | #define ARIZONA_SLIMRX3_RATE_MASK 0x0078 /* SLIMRX3_RATE - [6:3] */ | ||
| 3836 | #define ARIZONA_SLIMRX3_RATE_SHIFT 3 /* SLIMRX3_RATE - [6:3] */ | ||
| 3837 | #define ARIZONA_SLIMRX3_RATE_WIDTH 4 /* SLIMRX3_RATE - [6:3] */ | ||
| 3838 | |||
| 3839 | /* | ||
| 3840 | * R1511 (0x5E7) - SLIMbus Rates 3 | ||
| 3841 | */ | ||
| 3842 | #define ARIZONA_SLIMRX6_RATE_MASK 0x7800 /* SLIMRX6_RATE - [14:11] */ | ||
| 3843 | #define ARIZONA_SLIMRX6_RATE_SHIFT 11 /* SLIMRX6_RATE - [14:11] */ | ||
| 3844 | #define ARIZONA_SLIMRX6_RATE_WIDTH 4 /* SLIMRX6_RATE - [14:11] */ | ||
| 3845 | #define ARIZONA_SLIMRX5_RATE_MASK 0x0078 /* SLIMRX5_RATE - [6:3] */ | ||
| 3846 | #define ARIZONA_SLIMRX5_RATE_SHIFT 3 /* SLIMRX5_RATE - [6:3] */ | ||
| 3847 | #define ARIZONA_SLIMRX5_RATE_WIDTH 4 /* SLIMRX5_RATE - [6:3] */ | ||
| 3848 | |||
| 3849 | /* | ||
| 3850 | * R1512 (0x5E8) - SLIMbus Rates 4 | ||
| 3851 | */ | ||
| 3852 | #define ARIZONA_SLIMRX8_RATE_MASK 0x7800 /* SLIMRX8_RATE - [14:11] */ | ||
| 3853 | #define ARIZONA_SLIMRX8_RATE_SHIFT 11 /* SLIMRX8_RATE - [14:11] */ | ||
| 3854 | #define ARIZONA_SLIMRX8_RATE_WIDTH 4 /* SLIMRX8_RATE - [14:11] */ | ||
| 3855 | #define ARIZONA_SLIMRX7_RATE_MASK 0x0078 /* SLIMRX7_RATE - [6:3] */ | ||
| 3856 | #define ARIZONA_SLIMRX7_RATE_SHIFT 3 /* SLIMRX7_RATE - [6:3] */ | ||
| 3857 | #define ARIZONA_SLIMRX7_RATE_WIDTH 4 /* SLIMRX7_RATE - [6:3] */ | ||
| 3858 | |||
| 3859 | /* | ||
| 3860 | * R1513 (0x5E9) - SLIMbus Rates 5 | ||
| 3861 | */ | ||
| 3862 | #define ARIZONA_SLIMTX2_RATE_MASK 0x7800 /* SLIMTX2_RATE - [14:11] */ | ||
| 3863 | #define ARIZONA_SLIMTX2_RATE_SHIFT 11 /* SLIMTX2_RATE - [14:11] */ | ||
| 3864 | #define ARIZONA_SLIMTX2_RATE_WIDTH 4 /* SLIMTX2_RATE - [14:11] */ | ||
| 3865 | #define ARIZONA_SLIMTX1_RATE_MASK 0x0078 /* SLIMTX1_RATE - [6:3] */ | ||
| 3866 | #define ARIZONA_SLIMTX1_RATE_SHIFT 3 /* SLIMTX1_RATE - [6:3] */ | ||
| 3867 | #define ARIZONA_SLIMTX1_RATE_WIDTH 4 /* SLIMTX1_RATE - [6:3] */ | ||
| 3868 | |||
| 3869 | /* | ||
| 3870 | * R1514 (0x5EA) - SLIMbus Rates 6 | ||
| 3871 | */ | ||
| 3872 | #define ARIZONA_SLIMTX4_RATE_MASK 0x7800 /* SLIMTX4_RATE - [14:11] */ | ||
| 3873 | #define ARIZONA_SLIMTX4_RATE_SHIFT 11 /* SLIMTX4_RATE - [14:11] */ | ||
| 3874 | #define ARIZONA_SLIMTX4_RATE_WIDTH 4 /* SLIMTX4_RATE - [14:11] */ | ||
| 3875 | #define ARIZONA_SLIMTX3_RATE_MASK 0x0078 /* SLIMTX3_RATE - [6:3] */ | ||
| 3876 | #define ARIZONA_SLIMTX3_RATE_SHIFT 3 /* SLIMTX3_RATE - [6:3] */ | ||
| 3877 | #define ARIZONA_SLIMTX3_RATE_WIDTH 4 /* SLIMTX3_RATE - [6:3] */ | ||
| 3878 | |||
| 3879 | /* | ||
| 3880 | * R1515 (0x5EB) - SLIMbus Rates 7 | ||
| 3881 | */ | ||
| 3882 | #define ARIZONA_SLIMTX6_RATE_MASK 0x7800 /* SLIMTX6_RATE - [14:11] */ | ||
| 3883 | #define ARIZONA_SLIMTX6_RATE_SHIFT 11 /* SLIMTX6_RATE - [14:11] */ | ||
| 3884 | #define ARIZONA_SLIMTX6_RATE_WIDTH 4 /* SLIMTX6_RATE - [14:11] */ | ||
| 3885 | #define ARIZONA_SLIMTX5_RATE_MASK 0x0078 /* SLIMTX5_RATE - [6:3] */ | ||
| 3886 | #define ARIZONA_SLIMTX5_RATE_SHIFT 3 /* SLIMTX5_RATE - [6:3] */ | ||
| 3887 | #define ARIZONA_SLIMTX5_RATE_WIDTH 4 /* SLIMTX5_RATE - [6:3] */ | ||
| 3888 | |||
| 3889 | /* | ||
| 3890 | * R1516 (0x5EC) - SLIMbus Rates 8 | ||
| 3891 | */ | ||
| 3892 | #define ARIZONA_SLIMTX8_RATE_MASK 0x7800 /* SLIMTX8_RATE - [14:11] */ | ||
| 3893 | #define ARIZONA_SLIMTX8_RATE_SHIFT 11 /* SLIMTX8_RATE - [14:11] */ | ||
| 3894 | #define ARIZONA_SLIMTX8_RATE_WIDTH 4 /* SLIMTX8_RATE - [14:11] */ | ||
| 3895 | #define ARIZONA_SLIMTX7_RATE_MASK 0x0078 /* SLIMTX7_RATE - [6:3] */ | ||
| 3896 | #define ARIZONA_SLIMTX7_RATE_SHIFT 3 /* SLIMTX7_RATE - [6:3] */ | ||
| 3897 | #define ARIZONA_SLIMTX7_RATE_WIDTH 4 /* SLIMTX7_RATE - [6:3] */ | ||
| 3898 | |||
| 3899 | /* | ||
| 3900 | * R1525 (0x5F5) - SLIMbus RX Channel Enable | ||
| 3901 | */ | ||
| 3902 | #define ARIZONA_SLIMRX8_ENA 0x0080 /* SLIMRX8_ENA */ | ||
| 3903 | #define ARIZONA_SLIMRX8_ENA_MASK 0x0080 /* SLIMRX8_ENA */ | ||
| 3904 | #define ARIZONA_SLIMRX8_ENA_SHIFT 7 /* SLIMRX8_ENA */ | ||
| 3905 | #define ARIZONA_SLIMRX8_ENA_WIDTH 1 /* SLIMRX8_ENA */ | ||
| 3906 | #define ARIZONA_SLIMRX7_ENA 0x0040 /* SLIMRX7_ENA */ | ||
| 3907 | #define ARIZONA_SLIMRX7_ENA_MASK 0x0040 /* SLIMRX7_ENA */ | ||
| 3908 | #define ARIZONA_SLIMRX7_ENA_SHIFT 6 /* SLIMRX7_ENA */ | ||
| 3909 | #define ARIZONA_SLIMRX7_ENA_WIDTH 1 /* SLIMRX7_ENA */ | ||
| 3910 | #define ARIZONA_SLIMRX6_ENA 0x0020 /* SLIMRX6_ENA */ | ||
| 3911 | #define ARIZONA_SLIMRX6_ENA_MASK 0x0020 /* SLIMRX6_ENA */ | ||
| 3912 | #define ARIZONA_SLIMRX6_ENA_SHIFT 5 /* SLIMRX6_ENA */ | ||
| 3913 | #define ARIZONA_SLIMRX6_ENA_WIDTH 1 /* SLIMRX6_ENA */ | ||
| 3914 | #define ARIZONA_SLIMRX5_ENA 0x0010 /* SLIMRX5_ENA */ | ||
| 3915 | #define ARIZONA_SLIMRX5_ENA_MASK 0x0010 /* SLIMRX5_ENA */ | ||
| 3916 | #define ARIZONA_SLIMRX5_ENA_SHIFT 4 /* SLIMRX5_ENA */ | ||
| 3917 | #define ARIZONA_SLIMRX5_ENA_WIDTH 1 /* SLIMRX5_ENA */ | ||
| 3918 | #define ARIZONA_SLIMRX4_ENA 0x0008 /* SLIMRX4_ENA */ | ||
| 3919 | #define ARIZONA_SLIMRX4_ENA_MASK 0x0008 /* SLIMRX4_ENA */ | ||
| 3920 | #define ARIZONA_SLIMRX4_ENA_SHIFT 3 /* SLIMRX4_ENA */ | ||
| 3921 | #define ARIZONA_SLIMRX4_ENA_WIDTH 1 /* SLIMRX4_ENA */ | ||
| 3922 | #define ARIZONA_SLIMRX3_ENA 0x0004 /* SLIMRX3_ENA */ | ||
| 3923 | #define ARIZONA_SLIMRX3_ENA_MASK 0x0004 /* SLIMRX3_ENA */ | ||
| 3924 | #define ARIZONA_SLIMRX3_ENA_SHIFT 2 /* SLIMRX3_ENA */ | ||
| 3925 | #define ARIZONA_SLIMRX3_ENA_WIDTH 1 /* SLIMRX3_ENA */ | ||
| 3926 | #define ARIZONA_SLIMRX2_ENA 0x0002 /* SLIMRX2_ENA */ | ||
| 3927 | #define ARIZONA_SLIMRX2_ENA_MASK 0x0002 /* SLIMRX2_ENA */ | ||
| 3928 | #define ARIZONA_SLIMRX2_ENA_SHIFT 1 /* SLIMRX2_ENA */ | ||
| 3929 | #define ARIZONA_SLIMRX2_ENA_WIDTH 1 /* SLIMRX2_ENA */ | ||
| 3930 | #define ARIZONA_SLIMRX1_ENA 0x0001 /* SLIMRX1_ENA */ | ||
| 3931 | #define ARIZONA_SLIMRX1_ENA_MASK 0x0001 /* SLIMRX1_ENA */ | ||
| 3932 | #define ARIZONA_SLIMRX1_ENA_SHIFT 0 /* SLIMRX1_ENA */ | ||
| 3933 | #define ARIZONA_SLIMRX1_ENA_WIDTH 1 /* SLIMRX1_ENA */ | ||
| 3934 | |||
| 3935 | /* | ||
| 3936 | * R1526 (0x5F6) - SLIMbus TX Channel Enable | ||
| 3937 | */ | ||
| 3938 | #define ARIZONA_SLIMTX8_ENA 0x0080 /* SLIMTX8_ENA */ | ||
| 3939 | #define ARIZONA_SLIMTX8_ENA_MASK 0x0080 /* SLIMTX8_ENA */ | ||
| 3940 | #define ARIZONA_SLIMTX8_ENA_SHIFT 7 /* SLIMTX8_ENA */ | ||
| 3941 | #define ARIZONA_SLIMTX8_ENA_WIDTH 1 /* SLIMTX8_ENA */ | ||
| 3942 | #define ARIZONA_SLIMTX7_ENA 0x0040 /* SLIMTX7_ENA */ | ||
| 3943 | #define ARIZONA_SLIMTX7_ENA_MASK 0x0040 /* SLIMTX7_ENA */ | ||
| 3944 | #define ARIZONA_SLIMTX7_ENA_SHIFT 6 /* SLIMTX7_ENA */ | ||
| 3945 | #define ARIZONA_SLIMTX7_ENA_WIDTH 1 /* SLIMTX7_ENA */ | ||
| 3946 | #define ARIZONA_SLIMTX6_ENA 0x0020 /* SLIMTX6_ENA */ | ||
| 3947 | #define ARIZONA_SLIMTX6_ENA_MASK 0x0020 /* SLIMTX6_ENA */ | ||
| 3948 | #define ARIZONA_SLIMTX6_ENA_SHIFT 5 /* SLIMTX6_ENA */ | ||
| 3949 | #define ARIZONA_SLIMTX6_ENA_WIDTH 1 /* SLIMTX6_ENA */ | ||
| 3950 | #define ARIZONA_SLIMTX5_ENA 0x0010 /* SLIMTX5_ENA */ | ||
| 3951 | #define ARIZONA_SLIMTX5_ENA_MASK 0x0010 /* SLIMTX5_ENA */ | ||
| 3952 | #define ARIZONA_SLIMTX5_ENA_SHIFT 4 /* SLIMTX5_ENA */ | ||
| 3953 | #define ARIZONA_SLIMTX5_ENA_WIDTH 1 /* SLIMTX5_ENA */ | ||
| 3954 | #define ARIZONA_SLIMTX4_ENA 0x0008 /* SLIMTX4_ENA */ | ||
| 3955 | #define ARIZONA_SLIMTX4_ENA_MASK 0x0008 /* SLIMTX4_ENA */ | ||
| 3956 | #define ARIZONA_SLIMTX4_ENA_SHIFT 3 /* SLIMTX4_ENA */ | ||
| 3957 | #define ARIZONA_SLIMTX4_ENA_WIDTH 1 /* SLIMTX4_ENA */ | ||
| 3958 | #define ARIZONA_SLIMTX3_ENA 0x0004 /* SLIMTX3_ENA */ | ||
| 3959 | #define ARIZONA_SLIMTX3_ENA_MASK 0x0004 /* SLIMTX3_ENA */ | ||
| 3960 | #define ARIZONA_SLIMTX3_ENA_SHIFT 2 /* SLIMTX3_ENA */ | ||
| 3961 | #define ARIZONA_SLIMTX3_ENA_WIDTH 1 /* SLIMTX3_ENA */ | ||
| 3962 | #define ARIZONA_SLIMTX2_ENA 0x0002 /* SLIMTX2_ENA */ | ||
| 3963 | #define ARIZONA_SLIMTX2_ENA_MASK 0x0002 /* SLIMTX2_ENA */ | ||
| 3964 | #define ARIZONA_SLIMTX2_ENA_SHIFT 1 /* SLIMTX2_ENA */ | ||
| 3965 | #define ARIZONA_SLIMTX2_ENA_WIDTH 1 /* SLIMTX2_ENA */ | ||
| 3966 | #define ARIZONA_SLIMTX1_ENA 0x0001 /* SLIMTX1_ENA */ | ||
| 3967 | #define ARIZONA_SLIMTX1_ENA_MASK 0x0001 /* SLIMTX1_ENA */ | ||
| 3968 | #define ARIZONA_SLIMTX1_ENA_SHIFT 0 /* SLIMTX1_ENA */ | ||
| 3969 | #define ARIZONA_SLIMTX1_ENA_WIDTH 1 /* SLIMTX1_ENA */ | ||
| 3970 | |||
| 3971 | /* | ||
| 3972 | * R1527 (0x5F7) - SLIMbus RX Port Status | ||
| 3973 | */ | ||
| 3974 | #define ARIZONA_SLIMRX8_PORT_STS 0x0080 /* SLIMRX8_PORT_STS */ | ||
| 3975 | #define ARIZONA_SLIMRX8_PORT_STS_MASK 0x0080 /* SLIMRX8_PORT_STS */ | ||
| 3976 | #define ARIZONA_SLIMRX8_PORT_STS_SHIFT 7 /* SLIMRX8_PORT_STS */ | ||
| 3977 | #define ARIZONA_SLIMRX8_PORT_STS_WIDTH 1 /* SLIMRX8_PORT_STS */ | ||
| 3978 | #define ARIZONA_SLIMRX7_PORT_STS 0x0040 /* SLIMRX7_PORT_STS */ | ||
| 3979 | #define ARIZONA_SLIMRX7_PORT_STS_MASK 0x0040 /* SLIMRX7_PORT_STS */ | ||
| 3980 | #define ARIZONA_SLIMRX7_PORT_STS_SHIFT 6 /* SLIMRX7_PORT_STS */ | ||
| 3981 | #define ARIZONA_SLIMRX7_PORT_STS_WIDTH 1 /* SLIMRX7_PORT_STS */ | ||
| 3982 | #define ARIZONA_SLIMRX6_PORT_STS 0x0020 /* SLIMRX6_PORT_STS */ | ||
| 3983 | #define ARIZONA_SLIMRX6_PORT_STS_MASK 0x0020 /* SLIMRX6_PORT_STS */ | ||
| 3984 | #define ARIZONA_SLIMRX6_PORT_STS_SHIFT 5 /* SLIMRX6_PORT_STS */ | ||
| 3985 | #define ARIZONA_SLIMRX6_PORT_STS_WIDTH 1 /* SLIMRX6_PORT_STS */ | ||
| 3986 | #define ARIZONA_SLIMRX5_PORT_STS 0x0010 /* SLIMRX5_PORT_STS */ | ||
| 3987 | #define ARIZONA_SLIMRX5_PORT_STS_MASK 0x0010 /* SLIMRX5_PORT_STS */ | ||
| 3988 | #define ARIZONA_SLIMRX5_PORT_STS_SHIFT 4 /* SLIMRX5_PORT_STS */ | ||
| 3989 | #define ARIZONA_SLIMRX5_PORT_STS_WIDTH 1 /* SLIMRX5_PORT_STS */ | ||
| 3990 | #define ARIZONA_SLIMRX4_PORT_STS 0x0008 /* SLIMRX4_PORT_STS */ | ||
| 3991 | #define ARIZONA_SLIMRX4_PORT_STS_MASK 0x0008 /* SLIMRX4_PORT_STS */ | ||
| 3992 | #define ARIZONA_SLIMRX4_PORT_STS_SHIFT 3 /* SLIMRX4_PORT_STS */ | ||
| 3993 | #define ARIZONA_SLIMRX4_PORT_STS_WIDTH 1 /* SLIMRX4_PORT_STS */ | ||
| 3994 | #define ARIZONA_SLIMRX3_PORT_STS 0x0004 /* SLIMRX3_PORT_STS */ | ||
| 3995 | #define ARIZONA_SLIMRX3_PORT_STS_MASK 0x0004 /* SLIMRX3_PORT_STS */ | ||
| 3996 | #define ARIZONA_SLIMRX3_PORT_STS_SHIFT 2 /* SLIMRX3_PORT_STS */ | ||
| 3997 | #define ARIZONA_SLIMRX3_PORT_STS_WIDTH 1 /* SLIMRX3_PORT_STS */ | ||
| 3998 | #define ARIZONA_SLIMRX2_PORT_STS 0x0002 /* SLIMRX2_PORT_STS */ | ||
| 3999 | #define ARIZONA_SLIMRX2_PORT_STS_MASK 0x0002 /* SLIMRX2_PORT_STS */ | ||
| 4000 | #define ARIZONA_SLIMRX2_PORT_STS_SHIFT 1 /* SLIMRX2_PORT_STS */ | ||
| 4001 | #define ARIZONA_SLIMRX2_PORT_STS_WIDTH 1 /* SLIMRX2_PORT_STS */ | ||
| 4002 | #define ARIZONA_SLIMRX1_PORT_STS 0x0001 /* SLIMRX1_PORT_STS */ | ||
| 4003 | #define ARIZONA_SLIMRX1_PORT_STS_MASK 0x0001 /* SLIMRX1_PORT_STS */ | ||
| 4004 | #define ARIZONA_SLIMRX1_PORT_STS_SHIFT 0 /* SLIMRX1_PORT_STS */ | ||
| 4005 | #define ARIZONA_SLIMRX1_PORT_STS_WIDTH 1 /* SLIMRX1_PORT_STS */ | ||
| 4006 | |||
| 4007 | /* | ||
| 4008 | * R1528 (0x5F8) - SLIMbus TX Port Status | ||
| 4009 | */ | ||
| 4010 | #define ARIZONA_SLIMTX8_PORT_STS 0x0080 /* SLIMTX8_PORT_STS */ | ||
| 4011 | #define ARIZONA_SLIMTX8_PORT_STS_MASK 0x0080 /* SLIMTX8_PORT_STS */ | ||
| 4012 | #define ARIZONA_SLIMTX8_PORT_STS_SHIFT 7 /* SLIMTX8_PORT_STS */ | ||
| 4013 | #define ARIZONA_SLIMTX8_PORT_STS_WIDTH 1 /* SLIMTX8_PORT_STS */ | ||
| 4014 | #define ARIZONA_SLIMTX7_PORT_STS 0x0040 /* SLIMTX7_PORT_STS */ | ||
| 4015 | #define ARIZONA_SLIMTX7_PORT_STS_MASK 0x0040 /* SLIMTX7_PORT_STS */ | ||
| 4016 | #define ARIZONA_SLIMTX7_PORT_STS_SHIFT 6 /* SLIMTX7_PORT_STS */ | ||
| 4017 | #define ARIZONA_SLIMTX7_PORT_STS_WIDTH 1 /* SLIMTX7_PORT_STS */ | ||
| 4018 | #define ARIZONA_SLIMTX6_PORT_STS 0x0020 /* SLIMTX6_PORT_STS */ | ||
| 4019 | #define ARIZONA_SLIMTX6_PORT_STS_MASK 0x0020 /* SLIMTX6_PORT_STS */ | ||
| 4020 | #define ARIZONA_SLIMTX6_PORT_STS_SHIFT 5 /* SLIMTX6_PORT_STS */ | ||
| 4021 | #define ARIZONA_SLIMTX6_PORT_STS_WIDTH 1 /* SLIMTX6_PORT_STS */ | ||
| 4022 | #define ARIZONA_SLIMTX5_PORT_STS 0x0010 /* SLIMTX5_PORT_STS */ | ||
| 4023 | #define ARIZONA_SLIMTX5_PORT_STS_MASK 0x0010 /* SLIMTX5_PORT_STS */ | ||
| 4024 | #define ARIZONA_SLIMTX5_PORT_STS_SHIFT 4 /* SLIMTX5_PORT_STS */ | ||
| 4025 | #define ARIZONA_SLIMTX5_PORT_STS_WIDTH 1 /* SLIMTX5_PORT_STS */ | ||
| 4026 | #define ARIZONA_SLIMTX4_PORT_STS 0x0008 /* SLIMTX4_PORT_STS */ | ||
| 4027 | #define ARIZONA_SLIMTX4_PORT_STS_MASK 0x0008 /* SLIMTX4_PORT_STS */ | ||
| 4028 | #define ARIZONA_SLIMTX4_PORT_STS_SHIFT 3 /* SLIMTX4_PORT_STS */ | ||
| 4029 | #define ARIZONA_SLIMTX4_PORT_STS_WIDTH 1 /* SLIMTX4_PORT_STS */ | ||
| 4030 | #define ARIZONA_SLIMTX3_PORT_STS 0x0004 /* SLIMTX3_PORT_STS */ | ||
| 4031 | #define ARIZONA_SLIMTX3_PORT_STS_MASK 0x0004 /* SLIMTX3_PORT_STS */ | ||
| 4032 | #define ARIZONA_SLIMTX3_PORT_STS_SHIFT 2 /* SLIMTX3_PORT_STS */ | ||
| 4033 | #define ARIZONA_SLIMTX3_PORT_STS_WIDTH 1 /* SLIMTX3_PORT_STS */ | ||
| 4034 | #define ARIZONA_SLIMTX2_PORT_STS 0x0002 /* SLIMTX2_PORT_STS */ | ||
| 4035 | #define ARIZONA_SLIMTX2_PORT_STS_MASK 0x0002 /* SLIMTX2_PORT_STS */ | ||
| 4036 | #define ARIZONA_SLIMTX2_PORT_STS_SHIFT 1 /* SLIMTX2_PORT_STS */ | ||
| 4037 | #define ARIZONA_SLIMTX2_PORT_STS_WIDTH 1 /* SLIMTX2_PORT_STS */ | ||
| 4038 | #define ARIZONA_SLIMTX1_PORT_STS 0x0001 /* SLIMTX1_PORT_STS */ | ||
| 4039 | #define ARIZONA_SLIMTX1_PORT_STS_MASK 0x0001 /* SLIMTX1_PORT_STS */ | ||
| 4040 | #define ARIZONA_SLIMTX1_PORT_STS_SHIFT 0 /* SLIMTX1_PORT_STS */ | ||
| 4041 | #define ARIZONA_SLIMTX1_PORT_STS_WIDTH 1 /* SLIMTX1_PORT_STS */ | ||
| 4042 | |||
| 4043 | /* | ||
| 4044 | * R3087 (0xC0F) - IRQ CTRL 1 | ||
| 4045 | */ | ||
| 4046 | #define ARIZONA_IRQ_POL 0x0400 /* IRQ_POL */ | ||
| 4047 | #define ARIZONA_IRQ_POL_MASK 0x0400 /* IRQ_POL */ | ||
| 4048 | #define ARIZONA_IRQ_POL_SHIFT 10 /* IRQ_POL */ | ||
| 4049 | #define ARIZONA_IRQ_POL_WIDTH 1 /* IRQ_POL */ | ||
| 4050 | #define ARIZONA_IRQ_OP_CFG 0x0200 /* IRQ_OP_CFG */ | ||
| 4051 | #define ARIZONA_IRQ_OP_CFG_MASK 0x0200 /* IRQ_OP_CFG */ | ||
| 4052 | #define ARIZONA_IRQ_OP_CFG_SHIFT 9 /* IRQ_OP_CFG */ | ||
| 4053 | #define ARIZONA_IRQ_OP_CFG_WIDTH 1 /* IRQ_OP_CFG */ | ||
| 4054 | |||
| 4055 | /* | ||
| 4056 | * R3088 (0xC10) - GPIO Debounce Config | ||
| 4057 | */ | ||
| 4058 | #define ARIZONA_GP_DBTIME_MASK 0xF000 /* GP_DBTIME - [15:12] */ | ||
| 4059 | #define ARIZONA_GP_DBTIME_SHIFT 12 /* GP_DBTIME - [15:12] */ | ||
| 4060 | #define ARIZONA_GP_DBTIME_WIDTH 4 /* GP_DBTIME - [15:12] */ | ||
| 4061 | |||
| 4062 | /* | ||
| 4063 | * R3104 (0xC20) - Misc Pad Ctrl 1 | ||
| 4064 | */ | ||
| 4065 | #define ARIZONA_LDO1ENA_PD 0x8000 /* LDO1ENA_PD */ | ||
| 4066 | #define ARIZONA_LDO1ENA_PD_MASK 0x8000 /* LDO1ENA_PD */ | ||
| 4067 | #define ARIZONA_LDO1ENA_PD_SHIFT 15 /* LDO1ENA_PD */ | ||
| 4068 | #define ARIZONA_LDO1ENA_PD_WIDTH 1 /* LDO1ENA_PD */ | ||
| 4069 | #define ARIZONA_MCLK2_PD 0x2000 /* MCLK2_PD */ | ||
| 4070 | #define ARIZONA_MCLK2_PD_MASK 0x2000 /* MCLK2_PD */ | ||
| 4071 | #define ARIZONA_MCLK2_PD_SHIFT 13 /* MCLK2_PD */ | ||
| 4072 | #define ARIZONA_MCLK2_PD_WIDTH 1 /* MCLK2_PD */ | ||
| 4073 | #define ARIZONA_RSTB_PU 0x0002 /* RSTB_PU */ | ||
| 4074 | #define ARIZONA_RSTB_PU_MASK 0x0002 /* RSTB_PU */ | ||
| 4075 | #define ARIZONA_RSTB_PU_SHIFT 1 /* RSTB_PU */ | ||
| 4076 | #define ARIZONA_RSTB_PU_WIDTH 1 /* RSTB_PU */ | ||
| 4077 | |||
| 4078 | /* | ||
| 4079 | * R3105 (0xC21) - Misc Pad Ctrl 2 | ||
| 4080 | */ | ||
| 4081 | #define ARIZONA_MCLK1_PD 0x1000 /* MCLK1_PD */ | ||
| 4082 | #define ARIZONA_MCLK1_PD_MASK 0x1000 /* MCLK1_PD */ | ||
| 4083 | #define ARIZONA_MCLK1_PD_SHIFT 12 /* MCLK1_PD */ | ||
| 4084 | #define ARIZONA_MCLK1_PD_WIDTH 1 /* MCLK1_PD */ | ||
| 4085 | #define ARIZONA_MICD_PD 0x0100 /* MICD_PD */ | ||
| 4086 | #define ARIZONA_MICD_PD_MASK 0x0100 /* MICD_PD */ | ||
| 4087 | #define ARIZONA_MICD_PD_SHIFT 8 /* MICD_PD */ | ||
| 4088 | #define ARIZONA_MICD_PD_WIDTH 1 /* MICD_PD */ | ||
| 4089 | #define ARIZONA_ADDR_PD 0x0001 /* ADDR_PD */ | ||
| 4090 | #define ARIZONA_ADDR_PD_MASK 0x0001 /* ADDR_PD */ | ||
| 4091 | #define ARIZONA_ADDR_PD_SHIFT 0 /* ADDR_PD */ | ||
| 4092 | #define ARIZONA_ADDR_PD_WIDTH 1 /* ADDR_PD */ | ||
| 4093 | |||
| 4094 | /* | ||
| 4095 | * R3106 (0xC22) - Misc Pad Ctrl 3 | ||
| 4096 | */ | ||
| 4097 | #define ARIZONA_DMICDAT4_PD 0x0008 /* DMICDAT4_PD */ | ||
| 4098 | #define ARIZONA_DMICDAT4_PD_MASK 0x0008 /* DMICDAT4_PD */ | ||
| 4099 | #define ARIZONA_DMICDAT4_PD_SHIFT 3 /* DMICDAT4_PD */ | ||
| 4100 | #define ARIZONA_DMICDAT4_PD_WIDTH 1 /* DMICDAT4_PD */ | ||
| 4101 | #define ARIZONA_DMICDAT3_PD 0x0004 /* DMICDAT3_PD */ | ||
| 4102 | #define ARIZONA_DMICDAT3_PD_MASK 0x0004 /* DMICDAT3_PD */ | ||
| 4103 | #define ARIZONA_DMICDAT3_PD_SHIFT 2 /* DMICDAT3_PD */ | ||
| 4104 | #define ARIZONA_DMICDAT3_PD_WIDTH 1 /* DMICDAT3_PD */ | ||
| 4105 | #define ARIZONA_DMICDAT2_PD 0x0002 /* DMICDAT2_PD */ | ||
| 4106 | #define ARIZONA_DMICDAT2_PD_MASK 0x0002 /* DMICDAT2_PD */ | ||
| 4107 | #define ARIZONA_DMICDAT2_PD_SHIFT 1 /* DMICDAT2_PD */ | ||
| 4108 | #define ARIZONA_DMICDAT2_PD_WIDTH 1 /* DMICDAT2_PD */ | ||
| 4109 | #define ARIZONA_DMICDAT1_PD 0x0001 /* DMICDAT1_PD */ | ||
| 4110 | #define ARIZONA_DMICDAT1_PD_MASK 0x0001 /* DMICDAT1_PD */ | ||
| 4111 | #define ARIZONA_DMICDAT1_PD_SHIFT 0 /* DMICDAT1_PD */ | ||
| 4112 | #define ARIZONA_DMICDAT1_PD_WIDTH 1 /* DMICDAT1_PD */ | ||
| 4113 | |||
| 4114 | /* | ||
| 4115 | * R3107 (0xC23) - Misc Pad Ctrl 4 | ||
| 4116 | */ | ||
| 4117 | #define ARIZONA_AIF1RXLRCLK_PU 0x0020 /* AIF1RXLRCLK_PU */ | ||
| 4118 | #define ARIZONA_AIF1RXLRCLK_PU_MASK 0x0020 /* AIF1RXLRCLK_PU */ | ||
| 4119 | #define ARIZONA_AIF1RXLRCLK_PU_SHIFT 5 /* AIF1RXLRCLK_PU */ | ||
| 4120 | #define ARIZONA_AIF1RXLRCLK_PU_WIDTH 1 /* AIF1RXLRCLK_PU */ | ||
| 4121 | #define ARIZONA_AIF1RXLRCLK_PD 0x0010 /* AIF1RXLRCLK_PD */ | ||
| 4122 | #define ARIZONA_AIF1RXLRCLK_PD_MASK 0x0010 /* AIF1RXLRCLK_PD */ | ||
| 4123 | #define ARIZONA_AIF1RXLRCLK_PD_SHIFT 4 /* AIF1RXLRCLK_PD */ | ||
| 4124 | #define ARIZONA_AIF1RXLRCLK_PD_WIDTH 1 /* AIF1RXLRCLK_PD */ | ||
| 4125 | #define ARIZONA_AIF1BCLK_PU 0x0008 /* AIF1BCLK_PU */ | ||
| 4126 | #define ARIZONA_AIF1BCLK_PU_MASK 0x0008 /* AIF1BCLK_PU */ | ||
| 4127 | #define ARIZONA_AIF1BCLK_PU_SHIFT 3 /* AIF1BCLK_PU */ | ||
| 4128 | #define ARIZONA_AIF1BCLK_PU_WIDTH 1 /* AIF1BCLK_PU */ | ||
| 4129 | #define ARIZONA_AIF1BCLK_PD 0x0004 /* AIF1BCLK_PD */ | ||
| 4130 | #define ARIZONA_AIF1BCLK_PD_MASK 0x0004 /* AIF1BCLK_PD */ | ||
| 4131 | #define ARIZONA_AIF1BCLK_PD_SHIFT 2 /* AIF1BCLK_PD */ | ||
| 4132 | #define ARIZONA_AIF1BCLK_PD_WIDTH 1 /* AIF1BCLK_PD */ | ||
| 4133 | #define ARIZONA_AIF1RXDAT_PU 0x0002 /* AIF1RXDAT_PU */ | ||
| 4134 | #define ARIZONA_AIF1RXDAT_PU_MASK 0x0002 /* AIF1RXDAT_PU */ | ||
| 4135 | #define ARIZONA_AIF1RXDAT_PU_SHIFT 1 /* AIF1RXDAT_PU */ | ||
| 4136 | #define ARIZONA_AIF1RXDAT_PU_WIDTH 1 /* AIF1RXDAT_PU */ | ||
| 4137 | #define ARIZONA_AIF1RXDAT_PD 0x0001 /* AIF1RXDAT_PD */ | ||
| 4138 | #define ARIZONA_AIF1RXDAT_PD_MASK 0x0001 /* AIF1RXDAT_PD */ | ||
| 4139 | #define ARIZONA_AIF1RXDAT_PD_SHIFT 0 /* AIF1RXDAT_PD */ | ||
| 4140 | #define ARIZONA_AIF1RXDAT_PD_WIDTH 1 /* AIF1RXDAT_PD */ | ||
| 4141 | |||
| 4142 | /* | ||
| 4143 | * R3108 (0xC24) - Misc Pad Ctrl 5 | ||
| 4144 | */ | ||
| 4145 | #define ARIZONA_AIF2RXLRCLK_PU 0x0020 /* AIF2RXLRCLK_PU */ | ||
| 4146 | #define ARIZONA_AIF2RXLRCLK_PU_MASK 0x0020 /* AIF2RXLRCLK_PU */ | ||
| 4147 | #define ARIZONA_AIF2RXLRCLK_PU_SHIFT 5 /* AIF2RXLRCLK_PU */ | ||
| 4148 | #define ARIZONA_AIF2RXLRCLK_PU_WIDTH 1 /* AIF2RXLRCLK_PU */ | ||
| 4149 | #define ARIZONA_AIF2RXLRCLK_PD 0x0010 /* AIF2RXLRCLK_PD */ | ||
| 4150 | #define ARIZONA_AIF2RXLRCLK_PD_MASK 0x0010 /* AIF2RXLRCLK_PD */ | ||
| 4151 | #define ARIZONA_AIF2RXLRCLK_PD_SHIFT 4 /* AIF2RXLRCLK_PD */ | ||
| 4152 | #define ARIZONA_AIF2RXLRCLK_PD_WIDTH 1 /* AIF2RXLRCLK_PD */ | ||
| 4153 | #define ARIZONA_AIF2BCLK_PU 0x0008 /* AIF2BCLK_PU */ | ||
| 4154 | #define ARIZONA_AIF2BCLK_PU_MASK 0x0008 /* AIF2BCLK_PU */ | ||
| 4155 | #define ARIZONA_AIF2BCLK_PU_SHIFT 3 /* AIF2BCLK_PU */ | ||
| 4156 | #define ARIZONA_AIF2BCLK_PU_WIDTH 1 /* AIF2BCLK_PU */ | ||
| 4157 | #define ARIZONA_AIF2BCLK_PD 0x0004 /* AIF2BCLK_PD */ | ||
| 4158 | #define ARIZONA_AIF2BCLK_PD_MASK 0x0004 /* AIF2BCLK_PD */ | ||
| 4159 | #define ARIZONA_AIF2BCLK_PD_SHIFT 2 /* AIF2BCLK_PD */ | ||
| 4160 | #define ARIZONA_AIF2BCLK_PD_WIDTH 1 /* AIF2BCLK_PD */ | ||
| 4161 | #define ARIZONA_AIF2RXDAT_PU 0x0002 /* AIF2RXDAT_PU */ | ||
| 4162 | #define ARIZONA_AIF2RXDAT_PU_MASK 0x0002 /* AIF2RXDAT_PU */ | ||
| 4163 | #define ARIZONA_AIF2RXDAT_PU_SHIFT 1 /* AIF2RXDAT_PU */ | ||
| 4164 | #define ARIZONA_AIF2RXDAT_PU_WIDTH 1 /* AIF2RXDAT_PU */ | ||
| 4165 | #define ARIZONA_AIF2RXDAT_PD 0x0001 /* AIF2RXDAT_PD */ | ||
| 4166 | #define ARIZONA_AIF2RXDAT_PD_MASK 0x0001 /* AIF2RXDAT_PD */ | ||
| 4167 | #define ARIZONA_AIF2RXDAT_PD_SHIFT 0 /* AIF2RXDAT_PD */ | ||
| 4168 | #define ARIZONA_AIF2RXDAT_PD_WIDTH 1 /* AIF2RXDAT_PD */ | ||
| 4169 | |||
| 4170 | /* | ||
| 4171 | * R3109 (0xC25) - Misc Pad Ctrl 6 | ||
| 4172 | */ | ||
| 4173 | #define ARIZONA_AIF3RXLRCLK_PU 0x0020 /* AIF3RXLRCLK_PU */ | ||
| 4174 | #define ARIZONA_AIF3RXLRCLK_PU_MASK 0x0020 /* AIF3RXLRCLK_PU */ | ||
| 4175 | #define ARIZONA_AIF3RXLRCLK_PU_SHIFT 5 /* AIF3RXLRCLK_PU */ | ||
| 4176 | #define ARIZONA_AIF3RXLRCLK_PU_WIDTH 1 /* AIF3RXLRCLK_PU */ | ||
| 4177 | #define ARIZONA_AIF3RXLRCLK_PD 0x0010 /* AIF3RXLRCLK_PD */ | ||
| 4178 | #define ARIZONA_AIF3RXLRCLK_PD_MASK 0x0010 /* AIF3RXLRCLK_PD */ | ||
| 4179 | #define ARIZONA_AIF3RXLRCLK_PD_SHIFT 4 /* AIF3RXLRCLK_PD */ | ||
| 4180 | #define ARIZONA_AIF3RXLRCLK_PD_WIDTH 1 /* AIF3RXLRCLK_PD */ | ||
| 4181 | #define ARIZONA_AIF3BCLK_PU 0x0008 /* AIF3BCLK_PU */ | ||
| 4182 | #define ARIZONA_AIF3BCLK_PU_MASK 0x0008 /* AIF3BCLK_PU */ | ||
| 4183 | #define ARIZONA_AIF3BCLK_PU_SHIFT 3 /* AIF3BCLK_PU */ | ||
| 4184 | #define ARIZONA_AIF3BCLK_PU_WIDTH 1 /* AIF3BCLK_PU */ | ||
| 4185 | #define ARIZONA_AIF3BCLK_PD 0x0004 /* AIF3BCLK_PD */ | ||
| 4186 | #define ARIZONA_AIF3BCLK_PD_MASK 0x0004 /* AIF3BCLK_PD */ | ||
| 4187 | #define ARIZONA_AIF3BCLK_PD_SHIFT 2 /* AIF3BCLK_PD */ | ||
| 4188 | #define ARIZONA_AIF3BCLK_PD_WIDTH 1 /* AIF3BCLK_PD */ | ||
| 4189 | #define ARIZONA_AIF3RXDAT_PU 0x0002 /* AIF3RXDAT_PU */ | ||
| 4190 | #define ARIZONA_AIF3RXDAT_PU_MASK 0x0002 /* AIF3RXDAT_PU */ | ||
| 4191 | #define ARIZONA_AIF3RXDAT_PU_SHIFT 1 /* AIF3RXDAT_PU */ | ||
| 4192 | #define ARIZONA_AIF3RXDAT_PU_WIDTH 1 /* AIF3RXDAT_PU */ | ||
| 4193 | #define ARIZONA_AIF3RXDAT_PD 0x0001 /* AIF3RXDAT_PD */ | ||
| 4194 | #define ARIZONA_AIF3RXDAT_PD_MASK 0x0001 /* AIF3RXDAT_PD */ | ||
| 4195 | #define ARIZONA_AIF3RXDAT_PD_SHIFT 0 /* AIF3RXDAT_PD */ | ||
| 4196 | #define ARIZONA_AIF3RXDAT_PD_WIDTH 1 /* AIF3RXDAT_PD */ | ||
| 4197 | |||
| 4198 | /* | ||
| 4199 | * R3328 (0xD00) - Interrupt Status 1 | ||
| 4200 | */ | ||
| 4201 | #define ARIZONA_GP4_EINT1 0x0008 /* GP4_EINT1 */ | ||
| 4202 | #define ARIZONA_GP4_EINT1_MASK 0x0008 /* GP4_EINT1 */ | ||
| 4203 | #define ARIZONA_GP4_EINT1_SHIFT 3 /* GP4_EINT1 */ | ||
| 4204 | #define ARIZONA_GP4_EINT1_WIDTH 1 /* GP4_EINT1 */ | ||
| 4205 | #define ARIZONA_GP3_EINT1 0x0004 /* GP3_EINT1 */ | ||
| 4206 | #define ARIZONA_GP3_EINT1_MASK 0x0004 /* GP3_EINT1 */ | ||
| 4207 | #define ARIZONA_GP3_EINT1_SHIFT 2 /* GP3_EINT1 */ | ||
| 4208 | #define ARIZONA_GP3_EINT1_WIDTH 1 /* GP3_EINT1 */ | ||
| 4209 | #define ARIZONA_GP2_EINT1 0x0002 /* GP2_EINT1 */ | ||
| 4210 | #define ARIZONA_GP2_EINT1_MASK 0x0002 /* GP2_EINT1 */ | ||
| 4211 | #define ARIZONA_GP2_EINT1_SHIFT 1 /* GP2_EINT1 */ | ||
| 4212 | #define ARIZONA_GP2_EINT1_WIDTH 1 /* GP2_EINT1 */ | ||
| 4213 | #define ARIZONA_GP1_EINT1 0x0001 /* GP1_EINT1 */ | ||
| 4214 | #define ARIZONA_GP1_EINT1_MASK 0x0001 /* GP1_EINT1 */ | ||
| 4215 | #define ARIZONA_GP1_EINT1_SHIFT 0 /* GP1_EINT1 */ | ||
| 4216 | #define ARIZONA_GP1_EINT1_WIDTH 1 /* GP1_EINT1 */ | ||
| 4217 | |||
| 4218 | /* | ||
| 4219 | * R3329 (0xD01) - Interrupt Status 2 | ||
| 4220 | */ | ||
| 4221 | #define ARIZONA_DSP4_RAM_RDY_EINT1 0x0800 /* DSP4_RAM_RDY_EINT1 */ | ||
| 4222 | #define ARIZONA_DSP4_RAM_RDY_EINT1_MASK 0x0800 /* DSP4_RAM_RDY_EINT1 */ | ||
| 4223 | #define ARIZONA_DSP4_RAM_RDY_EINT1_SHIFT 11 /* DSP4_RAM_RDY_EINT1 */ | ||
| 4224 | #define ARIZONA_DSP4_RAM_RDY_EINT1_WIDTH 1 /* DSP4_RAM_RDY_EINT1 */ | ||
| 4225 | #define ARIZONA_DSP3_RAM_RDY_EINT1 0x0400 /* DSP3_RAM_RDY_EINT1 */ | ||
| 4226 | #define ARIZONA_DSP3_RAM_RDY_EINT1_MASK 0x0400 /* DSP3_RAM_RDY_EINT1 */ | ||
| 4227 | #define ARIZONA_DSP3_RAM_RDY_EINT1_SHIFT 10 /* DSP3_RAM_RDY_EINT1 */ | ||
| 4228 | #define ARIZONA_DSP3_RAM_RDY_EINT1_WIDTH 1 /* DSP3_RAM_RDY_EINT1 */ | ||
| 4229 | #define ARIZONA_DSP2_RAM_RDY_EINT1 0x0200 /* DSP2_RAM_RDY_EINT1 */ | ||
| 4230 | #define ARIZONA_DSP2_RAM_RDY_EINT1_MASK 0x0200 /* DSP2_RAM_RDY_EINT1 */ | ||
| 4231 | #define ARIZONA_DSP2_RAM_RDY_EINT1_SHIFT 9 /* DSP2_RAM_RDY_EINT1 */ | ||
| 4232 | #define ARIZONA_DSP2_RAM_RDY_EINT1_WIDTH 1 /* DSP2_RAM_RDY_EINT1 */ | ||
| 4233 | #define ARIZONA_DSP1_RAM_RDY_EINT1 0x0100 /* DSP1_RAM_RDY_EINT1 */ | ||
| 4234 | #define ARIZONA_DSP1_RAM_RDY_EINT1_MASK 0x0100 /* DSP1_RAM_RDY_EINT1 */ | ||
| 4235 | #define ARIZONA_DSP1_RAM_RDY_EINT1_SHIFT 8 /* DSP1_RAM_RDY_EINT1 */ | ||
| 4236 | #define ARIZONA_DSP1_RAM_RDY_EINT1_WIDTH 1 /* DSP1_RAM_RDY_EINT1 */ | ||
| 4237 | #define ARIZONA_DSP_IRQ8_EINT1 0x0080 /* DSP_IRQ8_EINT1 */ | ||
| 4238 | #define ARIZONA_DSP_IRQ8_EINT1_MASK 0x0080 /* DSP_IRQ8_EINT1 */ | ||
| 4239 | #define ARIZONA_DSP_IRQ8_EINT1_SHIFT 7 /* DSP_IRQ8_EINT1 */ | ||
| 4240 | #define ARIZONA_DSP_IRQ8_EINT1_WIDTH 1 /* DSP_IRQ8_EINT1 */ | ||
| 4241 | #define ARIZONA_DSP_IRQ7_EINT1 0x0040 /* DSP_IRQ7_EINT1 */ | ||
| 4242 | #define ARIZONA_DSP_IRQ7_EINT1_MASK 0x0040 /* DSP_IRQ7_EINT1 */ | ||
| 4243 | #define ARIZONA_DSP_IRQ7_EINT1_SHIFT 6 /* DSP_IRQ7_EINT1 */ | ||
| 4244 | #define ARIZONA_DSP_IRQ7_EINT1_WIDTH 1 /* DSP_IRQ7_EINT1 */ | ||
| 4245 | #define ARIZONA_DSP_IRQ6_EINT1 0x0020 /* DSP_IRQ6_EINT1 */ | ||
| 4246 | #define ARIZONA_DSP_IRQ6_EINT1_MASK 0x0020 /* DSP_IRQ6_EINT1 */ | ||
| 4247 | #define ARIZONA_DSP_IRQ6_EINT1_SHIFT 5 /* DSP_IRQ6_EINT1 */ | ||
| 4248 | #define ARIZONA_DSP_IRQ6_EINT1_WIDTH 1 /* DSP_IRQ6_EINT1 */ | ||
| 4249 | #define ARIZONA_DSP_IRQ5_EINT1 0x0010 /* DSP_IRQ5_EINT1 */ | ||
| 4250 | #define ARIZONA_DSP_IRQ5_EINT1_MASK 0x0010 /* DSP_IRQ5_EINT1 */ | ||
| 4251 | #define ARIZONA_DSP_IRQ5_EINT1_SHIFT 4 /* DSP_IRQ5_EINT1 */ | ||
| 4252 | #define ARIZONA_DSP_IRQ5_EINT1_WIDTH 1 /* DSP_IRQ5_EINT1 */ | ||
| 4253 | #define ARIZONA_DSP_IRQ4_EINT1 0x0008 /* DSP_IRQ4_EINT1 */ | ||
| 4254 | #define ARIZONA_DSP_IRQ4_EINT1_MASK 0x0008 /* DSP_IRQ4_EINT1 */ | ||
| 4255 | #define ARIZONA_DSP_IRQ4_EINT1_SHIFT 3 /* DSP_IRQ4_EINT1 */ | ||
| 4256 | #define ARIZONA_DSP_IRQ4_EINT1_WIDTH 1 /* DSP_IRQ4_EINT1 */ | ||
| 4257 | #define ARIZONA_DSP_IRQ3_EINT1 0x0004 /* DSP_IRQ3_EINT1 */ | ||
| 4258 | #define ARIZONA_DSP_IRQ3_EINT1_MASK 0x0004 /* DSP_IRQ3_EINT1 */ | ||
| 4259 | #define ARIZONA_DSP_IRQ3_EINT1_SHIFT 2 /* DSP_IRQ3_EINT1 */ | ||
| 4260 | #define ARIZONA_DSP_IRQ3_EINT1_WIDTH 1 /* DSP_IRQ3_EINT1 */ | ||
| 4261 | #define ARIZONA_DSP_IRQ2_EINT1 0x0002 /* DSP_IRQ2_EINT1 */ | ||
| 4262 | #define ARIZONA_DSP_IRQ2_EINT1_MASK 0x0002 /* DSP_IRQ2_EINT1 */ | ||
| 4263 | #define ARIZONA_DSP_IRQ2_EINT1_SHIFT 1 /* DSP_IRQ2_EINT1 */ | ||
| 4264 | #define ARIZONA_DSP_IRQ2_EINT1_WIDTH 1 /* DSP_IRQ2_EINT1 */ | ||
| 4265 | #define ARIZONA_DSP_IRQ1_EINT1 0x0001 /* DSP_IRQ1_EINT1 */ | ||
| 4266 | #define ARIZONA_DSP_IRQ1_EINT1_MASK 0x0001 /* DSP_IRQ1_EINT1 */ | ||
| 4267 | #define ARIZONA_DSP_IRQ1_EINT1_SHIFT 0 /* DSP_IRQ1_EINT1 */ | ||
| 4268 | #define ARIZONA_DSP_IRQ1_EINT1_WIDTH 1 /* DSP_IRQ1_EINT1 */ | ||
| 4269 | |||
| 4270 | /* | ||
| 4271 | * R3330 (0xD02) - Interrupt Status 3 | ||
| 4272 | */ | ||
| 4273 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT1 0x8000 /* SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4274 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT1_MASK 0x8000 /* SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4275 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT1_SHIFT 15 /* SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4276 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT1_WIDTH 1 /* SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4277 | #define ARIZONA_SPK_SHUTDOWN_EINT1 0x4000 /* SPK_SHUTDOWN_EINT1 */ | ||
| 4278 | #define ARIZONA_SPK_SHUTDOWN_EINT1_MASK 0x4000 /* SPK_SHUTDOWN_EINT1 */ | ||
| 4279 | #define ARIZONA_SPK_SHUTDOWN_EINT1_SHIFT 14 /* SPK_SHUTDOWN_EINT1 */ | ||
| 4280 | #define ARIZONA_SPK_SHUTDOWN_EINT1_WIDTH 1 /* SPK_SHUTDOWN_EINT1 */ | ||
| 4281 | #define ARIZONA_HPDET_EINT1 0x2000 /* HPDET_EINT1 */ | ||
| 4282 | #define ARIZONA_HPDET_EINT1_MASK 0x2000 /* HPDET_EINT1 */ | ||
| 4283 | #define ARIZONA_HPDET_EINT1_SHIFT 13 /* HPDET_EINT1 */ | ||
| 4284 | #define ARIZONA_HPDET_EINT1_WIDTH 1 /* HPDET_EINT1 */ | ||
| 4285 | #define ARIZONA_MICDET_EINT1 0x1000 /* MICDET_EINT1 */ | ||
| 4286 | #define ARIZONA_MICDET_EINT1_MASK 0x1000 /* MICDET_EINT1 */ | ||
| 4287 | #define ARIZONA_MICDET_EINT1_SHIFT 12 /* MICDET_EINT1 */ | ||
| 4288 | #define ARIZONA_MICDET_EINT1_WIDTH 1 /* MICDET_EINT1 */ | ||
| 4289 | #define ARIZONA_WSEQ_DONE_EINT1 0x0800 /* WSEQ_DONE_EINT1 */ | ||
| 4290 | #define ARIZONA_WSEQ_DONE_EINT1_MASK 0x0800 /* WSEQ_DONE_EINT1 */ | ||
| 4291 | #define ARIZONA_WSEQ_DONE_EINT1_SHIFT 11 /* WSEQ_DONE_EINT1 */ | ||
| 4292 | #define ARIZONA_WSEQ_DONE_EINT1_WIDTH 1 /* WSEQ_DONE_EINT1 */ | ||
| 4293 | #define ARIZONA_DRC2_SIG_DET_EINT1 0x0400 /* DRC2_SIG_DET_EINT1 */ | ||
| 4294 | #define ARIZONA_DRC2_SIG_DET_EINT1_MASK 0x0400 /* DRC2_SIG_DET_EINT1 */ | ||
| 4295 | #define ARIZONA_DRC2_SIG_DET_EINT1_SHIFT 10 /* DRC2_SIG_DET_EINT1 */ | ||
| 4296 | #define ARIZONA_DRC2_SIG_DET_EINT1_WIDTH 1 /* DRC2_SIG_DET_EINT1 */ | ||
| 4297 | #define ARIZONA_DRC1_SIG_DET_EINT1 0x0200 /* DRC1_SIG_DET_EINT1 */ | ||
| 4298 | #define ARIZONA_DRC1_SIG_DET_EINT1_MASK 0x0200 /* DRC1_SIG_DET_EINT1 */ | ||
| 4299 | #define ARIZONA_DRC1_SIG_DET_EINT1_SHIFT 9 /* DRC1_SIG_DET_EINT1 */ | ||
| 4300 | #define ARIZONA_DRC1_SIG_DET_EINT1_WIDTH 1 /* DRC1_SIG_DET_EINT1 */ | ||
| 4301 | #define ARIZONA_ASRC2_LOCK_EINT1 0x0100 /* ASRC2_LOCK_EINT1 */ | ||
| 4302 | #define ARIZONA_ASRC2_LOCK_EINT1_MASK 0x0100 /* ASRC2_LOCK_EINT1 */ | ||
| 4303 | #define ARIZONA_ASRC2_LOCK_EINT1_SHIFT 8 /* ASRC2_LOCK_EINT1 */ | ||
| 4304 | #define ARIZONA_ASRC2_LOCK_EINT1_WIDTH 1 /* ASRC2_LOCK_EINT1 */ | ||
| 4305 | #define ARIZONA_ASRC1_LOCK_EINT1 0x0080 /* ASRC1_LOCK_EINT1 */ | ||
| 4306 | #define ARIZONA_ASRC1_LOCK_EINT1_MASK 0x0080 /* ASRC1_LOCK_EINT1 */ | ||
| 4307 | #define ARIZONA_ASRC1_LOCK_EINT1_SHIFT 7 /* ASRC1_LOCK_EINT1 */ | ||
| 4308 | #define ARIZONA_ASRC1_LOCK_EINT1_WIDTH 1 /* ASRC1_LOCK_EINT1 */ | ||
| 4309 | #define ARIZONA_UNDERCLOCKED_EINT1 0x0040 /* UNDERCLOCKED_EINT1 */ | ||
| 4310 | #define ARIZONA_UNDERCLOCKED_EINT1_MASK 0x0040 /* UNDERCLOCKED_EINT1 */ | ||
| 4311 | #define ARIZONA_UNDERCLOCKED_EINT1_SHIFT 6 /* UNDERCLOCKED_EINT1 */ | ||
| 4312 | #define ARIZONA_UNDERCLOCKED_EINT1_WIDTH 1 /* UNDERCLOCKED_EINT1 */ | ||
| 4313 | #define ARIZONA_OVERCLOCKED_EINT1 0x0020 /* OVERCLOCKED_EINT1 */ | ||
| 4314 | #define ARIZONA_OVERCLOCKED_EINT1_MASK 0x0020 /* OVERCLOCKED_EINT1 */ | ||
| 4315 | #define ARIZONA_OVERCLOCKED_EINT1_SHIFT 5 /* OVERCLOCKED_EINT1 */ | ||
| 4316 | #define ARIZONA_OVERCLOCKED_EINT1_WIDTH 1 /* OVERCLOCKED_EINT1 */ | ||
| 4317 | #define ARIZONA_FLL2_LOCK_EINT1 0x0008 /* FLL2_LOCK_EINT1 */ | ||
| 4318 | #define ARIZONA_FLL2_LOCK_EINT1_MASK 0x0008 /* FLL2_LOCK_EINT1 */ | ||
| 4319 | #define ARIZONA_FLL2_LOCK_EINT1_SHIFT 3 /* FLL2_LOCK_EINT1 */ | ||
| 4320 | #define ARIZONA_FLL2_LOCK_EINT1_WIDTH 1 /* FLL2_LOCK_EINT1 */ | ||
| 4321 | #define ARIZONA_FLL1_LOCK_EINT1 0x0004 /* FLL1_LOCK_EINT1 */ | ||
| 4322 | #define ARIZONA_FLL1_LOCK_EINT1_MASK 0x0004 /* FLL1_LOCK_EINT1 */ | ||
| 4323 | #define ARIZONA_FLL1_LOCK_EINT1_SHIFT 2 /* FLL1_LOCK_EINT1 */ | ||
| 4324 | #define ARIZONA_FLL1_LOCK_EINT1_WIDTH 1 /* FLL1_LOCK_EINT1 */ | ||
| 4325 | #define ARIZONA_CLKGEN_ERR_EINT1 0x0002 /* CLKGEN_ERR_EINT1 */ | ||
| 4326 | #define ARIZONA_CLKGEN_ERR_EINT1_MASK 0x0002 /* CLKGEN_ERR_EINT1 */ | ||
| 4327 | #define ARIZONA_CLKGEN_ERR_EINT1_SHIFT 1 /* CLKGEN_ERR_EINT1 */ | ||
| 4328 | #define ARIZONA_CLKGEN_ERR_EINT1_WIDTH 1 /* CLKGEN_ERR_EINT1 */ | ||
| 4329 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT1 0x0001 /* CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4330 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT1_MASK 0x0001 /* CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4331 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT1_SHIFT 0 /* CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4332 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT1_WIDTH 1 /* CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4333 | |||
| 4334 | /* | ||
| 4335 | * R3331 (0xD03) - Interrupt Status 4 | ||
| 4336 | */ | ||
| 4337 | #define ARIZONA_ASRC_CFG_ERR_EINT1 0x8000 /* ASRC_CFG_ERR_EINT1 */ | ||
| 4338 | #define ARIZONA_ASRC_CFG_ERR_EINT1_MASK 0x8000 /* ASRC_CFG_ERR_EINT1 */ | ||
| 4339 | #define ARIZONA_ASRC_CFG_ERR_EINT1_SHIFT 15 /* ASRC_CFG_ERR_EINT1 */ | ||
| 4340 | #define ARIZONA_ASRC_CFG_ERR_EINT1_WIDTH 1 /* ASRC_CFG_ERR_EINT1 */ | ||
| 4341 | #define ARIZONA_AIF3_ERR_EINT1 0x4000 /* AIF3_ERR_EINT1 */ | ||
| 4342 | #define ARIZONA_AIF3_ERR_EINT1_MASK 0x4000 /* AIF3_ERR_EINT1 */ | ||
| 4343 | #define ARIZONA_AIF3_ERR_EINT1_SHIFT 14 /* AIF3_ERR_EINT1 */ | ||
| 4344 | #define ARIZONA_AIF3_ERR_EINT1_WIDTH 1 /* AIF3_ERR_EINT1 */ | ||
| 4345 | #define ARIZONA_AIF2_ERR_EINT1 0x2000 /* AIF2_ERR_EINT1 */ | ||
| 4346 | #define ARIZONA_AIF2_ERR_EINT1_MASK 0x2000 /* AIF2_ERR_EINT1 */ | ||
| 4347 | #define ARIZONA_AIF2_ERR_EINT1_SHIFT 13 /* AIF2_ERR_EINT1 */ | ||
| 4348 | #define ARIZONA_AIF2_ERR_EINT1_WIDTH 1 /* AIF2_ERR_EINT1 */ | ||
| 4349 | #define ARIZONA_AIF1_ERR_EINT1 0x1000 /* AIF1_ERR_EINT1 */ | ||
| 4350 | #define ARIZONA_AIF1_ERR_EINT1_MASK 0x1000 /* AIF1_ERR_EINT1 */ | ||
| 4351 | #define ARIZONA_AIF1_ERR_EINT1_SHIFT 12 /* AIF1_ERR_EINT1 */ | ||
| 4352 | #define ARIZONA_AIF1_ERR_EINT1_WIDTH 1 /* AIF1_ERR_EINT1 */ | ||
| 4353 | #define ARIZONA_CTRLIF_ERR_EINT1 0x0800 /* CTRLIF_ERR_EINT1 */ | ||
| 4354 | #define ARIZONA_CTRLIF_ERR_EINT1_MASK 0x0800 /* CTRLIF_ERR_EINT1 */ | ||
| 4355 | #define ARIZONA_CTRLIF_ERR_EINT1_SHIFT 11 /* CTRLIF_ERR_EINT1 */ | ||
| 4356 | #define ARIZONA_CTRLIF_ERR_EINT1_WIDTH 1 /* CTRLIF_ERR_EINT1 */ | ||
| 4357 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT1 0x0400 /* MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4358 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT1_MASK 0x0400 /* MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4359 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT1_SHIFT 10 /* MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4360 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT1_WIDTH 1 /* MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4361 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT1 0x0200 /* ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4362 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT1_MASK 0x0200 /* ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4363 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT1_SHIFT 9 /* ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4364 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT1_WIDTH 1 /* ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4365 | #define ARIZONA_SYSCLK_ENA_LOW_EINT1 0x0100 /* SYSCLK_ENA_LOW_EINT1 */ | ||
| 4366 | #define ARIZONA_SYSCLK_ENA_LOW_EINT1_MASK 0x0100 /* SYSCLK_ENA_LOW_EINT1 */ | ||
| 4367 | #define ARIZONA_SYSCLK_ENA_LOW_EINT1_SHIFT 8 /* SYSCLK_ENA_LOW_EINT1 */ | ||
| 4368 | #define ARIZONA_SYSCLK_ENA_LOW_EINT1_WIDTH 1 /* SYSCLK_ENA_LOW_EINT1 */ | ||
| 4369 | #define ARIZONA_ISRC1_CFG_ERR_EINT1 0x0080 /* ISRC1_CFG_ERR_EINT1 */ | ||
| 4370 | #define ARIZONA_ISRC1_CFG_ERR_EINT1_MASK 0x0080 /* ISRC1_CFG_ERR_EINT1 */ | ||
| 4371 | #define ARIZONA_ISRC1_CFG_ERR_EINT1_SHIFT 7 /* ISRC1_CFG_ERR_EINT1 */ | ||
| 4372 | #define ARIZONA_ISRC1_CFG_ERR_EINT1_WIDTH 1 /* ISRC1_CFG_ERR_EINT1 */ | ||
| 4373 | #define ARIZONA_ISRC2_CFG_ERR_EINT1 0x0040 /* ISRC2_CFG_ERR_EINT1 */ | ||
| 4374 | #define ARIZONA_ISRC2_CFG_ERR_EINT1_MASK 0x0040 /* ISRC2_CFG_ERR_EINT1 */ | ||
| 4375 | #define ARIZONA_ISRC2_CFG_ERR_EINT1_SHIFT 6 /* ISRC2_CFG_ERR_EINT1 */ | ||
| 4376 | #define ARIZONA_ISRC2_CFG_ERR_EINT1_WIDTH 1 /* ISRC2_CFG_ERR_EINT1 */ | ||
| 4377 | |||
| 4378 | /* | ||
| 4379 | * R3332 (0xD04) - Interrupt Status 5 | ||
| 4380 | */ | ||
| 4381 | #define ARIZONA_BOOT_DONE_EINT1 0x0100 /* BOOT_DONE_EINT1 */ | ||
| 4382 | #define ARIZONA_BOOT_DONE_EINT1_MASK 0x0100 /* BOOT_DONE_EINT1 */ | ||
| 4383 | #define ARIZONA_BOOT_DONE_EINT1_SHIFT 8 /* BOOT_DONE_EINT1 */ | ||
| 4384 | #define ARIZONA_BOOT_DONE_EINT1_WIDTH 1 /* BOOT_DONE_EINT1 */ | ||
| 4385 | #define ARIZONA_DCS_DAC_DONE_EINT1 0x0080 /* DCS_DAC_DONE_EINT1 */ | ||
| 4386 | #define ARIZONA_DCS_DAC_DONE_EINT1_MASK 0x0080 /* DCS_DAC_DONE_EINT1 */ | ||
| 4387 | #define ARIZONA_DCS_DAC_DONE_EINT1_SHIFT 7 /* DCS_DAC_DONE_EINT1 */ | ||
| 4388 | #define ARIZONA_DCS_DAC_DONE_EINT1_WIDTH 1 /* DCS_DAC_DONE_EINT1 */ | ||
| 4389 | #define ARIZONA_DCS_HP_DONE_EINT1 0x0040 /* DCS_HP_DONE_EINT1 */ | ||
| 4390 | #define ARIZONA_DCS_HP_DONE_EINT1_MASK 0x0040 /* DCS_HP_DONE_EINT1 */ | ||
| 4391 | #define ARIZONA_DCS_HP_DONE_EINT1_SHIFT 6 /* DCS_HP_DONE_EINT1 */ | ||
| 4392 | #define ARIZONA_DCS_HP_DONE_EINT1_WIDTH 1 /* DCS_HP_DONE_EINT1 */ | ||
| 4393 | #define ARIZONA_FLL2_CLOCK_OK_EINT1 0x0002 /* FLL2_CLOCK_OK_EINT1 */ | ||
| 4394 | #define ARIZONA_FLL2_CLOCK_OK_EINT1_MASK 0x0002 /* FLL2_CLOCK_OK_EINT1 */ | ||
| 4395 | #define ARIZONA_FLL2_CLOCK_OK_EINT1_SHIFT 1 /* FLL2_CLOCK_OK_EINT1 */ | ||
| 4396 | #define ARIZONA_FLL2_CLOCK_OK_EINT1_WIDTH 1 /* FLL2_CLOCK_OK_EINT1 */ | ||
| 4397 | #define ARIZONA_FLL1_CLOCK_OK_EINT1 0x0001 /* FLL1_CLOCK_OK_EINT1 */ | ||
| 4398 | #define ARIZONA_FLL1_CLOCK_OK_EINT1_MASK 0x0001 /* FLL1_CLOCK_OK_EINT1 */ | ||
| 4399 | #define ARIZONA_FLL1_CLOCK_OK_EINT1_SHIFT 0 /* FLL1_CLOCK_OK_EINT1 */ | ||
| 4400 | #define ARIZONA_FLL1_CLOCK_OK_EINT1_WIDTH 1 /* FLL1_CLOCK_OK_EINT1 */ | ||
| 4401 | |||
| 4402 | /* | ||
| 4403 | * R3336 (0xD08) - Interrupt Status 1 Mask | ||
| 4404 | */ | ||
| 4405 | #define ARIZONA_IM_GP4_EINT1 0x0008 /* IM_GP4_EINT1 */ | ||
| 4406 | #define ARIZONA_IM_GP4_EINT1_MASK 0x0008 /* IM_GP4_EINT1 */ | ||
| 4407 | #define ARIZONA_IM_GP4_EINT1_SHIFT 3 /* IM_GP4_EINT1 */ | ||
| 4408 | #define ARIZONA_IM_GP4_EINT1_WIDTH 1 /* IM_GP4_EINT1 */ | ||
| 4409 | #define ARIZONA_IM_GP3_EINT1 0x0004 /* IM_GP3_EINT1 */ | ||
| 4410 | #define ARIZONA_IM_GP3_EINT1_MASK 0x0004 /* IM_GP3_EINT1 */ | ||
| 4411 | #define ARIZONA_IM_GP3_EINT1_SHIFT 2 /* IM_GP3_EINT1 */ | ||
| 4412 | #define ARIZONA_IM_GP3_EINT1_WIDTH 1 /* IM_GP3_EINT1 */ | ||
| 4413 | #define ARIZONA_IM_GP2_EINT1 0x0002 /* IM_GP2_EINT1 */ | ||
| 4414 | #define ARIZONA_IM_GP2_EINT1_MASK 0x0002 /* IM_GP2_EINT1 */ | ||
| 4415 | #define ARIZONA_IM_GP2_EINT1_SHIFT 1 /* IM_GP2_EINT1 */ | ||
| 4416 | #define ARIZONA_IM_GP2_EINT1_WIDTH 1 /* IM_GP2_EINT1 */ | ||
| 4417 | #define ARIZONA_IM_GP1_EINT1 0x0001 /* IM_GP1_EINT1 */ | ||
| 4418 | #define ARIZONA_IM_GP1_EINT1_MASK 0x0001 /* IM_GP1_EINT1 */ | ||
| 4419 | #define ARIZONA_IM_GP1_EINT1_SHIFT 0 /* IM_GP1_EINT1 */ | ||
| 4420 | #define ARIZONA_IM_GP1_EINT1_WIDTH 1 /* IM_GP1_EINT1 */ | ||
| 4421 | |||
| 4422 | /* | ||
| 4423 | * R3337 (0xD09) - Interrupt Status 2 Mask | ||
| 4424 | */ | ||
| 4425 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT1 0x0100 /* IM_DSP1_RAM_RDY_EINT1 */ | ||
| 4426 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT1_MASK 0x0100 /* IM_DSP1_RAM_RDY_EINT1 */ | ||
| 4427 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT1_SHIFT 8 /* IM_DSP1_RAM_RDY_EINT1 */ | ||
| 4428 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT1_WIDTH 1 /* IM_DSP1_RAM_RDY_EINT1 */ | ||
| 4429 | #define ARIZONA_IM_DSP_IRQ2_EINT1 0x0002 /* IM_DSP_IRQ2_EINT1 */ | ||
| 4430 | #define ARIZONA_IM_DSP_IRQ2_EINT1_MASK 0x0002 /* IM_DSP_IRQ2_EINT1 */ | ||
| 4431 | #define ARIZONA_IM_DSP_IRQ2_EINT1_SHIFT 1 /* IM_DSP_IRQ2_EINT1 */ | ||
| 4432 | #define ARIZONA_IM_DSP_IRQ2_EINT1_WIDTH 1 /* IM_DSP_IRQ2_EINT1 */ | ||
| 4433 | #define ARIZONA_IM_DSP_IRQ1_EINT1 0x0001 /* IM_DSP_IRQ1_EINT1 */ | ||
| 4434 | #define ARIZONA_IM_DSP_IRQ1_EINT1_MASK 0x0001 /* IM_DSP_IRQ1_EINT1 */ | ||
| 4435 | #define ARIZONA_IM_DSP_IRQ1_EINT1_SHIFT 0 /* IM_DSP_IRQ1_EINT1 */ | ||
| 4436 | #define ARIZONA_IM_DSP_IRQ1_EINT1_WIDTH 1 /* IM_DSP_IRQ1_EINT1 */ | ||
| 4437 | |||
| 4438 | /* | ||
| 4439 | * R3338 (0xD0A) - Interrupt Status 3 Mask | ||
| 4440 | */ | ||
| 4441 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT1 0x8000 /* IM_SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4442 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT1_MASK 0x8000 /* IM_SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4443 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT1_SHIFT 15 /* IM_SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4444 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT1_WIDTH 1 /* IM_SPK_SHUTDOWN_WARN_EINT1 */ | ||
| 4445 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT1 0x4000 /* IM_SPK_SHUTDOWN_EINT1 */ | ||
| 4446 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT1_MASK 0x4000 /* IM_SPK_SHUTDOWN_EINT1 */ | ||
| 4447 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT1_SHIFT 14 /* IM_SPK_SHUTDOWN_EINT1 */ | ||
| 4448 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT1_WIDTH 1 /* IM_SPK_SHUTDOWN_EINT1 */ | ||
| 4449 | #define ARIZONA_IM_HPDET_EINT1 0x2000 /* IM_HPDET_EINT1 */ | ||
| 4450 | #define ARIZONA_IM_HPDET_EINT1_MASK 0x2000 /* IM_HPDET_EINT1 */ | ||
| 4451 | #define ARIZONA_IM_HPDET_EINT1_SHIFT 13 /* IM_HPDET_EINT1 */ | ||
| 4452 | #define ARIZONA_IM_HPDET_EINT1_WIDTH 1 /* IM_HPDET_EINT1 */ | ||
| 4453 | #define ARIZONA_IM_MICDET_EINT1 0x1000 /* IM_MICDET_EINT1 */ | ||
| 4454 | #define ARIZONA_IM_MICDET_EINT1_MASK 0x1000 /* IM_MICDET_EINT1 */ | ||
| 4455 | #define ARIZONA_IM_MICDET_EINT1_SHIFT 12 /* IM_MICDET_EINT1 */ | ||
| 4456 | #define ARIZONA_IM_MICDET_EINT1_WIDTH 1 /* IM_MICDET_EINT1 */ | ||
| 4457 | #define ARIZONA_IM_WSEQ_DONE_EINT1 0x0800 /* IM_WSEQ_DONE_EINT1 */ | ||
| 4458 | #define ARIZONA_IM_WSEQ_DONE_EINT1_MASK 0x0800 /* IM_WSEQ_DONE_EINT1 */ | ||
| 4459 | #define ARIZONA_IM_WSEQ_DONE_EINT1_SHIFT 11 /* IM_WSEQ_DONE_EINT1 */ | ||
| 4460 | #define ARIZONA_IM_WSEQ_DONE_EINT1_WIDTH 1 /* IM_WSEQ_DONE_EINT1 */ | ||
| 4461 | #define ARIZONA_IM_DRC2_SIG_DET_EINT1 0x0400 /* IM_DRC2_SIG_DET_EINT1 */ | ||
| 4462 | #define ARIZONA_IM_DRC2_SIG_DET_EINT1_MASK 0x0400 /* IM_DRC2_SIG_DET_EINT1 */ | ||
| 4463 | #define ARIZONA_IM_DRC2_SIG_DET_EINT1_SHIFT 10 /* IM_DRC2_SIG_DET_EINT1 */ | ||
| 4464 | #define ARIZONA_IM_DRC2_SIG_DET_EINT1_WIDTH 1 /* IM_DRC2_SIG_DET_EINT1 */ | ||
| 4465 | #define ARIZONA_IM_DRC1_SIG_DET_EINT1 0x0200 /* IM_DRC1_SIG_DET_EINT1 */ | ||
| 4466 | #define ARIZONA_IM_DRC1_SIG_DET_EINT1_MASK 0x0200 /* IM_DRC1_SIG_DET_EINT1 */ | ||
| 4467 | #define ARIZONA_IM_DRC1_SIG_DET_EINT1_SHIFT 9 /* IM_DRC1_SIG_DET_EINT1 */ | ||
| 4468 | #define ARIZONA_IM_DRC1_SIG_DET_EINT1_WIDTH 1 /* IM_DRC1_SIG_DET_EINT1 */ | ||
| 4469 | #define ARIZONA_IM_ASRC2_LOCK_EINT1 0x0100 /* IM_ASRC2_LOCK_EINT1 */ | ||
| 4470 | #define ARIZONA_IM_ASRC2_LOCK_EINT1_MASK 0x0100 /* IM_ASRC2_LOCK_EINT1 */ | ||
| 4471 | #define ARIZONA_IM_ASRC2_LOCK_EINT1_SHIFT 8 /* IM_ASRC2_LOCK_EINT1 */ | ||
| 4472 | #define ARIZONA_IM_ASRC2_LOCK_EINT1_WIDTH 1 /* IM_ASRC2_LOCK_EINT1 */ | ||
| 4473 | #define ARIZONA_IM_ASRC1_LOCK_EINT1 0x0080 /* IM_ASRC1_LOCK_EINT1 */ | ||
| 4474 | #define ARIZONA_IM_ASRC1_LOCK_EINT1_MASK 0x0080 /* IM_ASRC1_LOCK_EINT1 */ | ||
| 4475 | #define ARIZONA_IM_ASRC1_LOCK_EINT1_SHIFT 7 /* IM_ASRC1_LOCK_EINT1 */ | ||
| 4476 | #define ARIZONA_IM_ASRC1_LOCK_EINT1_WIDTH 1 /* IM_ASRC1_LOCK_EINT1 */ | ||
| 4477 | #define ARIZONA_IM_UNDERCLOCKED_EINT1 0x0040 /* IM_UNDERCLOCKED_EINT1 */ | ||
| 4478 | #define ARIZONA_IM_UNDERCLOCKED_EINT1_MASK 0x0040 /* IM_UNDERCLOCKED_EINT1 */ | ||
| 4479 | #define ARIZONA_IM_UNDERCLOCKED_EINT1_SHIFT 6 /* IM_UNDERCLOCKED_EINT1 */ | ||
| 4480 | #define ARIZONA_IM_UNDERCLOCKED_EINT1_WIDTH 1 /* IM_UNDERCLOCKED_EINT1 */ | ||
| 4481 | #define ARIZONA_IM_OVERCLOCKED_EINT1 0x0020 /* IM_OVERCLOCKED_EINT1 */ | ||
| 4482 | #define ARIZONA_IM_OVERCLOCKED_EINT1_MASK 0x0020 /* IM_OVERCLOCKED_EINT1 */ | ||
| 4483 | #define ARIZONA_IM_OVERCLOCKED_EINT1_SHIFT 5 /* IM_OVERCLOCKED_EINT1 */ | ||
| 4484 | #define ARIZONA_IM_OVERCLOCKED_EINT1_WIDTH 1 /* IM_OVERCLOCKED_EINT1 */ | ||
| 4485 | #define ARIZONA_IM_FLL2_LOCK_EINT1 0x0008 /* IM_FLL2_LOCK_EINT1 */ | ||
| 4486 | #define ARIZONA_IM_FLL2_LOCK_EINT1_MASK 0x0008 /* IM_FLL2_LOCK_EINT1 */ | ||
| 4487 | #define ARIZONA_IM_FLL2_LOCK_EINT1_SHIFT 3 /* IM_FLL2_LOCK_EINT1 */ | ||
| 4488 | #define ARIZONA_IM_FLL2_LOCK_EINT1_WIDTH 1 /* IM_FLL2_LOCK_EINT1 */ | ||
| 4489 | #define ARIZONA_IM_FLL1_LOCK_EINT1 0x0004 /* IM_FLL1_LOCK_EINT1 */ | ||
| 4490 | #define ARIZONA_IM_FLL1_LOCK_EINT1_MASK 0x0004 /* IM_FLL1_LOCK_EINT1 */ | ||
| 4491 | #define ARIZONA_IM_FLL1_LOCK_EINT1_SHIFT 2 /* IM_FLL1_LOCK_EINT1 */ | ||
| 4492 | #define ARIZONA_IM_FLL1_LOCK_EINT1_WIDTH 1 /* IM_FLL1_LOCK_EINT1 */ | ||
| 4493 | #define ARIZONA_IM_CLKGEN_ERR_EINT1 0x0002 /* IM_CLKGEN_ERR_EINT1 */ | ||
| 4494 | #define ARIZONA_IM_CLKGEN_ERR_EINT1_MASK 0x0002 /* IM_CLKGEN_ERR_EINT1 */ | ||
| 4495 | #define ARIZONA_IM_CLKGEN_ERR_EINT1_SHIFT 1 /* IM_CLKGEN_ERR_EINT1 */ | ||
| 4496 | #define ARIZONA_IM_CLKGEN_ERR_EINT1_WIDTH 1 /* IM_CLKGEN_ERR_EINT1 */ | ||
| 4497 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT1 0x0001 /* IM_CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4498 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT1_MASK 0x0001 /* IM_CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4499 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT1_SHIFT 0 /* IM_CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4500 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT1_WIDTH 1 /* IM_CLKGEN_ERR_ASYNC_EINT1 */ | ||
| 4501 | |||
| 4502 | /* | ||
| 4503 | * R3339 (0xD0B) - Interrupt Status 4 Mask | ||
| 4504 | */ | ||
| 4505 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT1 0x8000 /* IM_ASRC_CFG_ERR_EINT1 */ | ||
| 4506 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT1_MASK 0x8000 /* IM_ASRC_CFG_ERR_EINT1 */ | ||
| 4507 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT1_SHIFT 15 /* IM_ASRC_CFG_ERR_EINT1 */ | ||
| 4508 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT1_WIDTH 1 /* IM_ASRC_CFG_ERR_EINT1 */ | ||
| 4509 | #define ARIZONA_IM_AIF3_ERR_EINT1 0x4000 /* IM_AIF3_ERR_EINT1 */ | ||
| 4510 | #define ARIZONA_IM_AIF3_ERR_EINT1_MASK 0x4000 /* IM_AIF3_ERR_EINT1 */ | ||
| 4511 | #define ARIZONA_IM_AIF3_ERR_EINT1_SHIFT 14 /* IM_AIF3_ERR_EINT1 */ | ||
| 4512 | #define ARIZONA_IM_AIF3_ERR_EINT1_WIDTH 1 /* IM_AIF3_ERR_EINT1 */ | ||
| 4513 | #define ARIZONA_IM_AIF2_ERR_EINT1 0x2000 /* IM_AIF2_ERR_EINT1 */ | ||
| 4514 | #define ARIZONA_IM_AIF2_ERR_EINT1_MASK 0x2000 /* IM_AIF2_ERR_EINT1 */ | ||
| 4515 | #define ARIZONA_IM_AIF2_ERR_EINT1_SHIFT 13 /* IM_AIF2_ERR_EINT1 */ | ||
| 4516 | #define ARIZONA_IM_AIF2_ERR_EINT1_WIDTH 1 /* IM_AIF2_ERR_EINT1 */ | ||
| 4517 | #define ARIZONA_IM_AIF1_ERR_EINT1 0x1000 /* IM_AIF1_ERR_EINT1 */ | ||
| 4518 | #define ARIZONA_IM_AIF1_ERR_EINT1_MASK 0x1000 /* IM_AIF1_ERR_EINT1 */ | ||
| 4519 | #define ARIZONA_IM_AIF1_ERR_EINT1_SHIFT 12 /* IM_AIF1_ERR_EINT1 */ | ||
| 4520 | #define ARIZONA_IM_AIF1_ERR_EINT1_WIDTH 1 /* IM_AIF1_ERR_EINT1 */ | ||
| 4521 | #define ARIZONA_IM_CTRLIF_ERR_EINT1 0x0800 /* IM_CTRLIF_ERR_EINT1 */ | ||
| 4522 | #define ARIZONA_IM_CTRLIF_ERR_EINT1_MASK 0x0800 /* IM_CTRLIF_ERR_EINT1 */ | ||
| 4523 | #define ARIZONA_IM_CTRLIF_ERR_EINT1_SHIFT 11 /* IM_CTRLIF_ERR_EINT1 */ | ||
| 4524 | #define ARIZONA_IM_CTRLIF_ERR_EINT1_WIDTH 1 /* IM_CTRLIF_ERR_EINT1 */ | ||
| 4525 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT1 0x0400 /* IM_MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4526 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT1_MASK 0x0400 /* IM_MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4527 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT1_SHIFT 10 /* IM_MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4528 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT1_WIDTH 1 /* IM_MIXER_DROPPED_SAMPLE_EINT1 */ | ||
| 4529 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT1 0x0200 /* IM_ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4530 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT1_MASK 0x0200 /* IM_ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4531 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT1_SHIFT 9 /* IM_ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4532 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT1_WIDTH 1 /* IM_ASYNC_CLK_ENA_LOW_EINT1 */ | ||
| 4533 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT1 0x0100 /* IM_SYSCLK_ENA_LOW_EINT1 */ | ||
| 4534 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT1_MASK 0x0100 /* IM_SYSCLK_ENA_LOW_EINT1 */ | ||
| 4535 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT1_SHIFT 8 /* IM_SYSCLK_ENA_LOW_EINT1 */ | ||
| 4536 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT1_WIDTH 1 /* IM_SYSCLK_ENA_LOW_EINT1 */ | ||
| 4537 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT1 0x0080 /* IM_ISRC1_CFG_ERR_EINT1 */ | ||
| 4538 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT1_MASK 0x0080 /* IM_ISRC1_CFG_ERR_EINT1 */ | ||
| 4539 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT1_SHIFT 7 /* IM_ISRC1_CFG_ERR_EINT1 */ | ||
| 4540 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT1_WIDTH 1 /* IM_ISRC1_CFG_ERR_EINT1 */ | ||
| 4541 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT1 0x0040 /* IM_ISRC2_CFG_ERR_EINT1 */ | ||
| 4542 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT1_MASK 0x0040 /* IM_ISRC2_CFG_ERR_EINT1 */ | ||
| 4543 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT1_SHIFT 6 /* IM_ISRC2_CFG_ERR_EINT1 */ | ||
| 4544 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT1_WIDTH 1 /* IM_ISRC2_CFG_ERR_EINT1 */ | ||
| 4545 | |||
| 4546 | /* | ||
| 4547 | * R3340 (0xD0C) - Interrupt Status 5 Mask | ||
| 4548 | */ | ||
| 4549 | #define ARIZONA_IM_BOOT_DONE_EINT1 0x0100 /* IM_BOOT_DONE_EINT1 */ | ||
| 4550 | #define ARIZONA_IM_BOOT_DONE_EINT1_MASK 0x0100 /* IM_BOOT_DONE_EINT1 */ | ||
| 4551 | #define ARIZONA_IM_BOOT_DONE_EINT1_SHIFT 8 /* IM_BOOT_DONE_EINT1 */ | ||
| 4552 | #define ARIZONA_IM_BOOT_DONE_EINT1_WIDTH 1 /* IM_BOOT_DONE_EINT1 */ | ||
| 4553 | #define ARIZONA_IM_DCS_DAC_DONE_EINT1 0x0080 /* IM_DCS_DAC_DONE_EINT1 */ | ||
| 4554 | #define ARIZONA_IM_DCS_DAC_DONE_EINT1_MASK 0x0080 /* IM_DCS_DAC_DONE_EINT1 */ | ||
| 4555 | #define ARIZONA_IM_DCS_DAC_DONE_EINT1_SHIFT 7 /* IM_DCS_DAC_DONE_EINT1 */ | ||
| 4556 | #define ARIZONA_IM_DCS_DAC_DONE_EINT1_WIDTH 1 /* IM_DCS_DAC_DONE_EINT1 */ | ||
| 4557 | #define ARIZONA_IM_DCS_HP_DONE_EINT1 0x0040 /* IM_DCS_HP_DONE_EINT1 */ | ||
| 4558 | #define ARIZONA_IM_DCS_HP_DONE_EINT1_MASK 0x0040 /* IM_DCS_HP_DONE_EINT1 */ | ||
| 4559 | #define ARIZONA_IM_DCS_HP_DONE_EINT1_SHIFT 6 /* IM_DCS_HP_DONE_EINT1 */ | ||
| 4560 | #define ARIZONA_IM_DCS_HP_DONE_EINT1_WIDTH 1 /* IM_DCS_HP_DONE_EINT1 */ | ||
| 4561 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT1 0x0002 /* IM_FLL2_CLOCK_OK_EINT1 */ | ||
| 4562 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT1_MASK 0x0002 /* IM_FLL2_CLOCK_OK_EINT1 */ | ||
| 4563 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT1_SHIFT 1 /* IM_FLL2_CLOCK_OK_EINT1 */ | ||
| 4564 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT1_WIDTH 1 /* IM_FLL2_CLOCK_OK_EINT1 */ | ||
| 4565 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT1 0x0001 /* IM_FLL1_CLOCK_OK_EINT1 */ | ||
| 4566 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT1_MASK 0x0001 /* IM_FLL1_CLOCK_OK_EINT1 */ | ||
| 4567 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT1_SHIFT 0 /* IM_FLL1_CLOCK_OK_EINT1 */ | ||
| 4568 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT1_WIDTH 1 /* IM_FLL1_CLOCK_OK_EINT1 */ | ||
| 4569 | |||
| 4570 | /* | ||
| 4571 | * R3343 (0xD0F) - Interrupt Control | ||
| 4572 | */ | ||
| 4573 | #define ARIZONA_IM_IRQ1 0x0001 /* IM_IRQ1 */ | ||
| 4574 | #define ARIZONA_IM_IRQ1_MASK 0x0001 /* IM_IRQ1 */ | ||
| 4575 | #define ARIZONA_IM_IRQ1_SHIFT 0 /* IM_IRQ1 */ | ||
| 4576 | #define ARIZONA_IM_IRQ1_WIDTH 1 /* IM_IRQ1 */ | ||
| 4577 | |||
| 4578 | /* | ||
| 4579 | * R3344 (0xD10) - IRQ2 Status 1 | ||
| 4580 | */ | ||
| 4581 | #define ARIZONA_GP4_EINT2 0x0008 /* GP4_EINT2 */ | ||
| 4582 | #define ARIZONA_GP4_EINT2_MASK 0x0008 /* GP4_EINT2 */ | ||
| 4583 | #define ARIZONA_GP4_EINT2_SHIFT 3 /* GP4_EINT2 */ | ||
| 4584 | #define ARIZONA_GP4_EINT2_WIDTH 1 /* GP4_EINT2 */ | ||
| 4585 | #define ARIZONA_GP3_EINT2 0x0004 /* GP3_EINT2 */ | ||
| 4586 | #define ARIZONA_GP3_EINT2_MASK 0x0004 /* GP3_EINT2 */ | ||
| 4587 | #define ARIZONA_GP3_EINT2_SHIFT 2 /* GP3_EINT2 */ | ||
| 4588 | #define ARIZONA_GP3_EINT2_WIDTH 1 /* GP3_EINT2 */ | ||
| 4589 | #define ARIZONA_GP2_EINT2 0x0002 /* GP2_EINT2 */ | ||
| 4590 | #define ARIZONA_GP2_EINT2_MASK 0x0002 /* GP2_EINT2 */ | ||
| 4591 | #define ARIZONA_GP2_EINT2_SHIFT 1 /* GP2_EINT2 */ | ||
| 4592 | #define ARIZONA_GP2_EINT2_WIDTH 1 /* GP2_EINT2 */ | ||
| 4593 | #define ARIZONA_GP1_EINT2 0x0001 /* GP1_EINT2 */ | ||
| 4594 | #define ARIZONA_GP1_EINT2_MASK 0x0001 /* GP1_EINT2 */ | ||
| 4595 | #define ARIZONA_GP1_EINT2_SHIFT 0 /* GP1_EINT2 */ | ||
| 4596 | #define ARIZONA_GP1_EINT2_WIDTH 1 /* GP1_EINT2 */ | ||
| 4597 | |||
| 4598 | /* | ||
| 4599 | * R3345 (0xD11) - IRQ2 Status 2 | ||
| 4600 | */ | ||
| 4601 | #define ARIZONA_DSP1_RAM_RDY_EINT2 0x0100 /* DSP1_RAM_RDY_EINT2 */ | ||
| 4602 | #define ARIZONA_DSP1_RAM_RDY_EINT2_MASK 0x0100 /* DSP1_RAM_RDY_EINT2 */ | ||
| 4603 | #define ARIZONA_DSP1_RAM_RDY_EINT2_SHIFT 8 /* DSP1_RAM_RDY_EINT2 */ | ||
| 4604 | #define ARIZONA_DSP1_RAM_RDY_EINT2_WIDTH 1 /* DSP1_RAM_RDY_EINT2 */ | ||
| 4605 | #define ARIZONA_DSP_IRQ2_EINT2 0x0002 /* DSP_IRQ2_EINT2 */ | ||
| 4606 | #define ARIZONA_DSP_IRQ2_EINT2_MASK 0x0002 /* DSP_IRQ2_EINT2 */ | ||
| 4607 | #define ARIZONA_DSP_IRQ2_EINT2_SHIFT 1 /* DSP_IRQ2_EINT2 */ | ||
| 4608 | #define ARIZONA_DSP_IRQ2_EINT2_WIDTH 1 /* DSP_IRQ2_EINT2 */ | ||
| 4609 | #define ARIZONA_DSP_IRQ1_EINT2 0x0001 /* DSP_IRQ1_EINT2 */ | ||
| 4610 | #define ARIZONA_DSP_IRQ1_EINT2_MASK 0x0001 /* DSP_IRQ1_EINT2 */ | ||
| 4611 | #define ARIZONA_DSP_IRQ1_EINT2_SHIFT 0 /* DSP_IRQ1_EINT2 */ | ||
| 4612 | #define ARIZONA_DSP_IRQ1_EINT2_WIDTH 1 /* DSP_IRQ1_EINT2 */ | ||
| 4613 | |||
| 4614 | /* | ||
| 4615 | * R3346 (0xD12) - IRQ2 Status 3 | ||
| 4616 | */ | ||
| 4617 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT2 0x8000 /* SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4618 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT2_MASK 0x8000 /* SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4619 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT2_SHIFT 15 /* SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4620 | #define ARIZONA_SPK_SHUTDOWN_WARN_EINT2_WIDTH 1 /* SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4621 | #define ARIZONA_SPK_SHUTDOWN_EINT2 0x4000 /* SPK_SHUTDOWN_EINT2 */ | ||
| 4622 | #define ARIZONA_SPK_SHUTDOWN_EINT2_MASK 0x4000 /* SPK_SHUTDOWN_EINT2 */ | ||
| 4623 | #define ARIZONA_SPK_SHUTDOWN_EINT2_SHIFT 14 /* SPK_SHUTDOWN_EINT2 */ | ||
| 4624 | #define ARIZONA_SPK_SHUTDOWN_EINT2_WIDTH 1 /* SPK_SHUTDOWN_EINT2 */ | ||
| 4625 | #define ARIZONA_HPDET_EINT2 0x2000 /* HPDET_EINT2 */ | ||
| 4626 | #define ARIZONA_HPDET_EINT2_MASK 0x2000 /* HPDET_EINT2 */ | ||
| 4627 | #define ARIZONA_HPDET_EINT2_SHIFT 13 /* HPDET_EINT2 */ | ||
| 4628 | #define ARIZONA_HPDET_EINT2_WIDTH 1 /* HPDET_EINT2 */ | ||
| 4629 | #define ARIZONA_MICDET_EINT2 0x1000 /* MICDET_EINT2 */ | ||
| 4630 | #define ARIZONA_MICDET_EINT2_MASK 0x1000 /* MICDET_EINT2 */ | ||
| 4631 | #define ARIZONA_MICDET_EINT2_SHIFT 12 /* MICDET_EINT2 */ | ||
| 4632 | #define ARIZONA_MICDET_EINT2_WIDTH 1 /* MICDET_EINT2 */ | ||
| 4633 | #define ARIZONA_WSEQ_DONE_EINT2 0x0800 /* WSEQ_DONE_EINT2 */ | ||
| 4634 | #define ARIZONA_WSEQ_DONE_EINT2_MASK 0x0800 /* WSEQ_DONE_EINT2 */ | ||
| 4635 | #define ARIZONA_WSEQ_DONE_EINT2_SHIFT 11 /* WSEQ_DONE_EINT2 */ | ||
| 4636 | #define ARIZONA_WSEQ_DONE_EINT2_WIDTH 1 /* WSEQ_DONE_EINT2 */ | ||
| 4637 | #define ARIZONA_DRC2_SIG_DET_EINT2 0x0400 /* DRC2_SIG_DET_EINT2 */ | ||
| 4638 | #define ARIZONA_DRC2_SIG_DET_EINT2_MASK 0x0400 /* DRC2_SIG_DET_EINT2 */ | ||
| 4639 | #define ARIZONA_DRC2_SIG_DET_EINT2_SHIFT 10 /* DRC2_SIG_DET_EINT2 */ | ||
| 4640 | #define ARIZONA_DRC2_SIG_DET_EINT2_WIDTH 1 /* DRC2_SIG_DET_EINT2 */ | ||
| 4641 | #define ARIZONA_DRC1_SIG_DET_EINT2 0x0200 /* DRC1_SIG_DET_EINT2 */ | ||
| 4642 | #define ARIZONA_DRC1_SIG_DET_EINT2_MASK 0x0200 /* DRC1_SIG_DET_EINT2 */ | ||
| 4643 | #define ARIZONA_DRC1_SIG_DET_EINT2_SHIFT 9 /* DRC1_SIG_DET_EINT2 */ | ||
| 4644 | #define ARIZONA_DRC1_SIG_DET_EINT2_WIDTH 1 /* DRC1_SIG_DET_EINT2 */ | ||
| 4645 | #define ARIZONA_ASRC2_LOCK_EINT2 0x0100 /* ASRC2_LOCK_EINT2 */ | ||
| 4646 | #define ARIZONA_ASRC2_LOCK_EINT2_MASK 0x0100 /* ASRC2_LOCK_EINT2 */ | ||
| 4647 | #define ARIZONA_ASRC2_LOCK_EINT2_SHIFT 8 /* ASRC2_LOCK_EINT2 */ | ||
| 4648 | #define ARIZONA_ASRC2_LOCK_EINT2_WIDTH 1 /* ASRC2_LOCK_EINT2 */ | ||
| 4649 | #define ARIZONA_ASRC1_LOCK_EINT2 0x0080 /* ASRC1_LOCK_EINT2 */ | ||
| 4650 | #define ARIZONA_ASRC1_LOCK_EINT2_MASK 0x0080 /* ASRC1_LOCK_EINT2 */ | ||
| 4651 | #define ARIZONA_ASRC1_LOCK_EINT2_SHIFT 7 /* ASRC1_LOCK_EINT2 */ | ||
| 4652 | #define ARIZONA_ASRC1_LOCK_EINT2_WIDTH 1 /* ASRC1_LOCK_EINT2 */ | ||
| 4653 | #define ARIZONA_UNDERCLOCKED_EINT2 0x0040 /* UNDERCLOCKED_EINT2 */ | ||
| 4654 | #define ARIZONA_UNDERCLOCKED_EINT2_MASK 0x0040 /* UNDERCLOCKED_EINT2 */ | ||
| 4655 | #define ARIZONA_UNDERCLOCKED_EINT2_SHIFT 6 /* UNDERCLOCKED_EINT2 */ | ||
| 4656 | #define ARIZONA_UNDERCLOCKED_EINT2_WIDTH 1 /* UNDERCLOCKED_EINT2 */ | ||
| 4657 | #define ARIZONA_OVERCLOCKED_EINT2 0x0020 /* OVERCLOCKED_EINT2 */ | ||
| 4658 | #define ARIZONA_OVERCLOCKED_EINT2_MASK 0x0020 /* OVERCLOCKED_EINT2 */ | ||
| 4659 | #define ARIZONA_OVERCLOCKED_EINT2_SHIFT 5 /* OVERCLOCKED_EINT2 */ | ||
| 4660 | #define ARIZONA_OVERCLOCKED_EINT2_WIDTH 1 /* OVERCLOCKED_EINT2 */ | ||
| 4661 | #define ARIZONA_FLL2_LOCK_EINT2 0x0008 /* FLL2_LOCK_EINT2 */ | ||
| 4662 | #define ARIZONA_FLL2_LOCK_EINT2_MASK 0x0008 /* FLL2_LOCK_EINT2 */ | ||
| 4663 | #define ARIZONA_FLL2_LOCK_EINT2_SHIFT 3 /* FLL2_LOCK_EINT2 */ | ||
| 4664 | #define ARIZONA_FLL2_LOCK_EINT2_WIDTH 1 /* FLL2_LOCK_EINT2 */ | ||
| 4665 | #define ARIZONA_FLL1_LOCK_EINT2 0x0004 /* FLL1_LOCK_EINT2 */ | ||
| 4666 | #define ARIZONA_FLL1_LOCK_EINT2_MASK 0x0004 /* FLL1_LOCK_EINT2 */ | ||
| 4667 | #define ARIZONA_FLL1_LOCK_EINT2_SHIFT 2 /* FLL1_LOCK_EINT2 */ | ||
| 4668 | #define ARIZONA_FLL1_LOCK_EINT2_WIDTH 1 /* FLL1_LOCK_EINT2 */ | ||
| 4669 | #define ARIZONA_CLKGEN_ERR_EINT2 0x0002 /* CLKGEN_ERR_EINT2 */ | ||
| 4670 | #define ARIZONA_CLKGEN_ERR_EINT2_MASK 0x0002 /* CLKGEN_ERR_EINT2 */ | ||
| 4671 | #define ARIZONA_CLKGEN_ERR_EINT2_SHIFT 1 /* CLKGEN_ERR_EINT2 */ | ||
| 4672 | #define ARIZONA_CLKGEN_ERR_EINT2_WIDTH 1 /* CLKGEN_ERR_EINT2 */ | ||
| 4673 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT2 0x0001 /* CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4674 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT2_MASK 0x0001 /* CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4675 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT2_SHIFT 0 /* CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4676 | #define ARIZONA_CLKGEN_ERR_ASYNC_EINT2_WIDTH 1 /* CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4677 | |||
| 4678 | /* | ||
| 4679 | * R3347 (0xD13) - IRQ2 Status 4 | ||
| 4680 | */ | ||
| 4681 | #define ARIZONA_ASRC_CFG_ERR_EINT2 0x8000 /* ASRC_CFG_ERR_EINT2 */ | ||
| 4682 | #define ARIZONA_ASRC_CFG_ERR_EINT2_MASK 0x8000 /* ASRC_CFG_ERR_EINT2 */ | ||
| 4683 | #define ARIZONA_ASRC_CFG_ERR_EINT2_SHIFT 15 /* ASRC_CFG_ERR_EINT2 */ | ||
| 4684 | #define ARIZONA_ASRC_CFG_ERR_EINT2_WIDTH 1 /* ASRC_CFG_ERR_EINT2 */ | ||
| 4685 | #define ARIZONA_AIF3_ERR_EINT2 0x4000 /* AIF3_ERR_EINT2 */ | ||
| 4686 | #define ARIZONA_AIF3_ERR_EINT2_MASK 0x4000 /* AIF3_ERR_EINT2 */ | ||
| 4687 | #define ARIZONA_AIF3_ERR_EINT2_SHIFT 14 /* AIF3_ERR_EINT2 */ | ||
| 4688 | #define ARIZONA_AIF3_ERR_EINT2_WIDTH 1 /* AIF3_ERR_EINT2 */ | ||
| 4689 | #define ARIZONA_AIF2_ERR_EINT2 0x2000 /* AIF2_ERR_EINT2 */ | ||
| 4690 | #define ARIZONA_AIF2_ERR_EINT2_MASK 0x2000 /* AIF2_ERR_EINT2 */ | ||
| 4691 | #define ARIZONA_AIF2_ERR_EINT2_SHIFT 13 /* AIF2_ERR_EINT2 */ | ||
| 4692 | #define ARIZONA_AIF2_ERR_EINT2_WIDTH 1 /* AIF2_ERR_EINT2 */ | ||
| 4693 | #define ARIZONA_AIF1_ERR_EINT2 0x1000 /* AIF1_ERR_EINT2 */ | ||
| 4694 | #define ARIZONA_AIF1_ERR_EINT2_MASK 0x1000 /* AIF1_ERR_EINT2 */ | ||
| 4695 | #define ARIZONA_AIF1_ERR_EINT2_SHIFT 12 /* AIF1_ERR_EINT2 */ | ||
| 4696 | #define ARIZONA_AIF1_ERR_EINT2_WIDTH 1 /* AIF1_ERR_EINT2 */ | ||
| 4697 | #define ARIZONA_CTRLIF_ERR_EINT2 0x0800 /* CTRLIF_ERR_EINT2 */ | ||
| 4698 | #define ARIZONA_CTRLIF_ERR_EINT2_MASK 0x0800 /* CTRLIF_ERR_EINT2 */ | ||
| 4699 | #define ARIZONA_CTRLIF_ERR_EINT2_SHIFT 11 /* CTRLIF_ERR_EINT2 */ | ||
| 4700 | #define ARIZONA_CTRLIF_ERR_EINT2_WIDTH 1 /* CTRLIF_ERR_EINT2 */ | ||
| 4701 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT2 0x0400 /* MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4702 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT2_MASK 0x0400 /* MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4703 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT2_SHIFT 10 /* MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4704 | #define ARIZONA_MIXER_DROPPED_SAMPLE_EINT2_WIDTH 1 /* MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4705 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT2 0x0200 /* ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4706 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT2_MASK 0x0200 /* ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4707 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT2_SHIFT 9 /* ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4708 | #define ARIZONA_ASYNC_CLK_ENA_LOW_EINT2_WIDTH 1 /* ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4709 | #define ARIZONA_SYSCLK_ENA_LOW_EINT2 0x0100 /* SYSCLK_ENA_LOW_EINT2 */ | ||
| 4710 | #define ARIZONA_SYSCLK_ENA_LOW_EINT2_MASK 0x0100 /* SYSCLK_ENA_LOW_EINT2 */ | ||
| 4711 | #define ARIZONA_SYSCLK_ENA_LOW_EINT2_SHIFT 8 /* SYSCLK_ENA_LOW_EINT2 */ | ||
| 4712 | #define ARIZONA_SYSCLK_ENA_LOW_EINT2_WIDTH 1 /* SYSCLK_ENA_LOW_EINT2 */ | ||
| 4713 | #define ARIZONA_ISRC1_CFG_ERR_EINT2 0x0080 /* ISRC1_CFG_ERR_EINT2 */ | ||
| 4714 | #define ARIZONA_ISRC1_CFG_ERR_EINT2_MASK 0x0080 /* ISRC1_CFG_ERR_EINT2 */ | ||
| 4715 | #define ARIZONA_ISRC1_CFG_ERR_EINT2_SHIFT 7 /* ISRC1_CFG_ERR_EINT2 */ | ||
| 4716 | #define ARIZONA_ISRC1_CFG_ERR_EINT2_WIDTH 1 /* ISRC1_CFG_ERR_EINT2 */ | ||
| 4717 | #define ARIZONA_ISRC2_CFG_ERR_EINT2 0x0040 /* ISRC2_CFG_ERR_EINT2 */ | ||
| 4718 | #define ARIZONA_ISRC2_CFG_ERR_EINT2_MASK 0x0040 /* ISRC2_CFG_ERR_EINT2 */ | ||
| 4719 | #define ARIZONA_ISRC2_CFG_ERR_EINT2_SHIFT 6 /* ISRC2_CFG_ERR_EINT2 */ | ||
| 4720 | #define ARIZONA_ISRC2_CFG_ERR_EINT2_WIDTH 1 /* ISRC2_CFG_ERR_EINT2 */ | ||
| 4721 | |||
| 4722 | /* | ||
| 4723 | * R3348 (0xD14) - IRQ2 Status 5 | ||
| 4724 | */ | ||
| 4725 | #define ARIZONA_BOOT_DONE_EINT2 0x0100 /* BOOT_DONE_EINT2 */ | ||
| 4726 | #define ARIZONA_BOOT_DONE_EINT2_MASK 0x0100 /* BOOT_DONE_EINT2 */ | ||
| 4727 | #define ARIZONA_BOOT_DONE_EINT2_SHIFT 8 /* BOOT_DONE_EINT2 */ | ||
| 4728 | #define ARIZONA_BOOT_DONE_EINT2_WIDTH 1 /* BOOT_DONE_EINT2 */ | ||
| 4729 | #define ARIZONA_DCS_DAC_DONE_EINT2 0x0080 /* DCS_DAC_DONE_EINT2 */ | ||
| 4730 | #define ARIZONA_DCS_DAC_DONE_EINT2_MASK 0x0080 /* DCS_DAC_DONE_EINT2 */ | ||
| 4731 | #define ARIZONA_DCS_DAC_DONE_EINT2_SHIFT 7 /* DCS_DAC_DONE_EINT2 */ | ||
| 4732 | #define ARIZONA_DCS_DAC_DONE_EINT2_WIDTH 1 /* DCS_DAC_DONE_EINT2 */ | ||
| 4733 | #define ARIZONA_DCS_HP_DONE_EINT2 0x0040 /* DCS_HP_DONE_EINT2 */ | ||
| 4734 | #define ARIZONA_DCS_HP_DONE_EINT2_MASK 0x0040 /* DCS_HP_DONE_EINT2 */ | ||
| 4735 | #define ARIZONA_DCS_HP_DONE_EINT2_SHIFT 6 /* DCS_HP_DONE_EINT2 */ | ||
| 4736 | #define ARIZONA_DCS_HP_DONE_EINT2_WIDTH 1 /* DCS_HP_DONE_EINT2 */ | ||
| 4737 | #define ARIZONA_FLL2_CLOCK_OK_EINT2 0x0002 /* FLL2_CLOCK_OK_EINT2 */ | ||
| 4738 | #define ARIZONA_FLL2_CLOCK_OK_EINT2_MASK 0x0002 /* FLL2_CLOCK_OK_EINT2 */ | ||
| 4739 | #define ARIZONA_FLL2_CLOCK_OK_EINT2_SHIFT 1 /* FLL2_CLOCK_OK_EINT2 */ | ||
| 4740 | #define ARIZONA_FLL2_CLOCK_OK_EINT2_WIDTH 1 /* FLL2_CLOCK_OK_EINT2 */ | ||
| 4741 | #define ARIZONA_FLL1_CLOCK_OK_EINT2 0x0001 /* FLL1_CLOCK_OK_EINT2 */ | ||
| 4742 | #define ARIZONA_FLL1_CLOCK_OK_EINT2_MASK 0x0001 /* FLL1_CLOCK_OK_EINT2 */ | ||
| 4743 | #define ARIZONA_FLL1_CLOCK_OK_EINT2_SHIFT 0 /* FLL1_CLOCK_OK_EINT2 */ | ||
| 4744 | #define ARIZONA_FLL1_CLOCK_OK_EINT2_WIDTH 1 /* FLL1_CLOCK_OK_EINT2 */ | ||
| 4745 | |||
| 4746 | /* | ||
| 4747 | * R3352 (0xD18) - IRQ2 Status 1 Mask | ||
| 4748 | */ | ||
| 4749 | #define ARIZONA_IM_GP4_EINT2 0x0008 /* IM_GP4_EINT2 */ | ||
| 4750 | #define ARIZONA_IM_GP4_EINT2_MASK 0x0008 /* IM_GP4_EINT2 */ | ||
| 4751 | #define ARIZONA_IM_GP4_EINT2_SHIFT 3 /* IM_GP4_EINT2 */ | ||
| 4752 | #define ARIZONA_IM_GP4_EINT2_WIDTH 1 /* IM_GP4_EINT2 */ | ||
| 4753 | #define ARIZONA_IM_GP3_EINT2 0x0004 /* IM_GP3_EINT2 */ | ||
| 4754 | #define ARIZONA_IM_GP3_EINT2_MASK 0x0004 /* IM_GP3_EINT2 */ | ||
| 4755 | #define ARIZONA_IM_GP3_EINT2_SHIFT 2 /* IM_GP3_EINT2 */ | ||
| 4756 | #define ARIZONA_IM_GP3_EINT2_WIDTH 1 /* IM_GP3_EINT2 */ | ||
| 4757 | #define ARIZONA_IM_GP2_EINT2 0x0002 /* IM_GP2_EINT2 */ | ||
| 4758 | #define ARIZONA_IM_GP2_EINT2_MASK 0x0002 /* IM_GP2_EINT2 */ | ||
| 4759 | #define ARIZONA_IM_GP2_EINT2_SHIFT 1 /* IM_GP2_EINT2 */ | ||
| 4760 | #define ARIZONA_IM_GP2_EINT2_WIDTH 1 /* IM_GP2_EINT2 */ | ||
| 4761 | #define ARIZONA_IM_GP1_EINT2 0x0001 /* IM_GP1_EINT2 */ | ||
| 4762 | #define ARIZONA_IM_GP1_EINT2_MASK 0x0001 /* IM_GP1_EINT2 */ | ||
| 4763 | #define ARIZONA_IM_GP1_EINT2_SHIFT 0 /* IM_GP1_EINT2 */ | ||
| 4764 | #define ARIZONA_IM_GP1_EINT2_WIDTH 1 /* IM_GP1_EINT2 */ | ||
| 4765 | |||
| 4766 | /* | ||
| 4767 | * R3353 (0xD19) - IRQ2 Status 2 Mask | ||
| 4768 | */ | ||
| 4769 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT2 0x0100 /* IM_DSP1_RAM_RDY_EINT2 */ | ||
| 4770 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT2_MASK 0x0100 /* IM_DSP1_RAM_RDY_EINT2 */ | ||
| 4771 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT2_SHIFT 8 /* IM_DSP1_RAM_RDY_EINT2 */ | ||
| 4772 | #define ARIZONA_IM_DSP1_RAM_RDY_EINT2_WIDTH 1 /* IM_DSP1_RAM_RDY_EINT2 */ | ||
| 4773 | #define ARIZONA_IM_DSP_IRQ2_EINT2 0x0002 /* IM_DSP_IRQ2_EINT2 */ | ||
| 4774 | #define ARIZONA_IM_DSP_IRQ2_EINT2_MASK 0x0002 /* IM_DSP_IRQ2_EINT2 */ | ||
| 4775 | #define ARIZONA_IM_DSP_IRQ2_EINT2_SHIFT 1 /* IM_DSP_IRQ2_EINT2 */ | ||
| 4776 | #define ARIZONA_IM_DSP_IRQ2_EINT2_WIDTH 1 /* IM_DSP_IRQ2_EINT2 */ | ||
| 4777 | #define ARIZONA_IM_DSP_IRQ1_EINT2 0x0001 /* IM_DSP_IRQ1_EINT2 */ | ||
| 4778 | #define ARIZONA_IM_DSP_IRQ1_EINT2_MASK 0x0001 /* IM_DSP_IRQ1_EINT2 */ | ||
| 4779 | #define ARIZONA_IM_DSP_IRQ1_EINT2_SHIFT 0 /* IM_DSP_IRQ1_EINT2 */ | ||
| 4780 | #define ARIZONA_IM_DSP_IRQ1_EINT2_WIDTH 1 /* IM_DSP_IRQ1_EINT2 */ | ||
| 4781 | |||
| 4782 | /* | ||
| 4783 | * R3354 (0xD1A) - IRQ2 Status 3 Mask | ||
| 4784 | */ | ||
| 4785 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT2 0x8000 /* IM_SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4786 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT2_MASK 0x8000 /* IM_SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4787 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT2_SHIFT 15 /* IM_SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4788 | #define ARIZONA_IM_SPK_SHUTDOWN_WARN_EINT2_WIDTH 1 /* IM_SPK_SHUTDOWN_WARN_EINT2 */ | ||
| 4789 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT2 0x4000 /* IM_SPK_SHUTDOWN_EINT2 */ | ||
| 4790 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT2_MASK 0x4000 /* IM_SPK_SHUTDOWN_EINT2 */ | ||
| 4791 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT2_SHIFT 14 /* IM_SPK_SHUTDOWN_EINT2 */ | ||
| 4792 | #define ARIZONA_IM_SPK_SHUTDOWN_EINT2_WIDTH 1 /* IM_SPK_SHUTDOWN_EINT2 */ | ||
| 4793 | #define ARIZONA_IM_HPDET_EINT2 0x2000 /* IM_HPDET_EINT2 */ | ||
| 4794 | #define ARIZONA_IM_HPDET_EINT2_MASK 0x2000 /* IM_HPDET_EINT2 */ | ||
| 4795 | #define ARIZONA_IM_HPDET_EINT2_SHIFT 13 /* IM_HPDET_EINT2 */ | ||
| 4796 | #define ARIZONA_IM_HPDET_EINT2_WIDTH 1 /* IM_HPDET_EINT2 */ | ||
| 4797 | #define ARIZONA_IM_MICDET_EINT2 0x1000 /* IM_MICDET_EINT2 */ | ||
| 4798 | #define ARIZONA_IM_MICDET_EINT2_MASK 0x1000 /* IM_MICDET_EINT2 */ | ||
| 4799 | #define ARIZONA_IM_MICDET_EINT2_SHIFT 12 /* IM_MICDET_EINT2 */ | ||
| 4800 | #define ARIZONA_IM_MICDET_EINT2_WIDTH 1 /* IM_MICDET_EINT2 */ | ||
| 4801 | #define ARIZONA_IM_WSEQ_DONE_EINT2 0x0800 /* IM_WSEQ_DONE_EINT2 */ | ||
| 4802 | #define ARIZONA_IM_WSEQ_DONE_EINT2_MASK 0x0800 /* IM_WSEQ_DONE_EINT2 */ | ||
| 4803 | #define ARIZONA_IM_WSEQ_DONE_EINT2_SHIFT 11 /* IM_WSEQ_DONE_EINT2 */ | ||
| 4804 | #define ARIZONA_IM_WSEQ_DONE_EINT2_WIDTH 1 /* IM_WSEQ_DONE_EINT2 */ | ||
| 4805 | #define ARIZONA_IM_DRC2_SIG_DET_EINT2 0x0400 /* IM_DRC2_SIG_DET_EINT2 */ | ||
| 4806 | #define ARIZONA_IM_DRC2_SIG_DET_EINT2_MASK 0x0400 /* IM_DRC2_SIG_DET_EINT2 */ | ||
| 4807 | #define ARIZONA_IM_DRC2_SIG_DET_EINT2_SHIFT 10 /* IM_DRC2_SIG_DET_EINT2 */ | ||
| 4808 | #define ARIZONA_IM_DRC2_SIG_DET_EINT2_WIDTH 1 /* IM_DRC2_SIG_DET_EINT2 */ | ||
| 4809 | #define ARIZONA_IM_DRC1_SIG_DET_EINT2 0x0200 /* IM_DRC1_SIG_DET_EINT2 */ | ||
| 4810 | #define ARIZONA_IM_DRC1_SIG_DET_EINT2_MASK 0x0200 /* IM_DRC1_SIG_DET_EINT2 */ | ||
| 4811 | #define ARIZONA_IM_DRC1_SIG_DET_EINT2_SHIFT 9 /* IM_DRC1_SIG_DET_EINT2 */ | ||
| 4812 | #define ARIZONA_IM_DRC1_SIG_DET_EINT2_WIDTH 1 /* IM_DRC1_SIG_DET_EINT2 */ | ||
| 4813 | #define ARIZONA_IM_ASRC2_LOCK_EINT2 0x0100 /* IM_ASRC2_LOCK_EINT2 */ | ||
| 4814 | #define ARIZONA_IM_ASRC2_LOCK_EINT2_MASK 0x0100 /* IM_ASRC2_LOCK_EINT2 */ | ||
| 4815 | #define ARIZONA_IM_ASRC2_LOCK_EINT2_SHIFT 8 /* IM_ASRC2_LOCK_EINT2 */ | ||
| 4816 | #define ARIZONA_IM_ASRC2_LOCK_EINT2_WIDTH 1 /* IM_ASRC2_LOCK_EINT2 */ | ||
| 4817 | #define ARIZONA_IM_ASRC1_LOCK_EINT2 0x0080 /* IM_ASRC1_LOCK_EINT2 */ | ||
| 4818 | #define ARIZONA_IM_ASRC1_LOCK_EINT2_MASK 0x0080 /* IM_ASRC1_LOCK_EINT2 */ | ||
| 4819 | #define ARIZONA_IM_ASRC1_LOCK_EINT2_SHIFT 7 /* IM_ASRC1_LOCK_EINT2 */ | ||
| 4820 | #define ARIZONA_IM_ASRC1_LOCK_EINT2_WIDTH 1 /* IM_ASRC1_LOCK_EINT2 */ | ||
| 4821 | #define ARIZONA_IM_UNDERCLOCKED_EINT2 0x0040 /* IM_UNDERCLOCKED_EINT2 */ | ||
| 4822 | #define ARIZONA_IM_UNDERCLOCKED_EINT2_MASK 0x0040 /* IM_UNDERCLOCKED_EINT2 */ | ||
| 4823 | #define ARIZONA_IM_UNDERCLOCKED_EINT2_SHIFT 6 /* IM_UNDERCLOCKED_EINT2 */ | ||
| 4824 | #define ARIZONA_IM_UNDERCLOCKED_EINT2_WIDTH 1 /* IM_UNDERCLOCKED_EINT2 */ | ||
| 4825 | #define ARIZONA_IM_OVERCLOCKED_EINT2 0x0020 /* IM_OVERCLOCKED_EINT2 */ | ||
| 4826 | #define ARIZONA_IM_OVERCLOCKED_EINT2_MASK 0x0020 /* IM_OVERCLOCKED_EINT2 */ | ||
| 4827 | #define ARIZONA_IM_OVERCLOCKED_EINT2_SHIFT 5 /* IM_OVERCLOCKED_EINT2 */ | ||
| 4828 | #define ARIZONA_IM_OVERCLOCKED_EINT2_WIDTH 1 /* IM_OVERCLOCKED_EINT2 */ | ||
| 4829 | #define ARIZONA_IM_FLL2_LOCK_EINT2 0x0008 /* IM_FLL2_LOCK_EINT2 */ | ||
| 4830 | #define ARIZONA_IM_FLL2_LOCK_EINT2_MASK 0x0008 /* IM_FLL2_LOCK_EINT2 */ | ||
| 4831 | #define ARIZONA_IM_FLL2_LOCK_EINT2_SHIFT 3 /* IM_FLL2_LOCK_EINT2 */ | ||
| 4832 | #define ARIZONA_IM_FLL2_LOCK_EINT2_WIDTH 1 /* IM_FLL2_LOCK_EINT2 */ | ||
| 4833 | #define ARIZONA_IM_FLL1_LOCK_EINT2 0x0004 /* IM_FLL1_LOCK_EINT2 */ | ||
| 4834 | #define ARIZONA_IM_FLL1_LOCK_EINT2_MASK 0x0004 /* IM_FLL1_LOCK_EINT2 */ | ||
| 4835 | #define ARIZONA_IM_FLL1_LOCK_EINT2_SHIFT 2 /* IM_FLL1_LOCK_EINT2 */ | ||
| 4836 | #define ARIZONA_IM_FLL1_LOCK_EINT2_WIDTH 1 /* IM_FLL1_LOCK_EINT2 */ | ||
| 4837 | #define ARIZONA_IM_CLKGEN_ERR_EINT2 0x0002 /* IM_CLKGEN_ERR_EINT2 */ | ||
| 4838 | #define ARIZONA_IM_CLKGEN_ERR_EINT2_MASK 0x0002 /* IM_CLKGEN_ERR_EINT2 */ | ||
| 4839 | #define ARIZONA_IM_CLKGEN_ERR_EINT2_SHIFT 1 /* IM_CLKGEN_ERR_EINT2 */ | ||
| 4840 | #define ARIZONA_IM_CLKGEN_ERR_EINT2_WIDTH 1 /* IM_CLKGEN_ERR_EINT2 */ | ||
| 4841 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT2 0x0001 /* IM_CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4842 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT2_MASK 0x0001 /* IM_CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4843 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT2_SHIFT 0 /* IM_CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4844 | #define ARIZONA_IM_CLKGEN_ERR_ASYNC_EINT2_WIDTH 1 /* IM_CLKGEN_ERR_ASYNC_EINT2 */ | ||
| 4845 | |||
| 4846 | /* | ||
| 4847 | * R3355 (0xD1B) - IRQ2 Status 4 Mask | ||
| 4848 | */ | ||
| 4849 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT2 0x8000 /* IM_ASRC_CFG_ERR_EINT2 */ | ||
| 4850 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT2_MASK 0x8000 /* IM_ASRC_CFG_ERR_EINT2 */ | ||
| 4851 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT2_SHIFT 15 /* IM_ASRC_CFG_ERR_EINT2 */ | ||
| 4852 | #define ARIZONA_IM_ASRC_CFG_ERR_EINT2_WIDTH 1 /* IM_ASRC_CFG_ERR_EINT2 */ | ||
| 4853 | #define ARIZONA_IM_AIF3_ERR_EINT2 0x4000 /* IM_AIF3_ERR_EINT2 */ | ||
| 4854 | #define ARIZONA_IM_AIF3_ERR_EINT2_MASK 0x4000 /* IM_AIF3_ERR_EINT2 */ | ||
| 4855 | #define ARIZONA_IM_AIF3_ERR_EINT2_SHIFT 14 /* IM_AIF3_ERR_EINT2 */ | ||
| 4856 | #define ARIZONA_IM_AIF3_ERR_EINT2_WIDTH 1 /* IM_AIF3_ERR_EINT2 */ | ||
| 4857 | #define ARIZONA_IM_AIF2_ERR_EINT2 0x2000 /* IM_AIF2_ERR_EINT2 */ | ||
| 4858 | #define ARIZONA_IM_AIF2_ERR_EINT2_MASK 0x2000 /* IM_AIF2_ERR_EINT2 */ | ||
| 4859 | #define ARIZONA_IM_AIF2_ERR_EINT2_SHIFT 13 /* IM_AIF2_ERR_EINT2 */ | ||
| 4860 | #define ARIZONA_IM_AIF2_ERR_EINT2_WIDTH 1 /* IM_AIF2_ERR_EINT2 */ | ||
| 4861 | #define ARIZONA_IM_AIF1_ERR_EINT2 0x1000 /* IM_AIF1_ERR_EINT2 */ | ||
| 4862 | #define ARIZONA_IM_AIF1_ERR_EINT2_MASK 0x1000 /* IM_AIF1_ERR_EINT2 */ | ||
| 4863 | #define ARIZONA_IM_AIF1_ERR_EINT2_SHIFT 12 /* IM_AIF1_ERR_EINT2 */ | ||
| 4864 | #define ARIZONA_IM_AIF1_ERR_EINT2_WIDTH 1 /* IM_AIF1_ERR_EINT2 */ | ||
| 4865 | #define ARIZONA_IM_CTRLIF_ERR_EINT2 0x0800 /* IM_CTRLIF_ERR_EINT2 */ | ||
| 4866 | #define ARIZONA_IM_CTRLIF_ERR_EINT2_MASK 0x0800 /* IM_CTRLIF_ERR_EINT2 */ | ||
| 4867 | #define ARIZONA_IM_CTRLIF_ERR_EINT2_SHIFT 11 /* IM_CTRLIF_ERR_EINT2 */ | ||
| 4868 | #define ARIZONA_IM_CTRLIF_ERR_EINT2_WIDTH 1 /* IM_CTRLIF_ERR_EINT2 */ | ||
| 4869 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT2 0x0400 /* IM_MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4870 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT2_MASK 0x0400 /* IM_MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4871 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT2_SHIFT 10 /* IM_MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4872 | #define ARIZONA_IM_MIXER_DROPPED_SAMPLE_EINT2_WIDTH 1 /* IM_MIXER_DROPPED_SAMPLE_EINT2 */ | ||
| 4873 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT2 0x0200 /* IM_ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4874 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT2_MASK 0x0200 /* IM_ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4875 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT2_SHIFT 9 /* IM_ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4876 | #define ARIZONA_IM_ASYNC_CLK_ENA_LOW_EINT2_WIDTH 1 /* IM_ASYNC_CLK_ENA_LOW_EINT2 */ | ||
| 4877 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT2 0x0100 /* IM_SYSCLK_ENA_LOW_EINT2 */ | ||
| 4878 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT2_MASK 0x0100 /* IM_SYSCLK_ENA_LOW_EINT2 */ | ||
| 4879 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT2_SHIFT 8 /* IM_SYSCLK_ENA_LOW_EINT2 */ | ||
| 4880 | #define ARIZONA_IM_SYSCLK_ENA_LOW_EINT2_WIDTH 1 /* IM_SYSCLK_ENA_LOW_EINT2 */ | ||
| 4881 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT2 0x0080 /* IM_ISRC1_CFG_ERR_EINT2 */ | ||
| 4882 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT2_MASK 0x0080 /* IM_ISRC1_CFG_ERR_EINT2 */ | ||
| 4883 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT2_SHIFT 7 /* IM_ISRC1_CFG_ERR_EINT2 */ | ||
| 4884 | #define ARIZONA_IM_ISRC1_CFG_ERR_EINT2_WIDTH 1 /* IM_ISRC1_CFG_ERR_EINT2 */ | ||
| 4885 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT2 0x0040 /* IM_ISRC2_CFG_ERR_EINT2 */ | ||
| 4886 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT2_MASK 0x0040 /* IM_ISRC2_CFG_ERR_EINT2 */ | ||
| 4887 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT2_SHIFT 6 /* IM_ISRC2_CFG_ERR_EINT2 */ | ||
| 4888 | #define ARIZONA_IM_ISRC2_CFG_ERR_EINT2_WIDTH 1 /* IM_ISRC2_CFG_ERR_EINT2 */ | ||
| 4889 | |||
| 4890 | /* | ||
| 4891 | * R3356 (0xD1C) - IRQ2 Status 5 Mask | ||
| 4892 | */ | ||
| 4893 | |||
| 4894 | #define ARIZONA_IM_BOOT_DONE_EINT2 0x0100 /* IM_BOOT_DONE_EINT2 */ | ||
| 4895 | #define ARIZONA_IM_BOOT_DONE_EINT2_MASK 0x0100 /* IM_BOOT_DONE_EINT2 */ | ||
| 4896 | #define ARIZONA_IM_BOOT_DONE_EINT2_SHIFT 8 /* IM_BOOT_DONE_EINT2 */ | ||
| 4897 | #define ARIZONA_IM_BOOT_DONE_EINT2_WIDTH 1 /* IM_BOOT_DONE_EINT2 */ | ||
| 4898 | #define ARIZONA_IM_DCS_DAC_DONE_EINT2 0x0080 /* IM_DCS_DAC_DONE_EINT2 */ | ||
| 4899 | #define ARIZONA_IM_DCS_DAC_DONE_EINT2_MASK 0x0080 /* IM_DCS_DAC_DONE_EINT2 */ | ||
| 4900 | #define ARIZONA_IM_DCS_DAC_DONE_EINT2_SHIFT 7 /* IM_DCS_DAC_DONE_EINT2 */ | ||
| 4901 | #define ARIZONA_IM_DCS_DAC_DONE_EINT2_WIDTH 1 /* IM_DCS_DAC_DONE_EINT2 */ | ||
| 4902 | #define ARIZONA_IM_DCS_HP_DONE_EINT2 0x0040 /* IM_DCS_HP_DONE_EINT2 */ | ||
| 4903 | #define ARIZONA_IM_DCS_HP_DONE_EINT2_MASK 0x0040 /* IM_DCS_HP_DONE_EINT2 */ | ||
| 4904 | #define ARIZONA_IM_DCS_HP_DONE_EINT2_SHIFT 6 /* IM_DCS_HP_DONE_EINT2 */ | ||
| 4905 | #define ARIZONA_IM_DCS_HP_DONE_EINT2_WIDTH 1 /* IM_DCS_HP_DONE_EINT2 */ | ||
| 4906 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT2 0x0002 /* IM_FLL2_CLOCK_OK_EINT2 */ | ||
| 4907 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT2_MASK 0x0002 /* IM_FLL2_CLOCK_OK_EINT2 */ | ||
| 4908 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT2_SHIFT 1 /* IM_FLL2_CLOCK_OK_EINT2 */ | ||
| 4909 | #define ARIZONA_IM_FLL2_CLOCK_OK_EINT2_WIDTH 1 /* IM_FLL2_CLOCK_OK_EINT2 */ | ||
| 4910 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT2 0x0001 /* IM_FLL1_CLOCK_OK_EINT2 */ | ||
| 4911 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT2_MASK 0x0001 /* IM_FLL1_CLOCK_OK_EINT2 */ | ||
| 4912 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT2_SHIFT 0 /* IM_FLL1_CLOCK_OK_EINT2 */ | ||
| 4913 | #define ARIZONA_IM_FLL1_CLOCK_OK_EINT2_WIDTH 1 /* IM_FLL1_CLOCK_OK_EINT2 */ | ||
| 4914 | |||
| 4915 | /* | ||
| 4916 | * R3359 (0xD1F) - IRQ2 Control | ||
| 4917 | */ | ||
| 4918 | #define ARIZONA_IM_IRQ2 0x0001 /* IM_IRQ2 */ | ||
| 4919 | #define ARIZONA_IM_IRQ2_MASK 0x0001 /* IM_IRQ2 */ | ||
| 4920 | #define ARIZONA_IM_IRQ2_SHIFT 0 /* IM_IRQ2 */ | ||
| 4921 | #define ARIZONA_IM_IRQ2_WIDTH 1 /* IM_IRQ2 */ | ||
| 4922 | |||
| 4923 | /* | ||
| 4924 | * R3360 (0xD20) - Interrupt Raw Status 2 | ||
| 4925 | */ | ||
| 4926 | #define ARIZONA_DSP1_RAM_RDY_STS 0x0100 /* DSP1_RAM_RDY_STS */ | ||
| 4927 | #define ARIZONA_DSP1_RAM_RDY_STS_MASK 0x0100 /* DSP1_RAM_RDY_STS */ | ||
| 4928 | #define ARIZONA_DSP1_RAM_RDY_STS_SHIFT 8 /* DSP1_RAM_RDY_STS */ | ||
| 4929 | #define ARIZONA_DSP1_RAM_RDY_STS_WIDTH 1 /* DSP1_RAM_RDY_STS */ | ||
| 4930 | #define ARIZONA_DSP_IRQ2_STS 0x0002 /* DSP_IRQ2_STS */ | ||
| 4931 | #define ARIZONA_DSP_IRQ2_STS_MASK 0x0002 /* DSP_IRQ2_STS */ | ||
| 4932 | #define ARIZONA_DSP_IRQ2_STS_SHIFT 1 /* DSP_IRQ2_STS */ | ||
| 4933 | #define ARIZONA_DSP_IRQ2_STS_WIDTH 1 /* DSP_IRQ2_STS */ | ||
| 4934 | #define ARIZONA_DSP_IRQ1_STS 0x0001 /* DSP_IRQ1_STS */ | ||
| 4935 | #define ARIZONA_DSP_IRQ1_STS_MASK 0x0001 /* DSP_IRQ1_STS */ | ||
| 4936 | #define ARIZONA_DSP_IRQ1_STS_SHIFT 0 /* DSP_IRQ1_STS */ | ||
| 4937 | #define ARIZONA_DSP_IRQ1_STS_WIDTH 1 /* DSP_IRQ1_STS */ | ||
| 4938 | |||
| 4939 | /* | ||
| 4940 | * R3361 (0xD21) - Interrupt Raw Status 3 | ||
| 4941 | */ | ||
| 4942 | #define ARIZONA_SPK_SHUTDOWN_WARN_STS 0x8000 /* SPK_SHUTDOWN_WARN_STS */ | ||
| 4943 | #define ARIZONA_SPK_SHUTDOWN_WARN_STS_MASK 0x8000 /* SPK_SHUTDOWN_WARN_STS */ | ||
| 4944 | #define ARIZONA_SPK_SHUTDOWN_WARN_STS_SHIFT 15 /* SPK_SHUTDOWN_WARN_STS */ | ||
| 4945 | #define ARIZONA_SPK_SHUTDOWN_WARN_STS_WIDTH 1 /* SPK_SHUTDOWN_WARN_STS */ | ||
| 4946 | #define ARIZONA_SPK_SHUTDOWN_STS 0x4000 /* SPK_SHUTDOWN_STS */ | ||
| 4947 | #define ARIZONA_SPK_SHUTDOWN_STS_MASK 0x4000 /* SPK_SHUTDOWN_STS */ | ||
| 4948 | #define ARIZONA_SPK_SHUTDOWN_STS_SHIFT 14 /* SPK_SHUTDOWN_STS */ | ||
| 4949 | #define ARIZONA_SPK_SHUTDOWN_STS_WIDTH 1 /* SPK_SHUTDOWN_STS */ | ||
| 4950 | #define ARIZONA_HPDET_STS 0x2000 /* HPDET_STS */ | ||
| 4951 | #define ARIZONA_HPDET_STS_MASK 0x2000 /* HPDET_STS */ | ||
| 4952 | #define ARIZONA_HPDET_STS_SHIFT 13 /* HPDET_STS */ | ||
| 4953 | #define ARIZONA_HPDET_STS_WIDTH 1 /* HPDET_STS */ | ||
| 4954 | #define ARIZONA_MICDET_STS 0x1000 /* MICDET_STS */ | ||
| 4955 | #define ARIZONA_MICDET_STS_MASK 0x1000 /* MICDET_STS */ | ||
| 4956 | #define ARIZONA_MICDET_STS_SHIFT 12 /* MICDET_STS */ | ||
| 4957 | #define ARIZONA_MICDET_STS_WIDTH 1 /* MICDET_STS */ | ||
| 4958 | #define ARIZONA_WSEQ_DONE_STS 0x0800 /* WSEQ_DONE_STS */ | ||
| 4959 | #define ARIZONA_WSEQ_DONE_STS_MASK 0x0800 /* WSEQ_DONE_STS */ | ||
| 4960 | #define ARIZONA_WSEQ_DONE_STS_SHIFT 11 /* WSEQ_DONE_STS */ | ||
| 4961 | #define ARIZONA_WSEQ_DONE_STS_WIDTH 1 /* WSEQ_DONE_STS */ | ||
| 4962 | #define ARIZONA_DRC2_SIG_DET_STS 0x0400 /* DRC2_SIG_DET_STS */ | ||
| 4963 | #define ARIZONA_DRC2_SIG_DET_STS_MASK 0x0400 /* DRC2_SIG_DET_STS */ | ||
| 4964 | #define ARIZONA_DRC2_SIG_DET_STS_SHIFT 10 /* DRC2_SIG_DET_STS */ | ||
| 4965 | #define ARIZONA_DRC2_SIG_DET_STS_WIDTH 1 /* DRC2_SIG_DET_STS */ | ||
| 4966 | #define ARIZONA_DRC1_SIG_DET_STS 0x0200 /* DRC1_SIG_DET_STS */ | ||
| 4967 | #define ARIZONA_DRC1_SIG_DET_STS_MASK 0x0200 /* DRC1_SIG_DET_STS */ | ||
| 4968 | #define ARIZONA_DRC1_SIG_DET_STS_SHIFT 9 /* DRC1_SIG_DET_STS */ | ||
| 4969 | #define ARIZONA_DRC1_SIG_DET_STS_WIDTH 1 /* DRC1_SIG_DET_STS */ | ||
| 4970 | #define ARIZONA_ASRC2_LOCK_STS 0x0100 /* ASRC2_LOCK_STS */ | ||
| 4971 | #define ARIZONA_ASRC2_LOCK_STS_MASK 0x0100 /* ASRC2_LOCK_STS */ | ||
| 4972 | #define ARIZONA_ASRC2_LOCK_STS_SHIFT 8 /* ASRC2_LOCK_STS */ | ||
| 4973 | #define ARIZONA_ASRC2_LOCK_STS_WIDTH 1 /* ASRC2_LOCK_STS */ | ||
| 4974 | #define ARIZONA_ASRC1_LOCK_STS 0x0080 /* ASRC1_LOCK_STS */ | ||
| 4975 | #define ARIZONA_ASRC1_LOCK_STS_MASK 0x0080 /* ASRC1_LOCK_STS */ | ||
| 4976 | #define ARIZONA_ASRC1_LOCK_STS_SHIFT 7 /* ASRC1_LOCK_STS */ | ||
| 4977 | #define ARIZONA_ASRC1_LOCK_STS_WIDTH 1 /* ASRC1_LOCK_STS */ | ||
| 4978 | #define ARIZONA_UNDERCLOCKED_STS 0x0040 /* UNDERCLOCKED_STS */ | ||
| 4979 | #define ARIZONA_UNDERCLOCKED_STS_MASK 0x0040 /* UNDERCLOCKED_STS */ | ||
| 4980 | #define ARIZONA_UNDERCLOCKED_STS_SHIFT 6 /* UNDERCLOCKED_STS */ | ||
| 4981 | #define ARIZONA_UNDERCLOCKED_STS_WIDTH 1 /* UNDERCLOCKED_STS */ | ||
| 4982 | #define ARIZONA_OVERCLOCKED_STS 0x0020 /* OVERCLOCKED_STS */ | ||
| 4983 | #define ARIZONA_OVERCLOCKED_STS_MASK 0x0020 /* OVERCLOCKED_STS */ | ||
| 4984 | #define ARIZONA_OVERCLOCKED_STS_SHIFT 5 /* OVERCLOCKED_STS */ | ||
| 4985 | #define ARIZONA_OVERCLOCKED_STS_WIDTH 1 /* OVERCLOCKED_STS */ | ||
| 4986 | #define ARIZONA_FLL2_LOCK_STS 0x0008 /* FLL2_LOCK_STS */ | ||
| 4987 | #define ARIZONA_FLL2_LOCK_STS_MASK 0x0008 /* FLL2_LOCK_STS */ | ||
| 4988 | #define ARIZONA_FLL2_LOCK_STS_SHIFT 3 /* FLL2_LOCK_STS */ | ||
| 4989 | #define ARIZONA_FLL2_LOCK_STS_WIDTH 1 /* FLL2_LOCK_STS */ | ||
| 4990 | #define ARIZONA_FLL1_LOCK_STS 0x0004 /* FLL1_LOCK_STS */ | ||
| 4991 | #define ARIZONA_FLL1_LOCK_STS_MASK 0x0004 /* FLL1_LOCK_STS */ | ||
| 4992 | #define ARIZONA_FLL1_LOCK_STS_SHIFT 2 /* FLL1_LOCK_STS */ | ||
| 4993 | #define ARIZONA_FLL1_LOCK_STS_WIDTH 1 /* FLL1_LOCK_STS */ | ||
| 4994 | #define ARIZONA_CLKGEN_ERR_STS 0x0002 /* CLKGEN_ERR_STS */ | ||
| 4995 | #define ARIZONA_CLKGEN_ERR_STS_MASK 0x0002 /* CLKGEN_ERR_STS */ | ||
| 4996 | #define ARIZONA_CLKGEN_ERR_STS_SHIFT 1 /* CLKGEN_ERR_STS */ | ||
| 4997 | #define ARIZONA_CLKGEN_ERR_STS_WIDTH 1 /* CLKGEN_ERR_STS */ | ||
| 4998 | #define ARIZONA_CLKGEN_ERR_ASYNC_STS 0x0001 /* CLKGEN_ERR_ASYNC_STS */ | ||
| 4999 | #define ARIZONA_CLKGEN_ERR_ASYNC_STS_MASK 0x0001 /* CLKGEN_ERR_ASYNC_STS */ | ||
| 5000 | #define ARIZONA_CLKGEN_ERR_ASYNC_STS_SHIFT 0 /* CLKGEN_ERR_ASYNC_STS */ | ||
| 5001 | #define ARIZONA_CLKGEN_ERR_ASYNC_STS_WIDTH 1 /* CLKGEN_ERR_ASYNC_STS */ | ||
| 5002 | |||
| 5003 | /* | ||
| 5004 | * R3362 (0xD22) - Interrupt Raw Status 4 | ||
| 5005 | */ | ||
| 5006 | #define ARIZONA_ASRC_CFG_ERR_STS 0x8000 /* ASRC_CFG_ERR_STS */ | ||
| 5007 | #define ARIZONA_ASRC_CFG_ERR_STS_MASK 0x8000 /* ASRC_CFG_ERR_STS */ | ||
| 5008 | #define ARIZONA_ASRC_CFG_ERR_STS_SHIFT 15 /* ASRC_CFG_ERR_STS */ | ||
| 5009 | #define ARIZONA_ASRC_CFG_ERR_STS_WIDTH 1 /* ASRC_CFG_ERR_STS */ | ||
| 5010 | #define ARIZONA_AIF3_ERR_STS 0x4000 /* AIF3_ERR_STS */ | ||
| 5011 | #define ARIZONA_AIF3_ERR_STS_MASK 0x4000 /* AIF3_ERR_STS */ | ||
| 5012 | #define ARIZONA_AIF3_ERR_STS_SHIFT 14 /* AIF3_ERR_STS */ | ||
| 5013 | #define ARIZONA_AIF3_ERR_STS_WIDTH 1 /* AIF3_ERR_STS */ | ||
| 5014 | #define ARIZONA_AIF2_ERR_STS 0x2000 /* AIF2_ERR_STS */ | ||
| 5015 | #define ARIZONA_AIF2_ERR_STS_MASK 0x2000 /* AIF2_ERR_STS */ | ||
| 5016 | #define ARIZONA_AIF2_ERR_STS_SHIFT 13 /* AIF2_ERR_STS */ | ||
| 5017 | #define ARIZONA_AIF2_ERR_STS_WIDTH 1 /* AIF2_ERR_STS */ | ||
| 5018 | #define ARIZONA_AIF1_ERR_STS 0x1000 /* AIF1_ERR_STS */ | ||
| 5019 | #define ARIZONA_AIF1_ERR_STS_MASK 0x1000 /* AIF1_ERR_STS */ | ||
| 5020 | #define ARIZONA_AIF1_ERR_STS_SHIFT 12 /* AIF1_ERR_STS */ | ||
| 5021 | #define ARIZONA_AIF1_ERR_STS_WIDTH 1 /* AIF1_ERR_STS */ | ||
| 5022 | #define ARIZONA_CTRLIF_ERR_STS 0x0800 /* CTRLIF_ERR_STS */ | ||
| 5023 | #define ARIZONA_CTRLIF_ERR_STS_MASK 0x0800 /* CTRLIF_ERR_STS */ | ||
| 5024 | #define ARIZONA_CTRLIF_ERR_STS_SHIFT 11 /* CTRLIF_ERR_STS */ | ||
| 5025 | #define ARIZONA_CTRLIF_ERR_STS_WIDTH 1 /* CTRLIF_ERR_STS */ | ||
| 5026 | #define ARIZONA_MIXER_DROPPED_SAMPLE_STS 0x0400 /* MIXER_DROPPED_SAMPLE_STS */ | ||
| 5027 | #define ARIZONA_MIXER_DROPPED_SAMPLE_STS_MASK 0x0400 /* MIXER_DROPPED_SAMPLE_STS */ | ||
| 5028 | #define ARIZONA_MIXER_DROPPED_SAMPLE_STS_SHIFT 10 /* MIXER_DROPPED_SAMPLE_STS */ | ||
| 5029 | #define ARIZONA_MIXER_DROPPED_SAMPLE_STS_WIDTH 1 /* MIXER_DROPPED_SAMPLE_STS */ | ||
| 5030 | #define ARIZONA_ASYNC_CLK_ENA_LOW_STS 0x0200 /* ASYNC_CLK_ENA_LOW_STS */ | ||
| 5031 | #define ARIZONA_ASYNC_CLK_ENA_LOW_STS_MASK 0x0200 /* ASYNC_CLK_ENA_LOW_STS */ | ||
| 5032 | #define ARIZONA_ASYNC_CLK_ENA_LOW_STS_SHIFT 9 /* ASYNC_CLK_ENA_LOW_STS */ | ||
| 5033 | #define ARIZONA_ASYNC_CLK_ENA_LOW_STS_WIDTH 1 /* ASYNC_CLK_ENA_LOW_STS */ | ||
| 5034 | #define ARIZONA_SYSCLK_ENA_LOW_STS 0x0100 /* SYSCLK_ENA_LOW_STS */ | ||
| 5035 | #define ARIZONA_SYSCLK_ENA_LOW_STS_MASK 0x0100 /* SYSCLK_ENA_LOW_STS */ | ||
| 5036 | #define ARIZONA_SYSCLK_ENA_LOW_STS_SHIFT 8 /* SYSCLK_ENA_LOW_STS */ | ||
| 5037 | #define ARIZONA_SYSCLK_ENA_LOW_STS_WIDTH 1 /* SYSCLK_ENA_LOW_STS */ | ||
| 5038 | #define ARIZONA_ISRC1_CFG_ERR_STS 0x0080 /* ISRC1_CFG_ERR_STS */ | ||
| 5039 | #define ARIZONA_ISRC1_CFG_ERR_STS_MASK 0x0080 /* ISRC1_CFG_ERR_STS */ | ||
| 5040 | #define ARIZONA_ISRC1_CFG_ERR_STS_SHIFT 7 /* ISRC1_CFG_ERR_STS */ | ||
| 5041 | #define ARIZONA_ISRC1_CFG_ERR_STS_WIDTH 1 /* ISRC1_CFG_ERR_STS */ | ||
| 5042 | #define ARIZONA_ISRC2_CFG_ERR_STS 0x0040 /* ISRC2_CFG_ERR_STS */ | ||
| 5043 | #define ARIZONA_ISRC2_CFG_ERR_STS_MASK 0x0040 /* ISRC2_CFG_ERR_STS */ | ||
| 5044 | #define ARIZONA_ISRC2_CFG_ERR_STS_SHIFT 6 /* ISRC2_CFG_ERR_STS */ | ||
| 5045 | #define ARIZONA_ISRC2_CFG_ERR_STS_WIDTH 1 /* ISRC2_CFG_ERR_STS */ | ||
| 5046 | |||
| 5047 | /* | ||
| 5048 | * R3363 (0xD23) - Interrupt Raw Status 5 | ||
| 5049 | */ | ||
| 5050 | #define ARIZONA_BOOT_DONE_STS 0x0100 /* BOOT_DONE_STS */ | ||
| 5051 | #define ARIZONA_BOOT_DONE_STS_MASK 0x0100 /* BOOT_DONE_STS */ | ||
| 5052 | #define ARIZONA_BOOT_DONE_STS_SHIFT 8 /* BOOT_DONE_STS */ | ||
| 5053 | #define ARIZONA_BOOT_DONE_STS_WIDTH 1 /* BOOT_DONE_STS */ | ||
| 5054 | #define ARIZONA_DCS_DAC_DONE_STS 0x0080 /* DCS_DAC_DONE_STS */ | ||
| 5055 | #define ARIZONA_DCS_DAC_DONE_STS_MASK 0x0080 /* DCS_DAC_DONE_STS */ | ||
| 5056 | #define ARIZONA_DCS_DAC_DONE_STS_SHIFT 7 /* DCS_DAC_DONE_STS */ | ||
| 5057 | #define ARIZONA_DCS_DAC_DONE_STS_WIDTH 1 /* DCS_DAC_DONE_STS */ | ||
| 5058 | #define ARIZONA_DCS_HP_DONE_STS 0x0040 /* DCS_HP_DONE_STS */ | ||
| 5059 | #define ARIZONA_DCS_HP_DONE_STS_MASK 0x0040 /* DCS_HP_DONE_STS */ | ||
| 5060 | #define ARIZONA_DCS_HP_DONE_STS_SHIFT 6 /* DCS_HP_DONE_STS */ | ||
| 5061 | #define ARIZONA_DCS_HP_DONE_STS_WIDTH 1 /* DCS_HP_DONE_STS */ | ||
| 5062 | #define ARIZONA_FLL2_CLOCK_OK_STS 0x0002 /* FLL2_CLOCK_OK_STS */ | ||
| 5063 | #define ARIZONA_FLL2_CLOCK_OK_STS_MASK 0x0002 /* FLL2_CLOCK_OK_STS */ | ||
| 5064 | #define ARIZONA_FLL2_CLOCK_OK_STS_SHIFT 1 /* FLL2_CLOCK_OK_STS */ | ||
| 5065 | #define ARIZONA_FLL2_CLOCK_OK_STS_WIDTH 1 /* FLL2_CLOCK_OK_STS */ | ||
| 5066 | #define ARIZONA_FLL1_CLOCK_OK_STS 0x0001 /* FLL1_CLOCK_OK_STS */ | ||
| 5067 | #define ARIZONA_FLL1_CLOCK_OK_STS_MASK 0x0001 /* FLL1_CLOCK_OK_STS */ | ||
| 5068 | #define ARIZONA_FLL1_CLOCK_OK_STS_SHIFT 0 /* FLL1_CLOCK_OK_STS */ | ||
| 5069 | #define ARIZONA_FLL1_CLOCK_OK_STS_WIDTH 1 /* FLL1_CLOCK_OK_STS */ | ||
| 5070 | |||
| 5071 | /* | ||
| 5072 | * R3364 (0xD24) - Interrupt Raw Status 6 | ||
| 5073 | */ | ||
| 5074 | #define ARIZONA_PWM_OVERCLOCKED_STS 0x2000 /* PWM_OVERCLOCKED_STS */ | ||
| 5075 | #define ARIZONA_PWM_OVERCLOCKED_STS_MASK 0x2000 /* PWM_OVERCLOCKED_STS */ | ||
| 5076 | #define ARIZONA_PWM_OVERCLOCKED_STS_SHIFT 13 /* PWM_OVERCLOCKED_STS */ | ||
| 5077 | #define ARIZONA_PWM_OVERCLOCKED_STS_WIDTH 1 /* PWM_OVERCLOCKED_STS */ | ||
| 5078 | #define ARIZONA_FX_CORE_OVERCLOCKED_STS 0x1000 /* FX_CORE_OVERCLOCKED_STS */ | ||
| 5079 | #define ARIZONA_FX_CORE_OVERCLOCKED_STS_MASK 0x1000 /* FX_CORE_OVERCLOCKED_STS */ | ||
| 5080 | #define ARIZONA_FX_CORE_OVERCLOCKED_STS_SHIFT 12 /* FX_CORE_OVERCLOCKED_STS */ | ||
| 5081 | #define ARIZONA_FX_CORE_OVERCLOCKED_STS_WIDTH 1 /* FX_CORE_OVERCLOCKED_STS */ | ||
| 5082 | #define ARIZONA_DAC_SYS_OVERCLOCKED_STS 0x0400 /* DAC_SYS_OVERCLOCKED_STS */ | ||
| 5083 | #define ARIZONA_DAC_SYS_OVERCLOCKED_STS_MASK 0x0400 /* DAC_SYS_OVERCLOCKED_STS */ | ||
| 5084 | #define ARIZONA_DAC_SYS_OVERCLOCKED_STS_SHIFT 10 /* DAC_SYS_OVERCLOCKED_STS */ | ||
| 5085 | #define ARIZONA_DAC_SYS_OVERCLOCKED_STS_WIDTH 1 /* DAC_SYS_OVERCLOCKED_STS */ | ||
| 5086 | #define ARIZONA_DAC_WARP_OVERCLOCKED_STS 0x0200 /* DAC_WARP_OVERCLOCKED_STS */ | ||
| 5087 | #define ARIZONA_DAC_WARP_OVERCLOCKED_STS_MASK 0x0200 /* DAC_WARP_OVERCLOCKED_STS */ | ||
| 5088 | #define ARIZONA_DAC_WARP_OVERCLOCKED_STS_SHIFT 9 /* DAC_WARP_OVERCLOCKED_STS */ | ||
| 5089 | #define ARIZONA_DAC_WARP_OVERCLOCKED_STS_WIDTH 1 /* DAC_WARP_OVERCLOCKED_STS */ | ||
| 5090 | #define ARIZONA_ADC_OVERCLOCKED_STS 0x0100 /* ADC_OVERCLOCKED_STS */ | ||
| 5091 | #define ARIZONA_ADC_OVERCLOCKED_STS_MASK 0x0100 /* ADC_OVERCLOCKED_STS */ | ||
| 5092 | #define ARIZONA_ADC_OVERCLOCKED_STS_SHIFT 8 /* ADC_OVERCLOCKED_STS */ | ||
| 5093 | #define ARIZONA_ADC_OVERCLOCKED_STS_WIDTH 1 /* ADC_OVERCLOCKED_STS */ | ||
| 5094 | #define ARIZONA_MIXER_OVERCLOCKED_STS 0x0080 /* MIXER_OVERCLOCKED_STS */ | ||
| 5095 | #define ARIZONA_MIXER_OVERCLOCKED_STS_MASK 0x0080 /* MIXER_OVERCLOCKED_STS */ | ||
| 5096 | #define ARIZONA_MIXER_OVERCLOCKED_STS_SHIFT 7 /* MIXER_OVERCLOCKED_STS */ | ||
| 5097 | #define ARIZONA_MIXER_OVERCLOCKED_STS_WIDTH 1 /* MIXER_OVERCLOCKED_STS */ | ||
| 5098 | #define ARIZONA_AIF3_ASYNC_OVERCLOCKED_STS 0x0040 /* AIF3_ASYNC_OVERCLOCKED_STS */ | ||
| 5099 | #define ARIZONA_AIF3_ASYNC_OVERCLOCKED_STS_MASK 0x0040 /* AIF3_ASYNC_OVERCLOCKED_STS */ | ||
| 5100 | #define ARIZONA_AIF3_ASYNC_OVERCLOCKED_STS_SHIFT 6 /* AIF3_ASYNC_OVERCLOCKED_STS */ | ||
| 5101 | #define ARIZONA_AIF3_ASYNC_OVERCLOCKED_STS_WIDTH 1 /* AIF3_ASYNC_OVERCLOCKED_STS */ | ||
| 5102 | #define ARIZONA_AIF2_ASYNC_OVERCLOCKED_STS 0x0020 /* AIF2_ASYNC_OVERCLOCKED_STS */ | ||
| 5103 | #define ARIZONA_AIF2_ASYNC_OVERCLOCKED_STS_MASK 0x0020 /* AIF2_ASYNC_OVERCLOCKED_STS */ | ||
| 5104 | #define ARIZONA_AIF2_ASYNC_OVERCLOCKED_STS_SHIFT 5 /* AIF2_ASYNC_OVERCLOCKED_STS */ | ||
| 5105 | #define ARIZONA_AIF2_ASYNC_OVERCLOCKED_STS_WIDTH 1 /* AIF2_ASYNC_OVERCLOCKED_STS */ | ||
| 5106 | #define ARIZONA_AIF1_ASYNC_OVERCLOCKED_STS 0x0010 /* AIF1_ASYNC_OVERCLOCKED_STS */ | ||
| 5107 | #define ARIZONA_AIF1_ASYNC_OVERCLOCKED_STS_MASK 0x0010 /* AIF1_ASYNC_OVERCLOCKED_STS */ | ||
| 5108 | #define ARIZONA_AIF1_ASYNC_OVERCLOCKED_STS_SHIFT 4 /* AIF1_ASYNC_OVERCLOCKED_STS */ | ||
| 5109 | #define ARIZONA_AIF1_ASYNC_OVERCLOCKED_STS_WIDTH 1 /* AIF1_ASYNC_OVERCLOCKED_STS */ | ||
| 5110 | #define ARIZONA_AIF3_SYNC_OVERCLOCKED_STS 0x0008 /* AIF3_SYNC_OVERCLOCKED_STS */ | ||
| 5111 | #define ARIZONA_AIF3_SYNC_OVERCLOCKED_STS_MASK 0x0008 /* AIF3_SYNC_OVERCLOCKED_STS */ | ||
| 5112 | #define ARIZONA_AIF3_SYNC_OVERCLOCKED_STS_SHIFT 3 /* AIF3_SYNC_OVERCLOCKED_STS */ | ||
| 5113 | #define ARIZONA_AIF3_SYNC_OVERCLOCKED_STS_WIDTH 1 /* AIF3_SYNC_OVERCLOCKED_STS */ | ||
| 5114 | #define ARIZONA_AIF2_SYNC_OVERCLOCKED_STS 0x0004 /* AIF2_SYNC_OVERCLOCKED_STS */ | ||
| 5115 | #define ARIZONA_AIF2_SYNC_OVERCLOCKED_STS_MASK 0x0004 /* AIF2_SYNC_OVERCLOCKED_STS */ | ||
| 5116 | #define ARIZONA_AIF2_SYNC_OVERCLOCKED_STS_SHIFT 2 /* AIF2_SYNC_OVERCLOCKED_STS */ | ||
| 5117 | #define ARIZONA_AIF2_SYNC_OVERCLOCKED_STS_WIDTH 1 /* AIF2_SYNC_OVERCLOCKED_STS */ | ||
| 5118 | #define ARIZONA_AIF1_SYNC_OVERCLOCKED_STS 0x0002 /* AIF1_SYNC_OVERCLOCKED_STS */ | ||
| 5119 | #define ARIZONA_AIF1_SYNC_OVERCLOCKED_STS_MASK 0x0002 /* AIF1_SYNC_OVERCLOCKED_STS */ | ||
| 5120 | #define ARIZONA_AIF1_SYNC_OVERCLOCKED_STS_SHIFT 1 /* AIF1_SYNC_OVERCLOCKED_STS */ | ||
| 5121 | #define ARIZONA_AIF1_SYNC_OVERCLOCKED_STS_WIDTH 1 /* AIF1_SYNC_OVERCLOCKED_STS */ | ||
| 5122 | #define ARIZONA_PAD_CTRL_OVERCLOCKED_STS 0x0001 /* PAD_CTRL_OVERCLOCKED_STS */ | ||
| 5123 | #define ARIZONA_PAD_CTRL_OVERCLOCKED_STS_MASK 0x0001 /* PAD_CTRL_OVERCLOCKED_STS */ | ||
| 5124 | #define ARIZONA_PAD_CTRL_OVERCLOCKED_STS_SHIFT 0 /* PAD_CTRL_OVERCLOCKED_STS */ | ||
| 5125 | #define ARIZONA_PAD_CTRL_OVERCLOCKED_STS_WIDTH 1 /* PAD_CTRL_OVERCLOCKED_STS */ | ||
| 5126 | |||
| 5127 | /* | ||
| 5128 | * R3365 (0xD25) - Interrupt Raw Status 7 | ||
| 5129 | */ | ||
| 5130 | #define ARIZONA_SLIMBUS_SUBSYS_OVERCLOCKED_STS 0x8000 /* SLIMBUS_SUBSYS_OVERCLOCKED_STS */ | ||
| 5131 | #define ARIZONA_SLIMBUS_SUBSYS_OVERCLOCKED_STS_MASK 0x8000 /* SLIMBUS_SUBSYS_OVERCLOCKED_STS */ | ||
| 5132 | #define ARIZONA_SLIMBUS_SUBSYS_OVERCLOCKED_STS_SHIFT 15 /* SLIMBUS_SUBSYS_OVERCLOCKED_STS */ | ||
| 5133 | #define ARIZONA_SLIMBUS_SUBSYS_OVERCLOCKED_STS_WIDTH 1 /* SLIMBUS_SUBSYS_OVERCLOCKED_STS */ | ||
| 5134 | #define ARIZONA_SLIMBUS_ASYNC_OVERCLOCKED_STS 0x4000 /* SLIMBUS_ASYNC_OVERCLOCKED_STS */ | ||
| 5135 | #define ARIZONA_SLIMBUS_ASYNC_OVERCLOCKED_STS_MASK 0x4000 /* SLIMBUS_ASYNC_OVERCLOCKED_STS */ | ||
| 5136 | #define ARIZONA_SLIMBUS_ASYNC_OVERCLOCKED_STS_SHIFT 14 /* SLIMBUS_ASYNC_OVERCLOCKED_STS */ | ||
| 5137 | #define ARIZONA_SLIMBUS_ASYNC_OVERCLOCKED_STS_WIDTH 1 /* SLIMBUS_ASYNC_OVERCLOCKED_STS */ | ||
| 5138 | #define ARIZONA_SLIMBUS_SYNC_OVERCLOCKED_STS 0x2000 /* SLIMBUS_SYNC_OVERCLOCKED_STS */ | ||
| 5139 | #define ARIZONA_SLIMBUS_SYNC_OVERCLOCKED_STS_MASK 0x2000 /* SLIMBUS_SYNC_OVERCLOCKED_STS */ | ||
| 5140 | #define ARIZONA_SLIMBUS_SYNC_OVERCLOCKED_STS_SHIFT 13 /* SLIMBUS_SYNC_OVERCLOCKED_STS */ | ||
| 5141 | #define ARIZONA_SLIMBUS_SYNC_OVERCLOCKED_STS_WIDTH 1 /* SLIMBUS_SYNC_OVERCLOCKED_STS */ | ||
| 5142 | #define ARIZONA_ASRC_ASYNC_SYS_OVERCLOCKED_STS 0x1000 /* ASRC_ASYNC_SYS_OVERCLOCKED_STS */ | ||
| 5143 | #define ARIZONA_ASRC_ASYNC_SYS_OVERCLOCKED_STS_MASK 0x1000 /* ASRC_ASYNC_SYS_OVERCLOCKED_STS */ | ||
| 5144 | #define ARIZONA_ASRC_ASYNC_SYS_OVERCLOCKED_STS_SHIFT 12 /* ASRC_ASYNC_SYS_OVERCLOCKED_STS */ | ||
| 5145 | #define ARIZONA_ASRC_ASYNC_SYS_OVERCLOCKED_STS_WIDTH 1 /* ASRC_ASYNC_SYS_OVERCLOCKED_STS */ | ||
| 5146 | #define ARIZONA_ASRC_ASYNC_WARP_OVERCLOCKED_STS 0x0800 /* ASRC_ASYNC_WARP_OVERCLOCKED_STS */ | ||
| 5147 | #define ARIZONA_ASRC_ASYNC_WARP_OVERCLOCKED_STS_MASK 0x0800 /* ASRC_ASYNC_WARP_OVERCLOCKED_STS */ | ||
| 5148 | #define ARIZONA_ASRC_ASYNC_WARP_OVERCLOCKED_STS_SHIFT 11 /* ASRC_ASYNC_WARP_OVERCLOCKED_STS */ | ||
| 5149 | #define ARIZONA_ASRC_ASYNC_WARP_OVERCLOCKED_STS_WIDTH 1 /* ASRC_ASYNC_WARP_OVERCLOCKED_STS */ | ||
| 5150 | #define ARIZONA_ASRC_SYNC_SYS_OVERCLOCKED_STS 0x0400 /* ASRC_SYNC_SYS_OVERCLOCKED_STS */ | ||
| 5151 | #define ARIZONA_ASRC_SYNC_SYS_OVERCLOCKED_STS_MASK 0x0400 /* ASRC_SYNC_SYS_OVERCLOCKED_STS */ | ||
| 5152 | #define ARIZONA_ASRC_SYNC_SYS_OVERCLOCKED_STS_SHIFT 10 /* ASRC_SYNC_SYS_OVERCLOCKED_STS */ | ||
| 5153 | #define ARIZONA_ASRC_SYNC_SYS_OVERCLOCKED_STS_WIDTH 1 /* ASRC_SYNC_SYS_OVERCLOCKED_STS */ | ||
| 5154 | #define ARIZONA_ASRC_SYNC_WARP_OVERCLOCKED_STS 0x0200 /* ASRC_SYNC_WARP_OVERCLOCKED_STS */ | ||
| 5155 | #define ARIZONA_ASRC_SYNC_WARP_OVERCLOCKED_STS_MASK 0x0200 /* ASRC_SYNC_WARP_OVERCLOCKED_STS */ | ||
| 5156 | #define ARIZONA_ASRC_SYNC_WARP_OVERCLOCKED_STS_SHIFT 9 /* ASRC_SYNC_WARP_OVERCLOCKED_STS */ | ||
| 5157 | #define ARIZONA_ASRC_SYNC_WARP_OVERCLOCKED_STS_WIDTH 1 /* ASRC_SYNC_WARP_OVERCLOCKED_STS */ | ||
| 5158 | #define ARIZONA_ADSP2_1_OVERCLOCKED_STS 0x0008 /* ADSP2_1_OVERCLOCKED_STS */ | ||
| 5159 | #define ARIZONA_ADSP2_1_OVERCLOCKED_STS_MASK 0x0008 /* ADSP2_1_OVERCLOCKED_STS */ | ||
| 5160 | #define ARIZONA_ADSP2_1_OVERCLOCKED_STS_SHIFT 3 /* ADSP2_1_OVERCLOCKED_STS */ | ||
| 5161 | #define ARIZONA_ADSP2_1_OVERCLOCKED_STS_WIDTH 1 /* ADSP2_1_OVERCLOCKED_STS */ | ||
| 5162 | #define ARIZONA_ISRC2_OVERCLOCKED_STS 0x0002 /* ISRC2_OVERCLOCKED_STS */ | ||
| 5163 | #define ARIZONA_ISRC2_OVERCLOCKED_STS_MASK 0x0002 /* ISRC2_OVERCLOCKED_STS */ | ||
| 5164 | #define ARIZONA_ISRC2_OVERCLOCKED_STS_SHIFT 1 /* ISRC2_OVERCLOCKED_STS */ | ||
| 5165 | #define ARIZONA_ISRC2_OVERCLOCKED_STS_WIDTH 1 /* ISRC2_OVERCLOCKED_STS */ | ||
| 5166 | #define ARIZONA_ISRC1_OVERCLOCKED_STS 0x0001 /* ISRC1_OVERCLOCKED_STS */ | ||
| 5167 | #define ARIZONA_ISRC1_OVERCLOCKED_STS_MASK 0x0001 /* ISRC1_OVERCLOCKED_STS */ | ||
| 5168 | #define ARIZONA_ISRC1_OVERCLOCKED_STS_SHIFT 0 /* ISRC1_OVERCLOCKED_STS */ | ||
| 5169 | #define ARIZONA_ISRC1_OVERCLOCKED_STS_WIDTH 1 /* ISRC1_OVERCLOCKED_STS */ | ||
| 5170 | |||
| 5171 | /* | ||
| 5172 | * R3366 (0xD26) - Interrupt Raw Status 8 | ||
| 5173 | */ | ||
| 5174 | #define ARIZONA_AIF3_UNDERCLOCKED_STS 0x0400 /* AIF3_UNDERCLOCKED_STS */ | ||
| 5175 | #define ARIZONA_AIF3_UNDERCLOCKED_STS_MASK 0x0400 /* AIF3_UNDERCLOCKED_STS */ | ||
| 5176 | #define ARIZONA_AIF3_UNDERCLOCKED_STS_SHIFT 10 /* AIF3_UNDERCLOCKED_STS */ | ||
| 5177 | #define ARIZONA_AIF3_UNDERCLOCKED_STS_WIDTH 1 /* AIF3_UNDERCLOCKED_STS */ | ||
| 5178 | #define ARIZONA_AIF2_UNDERCLOCKED_STS 0x0200 /* AIF2_UNDERCLOCKED_STS */ | ||
| 5179 | #define ARIZONA_AIF2_UNDERCLOCKED_STS_MASK 0x0200 /* AIF2_UNDERCLOCKED_STS */ | ||
| 5180 | #define ARIZONA_AIF2_UNDERCLOCKED_STS_SHIFT 9 /* AIF2_UNDERCLOCKED_STS */ | ||
| 5181 | #define ARIZONA_AIF2_UNDERCLOCKED_STS_WIDTH 1 /* AIF2_UNDERCLOCKED_STS */ | ||
| 5182 | #define ARIZONA_AIF1_UNDERCLOCKED_STS 0x0100 /* AIF1_UNDERCLOCKED_STS */ | ||
| 5183 | #define ARIZONA_AIF1_UNDERCLOCKED_STS_MASK 0x0100 /* AIF1_UNDERCLOCKED_STS */ | ||
| 5184 | #define ARIZONA_AIF1_UNDERCLOCKED_STS_SHIFT 8 /* AIF1_UNDERCLOCKED_STS */ | ||
| 5185 | #define ARIZONA_AIF1_UNDERCLOCKED_STS_WIDTH 1 /* AIF1_UNDERCLOCKED_STS */ | ||
| 5186 | #define ARIZONA_ISRC2_UNDERCLOCKED_STS 0x0040 /* ISRC2_UNDERCLOCKED_STS */ | ||
| 5187 | #define ARIZONA_ISRC2_UNDERCLOCKED_STS_MASK 0x0040 /* ISRC2_UNDERCLOCKED_STS */ | ||
| 5188 | #define ARIZONA_ISRC2_UNDERCLOCKED_STS_SHIFT 6 /* ISRC2_UNDERCLOCKED_STS */ | ||
| 5189 | #define ARIZONA_ISRC2_UNDERCLOCKED_STS_WIDTH 1 /* ISRC2_UNDERCLOCKED_STS */ | ||
| 5190 | #define ARIZONA_ISRC1_UNDERCLOCKED_STS 0x0020 /* ISRC1_UNDERCLOCKED_STS */ | ||
| 5191 | #define ARIZONA_ISRC1_UNDERCLOCKED_STS_MASK 0x0020 /* ISRC1_UNDERCLOCKED_STS */ | ||
| 5192 | #define ARIZONA_ISRC1_UNDERCLOCKED_STS_SHIFT 5 /* ISRC1_UNDERCLOCKED_STS */ | ||
| 5193 | #define ARIZONA_ISRC1_UNDERCLOCKED_STS_WIDTH 1 /* ISRC1_UNDERCLOCKED_STS */ | ||
| 5194 | #define ARIZONA_FX_UNDERCLOCKED_STS 0x0010 /* FX_UNDERCLOCKED_STS */ | ||
| 5195 | #define ARIZONA_FX_UNDERCLOCKED_STS_MASK 0x0010 /* FX_UNDERCLOCKED_STS */ | ||
| 5196 | #define ARIZONA_FX_UNDERCLOCKED_STS_SHIFT 4 /* FX_UNDERCLOCKED_STS */ | ||
| 5197 | #define ARIZONA_FX_UNDERCLOCKED_STS_WIDTH 1 /* FX_UNDERCLOCKED_STS */ | ||
| 5198 | #define ARIZONA_ASRC_UNDERCLOCKED_STS 0x0008 /* ASRC_UNDERCLOCKED_STS */ | ||
| 5199 | #define ARIZONA_ASRC_UNDERCLOCKED_STS_MASK 0x0008 /* ASRC_UNDERCLOCKED_STS */ | ||
| 5200 | #define ARIZONA_ASRC_UNDERCLOCKED_STS_SHIFT 3 /* ASRC_UNDERCLOCKED_STS */ | ||
| 5201 | #define ARIZONA_ASRC_UNDERCLOCKED_STS_WIDTH 1 /* ASRC_UNDERCLOCKED_STS */ | ||
| 5202 | #define ARIZONA_DAC_UNDERCLOCKED_STS 0x0004 /* DAC_UNDERCLOCKED_STS */ | ||
| 5203 | #define ARIZONA_DAC_UNDERCLOCKED_STS_MASK 0x0004 /* DAC_UNDERCLOCKED_STS */ | ||
| 5204 | #define ARIZONA_DAC_UNDERCLOCKED_STS_SHIFT 2 /* DAC_UNDERCLOCKED_STS */ | ||
| 5205 | #define ARIZONA_DAC_UNDERCLOCKED_STS_WIDTH 1 /* DAC_UNDERCLOCKED_STS */ | ||
| 5206 | #define ARIZONA_ADC_UNDERCLOCKED_STS 0x0002 /* ADC_UNDERCLOCKED_STS */ | ||
| 5207 | #define ARIZONA_ADC_UNDERCLOCKED_STS_MASK 0x0002 /* ADC_UNDERCLOCKED_STS */ | ||
| 5208 | #define ARIZONA_ADC_UNDERCLOCKED_STS_SHIFT 1 /* ADC_UNDERCLOCKED_STS */ | ||
| 5209 | #define ARIZONA_ADC_UNDERCLOCKED_STS_WIDTH 1 /* ADC_UNDERCLOCKED_STS */ | ||
| 5210 | #define ARIZONA_MIXER_UNDERCLOCKED_STS 0x0001 /* MIXER_UNDERCLOCKED_STS */ | ||
| 5211 | #define ARIZONA_MIXER_UNDERCLOCKED_STS_MASK 0x0001 /* MIXER_UNDERCLOCKED_STS */ | ||
| 5212 | #define ARIZONA_MIXER_UNDERCLOCKED_STS_SHIFT 0 /* MIXER_UNDERCLOCKED_STS */ | ||
| 5213 | #define ARIZONA_MIXER_UNDERCLOCKED_STS_WIDTH 1 /* MIXER_UNDERCLOCKED_STS */ | ||
| 5214 | |||
| 5215 | /* | ||
| 5216 | * R3392 (0xD40) - IRQ Pin Status | ||
| 5217 | */ | ||
| 5218 | #define ARIZONA_IRQ2_STS 0x0002 /* IRQ2_STS */ | ||
| 5219 | #define ARIZONA_IRQ2_STS_MASK 0x0002 /* IRQ2_STS */ | ||
| 5220 | #define ARIZONA_IRQ2_STS_SHIFT 1 /* IRQ2_STS */ | ||
| 5221 | #define ARIZONA_IRQ2_STS_WIDTH 1 /* IRQ2_STS */ | ||
| 5222 | #define ARIZONA_IRQ1_STS 0x0001 /* IRQ1_STS */ | ||
| 5223 | #define ARIZONA_IRQ1_STS_MASK 0x0001 /* IRQ1_STS */ | ||
| 5224 | #define ARIZONA_IRQ1_STS_SHIFT 0 /* IRQ1_STS */ | ||
| 5225 | #define ARIZONA_IRQ1_STS_WIDTH 1 /* IRQ1_STS */ | ||
| 5226 | |||
| 5227 | /* | ||
| 5228 | * R3393 (0xD41) - ADSP2 IRQ0 | ||
| 5229 | */ | ||
| 5230 | #define ARIZONA_DSP_IRQ2 0x0002 /* DSP_IRQ2 */ | ||
| 5231 | #define ARIZONA_DSP_IRQ2_MASK 0x0002 /* DSP_IRQ2 */ | ||
| 5232 | #define ARIZONA_DSP_IRQ2_SHIFT 1 /* DSP_IRQ2 */ | ||
| 5233 | #define ARIZONA_DSP_IRQ2_WIDTH 1 /* DSP_IRQ2 */ | ||
| 5234 | #define ARIZONA_DSP_IRQ1 0x0001 /* DSP_IRQ1 */ | ||
| 5235 | #define ARIZONA_DSP_IRQ1_MASK 0x0001 /* DSP_IRQ1 */ | ||
| 5236 | #define ARIZONA_DSP_IRQ1_SHIFT 0 /* DSP_IRQ1 */ | ||
| 5237 | #define ARIZONA_DSP_IRQ1_WIDTH 1 /* DSP_IRQ1 */ | ||
| 5238 | |||
| 5239 | /* | ||
| 5240 | * R3408 (0xD50) - AOD wkup and trig | ||
| 5241 | */ | ||
| 5242 | #define ARIZONA_GP5_FALL_TRIG_STS 0x0020 /* GP5_FALL_TRIG_STS */ | ||
| 5243 | #define ARIZONA_GP5_FALL_TRIG_STS_MASK 0x0020 /* GP5_FALL_TRIG_STS */ | ||
| 5244 | #define ARIZONA_GP5_FALL_TRIG_STS_SHIFT 5 /* GP5_FALL_TRIG_STS */ | ||
| 5245 | #define ARIZONA_GP5_FALL_TRIG_STS_WIDTH 1 /* GP5_FALL_TRIG_STS */ | ||
| 5246 | #define ARIZONA_GP5_RISE_TRIG_STS 0x0010 /* GP5_RISE_TRIG_STS */ | ||
| 5247 | #define ARIZONA_GP5_RISE_TRIG_STS_MASK 0x0010 /* GP5_RISE_TRIG_STS */ | ||
| 5248 | #define ARIZONA_GP5_RISE_TRIG_STS_SHIFT 4 /* GP5_RISE_TRIG_STS */ | ||
| 5249 | #define ARIZONA_GP5_RISE_TRIG_STS_WIDTH 1 /* GP5_RISE_TRIG_STS */ | ||
| 5250 | #define ARIZONA_JD1_FALL_TRIG_STS 0x0008 /* JD1_FALL_TRIG_STS */ | ||
| 5251 | #define ARIZONA_JD1_FALL_TRIG_STS_MASK 0x0008 /* JD1_FALL_TRIG_STS */ | ||
| 5252 | #define ARIZONA_JD1_FALL_TRIG_STS_SHIFT 3 /* JD1_FALL_TRIG_STS */ | ||
| 5253 | #define ARIZONA_JD1_FALL_TRIG_STS_WIDTH 1 /* JD1_FALL_TRIG_STS */ | ||
| 5254 | #define ARIZONA_JD1_RISE_TRIG_STS 0x0004 /* JD1_RISE_TRIG_STS */ | ||
| 5255 | #define ARIZONA_JD1_RISE_TRIG_STS_MASK 0x0004 /* JD1_RISE_TRIG_STS */ | ||
| 5256 | #define ARIZONA_JD1_RISE_TRIG_STS_SHIFT 2 /* JD1_RISE_TRIG_STS */ | ||
| 5257 | #define ARIZONA_JD1_RISE_TRIG_STS_WIDTH 1 /* JD1_RISE_TRIG_STS */ | ||
| 5258 | #define ARIZONA_JD2_FALL_TRIG_STS 0x0002 /* JD2_FALL_TRIG_STS */ | ||
| 5259 | #define ARIZONA_JD2_FALL_TRIG_STS_MASK 0x0002 /* JD2_FALL_TRIG_STS */ | ||
| 5260 | #define ARIZONA_JD2_FALL_TRIG_STS_SHIFT 1 /* JD2_FALL_TRIG_STS */ | ||
| 5261 | #define ARIZONA_JD2_FALL_TRIG_STS_WIDTH 1 /* JD2_FALL_TRIG_STS */ | ||
| 5262 | #define ARIZONA_JD2_RISE_TRIG_STS 0x0001 /* JD2_RISE_TRIG_STS */ | ||
| 5263 | #define ARIZONA_JD2_RISE_TRIG_STS_MASK 0x0001 /* JD2_RISE_TRIG_STS */ | ||
| 5264 | #define ARIZONA_JD2_RISE_TRIG_STS_SHIFT 0 /* JD2_RISE_TRIG_STS */ | ||
| 5265 | #define ARIZONA_JD2_RISE_TRIG_STS_WIDTH 1 /* JD2_RISE_TRIG_STS */ | ||
| 5266 | |||
| 5267 | /* | ||
| 5268 | * R3409 (0xD51) - AOD IRQ1 | ||
| 5269 | */ | ||
| 5270 | #define ARIZONA_GP5_FALL_EINT1 0x0020 /* GP5_FALL_EINT1 */ | ||
| 5271 | #define ARIZONA_GP5_FALL_EINT1_MASK 0x0020 /* GP5_FALL_EINT1 */ | ||
| 5272 | #define ARIZONA_GP5_FALL_EINT1_SHIFT 5 /* GP5_FALL_EINT1 */ | ||
| 5273 | #define ARIZONA_GP5_FALL_EINT1_WIDTH 1 /* GP5_FALL_EINT1 */ | ||
| 5274 | #define ARIZONA_GP5_RISE_EINT1 0x0010 /* GP5_RISE_EINT1 */ | ||
| 5275 | #define ARIZONA_GP5_RISE_EINT1_MASK 0x0010 /* GP5_RISE_EINT1 */ | ||
| 5276 | #define ARIZONA_GP5_RISE_EINT1_SHIFT 4 /* GP5_RISE_EINT1 */ | ||
| 5277 | #define ARIZONA_GP5_RISE_EINT1_WIDTH 1 /* GP5_RISE_EINT1 */ | ||
| 5278 | #define ARIZONA_JD1_FALL_EINT1 0x0008 /* JD1_FALL_EINT1 */ | ||
| 5279 | #define ARIZONA_JD1_FALL_EINT1_MASK 0x0008 /* JD1_FALL_EINT1 */ | ||
| 5280 | #define ARIZONA_JD1_FALL_EINT1_SHIFT 3 /* JD1_FALL_EINT1 */ | ||
| 5281 | #define ARIZONA_JD1_FALL_EINT1_WIDTH 1 /* JD1_FALL_EINT1 */ | ||
| 5282 | #define ARIZONA_JD1_RISE_EINT1 0x0004 /* JD1_RISE_EINT1 */ | ||
| 5283 | #define ARIZONA_JD1_RISE_EINT1_MASK 0x0004 /* JD1_RISE_EINT1 */ | ||
| 5284 | #define ARIZONA_JD1_RISE_EINT1_SHIFT 2 /* JD1_RISE_EINT1 */ | ||
| 5285 | #define ARIZONA_JD1_RISE_EINT1_WIDTH 1 /* JD1_RISE_EINT1 */ | ||
| 5286 | #define ARIZONA_JD2_FALL_EINT1 0x0002 /* JD2_FALL_EINT1 */ | ||
| 5287 | #define ARIZONA_JD2_FALL_EINT1_MASK 0x0002 /* JD2_FALL_EINT1 */ | ||
| 5288 | #define ARIZONA_JD2_FALL_EINT1_SHIFT 1 /* JD2_FALL_EINT1 */ | ||
| 5289 | #define ARIZONA_JD2_FALL_EINT1_WIDTH 1 /* JD2_FALL_EINT1 */ | ||
| 5290 | #define ARIZONA_JD2_RISE_EINT1 0x0001 /* JD2_RISE_EINT1 */ | ||
| 5291 | #define ARIZONA_JD2_RISE_EINT1_MASK 0x0001 /* JD2_RISE_EINT1 */ | ||
| 5292 | #define ARIZONA_JD2_RISE_EINT1_SHIFT 0 /* JD2_RISE_EINT1 */ | ||
| 5293 | #define ARIZONA_JD2_RISE_EINT1_WIDTH 1 /* JD2_RISE_EINT1 */ | ||
| 5294 | |||
| 5295 | /* | ||
| 5296 | * R3410 (0xD52) - AOD IRQ2 | ||
| 5297 | */ | ||
| 5298 | #define ARIZONA_GP5_FALL_EINT2 0x0020 /* GP5_FALL_EINT2 */ | ||
| 5299 | #define ARIZONA_GP5_FALL_EINT2_MASK 0x0020 /* GP5_FALL_EINT2 */ | ||
| 5300 | #define ARIZONA_GP5_FALL_EINT2_SHIFT 5 /* GP5_FALL_EINT2 */ | ||
| 5301 | #define ARIZONA_GP5_FALL_EINT2_WIDTH 1 /* GP5_FALL_EINT2 */ | ||
| 5302 | #define ARIZONA_GP5_RISE_EINT2 0x0010 /* GP5_RISE_EINT2 */ | ||
| 5303 | #define ARIZONA_GP5_RISE_EINT2_MASK 0x0010 /* GP5_RISE_EINT2 */ | ||
| 5304 | #define ARIZONA_GP5_RISE_EINT2_SHIFT 4 /* GP5_RISE_EINT2 */ | ||
| 5305 | #define ARIZONA_GP5_RISE_EINT2_WIDTH 1 /* GP5_RISE_EINT2 */ | ||
| 5306 | #define ARIZONA_JD1_FALL_EINT2 0x0008 /* JD1_FALL_EINT2 */ | ||
| 5307 | #define ARIZONA_JD1_FALL_EINT2_MASK 0x0008 /* JD1_FALL_EINT2 */ | ||
| 5308 | #define ARIZONA_JD1_FALL_EINT2_SHIFT 3 /* JD1_FALL_EINT2 */ | ||
| 5309 | #define ARIZONA_JD1_FALL_EINT2_WIDTH 1 /* JD1_FALL_EINT2 */ | ||
| 5310 | #define ARIZONA_JD1_RISE_EINT2 0x0004 /* JD1_RISE_EINT2 */ | ||
| 5311 | #define ARIZONA_JD1_RISE_EINT2_MASK 0x0004 /* JD1_RISE_EINT2 */ | ||
| 5312 | #define ARIZONA_JD1_RISE_EINT2_SHIFT 2 /* JD1_RISE_EINT2 */ | ||
| 5313 | #define ARIZONA_JD1_RISE_EINT2_WIDTH 1 /* JD1_RISE_EINT2 */ | ||
| 5314 | #define ARIZONA_JD2_FALL_EINT2 0x0002 /* JD2_FALL_EINT2 */ | ||
| 5315 | #define ARIZONA_JD2_FALL_EINT2_MASK 0x0002 /* JD2_FALL_EINT2 */ | ||
| 5316 | #define ARIZONA_JD2_FALL_EINT2_SHIFT 1 /* JD2_FALL_EINT2 */ | ||
| 5317 | #define ARIZONA_JD2_FALL_EINT2_WIDTH 1 /* JD2_FALL_EINT2 */ | ||
| 5318 | #define ARIZONA_JD2_RISE_EINT2 0x0001 /* JD2_RISE_EINT2 */ | ||
| 5319 | #define ARIZONA_JD2_RISE_EINT2_MASK 0x0001 /* JD2_RISE_EINT2 */ | ||
| 5320 | #define ARIZONA_JD2_RISE_EINT2_SHIFT 0 /* JD2_RISE_EINT2 */ | ||
| 5321 | #define ARIZONA_JD2_RISE_EINT2_WIDTH 1 /* JD2_RISE_EINT2 */ | ||
| 5322 | |||
| 5323 | /* | ||
| 5324 | * R3411 (0xD53) - AOD IRQ Mask IRQ1 | ||
| 5325 | */ | ||
| 5326 | #define ARIZONA_IM_GP5_FALL_EINT1 0x0020 /* IM_GP5_FALL_EINT1 */ | ||
| 5327 | #define ARIZONA_IM_GP5_FALL_EINT1_MASK 0x0020 /* IM_GP5_FALL_EINT1 */ | ||
| 5328 | #define ARIZONA_IM_GP5_FALL_EINT1_SHIFT 5 /* IM_GP5_FALL_EINT1 */ | ||
| 5329 | #define ARIZONA_IM_GP5_FALL_EINT1_WIDTH 1 /* IM_GP5_FALL_EINT1 */ | ||
| 5330 | #define ARIZONA_IM_GP5_RISE_EINT1 0x0010 /* IM_GP5_RISE_EINT1 */ | ||
| 5331 | #define ARIZONA_IM_GP5_RISE_EINT1_MASK 0x0010 /* IM_GP5_RISE_EINT1 */ | ||
| 5332 | #define ARIZONA_IM_GP5_RISE_EINT1_SHIFT 4 /* IM_GP5_RISE_EINT1 */ | ||
| 5333 | #define ARIZONA_IM_GP5_RISE_EINT1_WIDTH 1 /* IM_GP5_RISE_EINT1 */ | ||
| 5334 | #define ARIZONA_IM_JD1_FALL_EINT1 0x0008 /* IM_JD1_FALL_EINT1 */ | ||
| 5335 | #define ARIZONA_IM_JD1_FALL_EINT1_MASK 0x0008 /* IM_JD1_FALL_EINT1 */ | ||
| 5336 | #define ARIZONA_IM_JD1_FALL_EINT1_SHIFT 3 /* IM_JD1_FALL_EINT1 */ | ||
| 5337 | #define ARIZONA_IM_JD1_FALL_EINT1_WIDTH 1 /* IM_JD1_FALL_EINT1 */ | ||
| 5338 | #define ARIZONA_IM_JD1_RISE_EINT1 0x0004 /* IM_JD1_RISE_EINT1 */ | ||
| 5339 | #define ARIZONA_IM_JD1_RISE_EINT1_MASK 0x0004 /* IM_JD1_RISE_EINT1 */ | ||
| 5340 | #define ARIZONA_IM_JD1_RISE_EINT1_SHIFT 2 /* IM_JD1_RISE_EINT1 */ | ||
| 5341 | #define ARIZONA_IM_JD1_RISE_EINT1_WIDTH 1 /* IM_JD1_RISE_EINT1 */ | ||
| 5342 | #define ARIZONA_IM_JD2_FALL_EINT1 0x0002 /* IM_JD2_FALL_EINT1 */ | ||
| 5343 | #define ARIZONA_IM_JD2_FALL_EINT1_MASK 0x0002 /* IM_JD2_FALL_EINT1 */ | ||
| 5344 | #define ARIZONA_IM_JD2_FALL_EINT1_SHIFT 1 /* IM_JD2_FALL_EINT1 */ | ||
| 5345 | #define ARIZONA_IM_JD2_FALL_EINT1_WIDTH 1 /* IM_JD2_FALL_EINT1 */ | ||
| 5346 | #define ARIZONA_IM_JD2_RISE_EINT1 0x0001 /* IM_JD2_RISE_EINT1 */ | ||
| 5347 | #define ARIZONA_IM_JD2_RISE_EINT1_MASK 0x0001 /* IM_JD2_RISE_EINT1 */ | ||
| 5348 | #define ARIZONA_IM_JD2_RISE_EINT1_SHIFT 0 /* IM_JD2_RISE_EINT1 */ | ||
| 5349 | #define ARIZONA_IM_JD2_RISE_EINT1_WIDTH 1 /* IM_JD2_RISE_EINT1 */ | ||
| 5350 | |||
| 5351 | /* | ||
| 5352 | * R3412 (0xD54) - AOD IRQ Mask IRQ2 | ||
| 5353 | */ | ||
| 5354 | #define ARIZONA_IM_GP5_FALL_EINT2 0x0020 /* IM_GP5_FALL_EINT2 */ | ||
| 5355 | #define ARIZONA_IM_GP5_FALL_EINT2_MASK 0x0020 /* IM_GP5_FALL_EINT2 */ | ||
| 5356 | #define ARIZONA_IM_GP5_FALL_EINT2_SHIFT 5 /* IM_GP5_FALL_EINT2 */ | ||
| 5357 | #define ARIZONA_IM_GP5_FALL_EINT2_WIDTH 1 /* IM_GP5_FALL_EINT2 */ | ||
| 5358 | #define ARIZONA_IM_GP5_RISE_EINT2 0x0010 /* IM_GP5_RISE_EINT2 */ | ||
| 5359 | #define ARIZONA_IM_GP5_RISE_EINT2_MASK 0x0010 /* IM_GP5_RISE_EINT2 */ | ||
| 5360 | #define ARIZONA_IM_GP5_RISE_EINT2_SHIFT 4 /* IM_GP5_RISE_EINT2 */ | ||
| 5361 | #define ARIZONA_IM_GP5_RISE_EINT2_WIDTH 1 /* IM_GP5_RISE_EINT2 */ | ||
| 5362 | #define ARIZONA_IM_JD1_FALL_EINT2 0x0008 /* IM_JD1_FALL_EINT2 */ | ||
| 5363 | #define ARIZONA_IM_JD1_FALL_EINT2_MASK 0x0008 /* IM_JD1_FALL_EINT2 */ | ||
| 5364 | #define ARIZONA_IM_JD1_FALL_EINT2_SHIFT 3 /* IM_JD1_FALL_EINT2 */ | ||
| 5365 | #define ARIZONA_IM_JD1_FALL_EINT2_WIDTH 1 /* IM_JD1_FALL_EINT2 */ | ||
| 5366 | #define ARIZONA_IM_JD1_RISE_EINT2 0x0004 /* IM_JD1_RISE_EINT2 */ | ||
| 5367 | #define ARIZONA_IM_JD1_RISE_EINT2_MASK 0x0004 /* IM_JD1_RISE_EINT2 */ | ||
| 5368 | #define ARIZONA_IM_JD1_RISE_EINT2_SHIFT 2 /* IM_JD1_RISE_EINT2 */ | ||
| 5369 | #define ARIZONA_IM_JD1_RISE_EINT2_WIDTH 1 /* IM_JD1_RISE_EINT2 */ | ||
| 5370 | #define ARIZONA_IM_JD2_FALL_EINT2 0x0002 /* IM_JD2_FALL_EINT2 */ | ||
| 5371 | #define ARIZONA_IM_JD2_FALL_EINT2_MASK 0x0002 /* IM_JD2_FALL_EINT2 */ | ||
| 5372 | #define ARIZONA_IM_JD2_FALL_EINT2_SHIFT 1 /* IM_JD2_FALL_EINT2 */ | ||
| 5373 | #define ARIZONA_IM_JD2_FALL_EINT2_WIDTH 1 /* IM_JD2_FALL_EINT2 */ | ||
| 5374 | #define ARIZONA_IM_JD2_RISE_EINT2 0x0001 /* IM_JD2_RISE_EINT2 */ | ||
| 5375 | #define ARIZONA_IM_JD2_RISE_EINT2_MASK 0x0001 /* IM_JD2_RISE_EINT2 */ | ||
| 5376 | #define ARIZONA_IM_JD2_RISE_EINT2_SHIFT 0 /* IM_JD2_RISE_EINT2 */ | ||
| 5377 | #define ARIZONA_IM_JD2_RISE_EINT2_WIDTH 1 /* IM_JD2_RISE_EINT2 */ | ||
| 5378 | |||
| 5379 | /* | ||
| 5380 | * R3413 (0xD55) - AOD IRQ Raw Status | ||
| 5381 | */ | ||
| 5382 | #define ARIZONA_GP5_STS 0x0004 /* GP5_STS */ | ||
| 5383 | #define ARIZONA_GP5_STS_MASK 0x0004 /* GP5_STS */ | ||
| 5384 | #define ARIZONA_GP5_STS_SHIFT 2 /* GP5_STS */ | ||
| 5385 | #define ARIZONA_GP5_STS_WIDTH 1 /* GP5_STS */ | ||
| 5386 | #define ARIZONA_JD2_STS 0x0002 /* JD2_STS */ | ||
| 5387 | #define ARIZONA_JD2_STS_MASK 0x0002 /* JD2_STS */ | ||
| 5388 | #define ARIZONA_JD2_STS_SHIFT 1 /* JD2_STS */ | ||
| 5389 | #define ARIZONA_JD2_STS_WIDTH 1 /* JD2_STS */ | ||
| 5390 | #define ARIZONA_JD1_STS 0x0001 /* JD1_STS */ | ||
| 5391 | #define ARIZONA_JD1_STS_MASK 0x0001 /* JD1_STS */ | ||
| 5392 | #define ARIZONA_JD1_STS_SHIFT 0 /* JD1_STS */ | ||
| 5393 | #define ARIZONA_JD1_STS_WIDTH 1 /* JD1_STS */ | ||
| 5394 | |||
| 5395 | /* | ||
| 5396 | * R3414 (0xD56) - Jack detect debounce | ||
| 5397 | */ | ||
| 5398 | #define ARIZONA_JD2_DB 0x0002 /* JD2_DB */ | ||
| 5399 | #define ARIZONA_JD2_DB_MASK 0x0002 /* JD2_DB */ | ||
| 5400 | #define ARIZONA_JD2_DB_SHIFT 1 /* JD2_DB */ | ||
| 5401 | #define ARIZONA_JD2_DB_WIDTH 1 /* JD2_DB */ | ||
| 5402 | #define ARIZONA_JD1_DB 0x0001 /* JD1_DB */ | ||
| 5403 | #define ARIZONA_JD1_DB_MASK 0x0001 /* JD1_DB */ | ||
| 5404 | #define ARIZONA_JD1_DB_SHIFT 0 /* JD1_DB */ | ||
| 5405 | #define ARIZONA_JD1_DB_WIDTH 1 /* JD1_DB */ | ||
| 5406 | |||
| 5407 | /* | ||
| 5408 | * R3584 (0xE00) - FX_Ctrl1 | ||
| 5409 | */ | ||
| 5410 | #define ARIZONA_FX_RATE_MASK 0x7800 /* FX_RATE - [14:11] */ | ||
| 5411 | #define ARIZONA_FX_RATE_SHIFT 11 /* FX_RATE - [14:11] */ | ||
| 5412 | #define ARIZONA_FX_RATE_WIDTH 4 /* FX_RATE - [14:11] */ | ||
| 5413 | |||
| 5414 | /* | ||
| 5415 | * R3585 (0xE01) - FX_Ctrl2 | ||
| 5416 | */ | ||
| 5417 | #define ARIZONA_FX_STS_MASK 0xFFF0 /* FX_STS - [15:4] */ | ||
| 5418 | #define ARIZONA_FX_STS_SHIFT 4 /* FX_STS - [15:4] */ | ||
| 5419 | #define ARIZONA_FX_STS_WIDTH 12 /* FX_STS - [15:4] */ | ||
| 5420 | |||
| 5421 | /* | ||
| 5422 | * R3600 (0xE10) - EQ1_1 | ||
| 5423 | */ | ||
| 5424 | #define ARIZONA_EQ1_B1_GAIN_MASK 0xF800 /* EQ1_B1_GAIN - [15:11] */ | ||
| 5425 | #define ARIZONA_EQ1_B1_GAIN_SHIFT 11 /* EQ1_B1_GAIN - [15:11] */ | ||
| 5426 | #define ARIZONA_EQ1_B1_GAIN_WIDTH 5 /* EQ1_B1_GAIN - [15:11] */ | ||
| 5427 | #define ARIZONA_EQ1_B2_GAIN_MASK 0x07C0 /* EQ1_B2_GAIN - [10:6] */ | ||
| 5428 | #define ARIZONA_EQ1_B2_GAIN_SHIFT 6 /* EQ1_B2_GAIN - [10:6] */ | ||
| 5429 | #define ARIZONA_EQ1_B2_GAIN_WIDTH 5 /* EQ1_B2_GAIN - [10:6] */ | ||
| 5430 | #define ARIZONA_EQ1_B3_GAIN_MASK 0x003E /* EQ1_B3_GAIN - [5:1] */ | ||
| 5431 | #define ARIZONA_EQ1_B3_GAIN_SHIFT 1 /* EQ1_B3_GAIN - [5:1] */ | ||
| 5432 | #define ARIZONA_EQ1_B3_GAIN_WIDTH 5 /* EQ1_B3_GAIN - [5:1] */ | ||
| 5433 | #define ARIZONA_EQ1_ENA 0x0001 /* EQ1_ENA */ | ||
| 5434 | #define ARIZONA_EQ1_ENA_MASK 0x0001 /* EQ1_ENA */ | ||
| 5435 | #define ARIZONA_EQ1_ENA_SHIFT 0 /* EQ1_ENA */ | ||
| 5436 | #define ARIZONA_EQ1_ENA_WIDTH 1 /* EQ1_ENA */ | ||
| 5437 | |||
| 5438 | /* | ||
| 5439 | * R3601 (0xE11) - EQ1_2 | ||
| 5440 | */ | ||
| 5441 | #define ARIZONA_EQ1_B4_GAIN_MASK 0xF800 /* EQ1_B4_GAIN - [15:11] */ | ||
| 5442 | #define ARIZONA_EQ1_B4_GAIN_SHIFT 11 /* EQ1_B4_GAIN - [15:11] */ | ||
| 5443 | #define ARIZONA_EQ1_B4_GAIN_WIDTH 5 /* EQ1_B4_GAIN - [15:11] */ | ||
| 5444 | #define ARIZONA_EQ1_B5_GAIN_MASK 0x07C0 /* EQ1_B5_GAIN - [10:6] */ | ||
| 5445 | #define ARIZONA_EQ1_B5_GAIN_SHIFT 6 /* EQ1_B5_GAIN - [10:6] */ | ||
| 5446 | #define ARIZONA_EQ1_B5_GAIN_WIDTH 5 /* EQ1_B5_GAIN - [10:6] */ | ||
| 5447 | #define ARIZONA_EQ1_B1_MODE 0x0001 /* EQ1_B1_MODE */ | ||
| 5448 | #define ARIZONA_EQ1_B1_MODE_MASK 0x0001 /* EQ1_B1_MODE */ | ||
| 5449 | #define ARIZONA_EQ1_B1_MODE_SHIFT 0 /* EQ1_B1_MODE */ | ||
| 5450 | #define ARIZONA_EQ1_B1_MODE_WIDTH 1 /* EQ1_B1_MODE */ | ||
| 5451 | |||
| 5452 | /* | ||
| 5453 | * R3602 (0xE12) - EQ1_3 | ||
| 5454 | */ | ||
| 5455 | #define ARIZONA_EQ1_B1_A_MASK 0xFFFF /* EQ1_B1_A - [15:0] */ | ||
| 5456 | #define ARIZONA_EQ1_B1_A_SHIFT 0 /* EQ1_B1_A - [15:0] */ | ||
| 5457 | #define ARIZONA_EQ1_B1_A_WIDTH 16 /* EQ1_B1_A - [15:0] */ | ||
| 5458 | |||
| 5459 | /* | ||
| 5460 | * R3603 (0xE13) - EQ1_4 | ||
| 5461 | */ | ||
| 5462 | #define ARIZONA_EQ1_B1_B_MASK 0xFFFF /* EQ1_B1_B - [15:0] */ | ||
| 5463 | #define ARIZONA_EQ1_B1_B_SHIFT 0 /* EQ1_B1_B - [15:0] */ | ||
| 5464 | #define ARIZONA_EQ1_B1_B_WIDTH 16 /* EQ1_B1_B - [15:0] */ | ||
| 5465 | |||
| 5466 | /* | ||
| 5467 | * R3604 (0xE14) - EQ1_5 | ||
| 5468 | */ | ||
| 5469 | #define ARIZONA_EQ1_B1_PG_MASK 0xFFFF /* EQ1_B1_PG - [15:0] */ | ||
| 5470 | #define ARIZONA_EQ1_B1_PG_SHIFT 0 /* EQ1_B1_PG - [15:0] */ | ||
| 5471 | #define ARIZONA_EQ1_B1_PG_WIDTH 16 /* EQ1_B1_PG - [15:0] */ | ||
| 5472 | |||
| 5473 | /* | ||
| 5474 | * R3605 (0xE15) - EQ1_6 | ||
| 5475 | */ | ||
| 5476 | #define ARIZONA_EQ1_B2_A_MASK 0xFFFF /* EQ1_B2_A - [15:0] */ | ||
| 5477 | #define ARIZONA_EQ1_B2_A_SHIFT 0 /* EQ1_B2_A - [15:0] */ | ||
| 5478 | #define ARIZONA_EQ1_B2_A_WIDTH 16 /* EQ1_B2_A - [15:0] */ | ||
| 5479 | |||
| 5480 | /* | ||
| 5481 | * R3606 (0xE16) - EQ1_7 | ||
| 5482 | */ | ||
| 5483 | #define ARIZONA_EQ1_B2_B_MASK 0xFFFF /* EQ1_B2_B - [15:0] */ | ||
| 5484 | #define ARIZONA_EQ1_B2_B_SHIFT 0 /* EQ1_B2_B - [15:0] */ | ||
| 5485 | #define ARIZONA_EQ1_B2_B_WIDTH 16 /* EQ1_B2_B - [15:0] */ | ||
| 5486 | |||
| 5487 | /* | ||
| 5488 | * R3607 (0xE17) - EQ1_8 | ||
| 5489 | */ | ||
| 5490 | #define ARIZONA_EQ1_B2_C_MASK 0xFFFF /* EQ1_B2_C - [15:0] */ | ||
| 5491 | #define ARIZONA_EQ1_B2_C_SHIFT 0 /* EQ1_B2_C - [15:0] */ | ||
| 5492 | #define ARIZONA_EQ1_B2_C_WIDTH 16 /* EQ1_B2_C - [15:0] */ | ||
| 5493 | |||
| 5494 | /* | ||
| 5495 | * R3608 (0xE18) - EQ1_9 | ||
| 5496 | */ | ||
| 5497 | #define ARIZONA_EQ1_B2_PG_MASK 0xFFFF /* EQ1_B2_PG - [15:0] */ | ||
| 5498 | #define ARIZONA_EQ1_B2_PG_SHIFT 0 /* EQ1_B2_PG - [15:0] */ | ||
| 5499 | #define ARIZONA_EQ1_B2_PG_WIDTH 16 /* EQ1_B2_PG - [15:0] */ | ||
| 5500 | |||
| 5501 | /* | ||
| 5502 | * R3609 (0xE19) - EQ1_10 | ||
| 5503 | */ | ||
| 5504 | #define ARIZONA_EQ1_B3_A_MASK 0xFFFF /* EQ1_B3_A - [15:0] */ | ||
| 5505 | #define ARIZONA_EQ1_B3_A_SHIFT 0 /* EQ1_B3_A - [15:0] */ | ||
| 5506 | #define ARIZONA_EQ1_B3_A_WIDTH 16 /* EQ1_B3_A - [15:0] */ | ||
| 5507 | |||
| 5508 | /* | ||
| 5509 | * R3610 (0xE1A) - EQ1_11 | ||
| 5510 | */ | ||
| 5511 | #define ARIZONA_EQ1_B3_B_MASK 0xFFFF /* EQ1_B3_B - [15:0] */ | ||
| 5512 | #define ARIZONA_EQ1_B3_B_SHIFT 0 /* EQ1_B3_B - [15:0] */ | ||
| 5513 | #define ARIZONA_EQ1_B3_B_WIDTH 16 /* EQ1_B3_B - [15:0] */ | ||
| 5514 | |||
| 5515 | /* | ||
| 5516 | * R3611 (0xE1B) - EQ1_12 | ||
| 5517 | */ | ||
| 5518 | #define ARIZONA_EQ1_B3_C_MASK 0xFFFF /* EQ1_B3_C - [15:0] */ | ||
| 5519 | #define ARIZONA_EQ1_B3_C_SHIFT 0 /* EQ1_B3_C - [15:0] */ | ||
| 5520 | #define ARIZONA_EQ1_B3_C_WIDTH 16 /* EQ1_B3_C - [15:0] */ | ||
| 5521 | |||
| 5522 | /* | ||
| 5523 | * R3612 (0xE1C) - EQ1_13 | ||
| 5524 | */ | ||
| 5525 | #define ARIZONA_EQ1_B3_PG_MASK 0xFFFF /* EQ1_B3_PG - [15:0] */ | ||
| 5526 | #define ARIZONA_EQ1_B3_PG_SHIFT 0 /* EQ1_B3_PG - [15:0] */ | ||
| 5527 | #define ARIZONA_EQ1_B3_PG_WIDTH 16 /* EQ1_B3_PG - [15:0] */ | ||
| 5528 | |||
| 5529 | /* | ||
| 5530 | * R3613 (0xE1D) - EQ1_14 | ||
| 5531 | */ | ||
| 5532 | #define ARIZONA_EQ1_B4_A_MASK 0xFFFF /* EQ1_B4_A - [15:0] */ | ||
| 5533 | #define ARIZONA_EQ1_B4_A_SHIFT 0 /* EQ1_B4_A - [15:0] */ | ||
| 5534 | #define ARIZONA_EQ1_B4_A_WIDTH 16 /* EQ1_B4_A - [15:0] */ | ||
| 5535 | |||
| 5536 | /* | ||
| 5537 | * R3614 (0xE1E) - EQ1_15 | ||
| 5538 | */ | ||
| 5539 | #define ARIZONA_EQ1_B4_B_MASK 0xFFFF /* EQ1_B4_B - [15:0] */ | ||
| 5540 | #define ARIZONA_EQ1_B4_B_SHIFT 0 /* EQ1_B4_B - [15:0] */ | ||
| 5541 | #define ARIZONA_EQ1_B4_B_WIDTH 16 /* EQ1_B4_B - [15:0] */ | ||
| 5542 | |||
| 5543 | /* | ||
| 5544 | * R3615 (0xE1F) - EQ1_16 | ||
| 5545 | */ | ||
| 5546 | #define ARIZONA_EQ1_B4_C_MASK 0xFFFF /* EQ1_B4_C - [15:0] */ | ||
| 5547 | #define ARIZONA_EQ1_B4_C_SHIFT 0 /* EQ1_B4_C - [15:0] */ | ||
| 5548 | #define ARIZONA_EQ1_B4_C_WIDTH 16 /* EQ1_B4_C - [15:0] */ | ||
| 5549 | |||
| 5550 | /* | ||
| 5551 | * R3616 (0xE20) - EQ1_17 | ||
| 5552 | */ | ||
| 5553 | #define ARIZONA_EQ1_B4_PG_MASK 0xFFFF /* EQ1_B4_PG - [15:0] */ | ||
| 5554 | #define ARIZONA_EQ1_B4_PG_SHIFT 0 /* EQ1_B4_PG - [15:0] */ | ||
| 5555 | #define ARIZONA_EQ1_B4_PG_WIDTH 16 /* EQ1_B4_PG - [15:0] */ | ||
| 5556 | |||
| 5557 | /* | ||
| 5558 | * R3617 (0xE21) - EQ1_18 | ||
| 5559 | */ | ||
| 5560 | #define ARIZONA_EQ1_B5_A_MASK 0xFFFF /* EQ1_B5_A - [15:0] */ | ||
| 5561 | #define ARIZONA_EQ1_B5_A_SHIFT 0 /* EQ1_B5_A - [15:0] */ | ||
| 5562 | #define ARIZONA_EQ1_B5_A_WIDTH 16 /* EQ1_B5_A - [15:0] */ | ||
| 5563 | |||
| 5564 | /* | ||
| 5565 | * R3618 (0xE22) - EQ1_19 | ||
| 5566 | */ | ||
| 5567 | #define ARIZONA_EQ1_B5_B_MASK 0xFFFF /* EQ1_B5_B - [15:0] */ | ||
| 5568 | #define ARIZONA_EQ1_B5_B_SHIFT 0 /* EQ1_B5_B - [15:0] */ | ||
| 5569 | #define ARIZONA_EQ1_B5_B_WIDTH 16 /* EQ1_B5_B - [15:0] */ | ||
| 5570 | |||
| 5571 | /* | ||
| 5572 | * R3619 (0xE23) - EQ1_20 | ||
| 5573 | */ | ||
| 5574 | #define ARIZONA_EQ1_B5_PG_MASK 0xFFFF /* EQ1_B5_PG - [15:0] */ | ||
| 5575 | #define ARIZONA_EQ1_B5_PG_SHIFT 0 /* EQ1_B5_PG - [15:0] */ | ||
| 5576 | #define ARIZONA_EQ1_B5_PG_WIDTH 16 /* EQ1_B5_PG - [15:0] */ | ||
| 5577 | |||
| 5578 | /* | ||
| 5579 | * R3620 (0xE24) - EQ1_21 | ||
| 5580 | */ | ||
| 5581 | #define ARIZONA_EQ1_B1_C_MASK 0xFFFF /* EQ1_B1_C - [15:0] */ | ||
| 5582 | #define ARIZONA_EQ1_B1_C_SHIFT 0 /* EQ1_B1_C - [15:0] */ | ||
| 5583 | #define ARIZONA_EQ1_B1_C_WIDTH 16 /* EQ1_B1_C - [15:0] */ | ||
| 5584 | |||
| 5585 | /* | ||
| 5586 | * R3622 (0xE26) - EQ2_1 | ||
| 5587 | */ | ||
| 5588 | #define ARIZONA_EQ2_B1_GAIN_MASK 0xF800 /* EQ2_B1_GAIN - [15:11] */ | ||
| 5589 | #define ARIZONA_EQ2_B1_GAIN_SHIFT 11 /* EQ2_B1_GAIN - [15:11] */ | ||
| 5590 | #define ARIZONA_EQ2_B1_GAIN_WIDTH 5 /* EQ2_B1_GAIN - [15:11] */ | ||
| 5591 | #define ARIZONA_EQ2_B2_GAIN_MASK 0x07C0 /* EQ2_B2_GAIN - [10:6] */ | ||
| 5592 | #define ARIZONA_EQ2_B2_GAIN_SHIFT 6 /* EQ2_B2_GAIN - [10:6] */ | ||
| 5593 | #define ARIZONA_EQ2_B2_GAIN_WIDTH 5 /* EQ2_B2_GAIN - [10:6] */ | ||
| 5594 | #define ARIZONA_EQ2_B3_GAIN_MASK 0x003E /* EQ2_B3_GAIN - [5:1] */ | ||
| 5595 | #define ARIZONA_EQ2_B3_GAIN_SHIFT 1 /* EQ2_B3_GAIN - [5:1] */ | ||
| 5596 | #define ARIZONA_EQ2_B3_GAIN_WIDTH 5 /* EQ2_B3_GAIN - [5:1] */ | ||
| 5597 | #define ARIZONA_EQ2_ENA 0x0001 /* EQ2_ENA */ | ||
| 5598 | #define ARIZONA_EQ2_ENA_MASK 0x0001 /* EQ2_ENA */ | ||
| 5599 | #define ARIZONA_EQ2_ENA_SHIFT 0 /* EQ2_ENA */ | ||
| 5600 | #define ARIZONA_EQ2_ENA_WIDTH 1 /* EQ2_ENA */ | ||
| 5601 | |||
| 5602 | /* | ||
| 5603 | * R3623 (0xE27) - EQ2_2 | ||
| 5604 | */ | ||
| 5605 | #define ARIZONA_EQ2_B4_GAIN_MASK 0xF800 /* EQ2_B4_GAIN - [15:11] */ | ||
| 5606 | #define ARIZONA_EQ2_B4_GAIN_SHIFT 11 /* EQ2_B4_GAIN - [15:11] */ | ||
| 5607 | #define ARIZONA_EQ2_B4_GAIN_WIDTH 5 /* EQ2_B4_GAIN - [15:11] */ | ||
| 5608 | #define ARIZONA_EQ2_B5_GAIN_MASK 0x07C0 /* EQ2_B5_GAIN - [10:6] */ | ||
| 5609 | #define ARIZONA_EQ2_B5_GAIN_SHIFT 6 /* EQ2_B5_GAIN - [10:6] */ | ||
| 5610 | #define ARIZONA_EQ2_B5_GAIN_WIDTH 5 /* EQ2_B5_GAIN - [10:6] */ | ||
| 5611 | #define ARIZONA_EQ2_B1_MODE 0x0001 /* EQ2_B1_MODE */ | ||
| 5612 | #define ARIZONA_EQ2_B1_MODE_MASK 0x0001 /* EQ2_B1_MODE */ | ||
| 5613 | #define ARIZONA_EQ2_B1_MODE_SHIFT 0 /* EQ2_B1_MODE */ | ||
| 5614 | #define ARIZONA_EQ2_B1_MODE_WIDTH 1 /* EQ2_B1_MODE */ | ||
| 5615 | |||
| 5616 | /* | ||
| 5617 | * R3624 (0xE28) - EQ2_3 | ||
| 5618 | */ | ||
| 5619 | #define ARIZONA_EQ2_B1_A_MASK 0xFFFF /* EQ2_B1_A - [15:0] */ | ||
| 5620 | #define ARIZONA_EQ2_B1_A_SHIFT 0 /* EQ2_B1_A - [15:0] */ | ||
| 5621 | #define ARIZONA_EQ2_B1_A_WIDTH 16 /* EQ2_B1_A - [15:0] */ | ||
| 5622 | |||
| 5623 | /* | ||
| 5624 | * R3625 (0xE29) - EQ2_4 | ||
| 5625 | */ | ||
| 5626 | #define ARIZONA_EQ2_B1_B_MASK 0xFFFF /* EQ2_B1_B - [15:0] */ | ||
| 5627 | #define ARIZONA_EQ2_B1_B_SHIFT 0 /* EQ2_B1_B - [15:0] */ | ||
| 5628 | #define ARIZONA_EQ2_B1_B_WIDTH 16 /* EQ2_B1_B - [15:0] */ | ||
| 5629 | |||
| 5630 | /* | ||
| 5631 | * R3626 (0xE2A) - EQ2_5 | ||
| 5632 | */ | ||
| 5633 | #define ARIZONA_EQ2_B1_PG_MASK 0xFFFF /* EQ2_B1_PG - [15:0] */ | ||
| 5634 | #define ARIZONA_EQ2_B1_PG_SHIFT 0 /* EQ2_B1_PG - [15:0] */ | ||
| 5635 | #define ARIZONA_EQ2_B1_PG_WIDTH 16 /* EQ2_B1_PG - [15:0] */ | ||
| 5636 | |||
| 5637 | /* | ||
| 5638 | * R3627 (0xE2B) - EQ2_6 | ||
| 5639 | */ | ||
| 5640 | #define ARIZONA_EQ2_B2_A_MASK 0xFFFF /* EQ2_B2_A - [15:0] */ | ||
| 5641 | #define ARIZONA_EQ2_B2_A_SHIFT 0 /* EQ2_B2_A - [15:0] */ | ||
| 5642 | #define ARIZONA_EQ2_B2_A_WIDTH 16 /* EQ2_B2_A - [15:0] */ | ||
| 5643 | |||
| 5644 | /* | ||
| 5645 | * R3628 (0xE2C) - EQ2_7 | ||
| 5646 | */ | ||
| 5647 | #define ARIZONA_EQ2_B2_B_MASK 0xFFFF /* EQ2_B2_B - [15:0] */ | ||
| 5648 | #define ARIZONA_EQ2_B2_B_SHIFT 0 /* EQ2_B2_B - [15:0] */ | ||
| 5649 | #define ARIZONA_EQ2_B2_B_WIDTH 16 /* EQ2_B2_B - [15:0] */ | ||
| 5650 | |||
| 5651 | /* | ||
| 5652 | * R3629 (0xE2D) - EQ2_8 | ||
| 5653 | */ | ||
| 5654 | #define ARIZONA_EQ2_B2_C_MASK 0xFFFF /* EQ2_B2_C - [15:0] */ | ||
| 5655 | #define ARIZONA_EQ2_B2_C_SHIFT 0 /* EQ2_B2_C - [15:0] */ | ||
| 5656 | #define ARIZONA_EQ2_B2_C_WIDTH 16 /* EQ2_B2_C - [15:0] */ | ||
| 5657 | |||
| 5658 | /* | ||
| 5659 | * R3630 (0xE2E) - EQ2_9 | ||
| 5660 | */ | ||
| 5661 | #define ARIZONA_EQ2_B2_PG_MASK 0xFFFF /* EQ2_B2_PG - [15:0] */ | ||
| 5662 | #define ARIZONA_EQ2_B2_PG_SHIFT 0 /* EQ2_B2_PG - [15:0] */ | ||
| 5663 | #define ARIZONA_EQ2_B2_PG_WIDTH 16 /* EQ2_B2_PG - [15:0] */ | ||
| 5664 | |||
| 5665 | /* | ||
| 5666 | * R3631 (0xE2F) - EQ2_10 | ||
| 5667 | */ | ||
| 5668 | #define ARIZONA_EQ2_B3_A_MASK 0xFFFF /* EQ2_B3_A - [15:0] */ | ||
| 5669 | #define ARIZONA_EQ2_B3_A_SHIFT 0 /* EQ2_B3_A - [15:0] */ | ||
| 5670 | #define ARIZONA_EQ2_B3_A_WIDTH 16 /* EQ2_B3_A - [15:0] */ | ||
| 5671 | |||
| 5672 | /* | ||
| 5673 | * R3632 (0xE30) - EQ2_11 | ||
| 5674 | */ | ||
| 5675 | #define ARIZONA_EQ2_B3_B_MASK 0xFFFF /* EQ2_B3_B - [15:0] */ | ||
| 5676 | #define ARIZONA_EQ2_B3_B_SHIFT 0 /* EQ2_B3_B - [15:0] */ | ||
| 5677 | #define ARIZONA_EQ2_B3_B_WIDTH 16 /* EQ2_B3_B - [15:0] */ | ||
| 5678 | |||
| 5679 | /* | ||
| 5680 | * R3633 (0xE31) - EQ2_12 | ||
| 5681 | */ | ||
| 5682 | #define ARIZONA_EQ2_B3_C_MASK 0xFFFF /* EQ2_B3_C - [15:0] */ | ||
| 5683 | #define ARIZONA_EQ2_B3_C_SHIFT 0 /* EQ2_B3_C - [15:0] */ | ||
| 5684 | #define ARIZONA_EQ2_B3_C_WIDTH 16 /* EQ2_B3_C - [15:0] */ | ||
| 5685 | |||
| 5686 | /* | ||
| 5687 | * R3634 (0xE32) - EQ2_13 | ||
| 5688 | */ | ||
| 5689 | #define ARIZONA_EQ2_B3_PG_MASK 0xFFFF /* EQ2_B3_PG - [15:0] */ | ||
| 5690 | #define ARIZONA_EQ2_B3_PG_SHIFT 0 /* EQ2_B3_PG - [15:0] */ | ||
| 5691 | #define ARIZONA_EQ2_B3_PG_WIDTH 16 /* EQ2_B3_PG - [15:0] */ | ||
| 5692 | |||
| 5693 | /* | ||
| 5694 | * R3635 (0xE33) - EQ2_14 | ||
| 5695 | */ | ||
| 5696 | #define ARIZONA_EQ2_B4_A_MASK 0xFFFF /* EQ2_B4_A - [15:0] */ | ||
| 5697 | #define ARIZONA_EQ2_B4_A_SHIFT 0 /* EQ2_B4_A - [15:0] */ | ||
| 5698 | #define ARIZONA_EQ2_B4_A_WIDTH 16 /* EQ2_B4_A - [15:0] */ | ||
| 5699 | |||
| 5700 | /* | ||
| 5701 | * R3636 (0xE34) - EQ2_15 | ||
| 5702 | */ | ||
| 5703 | #define ARIZONA_EQ2_B4_B_MASK 0xFFFF /* EQ2_B4_B - [15:0] */ | ||
| 5704 | #define ARIZONA_EQ2_B4_B_SHIFT 0 /* EQ2_B4_B - [15:0] */ | ||
| 5705 | #define ARIZONA_EQ2_B4_B_WIDTH 16 /* EQ2_B4_B - [15:0] */ | ||
| 5706 | |||
| 5707 | /* | ||
| 5708 | * R3637 (0xE35) - EQ2_16 | ||
| 5709 | */ | ||
| 5710 | #define ARIZONA_EQ2_B4_C_MASK 0xFFFF /* EQ2_B4_C - [15:0] */ | ||
| 5711 | #define ARIZONA_EQ2_B4_C_SHIFT 0 /* EQ2_B4_C - [15:0] */ | ||
| 5712 | #define ARIZONA_EQ2_B4_C_WIDTH 16 /* EQ2_B4_C - [15:0] */ | ||
| 5713 | |||
| 5714 | /* | ||
| 5715 | * R3638 (0xE36) - EQ2_17 | ||
| 5716 | */ | ||
| 5717 | #define ARIZONA_EQ2_B4_PG_MASK 0xFFFF /* EQ2_B4_PG - [15:0] */ | ||
| 5718 | #define ARIZONA_EQ2_B4_PG_SHIFT 0 /* EQ2_B4_PG - [15:0] */ | ||
| 5719 | #define ARIZONA_EQ2_B4_PG_WIDTH 16 /* EQ2_B4_PG - [15:0] */ | ||
| 5720 | |||
| 5721 | /* | ||
| 5722 | * R3639 (0xE37) - EQ2_18 | ||
| 5723 | */ | ||
| 5724 | #define ARIZONA_EQ2_B5_A_MASK 0xFFFF /* EQ2_B5_A - [15:0] */ | ||
| 5725 | #define ARIZONA_EQ2_B5_A_SHIFT 0 /* EQ2_B5_A - [15:0] */ | ||
| 5726 | #define ARIZONA_EQ2_B5_A_WIDTH 16 /* EQ2_B5_A - [15:0] */ | ||
| 5727 | |||
| 5728 | /* | ||
| 5729 | * R3640 (0xE38) - EQ2_19 | ||
| 5730 | */ | ||
| 5731 | #define ARIZONA_EQ2_B5_B_MASK 0xFFFF /* EQ2_B5_B - [15:0] */ | ||
| 5732 | #define ARIZONA_EQ2_B5_B_SHIFT 0 /* EQ2_B5_B - [15:0] */ | ||
| 5733 | #define ARIZONA_EQ2_B5_B_WIDTH 16 /* EQ2_B5_B - [15:0] */ | ||
| 5734 | |||
| 5735 | /* | ||
| 5736 | * R3641 (0xE39) - EQ2_20 | ||
| 5737 | */ | ||
| 5738 | #define ARIZONA_EQ2_B5_PG_MASK 0xFFFF /* EQ2_B5_PG - [15:0] */ | ||
| 5739 | #define ARIZONA_EQ2_B5_PG_SHIFT 0 /* EQ2_B5_PG - [15:0] */ | ||
| 5740 | #define ARIZONA_EQ2_B5_PG_WIDTH 16 /* EQ2_B5_PG - [15:0] */ | ||
| 5741 | |||
| 5742 | /* | ||
| 5743 | * R3642 (0xE3A) - EQ2_21 | ||
| 5744 | */ | ||
| 5745 | #define ARIZONA_EQ2_B1_C_MASK 0xFFFF /* EQ2_B1_C - [15:0] */ | ||
| 5746 | #define ARIZONA_EQ2_B1_C_SHIFT 0 /* EQ2_B1_C - [15:0] */ | ||
| 5747 | #define ARIZONA_EQ2_B1_C_WIDTH 16 /* EQ2_B1_C - [15:0] */ | ||
| 5748 | |||
| 5749 | /* | ||
| 5750 | * R3644 (0xE3C) - EQ3_1 | ||
| 5751 | */ | ||
| 5752 | #define ARIZONA_EQ3_B1_GAIN_MASK 0xF800 /* EQ3_B1_GAIN - [15:11] */ | ||
| 5753 | #define ARIZONA_EQ3_B1_GAIN_SHIFT 11 /* EQ3_B1_GAIN - [15:11] */ | ||
| 5754 | #define ARIZONA_EQ3_B1_GAIN_WIDTH 5 /* EQ3_B1_GAIN - [15:11] */ | ||
| 5755 | #define ARIZONA_EQ3_B2_GAIN_MASK 0x07C0 /* EQ3_B2_GAIN - [10:6] */ | ||
| 5756 | #define ARIZONA_EQ3_B2_GAIN_SHIFT 6 /* EQ3_B2_GAIN - [10:6] */ | ||
| 5757 | #define ARIZONA_EQ3_B2_GAIN_WIDTH 5 /* EQ3_B2_GAIN - [10:6] */ | ||
| 5758 | #define ARIZONA_EQ3_B3_GAIN_MASK 0x003E /* EQ3_B3_GAIN - [5:1] */ | ||
| 5759 | #define ARIZONA_EQ3_B3_GAIN_SHIFT 1 /* EQ3_B3_GAIN - [5:1] */ | ||
| 5760 | #define ARIZONA_EQ3_B3_GAIN_WIDTH 5 /* EQ3_B3_GAIN - [5:1] */ | ||
| 5761 | #define ARIZONA_EQ3_ENA 0x0001 /* EQ3_ENA */ | ||
| 5762 | #define ARIZONA_EQ3_ENA_MASK 0x0001 /* EQ3_ENA */ | ||
| 5763 | #define ARIZONA_EQ3_ENA_SHIFT 0 /* EQ3_ENA */ | ||
| 5764 | #define ARIZONA_EQ3_ENA_WIDTH 1 /* EQ3_ENA */ | ||
| 5765 | |||
| 5766 | /* | ||
| 5767 | * R3645 (0xE3D) - EQ3_2 | ||
| 5768 | */ | ||
| 5769 | #define ARIZONA_EQ3_B4_GAIN_MASK 0xF800 /* EQ3_B4_GAIN - [15:11] */ | ||
| 5770 | #define ARIZONA_EQ3_B4_GAIN_SHIFT 11 /* EQ3_B4_GAIN - [15:11] */ | ||
| 5771 | #define ARIZONA_EQ3_B4_GAIN_WIDTH 5 /* EQ3_B4_GAIN - [15:11] */ | ||
| 5772 | #define ARIZONA_EQ3_B5_GAIN_MASK 0x07C0 /* EQ3_B5_GAIN - [10:6] */ | ||
| 5773 | #define ARIZONA_EQ3_B5_GAIN_SHIFT 6 /* EQ3_B5_GAIN - [10:6] */ | ||
| 5774 | #define ARIZONA_EQ3_B5_GAIN_WIDTH 5 /* EQ3_B5_GAIN - [10:6] */ | ||
| 5775 | #define ARIZONA_EQ3_B1_MODE 0x0001 /* EQ3_B1_MODE */ | ||
| 5776 | #define ARIZONA_EQ3_B1_MODE_MASK 0x0001 /* EQ3_B1_MODE */ | ||
| 5777 | #define ARIZONA_EQ3_B1_MODE_SHIFT 0 /* EQ3_B1_MODE */ | ||
| 5778 | #define ARIZONA_EQ3_B1_MODE_WIDTH 1 /* EQ3_B1_MODE */ | ||
| 5779 | |||
| 5780 | /* | ||
| 5781 | * R3646 (0xE3E) - EQ3_3 | ||
| 5782 | */ | ||
| 5783 | #define ARIZONA_EQ3_B1_A_MASK 0xFFFF /* EQ3_B1_A - [15:0] */ | ||
| 5784 | #define ARIZONA_EQ3_B1_A_SHIFT 0 /* EQ3_B1_A - [15:0] */ | ||
| 5785 | #define ARIZONA_EQ3_B1_A_WIDTH 16 /* EQ3_B1_A - [15:0] */ | ||
| 5786 | |||
| 5787 | /* | ||
| 5788 | * R3647 (0xE3F) - EQ3_4 | ||
| 5789 | */ | ||
| 5790 | #define ARIZONA_EQ3_B1_B_MASK 0xFFFF /* EQ3_B1_B - [15:0] */ | ||
| 5791 | #define ARIZONA_EQ3_B1_B_SHIFT 0 /* EQ3_B1_B - [15:0] */ | ||
| 5792 | #define ARIZONA_EQ3_B1_B_WIDTH 16 /* EQ3_B1_B - [15:0] */ | ||
| 5793 | |||
| 5794 | /* | ||
| 5795 | * R3648 (0xE40) - EQ3_5 | ||
| 5796 | */ | ||
| 5797 | #define ARIZONA_EQ3_B1_PG_MASK 0xFFFF /* EQ3_B1_PG - [15:0] */ | ||
| 5798 | #define ARIZONA_EQ3_B1_PG_SHIFT 0 /* EQ3_B1_PG - [15:0] */ | ||
| 5799 | #define ARIZONA_EQ3_B1_PG_WIDTH 16 /* EQ3_B1_PG - [15:0] */ | ||
| 5800 | |||
| 5801 | /* | ||
| 5802 | * R3649 (0xE41) - EQ3_6 | ||
| 5803 | */ | ||
| 5804 | #define ARIZONA_EQ3_B2_A_MASK 0xFFFF /* EQ3_B2_A - [15:0] */ | ||
| 5805 | #define ARIZONA_EQ3_B2_A_SHIFT 0 /* EQ3_B2_A - [15:0] */ | ||
| 5806 | #define ARIZONA_EQ3_B2_A_WIDTH 16 /* EQ3_B2_A - [15:0] */ | ||
| 5807 | |||
| 5808 | /* | ||
| 5809 | * R3650 (0xE42) - EQ3_7 | ||
| 5810 | */ | ||
| 5811 | #define ARIZONA_EQ3_B2_B_MASK 0xFFFF /* EQ3_B2_B - [15:0] */ | ||
| 5812 | #define ARIZONA_EQ3_B2_B_SHIFT 0 /* EQ3_B2_B - [15:0] */ | ||
| 5813 | #define ARIZONA_EQ3_B2_B_WIDTH 16 /* EQ3_B2_B - [15:0] */ | ||
| 5814 | |||
| 5815 | /* | ||
| 5816 | * R3651 (0xE43) - EQ3_8 | ||
| 5817 | */ | ||
| 5818 | #define ARIZONA_EQ3_B2_C_MASK 0xFFFF /* EQ3_B2_C - [15:0] */ | ||
| 5819 | #define ARIZONA_EQ3_B2_C_SHIFT 0 /* EQ3_B2_C - [15:0] */ | ||
| 5820 | #define ARIZONA_EQ3_B2_C_WIDTH 16 /* EQ3_B2_C - [15:0] */ | ||
| 5821 | |||
| 5822 | /* | ||
| 5823 | * R3652 (0xE44) - EQ3_9 | ||
| 5824 | */ | ||
| 5825 | #define ARIZONA_EQ3_B2_PG_MASK 0xFFFF /* EQ3_B2_PG - [15:0] */ | ||
| 5826 | #define ARIZONA_EQ3_B2_PG_SHIFT 0 /* EQ3_B2_PG - [15:0] */ | ||
| 5827 | #define ARIZONA_EQ3_B2_PG_WIDTH 16 /* EQ3_B2_PG - [15:0] */ | ||
| 5828 | |||
| 5829 | /* | ||
| 5830 | * R3653 (0xE45) - EQ3_10 | ||
| 5831 | */ | ||
| 5832 | #define ARIZONA_EQ3_B3_A_MASK 0xFFFF /* EQ3_B3_A - [15:0] */ | ||
| 5833 | #define ARIZONA_EQ3_B3_A_SHIFT 0 /* EQ3_B3_A - [15:0] */ | ||
| 5834 | #define ARIZONA_EQ3_B3_A_WIDTH 16 /* EQ3_B3_A - [15:0] */ | ||
| 5835 | |||
| 5836 | /* | ||
| 5837 | * R3654 (0xE46) - EQ3_11 | ||
| 5838 | */ | ||
| 5839 | #define ARIZONA_EQ3_B3_B_MASK 0xFFFF /* EQ3_B3_B - [15:0] */ | ||
| 5840 | #define ARIZONA_EQ3_B3_B_SHIFT 0 /* EQ3_B3_B - [15:0] */ | ||
| 5841 | #define ARIZONA_EQ3_B3_B_WIDTH 16 /* EQ3_B3_B - [15:0] */ | ||
| 5842 | |||
| 5843 | /* | ||
| 5844 | * R3655 (0xE47) - EQ3_12 | ||
| 5845 | */ | ||
| 5846 | #define ARIZONA_EQ3_B3_C_MASK 0xFFFF /* EQ3_B3_C - [15:0] */ | ||
| 5847 | #define ARIZONA_EQ3_B3_C_SHIFT 0 /* EQ3_B3_C - [15:0] */ | ||
| 5848 | #define ARIZONA_EQ3_B3_C_WIDTH 16 /* EQ3_B3_C - [15:0] */ | ||
| 5849 | |||
| 5850 | /* | ||
| 5851 | * R3656 (0xE48) - EQ3_13 | ||
| 5852 | */ | ||
| 5853 | #define ARIZONA_EQ3_B3_PG_MASK 0xFFFF /* EQ3_B3_PG - [15:0] */ | ||
| 5854 | #define ARIZONA_EQ3_B3_PG_SHIFT 0 /* EQ3_B3_PG - [15:0] */ | ||
| 5855 | #define ARIZONA_EQ3_B3_PG_WIDTH 16 /* EQ3_B3_PG - [15:0] */ | ||
| 5856 | |||
| 5857 | /* | ||
| 5858 | * R3657 (0xE49) - EQ3_14 | ||
| 5859 | */ | ||
| 5860 | #define ARIZONA_EQ3_B4_A_MASK 0xFFFF /* EQ3_B4_A - [15:0] */ | ||
| 5861 | #define ARIZONA_EQ3_B4_A_SHIFT 0 /* EQ3_B4_A - [15:0] */ | ||
| 5862 | #define ARIZONA_EQ3_B4_A_WIDTH 16 /* EQ3_B4_A - [15:0] */ | ||
| 5863 | |||
| 5864 | /* | ||
| 5865 | * R3658 (0xE4A) - EQ3_15 | ||
| 5866 | */ | ||
| 5867 | #define ARIZONA_EQ3_B4_B_MASK 0xFFFF /* EQ3_B4_B - [15:0] */ | ||
| 5868 | #define ARIZONA_EQ3_B4_B_SHIFT 0 /* EQ3_B4_B - [15:0] */ | ||
| 5869 | #define ARIZONA_EQ3_B4_B_WIDTH 16 /* EQ3_B4_B - [15:0] */ | ||
| 5870 | |||
| 5871 | /* | ||
| 5872 | * R3659 (0xE4B) - EQ3_16 | ||
| 5873 | */ | ||
| 5874 | #define ARIZONA_EQ3_B4_C_MASK 0xFFFF /* EQ3_B4_C - [15:0] */ | ||
| 5875 | #define ARIZONA_EQ3_B4_C_SHIFT 0 /* EQ3_B4_C - [15:0] */ | ||
| 5876 | #define ARIZONA_EQ3_B4_C_WIDTH 16 /* EQ3_B4_C - [15:0] */ | ||
| 5877 | |||
| 5878 | /* | ||
| 5879 | * R3660 (0xE4C) - EQ3_17 | ||
| 5880 | */ | ||
| 5881 | #define ARIZONA_EQ3_B4_PG_MASK 0xFFFF /* EQ3_B4_PG - [15:0] */ | ||
| 5882 | #define ARIZONA_EQ3_B4_PG_SHIFT 0 /* EQ3_B4_PG - [15:0] */ | ||
| 5883 | #define ARIZONA_EQ3_B4_PG_WIDTH 16 /* EQ3_B4_PG - [15:0] */ | ||
| 5884 | |||
| 5885 | /* | ||
| 5886 | * R3661 (0xE4D) - EQ3_18 | ||
| 5887 | */ | ||
| 5888 | #define ARIZONA_EQ3_B5_A_MASK 0xFFFF /* EQ3_B5_A - [15:0] */ | ||
| 5889 | #define ARIZONA_EQ3_B5_A_SHIFT 0 /* EQ3_B5_A - [15:0] */ | ||
| 5890 | #define ARIZONA_EQ3_B5_A_WIDTH 16 /* EQ3_B5_A - [15:0] */ | ||
| 5891 | |||
| 5892 | /* | ||
| 5893 | * R3662 (0xE4E) - EQ3_19 | ||
| 5894 | */ | ||
| 5895 | #define ARIZONA_EQ3_B5_B_MASK 0xFFFF /* EQ3_B5_B - [15:0] */ | ||
| 5896 | #define ARIZONA_EQ3_B5_B_SHIFT 0 /* EQ3_B5_B - [15:0] */ | ||
| 5897 | #define ARIZONA_EQ3_B5_B_WIDTH 16 /* EQ3_B5_B - [15:0] */ | ||
| 5898 | |||
| 5899 | /* | ||
| 5900 | * R3663 (0xE4F) - EQ3_20 | ||
| 5901 | */ | ||
| 5902 | #define ARIZONA_EQ3_B5_PG_MASK 0xFFFF /* EQ3_B5_PG - [15:0] */ | ||
| 5903 | #define ARIZONA_EQ3_B5_PG_SHIFT 0 /* EQ3_B5_PG - [15:0] */ | ||
| 5904 | #define ARIZONA_EQ3_B5_PG_WIDTH 16 /* EQ3_B5_PG - [15:0] */ | ||
| 5905 | |||
| 5906 | /* | ||
| 5907 | * R3664 (0xE50) - EQ3_21 | ||
| 5908 | */ | ||
| 5909 | #define ARIZONA_EQ3_B1_C_MASK 0xFFFF /* EQ3_B1_C - [15:0] */ | ||
| 5910 | #define ARIZONA_EQ3_B1_C_SHIFT 0 /* EQ3_B1_C - [15:0] */ | ||
| 5911 | #define ARIZONA_EQ3_B1_C_WIDTH 16 /* EQ3_B1_C - [15:0] */ | ||
| 5912 | |||
| 5913 | /* | ||
| 5914 | * R3666 (0xE52) - EQ4_1 | ||
| 5915 | */ | ||
| 5916 | #define ARIZONA_EQ4_B1_GAIN_MASK 0xF800 /* EQ4_B1_GAIN - [15:11] */ | ||
| 5917 | #define ARIZONA_EQ4_B1_GAIN_SHIFT 11 /* EQ4_B1_GAIN - [15:11] */ | ||
| 5918 | #define ARIZONA_EQ4_B1_GAIN_WIDTH 5 /* EQ4_B1_GAIN - [15:11] */ | ||
| 5919 | #define ARIZONA_EQ4_B2_GAIN_MASK 0x07C0 /* EQ4_B2_GAIN - [10:6] */ | ||
| 5920 | #define ARIZONA_EQ4_B2_GAIN_SHIFT 6 /* EQ4_B2_GAIN - [10:6] */ | ||
| 5921 | #define ARIZONA_EQ4_B2_GAIN_WIDTH 5 /* EQ4_B2_GAIN - [10:6] */ | ||
| 5922 | #define ARIZONA_EQ4_B3_GAIN_MASK 0x003E /* EQ4_B3_GAIN - [5:1] */ | ||
| 5923 | #define ARIZONA_EQ4_B3_GAIN_SHIFT 1 /* EQ4_B3_GAIN - [5:1] */ | ||
| 5924 | #define ARIZONA_EQ4_B3_GAIN_WIDTH 5 /* EQ4_B3_GAIN - [5:1] */ | ||
| 5925 | #define ARIZONA_EQ4_ENA 0x0001 /* EQ4_ENA */ | ||
| 5926 | #define ARIZONA_EQ4_ENA_MASK 0x0001 /* EQ4_ENA */ | ||
| 5927 | #define ARIZONA_EQ4_ENA_SHIFT 0 /* EQ4_ENA */ | ||
| 5928 | #define ARIZONA_EQ4_ENA_WIDTH 1 /* EQ4_ENA */ | ||
| 5929 | |||
| 5930 | /* | ||
| 5931 | * R3667 (0xE53) - EQ4_2 | ||
| 5932 | */ | ||
| 5933 | #define ARIZONA_EQ4_B4_GAIN_MASK 0xF800 /* EQ4_B4_GAIN - [15:11] */ | ||
| 5934 | #define ARIZONA_EQ4_B4_GAIN_SHIFT 11 /* EQ4_B4_GAIN - [15:11] */ | ||
| 5935 | #define ARIZONA_EQ4_B4_GAIN_WIDTH 5 /* EQ4_B4_GAIN - [15:11] */ | ||
| 5936 | #define ARIZONA_EQ4_B5_GAIN_MASK 0x07C0 /* EQ4_B5_GAIN - [10:6] */ | ||
| 5937 | #define ARIZONA_EQ4_B5_GAIN_SHIFT 6 /* EQ4_B5_GAIN - [10:6] */ | ||
| 5938 | #define ARIZONA_EQ4_B5_GAIN_WIDTH 5 /* EQ4_B5_GAIN - [10:6] */ | ||
| 5939 | #define ARIZONA_EQ4_B1_MODE 0x0001 /* EQ4_B1_MODE */ | ||
| 5940 | #define ARIZONA_EQ4_B1_MODE_MASK 0x0001 /* EQ4_B1_MODE */ | ||
| 5941 | #define ARIZONA_EQ4_B1_MODE_SHIFT 0 /* EQ4_B1_MODE */ | ||
| 5942 | #define ARIZONA_EQ4_B1_MODE_WIDTH 1 /* EQ4_B1_MODE */ | ||
| 5943 | |||
| 5944 | /* | ||
| 5945 | * R3668 (0xE54) - EQ4_3 | ||
| 5946 | */ | ||
| 5947 | #define ARIZONA_EQ4_B1_A_MASK 0xFFFF /* EQ4_B1_A - [15:0] */ | ||
| 5948 | #define ARIZONA_EQ4_B1_A_SHIFT 0 /* EQ4_B1_A - [15:0] */ | ||
| 5949 | #define ARIZONA_EQ4_B1_A_WIDTH 16 /* EQ4_B1_A - [15:0] */ | ||
| 5950 | |||
| 5951 | /* | ||
| 5952 | * R3669 (0xE55) - EQ4_4 | ||
| 5953 | */ | ||
| 5954 | #define ARIZONA_EQ4_B1_B_MASK 0xFFFF /* EQ4_B1_B - [15:0] */ | ||
| 5955 | #define ARIZONA_EQ4_B1_B_SHIFT 0 /* EQ4_B1_B - [15:0] */ | ||
| 5956 | #define ARIZONA_EQ4_B1_B_WIDTH 16 /* EQ4_B1_B - [15:0] */ | ||
| 5957 | |||
| 5958 | /* | ||
| 5959 | * R3670 (0xE56) - EQ4_5 | ||
| 5960 | */ | ||
| 5961 | #define ARIZONA_EQ4_B1_PG_MASK 0xFFFF /* EQ4_B1_PG - [15:0] */ | ||
| 5962 | #define ARIZONA_EQ4_B1_PG_SHIFT 0 /* EQ4_B1_PG - [15:0] */ | ||
| 5963 | #define ARIZONA_EQ4_B1_PG_WIDTH 16 /* EQ4_B1_PG - [15:0] */ | ||
| 5964 | |||
| 5965 | /* | ||
| 5966 | * R3671 (0xE57) - EQ4_6 | ||
| 5967 | */ | ||
| 5968 | #define ARIZONA_EQ4_B2_A_MASK 0xFFFF /* EQ4_B2_A - [15:0] */ | ||
| 5969 | #define ARIZONA_EQ4_B2_A_SHIFT 0 /* EQ4_B2_A - [15:0] */ | ||
| 5970 | #define ARIZONA_EQ4_B2_A_WIDTH 16 /* EQ4_B2_A - [15:0] */ | ||
| 5971 | |||
| 5972 | /* | ||
| 5973 | * R3672 (0xE58) - EQ4_7 | ||
| 5974 | */ | ||
| 5975 | #define ARIZONA_EQ4_B2_B_MASK 0xFFFF /* EQ4_B2_B - [15:0] */ | ||
| 5976 | #define ARIZONA_EQ4_B2_B_SHIFT 0 /* EQ4_B2_B - [15:0] */ | ||
| 5977 | #define ARIZONA_EQ4_B2_B_WIDTH 16 /* EQ4_B2_B - [15:0] */ | ||
| 5978 | |||
| 5979 | /* | ||
| 5980 | * R3673 (0xE59) - EQ4_8 | ||
| 5981 | */ | ||
| 5982 | #define ARIZONA_EQ4_B2_C_MASK 0xFFFF /* EQ4_B2_C - [15:0] */ | ||
| 5983 | #define ARIZONA_EQ4_B2_C_SHIFT 0 /* EQ4_B2_C - [15:0] */ | ||
| 5984 | #define ARIZONA_EQ4_B2_C_WIDTH 16 /* EQ4_B2_C - [15:0] */ | ||
| 5985 | |||
| 5986 | /* | ||
| 5987 | * R3674 (0xE5A) - EQ4_9 | ||
| 5988 | */ | ||
| 5989 | #define ARIZONA_EQ4_B2_PG_MASK 0xFFFF /* EQ4_B2_PG - [15:0] */ | ||
| 5990 | #define ARIZONA_EQ4_B2_PG_SHIFT 0 /* EQ4_B2_PG - [15:0] */ | ||
| 5991 | #define ARIZONA_EQ4_B2_PG_WIDTH 16 /* EQ4_B2_PG - [15:0] */ | ||
| 5992 | |||
| 5993 | /* | ||
| 5994 | * R3675 (0xE5B) - EQ4_10 | ||
| 5995 | */ | ||
| 5996 | #define ARIZONA_EQ4_B3_A_MASK 0xFFFF /* EQ4_B3_A - [15:0] */ | ||
| 5997 | #define ARIZONA_EQ4_B3_A_SHIFT 0 /* EQ4_B3_A - [15:0] */ | ||
| 5998 | #define ARIZONA_EQ4_B3_A_WIDTH 16 /* EQ4_B3_A - [15:0] */ | ||
| 5999 | |||
| 6000 | /* | ||
| 6001 | * R3676 (0xE5C) - EQ4_11 | ||
| 6002 | */ | ||
| 6003 | #define ARIZONA_EQ4_B3_B_MASK 0xFFFF /* EQ4_B3_B - [15:0] */ | ||
| 6004 | #define ARIZONA_EQ4_B3_B_SHIFT 0 /* EQ4_B3_B - [15:0] */ | ||
| 6005 | #define ARIZONA_EQ4_B3_B_WIDTH 16 /* EQ4_B3_B - [15:0] */ | ||
| 6006 | |||
| 6007 | /* | ||
| 6008 | * R3677 (0xE5D) - EQ4_12 | ||
| 6009 | */ | ||
| 6010 | #define ARIZONA_EQ4_B3_C_MASK 0xFFFF /* EQ4_B3_C - [15:0] */ | ||
| 6011 | #define ARIZONA_EQ4_B3_C_SHIFT 0 /* EQ4_B3_C - [15:0] */ | ||
| 6012 | #define ARIZONA_EQ4_B3_C_WIDTH 16 /* EQ4_B3_C - [15:0] */ | ||
| 6013 | |||
| 6014 | /* | ||
| 6015 | * R3678 (0xE5E) - EQ4_13 | ||
| 6016 | */ | ||
| 6017 | #define ARIZONA_EQ4_B3_PG_MASK 0xFFFF /* EQ4_B3_PG - [15:0] */ | ||
| 6018 | #define ARIZONA_EQ4_B3_PG_SHIFT 0 /* EQ4_B3_PG - [15:0] */ | ||
| 6019 | #define ARIZONA_EQ4_B3_PG_WIDTH 16 /* EQ4_B3_PG - [15:0] */ | ||
| 6020 | |||
| 6021 | /* | ||
| 6022 | * R3679 (0xE5F) - EQ4_14 | ||
| 6023 | */ | ||
| 6024 | #define ARIZONA_EQ4_B4_A_MASK 0xFFFF /* EQ4_B4_A - [15:0] */ | ||
| 6025 | #define ARIZONA_EQ4_B4_A_SHIFT 0 /* EQ4_B4_A - [15:0] */ | ||
| 6026 | #define ARIZONA_EQ4_B4_A_WIDTH 16 /* EQ4_B4_A - [15:0] */ | ||
| 6027 | |||
| 6028 | /* | ||
| 6029 | * R3680 (0xE60) - EQ4_15 | ||
| 6030 | */ | ||
| 6031 | #define ARIZONA_EQ4_B4_B_MASK 0xFFFF /* EQ4_B4_B - [15:0] */ | ||
| 6032 | #define ARIZONA_EQ4_B4_B_SHIFT 0 /* EQ4_B4_B - [15:0] */ | ||
| 6033 | #define ARIZONA_EQ4_B4_B_WIDTH 16 /* EQ4_B4_B - [15:0] */ | ||
| 6034 | |||
| 6035 | /* | ||
| 6036 | * R3681 (0xE61) - EQ4_16 | ||
| 6037 | */ | ||
| 6038 | #define ARIZONA_EQ4_B4_C_MASK 0xFFFF /* EQ4_B4_C - [15:0] */ | ||
| 6039 | #define ARIZONA_EQ4_B4_C_SHIFT 0 /* EQ4_B4_C - [15:0] */ | ||
| 6040 | #define ARIZONA_EQ4_B4_C_WIDTH 16 /* EQ4_B4_C - [15:0] */ | ||
| 6041 | |||
| 6042 | /* | ||
| 6043 | * R3682 (0xE62) - EQ4_17 | ||
| 6044 | */ | ||
| 6045 | #define ARIZONA_EQ4_B4_PG_MASK 0xFFFF /* EQ4_B4_PG - [15:0] */ | ||
| 6046 | #define ARIZONA_EQ4_B4_PG_SHIFT 0 /* EQ4_B4_PG - [15:0] */ | ||
| 6047 | #define ARIZONA_EQ4_B4_PG_WIDTH 16 /* EQ4_B4_PG - [15:0] */ | ||
| 6048 | |||
| 6049 | /* | ||
| 6050 | * R3683 (0xE63) - EQ4_18 | ||
| 6051 | */ | ||
| 6052 | #define ARIZONA_EQ4_B5_A_MASK 0xFFFF /* EQ4_B5_A - [15:0] */ | ||
| 6053 | #define ARIZONA_EQ4_B5_A_SHIFT 0 /* EQ4_B5_A - [15:0] */ | ||
| 6054 | #define ARIZONA_EQ4_B5_A_WIDTH 16 /* EQ4_B5_A - [15:0] */ | ||
| 6055 | |||
| 6056 | /* | ||
| 6057 | * R3684 (0xE64) - EQ4_19 | ||
| 6058 | */ | ||
| 6059 | #define ARIZONA_EQ4_B5_B_MASK 0xFFFF /* EQ4_B5_B - [15:0] */ | ||
| 6060 | #define ARIZONA_EQ4_B5_B_SHIFT 0 /* EQ4_B5_B - [15:0] */ | ||
| 6061 | #define ARIZONA_EQ4_B5_B_WIDTH 16 /* EQ4_B5_B - [15:0] */ | ||
| 6062 | |||
| 6063 | /* | ||
| 6064 | * R3685 (0xE65) - EQ4_20 | ||
| 6065 | */ | ||
| 6066 | #define ARIZONA_EQ4_B5_PG_MASK 0xFFFF /* EQ4_B5_PG - [15:0] */ | ||
| 6067 | #define ARIZONA_EQ4_B5_PG_SHIFT 0 /* EQ4_B5_PG - [15:0] */ | ||
| 6068 | #define ARIZONA_EQ4_B5_PG_WIDTH 16 /* EQ4_B5_PG - [15:0] */ | ||
| 6069 | |||
| 6070 | /* | ||
| 6071 | * R3686 (0xE66) - EQ4_21 | ||
| 6072 | */ | ||
| 6073 | #define ARIZONA_EQ4_B1_C_MASK 0xFFFF /* EQ4_B1_C - [15:0] */ | ||
| 6074 | #define ARIZONA_EQ4_B1_C_SHIFT 0 /* EQ4_B1_C - [15:0] */ | ||
| 6075 | #define ARIZONA_EQ4_B1_C_WIDTH 16 /* EQ4_B1_C - [15:0] */ | ||
| 6076 | |||
| 6077 | /* | ||
| 6078 | * R3712 (0xE80) - DRC1 ctrl1 | ||
| 6079 | */ | ||
| 6080 | #define ARIZONA_DRC1_SIG_DET_RMS_MASK 0xF800 /* DRC1_SIG_DET_RMS - [15:11] */ | ||
| 6081 | #define ARIZONA_DRC1_SIG_DET_RMS_SHIFT 11 /* DRC1_SIG_DET_RMS - [15:11] */ | ||
| 6082 | #define ARIZONA_DRC1_SIG_DET_RMS_WIDTH 5 /* DRC1_SIG_DET_RMS - [15:11] */ | ||
| 6083 | #define ARIZONA_DRC1_SIG_DET_PK_MASK 0x0600 /* DRC1_SIG_DET_PK - [10:9] */ | ||
| 6084 | #define ARIZONA_DRC1_SIG_DET_PK_SHIFT 9 /* DRC1_SIG_DET_PK - [10:9] */ | ||
| 6085 | #define ARIZONA_DRC1_SIG_DET_PK_WIDTH 2 /* DRC1_SIG_DET_PK - [10:9] */ | ||
| 6086 | #define ARIZONA_DRC1_NG_ENA 0x0100 /* DRC1_NG_ENA */ | ||
| 6087 | #define ARIZONA_DRC1_NG_ENA_MASK 0x0100 /* DRC1_NG_ENA */ | ||
| 6088 | #define ARIZONA_DRC1_NG_ENA_SHIFT 8 /* DRC1_NG_ENA */ | ||
| 6089 | #define ARIZONA_DRC1_NG_ENA_WIDTH 1 /* DRC1_NG_ENA */ | ||
| 6090 | #define ARIZONA_DRC1_SIG_DET_MODE 0x0080 /* DRC1_SIG_DET_MODE */ | ||
| 6091 | #define ARIZONA_DRC1_SIG_DET_MODE_MASK 0x0080 /* DRC1_SIG_DET_MODE */ | ||
| 6092 | #define ARIZONA_DRC1_SIG_DET_MODE_SHIFT 7 /* DRC1_SIG_DET_MODE */ | ||
| 6093 | #define ARIZONA_DRC1_SIG_DET_MODE_WIDTH 1 /* DRC1_SIG_DET_MODE */ | ||
| 6094 | #define ARIZONA_DRC1_SIG_DET 0x0040 /* DRC1_SIG_DET */ | ||
| 6095 | #define ARIZONA_DRC1_SIG_DET_MASK 0x0040 /* DRC1_SIG_DET */ | ||
| 6096 | #define ARIZONA_DRC1_SIG_DET_SHIFT 6 /* DRC1_SIG_DET */ | ||
| 6097 | #define ARIZONA_DRC1_SIG_DET_WIDTH 1 /* DRC1_SIG_DET */ | ||
| 6098 | #define ARIZONA_DRC1_KNEE2_OP_ENA 0x0020 /* DRC1_KNEE2_OP_ENA */ | ||
| 6099 | #define ARIZONA_DRC1_KNEE2_OP_ENA_MASK 0x0020 /* DRC1_KNEE2_OP_ENA */ | ||
| 6100 | #define ARIZONA_DRC1_KNEE2_OP_ENA_SHIFT 5 /* DRC1_KNEE2_OP_ENA */ | ||
| 6101 | #define ARIZONA_DRC1_KNEE2_OP_ENA_WIDTH 1 /* DRC1_KNEE2_OP_ENA */ | ||
| 6102 | #define ARIZONA_DRC1_QR 0x0010 /* DRC1_QR */ | ||
| 6103 | #define ARIZONA_DRC1_QR_MASK 0x0010 /* DRC1_QR */ | ||
| 6104 | #define ARIZONA_DRC1_QR_SHIFT 4 /* DRC1_QR */ | ||
| 6105 | #define ARIZONA_DRC1_QR_WIDTH 1 /* DRC1_QR */ | ||
| 6106 | #define ARIZONA_DRC1_ANTICLIP 0x0008 /* DRC1_ANTICLIP */ | ||
| 6107 | #define ARIZONA_DRC1_ANTICLIP_MASK 0x0008 /* DRC1_ANTICLIP */ | ||
| 6108 | #define ARIZONA_DRC1_ANTICLIP_SHIFT 3 /* DRC1_ANTICLIP */ | ||
| 6109 | #define ARIZONA_DRC1_ANTICLIP_WIDTH 1 /* DRC1_ANTICLIP */ | ||
| 6110 | #define ARIZONA_DRC1L_ENA 0x0002 /* DRC1L_ENA */ | ||
| 6111 | #define ARIZONA_DRC1L_ENA_MASK 0x0002 /* DRC1L_ENA */ | ||
| 6112 | #define ARIZONA_DRC1L_ENA_SHIFT 1 /* DRC1L_ENA */ | ||
| 6113 | #define ARIZONA_DRC1L_ENA_WIDTH 1 /* DRC1L_ENA */ | ||
| 6114 | #define ARIZONA_DRC1R_ENA 0x0001 /* DRC1R_ENA */ | ||
| 6115 | #define ARIZONA_DRC1R_ENA_MASK 0x0001 /* DRC1R_ENA */ | ||
| 6116 | #define ARIZONA_DRC1R_ENA_SHIFT 0 /* DRC1R_ENA */ | ||
| 6117 | #define ARIZONA_DRC1R_ENA_WIDTH 1 /* DRC1R_ENA */ | ||
| 6118 | |||
| 6119 | /* | ||
| 6120 | * R3713 (0xE81) - DRC1 ctrl2 | ||
| 6121 | */ | ||
| 6122 | #define ARIZONA_DRC1_ATK_MASK 0x1E00 /* DRC1_ATK - [12:9] */ | ||
| 6123 | #define ARIZONA_DRC1_ATK_SHIFT 9 /* DRC1_ATK - [12:9] */ | ||
| 6124 | #define ARIZONA_DRC1_ATK_WIDTH 4 /* DRC1_ATK - [12:9] */ | ||
| 6125 | #define ARIZONA_DRC1_DCY_MASK 0x01E0 /* DRC1_DCY - [8:5] */ | ||
| 6126 | #define ARIZONA_DRC1_DCY_SHIFT 5 /* DRC1_DCY - [8:5] */ | ||
| 6127 | #define ARIZONA_DRC1_DCY_WIDTH 4 /* DRC1_DCY - [8:5] */ | ||
| 6128 | #define ARIZONA_DRC1_MINGAIN_MASK 0x001C /* DRC1_MINGAIN - [4:2] */ | ||
| 6129 | #define ARIZONA_DRC1_MINGAIN_SHIFT 2 /* DRC1_MINGAIN - [4:2] */ | ||
| 6130 | #define ARIZONA_DRC1_MINGAIN_WIDTH 3 /* DRC1_MINGAIN - [4:2] */ | ||
| 6131 | #define ARIZONA_DRC1_MAXGAIN_MASK 0x0003 /* DRC1_MAXGAIN - [1:0] */ | ||
| 6132 | #define ARIZONA_DRC1_MAXGAIN_SHIFT 0 /* DRC1_MAXGAIN - [1:0] */ | ||
| 6133 | #define ARIZONA_DRC1_MAXGAIN_WIDTH 2 /* DRC1_MAXGAIN - [1:0] */ | ||
| 6134 | |||
| 6135 | /* | ||
| 6136 | * R3714 (0xE82) - DRC1 ctrl3 | ||
| 6137 | */ | ||
| 6138 | #define ARIZONA_DRC1_NG_MINGAIN_MASK 0xF000 /* DRC1_NG_MINGAIN - [15:12] */ | ||
| 6139 | #define ARIZONA_DRC1_NG_MINGAIN_SHIFT 12 /* DRC1_NG_MINGAIN - [15:12] */ | ||
| 6140 | #define ARIZONA_DRC1_NG_MINGAIN_WIDTH 4 /* DRC1_NG_MINGAIN - [15:12] */ | ||
| 6141 | #define ARIZONA_DRC1_NG_EXP_MASK 0x0C00 /* DRC1_NG_EXP - [11:10] */ | ||
| 6142 | #define ARIZONA_DRC1_NG_EXP_SHIFT 10 /* DRC1_NG_EXP - [11:10] */ | ||
| 6143 | #define ARIZONA_DRC1_NG_EXP_WIDTH 2 /* DRC1_NG_EXP - [11:10] */ | ||
| 6144 | #define ARIZONA_DRC1_QR_THR_MASK 0x0300 /* DRC1_QR_THR - [9:8] */ | ||
| 6145 | #define ARIZONA_DRC1_QR_THR_SHIFT 8 /* DRC1_QR_THR - [9:8] */ | ||
| 6146 | #define ARIZONA_DRC1_QR_THR_WIDTH 2 /* DRC1_QR_THR - [9:8] */ | ||
| 6147 | #define ARIZONA_DRC1_QR_DCY_MASK 0x00C0 /* DRC1_QR_DCY - [7:6] */ | ||
| 6148 | #define ARIZONA_DRC1_QR_DCY_SHIFT 6 /* DRC1_QR_DCY - [7:6] */ | ||
| 6149 | #define ARIZONA_DRC1_QR_DCY_WIDTH 2 /* DRC1_QR_DCY - [7:6] */ | ||
| 6150 | #define ARIZONA_DRC1_HI_COMP_MASK 0x0038 /* DRC1_HI_COMP - [5:3] */ | ||
| 6151 | #define ARIZONA_DRC1_HI_COMP_SHIFT 3 /* DRC1_HI_COMP - [5:3] */ | ||
| 6152 | #define ARIZONA_DRC1_HI_COMP_WIDTH 3 /* DRC1_HI_COMP - [5:3] */ | ||
| 6153 | #define ARIZONA_DRC1_LO_COMP_MASK 0x0007 /* DRC1_LO_COMP - [2:0] */ | ||
| 6154 | #define ARIZONA_DRC1_LO_COMP_SHIFT 0 /* DRC1_LO_COMP - [2:0] */ | ||
| 6155 | #define ARIZONA_DRC1_LO_COMP_WIDTH 3 /* DRC1_LO_COMP - [2:0] */ | ||
| 6156 | |||
| 6157 | /* | ||
| 6158 | * R3715 (0xE83) - DRC1 ctrl4 | ||
| 6159 | */ | ||
| 6160 | #define ARIZONA_DRC1_KNEE_IP_MASK 0x07E0 /* DRC1_KNEE_IP - [10:5] */ | ||
| 6161 | #define ARIZONA_DRC1_KNEE_IP_SHIFT 5 /* DRC1_KNEE_IP - [10:5] */ | ||
| 6162 | #define ARIZONA_DRC1_KNEE_IP_WIDTH 6 /* DRC1_KNEE_IP - [10:5] */ | ||
| 6163 | #define ARIZONA_DRC1_KNEE_OP_MASK 0x001F /* DRC1_KNEE_OP - [4:0] */ | ||
| 6164 | #define ARIZONA_DRC1_KNEE_OP_SHIFT 0 /* DRC1_KNEE_OP - [4:0] */ | ||
| 6165 | #define ARIZONA_DRC1_KNEE_OP_WIDTH 5 /* DRC1_KNEE_OP - [4:0] */ | ||
| 6166 | |||
| 6167 | /* | ||
| 6168 | * R3716 (0xE84) - DRC1 ctrl5 | ||
| 6169 | */ | ||
| 6170 | #define ARIZONA_DRC1_KNEE2_IP_MASK 0x03E0 /* DRC1_KNEE2_IP - [9:5] */ | ||
| 6171 | #define ARIZONA_DRC1_KNEE2_IP_SHIFT 5 /* DRC1_KNEE2_IP - [9:5] */ | ||
| 6172 | #define ARIZONA_DRC1_KNEE2_IP_WIDTH 5 /* DRC1_KNEE2_IP - [9:5] */ | ||
| 6173 | #define ARIZONA_DRC1_KNEE2_OP_MASK 0x001F /* DRC1_KNEE2_OP - [4:0] */ | ||
| 6174 | #define ARIZONA_DRC1_KNEE2_OP_SHIFT 0 /* DRC1_KNEE2_OP - [4:0] */ | ||
| 6175 | #define ARIZONA_DRC1_KNEE2_OP_WIDTH 5 /* DRC1_KNEE2_OP - [4:0] */ | ||
| 6176 | |||
| 6177 | /* | ||
| 6178 | * R3721 (0xE89) - DRC2 ctrl1 | ||
| 6179 | */ | ||
| 6180 | #define ARIZONA_DRC2_SIG_DET_RMS_MASK 0xF800 /* DRC2_SIG_DET_RMS - [15:11] */ | ||
| 6181 | #define ARIZONA_DRC2_SIG_DET_RMS_SHIFT 11 /* DRC2_SIG_DET_RMS - [15:11] */ | ||
| 6182 | #define ARIZONA_DRC2_SIG_DET_RMS_WIDTH 5 /* DRC2_SIG_DET_RMS - [15:11] */ | ||
| 6183 | #define ARIZONA_DRC2_SIG_DET_PK_MASK 0x0600 /* DRC2_SIG_DET_PK - [10:9] */ | ||
| 6184 | #define ARIZONA_DRC2_SIG_DET_PK_SHIFT 9 /* DRC2_SIG_DET_PK - [10:9] */ | ||
| 6185 | #define ARIZONA_DRC2_SIG_DET_PK_WIDTH 2 /* DRC2_SIG_DET_PK - [10:9] */ | ||
| 6186 | #define ARIZONA_DRC2_NG_ENA 0x0100 /* DRC2_NG_ENA */ | ||
| 6187 | #define ARIZONA_DRC2_NG_ENA_MASK 0x0100 /* DRC2_NG_ENA */ | ||
| 6188 | #define ARIZONA_DRC2_NG_ENA_SHIFT 8 /* DRC2_NG_ENA */ | ||
| 6189 | #define ARIZONA_DRC2_NG_ENA_WIDTH 1 /* DRC2_NG_ENA */ | ||
| 6190 | #define ARIZONA_DRC2_SIG_DET_MODE 0x0080 /* DRC2_SIG_DET_MODE */ | ||
| 6191 | #define ARIZONA_DRC2_SIG_DET_MODE_MASK 0x0080 /* DRC2_SIG_DET_MODE */ | ||
| 6192 | #define ARIZONA_DRC2_SIG_DET_MODE_SHIFT 7 /* DRC2_SIG_DET_MODE */ | ||
| 6193 | #define ARIZONA_DRC2_SIG_DET_MODE_WIDTH 1 /* DRC2_SIG_DET_MODE */ | ||
| 6194 | #define ARIZONA_DRC2_SIG_DET 0x0040 /* DRC2_SIG_DET */ | ||
| 6195 | #define ARIZONA_DRC2_SIG_DET_MASK 0x0040 /* DRC2_SIG_DET */ | ||
| 6196 | #define ARIZONA_DRC2_SIG_DET_SHIFT 6 /* DRC2_SIG_DET */ | ||
| 6197 | #define ARIZONA_DRC2_SIG_DET_WIDTH 1 /* DRC2_SIG_DET */ | ||
| 6198 | #define ARIZONA_DRC2_KNEE2_OP_ENA 0x0020 /* DRC2_KNEE2_OP_ENA */ | ||
| 6199 | #define ARIZONA_DRC2_KNEE2_OP_ENA_MASK 0x0020 /* DRC2_KNEE2_OP_ENA */ | ||
| 6200 | #define ARIZONA_DRC2_KNEE2_OP_ENA_SHIFT 5 /* DRC2_KNEE2_OP_ENA */ | ||
| 6201 | #define ARIZONA_DRC2_KNEE2_OP_ENA_WIDTH 1 /* DRC2_KNEE2_OP_ENA */ | ||
| 6202 | #define ARIZONA_DRC2_QR 0x0010 /* DRC2_QR */ | ||
| 6203 | #define ARIZONA_DRC2_QR_MASK 0x0010 /* DRC2_QR */ | ||
| 6204 | #define ARIZONA_DRC2_QR_SHIFT 4 /* DRC2_QR */ | ||
| 6205 | #define ARIZONA_DRC2_QR_WIDTH 1 /* DRC2_QR */ | ||
| 6206 | #define ARIZONA_DRC2_ANTICLIP 0x0008 /* DRC2_ANTICLIP */ | ||
| 6207 | #define ARIZONA_DRC2_ANTICLIP_MASK 0x0008 /* DRC2_ANTICLIP */ | ||
| 6208 | #define ARIZONA_DRC2_ANTICLIP_SHIFT 3 /* DRC2_ANTICLIP */ | ||
| 6209 | #define ARIZONA_DRC2_ANTICLIP_WIDTH 1 /* DRC2_ANTICLIP */ | ||
| 6210 | #define ARIZONA_DRC2L_ENA 0x0002 /* DRC2L_ENA */ | ||
| 6211 | #define ARIZONA_DRC2L_ENA_MASK 0x0002 /* DRC2L_ENA */ | ||
| 6212 | #define ARIZONA_DRC2L_ENA_SHIFT 1 /* DRC2L_ENA */ | ||
| 6213 | #define ARIZONA_DRC2L_ENA_WIDTH 1 /* DRC2L_ENA */ | ||
| 6214 | #define ARIZONA_DRC2R_ENA 0x0001 /* DRC2R_ENA */ | ||
| 6215 | #define ARIZONA_DRC2R_ENA_MASK 0x0001 /* DRC2R_ENA */ | ||
| 6216 | #define ARIZONA_DRC2R_ENA_SHIFT 0 /* DRC2R_ENA */ | ||
| 6217 | #define ARIZONA_DRC2R_ENA_WIDTH 1 /* DRC2R_ENA */ | ||
| 6218 | |||
| 6219 | /* | ||
| 6220 | * R3722 (0xE8A) - DRC2 ctrl2 | ||
| 6221 | */ | ||
| 6222 | #define ARIZONA_DRC2_ATK_MASK 0x1E00 /* DRC2_ATK - [12:9] */ | ||
| 6223 | #define ARIZONA_DRC2_ATK_SHIFT 9 /* DRC2_ATK - [12:9] */ | ||
| 6224 | #define ARIZONA_DRC2_ATK_WIDTH 4 /* DRC2_ATK - [12:9] */ | ||
| 6225 | #define ARIZONA_DRC2_DCY_MASK 0x01E0 /* DRC2_DCY - [8:5] */ | ||
| 6226 | #define ARIZONA_DRC2_DCY_SHIFT 5 /* DRC2_DCY - [8:5] */ | ||
| 6227 | #define ARIZONA_DRC2_DCY_WIDTH 4 /* DRC2_DCY - [8:5] */ | ||
| 6228 | #define ARIZONA_DRC2_MINGAIN_MASK 0x001C /* DRC2_MINGAIN - [4:2] */ | ||
| 6229 | #define ARIZONA_DRC2_MINGAIN_SHIFT 2 /* DRC2_MINGAIN - [4:2] */ | ||
| 6230 | #define ARIZONA_DRC2_MINGAIN_WIDTH 3 /* DRC2_MINGAIN - [4:2] */ | ||
| 6231 | #define ARIZONA_DRC2_MAXGAIN_MASK 0x0003 /* DRC2_MAXGAIN - [1:0] */ | ||
| 6232 | #define ARIZONA_DRC2_MAXGAIN_SHIFT 0 /* DRC2_MAXGAIN - [1:0] */ | ||
| 6233 | #define ARIZONA_DRC2_MAXGAIN_WIDTH 2 /* DRC2_MAXGAIN - [1:0] */ | ||
| 6234 | |||
| 6235 | /* | ||
| 6236 | * R3723 (0xE8B) - DRC2 ctrl3 | ||
| 6237 | */ | ||
| 6238 | #define ARIZONA_DRC2_NG_MINGAIN_MASK 0xF000 /* DRC2_NG_MINGAIN - [15:12] */ | ||
| 6239 | #define ARIZONA_DRC2_NG_MINGAIN_SHIFT 12 /* DRC2_NG_MINGAIN - [15:12] */ | ||
| 6240 | #define ARIZONA_DRC2_NG_MINGAIN_WIDTH 4 /* DRC2_NG_MINGAIN - [15:12] */ | ||
| 6241 | #define ARIZONA_DRC2_NG_EXP_MASK 0x0C00 /* DRC2_NG_EXP - [11:10] */ | ||
| 6242 | #define ARIZONA_DRC2_NG_EXP_SHIFT 10 /* DRC2_NG_EXP - [11:10] */ | ||
| 6243 | #define ARIZONA_DRC2_NG_EXP_WIDTH 2 /* DRC2_NG_EXP - [11:10] */ | ||
| 6244 | #define ARIZONA_DRC2_QR_THR_MASK 0x0300 /* DRC2_QR_THR - [9:8] */ | ||
| 6245 | #define ARIZONA_DRC2_QR_THR_SHIFT 8 /* DRC2_QR_THR - [9:8] */ | ||
| 6246 | #define ARIZONA_DRC2_QR_THR_WIDTH 2 /* DRC2_QR_THR - [9:8] */ | ||
| 6247 | #define ARIZONA_DRC2_QR_DCY_MASK 0x00C0 /* DRC2_QR_DCY - [7:6] */ | ||
| 6248 | #define ARIZONA_DRC2_QR_DCY_SHIFT 6 /* DRC2_QR_DCY - [7:6] */ | ||
| 6249 | #define ARIZONA_DRC2_QR_DCY_WIDTH 2 /* DRC2_QR_DCY - [7:6] */ | ||
| 6250 | #define ARIZONA_DRC2_HI_COMP_MASK 0x0038 /* DRC2_HI_COMP - [5:3] */ | ||
| 6251 | #define ARIZONA_DRC2_HI_COMP_SHIFT 3 /* DRC2_HI_COMP - [5:3] */ | ||
| 6252 | #define ARIZONA_DRC2_HI_COMP_WIDTH 3 /* DRC2_HI_COMP - [5:3] */ | ||
| 6253 | #define ARIZONA_DRC2_LO_COMP_MASK 0x0007 /* DRC2_LO_COMP - [2:0] */ | ||
| 6254 | #define ARIZONA_DRC2_LO_COMP_SHIFT 0 /* DRC2_LO_COMP - [2:0] */ | ||
| 6255 | #define ARIZONA_DRC2_LO_COMP_WIDTH 3 /* DRC2_LO_COMP - [2:0] */ | ||
| 6256 | |||
| 6257 | /* | ||
| 6258 | * R3724 (0xE8C) - DRC2 ctrl4 | ||
| 6259 | */ | ||
| 6260 | #define ARIZONA_DRC2_KNEE_IP_MASK 0x07E0 /* DRC2_KNEE_IP - [10:5] */ | ||
| 6261 | #define ARIZONA_DRC2_KNEE_IP_SHIFT 5 /* DRC2_KNEE_IP - [10:5] */ | ||
| 6262 | #define ARIZONA_DRC2_KNEE_IP_WIDTH 6 /* DRC2_KNEE_IP - [10:5] */ | ||
| 6263 | #define ARIZONA_DRC2_KNEE_OP_MASK 0x001F /* DRC2_KNEE_OP - [4:0] */ | ||
| 6264 | #define ARIZONA_DRC2_KNEE_OP_SHIFT 0 /* DRC2_KNEE_OP - [4:0] */ | ||
| 6265 | #define ARIZONA_DRC2_KNEE_OP_WIDTH 5 /* DRC2_KNEE_OP - [4:0] */ | ||
| 6266 | |||
| 6267 | /* | ||
| 6268 | * R3725 (0xE8D) - DRC2 ctrl5 | ||
| 6269 | */ | ||
| 6270 | #define ARIZONA_DRC2_KNEE2_IP_MASK 0x03E0 /* DRC2_KNEE2_IP - [9:5] */ | ||
| 6271 | #define ARIZONA_DRC2_KNEE2_IP_SHIFT 5 /* DRC2_KNEE2_IP - [9:5] */ | ||
| 6272 | #define ARIZONA_DRC2_KNEE2_IP_WIDTH 5 /* DRC2_KNEE2_IP - [9:5] */ | ||
| 6273 | #define ARIZONA_DRC2_KNEE2_OP_MASK 0x001F /* DRC2_KNEE2_OP - [4:0] */ | ||
| 6274 | #define ARIZONA_DRC2_KNEE2_OP_SHIFT 0 /* DRC2_KNEE2_OP - [4:0] */ | ||
| 6275 | #define ARIZONA_DRC2_KNEE2_OP_WIDTH 5 /* DRC2_KNEE2_OP - [4:0] */ | ||
| 6276 | |||
| 6277 | /* | ||
| 6278 | * R3776 (0xEC0) - HPLPF1_1 | ||
| 6279 | */ | ||
| 6280 | #define ARIZONA_LHPF1_MODE 0x0002 /* LHPF1_MODE */ | ||
| 6281 | #define ARIZONA_LHPF1_MODE_MASK 0x0002 /* LHPF1_MODE */ | ||
| 6282 | #define ARIZONA_LHPF1_MODE_SHIFT 1 /* LHPF1_MODE */ | ||
| 6283 | #define ARIZONA_LHPF1_MODE_WIDTH 1 /* LHPF1_MODE */ | ||
| 6284 | #define ARIZONA_LHPF1_ENA 0x0001 /* LHPF1_ENA */ | ||
| 6285 | #define ARIZONA_LHPF1_ENA_MASK 0x0001 /* LHPF1_ENA */ | ||
| 6286 | #define ARIZONA_LHPF1_ENA_SHIFT 0 /* LHPF1_ENA */ | ||
| 6287 | #define ARIZONA_LHPF1_ENA_WIDTH 1 /* LHPF1_ENA */ | ||
| 6288 | |||
| 6289 | /* | ||
| 6290 | * R3777 (0xEC1) - HPLPF1_2 | ||
| 6291 | */ | ||
| 6292 | #define ARIZONA_LHPF1_COEFF_MASK 0xFFFF /* LHPF1_COEFF - [15:0] */ | ||
| 6293 | #define ARIZONA_LHPF1_COEFF_SHIFT 0 /* LHPF1_COEFF - [15:0] */ | ||
| 6294 | #define ARIZONA_LHPF1_COEFF_WIDTH 16 /* LHPF1_COEFF - [15:0] */ | ||
| 6295 | |||
| 6296 | /* | ||
| 6297 | * R3780 (0xEC4) - HPLPF2_1 | ||
| 6298 | */ | ||
| 6299 | #define ARIZONA_LHPF2_MODE 0x0002 /* LHPF2_MODE */ | ||
| 6300 | #define ARIZONA_LHPF2_MODE_MASK 0x0002 /* LHPF2_MODE */ | ||
| 6301 | #define ARIZONA_LHPF2_MODE_SHIFT 1 /* LHPF2_MODE */ | ||
| 6302 | #define ARIZONA_LHPF2_MODE_WIDTH 1 /* LHPF2_MODE */ | ||
| 6303 | #define ARIZONA_LHPF2_ENA 0x0001 /* LHPF2_ENA */ | ||
| 6304 | #define ARIZONA_LHPF2_ENA_MASK 0x0001 /* LHPF2_ENA */ | ||
| 6305 | #define ARIZONA_LHPF2_ENA_SHIFT 0 /* LHPF2_ENA */ | ||
| 6306 | #define ARIZONA_LHPF2_ENA_WIDTH 1 /* LHPF2_ENA */ | ||
| 6307 | |||
| 6308 | /* | ||
| 6309 | * R3781 (0xEC5) - HPLPF2_2 | ||
| 6310 | */ | ||
| 6311 | #define ARIZONA_LHPF2_COEFF_MASK 0xFFFF /* LHPF2_COEFF - [15:0] */ | ||
| 6312 | #define ARIZONA_LHPF2_COEFF_SHIFT 0 /* LHPF2_COEFF - [15:0] */ | ||
| 6313 | #define ARIZONA_LHPF2_COEFF_WIDTH 16 /* LHPF2_COEFF - [15:0] */ | ||
| 6314 | |||
| 6315 | /* | ||
| 6316 | * R3784 (0xEC8) - HPLPF3_1 | ||
| 6317 | */ | ||
| 6318 | #define ARIZONA_LHPF3_MODE 0x0002 /* LHPF3_MODE */ | ||
| 6319 | #define ARIZONA_LHPF3_MODE_MASK 0x0002 /* LHPF3_MODE */ | ||
| 6320 | #define ARIZONA_LHPF3_MODE_SHIFT 1 /* LHPF3_MODE */ | ||
| 6321 | #define ARIZONA_LHPF3_MODE_WIDTH 1 /* LHPF3_MODE */ | ||
| 6322 | #define ARIZONA_LHPF3_ENA 0x0001 /* LHPF3_ENA */ | ||
| 6323 | #define ARIZONA_LHPF3_ENA_MASK 0x0001 /* LHPF3_ENA */ | ||
| 6324 | #define ARIZONA_LHPF3_ENA_SHIFT 0 /* LHPF3_ENA */ | ||
| 6325 | #define ARIZONA_LHPF3_ENA_WIDTH 1 /* LHPF3_ENA */ | ||
| 6326 | |||
| 6327 | /* | ||
| 6328 | * R3785 (0xEC9) - HPLPF3_2 | ||
| 6329 | */ | ||
| 6330 | #define ARIZONA_LHPF3_COEFF_MASK 0xFFFF /* LHPF3_COEFF - [15:0] */ | ||
| 6331 | #define ARIZONA_LHPF3_COEFF_SHIFT 0 /* LHPF3_COEFF - [15:0] */ | ||
| 6332 | #define ARIZONA_LHPF3_COEFF_WIDTH 16 /* LHPF3_COEFF - [15:0] */ | ||
| 6333 | |||
| 6334 | /* | ||
| 6335 | * R3788 (0xECC) - HPLPF4_1 | ||
| 6336 | */ | ||
| 6337 | #define ARIZONA_LHPF4_MODE 0x0002 /* LHPF4_MODE */ | ||
| 6338 | #define ARIZONA_LHPF4_MODE_MASK 0x0002 /* LHPF4_MODE */ | ||
| 6339 | #define ARIZONA_LHPF4_MODE_SHIFT 1 /* LHPF4_MODE */ | ||
| 6340 | #define ARIZONA_LHPF4_MODE_WIDTH 1 /* LHPF4_MODE */ | ||
| 6341 | #define ARIZONA_LHPF4_ENA 0x0001 /* LHPF4_ENA */ | ||
| 6342 | #define ARIZONA_LHPF4_ENA_MASK 0x0001 /* LHPF4_ENA */ | ||
| 6343 | #define ARIZONA_LHPF4_ENA_SHIFT 0 /* LHPF4_ENA */ | ||
| 6344 | #define ARIZONA_LHPF4_ENA_WIDTH 1 /* LHPF4_ENA */ | ||
| 6345 | |||
| 6346 | /* | ||
| 6347 | * R3789 (0xECD) - HPLPF4_2 | ||
| 6348 | */ | ||
| 6349 | #define ARIZONA_LHPF4_COEFF_MASK 0xFFFF /* LHPF4_COEFF - [15:0] */ | ||
| 6350 | #define ARIZONA_LHPF4_COEFF_SHIFT 0 /* LHPF4_COEFF - [15:0] */ | ||
| 6351 | #define ARIZONA_LHPF4_COEFF_WIDTH 16 /* LHPF4_COEFF - [15:0] */ | ||
| 6352 | |||
| 6353 | /* | ||
| 6354 | * R3808 (0xEE0) - ASRC_ENABLE | ||
| 6355 | */ | ||
| 6356 | #define ARIZONA_ASRC2L_ENA 0x0008 /* ASRC2L_ENA */ | ||
| 6357 | #define ARIZONA_ASRC2L_ENA_MASK 0x0008 /* ASRC2L_ENA */ | ||
| 6358 | #define ARIZONA_ASRC2L_ENA_SHIFT 3 /* ASRC2L_ENA */ | ||
| 6359 | #define ARIZONA_ASRC2L_ENA_WIDTH 1 /* ASRC2L_ENA */ | ||
| 6360 | #define ARIZONA_ASRC2R_ENA 0x0004 /* ASRC2R_ENA */ | ||
| 6361 | #define ARIZONA_ASRC2R_ENA_MASK 0x0004 /* ASRC2R_ENA */ | ||
| 6362 | #define ARIZONA_ASRC2R_ENA_SHIFT 2 /* ASRC2R_ENA */ | ||
| 6363 | #define ARIZONA_ASRC2R_ENA_WIDTH 1 /* ASRC2R_ENA */ | ||
| 6364 | #define ARIZONA_ASRC1L_ENA 0x0002 /* ASRC1L_ENA */ | ||
| 6365 | #define ARIZONA_ASRC1L_ENA_MASK 0x0002 /* ASRC1L_ENA */ | ||
| 6366 | #define ARIZONA_ASRC1L_ENA_SHIFT 1 /* ASRC1L_ENA */ | ||
| 6367 | #define ARIZONA_ASRC1L_ENA_WIDTH 1 /* ASRC1L_ENA */ | ||
| 6368 | #define ARIZONA_ASRC1R_ENA 0x0001 /* ASRC1R_ENA */ | ||
| 6369 | #define ARIZONA_ASRC1R_ENA_MASK 0x0001 /* ASRC1R_ENA */ | ||
| 6370 | #define ARIZONA_ASRC1R_ENA_SHIFT 0 /* ASRC1R_ENA */ | ||
| 6371 | #define ARIZONA_ASRC1R_ENA_WIDTH 1 /* ASRC1R_ENA */ | ||
| 6372 | |||
| 6373 | /* | ||
| 6374 | * R3810 (0xEE2) - ASRC_RATE1 | ||
| 6375 | */ | ||
| 6376 | #define ARIZONA_ASRC_RATE1_MASK 0x7800 /* ASRC_RATE1 - [14:11] */ | ||
| 6377 | #define ARIZONA_ASRC_RATE1_SHIFT 11 /* ASRC_RATE1 - [14:11] */ | ||
| 6378 | #define ARIZONA_ASRC_RATE1_WIDTH 4 /* ASRC_RATE1 - [14:11] */ | ||
| 6379 | |||
| 6380 | /* | ||
| 6381 | * R3811 (0xEE3) - ASRC_RATE2 | ||
| 6382 | */ | ||
| 6383 | #define ARIZONA_ASRC_RATE2_MASK 0x7800 /* ASRC_RATE2 - [14:11] */ | ||
| 6384 | #define ARIZONA_ASRC_RATE2_SHIFT 11 /* ASRC_RATE2 - [14:11] */ | ||
| 6385 | #define ARIZONA_ASRC_RATE2_WIDTH 4 /* ASRC_RATE2 - [14:11] */ | ||
| 6386 | |||
| 6387 | /* | ||
| 6388 | * R3824 (0xEF0) - ISRC 1 CTRL 1 | ||
| 6389 | */ | ||
| 6390 | #define ARIZONA_ISRC1_FSH_MASK 0x7800 /* ISRC1_FSH - [14:11] */ | ||
| 6391 | #define ARIZONA_ISRC1_FSH_SHIFT 11 /* ISRC1_FSH - [14:11] */ | ||
| 6392 | #define ARIZONA_ISRC1_FSH_WIDTH 4 /* ISRC1_FSH - [14:11] */ | ||
| 6393 | #define ARIZONA_ISRC1_CLK_SEL_MASK 0x0700 /* ISRC1_CLK_SEL - [10:8] */ | ||
| 6394 | #define ARIZONA_ISRC1_CLK_SEL_SHIFT 8 /* ISRC1_CLK_SEL - [10:8] */ | ||
| 6395 | #define ARIZONA_ISRC1_CLK_SEL_WIDTH 3 /* ISRC1_CLK_SEL - [10:8] */ | ||
| 6396 | |||
| 6397 | /* | ||
| 6398 | * R3825 (0xEF1) - ISRC 1 CTRL 2 | ||
| 6399 | */ | ||
| 6400 | #define ARIZONA_ISRC1_FSL_MASK 0x7800 /* ISRC1_FSL - [14:11] */ | ||
| 6401 | #define ARIZONA_ISRC1_FSL_SHIFT 11 /* ISRC1_FSL - [14:11] */ | ||
| 6402 | #define ARIZONA_ISRC1_FSL_WIDTH 4 /* ISRC1_FSL - [14:11] */ | ||
| 6403 | |||
| 6404 | /* | ||
| 6405 | * R3826 (0xEF2) - ISRC 1 CTRL 3 | ||
| 6406 | */ | ||
| 6407 | #define ARIZONA_ISRC1_INT0_ENA 0x8000 /* ISRC1_INT0_ENA */ | ||
| 6408 | #define ARIZONA_ISRC1_INT0_ENA_MASK 0x8000 /* ISRC1_INT0_ENA */ | ||
| 6409 | #define ARIZONA_ISRC1_INT0_ENA_SHIFT 15 /* ISRC1_INT0_ENA */ | ||
| 6410 | #define ARIZONA_ISRC1_INT0_ENA_WIDTH 1 /* ISRC1_INT0_ENA */ | ||
| 6411 | #define ARIZONA_ISRC1_INT1_ENA 0x4000 /* ISRC1_INT1_ENA */ | ||
| 6412 | #define ARIZONA_ISRC1_INT1_ENA_MASK 0x4000 /* ISRC1_INT1_ENA */ | ||
| 6413 | #define ARIZONA_ISRC1_INT1_ENA_SHIFT 14 /* ISRC1_INT1_ENA */ | ||
| 6414 | #define ARIZONA_ISRC1_INT1_ENA_WIDTH 1 /* ISRC1_INT1_ENA */ | ||
| 6415 | #define ARIZONA_ISRC1_INT2_ENA 0x2000 /* ISRC1_INT2_ENA */ | ||
| 6416 | #define ARIZONA_ISRC1_INT2_ENA_MASK 0x2000 /* ISRC1_INT2_ENA */ | ||
| 6417 | #define ARIZONA_ISRC1_INT2_ENA_SHIFT 13 /* ISRC1_INT2_ENA */ | ||
| 6418 | #define ARIZONA_ISRC1_INT2_ENA_WIDTH 1 /* ISRC1_INT2_ENA */ | ||
| 6419 | #define ARIZONA_ISRC1_INT3_ENA 0x1000 /* ISRC1_INT3_ENA */ | ||
| 6420 | #define ARIZONA_ISRC1_INT3_ENA_MASK 0x1000 /* ISRC1_INT3_ENA */ | ||
| 6421 | #define ARIZONA_ISRC1_INT3_ENA_SHIFT 12 /* ISRC1_INT3_ENA */ | ||
| 6422 | #define ARIZONA_ISRC1_INT3_ENA_WIDTH 1 /* ISRC1_INT3_ENA */ | ||
| 6423 | #define ARIZONA_ISRC1_DEC0_ENA 0x0200 /* ISRC1_DEC0_ENA */ | ||
| 6424 | #define ARIZONA_ISRC1_DEC0_ENA_MASK 0x0200 /* ISRC1_DEC0_ENA */ | ||
| 6425 | #define ARIZONA_ISRC1_DEC0_ENA_SHIFT 9 /* ISRC1_DEC0_ENA */ | ||
| 6426 | #define ARIZONA_ISRC1_DEC0_ENA_WIDTH 1 /* ISRC1_DEC0_ENA */ | ||
| 6427 | #define ARIZONA_ISRC1_DEC1_ENA 0x0100 /* ISRC1_DEC1_ENA */ | ||
| 6428 | #define ARIZONA_ISRC1_DEC1_ENA_MASK 0x0100 /* ISRC1_DEC1_ENA */ | ||
| 6429 | #define ARIZONA_ISRC1_DEC1_ENA_SHIFT 8 /* ISRC1_DEC1_ENA */ | ||
| 6430 | #define ARIZONA_ISRC1_DEC1_ENA_WIDTH 1 /* ISRC1_DEC1_ENA */ | ||
| 6431 | #define ARIZONA_ISRC1_DEC2_ENA 0x0080 /* ISRC1_DEC2_ENA */ | ||
| 6432 | #define ARIZONA_ISRC1_DEC2_ENA_MASK 0x0080 /* ISRC1_DEC2_ENA */ | ||
| 6433 | #define ARIZONA_ISRC1_DEC2_ENA_SHIFT 7 /* ISRC1_DEC2_ENA */ | ||
| 6434 | #define ARIZONA_ISRC1_DEC2_ENA_WIDTH 1 /* ISRC1_DEC2_ENA */ | ||
| 6435 | #define ARIZONA_ISRC1_DEC3_ENA 0x0040 /* ISRC1_DEC3_ENA */ | ||
| 6436 | #define ARIZONA_ISRC1_DEC3_ENA_MASK 0x0040 /* ISRC1_DEC3_ENA */ | ||
| 6437 | #define ARIZONA_ISRC1_DEC3_ENA_SHIFT 6 /* ISRC1_DEC3_ENA */ | ||
| 6438 | #define ARIZONA_ISRC1_DEC3_ENA_WIDTH 1 /* ISRC1_DEC3_ENA */ | ||
| 6439 | #define ARIZONA_ISRC1_NOTCH_ENA 0x0001 /* ISRC1_NOTCH_ENA */ | ||
| 6440 | #define ARIZONA_ISRC1_NOTCH_ENA_MASK 0x0001 /* ISRC1_NOTCH_ENA */ | ||
| 6441 | #define ARIZONA_ISRC1_NOTCH_ENA_SHIFT 0 /* ISRC1_NOTCH_ENA */ | ||
| 6442 | #define ARIZONA_ISRC1_NOTCH_ENA_WIDTH 1 /* ISRC1_NOTCH_ENA */ | ||
| 6443 | |||
| 6444 | /* | ||
| 6445 | * R3827 (0xEF3) - ISRC 2 CTRL 1 | ||
| 6446 | */ | ||
| 6447 | #define ARIZONA_ISRC2_FSH_MASK 0x7800 /* ISRC2_FSH - [14:11] */ | ||
| 6448 | #define ARIZONA_ISRC2_FSH_SHIFT 11 /* ISRC2_FSH - [14:11] */ | ||
| 6449 | #define ARIZONA_ISRC2_FSH_WIDTH 4 /* ISRC2_FSH - [14:11] */ | ||
| 6450 | #define ARIZONA_ISRC2_CLK_SEL_MASK 0x0700 /* ISRC2_CLK_SEL - [10:8] */ | ||
| 6451 | #define ARIZONA_ISRC2_CLK_SEL_SHIFT 8 /* ISRC2_CLK_SEL - [10:8] */ | ||
| 6452 | #define ARIZONA_ISRC2_CLK_SEL_WIDTH 3 /* ISRC2_CLK_SEL - [10:8] */ | ||
| 6453 | |||
| 6454 | /* | ||
| 6455 | * R3828 (0xEF4) - ISRC 2 CTRL 2 | ||
| 6456 | */ | ||
| 6457 | #define ARIZONA_ISRC2_FSL_MASK 0x7800 /* ISRC2_FSL - [14:11] */ | ||
| 6458 | #define ARIZONA_ISRC2_FSL_SHIFT 11 /* ISRC2_FSL - [14:11] */ | ||
| 6459 | #define ARIZONA_ISRC2_FSL_WIDTH 4 /* ISRC2_FSL - [14:11] */ | ||
| 6460 | |||
| 6461 | /* | ||
| 6462 | * R3829 (0xEF5) - ISRC 2 CTRL 3 | ||
| 6463 | */ | ||
| 6464 | #define ARIZONA_ISRC2_INT0_ENA 0x8000 /* ISRC2_INT0_ENA */ | ||
| 6465 | #define ARIZONA_ISRC2_INT0_ENA_MASK 0x8000 /* ISRC2_INT0_ENA */ | ||
| 6466 | #define ARIZONA_ISRC2_INT0_ENA_SHIFT 15 /* ISRC2_INT0_ENA */ | ||
| 6467 | #define ARIZONA_ISRC2_INT0_ENA_WIDTH 1 /* ISRC2_INT0_ENA */ | ||
| 6468 | #define ARIZONA_ISRC2_INT1_ENA 0x4000 /* ISRC2_INT1_ENA */ | ||
| 6469 | #define ARIZONA_ISRC2_INT1_ENA_MASK 0x4000 /* ISRC2_INT1_ENA */ | ||
| 6470 | #define ARIZONA_ISRC2_INT1_ENA_SHIFT 14 /* ISRC2_INT1_ENA */ | ||
| 6471 | #define ARIZONA_ISRC2_INT1_ENA_WIDTH 1 /* ISRC2_INT1_ENA */ | ||
| 6472 | #define ARIZONA_ISRC2_INT2_ENA 0x2000 /* ISRC2_INT2_ENA */ | ||
| 6473 | #define ARIZONA_ISRC2_INT2_ENA_MASK 0x2000 /* ISRC2_INT2_ENA */ | ||
| 6474 | #define ARIZONA_ISRC2_INT2_ENA_SHIFT 13 /* ISRC2_INT2_ENA */ | ||
| 6475 | #define ARIZONA_ISRC2_INT2_ENA_WIDTH 1 /* ISRC2_INT2_ENA */ | ||
| 6476 | #define ARIZONA_ISRC2_INT3_ENA 0x1000 /* ISRC2_INT3_ENA */ | ||
| 6477 | #define ARIZONA_ISRC2_INT3_ENA_MASK 0x1000 /* ISRC2_INT3_ENA */ | ||
| 6478 | #define ARIZONA_ISRC2_INT3_ENA_SHIFT 12 /* ISRC2_INT3_ENA */ | ||
| 6479 | #define ARIZONA_ISRC2_INT3_ENA_WIDTH 1 /* ISRC2_INT3_ENA */ | ||
| 6480 | #define ARIZONA_ISRC2_DEC0_ENA 0x0200 /* ISRC2_DEC0_ENA */ | ||
| 6481 | #define ARIZONA_ISRC2_DEC0_ENA_MASK 0x0200 /* ISRC2_DEC0_ENA */ | ||
| 6482 | #define ARIZONA_ISRC2_DEC0_ENA_SHIFT 9 /* ISRC2_DEC0_ENA */ | ||
| 6483 | #define ARIZONA_ISRC2_DEC0_ENA_WIDTH 1 /* ISRC2_DEC0_ENA */ | ||
| 6484 | #define ARIZONA_ISRC2_DEC1_ENA 0x0100 /* ISRC2_DEC1_ENA */ | ||
| 6485 | #define ARIZONA_ISRC2_DEC1_ENA_MASK 0x0100 /* ISRC2_DEC1_ENA */ | ||
| 6486 | #define ARIZONA_ISRC2_DEC1_ENA_SHIFT 8 /* ISRC2_DEC1_ENA */ | ||
| 6487 | #define ARIZONA_ISRC2_DEC1_ENA_WIDTH 1 /* ISRC2_DEC1_ENA */ | ||
| 6488 | #define ARIZONA_ISRC2_DEC2_ENA 0x0080 /* ISRC2_DEC2_ENA */ | ||
| 6489 | #define ARIZONA_ISRC2_DEC2_ENA_MASK 0x0080 /* ISRC2_DEC2_ENA */ | ||
| 6490 | #define ARIZONA_ISRC2_DEC2_ENA_SHIFT 7 /* ISRC2_DEC2_ENA */ | ||
| 6491 | #define ARIZONA_ISRC2_DEC2_ENA_WIDTH 1 /* ISRC2_DEC2_ENA */ | ||
| 6492 | #define ARIZONA_ISRC2_DEC3_ENA 0x0040 /* ISRC2_DEC3_ENA */ | ||
| 6493 | #define ARIZONA_ISRC2_DEC3_ENA_MASK 0x0040 /* ISRC2_DEC3_ENA */ | ||
| 6494 | #define ARIZONA_ISRC2_DEC3_ENA_SHIFT 6 /* ISRC2_DEC3_ENA */ | ||
| 6495 | #define ARIZONA_ISRC2_DEC3_ENA_WIDTH 1 /* ISRC2_DEC3_ENA */ | ||
| 6496 | #define ARIZONA_ISRC2_NOTCH_ENA 0x0001 /* ISRC2_NOTCH_ENA */ | ||
| 6497 | #define ARIZONA_ISRC2_NOTCH_ENA_MASK 0x0001 /* ISRC2_NOTCH_ENA */ | ||
| 6498 | #define ARIZONA_ISRC2_NOTCH_ENA_SHIFT 0 /* ISRC2_NOTCH_ENA */ | ||
| 6499 | #define ARIZONA_ISRC2_NOTCH_ENA_WIDTH 1 /* ISRC2_NOTCH_ENA */ | ||
| 6500 | |||
| 6501 | /* | ||
| 6502 | * R3830 (0xEF6) - ISRC 3 CTRL 1 | ||
| 6503 | */ | ||
| 6504 | #define ARIZONA_ISRC3_FSH_MASK 0x7800 /* ISRC3_FSH - [14:11] */ | ||
| 6505 | #define ARIZONA_ISRC3_FSH_SHIFT 11 /* ISRC3_FSH - [14:11] */ | ||
| 6506 | #define ARIZONA_ISRC3_FSH_WIDTH 4 /* ISRC3_FSH - [14:11] */ | ||
| 6507 | #define ARIZONA_ISRC3_CLK_SEL_MASK 0x0700 /* ISRC3_CLK_SEL - [10:8] */ | ||
| 6508 | #define ARIZONA_ISRC3_CLK_SEL_SHIFT 8 /* ISRC3_CLK_SEL - [10:8] */ | ||
| 6509 | #define ARIZONA_ISRC3_CLK_SEL_WIDTH 3 /* ISRC3_CLK_SEL - [10:8] */ | ||
| 6510 | |||
| 6511 | /* | ||
| 6512 | * R3831 (0xEF7) - ISRC 3 CTRL 2 | ||
| 6513 | */ | ||
| 6514 | #define ARIZONA_ISRC3_FSL_MASK 0x7800 /* ISRC3_FSL - [14:11] */ | ||
| 6515 | #define ARIZONA_ISRC3_FSL_SHIFT 11 /* ISRC3_FSL - [14:11] */ | ||
| 6516 | #define ARIZONA_ISRC3_FSL_WIDTH 4 /* ISRC3_FSL - [14:11] */ | ||
| 6517 | |||
| 6518 | /* | ||
| 6519 | * R3832 (0xEF8) - ISRC 3 CTRL 3 | ||
| 6520 | */ | ||
| 6521 | #define ARIZONA_ISRC3_INT0_ENA 0x8000 /* ISRC3_INT0_ENA */ | ||
| 6522 | #define ARIZONA_ISRC3_INT0_ENA_MASK 0x8000 /* ISRC3_INT0_ENA */ | ||
| 6523 | #define ARIZONA_ISRC3_INT0_ENA_SHIFT 15 /* ISRC3_INT0_ENA */ | ||
| 6524 | #define ARIZONA_ISRC3_INT0_ENA_WIDTH 1 /* ISRC3_INT0_ENA */ | ||
| 6525 | #define ARIZONA_ISRC3_INT1_ENA 0x4000 /* ISRC3_INT1_ENA */ | ||
| 6526 | #define ARIZONA_ISRC3_INT1_ENA_MASK 0x4000 /* ISRC3_INT1_ENA */ | ||
| 6527 | #define ARIZONA_ISRC3_INT1_ENA_SHIFT 14 /* ISRC3_INT1_ENA */ | ||
| 6528 | #define ARIZONA_ISRC3_INT1_ENA_WIDTH 1 /* ISRC3_INT1_ENA */ | ||
| 6529 | #define ARIZONA_ISRC3_INT2_ENA 0x2000 /* ISRC3_INT2_ENA */ | ||
| 6530 | #define ARIZONA_ISRC3_INT2_ENA_MASK 0x2000 /* ISRC3_INT2_ENA */ | ||
| 6531 | #define ARIZONA_ISRC3_INT2_ENA_SHIFT 13 /* ISRC3_INT2_ENA */ | ||
| 6532 | #define ARIZONA_ISRC3_INT2_ENA_WIDTH 1 /* ISRC3_INT2_ENA */ | ||
| 6533 | #define ARIZONA_ISRC3_INT3_ENA 0x1000 /* ISRC3_INT3_ENA */ | ||
| 6534 | #define ARIZONA_ISRC3_INT3_ENA_MASK 0x1000 /* ISRC3_INT3_ENA */ | ||
| 6535 | #define ARIZONA_ISRC3_INT3_ENA_SHIFT 12 /* ISRC3_INT3_ENA */ | ||
| 6536 | #define ARIZONA_ISRC3_INT3_ENA_WIDTH 1 /* ISRC3_INT3_ENA */ | ||
| 6537 | #define ARIZONA_ISRC3_DEC0_ENA 0x0200 /* ISRC3_DEC0_ENA */ | ||
| 6538 | #define ARIZONA_ISRC3_DEC0_ENA_MASK 0x0200 /* ISRC3_DEC0_ENA */ | ||
| 6539 | #define ARIZONA_ISRC3_DEC0_ENA_SHIFT 9 /* ISRC3_DEC0_ENA */ | ||
| 6540 | #define ARIZONA_ISRC3_DEC0_ENA_WIDTH 1 /* ISRC3_DEC0_ENA */ | ||
| 6541 | #define ARIZONA_ISRC3_DEC1_ENA 0x0100 /* ISRC3_DEC1_ENA */ | ||
| 6542 | #define ARIZONA_ISRC3_DEC1_ENA_MASK 0x0100 /* ISRC3_DEC1_ENA */ | ||
| 6543 | #define ARIZONA_ISRC3_DEC1_ENA_SHIFT 8 /* ISRC3_DEC1_ENA */ | ||
| 6544 | #define ARIZONA_ISRC3_DEC1_ENA_WIDTH 1 /* ISRC3_DEC1_ENA */ | ||
| 6545 | #define ARIZONA_ISRC3_DEC2_ENA 0x0080 /* ISRC3_DEC2_ENA */ | ||
| 6546 | #define ARIZONA_ISRC3_DEC2_ENA_MASK 0x0080 /* ISRC3_DEC2_ENA */ | ||
| 6547 | #define ARIZONA_ISRC3_DEC2_ENA_SHIFT 7 /* ISRC3_DEC2_ENA */ | ||
| 6548 | #define ARIZONA_ISRC3_DEC2_ENA_WIDTH 1 /* ISRC3_DEC2_ENA */ | ||
| 6549 | #define ARIZONA_ISRC3_DEC3_ENA 0x0040 /* ISRC3_DEC3_ENA */ | ||
| 6550 | #define ARIZONA_ISRC3_DEC3_ENA_MASK 0x0040 /* ISRC3_DEC3_ENA */ | ||
| 6551 | #define ARIZONA_ISRC3_DEC3_ENA_SHIFT 6 /* ISRC3_DEC3_ENA */ | ||
| 6552 | #define ARIZONA_ISRC3_DEC3_ENA_WIDTH 1 /* ISRC3_DEC3_ENA */ | ||
| 6553 | #define ARIZONA_ISRC3_NOTCH_ENA 0x0001 /* ISRC3_NOTCH_ENA */ | ||
| 6554 | #define ARIZONA_ISRC3_NOTCH_ENA_MASK 0x0001 /* ISRC3_NOTCH_ENA */ | ||
| 6555 | #define ARIZONA_ISRC3_NOTCH_ENA_SHIFT 0 /* ISRC3_NOTCH_ENA */ | ||
| 6556 | #define ARIZONA_ISRC3_NOTCH_ENA_WIDTH 1 /* ISRC3_NOTCH_ENA */ | ||
| 6557 | |||
| 6558 | /* | ||
| 6559 | * R4352 (0x1100) - DSP1 Control 1 | ||
| 6560 | */ | ||
| 6561 | #define ARIZONA_DSP1_RATE_MASK 0x7800 /* DSP1_RATE - [14:11] */ | ||
| 6562 | #define ARIZONA_DSP1_RATE_SHIFT 11 /* DSP1_RATE - [14:11] */ | ||
| 6563 | #define ARIZONA_DSP1_RATE_WIDTH 4 /* DSP1_RATE - [14:11] */ | ||
| 6564 | #define ARIZONA_DSP1_MEM_ENA 0x0010 /* DSP1_MEM_ENA */ | ||
| 6565 | #define ARIZONA_DSP1_MEM_ENA_MASK 0x0010 /* DSP1_MEM_ENA */ | ||
| 6566 | #define ARIZONA_DSP1_MEM_ENA_SHIFT 4 /* DSP1_MEM_ENA */ | ||
| 6567 | #define ARIZONA_DSP1_MEM_ENA_WIDTH 1 /* DSP1_MEM_ENA */ | ||
| 6568 | #define ARIZONA_DSP1_SYS_ENA 0x0004 /* DSP1_SYS_ENA */ | ||
| 6569 | #define ARIZONA_DSP1_SYS_ENA_MASK 0x0004 /* DSP1_SYS_ENA */ | ||
| 6570 | #define ARIZONA_DSP1_SYS_ENA_SHIFT 2 /* DSP1_SYS_ENA */ | ||
| 6571 | #define ARIZONA_DSP1_SYS_ENA_WIDTH 1 /* DSP1_SYS_ENA */ | ||
| 6572 | #define ARIZONA_DSP1_CORE_ENA 0x0002 /* DSP1_CORE_ENA */ | ||
| 6573 | #define ARIZONA_DSP1_CORE_ENA_MASK 0x0002 /* DSP1_CORE_ENA */ | ||
| 6574 | #define ARIZONA_DSP1_CORE_ENA_SHIFT 1 /* DSP1_CORE_ENA */ | ||
| 6575 | #define ARIZONA_DSP1_CORE_ENA_WIDTH 1 /* DSP1_CORE_ENA */ | ||
| 6576 | #define ARIZONA_DSP1_START 0x0001 /* DSP1_START */ | ||
| 6577 | #define ARIZONA_DSP1_START_MASK 0x0001 /* DSP1_START */ | ||
| 6578 | #define ARIZONA_DSP1_START_SHIFT 0 /* DSP1_START */ | ||
| 6579 | #define ARIZONA_DSP1_START_WIDTH 1 /* DSP1_START */ | ||
| 6580 | |||
| 6581 | /* | ||
| 6582 | * R4353 (0x1101) - DSP1 Clocking 1 | ||
| 6583 | */ | ||
| 6584 | #define ARIZONA_DSP1_CLK_SEL_MASK 0x0007 /* DSP1_CLK_SEL - [2:0] */ | ||
| 6585 | #define ARIZONA_DSP1_CLK_SEL_SHIFT 0 /* DSP1_CLK_SEL - [2:0] */ | ||
| 6586 | #define ARIZONA_DSP1_CLK_SEL_WIDTH 3 /* DSP1_CLK_SEL - [2:0] */ | ||
| 6587 | |||
| 6588 | /* | ||
| 6589 | * R4356 (0x1104) - DSP1 Status 1 | ||
| 6590 | */ | ||
| 6591 | #define ARIZONA_DSP1_RAM_RDY 0x0001 /* DSP1_RAM_RDY */ | ||
| 6592 | #define ARIZONA_DSP1_RAM_RDY_MASK 0x0001 /* DSP1_RAM_RDY */ | ||
| 6593 | #define ARIZONA_DSP1_RAM_RDY_SHIFT 0 /* DSP1_RAM_RDY */ | ||
| 6594 | #define ARIZONA_DSP1_RAM_RDY_WIDTH 1 /* DSP1_RAM_RDY */ | ||
| 6595 | |||
| 6596 | /* | ||
| 6597 | * R4357 (0x1105) - DSP1 Status 2 | ||
| 6598 | */ | ||
| 6599 | #define ARIZONA_DSP1_PING_FULL 0x8000 /* DSP1_PING_FULL */ | ||
| 6600 | #define ARIZONA_DSP1_PING_FULL_MASK 0x8000 /* DSP1_PING_FULL */ | ||
| 6601 | #define ARIZONA_DSP1_PING_FULL_SHIFT 15 /* DSP1_PING_FULL */ | ||
| 6602 | #define ARIZONA_DSP1_PING_FULL_WIDTH 1 /* DSP1_PING_FULL */ | ||
| 6603 | #define ARIZONA_DSP1_PONG_FULL 0x4000 /* DSP1_PONG_FULL */ | ||
| 6604 | #define ARIZONA_DSP1_PONG_FULL_MASK 0x4000 /* DSP1_PONG_FULL */ | ||
| 6605 | #define ARIZONA_DSP1_PONG_FULL_SHIFT 14 /* DSP1_PONG_FULL */ | ||
| 6606 | #define ARIZONA_DSP1_PONG_FULL_WIDTH 1 /* DSP1_PONG_FULL */ | ||
| 6607 | #define ARIZONA_DSP1_WDMA_ACTIVE_CHANNELS_MASK 0x00FF /* DSP1_WDMA_ACTIVE_CHANNELS - [7:0] */ | ||
| 6608 | #define ARIZONA_DSP1_WDMA_ACTIVE_CHANNELS_SHIFT 0 /* DSP1_WDMA_ACTIVE_CHANNELS - [7:0] */ | ||
| 6609 | #define ARIZONA_DSP1_WDMA_ACTIVE_CHANNELS_WIDTH 8 /* DSP1_WDMA_ACTIVE_CHANNELS - [7:0] */ | ||
| 6610 | |||
| 6611 | #endif | ||
diff --git a/include/linux/mfd/as3711.h b/include/linux/mfd/as3711.h deleted file mode 100644 index 38452ce1e89..00000000000 --- a/include/linux/mfd/as3711.h +++ /dev/null | |||
| @@ -1,126 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * AS3711 PMIC MFC driver header | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Renesas Electronics Corporation | ||
| 5 | * Author: Guennadi Liakhovetski, <g.liakhovetski@gmx.de> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the version 2 of the GNU General Public License as | ||
| 9 | * published by the Free Software Foundation | ||
| 10 | */ | ||
| 11 | |||
| 12 | #ifndef MFD_AS3711_H | ||
| 13 | #define MFD_AS3711_H | ||
| 14 | |||
| 15 | /* | ||
| 16 | * Client data | ||
| 17 | */ | ||
| 18 | |||
| 19 | /* Register addresses */ | ||
| 20 | #define AS3711_SD_1_VOLTAGE 0 /* Digital Step-Down */ | ||
| 21 | #define AS3711_SD_2_VOLTAGE 1 | ||
| 22 | #define AS3711_SD_3_VOLTAGE 2 | ||
| 23 | #define AS3711_SD_4_VOLTAGE 3 | ||
| 24 | #define AS3711_LDO_1_VOLTAGE 4 /* Analog LDO */ | ||
| 25 | #define AS3711_LDO_2_VOLTAGE 5 | ||
| 26 | #define AS3711_LDO_3_VOLTAGE 6 /* Digital LDO */ | ||
| 27 | #define AS3711_LDO_4_VOLTAGE 7 | ||
| 28 | #define AS3711_LDO_5_VOLTAGE 8 | ||
| 29 | #define AS3711_LDO_6_VOLTAGE 9 | ||
| 30 | #define AS3711_LDO_7_VOLTAGE 0xa | ||
| 31 | #define AS3711_LDO_8_VOLTAGE 0xb | ||
| 32 | #define AS3711_SD_CONTROL 0x10 | ||
| 33 | #define AS3711_GPIO_SIGNAL_OUT 0x20 | ||
| 34 | #define AS3711_GPIO_SIGNAL_IN 0x21 | ||
| 35 | #define AS3711_SD_CONTROL_1 0x30 | ||
| 36 | #define AS3711_SD_CONTROL_2 0x31 | ||
| 37 | #define AS3711_CURR_CONTROL 0x40 | ||
| 38 | #define AS3711_CURR1_VALUE 0x43 | ||
| 39 | #define AS3711_CURR2_VALUE 0x44 | ||
| 40 | #define AS3711_CURR3_VALUE 0x45 | ||
| 41 | #define AS3711_STEPUP_CONTROL_1 0x50 | ||
| 42 | #define AS3711_STEPUP_CONTROL_2 0x51 | ||
| 43 | #define AS3711_STEPUP_CONTROL_4 0x53 | ||
| 44 | #define AS3711_STEPUP_CONTROL_5 0x54 | ||
| 45 | #define AS3711_REG_STATUS 0x73 | ||
| 46 | #define AS3711_INTERRUPT_STATUS_1 0x77 | ||
| 47 | #define AS3711_INTERRUPT_STATUS_2 0x78 | ||
| 48 | #define AS3711_INTERRUPT_STATUS_3 0x79 | ||
| 49 | #define AS3711_CHARGER_STATUS_1 0x86 | ||
| 50 | #define AS3711_CHARGER_STATUS_2 0x87 | ||
| 51 | #define AS3711_ASIC_ID_1 0x90 | ||
| 52 | #define AS3711_ASIC_ID_2 0x91 | ||
| 53 | |||
| 54 | #define AS3711_MAX_REGS 0x92 | ||
| 55 | |||
| 56 | /* Regulators */ | ||
| 57 | enum { | ||
| 58 | AS3711_REGULATOR_SD_1, | ||
| 59 | AS3711_REGULATOR_SD_2, | ||
| 60 | AS3711_REGULATOR_SD_3, | ||
| 61 | AS3711_REGULATOR_SD_4, | ||
| 62 | AS3711_REGULATOR_LDO_1, | ||
| 63 | AS3711_REGULATOR_LDO_2, | ||
| 64 | AS3711_REGULATOR_LDO_3, | ||
| 65 | AS3711_REGULATOR_LDO_4, | ||
| 66 | AS3711_REGULATOR_LDO_5, | ||
| 67 | AS3711_REGULATOR_LDO_6, | ||
| 68 | AS3711_REGULATOR_LDO_7, | ||
| 69 | AS3711_REGULATOR_LDO_8, | ||
| 70 | |||
| 71 | AS3711_REGULATOR_MAX, | ||
| 72 | }; | ||
| 73 | |||
| 74 | struct device; | ||
| 75 | struct regmap; | ||
| 76 | |||
| 77 | struct as3711 { | ||
| 78 | struct device *dev; | ||
| 79 | struct regmap *regmap; | ||
| 80 | }; | ||
| 81 | |||
| 82 | #define AS3711_MAX_STEPDOWN 4 | ||
| 83 | #define AS3711_MAX_STEPUP 2 | ||
| 84 | #define AS3711_MAX_LDO 8 | ||
| 85 | |||
| 86 | enum as3711_su2_feedback { | ||
| 87 | AS3711_SU2_VOLTAGE, | ||
| 88 | AS3711_SU2_CURR1, | ||
| 89 | AS3711_SU2_CURR2, | ||
| 90 | AS3711_SU2_CURR3, | ||
| 91 | AS3711_SU2_CURR_AUTO, | ||
| 92 | }; | ||
| 93 | |||
| 94 | enum as3711_su2_fbprot { | ||
| 95 | AS3711_SU2_LX_SD4, | ||
| 96 | AS3711_SU2_GPIO2, | ||
| 97 | AS3711_SU2_GPIO3, | ||
| 98 | AS3711_SU2_GPIO4, | ||
| 99 | }; | ||
| 100 | |||
| 101 | /* | ||
| 102 | * Platform data | ||
| 103 | */ | ||
| 104 | |||
| 105 | struct as3711_regulator_pdata { | ||
| 106 | struct regulator_init_data *init_data[AS3711_REGULATOR_MAX]; | ||
| 107 | }; | ||
| 108 | |||
| 109 | struct as3711_bl_pdata { | ||
| 110 | const char *su1_fb; | ||
| 111 | int su1_max_uA; | ||
| 112 | const char *su2_fb; | ||
| 113 | int su2_max_uA; | ||
| 114 | enum as3711_su2_feedback su2_feedback; | ||
| 115 | enum as3711_su2_fbprot su2_fbprot; | ||
| 116 | bool su2_auto_curr1; | ||
| 117 | bool su2_auto_curr2; | ||
| 118 | bool su2_auto_curr3; | ||
| 119 | }; | ||
| 120 | |||
| 121 | struct as3711_platform_data { | ||
| 122 | struct as3711_regulator_pdata regulator; | ||
| 123 | struct as3711_bl_pdata backlight; | ||
| 124 | }; | ||
| 125 | |||
| 126 | #endif | ||
diff --git a/include/linux/mfd/asic3.h b/include/linux/mfd/asic3.h index e1148d037e7..ed793b77a1c 100644 --- a/include/linux/mfd/asic3.h +++ b/include/linux/mfd/asic3.h | |||
| @@ -31,8 +31,6 @@ struct asic3_platform_data { | |||
| 31 | 31 | ||
| 32 | unsigned int gpio_base; | 32 | unsigned int gpio_base; |
| 33 | 33 | ||
| 34 | unsigned int clock_rate; | ||
| 35 | |||
| 36 | struct asic3_led *leds; | 34 | struct asic3_led *leds; |
| 37 | }; | 35 | }; |
| 38 | 36 | ||
| @@ -140,7 +138,6 @@ struct asic3_platform_data { | |||
| 140 | #define ASIC3_GPIOC13_nPWAIT ASIC3_CONFIG_GPIO(45, 1, 1, 0) | 138 | #define ASIC3_GPIOC13_nPWAIT ASIC3_CONFIG_GPIO(45, 1, 1, 0) |
| 141 | #define ASIC3_GPIOC14_nPIOIS16 ASIC3_CONFIG_GPIO(46, 1, 1, 0) | 139 | #define ASIC3_GPIOC14_nPIOIS16 ASIC3_CONFIG_GPIO(46, 1, 1, 0) |
| 142 | #define ASIC3_GPIOC15_nPIOR ASIC3_CONFIG_GPIO(47, 1, 0, 0) | 140 | #define ASIC3_GPIOC15_nPIOR ASIC3_CONFIG_GPIO(47, 1, 0, 0) |
| 143 | #define ASIC3_GPIOD4_CF_nCD ASIC3_CONFIG_GPIO(52, 1, 0, 0) | ||
| 144 | #define ASIC3_GPIOD11_nCIOIS16 ASIC3_CONFIG_GPIO(59, 1, 0, 0) | 141 | #define ASIC3_GPIOD11_nCIOIS16 ASIC3_CONFIG_GPIO(59, 1, 0, 0) |
| 145 | #define ASIC3_GPIOD12_nCWAIT ASIC3_CONFIG_GPIO(60, 1, 0, 0) | 142 | #define ASIC3_GPIOD12_nCWAIT ASIC3_CONFIG_GPIO(60, 1, 0, 0) |
| 146 | #define ASIC3_GPIOD15_nPIOW ASIC3_CONFIG_GPIO(63, 1, 0, 0) | 143 | #define ASIC3_GPIOD15_nPIOW ASIC3_CONFIG_GPIO(63, 1, 0, 0) |
diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index cebe97ee98b..4e76163dd86 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h | |||
| @@ -16,8 +16,6 @@ | |||
| 16 | 16 | ||
| 17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
| 18 | 18 | ||
| 19 | struct irq_domain; | ||
| 20 | |||
| 21 | /* | 19 | /* |
| 22 | * This struct describes the MFD part ("cell"). | 20 | * This struct describes the MFD part ("cell"). |
| 23 | * After registration the copy of this structure will become the platform data | 21 | * After registration the copy of this structure will become the platform data |
| @@ -38,11 +36,6 @@ struct mfd_cell { | |||
| 38 | /* platform data passed to the sub devices drivers */ | 36 | /* platform data passed to the sub devices drivers */ |
| 39 | void *platform_data; | 37 | void *platform_data; |
| 40 | size_t pdata_size; | 38 | size_t pdata_size; |
| 41 | /* | ||
| 42 | * Device Tree compatible string | ||
| 43 | * See: Documentation/devicetree/usage-model.txt Chapter 2.2 for details | ||
| 44 | */ | ||
| 45 | const char *of_compatible; | ||
| 46 | 39 | ||
| 47 | /* | 40 | /* |
| 48 | * These resources can be specified relative to the parent device. | 41 | * These resources can be specified relative to the parent device. |
| @@ -100,7 +93,7 @@ static inline const struct mfd_cell *mfd_get_cell(struct platform_device *pdev) | |||
| 100 | extern int mfd_add_devices(struct device *parent, int id, | 93 | extern int mfd_add_devices(struct device *parent, int id, |
| 101 | struct mfd_cell *cells, int n_devs, | 94 | struct mfd_cell *cells, int n_devs, |
| 102 | struct resource *mem_base, | 95 | struct resource *mem_base, |
| 103 | int irq_base, struct irq_domain *irq_domain); | 96 | int irq_base); |
| 104 | 97 | ||
| 105 | extern void mfd_remove_devices(struct device *parent); | 98 | extern void mfd_remove_devices(struct device *parent); |
| 106 | 99 | ||
diff --git a/include/linux/mfd/da9052/da9052.h b/include/linux/mfd/da9052/da9052.h deleted file mode 100644 index 86dd93de6ff..00000000000 --- a/include/linux/mfd/da9052/da9052.h +++ /dev/null | |||
| @@ -1,159 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * da9052 declarations for DA9052 PMICs. | ||
| 3 | * | ||
| 4 | * Copyright(c) 2011 Dialog Semiconductor Ltd. | ||
| 5 | * | ||
| 6 | * Author: David Dajun Chen <dchen@diasemi.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 21 | * | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __MFD_DA9052_DA9052_H | ||
| 25 | #define __MFD_DA9052_DA9052_H | ||
| 26 | |||
| 27 | #include <linux/interrupt.h> | ||
| 28 | #include <linux/regmap.h> | ||
| 29 | #include <linux/slab.h> | ||
| 30 | #include <linux/completion.h> | ||
| 31 | #include <linux/list.h> | ||
| 32 | #include <linux/mfd/core.h> | ||
| 33 | |||
| 34 | #include <linux/mfd/da9052/reg.h> | ||
| 35 | |||
| 36 | /* Common - HWMON Channel Definations */ | ||
| 37 | #define DA9052_ADC_VDDOUT 0 | ||
| 38 | #define DA9052_ADC_ICH 1 | ||
| 39 | #define DA9052_ADC_TBAT 2 | ||
| 40 | #define DA9052_ADC_VBAT 3 | ||
| 41 | #define DA9052_ADC_IN4 4 | ||
| 42 | #define DA9052_ADC_IN5 5 | ||
| 43 | #define DA9052_ADC_IN6 6 | ||
| 44 | #define DA9052_ADC_TSI 7 | ||
| 45 | #define DA9052_ADC_TJUNC 8 | ||
| 46 | #define DA9052_ADC_VBBAT 9 | ||
| 47 | |||
| 48 | #define DA9052_IRQ_DCIN 0 | ||
| 49 | #define DA9052_IRQ_VBUS 1 | ||
| 50 | #define DA9052_IRQ_DCINREM 2 | ||
| 51 | #define DA9052_IRQ_VBUSREM 3 | ||
| 52 | #define DA9052_IRQ_VDDLOW 4 | ||
| 53 | #define DA9052_IRQ_ALARM 5 | ||
| 54 | #define DA9052_IRQ_SEQRDY 6 | ||
| 55 | #define DA9052_IRQ_COMP1V2 7 | ||
| 56 | #define DA9052_IRQ_NONKEY 8 | ||
| 57 | #define DA9052_IRQ_IDFLOAT 9 | ||
| 58 | #define DA9052_IRQ_IDGND 10 | ||
| 59 | #define DA9052_IRQ_CHGEND 11 | ||
| 60 | #define DA9052_IRQ_TBAT 12 | ||
| 61 | #define DA9052_IRQ_ADC_EOM 13 | ||
| 62 | #define DA9052_IRQ_PENDOWN 14 | ||
| 63 | #define DA9052_IRQ_TSIREADY 15 | ||
| 64 | #define DA9052_IRQ_GPI0 16 | ||
| 65 | #define DA9052_IRQ_GPI1 17 | ||
| 66 | #define DA9052_IRQ_GPI2 18 | ||
| 67 | #define DA9052_IRQ_GPI3 19 | ||
| 68 | #define DA9052_IRQ_GPI4 20 | ||
| 69 | #define DA9052_IRQ_GPI5 21 | ||
| 70 | #define DA9052_IRQ_GPI6 22 | ||
| 71 | #define DA9052_IRQ_GPI7 23 | ||
| 72 | #define DA9052_IRQ_GPI8 24 | ||
| 73 | #define DA9052_IRQ_GPI9 25 | ||
| 74 | #define DA9052_IRQ_GPI10 26 | ||
| 75 | #define DA9052_IRQ_GPI11 27 | ||
| 76 | #define DA9052_IRQ_GPI12 28 | ||
| 77 | #define DA9052_IRQ_GPI13 29 | ||
| 78 | #define DA9052_IRQ_GPI14 30 | ||
| 79 | #define DA9052_IRQ_GPI15 31 | ||
| 80 | |||
| 81 | enum da9052_chip_id { | ||
| 82 | DA9052, | ||
| 83 | DA9053_AA, | ||
| 84 | DA9053_BA, | ||
| 85 | DA9053_BB, | ||
| 86 | }; | ||
| 87 | |||
| 88 | struct da9052_pdata; | ||
| 89 | |||
| 90 | struct da9052 { | ||
| 91 | struct device *dev; | ||
| 92 | struct regmap *regmap; | ||
| 93 | |||
| 94 | struct mutex auxadc_lock; | ||
| 95 | struct completion done; | ||
| 96 | |||
| 97 | int irq_base; | ||
| 98 | struct regmap_irq_chip_data *irq_data; | ||
| 99 | u8 chip_id; | ||
| 100 | |||
| 101 | int chip_irq; | ||
| 102 | }; | ||
| 103 | |||
| 104 | /* ADC API */ | ||
| 105 | int da9052_adc_manual_read(struct da9052 *da9052, unsigned char channel); | ||
| 106 | int da9052_adc_read_temp(struct da9052 *da9052); | ||
| 107 | |||
| 108 | /* Device I/O API */ | ||
| 109 | static inline int da9052_reg_read(struct da9052 *da9052, unsigned char reg) | ||
| 110 | { | ||
| 111 | int val, ret; | ||
| 112 | |||
| 113 | ret = regmap_read(da9052->regmap, reg, &val); | ||
| 114 | if (ret < 0) | ||
| 115 | return ret; | ||
| 116 | return val; | ||
| 117 | } | ||
| 118 | |||
| 119 | static inline int da9052_reg_write(struct da9052 *da9052, unsigned char reg, | ||
| 120 | unsigned char val) | ||
| 121 | { | ||
| 122 | return regmap_write(da9052->regmap, reg, val); | ||
| 123 | } | ||
| 124 | |||
| 125 | static inline int da9052_group_read(struct da9052 *da9052, unsigned char reg, | ||
| 126 | unsigned reg_cnt, unsigned char *val) | ||
| 127 | { | ||
| 128 | return regmap_bulk_read(da9052->regmap, reg, val, reg_cnt); | ||
| 129 | } | ||
| 130 | |||
| 131 | static inline int da9052_group_write(struct da9052 *da9052, unsigned char reg, | ||
| 132 | unsigned reg_cnt, unsigned char *val) | ||
| 133 | { | ||
| 134 | return regmap_raw_write(da9052->regmap, reg, val, reg_cnt); | ||
| 135 | } | ||
| 136 | |||
| 137 | static inline int da9052_reg_update(struct da9052 *da9052, unsigned char reg, | ||
| 138 | unsigned char bit_mask, | ||
| 139 | unsigned char reg_val) | ||
| 140 | { | ||
| 141 | return regmap_update_bits(da9052->regmap, reg, bit_mask, reg_val); | ||
| 142 | } | ||
| 143 | |||
| 144 | int da9052_device_init(struct da9052 *da9052, u8 chip_id); | ||
| 145 | void da9052_device_exit(struct da9052 *da9052); | ||
| 146 | |||
| 147 | extern struct regmap_config da9052_regmap_config; | ||
| 148 | |||
| 149 | int da9052_irq_init(struct da9052 *da9052); | ||
| 150 | int da9052_irq_exit(struct da9052 *da9052); | ||
| 151 | int da9052_request_irq(struct da9052 *da9052, int irq, char *name, | ||
| 152 | irq_handler_t handler, void *data); | ||
| 153 | void da9052_free_irq(struct da9052 *da9052, int irq, void *data); | ||
| 154 | |||
| 155 | int da9052_enable_irq(struct da9052 *da9052, int irq); | ||
| 156 | int da9052_disable_irq(struct da9052 *da9052, int irq); | ||
| 157 | int da9052_disable_irq_nosync(struct da9052 *da9052, int irq); | ||
| 158 | |||
| 159 | #endif /* __MFD_DA9052_DA9052_H */ | ||
diff --git a/include/linux/mfd/da9052/pdata.h b/include/linux/mfd/da9052/pdata.h deleted file mode 100644 index 62c5c3c2992..00000000000 --- a/include/linux/mfd/da9052/pdata.h +++ /dev/null | |||
| @@ -1,40 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Platform data declarations for DA9052 PMICs. | ||
| 3 | * | ||
| 4 | * Copyright(c) 2011 Dialog Semiconductor Ltd. | ||
| 5 | * | ||
| 6 | * Author: David Dajun Chen <dchen@diasemi.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 21 | * | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __MFD_DA9052_PDATA_H__ | ||
| 25 | #define __MFD_DA9052_PDATA_H__ | ||
| 26 | |||
| 27 | #define DA9052_MAX_REGULATORS 14 | ||
| 28 | |||
| 29 | struct da9052; | ||
| 30 | |||
| 31 | struct da9052_pdata { | ||
| 32 | struct led_platform_data *pled; | ||
| 33 | int (*init) (struct da9052 *da9052); | ||
| 34 | int irq_base; | ||
| 35 | int gpio_base; | ||
| 36 | int use_for_apm; | ||
| 37 | struct regulator_init_data *regulators[DA9052_MAX_REGULATORS]; | ||
| 38 | }; | ||
| 39 | |||
| 40 | #endif | ||
diff --git a/include/linux/mfd/da9052/reg.h b/include/linux/mfd/da9052/reg.h deleted file mode 100644 index b97f7309d7f..00000000000 --- a/include/linux/mfd/da9052/reg.h +++ /dev/null | |||
| @@ -1,749 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Register declarations for DA9052 PMICs. | ||
| 3 | * | ||
| 4 | * Copyright(c) 2011 Dialog Semiconductor Ltd. | ||
| 5 | * | ||
| 6 | * Author: David Dajun Chen <dchen@diasemi.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 21 | * | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __LINUX_MFD_DA9052_REG_H | ||
| 25 | #define __LINUX_MFD_DA9052_REG_H | ||
| 26 | |||
| 27 | /* PAGE REGISTERS */ | ||
| 28 | #define DA9052_PAGE0_CON_REG 0 | ||
| 29 | #define DA9052_PAGE1_CON_REG 128 | ||
| 30 | |||
| 31 | /* STATUS REGISTERS */ | ||
| 32 | #define DA9052_STATUS_A_REG 1 | ||
| 33 | #define DA9052_STATUS_B_REG 2 | ||
| 34 | #define DA9052_STATUS_C_REG 3 | ||
| 35 | #define DA9052_STATUS_D_REG 4 | ||
| 36 | |||
| 37 | /* EVENT REGISTERS */ | ||
| 38 | #define DA9052_EVENT_A_REG 5 | ||
| 39 | #define DA9052_EVENT_B_REG 6 | ||
| 40 | #define DA9052_EVENT_C_REG 7 | ||
| 41 | #define DA9052_EVENT_D_REG 8 | ||
| 42 | #define DA9052_FAULTLOG_REG 9 | ||
| 43 | |||
| 44 | /* IRQ REGISTERS */ | ||
| 45 | #define DA9052_IRQ_MASK_A_REG 10 | ||
| 46 | #define DA9052_IRQ_MASK_B_REG 11 | ||
| 47 | #define DA9052_IRQ_MASK_C_REG 12 | ||
| 48 | #define DA9052_IRQ_MASK_D_REG 13 | ||
| 49 | |||
| 50 | /* CONTROL REGISTERS */ | ||
| 51 | #define DA9052_CONTROL_A_REG 14 | ||
| 52 | #define DA9052_CONTROL_B_REG 15 | ||
| 53 | #define DA9052_CONTROL_C_REG 16 | ||
| 54 | #define DA9052_CONTROL_D_REG 17 | ||
| 55 | |||
| 56 | #define DA9052_PDDIS_REG 18 | ||
| 57 | #define DA9052_INTERFACE_REG 19 | ||
| 58 | #define DA9052_RESET_REG 20 | ||
| 59 | |||
| 60 | /* GPIO REGISTERS */ | ||
| 61 | #define DA9052_GPIO_0_1_REG 21 | ||
| 62 | #define DA9052_GPIO_2_3_REG 22 | ||
| 63 | #define DA9052_GPIO_4_5_REG 23 | ||
| 64 | #define DA9052_GPIO_6_7_REG 24 | ||
| 65 | #define DA9052_GPIO_14_15_REG 28 | ||
| 66 | |||
| 67 | /* POWER SEQUENCER CONTROL REGISTERS */ | ||
| 68 | #define DA9052_ID_0_1_REG 29 | ||
| 69 | #define DA9052_ID_2_3_REG 30 | ||
| 70 | #define DA9052_ID_4_5_REG 31 | ||
| 71 | #define DA9052_ID_6_7_REG 32 | ||
| 72 | #define DA9052_ID_8_9_REG 33 | ||
| 73 | #define DA9052_ID_10_11_REG 34 | ||
| 74 | #define DA9052_ID_12_13_REG 35 | ||
| 75 | #define DA9052_ID_14_15_REG 36 | ||
| 76 | #define DA9052_ID_16_17_REG 37 | ||
| 77 | #define DA9052_ID_18_19_REG 38 | ||
| 78 | #define DA9052_ID_20_21_REG 39 | ||
| 79 | #define DA9052_SEQ_STATUS_REG 40 | ||
| 80 | #define DA9052_SEQ_A_REG 41 | ||
| 81 | #define DA9052_SEQ_B_REG 42 | ||
| 82 | #define DA9052_SEQ_TIMER_REG 43 | ||
| 83 | |||
| 84 | /* LDO AND BUCK REGISTERS */ | ||
| 85 | #define DA9052_BUCKA_REG 44 | ||
| 86 | #define DA9052_BUCKB_REG 45 | ||
| 87 | #define DA9052_BUCKCORE_REG 46 | ||
| 88 | #define DA9052_BUCKPRO_REG 47 | ||
| 89 | #define DA9052_BUCKMEM_REG 48 | ||
| 90 | #define DA9052_BUCKPERI_REG 49 | ||
| 91 | #define DA9052_LDO1_REG 50 | ||
| 92 | #define DA9052_LDO2_REG 51 | ||
| 93 | #define DA9052_LDO3_REG 52 | ||
| 94 | #define DA9052_LDO4_REG 53 | ||
| 95 | #define DA9052_LDO5_REG 54 | ||
| 96 | #define DA9052_LDO6_REG 55 | ||
| 97 | #define DA9052_LDO7_REG 56 | ||
| 98 | #define DA9052_LDO8_REG 57 | ||
| 99 | #define DA9052_LDO9_REG 58 | ||
| 100 | #define DA9052_LDO10_REG 59 | ||
| 101 | #define DA9052_SUPPLY_REG 60 | ||
| 102 | #define DA9052_PULLDOWN_REG 61 | ||
| 103 | #define DA9052_CHGBUCK_REG 62 | ||
| 104 | #define DA9052_WAITCONT_REG 63 | ||
| 105 | #define DA9052_ISET_REG 64 | ||
| 106 | #define DA9052_BATCHG_REG 65 | ||
| 107 | |||
| 108 | /* BATTERY CONTROL REGISTRS */ | ||
| 109 | #define DA9052_CHG_CONT_REG 66 | ||
| 110 | #define DA9052_INPUT_CONT_REG 67 | ||
| 111 | #define DA9052_CHG_TIME_REG 68 | ||
| 112 | #define DA9052_BBAT_CONT_REG 69 | ||
| 113 | |||
| 114 | /* LED CONTROL REGISTERS */ | ||
| 115 | #define DA9052_BOOST_REG 70 | ||
| 116 | #define DA9052_LED_CONT_REG 71 | ||
| 117 | #define DA9052_LEDMIN123_REG 72 | ||
| 118 | #define DA9052_LED1_CONF_REG 73 | ||
| 119 | #define DA9052_LED2_CONF_REG 74 | ||
| 120 | #define DA9052_LED3_CONF_REG 75 | ||
| 121 | #define DA9052_LED1CONT_REG 76 | ||
| 122 | #define DA9052_LED2CONT_REG 77 | ||
| 123 | #define DA9052_LED3CONT_REG 78 | ||
| 124 | #define DA9052_LED_CONT_4_REG 79 | ||
| 125 | #define DA9052_LED_CONT_5_REG 80 | ||
| 126 | |||
| 127 | /* ADC CONTROL REGISTERS */ | ||
| 128 | #define DA9052_ADC_MAN_REG 81 | ||
| 129 | #define DA9052_ADC_CONT_REG 82 | ||
| 130 | #define DA9052_ADC_RES_L_REG 83 | ||
| 131 | #define DA9052_ADC_RES_H_REG 84 | ||
| 132 | #define DA9052_VDD_RES_REG 85 | ||
| 133 | #define DA9052_VDD_MON_REG 86 | ||
| 134 | |||
| 135 | #define DA9052_ICHG_AV_REG 87 | ||
| 136 | #define DA9052_ICHG_THD_REG 88 | ||
| 137 | #define DA9052_ICHG_END_REG 89 | ||
| 138 | #define DA9052_TBAT_RES_REG 90 | ||
| 139 | #define DA9052_TBAT_HIGHP_REG 91 | ||
| 140 | #define DA9052_TBAT_HIGHN_REG 92 | ||
| 141 | #define DA9052_TBAT_LOW_REG 93 | ||
| 142 | #define DA9052_T_OFFSET_REG 94 | ||
| 143 | |||
| 144 | #define DA9052_ADCIN4_RES_REG 95 | ||
| 145 | #define DA9052_AUTO4_HIGH_REG 96 | ||
| 146 | #define DA9052_AUTO4_LOW_REG 97 | ||
| 147 | #define DA9052_ADCIN5_RES_REG 98 | ||
| 148 | #define DA9052_AUTO5_HIGH_REG 99 | ||
| 149 | #define DA9052_AUTO5_LOW_REG 100 | ||
| 150 | #define DA9052_ADCIN6_RES_REG 101 | ||
| 151 | #define DA9052_AUTO6_HIGH_REG 102 | ||
| 152 | #define DA9052_AUTO6_LOW_REG 103 | ||
| 153 | |||
| 154 | #define DA9052_TJUNC_RES_REG 104 | ||
| 155 | |||
| 156 | /* TSI CONTROL REGISTERS */ | ||
| 157 | #define DA9052_TSI_CONT_A_REG 105 | ||
| 158 | #define DA9052_TSI_CONT_B_REG 106 | ||
| 159 | #define DA9052_TSI_X_MSB_REG 107 | ||
| 160 | #define DA9052_TSI_Y_MSB_REG 108 | ||
| 161 | #define DA9052_TSI_LSB_REG 109 | ||
| 162 | #define DA9052_TSI_Z_MSB_REG 110 | ||
| 163 | |||
| 164 | /* RTC COUNT REGISTERS */ | ||
| 165 | #define DA9052_COUNT_S_REG 111 | ||
| 166 | #define DA9052_COUNT_MI_REG 112 | ||
| 167 | #define DA9052_COUNT_H_REG 113 | ||
| 168 | #define DA9052_COUNT_D_REG 114 | ||
| 169 | #define DA9052_COUNT_MO_REG 115 | ||
| 170 | #define DA9052_COUNT_Y_REG 116 | ||
| 171 | |||
| 172 | /* RTC CONTROL REGISTERS */ | ||
| 173 | #define DA9052_ALARM_MI_REG 117 | ||
| 174 | #define DA9052_ALARM_H_REG 118 | ||
| 175 | #define DA9052_ALARM_D_REG 119 | ||
| 176 | #define DA9052_ALARM_MO_REG 120 | ||
| 177 | #define DA9052_ALARM_Y_REG 121 | ||
| 178 | #define DA9052_SECOND_A_REG 122 | ||
| 179 | #define DA9052_SECOND_B_REG 123 | ||
| 180 | #define DA9052_SECOND_C_REG 124 | ||
| 181 | #define DA9052_SECOND_D_REG 125 | ||
| 182 | |||
| 183 | /* PAGE CONFIGURATION BIT */ | ||
| 184 | #define DA9052_PAGE_CONF 0X80 | ||
| 185 | |||
| 186 | /* STATUS REGISTER A BITS */ | ||
| 187 | #define DA9052_STATUSA_VDATDET 0X80 | ||
| 188 | #define DA9052_STATUSA_VBUSSEL 0X40 | ||
| 189 | #define DA9052_STATUSA_DCINSEL 0X20 | ||
| 190 | #define DA9052_STATUSA_VBUSDET 0X10 | ||
| 191 | #define DA9052_STATUSA_DCINDET 0X08 | ||
| 192 | #define DA9052_STATUSA_IDGND 0X04 | ||
| 193 | #define DA9052_STATUSA_IDFLOAT 0X02 | ||
| 194 | #define DA9052_STATUSA_NONKEY 0X01 | ||
| 195 | |||
| 196 | /* STATUS REGISTER B BITS */ | ||
| 197 | #define DA9052_STATUSB_COMPDET 0X80 | ||
| 198 | #define DA9052_STATUSB_SEQUENCING 0X40 | ||
| 199 | #define DA9052_STATUSB_GPFB2 0X20 | ||
| 200 | #define DA9052_STATUSB_CHGTO 0X10 | ||
| 201 | #define DA9052_STATUSB_CHGEND 0X08 | ||
| 202 | #define DA9052_STATUSB_CHGLIM 0X04 | ||
| 203 | #define DA9052_STATUSB_CHGPRE 0X02 | ||
| 204 | #define DA9052_STATUSB_CHGATT 0X01 | ||
| 205 | |||
| 206 | /* STATUS REGISTER C BITS */ | ||
| 207 | #define DA9052_STATUSC_GPI7 0X80 | ||
| 208 | #define DA9052_STATUSC_GPI6 0X40 | ||
| 209 | #define DA9052_STATUSC_GPI5 0X20 | ||
| 210 | #define DA9052_STATUSC_GPI4 0X10 | ||
| 211 | #define DA9052_STATUSC_GPI3 0X08 | ||
| 212 | #define DA9052_STATUSC_GPI2 0X04 | ||
| 213 | #define DA9052_STATUSC_GPI1 0X02 | ||
| 214 | #define DA9052_STATUSC_GPI0 0X01 | ||
| 215 | |||
| 216 | /* STATUS REGISTER D BITS */ | ||
| 217 | #define DA9052_STATUSD_GPI15 0X80 | ||
| 218 | #define DA9052_STATUSD_GPI14 0X40 | ||
| 219 | #define DA9052_STATUSD_GPI13 0X20 | ||
| 220 | #define DA9052_STATUSD_GPI12 0X10 | ||
| 221 | #define DA9052_STATUSD_GPI11 0X08 | ||
| 222 | #define DA9052_STATUSD_GPI10 0X04 | ||
| 223 | #define DA9052_STATUSD_GPI9 0X02 | ||
| 224 | #define DA9052_STATUSD_GPI8 0X01 | ||
| 225 | |||
| 226 | /* EVENT REGISTER A BITS */ | ||
| 227 | #define DA9052_EVENTA_ECOMP1V2 0X80 | ||
| 228 | #define DA9052_EVENTA_ESEQRDY 0X40 | ||
| 229 | #define DA9052_EVENTA_EALRAM 0X20 | ||
| 230 | #define DA9052_EVENTA_EVDDLOW 0X10 | ||
| 231 | #define DA9052_EVENTA_EVBUSREM 0X08 | ||
| 232 | #define DA9052_EVENTA_EDCINREM 0X04 | ||
| 233 | #define DA9052_EVENTA_EVBUSDET 0X02 | ||
| 234 | #define DA9052_EVENTA_EDCINDET 0X01 | ||
| 235 | |||
| 236 | /* EVENT REGISTER B BITS */ | ||
| 237 | #define DA9052_EVENTB_ETSIREADY 0X80 | ||
| 238 | #define DA9052_EVENTB_EPENDOWN 0X40 | ||
| 239 | #define DA9052_EVENTB_EADCEOM 0X20 | ||
| 240 | #define DA9052_EVENTB_ETBAT 0X10 | ||
| 241 | #define DA9052_EVENTB_ECHGEND 0X08 | ||
| 242 | #define DA9052_EVENTB_EIDGND 0X04 | ||
| 243 | #define DA9052_EVENTB_EIDFLOAT 0X02 | ||
| 244 | #define DA9052_EVENTB_ENONKEY 0X01 | ||
| 245 | |||
| 246 | /* EVENT REGISTER C BITS */ | ||
| 247 | #define DA9052_EVENTC_EGPI7 0X80 | ||
| 248 | #define DA9052_EVENTC_EGPI6 0X40 | ||
| 249 | #define DA9052_EVENTC_EGPI5 0X20 | ||
| 250 | #define DA9052_EVENTC_EGPI4 0X10 | ||
| 251 | #define DA9052_EVENTC_EGPI3 0X08 | ||
| 252 | #define DA9052_EVENTC_EGPI2 0X04 | ||
| 253 | #define DA9052_EVENTC_EGPI1 0X02 | ||
| 254 | #define DA9052_EVENTC_EGPI0 0X01 | ||
| 255 | |||
| 256 | /* EVENT REGISTER D BITS */ | ||
| 257 | #define DA9052_EVENTD_EGPI15 0X80 | ||
| 258 | #define DA9052_EVENTD_EGPI14 0X40 | ||
| 259 | #define DA9052_EVENTD_EGPI13 0X20 | ||
| 260 | #define DA9052_EVENTD_EGPI12 0X10 | ||
| 261 | #define DA9052_EVENTD_EGPI11 0X08 | ||
| 262 | #define DA9052_EVENTD_EGPI10 0X04 | ||
| 263 | #define DA9052_EVENTD_EGPI9 0X02 | ||
| 264 | #define DA9052_EVENTD_EGPI8 0X01 | ||
| 265 | |||
| 266 | /* IRQ MASK REGISTERS BITS */ | ||
| 267 | #define DA9052_M_NONKEY 0X0100 | ||
| 268 | |||
| 269 | /* TSI EVENT REGISTERS BITS */ | ||
| 270 | #define DA9052_E_PEN_DOWN 0X4000 | ||
| 271 | #define DA9052_E_TSI_READY 0X8000 | ||
| 272 | |||
| 273 | /* FAULT LOG REGISTER BITS */ | ||
| 274 | #define DA9052_FAULTLOG_WAITSET 0X80 | ||
| 275 | #define DA9052_FAULTLOG_NSDSET 0X40 | ||
| 276 | #define DA9052_FAULTLOG_KEYSHUT 0X20 | ||
| 277 | #define DA9052_FAULTLOG_TEMPOVER 0X08 | ||
| 278 | #define DA9052_FAULTLOG_VDDSTART 0X04 | ||
| 279 | #define DA9052_FAULTLOG_VDDFAULT 0X02 | ||
| 280 | #define DA9052_FAULTLOG_TWDERROR 0X01 | ||
| 281 | |||
| 282 | /* CONTROL REGISTER A BITS */ | ||
| 283 | #define DA9052_CONTROLA_GPIV 0X80 | ||
| 284 | #define DA9052_CONTROLA_PMOTYPE 0X20 | ||
| 285 | #define DA9052_CONTROLA_PMOV 0X10 | ||
| 286 | #define DA9052_CONTROLA_PMIV 0X08 | ||
| 287 | #define DA9052_CONTROLA_PMIFV 0X08 | ||
| 288 | #define DA9052_CONTROLA_PWR1EN 0X04 | ||
| 289 | #define DA9052_CONTROLA_PWREN 0X02 | ||
| 290 | #define DA9052_CONTROLA_SYSEN 0X01 | ||
| 291 | |||
| 292 | /* CONTROL REGISTER B BITS */ | ||
| 293 | #define DA9052_CONTROLB_SHUTDOWN 0X80 | ||
| 294 | #define DA9052_CONTROLB_DEEPSLEEP 0X40 | ||
| 295 | #define DA9052_CONTROL_B_WRITEMODE 0X20 | ||
| 296 | #define DA9052_CONTROLB_BBATEN 0X10 | ||
| 297 | #define DA9052_CONTROLB_OTPREADEN 0X08 | ||
| 298 | #define DA9052_CONTROLB_AUTOBOOT 0X04 | ||
| 299 | #define DA9052_CONTROLB_ACTDIODE 0X02 | ||
| 300 | #define DA9052_CONTROLB_BUCKMERGE 0X01 | ||
| 301 | |||
| 302 | /* CONTROL REGISTER C BITS */ | ||
| 303 | #define DA9052_CONTROLC_BLINKDUR 0X80 | ||
| 304 | #define DA9052_CONTROLC_BLINKFRQ 0X60 | ||
| 305 | #define DA9052_CONTROLC_DEBOUNCING 0X1C | ||
| 306 | #define DA9052_CONTROLC_PMFB2PIN 0X02 | ||
| 307 | #define DA9052_CONTROLC_PMFB1PIN 0X01 | ||
| 308 | |||
| 309 | /* CONTROL REGISTER D BITS */ | ||
| 310 | #define DA9052_CONTROLD_WATCHDOG 0X80 | ||
| 311 | #define DA9052_CONTROLD_ACCDETEN 0X40 | ||
| 312 | #define DA9052_CONTROLD_GPI1415SD 0X20 | ||
| 313 | #define DA9052_CONTROLD_NONKEYSD 0X10 | ||
| 314 | #define DA9052_CONTROLD_KEEPACTEN 0X08 | ||
| 315 | #define DA9052_CONTROLD_TWDSCALE 0X07 | ||
| 316 | |||
| 317 | /* POWER DOWN DISABLE REGISTER BITS */ | ||
| 318 | #define DA9052_PDDIS_PMCONTPD 0X80 | ||
| 319 | #define DA9052_PDDIS_OUT32KPD 0X40 | ||
| 320 | #define DA9052_PDDIS_CHGBBATPD 0X20 | ||
| 321 | #define DA9052_PDDIS_CHGPD 0X10 | ||
| 322 | #define DA9052_PDDIS_HS2WIREPD 0X08 | ||
| 323 | #define DA9052_PDDIS_PMIFPD 0X04 | ||
| 324 | #define DA9052_PDDIS_GPADCPD 0X02 | ||
| 325 | #define DA9052_PDDIS_GPIOPD 0X01 | ||
| 326 | |||
| 327 | /* CONTROL REGISTER D BITS */ | ||
| 328 | #define DA9052_INTERFACE_IFBASEADDR 0XE0 | ||
| 329 | #define DA9052_INTERFACE_NCSPOL 0X10 | ||
| 330 | #define DA9052_INTERFACE_RWPOL 0X08 | ||
| 331 | #define DA9052_INTERFACE_CPHA 0X04 | ||
| 332 | #define DA9052_INTERFACE_CPOL 0X02 | ||
| 333 | #define DA9052_INTERFACE_IFTYPE 0X01 | ||
| 334 | |||
| 335 | /* CONTROL REGISTER D BITS */ | ||
| 336 | #define DA9052_RESET_RESETEVENT 0XC0 | ||
| 337 | #define DA9052_RESET_RESETTIMER 0X3F | ||
| 338 | |||
| 339 | /* GPIO REGISTERS */ | ||
| 340 | /* GPIO CONTROL REGISTER BITS */ | ||
| 341 | #define DA9052_GPIO_EVEN_PORT_PIN 0X03 | ||
| 342 | #define DA9052_GPIO_EVEN_PORT_TYPE 0X04 | ||
| 343 | #define DA9052_GPIO_EVEN_PORT_MODE 0X08 | ||
| 344 | |||
| 345 | #define DA9052_GPIO_ODD_PORT_PIN 0X30 | ||
| 346 | #define DA9052_GPIO_ODD_PORT_TYPE 0X40 | ||
| 347 | #define DA9052_GPIO_ODD_PORT_MODE 0X80 | ||
| 348 | |||
| 349 | /*POWER SEQUENCER REGISTER BITS */ | ||
| 350 | /* SEQ CONTROL REGISTER BITS FOR ID 0 AND 1 */ | ||
| 351 | #define DA9052_ID01_LDO1STEP 0XF0 | ||
| 352 | #define DA9052_ID01_SYSPRE 0X04 | ||
| 353 | #define DA9052_ID01_DEFSUPPLY 0X02 | ||
| 354 | #define DA9052_ID01_NRESMODE 0X01 | ||
| 355 | |||
| 356 | /* SEQ CONTROL REGISTER BITS FOR ID 2 AND 3 */ | ||
| 357 | #define DA9052_ID23_LDO3STEP 0XF0 | ||
| 358 | #define DA9052_ID23_LDO2STEP 0X0F | ||
| 359 | |||
| 360 | /* SEQ CONTROL REGISTER BITS FOR ID 4 AND 5 */ | ||
| 361 | #define DA9052_ID45_LDO5STEP 0XF0 | ||
| 362 | #define DA9052_ID45_LDO4STEP 0X0F | ||
| 363 | |||
| 364 | /* SEQ CONTROL REGISTER BITS FOR ID 6 AND 7 */ | ||
| 365 | #define DA9052_ID67_LDO7STEP 0XF0 | ||
| 366 | #define DA9052_ID67_LDO6STEP 0X0F | ||
| 367 | |||
| 368 | /* SEQ CONTROL REGISTER BITS FOR ID 8 AND 9 */ | ||
| 369 | #define DA9052_ID89_LDO9STEP 0XF0 | ||
| 370 | #define DA9052_ID89_LDO8STEP 0X0F | ||
| 371 | |||
| 372 | /* SEQ CONTROL REGISTER BITS FOR ID 10 AND 11 */ | ||
| 373 | #define DA9052_ID1011_PDDISSTEP 0XF0 | ||
| 374 | #define DA9052_ID1011_LDO10STEP 0X0F | ||
| 375 | |||
| 376 | /* SEQ CONTROL REGISTER BITS FOR ID 12 AND 13 */ | ||
| 377 | #define DA9052_ID1213_VMEMSWSTEP 0XF0 | ||
| 378 | #define DA9052_ID1213_VPERISWSTEP 0X0F | ||
| 379 | |||
| 380 | /* SEQ CONTROL REGISTER BITS FOR ID 14 AND 15 */ | ||
| 381 | #define DA9052_ID1415_BUCKPROSTEP 0XF0 | ||
| 382 | #define DA9052_ID1415_BUCKCORESTEP 0X0F | ||
| 383 | |||
| 384 | /* SEQ CONTROL REGISTER BITS FOR ID 16 AND 17 */ | ||
| 385 | #define DA9052_ID1617_BUCKPERISTEP 0XF0 | ||
| 386 | #define DA9052_ID1617_BUCKMEMSTEP 0X0F | ||
| 387 | |||
| 388 | /* SEQ CONTROL REGISTER BITS FOR ID 18 AND 19 */ | ||
| 389 | #define DA9052_ID1819_GPRISE2STEP 0XF0 | ||
| 390 | #define DA9052_ID1819_GPRISE1STEP 0X0F | ||
| 391 | |||
| 392 | /* SEQ CONTROL REGISTER BITS FOR ID 20 AND 21 */ | ||
| 393 | #define DA9052_ID2021_GPFALL2STEP 0XF0 | ||
| 394 | #define DA9052_ID2021_GPFALL1STEP 0X0F | ||
| 395 | |||
| 396 | /* POWER SEQ STATUS REGISTER BITS */ | ||
| 397 | #define DA9052_SEQSTATUS_SEQPOINTER 0XF0 | ||
| 398 | #define DA9052_SEQSTATUS_WAITSTEP 0X0F | ||
| 399 | |||
| 400 | /* POWER SEQ A REGISTER BITS */ | ||
| 401 | #define DA9052_SEQA_POWEREND 0XF0 | ||
| 402 | #define DA9052_SEQA_SYSTEMEND 0X0F | ||
| 403 | |||
| 404 | /* POWER SEQ B REGISTER BITS */ | ||
| 405 | #define DA9052_SEQB_PARTDOWN 0XF0 | ||
| 406 | #define DA9052_SEQB_MAXCOUNT 0X0F | ||
| 407 | |||
| 408 | /* POWER SEQ TIMER REGISTER BITS */ | ||
| 409 | #define DA9052_SEQTIMER_SEQDUMMY 0XF0 | ||
| 410 | #define DA9052_SEQTIMER_SEQTIME 0X0F | ||
| 411 | |||
| 412 | /*POWER SUPPLY CONTROL REGISTER BITS */ | ||
| 413 | /* BUCK REGISTER A BITS */ | ||
| 414 | #define DA9052_BUCKA_BPROILIM 0XC0 | ||
| 415 | #define DA9052_BUCKA_BPROMODE 0X30 | ||
| 416 | #define DA9052_BUCKA_BCOREILIM 0X0C | ||
| 417 | #define DA9052_BUCKA_BCOREMODE 0X03 | ||
| 418 | |||
| 419 | /* BUCK REGISTER B BITS */ | ||
| 420 | #define DA9052_BUCKB_BERIILIM 0XC0 | ||
| 421 | #define DA9052_BUCKB_BPERIMODE 0X30 | ||
| 422 | #define DA9052_BUCKB_BMEMILIM 0X0C | ||
| 423 | #define DA9052_BUCKB_BMEMMODE 0X03 | ||
| 424 | |||
| 425 | /* BUCKCORE REGISTER BITS */ | ||
| 426 | #define DA9052_BUCKCORE_BCORECONF 0X80 | ||
| 427 | #define DA9052_BUCKCORE_BCOREEN 0X40 | ||
| 428 | #define DA9052_BUCKCORE_VBCORE 0X3F | ||
| 429 | |||
| 430 | /* BUCKPRO REGISTER BITS */ | ||
| 431 | #define DA9052_BUCKPRO_BPROCONF 0X80 | ||
| 432 | #define DA9052_BUCKPRO_BPROEN 0X40 | ||
| 433 | #define DA9052_BUCKPRO_VBPRO 0X3F | ||
| 434 | |||
| 435 | /* BUCKMEM REGISTER BITS */ | ||
| 436 | #define DA9052_BUCKMEM_BMEMCONF 0X80 | ||
| 437 | #define DA9052_BUCKMEM_BMEMEN 0X40 | ||
| 438 | #define DA9052_BUCKMEM_VBMEM 0X3F | ||
| 439 | |||
| 440 | /* BUCKPERI REGISTER BITS */ | ||
| 441 | #define DA9052_BUCKPERI_BPERICONF 0X80 | ||
| 442 | #define DA9052_BUCKPERI_BPERIEN 0X40 | ||
| 443 | #define DA9052_BUCKPERI_BPERIHS 0X20 | ||
| 444 | #define DA9052_BUCKPERI_VBPERI 0X1F | ||
| 445 | |||
| 446 | /* LDO1 REGISTER BITS */ | ||
| 447 | #define DA9052_LDO1_LDO1CONF 0X80 | ||
| 448 | #define DA9052_LDO1_LDO1EN 0X40 | ||
| 449 | #define DA9052_LDO1_VLDO1 0X1F | ||
| 450 | |||
| 451 | /* LDO2 REGISTER BITS */ | ||
| 452 | #define DA9052_LDO2_LDO2CONF 0X80 | ||
| 453 | #define DA9052_LDO2_LDO2EN 0X40 | ||
| 454 | #define DA9052_LDO2_VLDO2 0X3F | ||
| 455 | |||
| 456 | /* LDO3 REGISTER BITS */ | ||
| 457 | #define DA9052_LDO3_LDO3CONF 0X80 | ||
| 458 | #define DA9052_LDO3_LDO3EN 0X40 | ||
| 459 | #define DA9052_LDO3_VLDO3 0X3F | ||
| 460 | |||
| 461 | /* LDO4 REGISTER BITS */ | ||
| 462 | #define DA9052_LDO4_LDO4CONF 0X80 | ||
| 463 | #define DA9052_LDO4_LDO4EN 0X40 | ||
| 464 | #define DA9052_LDO4_VLDO4 0X3F | ||
| 465 | |||
| 466 | /* LDO5 REGISTER BITS */ | ||
| 467 | #define DA9052_LDO5_LDO5CONF 0X80 | ||
| 468 | #define DA9052_LDO5_LDO5EN 0X40 | ||
| 469 | #define DA9052_LDO5_VLDO5 0X3F | ||
| 470 | |||
| 471 | /* LDO6 REGISTER BITS */ | ||
| 472 | #define DA9052_LDO6_LDO6CONF 0X80 | ||
| 473 | #define DA9052_LDO6_LDO6EN 0X40 | ||
| 474 | #define DA9052_LDO6_VLDO6 0X3F | ||
| 475 | |||
| 476 | /* LDO7 REGISTER BITS */ | ||
| 477 | #define DA9052_LDO7_LDO7CONF 0X80 | ||
| 478 | #define DA9052_LDO7_LDO7EN 0X40 | ||
| 479 | #define DA9052_LDO7_VLDO7 0X3F | ||
| 480 | |||
| 481 | /* LDO8 REGISTER BITS */ | ||
| 482 | #define DA9052_LDO8_LDO8CONF 0X80 | ||
| 483 | #define DA9052_LDO8_LDO8EN 0X40 | ||
| 484 | #define DA9052_LDO8_VLDO8 0X3F | ||
| 485 | |||
| 486 | /* LDO9 REGISTER BITS */ | ||
| 487 | #define DA9052_LDO9_LDO9CONF 0X80 | ||
| 488 | #define DA9052_LDO9_LDO9EN 0X40 | ||
| 489 | #define DA9052_LDO9_VLDO9 0X3F | ||
| 490 | |||
| 491 | /* LDO10 REGISTER BITS */ | ||
| 492 | #define DA9052_LDO10_LDO10CONF 0X80 | ||
| 493 | #define DA9052_LDO10_LDO10EN 0X40 | ||
| 494 | #define DA9052_LDO10_VLDO10 0X3F | ||
| 495 | |||
| 496 | /* SUPPLY REGISTER BITS */ | ||
| 497 | #define DA9052_SUPPLY_VLOCK 0X80 | ||
| 498 | #define DA9052_SUPPLY_VMEMSWEN 0X40 | ||
| 499 | #define DA9052_SUPPLY_VPERISWEN 0X20 | ||
| 500 | #define DA9052_SUPPLY_VLDO3GO 0X10 | ||
| 501 | #define DA9052_SUPPLY_VLDO2GO 0X08 | ||
| 502 | #define DA9052_SUPPLY_VBMEMGO 0X04 | ||
| 503 | #define DA9052_SUPPLY_VBPROGO 0X02 | ||
| 504 | #define DA9052_SUPPLY_VBCOREGO 0X01 | ||
| 505 | |||
| 506 | /* PULLDOWN REGISTER BITS */ | ||
| 507 | #define DA9052_PULLDOWN_LDO5PDDIS 0X20 | ||
| 508 | #define DA9052_PULLDOWN_LDO2PDDIS 0X10 | ||
| 509 | #define DA9052_PULLDOWN_LDO1PDDIS 0X08 | ||
| 510 | #define DA9052_PULLDOWN_MEMPDDIS 0X04 | ||
| 511 | #define DA9052_PULLDOWN_PROPDDIS 0X02 | ||
| 512 | #define DA9052_PULLDOWN_COREPDDIS 0X01 | ||
| 513 | |||
| 514 | /* BAT CHARGER REGISTER BITS */ | ||
| 515 | /* CHARGER BUCK REGISTER BITS */ | ||
| 516 | #define DA9052_CHGBUCK_CHGTEMP 0X80 | ||
| 517 | #define DA9052_CHGBUCK_CHGUSBILIM 0X40 | ||
| 518 | #define DA9052_CHGBUCK_CHGBUCKLP 0X20 | ||
| 519 | #define DA9052_CHGBUCK_CHGBUCKEN 0X10 | ||
| 520 | #define DA9052_CHGBUCK_ISETBUCK 0X0F | ||
| 521 | |||
| 522 | /* WAIT COUNTER REGISTER BITS */ | ||
| 523 | #define DA9052_WAITCONT_WAITDIR 0X80 | ||
| 524 | #define DA9052_WAITCONT_RTCCLOCK 0X40 | ||
| 525 | #define DA9052_WAITCONT_WAITMODE 0X20 | ||
| 526 | #define DA9052_WAITCONT_EN32KOUT 0X10 | ||
| 527 | #define DA9052_WAITCONT_DELAYTIME 0X0F | ||
| 528 | |||
| 529 | /* ISET CONTROL REGISTER BITS */ | ||
| 530 | #define DA9052_ISET_ISETDCIN 0XF0 | ||
| 531 | #define DA9052_ISET_ISETVBUS 0X0F | ||
| 532 | |||
| 533 | /* BATTERY CHARGER CONTROL REGISTER BITS */ | ||
| 534 | #define DA9052_BATCHG_ICHGPRE 0XC0 | ||
| 535 | #define DA9052_BATCHG_ICHGBAT 0X3F | ||
| 536 | |||
| 537 | /* CHARGER COUNTER REGISTER BITS */ | ||
| 538 | #define DA9052_CHG_CONT_VCHG_BAT 0XF8 | ||
| 539 | #define DA9052_CHG_CONT_TCTR 0X07 | ||
| 540 | |||
| 541 | /* INPUT CONTROL REGISTER BITS */ | ||
| 542 | #define DA9052_INPUT_CONT_TCTR_MODE 0X80 | ||
| 543 | #define DA9052_INPUT_CONT_VBUS_SUSP 0X10 | ||
| 544 | #define DA9052_INPUT_CONT_DCIN_SUSP 0X08 | ||
| 545 | |||
| 546 | /* CHARGING TIME REGISTER BITS */ | ||
| 547 | #define DA9052_CHGTIME_CHGTIME 0XFF | ||
| 548 | |||
| 549 | /* BACKUP BATTERY CONTROL REGISTER BITS */ | ||
| 550 | #define DA9052_BBATCONT_BCHARGERISET 0XF0 | ||
| 551 | #define DA9052_BBATCONT_BCHARGERVSET 0X0F | ||
| 552 | |||
| 553 | /* LED REGISTERS BITS */ | ||
| 554 | /* LED BOOST REGISTER BITS */ | ||
| 555 | #define DA9052_BOOST_EBFAULT 0X80 | ||
| 556 | #define DA9052_BOOST_MBFAULT 0X40 | ||
| 557 | #define DA9052_BOOST_BOOSTFRQ 0X20 | ||
| 558 | #define DA9052_BOOST_BOOSTILIM 0X10 | ||
| 559 | #define DA9052_BOOST_LED3INEN 0X08 | ||
| 560 | #define DA9052_BOOST_LED2INEN 0X04 | ||
| 561 | #define DA9052_BOOST_LED1INEN 0X02 | ||
| 562 | #define DA9052_BOOST_BOOSTEN 0X01 | ||
| 563 | |||
| 564 | /* LED CONTROL REGISTER BITS */ | ||
| 565 | #define DA9052_LEDCONT_SELLEDMODE 0X80 | ||
| 566 | #define DA9052_LEDCONT_LED3ICONT 0X40 | ||
| 567 | #define DA9052_LEDCONT_LED3RAMP 0X20 | ||
| 568 | #define DA9052_LEDCONT_LED3EN 0X10 | ||
| 569 | #define DA9052_LEDCONT_LED2RAMP 0X08 | ||
| 570 | #define DA9052_LEDCONT_LED2EN 0X04 | ||
| 571 | #define DA9052_LEDCONT_LED1RAMP 0X02 | ||
| 572 | #define DA9052_LEDCONT_LED1EN 0X01 | ||
| 573 | |||
| 574 | /* LEDMIN123 REGISTER BIT */ | ||
| 575 | #define DA9052_LEDMIN123_LEDMINCURRENT 0XFF | ||
| 576 | |||
| 577 | /* LED1CONF REGISTER BIT */ | ||
| 578 | #define DA9052_LED1CONF_LED1CURRENT 0XFF | ||
| 579 | |||
| 580 | /* LED2CONF REGISTER BIT */ | ||
| 581 | #define DA9052_LED2CONF_LED2CURRENT 0XFF | ||
| 582 | |||
| 583 | /* LED3CONF REGISTER BIT */ | ||
| 584 | #define DA9052_LED3CONF_LED3CURRENT 0XFF | ||
| 585 | |||
| 586 | /* LED COUNT REGISTER BIT */ | ||
| 587 | #define DA9052_LED_CONT_DIM 0X80 | ||
| 588 | |||
| 589 | /* ADC MAN REGISTERS BITS */ | ||
| 590 | #define DA9052_ADC_MAN_MAN_CONV 0X10 | ||
| 591 | #define DA9052_ADC_MAN_MUXSEL_VDDOUT 0X00 | ||
| 592 | #define DA9052_ADC_MAN_MUXSEL_ICH 0X01 | ||
| 593 | #define DA9052_ADC_MAN_MUXSEL_TBAT 0X02 | ||
| 594 | #define DA9052_ADC_MAN_MUXSEL_VBAT 0X03 | ||
| 595 | #define DA9052_ADC_MAN_MUXSEL_AD4 0X04 | ||
| 596 | #define DA9052_ADC_MAN_MUXSEL_AD5 0X05 | ||
| 597 | #define DA9052_ADC_MAN_MUXSEL_AD6 0X06 | ||
| 598 | #define DA9052_ADC_MAN_MUXSEL_VBBAT 0X09 | ||
| 599 | |||
| 600 | /* ADC CONTROL REGSISTERS BITS */ | ||
| 601 | #define DA9052_ADCCONT_COMP1V2EN 0X80 | ||
| 602 | #define DA9052_ADCCONT_ADCMODE 0X40 | ||
| 603 | #define DA9052_ADCCONT_TBATISRCEN 0X20 | ||
| 604 | #define DA9052_ADCCONT_AD4ISRCEN 0X10 | ||
| 605 | #define DA9052_ADCCONT_AUTOAD6EN 0X08 | ||
| 606 | #define DA9052_ADCCONT_AUTOAD5EN 0X04 | ||
| 607 | #define DA9052_ADCCONT_AUTOAD4EN 0X02 | ||
| 608 | #define DA9052_ADCCONT_AUTOVDDEN 0X01 | ||
| 609 | |||
| 610 | /* ADC 10 BIT MANUAL CONVERSION RESULT LOW REGISTER */ | ||
| 611 | #define DA9052_ADC_RES_LSB 0X03 | ||
| 612 | |||
| 613 | /* ADC 10 BIT MANUAL CONVERSION RESULT HIGH REGISTER */ | ||
| 614 | #define DA9052_ADCRESH_ADCRESMSB 0XFF | ||
| 615 | |||
| 616 | /* VDD RES REGSISTER BIT*/ | ||
| 617 | #define DA9052_VDDRES_VDDOUTRES 0XFF | ||
| 618 | |||
| 619 | /* VDD MON REGSISTER BIT */ | ||
| 620 | #define DA9052_VDDMON_VDDOUTMON 0XFF | ||
| 621 | |||
| 622 | /* ICHG_AV REGSISTER BIT */ | ||
| 623 | #define DA9052_ICHGAV_ICHGAV 0XFF | ||
| 624 | |||
| 625 | /* ICHG_THD REGSISTER BIT */ | ||
| 626 | #define DA9052_ICHGTHD_ICHGTHD 0XFF | ||
| 627 | |||
| 628 | /* ICHG_END REGSISTER BIT */ | ||
| 629 | #define DA9052_ICHGEND_ICHGEND 0XFF | ||
| 630 | |||
| 631 | /* TBAT_RES REGSISTER BIT */ | ||
| 632 | #define DA9052_TBATRES_TBATRES 0XFF | ||
| 633 | |||
| 634 | /* TBAT_HIGHP REGSISTER BIT */ | ||
| 635 | #define DA9052_TBATHIGHP_TBATHIGHP 0XFF | ||
| 636 | |||
| 637 | /* TBAT_HIGHN REGSISTER BIT */ | ||
| 638 | #define DA9052_TBATHIGHN_TBATHIGHN 0XFF | ||
| 639 | |||
| 640 | /* TBAT_LOW REGSISTER BIT */ | ||
| 641 | #define DA9052_TBATLOW_TBATLOW 0XFF | ||
| 642 | |||
| 643 | /* T_OFFSET REGSISTER BIT */ | ||
| 644 | #define DA9052_TOFFSET_TOFFSET 0XFF | ||
| 645 | |||
| 646 | /* ADCIN4_RES REGSISTER BIT */ | ||
| 647 | #define DA9052_ADCIN4RES_ADCIN4RES 0XFF | ||
| 648 | |||
| 649 | /* ADCIN4_HIGH REGSISTER BIT */ | ||
| 650 | #define DA9052_AUTO4HIGH_AUTO4HIGH 0XFF | ||
| 651 | |||
| 652 | /* ADCIN4_LOW REGSISTER BIT */ | ||
| 653 | #define DA9052_AUTO4LOW_AUTO4LOW 0XFF | ||
| 654 | |||
| 655 | /* ADCIN5_RES REGSISTER BIT */ | ||
| 656 | #define DA9052_ADCIN5RES_ADCIN5RES 0XFF | ||
| 657 | |||
| 658 | /* ADCIN5_HIGH REGSISTER BIT */ | ||
| 659 | #define DA9052_AUTO5HIGH_AUTOHIGH 0XFF | ||
| 660 | |||
| 661 | /* ADCIN5_LOW REGSISTER BIT */ | ||
| 662 | #define DA9052_AUTO5LOW_AUTO5LOW 0XFF | ||
| 663 | |||
| 664 | /* ADCIN6_RES REGSISTER BIT */ | ||
| 665 | #define DA9052_ADCIN6RES_ADCIN6RES 0XFF | ||
| 666 | |||
| 667 | /* ADCIN6_HIGH REGSISTER BIT */ | ||
| 668 | #define DA9052_AUTO6HIGH_AUTO6HIGH 0XFF | ||
| 669 | |||
| 670 | /* ADCIN6_LOW REGSISTER BIT */ | ||
| 671 | #define DA9052_AUTO6LOW_AUTO6LOW 0XFF | ||
| 672 | |||
| 673 | /* TJUNC_RES REGSISTER BIT*/ | ||
| 674 | #define DA9052_TJUNCRES_TJUNCRES 0XFF | ||
| 675 | |||
| 676 | /* TSI REGISTER */ | ||
| 677 | /* TSI CONTROL REGISTER A BITS */ | ||
| 678 | #define DA9052_TSICONTA_TSIDELAY 0XC0 | ||
| 679 | #define DA9052_TSICONTA_TSISKIP 0X38 | ||
| 680 | #define DA9052_TSICONTA_TSIMODE 0X04 | ||
| 681 | #define DA9052_TSICONTA_PENDETEN 0X02 | ||
| 682 | #define DA9052_TSICONTA_AUTOTSIEN 0X01 | ||
| 683 | |||
| 684 | /* TSI CONTROL REGISTER B BITS */ | ||
| 685 | #define DA9052_TSICONTB_ADCREF 0X80 | ||
| 686 | #define DA9052_TSICONTB_TSIMAN 0X40 | ||
| 687 | #define DA9052_TSICONTB_TSIMUX 0X30 | ||
| 688 | #define DA9052_TSICONTB_TSISEL3 0X08 | ||
| 689 | #define DA9052_TSICONTB_TSISEL2 0X04 | ||
| 690 | #define DA9052_TSICONTB_TSISEL1 0X02 | ||
| 691 | #define DA9052_TSICONTB_TSISEL0 0X01 | ||
| 692 | |||
| 693 | /* TSI X CO-ORDINATE MSB RESULT REGISTER BITS */ | ||
| 694 | #define DA9052_TSIXMSB_TSIXM 0XFF | ||
| 695 | |||
| 696 | /* TSI Y CO-ORDINATE MSB RESULT REGISTER BITS */ | ||
| 697 | #define DA9052_TSIYMSB_TSIYM 0XFF | ||
| 698 | |||
| 699 | /* TSI CO-ORDINATE LSB RESULT REGISTER BITS */ | ||
| 700 | #define DA9052_TSILSB_PENDOWN 0X40 | ||
| 701 | #define DA9052_TSILSB_TSIZL 0X30 | ||
| 702 | #define DA9052_TSILSB_TSIYL 0X0C | ||
| 703 | #define DA9052_TSILSB_TSIXL 0X03 | ||
| 704 | |||
| 705 | /* TSI Z MEASUREMENT MSB RESULT REGISTER BIT */ | ||
| 706 | #define DA9052_TSIZMSB_TSIZM 0XFF | ||
| 707 | |||
| 708 | /* RTC REGISTER */ | ||
| 709 | /* RTC TIMER SECONDS REGISTER BITS */ | ||
| 710 | #define DA9052_COUNTS_MONITOR 0X40 | ||
| 711 | #define DA9052_RTC_SEC 0X3F | ||
| 712 | |||
| 713 | /* RTC TIMER MINUTES REGISTER BIT */ | ||
| 714 | #define DA9052_RTC_MIN 0X3F | ||
| 715 | |||
| 716 | /* RTC TIMER HOUR REGISTER BIT */ | ||
| 717 | #define DA9052_RTC_HOUR 0X1F | ||
| 718 | |||
| 719 | /* RTC TIMER DAYS REGISTER BIT */ | ||
| 720 | #define DA9052_RTC_DAY 0X1F | ||
| 721 | |||
| 722 | /* RTC TIMER MONTHS REGISTER BIT */ | ||
| 723 | #define DA9052_RTC_MONTH 0X0F | ||
| 724 | |||
| 725 | /* RTC TIMER YEARS REGISTER BIT */ | ||
| 726 | #define DA9052_RTC_YEAR 0X3F | ||
| 727 | |||
| 728 | /* RTC ALARM MINUTES REGISTER BITS */ | ||
| 729 | #define DA9052_ALARMM_I_TICK_TYPE 0X80 | ||
| 730 | #define DA9052_ALARMMI_ALARMTYPE 0X40 | ||
| 731 | |||
| 732 | /* RTC ALARM YEARS REGISTER BITS */ | ||
| 733 | #define DA9052_ALARM_Y_TICK_ON 0X80 | ||
| 734 | #define DA9052_ALARM_Y_ALARM_ON 0X40 | ||
| 735 | |||
| 736 | /* RTC SECONDS REGISTER A BITS */ | ||
| 737 | #define DA9052_SECONDA_SECONDSA 0XFF | ||
| 738 | |||
| 739 | /* RTC SECONDS REGISTER B BITS */ | ||
| 740 | #define DA9052_SECONDB_SECONDSB 0XFF | ||
| 741 | |||
| 742 | /* RTC SECONDS REGISTER C BITS */ | ||
| 743 | #define DA9052_SECONDC_SECONDSC 0XFF | ||
| 744 | |||
| 745 | /* RTC SECONDS REGISTER D BITS */ | ||
| 746 | #define DA9052_SECONDD_SECONDSD 0XFF | ||
| 747 | |||
| 748 | #endif | ||
| 749 | /* __LINUX_MFD_DA9052_REG_H */ | ||
diff --git a/include/linux/mfd/da9055/core.h b/include/linux/mfd/da9055/core.h deleted file mode 100644 index 956afa44599..00000000000 --- a/include/linux/mfd/da9055/core.h +++ /dev/null | |||
| @@ -1,94 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * da9055 declarations for DA9055 PMICs. | ||
| 3 | * | ||
| 4 | * Copyright(c) 2012 Dialog Semiconductor Ltd. | ||
| 5 | * | ||
| 6 | * Author: David Dajun Chen <dchen@diasemi.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 21 | * | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __DA9055_CORE_H | ||
| 25 | #define __DA9055_CORE_H | ||
| 26 | |||
| 27 | #include <linux/interrupt.h> | ||
| 28 | #include <linux/regmap.h> | ||
| 29 | |||
| 30 | /* | ||
| 31 | * PMIC IRQ | ||
| 32 | */ | ||
| 33 | #define DA9055_IRQ_ALARM 0x01 | ||
| 34 | #define DA9055_IRQ_TICK 0x02 | ||
| 35 | #define DA9055_IRQ_NONKEY 0x00 | ||
| 36 | #define DA9055_IRQ_REGULATOR 0x0B | ||
| 37 | #define DA9055_IRQ_HWMON 0x03 | ||
| 38 | |||
| 39 | struct da9055_pdata; | ||
| 40 | |||
| 41 | struct da9055 { | ||
| 42 | struct regmap *regmap; | ||
| 43 | struct regmap_irq_chip_data *irq_data; | ||
| 44 | struct device *dev; | ||
| 45 | struct i2c_client *i2c_client; | ||
| 46 | |||
| 47 | int irq_base; | ||
| 48 | int chip_irq; | ||
| 49 | }; | ||
| 50 | |||
| 51 | /* Device I/O */ | ||
| 52 | static inline int da9055_reg_read(struct da9055 *da9055, unsigned char reg) | ||
| 53 | { | ||
| 54 | int val, ret; | ||
| 55 | |||
| 56 | ret = regmap_read(da9055->regmap, reg, &val); | ||
| 57 | if (ret < 0) | ||
| 58 | return ret; | ||
| 59 | |||
| 60 | return val; | ||
| 61 | } | ||
| 62 | |||
| 63 | static inline int da9055_reg_write(struct da9055 *da9055, unsigned char reg, | ||
| 64 | unsigned char val) | ||
| 65 | { | ||
| 66 | return regmap_write(da9055->regmap, reg, val); | ||
| 67 | } | ||
| 68 | |||
| 69 | static inline int da9055_group_read(struct da9055 *da9055, unsigned char reg, | ||
| 70 | unsigned reg_cnt, unsigned char *val) | ||
| 71 | { | ||
| 72 | return regmap_bulk_read(da9055->regmap, reg, val, reg_cnt); | ||
| 73 | } | ||
| 74 | |||
| 75 | static inline int da9055_group_write(struct da9055 *da9055, unsigned char reg, | ||
| 76 | unsigned reg_cnt, unsigned char *val) | ||
| 77 | { | ||
| 78 | return regmap_raw_write(da9055->regmap, reg, val, reg_cnt); | ||
| 79 | } | ||
| 80 | |||
| 81 | static inline int da9055_reg_update(struct da9055 *da9055, unsigned char reg, | ||
| 82 | unsigned char bit_mask, | ||
| 83 | unsigned char reg_val) | ||
| 84 | { | ||
| 85 | return regmap_update_bits(da9055->regmap, reg, bit_mask, reg_val); | ||
| 86 | } | ||
| 87 | |||
| 88 | /* Generic Device API */ | ||
| 89 | int da9055_device_init(struct da9055 *da9055); | ||
| 90 | void da9055_device_exit(struct da9055 *da9055); | ||
| 91 | |||
| 92 | extern struct regmap_config da9055_regmap_config; | ||
| 93 | |||
| 94 | #endif /* __DA9055_CORE_H */ | ||
diff --git a/include/linux/mfd/da9055/pdata.h b/include/linux/mfd/da9055/pdata.h deleted file mode 100644 index 04e092be4b0..00000000000 --- a/include/linux/mfd/da9055/pdata.h +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | /* Copyright (C) 2012 Dialog Semiconductor Ltd. | ||
| 2 | * | ||
| 3 | * This program is free software; you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation; either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | */ | ||
| 9 | #ifndef __DA9055_PDATA_H | ||
| 10 | #define __DA9055_PDATA_H | ||
| 11 | |||
| 12 | #define DA9055_MAX_REGULATORS 8 | ||
| 13 | |||
| 14 | struct da9055; | ||
| 15 | |||
| 16 | enum gpio_select { | ||
| 17 | NO_GPIO = 0, | ||
| 18 | GPIO_1, | ||
| 19 | GPIO_2 | ||
| 20 | }; | ||
| 21 | |||
| 22 | struct da9055_pdata { | ||
| 23 | int (*init) (struct da9055 *da9055); | ||
| 24 | int irq_base; | ||
| 25 | int gpio_base; | ||
| 26 | |||
| 27 | struct regulator_init_data *regulators[DA9055_MAX_REGULATORS]; | ||
| 28 | /* Enable RTC in RESET Mode */ | ||
| 29 | bool reset_enable; | ||
| 30 | /* | ||
| 31 | * GPI muxed pin to control | ||
| 32 | * regulator state A/B, 0 if not available. | ||
| 33 | */ | ||
| 34 | int *gpio_ren; | ||
| 35 | /* | ||
| 36 | * GPI muxed pin to control | ||
| 37 | * regulator set, 0 if not available. | ||
| 38 | */ | ||
| 39 | int *gpio_rsel; | ||
| 40 | /* | ||
| 41 | * Regulator mode control bits value (GPI offset) that | ||
| 42 | * that controls the regulator state, 0 if not available. | ||
| 43 | */ | ||
| 44 | enum gpio_select *reg_ren; | ||
| 45 | /* | ||
| 46 | * Regulator mode control bits value (GPI offset) that | ||
| 47 | * controls the regulator set A/B, 0 if not available. | ||
| 48 | */ | ||
| 49 | enum gpio_select *reg_rsel; | ||
| 50 | /* GPIOs to enable regulator, 0 if not available */ | ||
| 51 | int *ena_gpio; | ||
| 52 | }; | ||
| 53 | #endif /* __DA9055_PDATA_H */ | ||
diff --git a/include/linux/mfd/da9055/reg.h b/include/linux/mfd/da9055/reg.h deleted file mode 100644 index 2b592e072db..00000000000 --- a/include/linux/mfd/da9055/reg.h +++ /dev/null | |||
| @@ -1,699 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * DA9055 declarations for DA9055 PMICs. | ||
| 3 | * | ||
| 4 | * Copyright(c) 2012 Dialog Semiconductor Ltd. | ||
| 5 | * | ||
| 6 | * Author: David Dajun Chen <dchen@diasemi.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License as published by | ||
| 10 | * the Free Software Foundation; either version 2 of the License, or | ||
| 11 | * (at your option) any later version. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, | ||
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 21 | * | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __DA9055_REG_H | ||
| 25 | #define __DA9055_REG_H | ||
| 26 | |||
| 27 | /* | ||
| 28 | * PMIC registers | ||
| 29 | */ | ||
| 30 | /* PAGE0 */ | ||
| 31 | #define DA9055_REG_PAGE_CON 0x00 | ||
| 32 | |||
| 33 | /* System Control and Event Registers */ | ||
| 34 | #define DA9055_REG_STATUS_A 0x01 | ||
| 35 | #define DA9055_REG_STATUS_B 0x02 | ||
| 36 | #define DA9055_REG_FAULT_LOG 0x03 | ||
| 37 | #define DA9055_REG_EVENT_A 0x04 | ||
| 38 | #define DA9055_REG_EVENT_B 0x05 | ||
| 39 | #define DA9055_REG_EVENT_C 0x06 | ||
| 40 | #define DA9055_REG_IRQ_MASK_A 0x07 | ||
| 41 | #define DA9055_REG_IRQ_MASK_B 0x08 | ||
| 42 | #define DA9055_REG_IRQ_MASK_C 0x09 | ||
| 43 | #define DA9055_REG_CONTROL_A 0x0A | ||
| 44 | #define DA9055_REG_CONTROL_B 0x0B | ||
| 45 | #define DA9055_REG_CONTROL_C 0x0C | ||
| 46 | #define DA9055_REG_CONTROL_D 0x0D | ||
| 47 | #define DA9055_REG_CONTROL_E 0x0E | ||
| 48 | #define DA9055_REG_PD_DIS 0x0F | ||
| 49 | |||
| 50 | /* GPIO Control Registers */ | ||
| 51 | #define DA9055_REG_GPIO0_1 0x10 | ||
| 52 | #define DA9055_REG_GPIO2 0x11 | ||
| 53 | #define DA9055_REG_GPIO_MODE0_2 0x12 | ||
| 54 | |||
| 55 | /* Regulator Control Registers */ | ||
| 56 | #define DA9055_REG_BCORE_CONT 0x13 | ||
| 57 | #define DA9055_REG_BMEM_CONT 0x14 | ||
| 58 | #define DA9055_REG_LDO1_CONT 0x15 | ||
| 59 | #define DA9055_REG_LDO2_CONT 0x16 | ||
| 60 | #define DA9055_REG_LDO3_CONT 0x17 | ||
| 61 | #define DA9055_REG_LDO4_CONT 0x18 | ||
| 62 | #define DA9055_REG_LDO5_CONT 0x19 | ||
| 63 | #define DA9055_REG_LDO6_CONT 0x1A | ||
| 64 | |||
| 65 | /* GP-ADC Control Registers */ | ||
| 66 | #define DA9055_REG_ADC_MAN 0x1B | ||
| 67 | #define DA9055_REG_ADC_CONT 0x1C | ||
| 68 | #define DA9055_REG_VSYS_MON 0x1D | ||
| 69 | #define DA9055_REG_ADC_RES_L 0x1E | ||
| 70 | #define DA9055_REG_ADC_RES_H 0x1F | ||
| 71 | #define DA9055_REG_VSYS_RES 0x20 | ||
| 72 | #define DA9055_REG_ADCIN1_RES 0x21 | ||
| 73 | #define DA9055_REG_ADCIN2_RES 0x22 | ||
| 74 | #define DA9055_REG_ADCIN3_RES 0x23 | ||
| 75 | |||
| 76 | /* Sequencer Control Registers */ | ||
| 77 | #define DA9055_REG_EN_32K 0x35 | ||
| 78 | |||
| 79 | /* Regulator Setting Registers */ | ||
| 80 | #define DA9055_REG_BUCK_LIM 0x37 | ||
| 81 | #define DA9055_REG_BCORE_MODE 0x38 | ||
| 82 | #define DA9055_REG_VBCORE_A 0x39 | ||
| 83 | #define DA9055_REG_VBMEM_A 0x3A | ||
| 84 | #define DA9055_REG_VLDO1_A 0x3B | ||
| 85 | #define DA9055_REG_VLDO2_A 0x3C | ||
| 86 | #define DA9055_REG_VLDO3_A 0x3D | ||
| 87 | #define DA9055_REG_VLDO4_A 0x3E | ||
| 88 | #define DA9055_REG_VLDO5_A 0x3F | ||
| 89 | #define DA9055_REG_VLDO6_A 0x40 | ||
| 90 | #define DA9055_REG_VBCORE_B 0x41 | ||
| 91 | #define DA9055_REG_VBMEM_B 0x42 | ||
| 92 | #define DA9055_REG_VLDO1_B 0x43 | ||
| 93 | #define DA9055_REG_VLDO2_B 0x44 | ||
| 94 | #define DA9055_REG_VLDO3_B 0x45 | ||
| 95 | #define DA9055_REG_VLDO4_B 0x46 | ||
| 96 | #define DA9055_REG_VLDO5_B 0x47 | ||
| 97 | #define DA9055_REG_VLDO6_B 0x48 | ||
| 98 | |||
| 99 | /* GP-ADC Threshold Registers */ | ||
| 100 | #define DA9055_REG_AUTO1_HIGH 0x49 | ||
| 101 | #define DA9055_REG_AUTO1_LOW 0x4A | ||
| 102 | #define DA9055_REG_AUTO2_HIGH 0x4B | ||
| 103 | #define DA9055_REG_AUTO2_LOW 0x4C | ||
| 104 | #define DA9055_REG_AUTO3_HIGH 0x4D | ||
| 105 | #define DA9055_REG_AUTO3_LOW 0x4E | ||
| 106 | |||
| 107 | /* OTP */ | ||
| 108 | #define DA9055_REG_OPT_COUNT 0x50 | ||
| 109 | #define DA9055_REG_OPT_ADDR 0x51 | ||
| 110 | #define DA9055_REG_OPT_DATA 0x52 | ||
| 111 | |||
| 112 | /* RTC Calendar and Alarm Registers */ | ||
| 113 | #define DA9055_REG_COUNT_S 0x53 | ||
| 114 | #define DA9055_REG_COUNT_MI 0x54 | ||
| 115 | #define DA9055_REG_COUNT_H 0x55 | ||
| 116 | #define DA9055_REG_COUNT_D 0x56 | ||
| 117 | #define DA9055_REG_COUNT_MO 0x57 | ||
| 118 | #define DA9055_REG_COUNT_Y 0x58 | ||
| 119 | #define DA9055_REG_ALARM_MI 0x59 | ||
| 120 | #define DA9055_REG_ALARM_H 0x5A | ||
| 121 | #define DA9055_REG_ALARM_D 0x5B | ||
| 122 | #define DA9055_REG_ALARM_MO 0x5C | ||
| 123 | #define DA9055_REG_ALARM_Y 0x5D | ||
| 124 | #define DA9055_REG_SECOND_A 0x5E | ||
| 125 | #define DA9055_REG_SECOND_B 0x5F | ||
| 126 | #define DA9055_REG_SECOND_C 0x60 | ||
| 127 | #define DA9055_REG_SECOND_D 0x61 | ||
| 128 | |||
| 129 | /* Customer Trim and Configuration */ | ||
| 130 | #define DA9055_REG_T_OFFSET 0x63 | ||
| 131 | #define DA9055_REG_INTERFACE 0x64 | ||
| 132 | #define DA9055_REG_CONFIG_A 0x65 | ||
| 133 | #define DA9055_REG_CONFIG_B 0x66 | ||
| 134 | #define DA9055_REG_CONFIG_C 0x67 | ||
| 135 | #define DA9055_REG_CONFIG_D 0x68 | ||
| 136 | #define DA9055_REG_CONFIG_E 0x69 | ||
| 137 | #define DA9055_REG_TRIM_CLDR 0x6F | ||
| 138 | |||
| 139 | /* General Purpose Registers */ | ||
| 140 | #define DA9055_REG_GP_ID_0 0x70 | ||
| 141 | #define DA9055_REG_GP_ID_1 0x71 | ||
| 142 | #define DA9055_REG_GP_ID_2 0x72 | ||
| 143 | #define DA9055_REG_GP_ID_3 0x73 | ||
| 144 | #define DA9055_REG_GP_ID_4 0x74 | ||
| 145 | #define DA9055_REG_GP_ID_5 0x75 | ||
| 146 | #define DA9055_REG_GP_ID_6 0x76 | ||
| 147 | #define DA9055_REG_GP_ID_7 0x77 | ||
| 148 | #define DA9055_REG_GP_ID_8 0x78 | ||
| 149 | #define DA9055_REG_GP_ID_9 0x79 | ||
| 150 | #define DA9055_REG_GP_ID_10 0x7A | ||
| 151 | #define DA9055_REG_GP_ID_11 0x7B | ||
| 152 | #define DA9055_REG_GP_ID_12 0x7C | ||
| 153 | #define DA9055_REG_GP_ID_13 0x7D | ||
| 154 | #define DA9055_REG_GP_ID_14 0x7E | ||
| 155 | #define DA9055_REG_GP_ID_15 0x7F | ||
| 156 | #define DA9055_REG_GP_ID_16 0x80 | ||
| 157 | #define DA9055_REG_GP_ID_17 0x81 | ||
| 158 | #define DA9055_REG_GP_ID_18 0x82 | ||
| 159 | #define DA9055_REG_GP_ID_19 0x83 | ||
| 160 | |||
| 161 | #define DA9055_MAX_REGISTER_CNT DA9055_REG_GP_ID_19 | ||
| 162 | |||
| 163 | /* | ||
| 164 | * PMIC registers bits | ||
| 165 | */ | ||
| 166 | |||
| 167 | /* DA9055_REG_PAGE_CON (addr=0x00) */ | ||
| 168 | #define DA9055_PAGE_WRITE_MODE (0<<6) | ||
| 169 | #define DA9055_REPEAT_WRITE_MODE (1<<6) | ||
| 170 | |||
| 171 | /* DA9055_REG_STATUS_A (addr=0x01) */ | ||
| 172 | #define DA9055_NOKEY_STS 0x01 | ||
| 173 | #define DA9055_WAKE_STS 0x02 | ||
| 174 | #define DA9055_DVC_BUSY_STS 0x04 | ||
| 175 | #define DA9055_COMP1V2_STS 0x08 | ||
| 176 | #define DA9055_NJIG_STS 0x10 | ||
| 177 | #define DA9055_LDO5_LIM_STS 0x20 | ||
| 178 | #define DA9055_LDO6_LIM_STS 0x40 | ||
| 179 | |||
| 180 | /* DA9055_REG_STATUS_B (addr=0x02) */ | ||
| 181 | #define DA9055_GPI0_STS 0x01 | ||
| 182 | #define DA9055_GPI1_STS 0x02 | ||
| 183 | #define DA9055_GPI2_STS 0x04 | ||
| 184 | |||
| 185 | /* DA9055_REG_FAULT_LOG (addr=0x03) */ | ||
| 186 | #define DA9055_TWD_ERROR_FLG 0x01 | ||
| 187 | #define DA9055_POR_FLG 0x02 | ||
| 188 | #define DA9055_VDD_FAULT_FLG 0x04 | ||
| 189 | #define DA9055_VDD_START_FLG 0x08 | ||
| 190 | #define DA9055_TEMP_CRIT_FLG 0x10 | ||
| 191 | #define DA9055_KEY_RESET_FLG 0x20 | ||
| 192 | #define DA9055_WAIT_SHUT_FLG 0x80 | ||
| 193 | |||
| 194 | /* DA9055_REG_EVENT_A (addr=0x04) */ | ||
| 195 | #define DA9055_NOKEY_EINT 0x01 | ||
| 196 | #define DA9055_ALARM_EINT 0x02 | ||
| 197 | #define DA9055_TICK_EINT 0x04 | ||
| 198 | #define DA9055_ADC_RDY_EINT 0x08 | ||
| 199 | #define DA9055_SEQ_RDY_EINT 0x10 | ||
| 200 | #define DA9055_EVENTS_B_EINT 0x20 | ||
| 201 | #define DA9055_EVENTS_C_EINT 0x40 | ||
| 202 | |||
| 203 | /* DA9055_REG_EVENT_B (addr=0x05) */ | ||
| 204 | #define DA9055_E_WAKE_EINT 0x01 | ||
| 205 | #define DA9055_E_TEMP_EINT 0x02 | ||
| 206 | #define DA9055_E_COMP1V2_EINT 0x04 | ||
| 207 | #define DA9055_E_LDO_LIM_EINT 0x08 | ||
| 208 | #define DA9055_E_NJIG_EINT 0x20 | ||
| 209 | #define DA9055_E_VDD_MON_EINT 0x40 | ||
| 210 | #define DA9055_E_VDD_WARN_EINT 0x80 | ||
| 211 | |||
| 212 | /* DA9055_REG_EVENT_C (addr=0x06) */ | ||
| 213 | #define DA9055_E_GPI0_EINT 0x01 | ||
| 214 | #define DA9055_E_GPI1_EINT 0x02 | ||
| 215 | #define DA9055_E_GPI2_EINT 0x04 | ||
| 216 | |||
| 217 | /* DA9055_REG_IRQ_MASK_A (addr=0x07) */ | ||
| 218 | #define DA9055_M_NONKEY_EINT 0x01 | ||
| 219 | #define DA9055_M_ALARM_EINT 0x02 | ||
| 220 | #define DA9055_M_TICK_EINT 0x04 | ||
| 221 | #define DA9055_M_ADC_RDY_EINT 0x08 | ||
| 222 | #define DA9055_M_SEQ_RDY_EINT 0x10 | ||
| 223 | |||
| 224 | /* DA9055_REG_IRQ_MASK_B (addr=0x08) */ | ||
| 225 | #define DA9055_M_WAKE_EINT 0x01 | ||
| 226 | #define DA9055_M_TEMP_EINT 0x02 | ||
| 227 | #define DA9055_M_COMP_1V2_EINT 0x04 | ||
| 228 | #define DA9055_M_LDO_LIM_EINT 0x08 | ||
| 229 | #define DA9055_M_NJIG_EINT 0x20 | ||
| 230 | #define DA9055_M_VDD_MON_EINT 0x40 | ||
| 231 | #define DA9055_M_VDD_WARN_EINT 0x80 | ||
| 232 | |||
| 233 | /* DA9055_REG_IRQ_MASK_C (addr=0x09) */ | ||
| 234 | #define DA9055_M_GPI0_EINT 0x01 | ||
| 235 | #define DA9055_M_GPI1_EINT 0x02 | ||
| 236 | #define DA9055_M_GPI2_EINT 0x04 | ||
| 237 | |||
| 238 | /* DA9055_REG_CONTROL_A (addr=0xA) */ | ||
| 239 | #define DA9055_DEBOUNCING_SHIFT 0x00 | ||
| 240 | #define DA9055_DEBOUNCING_MASK 0x07 | ||
| 241 | #define DA9055_NRES_MODE_SHIFT 0x03 | ||
| 242 | #define DA9055_NRES_MODE_MASK 0x08 | ||
| 243 | #define DA9055_SLEW_RATE_SHIFT 0x04 | ||
| 244 | #define DA9055_SLEW_RATE_MASK 0x30 | ||
| 245 | #define DA9055_NOKEY_LOCK_SHIFT 0x06 | ||
| 246 | #define DA9055_NOKEY_LOCK_MASK 0x40 | ||
| 247 | |||
| 248 | /* DA9055_REG_CONTROL_B (addr=0xB) */ | ||
| 249 | #define DA9055_RTC_MODE_PD 0x01 | ||
| 250 | #define DA9055_RTC_MODE_SD_SHIFT 0x01 | ||
| 251 | #define DA9055_RTC_MODE_SD 0x02 | ||
| 252 | #define DA9055_RTC_EN 0x04 | ||
| 253 | #define DA9055_ECO_MODE_SHIFT 0x03 | ||
| 254 | #define DA9055_ECO_MODE_MASK 0x08 | ||
| 255 | #define DA9055_TWDSCALE_SHIFT 4 | ||
| 256 | #define DA9055_TWDSCALE_MASK 0x70 | ||
| 257 | #define DA9055_V_LOCK_SHIFT 0x07 | ||
| 258 | #define DA9055_V_LOCK_MASK 0x80 | ||
| 259 | |||
| 260 | /* DA9055_REG_CONTROL_C (addr=0xC) */ | ||
| 261 | #define DA9055_SYSTEM_EN_SHIFT 0x00 | ||
| 262 | #define DA9055_SYSTEM_EN_MASK 0x01 | ||
| 263 | #define DA9055_POWERN_EN_SHIFT 0x01 | ||
| 264 | #define DA9055_POWERN_EN_MASK 0x02 | ||
| 265 | #define DA9055_POWER1_EN_SHIFT 0x02 | ||
| 266 | #define DA9055_POWER1_EN_MASK 0x04 | ||
| 267 | |||
| 268 | /* DA9055_REG_CONTROL_D (addr=0xD) */ | ||
| 269 | #define DA9055_STANDBY_SHIFT 0x02 | ||
| 270 | #define DA9055_STANDBY_MASK 0x08 | ||
| 271 | #define DA9055_AUTO_BOOT_SHIFT 0x03 | ||
| 272 | #define DA9055_AUTO_BOOT_MASK 0x04 | ||
| 273 | |||
| 274 | /* DA9055_REG_CONTROL_E (addr=0xE) */ | ||
| 275 | #define DA9055_WATCHDOG_SHIFT 0x00 | ||
| 276 | #define DA9055_WATCHDOG_MASK 0x01 | ||
| 277 | #define DA9055_SHUTDOWN_SHIFT 0x01 | ||
| 278 | #define DA9055_SHUTDOWN_MASK 0x02 | ||
| 279 | #define DA9055_WAKE_UP_SHIFT 0x02 | ||
| 280 | #define DA9055_WAKE_UP_MASK 0x04 | ||
| 281 | |||
| 282 | /* DA9055_REG_GPIO (addr=0x10/0x11) */ | ||
| 283 | #define DA9055_GPIO0_PIN_SHIFT 0x00 | ||
| 284 | #define DA9055_GPIO0_PIN_MASK 0x03 | ||
| 285 | #define DA9055_GPIO0_TYPE_SHIFT 0x02 | ||
| 286 | #define DA9055_GPIO0_TYPE_MASK 0x04 | ||
| 287 | #define DA9055_GPIO0_WEN_SHIFT 0x03 | ||
| 288 | #define DA9055_GPIO0_WEN_MASK 0x08 | ||
| 289 | #define DA9055_GPIO1_PIN_SHIFT 0x04 | ||
| 290 | #define DA9055_GPIO1_PIN_MASK 0x30 | ||
| 291 | #define DA9055_GPIO1_TYPE_SHIFT 0x06 | ||
| 292 | #define DA9055_GPIO1_TYPE_MASK 0x40 | ||
| 293 | #define DA9055_GPIO1_WEN_SHIFT 0x07 | ||
| 294 | #define DA9055_GPIO1_WEN_MASK 0x80 | ||
| 295 | #define DA9055_GPIO2_PIN_SHIFT 0x00 | ||
| 296 | #define DA9055_GPIO2_PIN_MASK 0x30 | ||
| 297 | #define DA9055_GPIO2_TYPE_SHIFT 0x02 | ||
| 298 | #define DA9055_GPIO2_TYPE_MASK 0x04 | ||
| 299 | #define DA9055_GPIO2_WEN_SHIFT 0x03 | ||
| 300 | #define DA9055_GPIO2_WEN_MASK 0x08 | ||
| 301 | |||
| 302 | /* DA9055_REG_GPIO_MODE (addr=0x12) */ | ||
| 303 | #define DA9055_GPIO0_MODE_SHIFT 0x00 | ||
| 304 | #define DA9055_GPIO0_MODE_MASK 0x01 | ||
| 305 | #define DA9055_GPIO1_MODE_SHIFT 0x01 | ||
| 306 | #define DA9055_GPIO1_MODE_MASK 0x02 | ||
| 307 | #define DA9055_GPIO2_MODE_SHIFT 0x02 | ||
| 308 | #define DA9055_GPIO2_MODE_MASK 0x04 | ||
| 309 | |||
| 310 | /* DA9055_REG_BCORE_CONT (addr=0x13) */ | ||
| 311 | #define DA9055_BCORE_EN_SHIFT 0x00 | ||
| 312 | #define DA9055_BCORE_EN_MASK 0x01 | ||
| 313 | #define DA9055_BCORE_GPI_SHIFT 0x01 | ||
| 314 | #define DA9055_BCORE_GPI_MASK 0x02 | ||
| 315 | #define DA9055_BCORE_PD_DIS_SHIFT 0x03 | ||
| 316 | #define DA9055_BCORE_PD_DIS_MASK 0x04 | ||
| 317 | #define DA9055_VBCORE_SEL_SHIFT 0x04 | ||
| 318 | #define DA9055_SEL_REG_A 0x0 | ||
| 319 | #define DA9055_SEL_REG_B 0x10 | ||
| 320 | #define DA9055_VBCORE_SEL_MASK 0x10 | ||
| 321 | #define DA9055_V_GPI_MASK 0x60 | ||
| 322 | #define DA9055_V_GPI_SHIFT 0x05 | ||
| 323 | #define DA9055_E_GPI_MASK 0x06 | ||
| 324 | #define DA9055_E_GPI_SHIFT 0x01 | ||
| 325 | #define DA9055_VBCORE_GPI_SHIFT 0x05 | ||
| 326 | #define DA9055_VBCORE_GPI_MASK 0x60 | ||
| 327 | #define DA9055_BCORE_CONF_SHIFT 0x07 | ||
| 328 | #define DA9055_BCORE_CONF_MASK 0x80 | ||
| 329 | |||
| 330 | /* DA9055_REG_BMEM_CONT (addr=0x14) */ | ||
| 331 | #define DA9055_BMEM_EN_SHIFT 0x00 | ||
| 332 | #define DA9055_BMEM_EN_MASK 0x01 | ||
| 333 | #define DA9055_BMEM_GPI_SHIFT 0x01 | ||
| 334 | #define DA9055_BMEM_GPI_MASK 0x06 | ||
| 335 | #define DA9055_BMEM_PD_DIS_SHIFT 0x03 | ||
| 336 | #define DA9055_BMEM_PD_DIS_MASK 0x08 | ||
| 337 | #define DA9055_VBMEM_SEL_SHIT 0x04 | ||
| 338 | #define DA9055_VBMEM_SEL_VBMEM_A (0<<4) | ||
| 339 | #define DA9055_VBMEM_SEL_VBMEM_B (1<<4) | ||
| 340 | #define DA9055_VBMEM_SEL_MASK 0x10 | ||
| 341 | #define DA9055_VBMEM_GPI_SHIFT 0x05 | ||
| 342 | #define DA9055_VBMEM_GPI_MASK 0x60 | ||
| 343 | #define DA9055_BMEM_CONF_SHIFT 0x07 | ||
| 344 | #define DA9055_BMEM_CONF_MASK 0x80 | ||
| 345 | |||
| 346 | /* DA9055_REG_LDO_CONT (addr=0x15-0x1A) */ | ||
| 347 | #define DA9055_LDO_EN_SHIFT 0x00 | ||
| 348 | #define DA9055_LDO_EN_MASK 0x01 | ||
| 349 | #define DA9055_LDO_GPI_SHIFT 0x01 | ||
| 350 | #define DA9055_LDO_GPI_MASK 0x06 | ||
| 351 | #define DA9055_LDO_PD_DIS_SHIFT 0x03 | ||
| 352 | #define DA9055_LDO_PD_DIS_MASK 0x08 | ||
| 353 | #define DA9055_VLDO_SEL_SHIFT 0x04 | ||
| 354 | #define DA9055_VLDO_SEL_MASK 0x10 | ||
| 355 | #define DA9055_VLDO_SEL_VLDO_A 0x00 | ||
| 356 | #define DA9055_VLDO_SEL_VLDO_B 0x01 | ||
| 357 | #define DA9055_VLDO_GPI_SHIFT 0x05 | ||
| 358 | #define DA9055_VLDO_GPI_MASK 0x60 | ||
| 359 | #define DA9055_LDO_CONF_SHIFT 0x07 | ||
| 360 | #define DA9055_LDO_CONF_MASK 0x80 | ||
| 361 | #define DA9055_REGUALTOR_SET_A 0x00 | ||
| 362 | #define DA9055_REGUALTOR_SET_B 0x10 | ||
| 363 | |||
| 364 | /* DA9055_REG_ADC_MAN (addr=0x1B) */ | ||
| 365 | #define DA9055_ADC_MUX_SHIFT 0 | ||
| 366 | #define DA9055_ADC_MUX_MASK 0xF | ||
| 367 | #define DA9055_ADC_MUX_VSYS 0x0 | ||
| 368 | #define DA9055_ADC_MUX_ADCIN1 0x01 | ||
| 369 | #define DA9055_ADC_MUX_ADCIN2 0x02 | ||
| 370 | #define DA9055_ADC_MUX_ADCIN3 0x03 | ||
| 371 | #define DA9055_ADC_MUX_T_SENSE 0x04 | ||
| 372 | #define DA9055_ADC_MAN_SHIFT 0x04 | ||
| 373 | #define DA9055_ADC_MAN_CONV 0x10 | ||
| 374 | #define DA9055_ADC_LSB_MASK 0X03 | ||
| 375 | #define DA9055_ADC_MODE_MASK 0x20 | ||
| 376 | #define DA9055_ADC_MODE_SHIFT 5 | ||
| 377 | #define DA9055_ADC_MODE_1MS (1<<5) | ||
| 378 | #define DA9055_COMP1V2_EN_SHIFT 7 | ||
| 379 | |||
| 380 | /* DA9055_REG_ADC_CONT (addr=0x1C) */ | ||
| 381 | #define DA9055_ADC_AUTO_VSYS_EN_SHIFT 0 | ||
| 382 | #define DA9055_ADC_AUTO_AD1_EN_SHIFT 1 | ||
| 383 | #define DA9055_ADC_AUTO_AD2_EN_SHIFT 2 | ||
| 384 | #define DA9055_ADC_AUTO_AD3_EN_SHIFT 3 | ||
| 385 | #define DA9055_ADC_ISRC_EN_SHIFT 4 | ||
| 386 | #define DA9055_ADC_ADCIN1_DEB_SHIFT 5 | ||
| 387 | #define DA9055_ADC_ADCIN2_DEB_SHIFT 6 | ||
| 388 | #define DA9055_ADC_ADCIN3_DEB_SHIFT 7 | ||
| 389 | #define DA9055_AD1_ISRC_MASK 0x10 | ||
| 390 | #define DA9055_AD1_ISRC_SHIFT 4 | ||
| 391 | |||
| 392 | /* DA9055_REG_VSYS_MON (addr=0x1D) */ | ||
| 393 | #define DA9055_VSYS_VAL_SHIFT 0 | ||
| 394 | #define DA9055_VSYS_VAL_MASK 0xFF | ||
| 395 | #define DA9055_VSYS_VAL_BASE 0x00 | ||
| 396 | #define DA9055_VSYS_VAL_MAX DA9055_VSYS_VAL_MASK | ||
| 397 | #define DA9055_VSYS_VOLT_BASE 2500 | ||
| 398 | #define DA9055_VSYS_VOLT_INC 10 | ||
| 399 | #define DA9055_VSYS_STEPS 255 | ||
| 400 | #define DA9055_VSYS_VOLT_MIN 2500 | ||
| 401 | |||
| 402 | /* DA9044_REG_XXX_RES (addr=0x20-0x23) */ | ||
| 403 | #define DA9055_ADC_VAL_SHIFT 0 | ||
| 404 | #define DA9055_ADC_VAL_MASK 0xFF | ||
| 405 | #define DA9055_ADC_VAL_BASE 0x00 | ||
| 406 | #define DA9055_ADC_VAL_MAX DA9055_ADC_VAL_MASK | ||
| 407 | #define DA9055_ADC_VOLT_BASE 0 | ||
| 408 | #define DA9055_ADC_VSYS_VOLT_BASE 2500 | ||
| 409 | #define DA9055_ADC_VOLT_INC 10 | ||
| 410 | #define DA9055_ADC_VSYS_VOLT_INC 12 | ||
| 411 | #define DA9055_ADC_STEPS 255 | ||
| 412 | |||
| 413 | /* DA9055_REG_EN_32K (addr=0x35)*/ | ||
| 414 | #define DA9055_STARTUP_TIME_MASK 0x07 | ||
| 415 | #define DA9055_STARTUP_TIME_0S 0x0 | ||
| 416 | #define DA9055_STARTUP_TIME_0_52S 0x1 | ||
| 417 | #define DA9055_STARTUP_TIME_1S 0x2 | ||
| 418 | #define DA9055_CRYSTAL_EN 0x08 | ||
| 419 | #define DA9055_DELAY_MODE_EN 0x10 | ||
| 420 | #define DA9055_OUT_CLCK_GATED 0x20 | ||
| 421 | #define DA9055_RTC_CLOCK_GATED 0x40 | ||
| 422 | #define DA9055_EN_32KOUT_BUF 0x80 | ||
| 423 | |||
| 424 | /* DA9055_REG_RESET (addr=0x36) */ | ||
| 425 | /* Timer up to 31.744 ms */ | ||
| 426 | #define DA9055_RESET_TIMER_VAL_SHIFT 0 | ||
| 427 | #define DA9055_RESET_LOW_VAL_MASK 0x3F | ||
| 428 | #define DA9055_RESET_LOW_VAL_BASE 0 | ||
| 429 | #define DA9055_RESET_LOW_VAL_MAX DA9055_RESET_LOW_VAL_MASK | ||
| 430 | #define DA9055_RESET_US_LOW_BASE 1024 /* min val in units of us */ | ||
| 431 | #define DA9055_RESET_US_LOW_INC 1024 /* inc val in units of us */ | ||
| 432 | #define DA9055_RESET_US_LOW_STEP 30 | ||
| 433 | |||
| 434 | /* Timer up to 1048.576ms */ | ||
| 435 | #define DA9055_RESET_HIGH_VAL_MASK 0x3F | ||
| 436 | #define DA9055_RESET_HIGH_VAL_BASE 0 | ||
| 437 | #define DA9055_RESET_HIGH_VAL_MAX DA9055_RESET_HIGH_VAL_MASK | ||
| 438 | #define DA9055_RESET_US_HIGH_BASE 32768 /* min val in units of us */ | ||
| 439 | #define DA9055_RESET_US_HIGH_INC 32768 /* inv val in units of us */ | ||
| 440 | #define DA9055_RESET_US_HIGH_STEP 31 | ||
| 441 | |||
| 442 | /* DA9055_REG_BUCK_ILIM (addr=0x37)*/ | ||
| 443 | #define DA9055_BMEM_ILIM_SHIFT 0 | ||
| 444 | #define DA9055_ILIM_MASK 0x3 | ||
| 445 | #define DA9055_ILIM_500MA 0x0 | ||
| 446 | #define DA9055_ILIM_600MA 0x1 | ||
| 447 | #define DA9055_ILIM_700MA 0x2 | ||
| 448 | #define DA9055_ILIM_800MA 0x3 | ||
| 449 | #define DA9055_BCORE_ILIM_SHIFT 2 | ||
| 450 | |||
| 451 | /* DA9055_REG_BCORE_MODE (addr=0x38) */ | ||
| 452 | #define DA9055_BMEM_MODE_SHIFT 0 | ||
| 453 | #define DA9055_MODE_MASK 0x3 | ||
| 454 | #define DA9055_MODE_AB 0x0 | ||
| 455 | #define DA9055_MODE_SLEEP 0x1 | ||
| 456 | #define DA9055_MODE_SYNCHRO 0x2 | ||
| 457 | #define DA9055_MODE_AUTO 0x3 | ||
| 458 | #define DA9055_BCORE_MODE_SHIFT 2 | ||
| 459 | |||
| 460 | /* DA9055_REG_VBCORE_A/B (addr=0x39/0x41)*/ | ||
| 461 | #define DA9055_VBCORE_VAL_SHIFT 0 | ||
| 462 | #define DA9055_VBCORE_VAL_MASK 0x3F | ||
| 463 | #define DA9055_VBCORE_VAL_BASE 0x09 | ||
| 464 | #define DA9055_VBCORE_VAL_MAX DA9055_VBCORE_VAL_MASK | ||
| 465 | #define DA9055_VBCORE_VOLT_BASE 750 | ||
| 466 | #define DA9055_VBCORE_VOLT_INC 25 | ||
| 467 | #define DA9055_VBCORE_STEPS 53 | ||
| 468 | #define DA9055_VBCORE_VOLT_MIN DA9055_VBCORE_VOLT_BASE | ||
| 469 | #define DA9055_BCORE_SL_SYNCHRO (0<<7) | ||
| 470 | #define DA9055_BCORE_SL_SLEEP (1<<7) | ||
| 471 | |||
| 472 | /* DA9055_REG_VBMEM_A/B (addr=0x3A/0x42)*/ | ||
| 473 | #define DA9055_VBMEM_VAL_SHIFT 0 | ||
| 474 | #define DA9055_VBMEM_VAL_MASK 0x3F | ||
| 475 | #define DA9055_VBMEM_VAL_BASE 0x00 | ||
| 476 | #define DA9055_VBMEM_VAL_MAX DA9055_VBMEM_VAL_MASK | ||
| 477 | #define DA9055_VBMEM_VOLT_BASE 925 | ||
| 478 | #define DA9055_VBMEM_VOLT_INC 25 | ||
| 479 | #define DA9055_VBMEM_STEPS 63 | ||
| 480 | #define DA9055_VBMEM_VOLT_MIN DA9055_VBMEM_VOLT_BASE | ||
| 481 | #define DA9055_BCMEM_SL_SYNCHRO (0<<7) | ||
| 482 | #define DA9055_BCMEM_SL_SLEEP (1<<7) | ||
| 483 | |||
| 484 | |||
| 485 | /* DA9055_REG_VLDO (addr=0x3B-0x40/0x43-0x48)*/ | ||
| 486 | #define DA9055_VLDO_VAL_SHIFT 0 | ||
| 487 | #define DA9055_VLDO_VAL_MASK 0x3F | ||
| 488 | #define DA9055_VLDO6_VAL_MASK 0x7F | ||
| 489 | #define DA9055_VLDO_VAL_BASE 0x02 | ||
| 490 | #define DA9055_VLDO2_VAL_BASE 0x03 | ||
| 491 | #define DA9055_VLDO6_VAL_BASE 0x00 | ||
| 492 | #define DA9055_VLDO_VAL_MAX DA9055_VLDO_VAL_MASK | ||
| 493 | #define DA9055_VLDO6_VAL_MAX DA9055_VLDO6_VAL_MASK | ||
| 494 | #define DA9055_VLDO_VOLT_BASE 900 | ||
| 495 | #define DA9055_VLDO_VOLT_INC 50 | ||
| 496 | #define DA9055_VLDO6_VOLT_INC 20 | ||
| 497 | #define DA9055_VLDO_STEPS 48 | ||
| 498 | #define DA9055_VLDO5_STEPS 37 | ||
| 499 | #define DA9055_VLDO6_STEPS 120 | ||
| 500 | #define DA9055_VLDO_VOLT_MIN DA9055_VLDO_VOLT_BASE | ||
| 501 | #define DA9055_LDO_MODE_SHIFT 7 | ||
| 502 | #define DA9055_LDO_SL_NORMAL 0 | ||
| 503 | #define DA9055_LDO_SL_SLEEP 1 | ||
| 504 | |||
| 505 | /* DA9055_REG_OTP_CONT (addr=0x50) */ | ||
| 506 | #define DA9055_OTP_TIM_NORMAL (0<<0) | ||
| 507 | #define DA9055_OTP_TIM_MARGINAL (1<<0) | ||
| 508 | #define DA9055_OTP_GP_RD_SHIFT 1 | ||
| 509 | #define DA9055_OTP_APPS_RD_SHIFT 2 | ||
| 510 | #define DA9055_PC_DONE_SHIFT 3 | ||
| 511 | #define DA9055_OTP_GP_LOCK_SHIFT 4 | ||
| 512 | #define DA9055_OTP_APPS_LOCK_SHIFT 5 | ||
| 513 | #define DA9055_OTP_CONF_LOCK_SHIFT 6 | ||
| 514 | #define DA9055_OTP_WRITE_DIS_SHIFT 7 | ||
| 515 | |||
| 516 | /* DA9055_REG_COUNT_S (addr=0x53) */ | ||
| 517 | #define DA9055_RTC_SEC 0x3F | ||
| 518 | #define DA9055_RTC_MONITOR_EN 0x40 | ||
| 519 | #define DA9055_RTC_READ 0x80 | ||
| 520 | |||
| 521 | /* DA9055_REG_COUNT_MI (addr=0x54) */ | ||
| 522 | #define DA9055_RTC_MIN 0x3F | ||
| 523 | |||
| 524 | /* DA9055_REG_COUNT_H (addr=0x55) */ | ||
| 525 | #define DA9055_RTC_HOUR 0x1F | ||
| 526 | |||
| 527 | /* DA9055_REG_COUNT_D (addr=0x56) */ | ||
| 528 | #define DA9055_RTC_DAY 0x1F | ||
| 529 | |||
| 530 | /* DA9055_REG_COUNT_MO (addr=0x57) */ | ||
| 531 | #define DA9055_RTC_MONTH 0x0F | ||
| 532 | |||
| 533 | /* DA9055_REG_COUNT_Y (addr=0x58) */ | ||
| 534 | #define DA9055_RTC_YEAR 0x3F | ||
| 535 | #define DA9055_RTC_YEAR_BASE 2000 | ||
| 536 | |||
| 537 | /* DA9055_REG_ALARM_MI (addr=0x59) */ | ||
| 538 | #define DA9055_RTC_ALM_MIN 0x3F | ||
| 539 | #define DA9055_ALARM_STATUS_SHIFT 6 | ||
| 540 | #define DA9055_ALARM_STATUS_MASK 0x3 | ||
| 541 | #define DA9055_ALARM_STATUS_NO_ALARM 0x0 | ||
| 542 | #define DA9055_ALARM_STATUS_TICK 0x1 | ||
| 543 | #define DA9055_ALARM_STATUS_TIMER_ALARM 0x2 | ||
| 544 | #define DA9055_ALARM_STATUS_BOTH 0x3 | ||
| 545 | |||
| 546 | /* DA9055_REG_ALARM_H (addr=0x5A) */ | ||
| 547 | #define DA9055_RTC_ALM_HOUR 0x1F | ||
| 548 | |||
| 549 | /* DA9055_REG_ALARM_D (addr=0x5B) */ | ||
| 550 | #define DA9055_RTC_ALM_DAY 0x1F | ||
| 551 | |||
| 552 | /* DA9055_REG_ALARM_MO (addr=0x5C) */ | ||
| 553 | #define DA9055_RTC_ALM_MONTH 0x0F | ||
| 554 | #define DA9055_RTC_TICK_WAKE_MASK 0x20 | ||
| 555 | #define DA9055_RTC_TICK_WAKE_SHIFT 5 | ||
| 556 | #define DA9055_RTC_TICK_TYPE 0x10 | ||
| 557 | #define DA9055_RTC_TICK_TYPE_SHIFT 0x4 | ||
| 558 | #define DA9055_RTC_TICK_SEC 0x0 | ||
| 559 | #define DA9055_RTC_TICK_MIN 0x1 | ||
| 560 | #define DA9055_ALARAM_TICK_WAKE 0x20 | ||
| 561 | |||
| 562 | /* DA9055_REG_ALARM_Y (addr=0x5D) */ | ||
| 563 | #define DA9055_RTC_TICK_EN 0x80 | ||
| 564 | #define DA9055_RTC_ALM_EN 0x40 | ||
| 565 | #define DA9055_RTC_TICK_ALM_MASK 0xC0 | ||
| 566 | #define DA9055_RTC_ALM_YEAR 0x3F | ||
| 567 | |||
| 568 | /* DA9055_REG_TRIM_CLDR (addr=0x62) */ | ||
| 569 | #define DA9055_TRIM_32K_SHIFT 0 | ||
| 570 | #define DA9055_TRIM_32K_MASK 0x7F | ||
| 571 | #define DA9055_TRIM_DECREMENT (1<<7) | ||
| 572 | #define DA9055_TRIM_INCREMENT (0<<7) | ||
| 573 | #define DA9055_TRIM_VAL_BASE 0x0 | ||
| 574 | #define DA9055_TRIM_PPM_BASE 0x0 /* min val in units of 0.1PPM */ | ||
| 575 | #define DA9055_TRIM_PPM_INC 19 /* min inc in units of 0.1PPM */ | ||
| 576 | #define DA9055_TRIM_STEPS 127 | ||
| 577 | |||
| 578 | /* DA9055_REG_CONFIG_A (addr=0x65) */ | ||
| 579 | #define DA9055_PM_I_V_VDDCORE (0<<0) | ||
| 580 | #define DA9055_PM_I_V_VDD_IO (1<<0) | ||
| 581 | #define DA9055_VDD_FAULT_TYPE_ACT_LOW (0<<1) | ||
| 582 | #define DA9055_VDD_FAULT_TYPE_ACT_HIGH (1<<1) | ||
| 583 | #define DA9055_PM_O_TYPE_PUSH_PULL (0<<2) | ||
| 584 | #define DA9055_PM_O_TYPE_OPEN_DRAIN (1<<2) | ||
| 585 | #define DA9055_IRQ_TYPE_ACT_LOW (0<<3) | ||
| 586 | #define DA9055_IRQ_TYPE_ACT_HIGH (1<<3) | ||
| 587 | #define DA9055_NIRQ_MODE_IMM (0<<4) | ||
| 588 | #define DA9055_NIRQ_MODE_ACTIVE (1<<4) | ||
| 589 | #define DA9055_GPI_V_VDDCORE (0<<5) | ||
| 590 | #define DA9055_GPI_V_VDD_IO (1<<5) | ||
| 591 | #define DA9055_PM_IF_V_VDDCORE (0<<6) | ||
| 592 | #define DA9055_PM_IF_V_VDD_IO (1<<6) | ||
| 593 | |||
| 594 | /* DA9055_REG_CONFIG_B (addr=0x66) */ | ||
| 595 | #define DA9055_VDD_FAULT_VAL_SHIFT 0 | ||
| 596 | #define DA9055_VDD_FAULT_VAL_MASK 0xF | ||
| 597 | #define DA9055_VDD_FAULT_VAL_BASE 0x0 | ||
| 598 | #define DA9055_VDD_FAULT_VAL_MAX DA9055_VDD_FAULT_VAL_MASK | ||
| 599 | #define DA9055_VDD_FAULT_VOLT_BASE 2500 | ||
| 600 | #define DA9055_VDD_FAULT_VOLT_INC 50 | ||
| 601 | #define DA9055_VDD_FAULT_STEPS 15 | ||
| 602 | |||
| 603 | #define DA9055_VDD_HYST_VAL_SHIFT 4 | ||
| 604 | #define DA9055_VDD_HYST_VAL_MASK 0x7 | ||
| 605 | #define DA9055_VDD_HYST_VAL_BASE 0x0 | ||
| 606 | #define DA9055_VDD_HYST_VAL_MAX DA9055_VDD_HYST_VAL_MASK | ||
| 607 | #define DA9055_VDD_HYST_VOLT_BASE 100 | ||
| 608 | #define DA9055_VDD_HYST_VOLT_INC 50 | ||
| 609 | #define DA9055_VDD_HYST_STEPS 7 | ||
| 610 | #define DA9055_VDD_HYST_VOLT_MIN DA9055_VDD_HYST_VOLT_BASE | ||
| 611 | |||
| 612 | #define DA9055_VDD_FAULT_EN_SHIFT 7 | ||
| 613 | |||
| 614 | /* DA9055_REG_CONFIG_C (addr=0x67) */ | ||
| 615 | #define DA9055_BCORE_CLK_INV_SHIFT 0 | ||
| 616 | #define DA9055_BMEM_CLK_INV_SHIFT 1 | ||
| 617 | #define DA9055_NFAULT_CONF_SHIFT 2 | ||
| 618 | #define DA9055_LDO_SD_SHIFT 4 | ||
| 619 | #define DA9055_LDO5_BYP_SHIFT 6 | ||
| 620 | #define DA9055_LDO6_BYP_SHIFT 7 | ||
| 621 | |||
| 622 | /* DA9055_REG_CONFIG_D (addr=0x68) */ | ||
| 623 | #define DA9055_NONKEY_PIN_SHIFT 0 | ||
| 624 | #define DA9055_NONKEY_PIN_MASK 0x3 | ||
| 625 | #define DA9055_NONKEY_PIN_PORT_MODE 0x0 | ||
| 626 | #define DA9055_NONKEY_PIN_KEY_MODE 0x1 | ||
| 627 | #define DA9055_NONKEY_PIN_MULTI_FUNC 0x2 | ||
| 628 | #define DA9055_NONKEY_PIN_DEDICT 0x3 | ||
| 629 | #define DA9055_NONKEY_SD_SHIFT 2 | ||
| 630 | #define DA9055_KEY_DELAY_SHIFT 3 | ||
| 631 | #define DA9055_KEY_DELAY_MASK 0x3 | ||
| 632 | #define DA9055_KEY_DELAY_4S 0x0 | ||
| 633 | #define DA9055_KEY_DELAY_6S 0x1 | ||
| 634 | #define DA9055_KEY_DELAY_8S 0x2 | ||
| 635 | #define DA9055_KEY_DELAY_10S 0x3 | ||
| 636 | |||
| 637 | /* DA9055_REG_CONFIG_E (addr=0x69) */ | ||
| 638 | #define DA9055_GPIO_PUPD_PULL_UP 0x0 | ||
| 639 | #define DA9055_GPIO_PUPD_OPEN_DRAIN 0x1 | ||
| 640 | #define DA9055_GPIO0_PUPD_SHIFT 0 | ||
| 641 | #define DA9055_GPIO1_PUPD_SHIFT 1 | ||
| 642 | #define DA9055_GPIO2_PUPD_SHIFT 2 | ||
| 643 | #define DA9055_UVOV_DELAY_SHIFT 4 | ||
| 644 | #define DA9055_UVOV_DELAY_MASK 0x3 | ||
| 645 | #define DA9055_RESET_DURATION_SHIFT 6 | ||
| 646 | #define DA9055_RESET_DURATION_MASK 0x3 | ||
| 647 | #define DA9055_RESET_DURATION_0MS 0x0 | ||
| 648 | #define DA9055_RESET_DURATION_100MS 0x1 | ||
| 649 | #define DA9055_RESET_DURATION_500MS 0x2 | ||
| 650 | #define DA9055_RESET_DURATION_1000MS 0x3 | ||
| 651 | |||
| 652 | /* DA9055_REG_MON_REG_1 (addr=0x6A) */ | ||
| 653 | #define DA9055_MON_THRES_SHIFT 0 | ||
| 654 | #define DA9055_MON_THRES_MASK 0x3 | ||
| 655 | #define DA9055_MON_RES_SHIFT 2 | ||
| 656 | #define DA9055_MON_DEB_SHIFT 3 | ||
| 657 | #define DA9055_MON_MODE_SHIFT 4 | ||
| 658 | #define DA9055_MON_MODE_MASK 0x3 | ||
| 659 | #define DA9055_START_MAX_SHIFT 6 | ||
| 660 | #define DA9055_START_MAX_MASK 0x3 | ||
| 661 | |||
| 662 | /* DA9055_REG_MON_REG_2 (addr=0x6B) */ | ||
| 663 | #define DA9055_LDO1_MON_EN_SHIFT 0 | ||
| 664 | #define DA9055_LDO2_MON_EN_SHIFT 1 | ||
| 665 | #define DA9055_LDO3_MON_EN_SHIFT 2 | ||
| 666 | #define DA9055_LDO4_MON_EN_SHIFT 3 | ||
| 667 | #define DA9055_LDO5_MON_EN_SHIFT 4 | ||
| 668 | #define DA9055_LDO6_MON_EN_SHIFT 5 | ||
| 669 | #define DA9055_BCORE_MON_EN_SHIFT 6 | ||
| 670 | #define DA9055_BMEM_MON_EN_SHIFT 7 | ||
| 671 | |||
| 672 | /* DA9055_REG_CONFIG_F (addr=0x6C) */ | ||
| 673 | #define DA9055_LDO1_DEF_SHIFT 0 | ||
| 674 | #define DA9055_LDO2_DEF_SHIFT 1 | ||
| 675 | #define DA9055_LDO3_DEF_SHIFT 2 | ||
| 676 | #define DA9055_LDO4_DEF_SHIFT 3 | ||
| 677 | #define DA9055_LDO5_DEF_SHIFT 4 | ||
| 678 | #define DA9055_LDO6_DEF_SHIFT 5 | ||
| 679 | #define DA9055_BCORE_DEF_SHIFT 6 | ||
| 680 | #define DA9055_BMEM_DEF_SHIFT 7 | ||
| 681 | |||
| 682 | /* DA9055_REG_MON_REG_4 (addr=0x6D) */ | ||
| 683 | #define DA9055_MON_A8_IDX_SHIFT 0 | ||
| 684 | #define DA9055_MON_A89_IDX_MASK 0x3 | ||
| 685 | #define DA9055_MON_A89_IDX_NONE 0x0 | ||
| 686 | #define DA9055_MON_A89_IDX_BUCKCORE 0x1 | ||
| 687 | #define DA9055_MON_A89_IDX_LDO3 0x2 | ||
| 688 | #define DA9055_MON_A9_IDX_SHIFT 5 | ||
| 689 | |||
| 690 | /* DA9055_REG_MON_REG_5 (addr=0x6E) */ | ||
| 691 | #define DA9055_MON_A10_IDX_SHIFT 0 | ||
| 692 | #define DA9055_MON_A10_IDX_MASK 0x3 | ||
| 693 | #define DA9055_MON_A10_IDX_NONE 0x0 | ||
| 694 | #define DA9055_MON_A10_IDX_LDO1 0x1 | ||
| 695 | #define DA9055_MON_A10_IDX_LDO2 0x2 | ||
| 696 | #define DA9055_MON_A10_IDX_LDO5 0x3 | ||
| 697 | #define DA9055_MON_A10_IDX_LDO6 0x4 | ||
| 698 | |||
| 699 | #endif /* __DA9055_REG_H */ | ||
diff --git a/include/linux/mfd/db8500-prcmu.h b/include/linux/mfd/db8500-prcmu.h index 6ee4247df11..917dbcab701 100644 --- a/include/linux/mfd/db8500-prcmu.h +++ b/include/linux/mfd/db8500-prcmu.h | |||
| @@ -11,24 +11,7 @@ | |||
| 11 | #define __MFD_DB8500_PRCMU_H | 11 | #define __MFD_DB8500_PRCMU_H |
| 12 | 12 | ||
| 13 | #include <linux/interrupt.h> | 13 | #include <linux/interrupt.h> |
| 14 | #include <linux/bitops.h> | 14 | #include <linux/notifier.h> |
| 15 | |||
| 16 | /* | ||
| 17 | * Registers | ||
| 18 | */ | ||
| 19 | #define DB8500_PRCM_GPIOCR 0x138 | ||
| 20 | #define DB8500_PRCM_GPIOCR_DBG_UARTMOD_CMD0 BIT(0) | ||
| 21 | #define DB8500_PRCM_GPIOCR_DBG_STM_APE_CMD BIT(9) | ||
| 22 | #define DB8500_PRCM_GPIOCR_DBG_STM_MOD_CMD1 BIT(11) | ||
| 23 | #define DB8500_PRCM_GPIOCR_SPI2_SELECT BIT(23) | ||
| 24 | |||
| 25 | #define DB8500_PRCM_LINE_VALUE 0x170 | ||
| 26 | #define DB8500_PRCM_LINE_VALUE_HSI_CAWAKE0 BIT(3) | ||
| 27 | |||
| 28 | #define DB8500_PRCM_DSI_SW_RESET 0x324 | ||
| 29 | #define DB8500_PRCM_DSI_SW_RESET_DSI0_SW_RESETN BIT(0) | ||
| 30 | #define DB8500_PRCM_DSI_SW_RESET_DSI1_SW_RESETN BIT(1) | ||
| 31 | #define DB8500_PRCM_DSI_SW_RESET_DSI2_SW_RESETN BIT(2) | ||
| 32 | 15 | ||
| 33 | /* This portion previously known as <mach/prcmu-fw-defs_v1.h> */ | 16 | /* This portion previously known as <mach/prcmu-fw-defs_v1.h> */ |
| 34 | 17 | ||
| @@ -150,7 +133,7 @@ enum ap_pwrst { | |||
| 150 | * @APEXECUTE_TO_APIDLE: Power state transition from ApExecute to ApIdle | 133 | * @APEXECUTE_TO_APIDLE: Power state transition from ApExecute to ApIdle |
| 151 | */ | 134 | */ |
| 152 | enum ap_pwrst_trans { | 135 | enum ap_pwrst_trans { |
| 153 | PRCMU_AP_NO_CHANGE = 0x00, | 136 | NO_TRANSITION = 0x00, |
| 154 | APEXECUTE_TO_APSLEEP = 0x01, | 137 | APEXECUTE_TO_APSLEEP = 0x01, |
| 155 | APIDLE_TO_APSLEEP = 0x02, /* To be removed */ | 138 | APIDLE_TO_APSLEEP = 0x02, /* To be removed */ |
| 156 | PRCMU_AP_SLEEP = 0x01, | 139 | PRCMU_AP_SLEEP = 0x01, |
| @@ -163,6 +146,54 @@ enum ap_pwrst_trans { | |||
| 163 | }; | 146 | }; |
| 164 | 147 | ||
| 165 | /** | 148 | /** |
| 149 | * enum ddr_pwrst - DDR power states definition | ||
| 150 | * @DDR_PWR_STATE_UNCHANGED: SDRAM and DDR controller state is unchanged | ||
| 151 | * @DDR_PWR_STATE_ON: | ||
| 152 | * @DDR_PWR_STATE_OFFLOWLAT: | ||
| 153 | * @DDR_PWR_STATE_OFFHIGHLAT: | ||
| 154 | */ | ||
| 155 | enum ddr_pwrst { | ||
| 156 | DDR_PWR_STATE_UNCHANGED = 0x00, | ||
| 157 | DDR_PWR_STATE_ON = 0x01, | ||
| 158 | DDR_PWR_STATE_OFFLOWLAT = 0x02, | ||
| 159 | DDR_PWR_STATE_OFFHIGHLAT = 0x03 | ||
| 160 | }; | ||
| 161 | |||
| 162 | /** | ||
| 163 | * enum arm_opp - ARM OPP states definition | ||
| 164 | * @ARM_OPP_INIT: | ||
| 165 | * @ARM_NO_CHANGE: The ARM operating point is unchanged | ||
| 166 | * @ARM_100_OPP: The new ARM operating point is arm100opp | ||
| 167 | * @ARM_50_OPP: The new ARM operating point is arm50opp | ||
| 168 | * @ARM_MAX_OPP: Operating point is "max" (more than 100) | ||
| 169 | * @ARM_MAX_FREQ100OPP: Set max opp if available, else 100 | ||
| 170 | * @ARM_EXTCLK: The new ARM operating point is armExtClk | ||
| 171 | */ | ||
| 172 | enum arm_opp { | ||
| 173 | ARM_OPP_INIT = 0x00, | ||
| 174 | ARM_NO_CHANGE = 0x01, | ||
| 175 | ARM_100_OPP = 0x02, | ||
| 176 | ARM_50_OPP = 0x03, | ||
| 177 | ARM_MAX_OPP = 0x04, | ||
| 178 | ARM_MAX_FREQ100OPP = 0x05, | ||
| 179 | ARM_EXTCLK = 0x07 | ||
| 180 | }; | ||
| 181 | |||
| 182 | /** | ||
| 183 | * enum ape_opp - APE OPP states definition | ||
| 184 | * @APE_OPP_INIT: | ||
| 185 | * @APE_NO_CHANGE: The APE operating point is unchanged | ||
| 186 | * @APE_100_OPP: The new APE operating point is ape100opp | ||
| 187 | * @APE_50_OPP: 50% | ||
| 188 | */ | ||
| 189 | enum ape_opp { | ||
| 190 | APE_OPP_INIT = 0x00, | ||
| 191 | APE_NO_CHANGE = 0x01, | ||
| 192 | APE_100_OPP = 0x02, | ||
| 193 | APE_50_OPP = 0x03 | ||
| 194 | }; | ||
| 195 | |||
| 196 | /** | ||
| 166 | * enum hw_acc_state - State definition for hardware accelerator | 197 | * enum hw_acc_state - State definition for hardware accelerator |
| 167 | * @HW_NO_CHANGE: The hardware accelerator state must remain unchanged | 198 | * @HW_NO_CHANGE: The hardware accelerator state must remain unchanged |
| 168 | * @HW_OFF: The hardware accelerator must be switched off | 199 | * @HW_OFF: The hardware accelerator must be switched off |
| @@ -438,26 +469,122 @@ enum auto_enable { | |||
| 438 | 469 | ||
| 439 | /* End of file previously known as prcmu-fw-defs_v1.h */ | 470 | /* End of file previously known as prcmu-fw-defs_v1.h */ |
| 440 | 471 | ||
| 472 | /* PRCMU Wakeup defines */ | ||
| 473 | enum prcmu_wakeup_index { | ||
| 474 | PRCMU_WAKEUP_INDEX_RTC, | ||
| 475 | PRCMU_WAKEUP_INDEX_RTT0, | ||
| 476 | PRCMU_WAKEUP_INDEX_RTT1, | ||
| 477 | PRCMU_WAKEUP_INDEX_HSI0, | ||
| 478 | PRCMU_WAKEUP_INDEX_HSI1, | ||
| 479 | PRCMU_WAKEUP_INDEX_USB, | ||
| 480 | PRCMU_WAKEUP_INDEX_ABB, | ||
| 481 | PRCMU_WAKEUP_INDEX_ABB_FIFO, | ||
| 482 | PRCMU_WAKEUP_INDEX_ARM, | ||
| 483 | NUM_PRCMU_WAKEUP_INDICES | ||
| 484 | }; | ||
| 485 | #define PRCMU_WAKEUP(_name) (BIT(PRCMU_WAKEUP_INDEX_##_name)) | ||
| 486 | |||
| 487 | /* PRCMU QoS APE OPP class */ | ||
| 488 | #define PRCMU_QOS_APE_OPP 1 | ||
| 489 | #define PRCMU_QOS_DDR_OPP 2 | ||
| 490 | #define PRCMU_QOS_DEFAULT_VALUE -1 | ||
| 491 | |||
| 441 | /** | 492 | /** |
| 442 | * enum prcmu_power_status - results from set_power_state | 493 | * enum hw_acc_dev - enum for hw accelerators |
| 443 | * @PRCMU_SLEEP_OK: Sleep went ok | 494 | * @HW_ACC_SVAMMDSP: for SVAMMDSP |
| 444 | * @PRCMU_DEEP_SLEEP_OK: DeepSleep went ok | 495 | * @HW_ACC_SVAPIPE: for SVAPIPE |
| 445 | * @PRCMU_IDLE_OK: Idle went ok | 496 | * @HW_ACC_SIAMMDSP: for SIAMMDSP |
| 446 | * @PRCMU_DEEPIDLE_OK: DeepIdle went ok | 497 | * @HW_ACC_SIAPIPE: for SIAPIPE |
| 447 | * @PRCMU_PRCMU2ARMPENDINGIT_ER: Pending interrupt detected | 498 | * @HW_ACC_SGA: for SGA |
| 448 | * @PRCMU_ARMPENDINGIT_ER: Pending interrupt detected | 499 | * @HW_ACC_B2R2: for B2R2 |
| 500 | * @HW_ACC_MCDE: for MCDE | ||
| 501 | * @HW_ACC_ESRAM1: for ESRAM1 | ||
| 502 | * @HW_ACC_ESRAM2: for ESRAM2 | ||
| 503 | * @HW_ACC_ESRAM3: for ESRAM3 | ||
| 504 | * @HW_ACC_ESRAM4: for ESRAM4 | ||
| 505 | * @NUM_HW_ACC: number of hardware accelerators | ||
| 506 | * | ||
| 507 | * Different hw accelerators which can be turned ON/ | ||
| 508 | * OFF or put into retention (MMDSPs and ESRAMs). | ||
| 509 | * Used with EPOD API. | ||
| 449 | * | 510 | * |
| 511 | * NOTE! Deprecated, to be removed when all users switched over to use the | ||
| 512 | * regulator API. | ||
| 450 | */ | 513 | */ |
| 451 | enum prcmu_power_status { | 514 | enum hw_acc_dev { |
| 452 | PRCMU_SLEEP_OK = 0xf3, | 515 | HW_ACC_SVAMMDSP, |
| 453 | PRCMU_DEEP_SLEEP_OK = 0xf6, | 516 | HW_ACC_SVAPIPE, |
| 454 | PRCMU_IDLE_OK = 0xf0, | 517 | HW_ACC_SIAMMDSP, |
| 455 | PRCMU_DEEPIDLE_OK = 0xe3, | 518 | HW_ACC_SIAPIPE, |
| 456 | PRCMU_PRCMU2ARMPENDINGIT_ER = 0x91, | 519 | HW_ACC_SGA, |
| 457 | PRCMU_ARMPENDINGIT_ER = 0x93, | 520 | HW_ACC_B2R2, |
| 521 | HW_ACC_MCDE, | ||
| 522 | HW_ACC_ESRAM1, | ||
| 523 | HW_ACC_ESRAM2, | ||
| 524 | HW_ACC_ESRAM3, | ||
| 525 | HW_ACC_ESRAM4, | ||
| 526 | NUM_HW_ACC | ||
| 458 | }; | 527 | }; |
| 459 | 528 | ||
| 460 | /* | 529 | /* |
| 530 | * Ids for all EPODs (power domains) | ||
| 531 | * - EPOD_ID_SVAMMDSP: power domain for SVA MMDSP | ||
| 532 | * - EPOD_ID_SVAPIPE: power domain for SVA pipe | ||
| 533 | * - EPOD_ID_SIAMMDSP: power domain for SIA MMDSP | ||
| 534 | * - EPOD_ID_SIAPIPE: power domain for SIA pipe | ||
| 535 | * - EPOD_ID_SGA: power domain for SGA | ||
| 536 | * - EPOD_ID_B2R2_MCDE: power domain for B2R2 and MCDE | ||
| 537 | * - EPOD_ID_ESRAM12: power domain for ESRAM 1 and 2 | ||
| 538 | * - EPOD_ID_ESRAM34: power domain for ESRAM 3 and 4 | ||
| 539 | * - NUM_EPOD_ID: number of power domains | ||
| 540 | */ | ||
| 541 | #define EPOD_ID_SVAMMDSP 0 | ||
| 542 | #define EPOD_ID_SVAPIPE 1 | ||
| 543 | #define EPOD_ID_SIAMMDSP 2 | ||
| 544 | #define EPOD_ID_SIAPIPE 3 | ||
| 545 | #define EPOD_ID_SGA 4 | ||
| 546 | #define EPOD_ID_B2R2_MCDE 5 | ||
| 547 | #define EPOD_ID_ESRAM12 6 | ||
| 548 | #define EPOD_ID_ESRAM34 7 | ||
| 549 | #define NUM_EPOD_ID 8 | ||
| 550 | |||
| 551 | /* | ||
| 552 | * state definition for EPOD (power domain) | ||
| 553 | * - EPOD_STATE_NO_CHANGE: The EPOD should remain unchanged | ||
| 554 | * - EPOD_STATE_OFF: The EPOD is switched off | ||
| 555 | * - EPOD_STATE_RAMRET: The EPOD is switched off with its internal RAM in | ||
| 556 | * retention | ||
| 557 | * - EPOD_STATE_ON_CLK_OFF: The EPOD is switched on, clock is still off | ||
| 558 | * - EPOD_STATE_ON: Same as above, but with clock enabled | ||
| 559 | */ | ||
| 560 | #define EPOD_STATE_NO_CHANGE 0x00 | ||
| 561 | #define EPOD_STATE_OFF 0x01 | ||
| 562 | #define EPOD_STATE_RAMRET 0x02 | ||
| 563 | #define EPOD_STATE_ON_CLK_OFF 0x03 | ||
| 564 | #define EPOD_STATE_ON 0x04 | ||
| 565 | |||
| 566 | /* | ||
| 567 | * CLKOUT sources | ||
| 568 | */ | ||
| 569 | #define PRCMU_CLKSRC_CLK38M 0x00 | ||
| 570 | #define PRCMU_CLKSRC_ACLK 0x01 | ||
| 571 | #define PRCMU_CLKSRC_SYSCLK 0x02 | ||
| 572 | #define PRCMU_CLKSRC_LCDCLK 0x03 | ||
| 573 | #define PRCMU_CLKSRC_SDMMCCLK 0x04 | ||
| 574 | #define PRCMU_CLKSRC_TVCLK 0x05 | ||
| 575 | #define PRCMU_CLKSRC_TIMCLK 0x06 | ||
| 576 | #define PRCMU_CLKSRC_CLK009 0x07 | ||
| 577 | /* These are only valid for CLKOUT1: */ | ||
| 578 | #define PRCMU_CLKSRC_SIAMMDSPCLK 0x40 | ||
| 579 | #define PRCMU_CLKSRC_I2CCLK 0x41 | ||
| 580 | #define PRCMU_CLKSRC_MSP02CLK 0x42 | ||
| 581 | #define PRCMU_CLKSRC_ARMPLL_OBSCLK 0x43 | ||
| 582 | #define PRCMU_CLKSRC_HSIRXCLK 0x44 | ||
| 583 | #define PRCMU_CLKSRC_HSITXCLK 0x45 | ||
| 584 | #define PRCMU_CLKSRC_ARMCLKFIX 0x46 | ||
| 585 | #define PRCMU_CLKSRC_HDMICLK 0x47 | ||
| 586 | |||
| 587 | /* | ||
| 461 | * Definitions for autonomous power management configuration. | 588 | * Definitions for autonomous power management configuration. |
| 462 | */ | 589 | */ |
| 463 | 590 | ||
| @@ -493,88 +620,126 @@ struct prcmu_auto_pm_config { | |||
| 493 | u8 sva_policy; | 620 | u8 sva_policy; |
| 494 | }; | 621 | }; |
| 495 | 622 | ||
| 496 | #define PRCMU_FW_PROJECT_U8500 2 | 623 | /** |
| 497 | #define PRCMU_FW_PROJECT_U9500 4 | 624 | * enum ddr_opp - DDR OPP states definition |
| 498 | #define PRCMU_FW_PROJECT_U8500_C2 7 | 625 | * @DDR_100_OPP: The new DDR operating point is ddr100opp |
| 499 | #define PRCMU_FW_PROJECT_U9500_C2 11 | 626 | * @DDR_50_OPP: The new DDR operating point is ddr50opp |
| 500 | #define PRCMU_FW_PROJECT_U8520 13 | 627 | * @DDR_25_OPP: The new DDR operating point is ddr25opp |
| 501 | #define PRCMU_FW_PROJECT_U8420 14 | 628 | */ |
| 502 | 629 | enum ddr_opp { | |
| 503 | struct prcmu_fw_version { | 630 | DDR_100_OPP = 0x00, |
| 504 | u8 project; | 631 | DDR_50_OPP = 0x01, |
| 505 | u8 api_version; | 632 | DDR_25_OPP = 0x02, |
| 506 | u8 func_version; | 633 | }; |
| 507 | u8 errata; | 634 | |
| 635 | /* | ||
| 636 | * Clock identifiers. | ||
| 637 | */ | ||
| 638 | enum prcmu_clock { | ||
| 639 | PRCMU_SGACLK, | ||
| 640 | PRCMU_UARTCLK, | ||
| 641 | PRCMU_MSP02CLK, | ||
| 642 | PRCMU_MSP1CLK, | ||
| 643 | PRCMU_I2CCLK, | ||
| 644 | PRCMU_SDMMCCLK, | ||
| 645 | PRCMU_SLIMCLK, | ||
| 646 | PRCMU_PER1CLK, | ||
| 647 | PRCMU_PER2CLK, | ||
| 648 | PRCMU_PER3CLK, | ||
| 649 | PRCMU_PER5CLK, | ||
| 650 | PRCMU_PER6CLK, | ||
| 651 | PRCMU_PER7CLK, | ||
| 652 | PRCMU_LCDCLK, | ||
| 653 | PRCMU_BMLCLK, | ||
| 654 | PRCMU_HSITXCLK, | ||
| 655 | PRCMU_HSIRXCLK, | ||
| 656 | PRCMU_HDMICLK, | ||
| 657 | PRCMU_APEATCLK, | ||
| 658 | PRCMU_APETRACECLK, | ||
| 659 | PRCMU_MCDECLK, | ||
| 660 | PRCMU_IPI2CCLK, | ||
| 661 | PRCMU_DSIALTCLK, | ||
| 662 | PRCMU_DMACLK, | ||
| 663 | PRCMU_B2R2CLK, | ||
| 664 | PRCMU_TVCLK, | ||
| 665 | PRCMU_SSPCLK, | ||
| 666 | PRCMU_RNGCLK, | ||
| 667 | PRCMU_UICCCLK, | ||
| 668 | PRCMU_NUM_REG_CLOCKS, | ||
| 669 | PRCMU_SYSCLK = PRCMU_NUM_REG_CLOCKS, | ||
| 670 | PRCMU_TIMCLK, | ||
| 508 | }; | 671 | }; |
| 509 | 672 | ||
| 673 | /* | ||
| 674 | * Definitions for controlling ESRAM0 in deep sleep. | ||
| 675 | */ | ||
| 676 | #define ESRAM0_DEEP_SLEEP_STATE_OFF 1 | ||
| 677 | #define ESRAM0_DEEP_SLEEP_STATE_RET 2 | ||
| 678 | |||
| 679 | #ifdef CONFIG_MFD_DB8500_PRCMU | ||
| 680 | void __init prcmu_early_init(void); | ||
| 681 | int prcmu_set_display_clocks(void); | ||
| 682 | int prcmu_disable_dsipll(void); | ||
| 683 | int prcmu_enable_dsipll(void); | ||
| 684 | #else | ||
| 685 | static inline void __init prcmu_early_init(void) {} | ||
| 686 | #endif | ||
| 687 | |||
| 510 | #ifdef CONFIG_MFD_DB8500_PRCMU | 688 | #ifdef CONFIG_MFD_DB8500_PRCMU |
| 511 | 689 | ||
| 512 | void db8500_prcmu_early_init(void); | ||
| 513 | int prcmu_set_rc_a2p(enum romcode_write); | 690 | int prcmu_set_rc_a2p(enum romcode_write); |
| 514 | enum romcode_read prcmu_get_rc_p2a(void); | 691 | enum romcode_read prcmu_get_rc_p2a(void); |
| 515 | enum ap_pwrst prcmu_get_xp70_current_state(void); | 692 | enum ap_pwrst prcmu_get_xp70_current_state(void); |
| 693 | int prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); | ||
| 694 | |||
| 695 | void prcmu_enable_wakeups(u32 wakeups); | ||
| 696 | static inline void prcmu_disable_wakeups(void) | ||
| 697 | { | ||
| 698 | prcmu_enable_wakeups(0); | ||
| 699 | } | ||
| 700 | |||
| 701 | void prcmu_config_abb_event_readout(u32 abb_events); | ||
| 702 | void prcmu_get_abb_event_buffer(void __iomem **buf); | ||
| 703 | int prcmu_set_arm_opp(u8 opp); | ||
| 704 | int prcmu_get_arm_opp(void); | ||
| 516 | bool prcmu_has_arm_maxopp(void); | 705 | bool prcmu_has_arm_maxopp(void); |
| 517 | struct prcmu_fw_version *prcmu_get_fw_version(void); | 706 | bool prcmu_is_u8400(void); |
| 707 | int prcmu_set_ape_opp(u8 opp); | ||
| 708 | int prcmu_get_ape_opp(void); | ||
| 709 | int prcmu_request_ape_opp_100_voltage(bool enable); | ||
| 518 | int prcmu_release_usb_wakeup_state(void); | 710 | int prcmu_release_usb_wakeup_state(void); |
| 711 | int prcmu_set_ddr_opp(u8 opp); | ||
| 712 | int prcmu_get_ddr_opp(void); | ||
| 713 | unsigned long prcmu_qos_get_cpufreq_opp_delay(void); | ||
| 714 | void prcmu_qos_set_cpufreq_opp_delay(unsigned long); | ||
| 715 | /* NOTE! Use regulator framework instead */ | ||
| 716 | int prcmu_set_hwacc(u16 hw_acc_dev, u8 state); | ||
| 717 | int prcmu_set_epod(u16 epod_id, u8 epod_state); | ||
| 519 | void prcmu_configure_auto_pm(struct prcmu_auto_pm_config *sleep, | 718 | void prcmu_configure_auto_pm(struct prcmu_auto_pm_config *sleep, |
| 520 | struct prcmu_auto_pm_config *idle); | 719 | struct prcmu_auto_pm_config *idle); |
| 521 | bool prcmu_is_auto_pm_enabled(void); | 720 | bool prcmu_is_auto_pm_enabled(void); |
| 522 | 721 | ||
| 523 | int prcmu_config_clkout(u8 clkout, u8 source, u8 div); | 722 | int prcmu_config_clkout(u8 clkout, u8 source, u8 div); |
| 723 | int prcmu_request_clock(u8 clock, bool enable); | ||
| 524 | int prcmu_set_clock_divider(u8 clock, u8 divider); | 724 | int prcmu_set_clock_divider(u8 clock, u8 divider); |
| 525 | int db8500_prcmu_config_hotdog(u8 threshold); | 725 | int prcmu_config_esram0_deep_sleep(u8 state); |
| 526 | int db8500_prcmu_config_hotmon(u8 low, u8 high); | 726 | int prcmu_config_hotdog(u8 threshold); |
| 527 | int db8500_prcmu_start_temp_sense(u16 cycles32k); | 727 | int prcmu_config_hotmon(u8 low, u8 high); |
| 528 | int db8500_prcmu_stop_temp_sense(void); | 728 | int prcmu_start_temp_sense(u16 cycles32k); |
| 729 | int prcmu_stop_temp_sense(void); | ||
| 529 | int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size); | 730 | int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size); |
| 530 | int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size); | 731 | int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size); |
| 531 | 732 | ||
| 532 | int prcmu_ac_wake_req(void); | 733 | void prcmu_ac_wake_req(void); |
| 533 | void prcmu_ac_sleep_req(void); | 734 | void prcmu_ac_sleep_req(void); |
| 534 | void db8500_prcmu_modem_reset(void); | 735 | void prcmu_system_reset(u16 reset_code); |
| 535 | 736 | void prcmu_modem_reset(void); | |
| 536 | int db8500_prcmu_config_a9wdog(u8 num, bool sleep_auto_off); | 737 | bool prcmu_is_ac_wake_requested(void); |
| 537 | int db8500_prcmu_enable_a9wdog(u8 id); | 738 | void prcmu_enable_spi2(void); |
| 538 | int db8500_prcmu_disable_a9wdog(u8 id); | 739 | void prcmu_disable_spi2(void); |
| 539 | int db8500_prcmu_kick_a9wdog(u8 id); | ||
| 540 | int db8500_prcmu_load_a9wdog(u8 id, u32 val); | ||
| 541 | |||
| 542 | void db8500_prcmu_system_reset(u16 reset_code); | ||
| 543 | int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); | ||
| 544 | u8 db8500_prcmu_get_power_state_result(void); | ||
| 545 | int db8500_prcmu_gic_decouple(void); | ||
| 546 | int db8500_prcmu_gic_recouple(void); | ||
| 547 | int db8500_prcmu_copy_gic_settings(void); | ||
| 548 | bool db8500_prcmu_gic_pending_irq(void); | ||
| 549 | bool db8500_prcmu_pending_irq(void); | ||
| 550 | bool db8500_prcmu_is_cpu_in_wfi(int cpu); | ||
| 551 | void db8500_prcmu_enable_wakeups(u32 wakeups); | ||
| 552 | int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state); | ||
| 553 | int db8500_prcmu_request_clock(u8 clock, bool enable); | ||
| 554 | int db8500_prcmu_set_display_clocks(void); | ||
| 555 | int db8500_prcmu_disable_dsipll(void); | ||
| 556 | int db8500_prcmu_enable_dsipll(void); | ||
| 557 | void db8500_prcmu_config_abb_event_readout(u32 abb_events); | ||
| 558 | void db8500_prcmu_get_abb_event_buffer(void __iomem **buf); | ||
| 559 | int db8500_prcmu_config_esram0_deep_sleep(u8 state); | ||
| 560 | u16 db8500_prcmu_get_reset_code(void); | ||
| 561 | bool db8500_prcmu_is_ac_wake_requested(void); | ||
| 562 | int db8500_prcmu_set_arm_opp(u8 opp); | ||
| 563 | int db8500_prcmu_get_arm_opp(void); | ||
| 564 | int db8500_prcmu_set_ape_opp(u8 opp); | ||
| 565 | int db8500_prcmu_get_ape_opp(void); | ||
| 566 | int db8500_prcmu_request_ape_opp_100_voltage(bool enable); | ||
| 567 | int db8500_prcmu_set_ddr_opp(u8 opp); | ||
| 568 | int db8500_prcmu_get_ddr_opp(void); | ||
| 569 | |||
| 570 | u32 db8500_prcmu_read(unsigned int reg); | ||
| 571 | void db8500_prcmu_write(unsigned int reg, u32 value); | ||
| 572 | void db8500_prcmu_write_masked(unsigned int reg, u32 mask, u32 value); | ||
| 573 | 740 | ||
| 574 | #else /* !CONFIG_MFD_DB8500_PRCMU */ | 741 | #else /* !CONFIG_MFD_DB8500_PRCMU */ |
| 575 | 742 | ||
| 576 | static inline void db8500_prcmu_early_init(void) {} | ||
| 577 | |||
| 578 | static inline int prcmu_set_rc_a2p(enum romcode_write code) | 743 | static inline int prcmu_set_rc_a2p(enum romcode_write code) |
| 579 | { | 744 | { |
| 580 | return 0; | 745 | return 0; |
| @@ -590,209 +755,224 @@ static inline enum ap_pwrst prcmu_get_xp70_current_state(void) | |||
| 590 | return AP_EXECUTE; | 755 | return AP_EXECUTE; |
| 591 | } | 756 | } |
| 592 | 757 | ||
| 593 | static inline bool prcmu_has_arm_maxopp(void) | 758 | static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, |
| 759 | bool keep_ap_pll) | ||
| 594 | { | 760 | { |
| 595 | return false; | 761 | return 0; |
| 596 | } | 762 | } |
| 597 | 763 | ||
| 598 | static inline struct prcmu_fw_version *prcmu_get_fw_version(void) | 764 | static inline void prcmu_enable_wakeups(u32 wakeups) {} |
| 599 | { | ||
| 600 | return NULL; | ||
| 601 | } | ||
| 602 | 765 | ||
| 603 | static inline int db8500_prcmu_set_ape_opp(u8 opp) | 766 | static inline void prcmu_disable_wakeups(void) {} |
| 604 | { | ||
| 605 | return 0; | ||
| 606 | } | ||
| 607 | 767 | ||
| 608 | static inline int db8500_prcmu_get_ape_opp(void) | 768 | static inline void prcmu_config_abb_event_readout(u32 abb_events) {} |
| 609 | { | ||
| 610 | return APE_100_OPP; | ||
| 611 | } | ||
| 612 | 769 | ||
| 613 | static inline int db8500_prcmu_request_ape_opp_100_voltage(bool enable) | 770 | static inline int prcmu_set_arm_opp(u8 opp) |
| 614 | { | 771 | { |
| 615 | return 0; | 772 | return 0; |
| 616 | } | 773 | } |
| 617 | 774 | ||
| 618 | static inline int prcmu_release_usb_wakeup_state(void) | 775 | static inline int prcmu_get_arm_opp(void) |
| 619 | { | 776 | { |
| 620 | return 0; | 777 | return ARM_100_OPP; |
| 621 | } | 778 | } |
| 622 | 779 | ||
| 623 | static inline int db8500_prcmu_set_ddr_opp(u8 opp) | 780 | static bool prcmu_has_arm_maxopp(void) |
| 624 | { | 781 | { |
| 625 | return 0; | 782 | return false; |
| 626 | } | 783 | } |
| 627 | 784 | ||
| 628 | static inline int db8500_prcmu_get_ddr_opp(void) | 785 | static bool prcmu_is_u8400(void) |
| 629 | { | 786 | { |
| 630 | return DDR_100_OPP; | 787 | return false; |
| 631 | } | 788 | } |
| 632 | 789 | ||
| 633 | static inline void prcmu_configure_auto_pm(struct prcmu_auto_pm_config *sleep, | 790 | static inline int prcmu_set_ape_opp(u8 opp) |
| 634 | struct prcmu_auto_pm_config *idle) | ||
| 635 | { | 791 | { |
| 792 | return 0; | ||
| 636 | } | 793 | } |
| 637 | 794 | ||
| 638 | static inline bool prcmu_is_auto_pm_enabled(void) | 795 | static inline int prcmu_get_ape_opp(void) |
| 639 | { | 796 | { |
| 640 | return false; | 797 | return APE_100_OPP; |
| 641 | } | 798 | } |
| 642 | 799 | ||
| 643 | static inline int prcmu_config_clkout(u8 clkout, u8 source, u8 div) | 800 | static inline int prcmu_request_ape_opp_100_voltage(bool enable) |
| 644 | { | 801 | { |
| 645 | return 0; | 802 | return 0; |
| 646 | } | 803 | } |
| 647 | 804 | ||
| 648 | static inline int prcmu_set_clock_divider(u8 clock, u8 divider) | 805 | static inline int prcmu_release_usb_wakeup_state(void) |
| 649 | { | 806 | { |
| 650 | return 0; | 807 | return 0; |
| 651 | } | 808 | } |
| 652 | 809 | ||
| 653 | static inline int db8500_prcmu_config_hotdog(u8 threshold) | 810 | static inline int prcmu_set_ddr_opp(u8 opp) |
| 654 | { | 811 | { |
| 655 | return 0; | 812 | return 0; |
| 656 | } | 813 | } |
| 657 | 814 | ||
| 658 | static inline int db8500_prcmu_config_hotmon(u8 low, u8 high) | 815 | static inline int prcmu_get_ddr_opp(void) |
| 659 | { | 816 | { |
| 660 | return 0; | 817 | return DDR_100_OPP; |
| 661 | } | 818 | } |
| 662 | 819 | ||
| 663 | static inline int db8500_prcmu_start_temp_sense(u16 cycles32k) | 820 | static inline unsigned long prcmu_qos_get_cpufreq_opp_delay(void) |
| 664 | { | 821 | { |
| 665 | return 0; | 822 | return 0; |
| 666 | } | 823 | } |
| 667 | 824 | ||
| 668 | static inline int db8500_prcmu_stop_temp_sense(void) | 825 | static inline void prcmu_qos_set_cpufreq_opp_delay(unsigned long n) {} |
| 826 | |||
| 827 | static inline int prcmu_set_hwacc(u16 hw_acc_dev, u8 state) | ||
| 669 | { | 828 | { |
| 670 | return 0; | 829 | return 0; |
| 671 | } | 830 | } |
| 672 | 831 | ||
| 673 | static inline int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size) | 832 | static inline void prcmu_configure_auto_pm(struct prcmu_auto_pm_config *sleep, |
| 833 | struct prcmu_auto_pm_config *idle) | ||
| 674 | { | 834 | { |
| 675 | return -ENOSYS; | ||
| 676 | } | 835 | } |
| 677 | 836 | ||
| 678 | static inline int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size) | 837 | static inline bool prcmu_is_auto_pm_enabled(void) |
| 679 | { | 838 | { |
| 680 | return -ENOSYS; | 839 | return false; |
| 681 | } | 840 | } |
| 682 | 841 | ||
| 683 | static inline int prcmu_ac_wake_req(void) | 842 | static inline int prcmu_config_clkout(u8 clkout, u8 source, u8 div) |
| 684 | { | 843 | { |
| 685 | return 0; | 844 | return 0; |
| 686 | } | 845 | } |
| 687 | 846 | ||
| 688 | static inline void prcmu_ac_sleep_req(void) {} | 847 | static inline int prcmu_request_clock(u8 clock, bool enable) |
| 689 | |||
| 690 | static inline void db8500_prcmu_modem_reset(void) {} | ||
| 691 | |||
| 692 | static inline void db8500_prcmu_system_reset(u16 reset_code) {} | ||
| 693 | |||
| 694 | static inline int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, | ||
| 695 | bool keep_ap_pll) | ||
| 696 | { | 848 | { |
| 697 | return 0; | 849 | return 0; |
| 698 | } | 850 | } |
| 699 | 851 | ||
| 700 | static inline u8 db8500_prcmu_get_power_state_result(void) | 852 | static inline int prcmu_set_clock_divider(u8 clock, u8 divider) |
| 701 | { | 853 | { |
| 702 | return 0; | 854 | return 0; |
| 703 | } | 855 | } |
| 704 | 856 | ||
| 705 | static inline void db8500_prcmu_enable_wakeups(u32 wakeups) {} | 857 | int prcmu_config_esram0_deep_sleep(u8 state) |
| 706 | |||
| 707 | static inline int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state) | ||
| 708 | { | 858 | { |
| 709 | return 0; | 859 | return 0; |
| 710 | } | 860 | } |
| 711 | 861 | ||
| 712 | static inline int db8500_prcmu_request_clock(u8 clock, bool enable) | 862 | static inline int prcmu_config_hotdog(u8 threshold) |
| 713 | { | 863 | { |
| 714 | return 0; | 864 | return 0; |
| 715 | } | 865 | } |
| 716 | 866 | ||
| 717 | static inline int db8500_prcmu_set_display_clocks(void) | 867 | static inline int prcmu_config_hotmon(u8 low, u8 high) |
| 718 | { | 868 | { |
| 719 | return 0; | 869 | return 0; |
| 720 | } | 870 | } |
| 721 | 871 | ||
| 722 | static inline int db8500_prcmu_disable_dsipll(void) | 872 | static inline int prcmu_start_temp_sense(u16 cycles32k) |
| 723 | { | 873 | { |
| 724 | return 0; | 874 | return 0; |
| 725 | } | 875 | } |
| 726 | 876 | ||
| 727 | static inline int db8500_prcmu_enable_dsipll(void) | 877 | static inline int prcmu_stop_temp_sense(void) |
| 728 | { | 878 | { |
| 729 | return 0; | 879 | return 0; |
| 730 | } | 880 | } |
| 731 | 881 | ||
| 732 | static inline int db8500_prcmu_config_esram0_deep_sleep(u8 state) | 882 | static inline int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size) |
| 733 | { | 883 | { |
| 734 | return 0; | 884 | return -ENOSYS; |
| 735 | } | 885 | } |
| 736 | 886 | ||
| 737 | static inline void db8500_prcmu_config_abb_event_readout(u32 abb_events) {} | 887 | static inline int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size) |
| 888 | { | ||
| 889 | return -ENOSYS; | ||
| 890 | } | ||
| 891 | |||
| 892 | static inline void prcmu_ac_wake_req(void) {} | ||
| 893 | |||
| 894 | static inline void prcmu_ac_sleep_req(void) {} | ||
| 738 | 895 | ||
| 739 | static inline void db8500_prcmu_get_abb_event_buffer(void __iomem **buf) {} | 896 | static inline void prcmu_system_reset(u16 reset_code) {} |
| 740 | 897 | ||
| 741 | static inline u16 db8500_prcmu_get_reset_code(void) | 898 | static inline void prcmu_modem_reset(void) {} |
| 899 | |||
| 900 | static inline bool prcmu_is_ac_wake_requested(void) | ||
| 742 | { | 901 | { |
| 743 | return 0; | 902 | return false; |
| 744 | } | 903 | } |
| 745 | 904 | ||
| 746 | static inline int db8500_prcmu_config_a9wdog(u8 num, bool sleep_auto_off) | 905 | #ifndef CONFIG_UX500_SOC_DB5500 |
| 906 | static inline int prcmu_set_display_clocks(void) | ||
| 747 | { | 907 | { |
| 748 | return 0; | 908 | return 0; |
| 749 | } | 909 | } |
| 750 | 910 | ||
| 751 | static inline int db8500_prcmu_enable_a9wdog(u8 id) | 911 | static inline int prcmu_disable_dsipll(void) |
| 752 | { | 912 | { |
| 753 | return 0; | 913 | return 0; |
| 754 | } | 914 | } |
| 755 | 915 | ||
| 756 | static inline int db8500_prcmu_disable_a9wdog(u8 id) | 916 | static inline int prcmu_enable_dsipll(void) |
| 757 | { | 917 | { |
| 758 | return 0; | 918 | return 0; |
| 759 | } | 919 | } |
| 920 | #endif | ||
| 760 | 921 | ||
| 761 | static inline int db8500_prcmu_kick_a9wdog(u8 id) | 922 | static inline int prcmu_enable_spi2(void) |
| 762 | { | 923 | { |
| 763 | return 0; | 924 | return 0; |
| 764 | } | 925 | } |
| 765 | 926 | ||
| 766 | static inline int db8500_prcmu_load_a9wdog(u8 id, u32 val) | 927 | static inline int prcmu_disable_spi2(void) |
| 767 | { | 928 | { |
| 768 | return 0; | 929 | return 0; |
| 769 | } | 930 | } |
| 770 | 931 | ||
| 771 | static inline bool db8500_prcmu_is_ac_wake_requested(void) | 932 | #endif /* !CONFIG_MFD_DB8500_PRCMU */ |
| 933 | |||
| 934 | #ifdef CONFIG_UX500_PRCMU_QOS_POWER | ||
| 935 | int prcmu_qos_requirement(int pm_qos_class); | ||
| 936 | int prcmu_qos_add_requirement(int pm_qos_class, char *name, s32 value); | ||
| 937 | int prcmu_qos_update_requirement(int pm_qos_class, char *name, s32 new_value); | ||
| 938 | void prcmu_qos_remove_requirement(int pm_qos_class, char *name); | ||
| 939 | int prcmu_qos_add_notifier(int prcmu_qos_class, | ||
| 940 | struct notifier_block *notifier); | ||
| 941 | int prcmu_qos_remove_notifier(int prcmu_qos_class, | ||
| 942 | struct notifier_block *notifier); | ||
| 943 | #else | ||
| 944 | static inline int prcmu_qos_requirement(int prcmu_qos_class) | ||
| 772 | { | 945 | { |
| 773 | return 0; | 946 | return 0; |
| 774 | } | 947 | } |
| 775 | 948 | ||
| 776 | static inline int db8500_prcmu_set_arm_opp(u8 opp) | 949 | static inline int prcmu_qos_add_requirement(int prcmu_qos_class, |
| 950 | char *name, s32 value) | ||
| 777 | { | 951 | { |
| 778 | return 0; | 952 | return 0; |
| 779 | } | 953 | } |
| 780 | 954 | ||
| 781 | static inline int db8500_prcmu_get_arm_opp(void) | 955 | static inline int prcmu_qos_update_requirement(int prcmu_qos_class, |
| 956 | char *name, s32 new_value) | ||
| 782 | { | 957 | { |
| 783 | return 0; | 958 | return 0; |
| 784 | } | 959 | } |
| 785 | 960 | ||
| 786 | static inline u32 db8500_prcmu_read(unsigned int reg) | 961 | static inline void prcmu_qos_remove_requirement(int prcmu_qos_class, char *name) |
| 787 | { | 962 | { |
| 788 | return 0; | ||
| 789 | } | 963 | } |
| 790 | 964 | ||
| 791 | static inline void db8500_prcmu_write(unsigned int reg, u32 value) {} | 965 | static inline int prcmu_qos_add_notifier(int prcmu_qos_class, |
| 792 | 966 | struct notifier_block *notifier) | |
| 793 | static inline void db8500_prcmu_write_masked(unsigned int reg, u32 mask, | 967 | { |
| 794 | u32 value) {} | 968 | return 0; |
| 969 | } | ||
| 970 | static inline int prcmu_qos_remove_notifier(int prcmu_qos_class, | ||
| 971 | struct notifier_block *notifier) | ||
| 972 | { | ||
| 973 | return 0; | ||
| 974 | } | ||
| 795 | 975 | ||
| 796 | #endif /* !CONFIG_MFD_DB8500_PRCMU */ | 976 | #endif |
| 797 | 977 | ||
| 798 | #endif /* __MFD_DB8500_PRCMU_H */ | 978 | #endif /* __MFD_DB8500_PRCMU_H */ |
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h deleted file mode 100644 index c202d6c4d87..00000000000 --- a/include/linux/mfd/dbx500-prcmu.h +++ /dev/null | |||
| @@ -1,773 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST Ericsson SA 2011 | ||
| 3 | * | ||
| 4 | * License Terms: GNU General Public License v2 | ||
| 5 | * | ||
| 6 | * STE Ux500 PRCMU API | ||
| 7 | */ | ||
| 8 | #ifndef __MACH_PRCMU_H | ||
| 9 | #define __MACH_PRCMU_H | ||
| 10 | |||
| 11 | #include <linux/interrupt.h> | ||
| 12 | #include <linux/notifier.h> | ||
| 13 | #include <linux/err.h> | ||
| 14 | |||
| 15 | /* PRCMU Wakeup defines */ | ||
| 16 | enum prcmu_wakeup_index { | ||
| 17 | PRCMU_WAKEUP_INDEX_RTC, | ||
| 18 | PRCMU_WAKEUP_INDEX_RTT0, | ||
| 19 | PRCMU_WAKEUP_INDEX_RTT1, | ||
| 20 | PRCMU_WAKEUP_INDEX_HSI0, | ||
| 21 | PRCMU_WAKEUP_INDEX_HSI1, | ||
| 22 | PRCMU_WAKEUP_INDEX_USB, | ||
| 23 | PRCMU_WAKEUP_INDEX_ABB, | ||
| 24 | PRCMU_WAKEUP_INDEX_ABB_FIFO, | ||
| 25 | PRCMU_WAKEUP_INDEX_ARM, | ||
| 26 | PRCMU_WAKEUP_INDEX_CD_IRQ, | ||
| 27 | NUM_PRCMU_WAKEUP_INDICES | ||
| 28 | }; | ||
| 29 | #define PRCMU_WAKEUP(_name) (BIT(PRCMU_WAKEUP_INDEX_##_name)) | ||
| 30 | |||
| 31 | /* EPOD (power domain) IDs */ | ||
| 32 | |||
| 33 | /* | ||
| 34 | * DB8500 EPODs | ||
| 35 | * - EPOD_ID_SVAMMDSP: power domain for SVA MMDSP | ||
| 36 | * - EPOD_ID_SVAPIPE: power domain for SVA pipe | ||
| 37 | * - EPOD_ID_SIAMMDSP: power domain for SIA MMDSP | ||
| 38 | * - EPOD_ID_SIAPIPE: power domain for SIA pipe | ||
| 39 | * - EPOD_ID_SGA: power domain for SGA | ||
| 40 | * - EPOD_ID_B2R2_MCDE: power domain for B2R2 and MCDE | ||
| 41 | * - EPOD_ID_ESRAM12: power domain for ESRAM 1 and 2 | ||
| 42 | * - EPOD_ID_ESRAM34: power domain for ESRAM 3 and 4 | ||
| 43 | * - NUM_EPOD_ID: number of power domains | ||
| 44 | * | ||
| 45 | * TODO: These should be prefixed. | ||
| 46 | */ | ||
| 47 | #define EPOD_ID_SVAMMDSP 0 | ||
| 48 | #define EPOD_ID_SVAPIPE 1 | ||
| 49 | #define EPOD_ID_SIAMMDSP 2 | ||
| 50 | #define EPOD_ID_SIAPIPE 3 | ||
| 51 | #define EPOD_ID_SGA 4 | ||
| 52 | #define EPOD_ID_B2R2_MCDE 5 | ||
| 53 | #define EPOD_ID_ESRAM12 6 | ||
| 54 | #define EPOD_ID_ESRAM34 7 | ||
| 55 | #define NUM_EPOD_ID 8 | ||
| 56 | |||
| 57 | /* | ||
| 58 | * state definition for EPOD (power domain) | ||
| 59 | * - EPOD_STATE_NO_CHANGE: The EPOD should remain unchanged | ||
| 60 | * - EPOD_STATE_OFF: The EPOD is switched off | ||
| 61 | * - EPOD_STATE_RAMRET: The EPOD is switched off with its internal RAM in | ||
| 62 | * retention | ||
| 63 | * - EPOD_STATE_ON_CLK_OFF: The EPOD is switched on, clock is still off | ||
| 64 | * - EPOD_STATE_ON: Same as above, but with clock enabled | ||
| 65 | */ | ||
| 66 | #define EPOD_STATE_NO_CHANGE 0x00 | ||
| 67 | #define EPOD_STATE_OFF 0x01 | ||
| 68 | #define EPOD_STATE_RAMRET 0x02 | ||
| 69 | #define EPOD_STATE_ON_CLK_OFF 0x03 | ||
| 70 | #define EPOD_STATE_ON 0x04 | ||
| 71 | |||
| 72 | /* | ||
| 73 | * CLKOUT sources | ||
| 74 | */ | ||
| 75 | #define PRCMU_CLKSRC_CLK38M 0x00 | ||
| 76 | #define PRCMU_CLKSRC_ACLK 0x01 | ||
| 77 | #define PRCMU_CLKSRC_SYSCLK 0x02 | ||
| 78 | #define PRCMU_CLKSRC_LCDCLK 0x03 | ||
| 79 | #define PRCMU_CLKSRC_SDMMCCLK 0x04 | ||
| 80 | #define PRCMU_CLKSRC_TVCLK 0x05 | ||
| 81 | #define PRCMU_CLKSRC_TIMCLK 0x06 | ||
| 82 | #define PRCMU_CLKSRC_CLK009 0x07 | ||
| 83 | /* These are only valid for CLKOUT1: */ | ||
| 84 | #define PRCMU_CLKSRC_SIAMMDSPCLK 0x40 | ||
| 85 | #define PRCMU_CLKSRC_I2CCLK 0x41 | ||
| 86 | #define PRCMU_CLKSRC_MSP02CLK 0x42 | ||
| 87 | #define PRCMU_CLKSRC_ARMPLL_OBSCLK 0x43 | ||
| 88 | #define PRCMU_CLKSRC_HSIRXCLK 0x44 | ||
| 89 | #define PRCMU_CLKSRC_HSITXCLK 0x45 | ||
| 90 | #define PRCMU_CLKSRC_ARMCLKFIX 0x46 | ||
| 91 | #define PRCMU_CLKSRC_HDMICLK 0x47 | ||
| 92 | |||
| 93 | /* | ||
| 94 | * Clock identifiers. | ||
| 95 | */ | ||
| 96 | enum prcmu_clock { | ||
| 97 | PRCMU_SGACLK, | ||
| 98 | PRCMU_UARTCLK, | ||
| 99 | PRCMU_MSP02CLK, | ||
| 100 | PRCMU_MSP1CLK, | ||
| 101 | PRCMU_I2CCLK, | ||
| 102 | PRCMU_SDMMCCLK, | ||
| 103 | PRCMU_SPARE1CLK, | ||
| 104 | PRCMU_SLIMCLK, | ||
| 105 | PRCMU_PER1CLK, | ||
| 106 | PRCMU_PER2CLK, | ||
| 107 | PRCMU_PER3CLK, | ||
| 108 | PRCMU_PER5CLK, | ||
| 109 | PRCMU_PER6CLK, | ||
| 110 | PRCMU_PER7CLK, | ||
| 111 | PRCMU_LCDCLK, | ||
| 112 | PRCMU_BMLCLK, | ||
| 113 | PRCMU_HSITXCLK, | ||
| 114 | PRCMU_HSIRXCLK, | ||
| 115 | PRCMU_HDMICLK, | ||
| 116 | PRCMU_APEATCLK, | ||
| 117 | PRCMU_APETRACECLK, | ||
| 118 | PRCMU_MCDECLK, | ||
| 119 | PRCMU_IPI2CCLK, | ||
| 120 | PRCMU_DSIALTCLK, | ||
| 121 | PRCMU_DMACLK, | ||
| 122 | PRCMU_B2R2CLK, | ||
| 123 | PRCMU_TVCLK, | ||
| 124 | PRCMU_SSPCLK, | ||
| 125 | PRCMU_RNGCLK, | ||
| 126 | PRCMU_UICCCLK, | ||
| 127 | PRCMU_PWMCLK, | ||
| 128 | PRCMU_IRDACLK, | ||
| 129 | PRCMU_IRRCCLK, | ||
| 130 | PRCMU_SIACLK, | ||
| 131 | PRCMU_SVACLK, | ||
| 132 | PRCMU_ACLK, | ||
| 133 | PRCMU_NUM_REG_CLOCKS, | ||
| 134 | PRCMU_SYSCLK = PRCMU_NUM_REG_CLOCKS, | ||
| 135 | PRCMU_CDCLK, | ||
| 136 | PRCMU_TIMCLK, | ||
| 137 | PRCMU_PLLSOC0, | ||
| 138 | PRCMU_PLLSOC1, | ||
| 139 | PRCMU_ARMSS, | ||
| 140 | PRCMU_PLLDDR, | ||
| 141 | PRCMU_PLLDSI, | ||
| 142 | PRCMU_DSI0CLK, | ||
| 143 | PRCMU_DSI1CLK, | ||
| 144 | PRCMU_DSI0ESCCLK, | ||
| 145 | PRCMU_DSI1ESCCLK, | ||
| 146 | PRCMU_DSI2ESCCLK, | ||
| 147 | }; | ||
| 148 | |||
| 149 | /** | ||
| 150 | * enum ape_opp - APE OPP states definition | ||
| 151 | * @APE_OPP_INIT: | ||
| 152 | * @APE_NO_CHANGE: The APE operating point is unchanged | ||
| 153 | * @APE_100_OPP: The new APE operating point is ape100opp | ||
| 154 | * @APE_50_OPP: 50% | ||
| 155 | * @APE_50_PARTLY_25_OPP: 50%, except some clocks at 25%. | ||
| 156 | */ | ||
| 157 | enum ape_opp { | ||
| 158 | APE_OPP_INIT = 0x00, | ||
| 159 | APE_NO_CHANGE = 0x01, | ||
| 160 | APE_100_OPP = 0x02, | ||
| 161 | APE_50_OPP = 0x03, | ||
| 162 | APE_50_PARTLY_25_OPP = 0xFF, | ||
| 163 | }; | ||
| 164 | |||
| 165 | /** | ||
| 166 | * enum arm_opp - ARM OPP states definition | ||
| 167 | * @ARM_OPP_INIT: | ||
| 168 | * @ARM_NO_CHANGE: The ARM operating point is unchanged | ||
| 169 | * @ARM_100_OPP: The new ARM operating point is arm100opp | ||
| 170 | * @ARM_50_OPP: The new ARM operating point is arm50opp | ||
| 171 | * @ARM_MAX_OPP: Operating point is "max" (more than 100) | ||
| 172 | * @ARM_MAX_FREQ100OPP: Set max opp if available, else 100 | ||
| 173 | * @ARM_EXTCLK: The new ARM operating point is armExtClk | ||
| 174 | */ | ||
| 175 | enum arm_opp { | ||
| 176 | ARM_OPP_INIT = 0x00, | ||
| 177 | ARM_NO_CHANGE = 0x01, | ||
| 178 | ARM_100_OPP = 0x02, | ||
| 179 | ARM_50_OPP = 0x03, | ||
| 180 | ARM_MAX_OPP = 0x04, | ||
| 181 | ARM_MAX_FREQ100OPP = 0x05, | ||
| 182 | ARM_EXTCLK = 0x07 | ||
| 183 | }; | ||
| 184 | |||
| 185 | /** | ||
| 186 | * enum ddr_opp - DDR OPP states definition | ||
| 187 | * @DDR_100_OPP: The new DDR operating point is ddr100opp | ||
| 188 | * @DDR_50_OPP: The new DDR operating point is ddr50opp | ||
| 189 | * @DDR_25_OPP: The new DDR operating point is ddr25opp | ||
| 190 | */ | ||
| 191 | enum ddr_opp { | ||
| 192 | DDR_100_OPP = 0x00, | ||
| 193 | DDR_50_OPP = 0x01, | ||
| 194 | DDR_25_OPP = 0x02, | ||
| 195 | }; | ||
| 196 | |||
| 197 | /* | ||
| 198 | * Definitions for controlling ESRAM0 in deep sleep. | ||
| 199 | */ | ||
| 200 | #define ESRAM0_DEEP_SLEEP_STATE_OFF 1 | ||
| 201 | #define ESRAM0_DEEP_SLEEP_STATE_RET 2 | ||
| 202 | |||
| 203 | /** | ||
| 204 | * enum ddr_pwrst - DDR power states definition | ||
| 205 | * @DDR_PWR_STATE_UNCHANGED: SDRAM and DDR controller state is unchanged | ||
| 206 | * @DDR_PWR_STATE_ON: | ||
| 207 | * @DDR_PWR_STATE_OFFLOWLAT: | ||
| 208 | * @DDR_PWR_STATE_OFFHIGHLAT: | ||
| 209 | */ | ||
| 210 | enum ddr_pwrst { | ||
| 211 | DDR_PWR_STATE_UNCHANGED = 0x00, | ||
| 212 | DDR_PWR_STATE_ON = 0x01, | ||
| 213 | DDR_PWR_STATE_OFFLOWLAT = 0x02, | ||
| 214 | DDR_PWR_STATE_OFFHIGHLAT = 0x03 | ||
| 215 | }; | ||
| 216 | |||
| 217 | #include <linux/mfd/db8500-prcmu.h> | ||
| 218 | |||
| 219 | #if defined(CONFIG_UX500_SOC_DB8500) | ||
| 220 | |||
| 221 | #include <mach/id.h> | ||
| 222 | |||
| 223 | static inline void __init prcmu_early_init(void) | ||
| 224 | { | ||
| 225 | return db8500_prcmu_early_init(); | ||
| 226 | } | ||
| 227 | |||
| 228 | static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, | ||
| 229 | bool keep_ap_pll) | ||
| 230 | { | ||
| 231 | return db8500_prcmu_set_power_state(state, keep_ulp_clk, | ||
| 232 | keep_ap_pll); | ||
| 233 | } | ||
| 234 | |||
| 235 | static inline u8 prcmu_get_power_state_result(void) | ||
| 236 | { | ||
| 237 | return db8500_prcmu_get_power_state_result(); | ||
| 238 | } | ||
| 239 | |||
| 240 | static inline int prcmu_gic_decouple(void) | ||
| 241 | { | ||
| 242 | return db8500_prcmu_gic_decouple(); | ||
| 243 | } | ||
| 244 | |||
| 245 | static inline int prcmu_gic_recouple(void) | ||
| 246 | { | ||
| 247 | return db8500_prcmu_gic_recouple(); | ||
| 248 | } | ||
| 249 | |||
| 250 | static inline bool prcmu_gic_pending_irq(void) | ||
| 251 | { | ||
| 252 | return db8500_prcmu_gic_pending_irq(); | ||
| 253 | } | ||
| 254 | |||
| 255 | static inline bool prcmu_is_cpu_in_wfi(int cpu) | ||
| 256 | { | ||
| 257 | return db8500_prcmu_is_cpu_in_wfi(cpu); | ||
| 258 | } | ||
| 259 | |||
| 260 | static inline int prcmu_copy_gic_settings(void) | ||
| 261 | { | ||
| 262 | return db8500_prcmu_copy_gic_settings(); | ||
| 263 | } | ||
| 264 | |||
| 265 | static inline bool prcmu_pending_irq(void) | ||
| 266 | { | ||
| 267 | return db8500_prcmu_pending_irq(); | ||
| 268 | } | ||
| 269 | |||
| 270 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) | ||
| 271 | { | ||
| 272 | return db8500_prcmu_set_epod(epod_id, epod_state); | ||
| 273 | } | ||
| 274 | |||
| 275 | static inline void prcmu_enable_wakeups(u32 wakeups) | ||
| 276 | { | ||
| 277 | db8500_prcmu_enable_wakeups(wakeups); | ||
| 278 | } | ||
| 279 | |||
| 280 | static inline void prcmu_disable_wakeups(void) | ||
| 281 | { | ||
| 282 | prcmu_enable_wakeups(0); | ||
| 283 | } | ||
| 284 | |||
| 285 | static inline void prcmu_config_abb_event_readout(u32 abb_events) | ||
| 286 | { | ||
| 287 | db8500_prcmu_config_abb_event_readout(abb_events); | ||
| 288 | } | ||
| 289 | |||
| 290 | static inline void prcmu_get_abb_event_buffer(void __iomem **buf) | ||
| 291 | { | ||
| 292 | db8500_prcmu_get_abb_event_buffer(buf); | ||
| 293 | } | ||
| 294 | |||
| 295 | int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size); | ||
| 296 | int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size); | ||
| 297 | int prcmu_abb_write_masked(u8 slave, u8 reg, u8 *value, u8 *mask, u8 size); | ||
| 298 | |||
| 299 | int prcmu_config_clkout(u8 clkout, u8 source, u8 div); | ||
| 300 | |||
| 301 | static inline int prcmu_request_clock(u8 clock, bool enable) | ||
| 302 | { | ||
| 303 | return db8500_prcmu_request_clock(clock, enable); | ||
| 304 | } | ||
| 305 | |||
| 306 | unsigned long prcmu_clock_rate(u8 clock); | ||
| 307 | long prcmu_round_clock_rate(u8 clock, unsigned long rate); | ||
| 308 | int prcmu_set_clock_rate(u8 clock, unsigned long rate); | ||
| 309 | |||
| 310 | static inline int prcmu_set_ddr_opp(u8 opp) | ||
| 311 | { | ||
| 312 | return db8500_prcmu_set_ddr_opp(opp); | ||
| 313 | } | ||
| 314 | static inline int prcmu_get_ddr_opp(void) | ||
| 315 | { | ||
| 316 | return db8500_prcmu_get_ddr_opp(); | ||
| 317 | } | ||
| 318 | |||
| 319 | static inline int prcmu_set_arm_opp(u8 opp) | ||
| 320 | { | ||
| 321 | return db8500_prcmu_set_arm_opp(opp); | ||
| 322 | } | ||
| 323 | |||
| 324 | static inline int prcmu_get_arm_opp(void) | ||
| 325 | { | ||
| 326 | return db8500_prcmu_get_arm_opp(); | ||
| 327 | } | ||
| 328 | |||
| 329 | static inline int prcmu_set_ape_opp(u8 opp) | ||
| 330 | { | ||
| 331 | return db8500_prcmu_set_ape_opp(opp); | ||
| 332 | } | ||
| 333 | |||
| 334 | static inline int prcmu_get_ape_opp(void) | ||
| 335 | { | ||
| 336 | return db8500_prcmu_get_ape_opp(); | ||
| 337 | } | ||
| 338 | |||
| 339 | static inline int prcmu_request_ape_opp_100_voltage(bool enable) | ||
| 340 | { | ||
| 341 | return db8500_prcmu_request_ape_opp_100_voltage(enable); | ||
| 342 | } | ||
| 343 | |||
| 344 | static inline void prcmu_system_reset(u16 reset_code) | ||
| 345 | { | ||
| 346 | return db8500_prcmu_system_reset(reset_code); | ||
| 347 | } | ||
| 348 | |||
| 349 | static inline u16 prcmu_get_reset_code(void) | ||
| 350 | { | ||
| 351 | return db8500_prcmu_get_reset_code(); | ||
| 352 | } | ||
| 353 | |||
| 354 | int prcmu_ac_wake_req(void); | ||
| 355 | void prcmu_ac_sleep_req(void); | ||
| 356 | static inline void prcmu_modem_reset(void) | ||
| 357 | { | ||
| 358 | return db8500_prcmu_modem_reset(); | ||
| 359 | } | ||
| 360 | |||
| 361 | static inline bool prcmu_is_ac_wake_requested(void) | ||
| 362 | { | ||
| 363 | return db8500_prcmu_is_ac_wake_requested(); | ||
| 364 | } | ||
| 365 | |||
| 366 | static inline int prcmu_set_display_clocks(void) | ||
| 367 | { | ||
| 368 | return db8500_prcmu_set_display_clocks(); | ||
| 369 | } | ||
| 370 | |||
| 371 | static inline int prcmu_disable_dsipll(void) | ||
| 372 | { | ||
| 373 | return db8500_prcmu_disable_dsipll(); | ||
| 374 | } | ||
| 375 | |||
| 376 | static inline int prcmu_enable_dsipll(void) | ||
| 377 | { | ||
| 378 | return db8500_prcmu_enable_dsipll(); | ||
| 379 | } | ||
| 380 | |||
| 381 | static inline int prcmu_config_esram0_deep_sleep(u8 state) | ||
| 382 | { | ||
| 383 | return db8500_prcmu_config_esram0_deep_sleep(state); | ||
| 384 | } | ||
| 385 | |||
| 386 | static inline int prcmu_config_hotdog(u8 threshold) | ||
| 387 | { | ||
| 388 | return db8500_prcmu_config_hotdog(threshold); | ||
| 389 | } | ||
| 390 | |||
| 391 | static inline int prcmu_config_hotmon(u8 low, u8 high) | ||
| 392 | { | ||
| 393 | return db8500_prcmu_config_hotmon(low, high); | ||
| 394 | } | ||
| 395 | |||
| 396 | static inline int prcmu_start_temp_sense(u16 cycles32k) | ||
| 397 | { | ||
| 398 | return db8500_prcmu_start_temp_sense(cycles32k); | ||
| 399 | } | ||
| 400 | |||
| 401 | static inline int prcmu_stop_temp_sense(void) | ||
| 402 | { | ||
| 403 | return db8500_prcmu_stop_temp_sense(); | ||
| 404 | } | ||
| 405 | |||
| 406 | static inline u32 prcmu_read(unsigned int reg) | ||
| 407 | { | ||
| 408 | return db8500_prcmu_read(reg); | ||
| 409 | } | ||
| 410 | |||
| 411 | static inline void prcmu_write(unsigned int reg, u32 value) | ||
| 412 | { | ||
| 413 | db8500_prcmu_write(reg, value); | ||
| 414 | } | ||
| 415 | |||
| 416 | static inline void prcmu_write_masked(unsigned int reg, u32 mask, u32 value) | ||
| 417 | { | ||
| 418 | db8500_prcmu_write_masked(reg, mask, value); | ||
| 419 | } | ||
| 420 | |||
| 421 | static inline int prcmu_enable_a9wdog(u8 id) | ||
| 422 | { | ||
| 423 | return db8500_prcmu_enable_a9wdog(id); | ||
| 424 | } | ||
| 425 | |||
| 426 | static inline int prcmu_disable_a9wdog(u8 id) | ||
| 427 | { | ||
| 428 | return db8500_prcmu_disable_a9wdog(id); | ||
| 429 | } | ||
| 430 | |||
| 431 | static inline int prcmu_kick_a9wdog(u8 id) | ||
| 432 | { | ||
| 433 | return db8500_prcmu_kick_a9wdog(id); | ||
| 434 | } | ||
| 435 | |||
| 436 | static inline int prcmu_load_a9wdog(u8 id, u32 timeout) | ||
| 437 | { | ||
| 438 | return db8500_prcmu_load_a9wdog(id, timeout); | ||
| 439 | } | ||
| 440 | |||
| 441 | static inline int prcmu_config_a9wdog(u8 num, bool sleep_auto_off) | ||
| 442 | { | ||
| 443 | return db8500_prcmu_config_a9wdog(num, sleep_auto_off); | ||
| 444 | } | ||
| 445 | #else | ||
| 446 | |||
| 447 | static inline void __init prcmu_early_init(void) {} | ||
| 448 | |||
| 449 | static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, | ||
| 450 | bool keep_ap_pll) | ||
| 451 | { | ||
| 452 | return 0; | ||
| 453 | } | ||
| 454 | |||
| 455 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) | ||
| 456 | { | ||
| 457 | return 0; | ||
| 458 | } | ||
| 459 | |||
| 460 | static inline void prcmu_enable_wakeups(u32 wakeups) {} | ||
| 461 | |||
| 462 | static inline void prcmu_disable_wakeups(void) {} | ||
| 463 | |||
| 464 | static inline int prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size) | ||
| 465 | { | ||
| 466 | return -ENOSYS; | ||
| 467 | } | ||
| 468 | |||
| 469 | static inline int prcmu_abb_write(u8 slave, u8 reg, u8 *value, u8 size) | ||
| 470 | { | ||
| 471 | return -ENOSYS; | ||
| 472 | } | ||
| 473 | |||
| 474 | static inline int prcmu_abb_write_masked(u8 slave, u8 reg, u8 *value, u8 *mask, | ||
| 475 | u8 size) | ||
| 476 | { | ||
| 477 | return -ENOSYS; | ||
| 478 | } | ||
| 479 | |||
| 480 | static inline int prcmu_config_clkout(u8 clkout, u8 source, u8 div) | ||
| 481 | { | ||
| 482 | return 0; | ||
| 483 | } | ||
| 484 | |||
| 485 | static inline int prcmu_request_clock(u8 clock, bool enable) | ||
| 486 | { | ||
| 487 | return 0; | ||
| 488 | } | ||
| 489 | |||
| 490 | static inline long prcmu_round_clock_rate(u8 clock, unsigned long rate) | ||
| 491 | { | ||
| 492 | return 0; | ||
| 493 | } | ||
| 494 | |||
| 495 | static inline int prcmu_set_clock_rate(u8 clock, unsigned long rate) | ||
| 496 | { | ||
| 497 | return 0; | ||
| 498 | } | ||
| 499 | |||
| 500 | static inline unsigned long prcmu_clock_rate(u8 clock) | ||
| 501 | { | ||
| 502 | return 0; | ||
| 503 | } | ||
| 504 | |||
| 505 | static inline int prcmu_set_ape_opp(u8 opp) | ||
| 506 | { | ||
| 507 | return 0; | ||
| 508 | } | ||
| 509 | |||
| 510 | static inline int prcmu_get_ape_opp(void) | ||
| 511 | { | ||
| 512 | return APE_100_OPP; | ||
| 513 | } | ||
| 514 | |||
| 515 | static inline int prcmu_request_ape_opp_100_voltage(bool enable) | ||
| 516 | { | ||
| 517 | return 0; | ||
| 518 | } | ||
| 519 | |||
| 520 | static inline int prcmu_set_arm_opp(u8 opp) | ||
| 521 | { | ||
| 522 | return 0; | ||
| 523 | } | ||
| 524 | |||
| 525 | static inline int prcmu_get_arm_opp(void) | ||
| 526 | { | ||
| 527 | return ARM_100_OPP; | ||
| 528 | } | ||
| 529 | |||
| 530 | static inline int prcmu_set_ddr_opp(u8 opp) | ||
| 531 | { | ||
| 532 | return 0; | ||
| 533 | } | ||
| 534 | |||
| 535 | static inline int prcmu_get_ddr_opp(void) | ||
| 536 | { | ||
| 537 | return DDR_100_OPP; | ||
| 538 | } | ||
| 539 | |||
| 540 | static inline void prcmu_system_reset(u16 reset_code) {} | ||
| 541 | |||
| 542 | static inline u16 prcmu_get_reset_code(void) | ||
| 543 | { | ||
| 544 | return 0; | ||
| 545 | } | ||
| 546 | |||
| 547 | static inline int prcmu_ac_wake_req(void) | ||
| 548 | { | ||
| 549 | return 0; | ||
| 550 | } | ||
| 551 | |||
| 552 | static inline void prcmu_ac_sleep_req(void) {} | ||
| 553 | |||
| 554 | static inline void prcmu_modem_reset(void) {} | ||
| 555 | |||
| 556 | static inline bool prcmu_is_ac_wake_requested(void) | ||
| 557 | { | ||
| 558 | return false; | ||
| 559 | } | ||
| 560 | |||
| 561 | static inline int prcmu_set_display_clocks(void) | ||
| 562 | { | ||
| 563 | return 0; | ||
| 564 | } | ||
| 565 | |||
| 566 | static inline int prcmu_disable_dsipll(void) | ||
| 567 | { | ||
| 568 | return 0; | ||
| 569 | } | ||
| 570 | |||
| 571 | static inline int prcmu_enable_dsipll(void) | ||
| 572 | { | ||
| 573 | return 0; | ||
| 574 | } | ||
| 575 | |||
| 576 | static inline int prcmu_config_esram0_deep_sleep(u8 state) | ||
| 577 | { | ||
| 578 | return 0; | ||
| 579 | } | ||
| 580 | |||
| 581 | static inline void prcmu_config_abb_event_readout(u32 abb_events) {} | ||
| 582 | |||
| 583 | static inline void prcmu_get_abb_event_buffer(void __iomem **buf) | ||
| 584 | { | ||
| 585 | *buf = NULL; | ||
| 586 | } | ||
| 587 | |||
| 588 | static inline int prcmu_config_hotdog(u8 threshold) | ||
| 589 | { | ||
| 590 | return 0; | ||
| 591 | } | ||
| 592 | |||
| 593 | static inline int prcmu_config_hotmon(u8 low, u8 high) | ||
| 594 | { | ||
| 595 | return 0; | ||
| 596 | } | ||
| 597 | |||
| 598 | static inline int prcmu_start_temp_sense(u16 cycles32k) | ||
| 599 | { | ||
| 600 | return 0; | ||
| 601 | } | ||
| 602 | |||
| 603 | static inline int prcmu_stop_temp_sense(void) | ||
| 604 | { | ||
| 605 | return 0; | ||
| 606 | } | ||
| 607 | |||
| 608 | static inline u32 prcmu_read(unsigned int reg) | ||
| 609 | { | ||
| 610 | return 0; | ||
| 611 | } | ||
| 612 | |||
| 613 | static inline void prcmu_write(unsigned int reg, u32 value) {} | ||
| 614 | |||
| 615 | static inline void prcmu_write_masked(unsigned int reg, u32 mask, u32 value) {} | ||
| 616 | |||
| 617 | #endif | ||
| 618 | |||
| 619 | static inline void prcmu_set(unsigned int reg, u32 bits) | ||
| 620 | { | ||
| 621 | prcmu_write_masked(reg, bits, bits); | ||
| 622 | } | ||
| 623 | |||
| 624 | static inline void prcmu_clear(unsigned int reg, u32 bits) | ||
| 625 | { | ||
| 626 | prcmu_write_masked(reg, bits, 0); | ||
| 627 | } | ||
| 628 | |||
| 629 | #if defined(CONFIG_UX500_SOC_DB8500) | ||
| 630 | |||
| 631 | /** | ||
| 632 | * prcmu_enable_spi2 - Enables pin muxing for SPI2 on OtherAlternateC1. | ||
| 633 | */ | ||
| 634 | static inline void prcmu_enable_spi2(void) | ||
| 635 | { | ||
| 636 | if (cpu_is_u8500()) | ||
| 637 | prcmu_set(DB8500_PRCM_GPIOCR, DB8500_PRCM_GPIOCR_SPI2_SELECT); | ||
| 638 | } | ||
| 639 | |||
| 640 | /** | ||
| 641 | * prcmu_disable_spi2 - Disables pin muxing for SPI2 on OtherAlternateC1. | ||
| 642 | */ | ||
| 643 | static inline void prcmu_disable_spi2(void) | ||
| 644 | { | ||
| 645 | if (cpu_is_u8500()) | ||
| 646 | prcmu_clear(DB8500_PRCM_GPIOCR, DB8500_PRCM_GPIOCR_SPI2_SELECT); | ||
| 647 | } | ||
| 648 | |||
| 649 | /** | ||
| 650 | * prcmu_enable_stm_mod_uart - Enables pin muxing for STMMOD | ||
| 651 | * and UARTMOD on OtherAlternateC3. | ||
| 652 | */ | ||
| 653 | static inline void prcmu_enable_stm_mod_uart(void) | ||
| 654 | { | ||
| 655 | if (cpu_is_u8500()) { | ||
| 656 | prcmu_set(DB8500_PRCM_GPIOCR, | ||
| 657 | (DB8500_PRCM_GPIOCR_DBG_STM_MOD_CMD1 | | ||
| 658 | DB8500_PRCM_GPIOCR_DBG_UARTMOD_CMD0)); | ||
| 659 | } | ||
| 660 | } | ||
| 661 | |||
| 662 | /** | ||
| 663 | * prcmu_disable_stm_mod_uart - Disables pin muxing for STMMOD | ||
| 664 | * and UARTMOD on OtherAlternateC3. | ||
| 665 | */ | ||
| 666 | static inline void prcmu_disable_stm_mod_uart(void) | ||
| 667 | { | ||
| 668 | if (cpu_is_u8500()) { | ||
| 669 | prcmu_clear(DB8500_PRCM_GPIOCR, | ||
| 670 | (DB8500_PRCM_GPIOCR_DBG_STM_MOD_CMD1 | | ||
| 671 | DB8500_PRCM_GPIOCR_DBG_UARTMOD_CMD0)); | ||
| 672 | } | ||
| 673 | } | ||
| 674 | |||
| 675 | /** | ||
| 676 | * prcmu_enable_stm_ape - Enables pin muxing for STM APE on OtherAlternateC1. | ||
| 677 | */ | ||
| 678 | static inline void prcmu_enable_stm_ape(void) | ||
| 679 | { | ||
| 680 | if (cpu_is_u8500()) { | ||
| 681 | prcmu_set(DB8500_PRCM_GPIOCR, | ||
| 682 | DB8500_PRCM_GPIOCR_DBG_STM_APE_CMD); | ||
| 683 | } | ||
| 684 | } | ||
| 685 | |||
| 686 | /** | ||
| 687 | * prcmu_disable_stm_ape - Disables pin muxing for STM APE on OtherAlternateC1. | ||
| 688 | */ | ||
| 689 | static inline void prcmu_disable_stm_ape(void) | ||
| 690 | { | ||
| 691 | if (cpu_is_u8500()) { | ||
| 692 | prcmu_clear(DB8500_PRCM_GPIOCR, | ||
| 693 | DB8500_PRCM_GPIOCR_DBG_STM_APE_CMD); | ||
| 694 | } | ||
| 695 | } | ||
| 696 | |||
| 697 | #else | ||
| 698 | |||
| 699 | static inline void prcmu_enable_spi2(void) {} | ||
| 700 | static inline void prcmu_disable_spi2(void) {} | ||
| 701 | static inline void prcmu_enable_stm_mod_uart(void) {} | ||
| 702 | static inline void prcmu_disable_stm_mod_uart(void) {} | ||
| 703 | static inline void prcmu_enable_stm_ape(void) {} | ||
| 704 | static inline void prcmu_disable_stm_ape(void) {} | ||
| 705 | |||
| 706 | #endif | ||
| 707 | |||
| 708 | /* PRCMU QoS APE OPP class */ | ||
| 709 | #define PRCMU_QOS_APE_OPP 1 | ||
| 710 | #define PRCMU_QOS_DDR_OPP 2 | ||
| 711 | #define PRCMU_QOS_ARM_OPP 3 | ||
| 712 | #define PRCMU_QOS_DEFAULT_VALUE -1 | ||
| 713 | |||
| 714 | #ifdef CONFIG_DBX500_PRCMU_QOS_POWER | ||
| 715 | |||
| 716 | unsigned long prcmu_qos_get_cpufreq_opp_delay(void); | ||
| 717 | void prcmu_qos_set_cpufreq_opp_delay(unsigned long); | ||
| 718 | void prcmu_qos_force_opp(int, s32); | ||
| 719 | int prcmu_qos_requirement(int pm_qos_class); | ||
| 720 | int prcmu_qos_add_requirement(int pm_qos_class, char *name, s32 value); | ||
| 721 | int prcmu_qos_update_requirement(int pm_qos_class, char *name, s32 new_value); | ||
| 722 | void prcmu_qos_remove_requirement(int pm_qos_class, char *name); | ||
| 723 | int prcmu_qos_add_notifier(int prcmu_qos_class, | ||
| 724 | struct notifier_block *notifier); | ||
| 725 | int prcmu_qos_remove_notifier(int prcmu_qos_class, | ||
| 726 | struct notifier_block *notifier); | ||
| 727 | |||
| 728 | #else | ||
| 729 | |||
| 730 | static inline unsigned long prcmu_qos_get_cpufreq_opp_delay(void) | ||
| 731 | { | ||
| 732 | return 0; | ||
| 733 | } | ||
| 734 | |||
| 735 | static inline void prcmu_qos_set_cpufreq_opp_delay(unsigned long n) {} | ||
| 736 | |||
| 737 | static inline void prcmu_qos_force_opp(int prcmu_qos_class, s32 i) {} | ||
| 738 | |||
| 739 | static inline int prcmu_qos_requirement(int prcmu_qos_class) | ||
| 740 | { | ||
| 741 | return 0; | ||
| 742 | } | ||
| 743 | |||
| 744 | static inline int prcmu_qos_add_requirement(int prcmu_qos_class, | ||
| 745 | char *name, s32 value) | ||
| 746 | { | ||
| 747 | return 0; | ||
| 748 | } | ||
| 749 | |||
| 750 | static inline int prcmu_qos_update_requirement(int prcmu_qos_class, | ||
| 751 | char *name, s32 new_value) | ||
| 752 | { | ||
| 753 | return 0; | ||
| 754 | } | ||
| 755 | |||
| 756 | static inline void prcmu_qos_remove_requirement(int prcmu_qos_class, char *name) | ||
| 757 | { | ||
| 758 | } | ||
| 759 | |||
| 760 | static inline int prcmu_qos_add_notifier(int prcmu_qos_class, | ||
| 761 | struct notifier_block *notifier) | ||
| 762 | { | ||
| 763 | return 0; | ||
| 764 | } | ||
| 765 | static inline int prcmu_qos_remove_notifier(int prcmu_qos_class, | ||
| 766 | struct notifier_block *notifier) | ||
| 767 | { | ||
| 768 | return 0; | ||
| 769 | } | ||
| 770 | |||
| 771 | #endif | ||
| 772 | |||
| 773 | #endif /* __MACH_PRCMU_H */ | ||
diff --git a/include/linux/mfd/ezx-pcap.h b/include/linux/mfd/ezx-pcap.h index 32a1b5cfeba..40c372165f3 100644 --- a/include/linux/mfd/ezx-pcap.h +++ b/include/linux/mfd/ezx-pcap.h | |||
| @@ -16,7 +16,6 @@ struct pcap_subdev { | |||
| 16 | struct pcap_platform_data { | 16 | struct pcap_platform_data { |
| 17 | unsigned int irq_base; | 17 | unsigned int irq_base; |
| 18 | unsigned int config; | 18 | unsigned int config; |
| 19 | int gpio; | ||
| 20 | void (*init) (void *); /* board specific init */ | 19 | void (*init) (void *); /* board specific init */ |
| 21 | int num_subdevs; | 20 | int num_subdevs; |
| 22 | struct pcap_subdev *subdevs; | 21 | struct pcap_subdev *subdevs; |
diff --git a/include/linux/mfd/intel_msic.h b/include/linux/mfd/intel_msic.h deleted file mode 100644 index 439a7a617bc..00000000000 --- a/include/linux/mfd/intel_msic.h +++ /dev/null | |||
| @@ -1,456 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * include/linux/mfd/intel_msic.h - Core interface for Intel MSIC | ||
| 3 | * | ||
| 4 | * Copyright (C) 2011, Intel Corporation | ||
| 5 | * Author: Mika Westerberg <mika.westerberg@linux.intel.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | */ | ||
| 11 | |||
| 12 | #ifndef __LINUX_MFD_INTEL_MSIC_H__ | ||
| 13 | #define __LINUX_MFD_INTEL_MSIC_H__ | ||
| 14 | |||
| 15 | /* ID */ | ||
| 16 | #define INTEL_MSIC_ID0 0x000 /* RO */ | ||
| 17 | #define INTEL_MSIC_ID1 0x001 /* RO */ | ||
| 18 | |||
| 19 | /* IRQ */ | ||
| 20 | #define INTEL_MSIC_IRQLVL1 0x002 | ||
| 21 | #define INTEL_MSIC_ADC1INT 0x003 | ||
| 22 | #define INTEL_MSIC_CCINT 0x004 | ||
| 23 | #define INTEL_MSIC_PWRSRCINT 0x005 | ||
| 24 | #define INTEL_MSIC_PWRSRCINT1 0x006 | ||
| 25 | #define INTEL_MSIC_CHRINT 0x007 | ||
| 26 | #define INTEL_MSIC_CHRINT1 0x008 | ||
| 27 | #define INTEL_MSIC_RTCIRQ 0x009 | ||
| 28 | #define INTEL_MSIC_GPIO0LVIRQ 0x00a | ||
| 29 | #define INTEL_MSIC_GPIO1LVIRQ 0x00b | ||
| 30 | #define INTEL_MSIC_GPIOHVIRQ 0x00c | ||
| 31 | #define INTEL_MSIC_VRINT 0x00d | ||
| 32 | #define INTEL_MSIC_OCAUDIO 0x00e | ||
| 33 | #define INTEL_MSIC_ACCDET 0x00f | ||
| 34 | #define INTEL_MSIC_RESETIRQ1 0x010 | ||
| 35 | #define INTEL_MSIC_RESETIRQ2 0x011 | ||
| 36 | #define INTEL_MSIC_MADC1INT 0x012 | ||
| 37 | #define INTEL_MSIC_MCCINT 0x013 | ||
| 38 | #define INTEL_MSIC_MPWRSRCINT 0x014 | ||
| 39 | #define INTEL_MSIC_MPWRSRCINT1 0x015 | ||
| 40 | #define INTEL_MSIC_MCHRINT 0x016 | ||
| 41 | #define INTEL_MSIC_MCHRINT1 0x017 | ||
| 42 | #define INTEL_MSIC_RTCIRQMASK 0x018 | ||
| 43 | #define INTEL_MSIC_GPIO0LVIRQMASK 0x019 | ||
| 44 | #define INTEL_MSIC_GPIO1LVIRQMASK 0x01a | ||
| 45 | #define INTEL_MSIC_GPIOHVIRQMASK 0x01b | ||
| 46 | #define INTEL_MSIC_VRINTMASK 0x01c | ||
| 47 | #define INTEL_MSIC_OCAUDIOMASK 0x01d | ||
| 48 | #define INTEL_MSIC_ACCDETMASK 0x01e | ||
| 49 | #define INTEL_MSIC_RESETIRQ1MASK 0x01f | ||
| 50 | #define INTEL_MSIC_RESETIRQ2MASK 0x020 | ||
| 51 | #define INTEL_MSIC_IRQLVL1MSK 0x021 | ||
| 52 | #define INTEL_MSIC_PBCONFIG 0x03e | ||
| 53 | #define INTEL_MSIC_PBSTATUS 0x03f /* RO */ | ||
| 54 | |||
| 55 | /* GPIO */ | ||
| 56 | #define INTEL_MSIC_GPIO0LV7CTLO 0x040 | ||
| 57 | #define INTEL_MSIC_GPIO0LV6CTLO 0x041 | ||
| 58 | #define INTEL_MSIC_GPIO0LV5CTLO 0x042 | ||
| 59 | #define INTEL_MSIC_GPIO0LV4CTLO 0x043 | ||
| 60 | #define INTEL_MSIC_GPIO0LV3CTLO 0x044 | ||
| 61 | #define INTEL_MSIC_GPIO0LV2CTLO 0x045 | ||
| 62 | #define INTEL_MSIC_GPIO0LV1CTLO 0x046 | ||
| 63 | #define INTEL_MSIC_GPIO0LV0CTLO 0x047 | ||
| 64 | #define INTEL_MSIC_GPIO1LV7CTLOS 0x048 | ||
| 65 | #define INTEL_MSIC_GPIO1LV6CTLO 0x049 | ||
| 66 | #define INTEL_MSIC_GPIO1LV5CTLO 0x04a | ||
| 67 | #define INTEL_MSIC_GPIO1LV4CTLO 0x04b | ||
| 68 | #define INTEL_MSIC_GPIO1LV3CTLO 0x04c | ||
| 69 | #define INTEL_MSIC_GPIO1LV2CTLO 0x04d | ||
| 70 | #define INTEL_MSIC_GPIO1LV1CTLO 0x04e | ||
| 71 | #define INTEL_MSIC_GPIO1LV0CTLO 0x04f | ||
| 72 | #define INTEL_MSIC_GPIO0LV7CTLI 0x050 | ||
| 73 | #define INTEL_MSIC_GPIO0LV6CTLI 0x051 | ||
| 74 | #define INTEL_MSIC_GPIO0LV5CTLI 0x052 | ||
| 75 | #define INTEL_MSIC_GPIO0LV4CTLI 0x053 | ||
| 76 | #define INTEL_MSIC_GPIO0LV3CTLI 0x054 | ||
| 77 | #define INTEL_MSIC_GPIO0LV2CTLI 0x055 | ||
| 78 | #define INTEL_MSIC_GPIO0LV1CTLI 0x056 | ||
| 79 | #define INTEL_MSIC_GPIO0LV0CTLI 0x057 | ||
| 80 | #define INTEL_MSIC_GPIO1LV7CTLIS 0x058 | ||
| 81 | #define INTEL_MSIC_GPIO1LV6CTLI 0x059 | ||
| 82 | #define INTEL_MSIC_GPIO1LV5CTLI 0x05a | ||
| 83 | #define INTEL_MSIC_GPIO1LV4CTLI 0x05b | ||
| 84 | #define INTEL_MSIC_GPIO1LV3CTLI 0x05c | ||
| 85 | #define INTEL_MSIC_GPIO1LV2CTLI 0x05d | ||
| 86 | #define INTEL_MSIC_GPIO1LV1CTLI 0x05e | ||
| 87 | #define INTEL_MSIC_GPIO1LV0CTLI 0x05f | ||
| 88 | #define INTEL_MSIC_PWM0CLKDIV1 0x061 | ||
| 89 | #define INTEL_MSIC_PWM0CLKDIV0 0x062 | ||
| 90 | #define INTEL_MSIC_PWM1CLKDIV1 0x063 | ||
| 91 | #define INTEL_MSIC_PWM1CLKDIV0 0x064 | ||
| 92 | #define INTEL_MSIC_PWM2CLKDIV1 0x065 | ||
| 93 | #define INTEL_MSIC_PWM2CLKDIV0 0x066 | ||
| 94 | #define INTEL_MSIC_PWM0DUTYCYCLE 0x067 | ||
| 95 | #define INTEL_MSIC_PWM1DUTYCYCLE 0x068 | ||
| 96 | #define INTEL_MSIC_PWM2DUTYCYCLE 0x069 | ||
| 97 | #define INTEL_MSIC_GPIO0HV3CTLO 0x06d | ||
| 98 | #define INTEL_MSIC_GPIO0HV2CTLO 0x06e | ||
| 99 | #define INTEL_MSIC_GPIO0HV1CTLO 0x06f | ||
| 100 | #define INTEL_MSIC_GPIO0HV0CTLO 0x070 | ||
| 101 | #define INTEL_MSIC_GPIO1HV3CTLO 0x071 | ||
| 102 | #define INTEL_MSIC_GPIO1HV2CTLO 0x072 | ||
| 103 | #define INTEL_MSIC_GPIO1HV1CTLO 0x073 | ||
| 104 | #define INTEL_MSIC_GPIO1HV0CTLO 0x074 | ||
| 105 | #define INTEL_MSIC_GPIO0HV3CTLI 0x075 | ||
| 106 | #define INTEL_MSIC_GPIO0HV2CTLI 0x076 | ||
| 107 | #define INTEL_MSIC_GPIO0HV1CTLI 0x077 | ||
| 108 | #define INTEL_MSIC_GPIO0HV0CTLI 0x078 | ||
| 109 | #define INTEL_MSIC_GPIO1HV3CTLI 0x079 | ||
| 110 | #define INTEL_MSIC_GPIO1HV2CTLI 0x07a | ||
| 111 | #define INTEL_MSIC_GPIO1HV1CTLI 0x07b | ||
| 112 | #define INTEL_MSIC_GPIO1HV0CTLI 0x07c | ||
| 113 | |||
| 114 | /* SVID */ | ||
| 115 | #define INTEL_MSIC_SVIDCTRL0 0x080 | ||
| 116 | #define INTEL_MSIC_SVIDCTRL1 0x081 | ||
| 117 | #define INTEL_MSIC_SVIDCTRL2 0x082 | ||
| 118 | #define INTEL_MSIC_SVIDTXLASTPKT3 0x083 /* RO */ | ||
| 119 | #define INTEL_MSIC_SVIDTXLASTPKT2 0x084 /* RO */ | ||
| 120 | #define INTEL_MSIC_SVIDTXLASTPKT1 0x085 /* RO */ | ||
| 121 | #define INTEL_MSIC_SVIDTXLASTPKT0 0x086 /* RO */ | ||
| 122 | #define INTEL_MSIC_SVIDPKTOUTBYTE3 0x087 | ||
| 123 | #define INTEL_MSIC_SVIDPKTOUTBYTE2 0x088 | ||
| 124 | #define INTEL_MSIC_SVIDPKTOUTBYTE1 0x089 | ||
| 125 | #define INTEL_MSIC_SVIDPKTOUTBYTE0 0x08a | ||
| 126 | #define INTEL_MSIC_SVIDRXVPDEBUG1 0x08b | ||
| 127 | #define INTEL_MSIC_SVIDRXVPDEBUG0 0x08c | ||
| 128 | #define INTEL_MSIC_SVIDRXLASTPKT3 0x08d /* RO */ | ||
| 129 | #define INTEL_MSIC_SVIDRXLASTPKT2 0x08e /* RO */ | ||
| 130 | #define INTEL_MSIC_SVIDRXLASTPKT1 0x08f /* RO */ | ||
| 131 | #define INTEL_MSIC_SVIDRXLASTPKT0 0x090 /* RO */ | ||
| 132 | #define INTEL_MSIC_SVIDRXCHKSTATUS3 0x091 /* RO */ | ||
| 133 | #define INTEL_MSIC_SVIDRXCHKSTATUS2 0x092 /* RO */ | ||
| 134 | #define INTEL_MSIC_SVIDRXCHKSTATUS1 0x093 /* RO */ | ||
| 135 | #define INTEL_MSIC_SVIDRXCHKSTATUS0 0x094 /* RO */ | ||
| 136 | |||
| 137 | /* VREG */ | ||
| 138 | #define INTEL_MSIC_VCCLATCH 0x0c0 | ||
| 139 | #define INTEL_MSIC_VNNLATCH 0x0c1 | ||
| 140 | #define INTEL_MSIC_VCCCNT 0x0c2 | ||
| 141 | #define INTEL_MSIC_SMPSRAMP 0x0c3 | ||
| 142 | #define INTEL_MSIC_VNNCNT 0x0c4 | ||
| 143 | #define INTEL_MSIC_VNNAONCNT 0x0c5 | ||
| 144 | #define INTEL_MSIC_VCC122AONCNT 0x0c6 | ||
| 145 | #define INTEL_MSIC_V180AONCNT 0x0c7 | ||
| 146 | #define INTEL_MSIC_V500CNT 0x0c8 | ||
| 147 | #define INTEL_MSIC_VIHFCNT 0x0c9 | ||
| 148 | #define INTEL_MSIC_LDORAMP1 0x0ca | ||
| 149 | #define INTEL_MSIC_LDORAMP2 0x0cb | ||
| 150 | #define INTEL_MSIC_VCC108AONCNT 0x0cc | ||
| 151 | #define INTEL_MSIC_VCC108ASCNT 0x0cd | ||
| 152 | #define INTEL_MSIC_VCC108CNT 0x0ce | ||
| 153 | #define INTEL_MSIC_VCCA100ASCNT 0x0cf | ||
| 154 | #define INTEL_MSIC_VCCA100CNT 0x0d0 | ||
| 155 | #define INTEL_MSIC_VCC180AONCNT 0x0d1 | ||
| 156 | #define INTEL_MSIC_VCC180CNT 0x0d2 | ||
| 157 | #define INTEL_MSIC_VCC330CNT 0x0d3 | ||
| 158 | #define INTEL_MSIC_VUSB330CNT 0x0d4 | ||
| 159 | #define INTEL_MSIC_VCCSDIOCNT 0x0d5 | ||
| 160 | #define INTEL_MSIC_VPROG1CNT 0x0d6 | ||
| 161 | #define INTEL_MSIC_VPROG2CNT 0x0d7 | ||
| 162 | #define INTEL_MSIC_VEMMCSCNT 0x0d8 | ||
| 163 | #define INTEL_MSIC_VEMMC1CNT 0x0d9 | ||
| 164 | #define INTEL_MSIC_VEMMC2CNT 0x0da | ||
| 165 | #define INTEL_MSIC_VAUDACNT 0x0db | ||
| 166 | #define INTEL_MSIC_VHSPCNT 0x0dc | ||
| 167 | #define INTEL_MSIC_VHSNCNT 0x0dd | ||
| 168 | #define INTEL_MSIC_VHDMICNT 0x0de | ||
| 169 | #define INTEL_MSIC_VOTGCNT 0x0df | ||
| 170 | #define INTEL_MSIC_V1P35CNT 0x0e0 | ||
| 171 | #define INTEL_MSIC_V330AONCNT 0x0e1 | ||
| 172 | |||
| 173 | /* RESET */ | ||
| 174 | #define INTEL_MSIC_CHIPCNTRL 0x100 /* WO */ | ||
| 175 | #define INTEL_MSIC_ERCONFIG 0x101 | ||
| 176 | |||
| 177 | /* BURST */ | ||
| 178 | #define INTEL_MSIC_BATCURRENTLIMIT12 0x102 | ||
| 179 | #define INTEL_MSIC_BATTIMELIMIT12 0x103 | ||
| 180 | #define INTEL_MSIC_BATTIMELIMIT3 0x104 | ||
| 181 | #define INTEL_MSIC_BATTIMEDB 0x105 | ||
| 182 | #define INTEL_MSIC_BRSTCONFIGOUTPUTS 0x106 | ||
| 183 | #define INTEL_MSIC_BRSTCONFIGACTIONS 0x107 | ||
| 184 | #define INTEL_MSIC_BURSTCONTROLSTATUS 0x108 | ||
| 185 | |||
| 186 | /* RTC */ | ||
| 187 | #define INTEL_MSIC_RTCB1 0x140 /* RO */ | ||
| 188 | #define INTEL_MSIC_RTCB2 0x141 /* RO */ | ||
| 189 | #define INTEL_MSIC_RTCB3 0x142 /* RO */ | ||
| 190 | #define INTEL_MSIC_RTCB4 0x143 /* RO */ | ||
| 191 | #define INTEL_MSIC_RTCOB1 0x144 | ||
| 192 | #define INTEL_MSIC_RTCOB2 0x145 | ||
| 193 | #define INTEL_MSIC_RTCOB3 0x146 | ||
| 194 | #define INTEL_MSIC_RTCOB4 0x147 | ||
| 195 | #define INTEL_MSIC_RTCAB1 0x148 | ||
| 196 | #define INTEL_MSIC_RTCAB2 0x149 | ||
| 197 | #define INTEL_MSIC_RTCAB3 0x14a | ||
| 198 | #define INTEL_MSIC_RTCAB4 0x14b | ||
| 199 | #define INTEL_MSIC_RTCWAB1 0x14c | ||
| 200 | #define INTEL_MSIC_RTCWAB2 0x14d | ||
| 201 | #define INTEL_MSIC_RTCWAB3 0x14e | ||
| 202 | #define INTEL_MSIC_RTCWAB4 0x14f | ||
| 203 | #define INTEL_MSIC_RTCSC1 0x150 | ||
| 204 | #define INTEL_MSIC_RTCSC2 0x151 | ||
| 205 | #define INTEL_MSIC_RTCSC3 0x152 | ||
| 206 | #define INTEL_MSIC_RTCSC4 0x153 | ||
| 207 | #define INTEL_MSIC_RTCSTATUS 0x154 /* RO */ | ||
| 208 | #define INTEL_MSIC_RTCCONFIG1 0x155 | ||
| 209 | #define INTEL_MSIC_RTCCONFIG2 0x156 | ||
| 210 | |||
| 211 | /* CHARGER */ | ||
| 212 | #define INTEL_MSIC_BDTIMER 0x180 | ||
| 213 | #define INTEL_MSIC_BATTRMV 0x181 | ||
| 214 | #define INTEL_MSIC_VBUSDET 0x182 | ||
| 215 | #define INTEL_MSIC_VBUSDET1 0x183 | ||
| 216 | #define INTEL_MSIC_ADPHVDET 0x184 | ||
| 217 | #define INTEL_MSIC_ADPLVDET 0x185 | ||
| 218 | #define INTEL_MSIC_ADPDETDBDM 0x186 | ||
| 219 | #define INTEL_MSIC_LOWBATTDET 0x187 | ||
| 220 | #define INTEL_MSIC_CHRCTRL 0x188 | ||
| 221 | #define INTEL_MSIC_CHRCVOLTAGE 0x189 | ||
| 222 | #define INTEL_MSIC_CHRCCURRENT 0x18a | ||
| 223 | #define INTEL_MSIC_SPCHARGER 0x18b | ||
| 224 | #define INTEL_MSIC_CHRTTIME 0x18c | ||
| 225 | #define INTEL_MSIC_CHRCTRL1 0x18d | ||
| 226 | #define INTEL_MSIC_PWRSRCLMT 0x18e | ||
| 227 | #define INTEL_MSIC_CHRSTWDT 0x18f | ||
| 228 | #define INTEL_MSIC_WDTWRITE 0x190 /* WO */ | ||
| 229 | #define INTEL_MSIC_CHRSAFELMT 0x191 | ||
| 230 | #define INTEL_MSIC_SPWRSRCINT 0x192 /* RO */ | ||
| 231 | #define INTEL_MSIC_SPWRSRCINT1 0x193 /* RO */ | ||
| 232 | #define INTEL_MSIC_CHRLEDPWM 0x194 | ||
| 233 | #define INTEL_MSIC_CHRLEDCTRL 0x195 | ||
| 234 | |||
| 235 | /* ADC */ | ||
| 236 | #define INTEL_MSIC_ADC1CNTL1 0x1c0 | ||
| 237 | #define INTEL_MSIC_ADC1CNTL2 0x1c1 | ||
| 238 | #define INTEL_MSIC_ADC1CNTL3 0x1c2 | ||
| 239 | #define INTEL_MSIC_ADC1OFFSETH 0x1c3 /* RO */ | ||
| 240 | #define INTEL_MSIC_ADC1OFFSETL 0x1c4 /* RO */ | ||
| 241 | #define INTEL_MSIC_ADC1ADDR0 0x1c5 | ||
| 242 | #define INTEL_MSIC_ADC1ADDR1 0x1c6 | ||
| 243 | #define INTEL_MSIC_ADC1ADDR2 0x1c7 | ||
| 244 | #define INTEL_MSIC_ADC1ADDR3 0x1c8 | ||
| 245 | #define INTEL_MSIC_ADC1ADDR4 0x1c9 | ||
| 246 | #define INTEL_MSIC_ADC1ADDR5 0x1ca | ||
| 247 | #define INTEL_MSIC_ADC1ADDR6 0x1cb | ||
| 248 | #define INTEL_MSIC_ADC1ADDR7 0x1cc | ||
| 249 | #define INTEL_MSIC_ADC1ADDR8 0x1cd | ||
| 250 | #define INTEL_MSIC_ADC1ADDR9 0x1ce | ||
| 251 | #define INTEL_MSIC_ADC1ADDR10 0x1cf | ||
| 252 | #define INTEL_MSIC_ADC1ADDR11 0x1d0 | ||
| 253 | #define INTEL_MSIC_ADC1ADDR12 0x1d1 | ||
| 254 | #define INTEL_MSIC_ADC1ADDR13 0x1d2 | ||
| 255 | #define INTEL_MSIC_ADC1ADDR14 0x1d3 | ||
| 256 | #define INTEL_MSIC_ADC1SNS0H 0x1d4 /* RO */ | ||
| 257 | #define INTEL_MSIC_ADC1SNS0L 0x1d5 /* RO */ | ||
| 258 | #define INTEL_MSIC_ADC1SNS1H 0x1d6 /* RO */ | ||
| 259 | #define INTEL_MSIC_ADC1SNS1L 0x1d7 /* RO */ | ||
| 260 | #define INTEL_MSIC_ADC1SNS2H 0x1d8 /* RO */ | ||
| 261 | #define INTEL_MSIC_ADC1SNS2L 0x1d9 /* RO */ | ||
| 262 | #define INTEL_MSIC_ADC1SNS3H 0x1da /* RO */ | ||
| 263 | #define INTEL_MSIC_ADC1SNS3L 0x1db /* RO */ | ||
| 264 | #define INTEL_MSIC_ADC1SNS4H 0x1dc /* RO */ | ||
| 265 | #define INTEL_MSIC_ADC1SNS4L 0x1dd /* RO */ | ||
| 266 | #define INTEL_MSIC_ADC1SNS5H 0x1de /* RO */ | ||
| 267 | #define INTEL_MSIC_ADC1SNS5L 0x1df /* RO */ | ||
| 268 | #define INTEL_MSIC_ADC1SNS6H 0x1e0 /* RO */ | ||
| 269 | #define INTEL_MSIC_ADC1SNS6L 0x1e1 /* RO */ | ||
| 270 | #define INTEL_MSIC_ADC1SNS7H 0x1e2 /* RO */ | ||
| 271 | #define INTEL_MSIC_ADC1SNS7L 0x1e3 /* RO */ | ||
| 272 | #define INTEL_MSIC_ADC1SNS8H 0x1e4 /* RO */ | ||
| 273 | #define INTEL_MSIC_ADC1SNS8L 0x1e5 /* RO */ | ||
| 274 | #define INTEL_MSIC_ADC1SNS9H 0x1e6 /* RO */ | ||
| 275 | #define INTEL_MSIC_ADC1SNS9L 0x1e7 /* RO */ | ||
| 276 | #define INTEL_MSIC_ADC1SNS10H 0x1e8 /* RO */ | ||
| 277 | #define INTEL_MSIC_ADC1SNS10L 0x1e9 /* RO */ | ||
| 278 | #define INTEL_MSIC_ADC1SNS11H 0x1ea /* RO */ | ||
| 279 | #define INTEL_MSIC_ADC1SNS11L 0x1eb /* RO */ | ||
| 280 | #define INTEL_MSIC_ADC1SNS12H 0x1ec /* RO */ | ||
| 281 | #define INTEL_MSIC_ADC1SNS12L 0x1ed /* RO */ | ||
| 282 | #define INTEL_MSIC_ADC1SNS13H 0x1ee /* RO */ | ||
| 283 | #define INTEL_MSIC_ADC1SNS13L 0x1ef /* RO */ | ||
| 284 | #define INTEL_MSIC_ADC1SNS14H 0x1f0 /* RO */ | ||
| 285 | #define INTEL_MSIC_ADC1SNS14L 0x1f1 /* RO */ | ||
| 286 | #define INTEL_MSIC_ADC1BV0H 0x1f2 /* RO */ | ||
| 287 | #define INTEL_MSIC_ADC1BV0L 0x1f3 /* RO */ | ||
| 288 | #define INTEL_MSIC_ADC1BV1H 0x1f4 /* RO */ | ||
| 289 | #define INTEL_MSIC_ADC1BV1L 0x1f5 /* RO */ | ||
| 290 | #define INTEL_MSIC_ADC1BV2H 0x1f6 /* RO */ | ||
| 291 | #define INTEL_MSIC_ADC1BV2L 0x1f7 /* RO */ | ||
| 292 | #define INTEL_MSIC_ADC1BV3H 0x1f8 /* RO */ | ||
| 293 | #define INTEL_MSIC_ADC1BV3L 0x1f9 /* RO */ | ||
| 294 | #define INTEL_MSIC_ADC1BI0H 0x1fa /* RO */ | ||
| 295 | #define INTEL_MSIC_ADC1BI0L 0x1fb /* RO */ | ||
| 296 | #define INTEL_MSIC_ADC1BI1H 0x1fc /* RO */ | ||
| 297 | #define INTEL_MSIC_ADC1BI1L 0x1fd /* RO */ | ||
| 298 | #define INTEL_MSIC_ADC1BI2H 0x1fe /* RO */ | ||
| 299 | #define INTEL_MSIC_ADC1BI2L 0x1ff /* RO */ | ||
| 300 | #define INTEL_MSIC_ADC1BI3H 0x200 /* RO */ | ||
| 301 | #define INTEL_MSIC_ADC1BI3L 0x201 /* RO */ | ||
| 302 | #define INTEL_MSIC_CCCNTL 0x202 | ||
| 303 | #define INTEL_MSIC_CCOFFSETH 0x203 /* RO */ | ||
| 304 | #define INTEL_MSIC_CCOFFSETL 0x204 /* RO */ | ||
| 305 | #define INTEL_MSIC_CCADCHA 0x205 /* RO */ | ||
| 306 | #define INTEL_MSIC_CCADCLA 0x206 /* RO */ | ||
| 307 | |||
| 308 | /* AUDIO */ | ||
| 309 | #define INTEL_MSIC_AUDPLLCTRL 0x240 | ||
| 310 | #define INTEL_MSIC_DMICBUF0123 0x241 | ||
| 311 | #define INTEL_MSIC_DMICBUF45 0x242 | ||
| 312 | #define INTEL_MSIC_DMICGPO 0x244 | ||
| 313 | #define INTEL_MSIC_DMICMUX 0x245 | ||
| 314 | #define INTEL_MSIC_DMICCLK 0x246 | ||
| 315 | #define INTEL_MSIC_MICBIAS 0x247 | ||
| 316 | #define INTEL_MSIC_ADCCONFIG 0x248 | ||
| 317 | #define INTEL_MSIC_MICAMP1 0x249 | ||
| 318 | #define INTEL_MSIC_MICAMP2 0x24a | ||
| 319 | #define INTEL_MSIC_NOISEMUX 0x24b | ||
| 320 | #define INTEL_MSIC_AUDIOMUX12 0x24c | ||
| 321 | #define INTEL_MSIC_AUDIOMUX34 0x24d | ||
| 322 | #define INTEL_MSIC_AUDIOSINC 0x24e | ||
| 323 | #define INTEL_MSIC_AUDIOTXEN 0x24f | ||
| 324 | #define INTEL_MSIC_HSEPRXCTRL 0x250 | ||
| 325 | #define INTEL_MSIC_IHFRXCTRL 0x251 | ||
| 326 | #define INTEL_MSIC_VOICETXVOL 0x252 | ||
| 327 | #define INTEL_MSIC_SIDETONEVOL 0x253 | ||
| 328 | #define INTEL_MSIC_MUSICSHARVOL 0x254 | ||
| 329 | #define INTEL_MSIC_VOICETXCTRL 0x255 | ||
| 330 | #define INTEL_MSIC_HSMIXER 0x256 | ||
| 331 | #define INTEL_MSIC_DACCONFIG 0x257 | ||
| 332 | #define INTEL_MSIC_SOFTMUTE 0x258 | ||
| 333 | #define INTEL_MSIC_HSLVOLCTRL 0x259 | ||
| 334 | #define INTEL_MSIC_HSRVOLCTRL 0x25a | ||
| 335 | #define INTEL_MSIC_IHFLVOLCTRL 0x25b | ||
| 336 | #define INTEL_MSIC_IHFRVOLCTRL 0x25c | ||
| 337 | #define INTEL_MSIC_DRIVEREN 0x25d | ||
| 338 | #define INTEL_MSIC_LINEOUTCTRL 0x25e | ||
| 339 | #define INTEL_MSIC_VIB1CTRL1 0x25f | ||
| 340 | #define INTEL_MSIC_VIB1CTRL2 0x260 | ||
| 341 | #define INTEL_MSIC_VIB1CTRL3 0x261 | ||
| 342 | #define INTEL_MSIC_VIB1SPIPCM_1 0x262 | ||
| 343 | #define INTEL_MSIC_VIB1SPIPCM_2 0x263 | ||
| 344 | #define INTEL_MSIC_VIB1CTRL5 0x264 | ||
| 345 | #define INTEL_MSIC_VIB2CTRL1 0x265 | ||
| 346 | #define INTEL_MSIC_VIB2CTRL2 0x266 | ||
| 347 | #define INTEL_MSIC_VIB2CTRL3 0x267 | ||
| 348 | #define INTEL_MSIC_VIB2SPIPCM_1 0x268 | ||
| 349 | #define INTEL_MSIC_VIB2SPIPCM_2 0x269 | ||
| 350 | #define INTEL_MSIC_VIB2CTRL5 0x26a | ||
| 351 | #define INTEL_MSIC_BTNCTRL1 0x26b | ||
| 352 | #define INTEL_MSIC_BTNCTRL2 0x26c | ||
| 353 | #define INTEL_MSIC_PCM1TXSLOT01 0x26d | ||
| 354 | #define INTEL_MSIC_PCM1TXSLOT23 0x26e | ||
| 355 | #define INTEL_MSIC_PCM1TXSLOT45 0x26f | ||
| 356 | #define INTEL_MSIC_PCM1RXSLOT0123 0x270 | ||
| 357 | #define INTEL_MSIC_PCM1RXSLOT045 0x271 | ||
| 358 | #define INTEL_MSIC_PCM2TXSLOT01 0x272 | ||
| 359 | #define INTEL_MSIC_PCM2TXSLOT23 0x273 | ||
| 360 | #define INTEL_MSIC_PCM2TXSLOT45 0x274 | ||
| 361 | #define INTEL_MSIC_PCM2RXSLOT01 0x275 | ||
| 362 | #define INTEL_MSIC_PCM2RXSLOT23 0x276 | ||
| 363 | #define INTEL_MSIC_PCM2RXSLOT45 0x277 | ||
| 364 | #define INTEL_MSIC_PCM1CTRL1 0x278 | ||
| 365 | #define INTEL_MSIC_PCM1CTRL2 0x279 | ||
| 366 | #define INTEL_MSIC_PCM1CTRL3 0x27a | ||
| 367 | #define INTEL_MSIC_PCM2CTRL1 0x27b | ||
| 368 | #define INTEL_MSIC_PCM2CTRL2 0x27c | ||
| 369 | |||
| 370 | /* HDMI */ | ||
| 371 | #define INTEL_MSIC_HDMIPUEN 0x280 | ||
| 372 | #define INTEL_MSIC_HDMISTATUS 0x281 /* RO */ | ||
| 373 | |||
| 374 | /* Physical address of the start of the MSIC interrupt tree in SRAM */ | ||
| 375 | #define INTEL_MSIC_IRQ_PHYS_BASE 0xffff7fc0 | ||
| 376 | |||
| 377 | /** | ||
| 378 | * struct intel_msic_gpio_pdata - platform data for the MSIC GPIO driver | ||
| 379 | * @gpio_base: base number for the GPIOs | ||
| 380 | */ | ||
| 381 | struct intel_msic_gpio_pdata { | ||
| 382 | unsigned gpio_base; | ||
| 383 | }; | ||
| 384 | |||
| 385 | /** | ||
| 386 | * struct intel_msic_ocd_pdata - platform data for the MSIC OCD driver | ||
| 387 | * @gpio: GPIO number used for OCD interrupts | ||
| 388 | * | ||
| 389 | * The MSIC MFD driver converts @gpio into an IRQ number and passes it to | ||
| 390 | * the OCD driver as %IORESOURCE_IRQ. | ||
| 391 | */ | ||
| 392 | struct intel_msic_ocd_pdata { | ||
| 393 | unsigned gpio; | ||
| 394 | }; | ||
| 395 | |||
| 396 | /* MSIC embedded blocks (subdevices) */ | ||
| 397 | enum intel_msic_block { | ||
| 398 | INTEL_MSIC_BLOCK_TOUCH, | ||
| 399 | INTEL_MSIC_BLOCK_ADC, | ||
| 400 | INTEL_MSIC_BLOCK_BATTERY, | ||
| 401 | INTEL_MSIC_BLOCK_GPIO, | ||
| 402 | INTEL_MSIC_BLOCK_AUDIO, | ||
| 403 | INTEL_MSIC_BLOCK_HDMI, | ||
| 404 | INTEL_MSIC_BLOCK_THERMAL, | ||
| 405 | INTEL_MSIC_BLOCK_POWER_BTN, | ||
| 406 | INTEL_MSIC_BLOCK_OCD, | ||
| 407 | |||
| 408 | INTEL_MSIC_BLOCK_LAST, | ||
| 409 | }; | ||
| 410 | |||
| 411 | /** | ||
| 412 | * struct intel_msic_platform_data - platform data for the MSIC driver | ||
| 413 | * @irq: array of interrupt numbers, one per device. If @irq is set to %0 | ||
| 414 | * for a given block, the corresponding platform device is not | ||
| 415 | * created. For devices which don't have an interrupt, use %0xff | ||
| 416 | * (this is same as in SFI spec). | ||
| 417 | * @gpio: platform data for the MSIC GPIO driver | ||
| 418 | * @ocd: platform data for the MSIC OCD driver | ||
| 419 | * | ||
| 420 | * Once the MSIC driver is initialized, the register interface is ready to | ||
| 421 | * use. All the platform devices for subdevices are created after the | ||
| 422 | * register interface is ready so that we can guarantee its availability to | ||
| 423 | * the subdevice drivers. | ||
| 424 | * | ||
| 425 | * Interrupt numbers are passed to the subdevices via %IORESOURCE_IRQ | ||
| 426 | * resources of the created platform device. | ||
| 427 | */ | ||
| 428 | struct intel_msic_platform_data { | ||
| 429 | int irq[INTEL_MSIC_BLOCK_LAST]; | ||
| 430 | struct intel_msic_gpio_pdata *gpio; | ||
| 431 | struct intel_msic_ocd_pdata *ocd; | ||
| 432 | }; | ||
| 433 | |||
| 434 | struct intel_msic; | ||
| 435 | |||
| 436 | extern int intel_msic_reg_read(unsigned short reg, u8 *val); | ||
| 437 | extern int intel_msic_reg_write(unsigned short reg, u8 val); | ||
| 438 | extern int intel_msic_reg_update(unsigned short reg, u8 val, u8 mask); | ||
| 439 | extern int intel_msic_bulk_read(unsigned short *reg, u8 *buf, size_t count); | ||
| 440 | extern int intel_msic_bulk_write(unsigned short *reg, u8 *buf, size_t count); | ||
| 441 | |||
| 442 | /* | ||
| 443 | * pdev_to_intel_msic - gets an MSIC instance from the platform device | ||
| 444 | * @pdev: platform device pointer | ||
| 445 | * | ||
| 446 | * The client drivers need to have pointer to the MSIC instance if they | ||
| 447 | * want to call intel_msic_irq_read(). This macro can be used for | ||
| 448 | * convenience to get the MSIC pointer from @pdev where needed. This is | ||
| 449 | * _only_ valid for devices which are managed by the MSIC. | ||
| 450 | */ | ||
| 451 | #define pdev_to_intel_msic(pdev) (dev_get_drvdata(pdev->dev.parent)) | ||
| 452 | |||
| 453 | extern int intel_msic_irq_read(struct intel_msic *msic, unsigned short reg, | ||
| 454 | u8 *val); | ||
| 455 | |||
| 456 | #endif /* __LINUX_MFD_INTEL_MSIC_H__ */ | ||
diff --git a/include/linux/mfd/lm3533.h b/include/linux/mfd/lm3533.h deleted file mode 100644 index 594bc591f25..00000000000 --- a/include/linux/mfd/lm3533.h +++ /dev/null | |||
| @@ -1,104 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * lm3533.h -- LM3533 interface | ||
| 3 | * | ||
| 4 | * Copyright (C) 2011-2012 Texas Instruments | ||
| 5 | * | ||
| 6 | * Author: Johan Hovold <jhovold@gmail.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify it | ||
| 9 | * under the terms of the GNU General Public License as published by the | ||
| 10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 11 | * option) any later version. | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __LINUX_MFD_LM3533_H | ||
| 15 | #define __LINUX_MFD_LM3533_H | ||
| 16 | |||
| 17 | #define LM3533_ATTR_RO(_name) \ | ||
| 18 | DEVICE_ATTR(_name, S_IRUGO, show_##_name, NULL) | ||
| 19 | #define LM3533_ATTR_RW(_name) \ | ||
| 20 | DEVICE_ATTR(_name, S_IRUGO | S_IWUSR , show_##_name, store_##_name) | ||
| 21 | |||
| 22 | struct device; | ||
| 23 | struct regmap; | ||
| 24 | |||
| 25 | struct lm3533 { | ||
| 26 | struct device *dev; | ||
| 27 | |||
| 28 | struct regmap *regmap; | ||
| 29 | |||
| 30 | int gpio_hwen; | ||
| 31 | int irq; | ||
| 32 | |||
| 33 | unsigned have_als:1; | ||
| 34 | unsigned have_backlights:1; | ||
| 35 | unsigned have_leds:1; | ||
| 36 | }; | ||
| 37 | |||
| 38 | struct lm3533_ctrlbank { | ||
| 39 | struct lm3533 *lm3533; | ||
| 40 | struct device *dev; | ||
| 41 | int id; | ||
| 42 | }; | ||
| 43 | |||
| 44 | struct lm3533_als_platform_data { | ||
| 45 | unsigned pwm_mode:1; /* PWM input mode (default analog) */ | ||
| 46 | u8 r_select; /* 1 - 127 (ignored in PWM-mode) */ | ||
| 47 | }; | ||
| 48 | |||
| 49 | struct lm3533_bl_platform_data { | ||
| 50 | char *name; | ||
| 51 | u16 max_current; /* 5000 - 29800 uA (800 uA step) */ | ||
| 52 | u8 default_brightness; /* 0 - 255 */ | ||
| 53 | u8 pwm; /* 0 - 0x3f */ | ||
| 54 | }; | ||
| 55 | |||
| 56 | struct lm3533_led_platform_data { | ||
| 57 | char *name; | ||
| 58 | const char *default_trigger; | ||
| 59 | u16 max_current; /* 5000 - 29800 uA (800 uA step) */ | ||
| 60 | u8 pwm; /* 0 - 0x3f */ | ||
| 61 | }; | ||
| 62 | |||
| 63 | enum lm3533_boost_freq { | ||
| 64 | LM3533_BOOST_FREQ_500KHZ, | ||
| 65 | LM3533_BOOST_FREQ_1000KHZ, | ||
| 66 | }; | ||
| 67 | |||
| 68 | enum lm3533_boost_ovp { | ||
| 69 | LM3533_BOOST_OVP_16V, | ||
| 70 | LM3533_BOOST_OVP_24V, | ||
| 71 | LM3533_BOOST_OVP_32V, | ||
| 72 | LM3533_BOOST_OVP_40V, | ||
| 73 | }; | ||
| 74 | |||
| 75 | struct lm3533_platform_data { | ||
| 76 | int gpio_hwen; | ||
| 77 | |||
| 78 | enum lm3533_boost_ovp boost_ovp; | ||
| 79 | enum lm3533_boost_freq boost_freq; | ||
| 80 | |||
| 81 | struct lm3533_als_platform_data *als; | ||
| 82 | |||
| 83 | struct lm3533_bl_platform_data *backlights; | ||
| 84 | int num_backlights; | ||
| 85 | |||
| 86 | struct lm3533_led_platform_data *leds; | ||
| 87 | int num_leds; | ||
| 88 | }; | ||
| 89 | |||
| 90 | extern int lm3533_ctrlbank_enable(struct lm3533_ctrlbank *cb); | ||
| 91 | extern int lm3533_ctrlbank_disable(struct lm3533_ctrlbank *cb); | ||
| 92 | |||
| 93 | extern int lm3533_ctrlbank_set_brightness(struct lm3533_ctrlbank *cb, u8 val); | ||
| 94 | extern int lm3533_ctrlbank_get_brightness(struct lm3533_ctrlbank *cb, u8 *val); | ||
| 95 | extern int lm3533_ctrlbank_set_max_current(struct lm3533_ctrlbank *cb, | ||
| 96 | u16 imax); | ||
| 97 | extern int lm3533_ctrlbank_set_pwm(struct lm3533_ctrlbank *cb, u8 val); | ||
| 98 | extern int lm3533_ctrlbank_get_pwm(struct lm3533_ctrlbank *cb, u8 *val); | ||
| 99 | |||
| 100 | extern int lm3533_read(struct lm3533 *lm3533, u8 reg, u8 *val); | ||
| 101 | extern int lm3533_write(struct lm3533 *lm3533, u8 reg, u8 val); | ||
| 102 | extern int lm3533_update(struct lm3533 *lm3533, u8 reg, u8 val, u8 mask); | ||
| 103 | |||
| 104 | #endif /* __LINUX_MFD_LM3533_H */ | ||
diff --git a/include/linux/mfd/lp8788-isink.h b/include/linux/mfd/lp8788-isink.h deleted file mode 100644 index f38262d21ff..00000000000 --- a/include/linux/mfd/lp8788-isink.h +++ /dev/null | |||
| @@ -1,52 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * TI LP8788 MFD - common definitions for current sinks | ||
| 3 | * | ||
| 4 | * Copyright 2012 Texas Instruments | ||
| 5 | * | ||
| 6 | * Author: Milo(Woogyom) Kim <milo.kim@ti.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | * | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __ISINK_LP8788_H__ | ||
| 15 | #define __ISINK_LP8788_H__ | ||
| 16 | |||
| 17 | /* register address */ | ||
| 18 | #define LP8788_ISINK_CTRL 0x99 | ||
| 19 | #define LP8788_ISINK12_IOUT 0x9A | ||
| 20 | #define LP8788_ISINK3_IOUT 0x9B | ||
| 21 | #define LP8788_ISINK1_PWM 0x9C | ||
| 22 | #define LP8788_ISINK2_PWM 0x9D | ||
| 23 | #define LP8788_ISINK3_PWM 0x9E | ||
| 24 | |||
| 25 | /* mask bits */ | ||
| 26 | #define LP8788_ISINK1_IOUT_M 0x0F /* Addr 9Ah */ | ||
| 27 | #define LP8788_ISINK2_IOUT_M 0xF0 | ||
| 28 | #define LP8788_ISINK3_IOUT_M 0x0F /* Addr 9Bh */ | ||
| 29 | |||
| 30 | /* 6 bits used for PWM code : Addr 9C ~ 9Eh */ | ||
| 31 | #define LP8788_ISINK_MAX_PWM 63 | ||
| 32 | #define LP8788_ISINK_SCALE_OFFSET 3 | ||
| 33 | |||
| 34 | static const u8 lp8788_iout_addr[] = { | ||
| 35 | LP8788_ISINK12_IOUT, | ||
| 36 | LP8788_ISINK12_IOUT, | ||
| 37 | LP8788_ISINK3_IOUT, | ||
| 38 | }; | ||
| 39 | |||
| 40 | static const u8 lp8788_iout_mask[] = { | ||
| 41 | LP8788_ISINK1_IOUT_M, | ||
| 42 | LP8788_ISINK2_IOUT_M, | ||
| 43 | LP8788_ISINK3_IOUT_M, | ||
| 44 | }; | ||
| 45 | |||
| 46 | static const u8 lp8788_pwm_addr[] = { | ||
| 47 | LP8788_ISINK1_PWM, | ||
| 48 | LP8788_ISINK2_PWM, | ||
| 49 | LP8788_ISINK3_PWM, | ||
| 50 | }; | ||
| 51 | |||
| 52 | #endif | ||
diff --git a/include/linux/mfd/lp8788.h b/include/linux/mfd/lp8788.h deleted file mode 100644 index 2a32b16f79c..00000000000 --- a/include/linux/mfd/lp8788.h +++ /dev/null | |||
| @@ -1,364 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * TI LP8788 MFD Device | ||
| 3 | * | ||
| 4 | * Copyright 2012 Texas Instruments | ||
| 5 | * | ||
| 6 | * Author: Milo(Woogyom) Kim <milo.kim@ti.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | * | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __MFD_LP8788_H__ | ||
| 15 | #define __MFD_LP8788_H__ | ||
| 16 | |||
| 17 | #include <linux/gpio.h> | ||
| 18 | #include <linux/irqdomain.h> | ||
| 19 | #include <linux/regmap.h> | ||
| 20 | |||
| 21 | #define LP8788_DEV_BUCK "lp8788-buck" | ||
| 22 | #define LP8788_DEV_DLDO "lp8788-dldo" | ||
| 23 | #define LP8788_DEV_ALDO "lp8788-aldo" | ||
| 24 | #define LP8788_DEV_CHARGER "lp8788-charger" | ||
| 25 | #define LP8788_DEV_RTC "lp8788-rtc" | ||
| 26 | #define LP8788_DEV_BACKLIGHT "lp8788-backlight" | ||
| 27 | #define LP8788_DEV_VIBRATOR "lp8788-vibrator" | ||
| 28 | #define LP8788_DEV_KEYLED "lp8788-keyled" | ||
| 29 | #define LP8788_DEV_ADC "lp8788-adc" | ||
| 30 | |||
| 31 | #define LP8788_NUM_BUCKS 4 | ||
| 32 | #define LP8788_NUM_DLDOS 12 | ||
| 33 | #define LP8788_NUM_ALDOS 10 | ||
| 34 | #define LP8788_NUM_BUCK2_DVS 2 | ||
| 35 | |||
| 36 | #define LP8788_CHG_IRQ "CHG_IRQ" | ||
| 37 | #define LP8788_PRSW_IRQ "PRSW_IRQ" | ||
| 38 | #define LP8788_BATT_IRQ "BATT_IRQ" | ||
| 39 | #define LP8788_ALM_IRQ "ALARM_IRQ" | ||
| 40 | |||
| 41 | enum lp8788_int_id { | ||
| 42 | /* interrup register 1 : Addr 00h */ | ||
| 43 | LP8788_INT_TSDL, | ||
| 44 | LP8788_INT_TSDH, | ||
| 45 | LP8788_INT_UVLO, | ||
| 46 | LP8788_INT_FLAGMON, | ||
| 47 | LP8788_INT_PWRON_TIME, | ||
| 48 | LP8788_INT_PWRON, | ||
| 49 | LP8788_INT_COMP1, | ||
| 50 | LP8788_INT_COMP2, | ||
| 51 | |||
| 52 | /* interrupt register 2 : Addr 01h */ | ||
| 53 | LP8788_INT_CHG_INPUT_STATE, | ||
| 54 | LP8788_INT_CHG_STATE, | ||
| 55 | LP8788_INT_EOC, | ||
| 56 | LP8788_INT_CHG_RESTART, | ||
| 57 | LP8788_INT_RESTART_TIMEOUT, | ||
| 58 | LP8788_INT_FULLCHG_TIMEOUT, | ||
| 59 | LP8788_INT_PRECHG_TIMEOUT, | ||
| 60 | |||
| 61 | /* interrupt register 3 : Addr 02h */ | ||
| 62 | LP8788_INT_RTC_ALARM1 = 17, | ||
| 63 | LP8788_INT_RTC_ALARM2, | ||
| 64 | LP8788_INT_ENTER_SYS_SUPPORT, | ||
| 65 | LP8788_INT_EXIT_SYS_SUPPORT, | ||
| 66 | LP8788_INT_BATT_LOW, | ||
| 67 | LP8788_INT_NO_BATT, | ||
| 68 | |||
| 69 | LP8788_INT_MAX = 24, | ||
| 70 | }; | ||
| 71 | |||
| 72 | enum lp8788_dvs_sel { | ||
| 73 | DVS_SEL_V0, | ||
| 74 | DVS_SEL_V1, | ||
| 75 | DVS_SEL_V2, | ||
| 76 | DVS_SEL_V3, | ||
| 77 | }; | ||
| 78 | |||
| 79 | enum lp8788_ext_ldo_en_id { | ||
| 80 | EN_ALDO1, | ||
| 81 | EN_ALDO234, | ||
| 82 | EN_ALDO5, | ||
| 83 | EN_ALDO7, | ||
| 84 | EN_DLDO7, | ||
| 85 | EN_DLDO911, | ||
| 86 | EN_LDOS_MAX, | ||
| 87 | }; | ||
| 88 | |||
| 89 | enum lp8788_charger_event { | ||
| 90 | NO_CHARGER, | ||
| 91 | CHARGER_DETECTED, | ||
| 92 | }; | ||
| 93 | |||
| 94 | enum lp8788_bl_ctrl_mode { | ||
| 95 | LP8788_BL_REGISTER_ONLY, | ||
| 96 | LP8788_BL_COMB_PWM_BASED, /* PWM + I2C, changed by PWM input */ | ||
| 97 | LP8788_BL_COMB_REGISTER_BASED, /* PWM + I2C, changed by I2C */ | ||
| 98 | }; | ||
| 99 | |||
| 100 | enum lp8788_bl_dim_mode { | ||
| 101 | LP8788_DIM_EXPONENTIAL, | ||
| 102 | LP8788_DIM_LINEAR, | ||
| 103 | }; | ||
| 104 | |||
| 105 | enum lp8788_bl_full_scale_current { | ||
| 106 | LP8788_FULLSCALE_5000uA, | ||
| 107 | LP8788_FULLSCALE_8500uA, | ||
| 108 | LP8788_FULLSCALE_1200uA, | ||
| 109 | LP8788_FULLSCALE_1550uA, | ||
| 110 | LP8788_FULLSCALE_1900uA, | ||
| 111 | LP8788_FULLSCALE_2250uA, | ||
| 112 | LP8788_FULLSCALE_2600uA, | ||
| 113 | LP8788_FULLSCALE_2950uA, | ||
| 114 | }; | ||
| 115 | |||
| 116 | enum lp8788_bl_ramp_step { | ||
| 117 | LP8788_RAMP_8us, | ||
| 118 | LP8788_RAMP_1024us, | ||
| 119 | LP8788_RAMP_2048us, | ||
| 120 | LP8788_RAMP_4096us, | ||
| 121 | LP8788_RAMP_8192us, | ||
| 122 | LP8788_RAMP_16384us, | ||
| 123 | LP8788_RAMP_32768us, | ||
| 124 | LP8788_RAMP_65538us, | ||
| 125 | }; | ||
| 126 | |||
| 127 | enum lp8788_bl_pwm_polarity { | ||
| 128 | LP8788_PWM_ACTIVE_HIGH, | ||
| 129 | LP8788_PWM_ACTIVE_LOW, | ||
| 130 | }; | ||
| 131 | |||
| 132 | enum lp8788_isink_scale { | ||
| 133 | LP8788_ISINK_SCALE_100mA, | ||
| 134 | LP8788_ISINK_SCALE_120mA, | ||
| 135 | }; | ||
| 136 | |||
| 137 | enum lp8788_isink_number { | ||
| 138 | LP8788_ISINK_1, | ||
| 139 | LP8788_ISINK_2, | ||
| 140 | LP8788_ISINK_3, | ||
| 141 | }; | ||
| 142 | |||
| 143 | enum lp8788_alarm_sel { | ||
| 144 | LP8788_ALARM_1, | ||
| 145 | LP8788_ALARM_2, | ||
| 146 | LP8788_ALARM_MAX, | ||
| 147 | }; | ||
| 148 | |||
| 149 | enum lp8788_adc_id { | ||
| 150 | LPADC_VBATT_5P5, | ||
| 151 | LPADC_VIN_CHG, | ||
| 152 | LPADC_IBATT, | ||
| 153 | LPADC_IC_TEMP, | ||
| 154 | LPADC_VBATT_6P0, | ||
| 155 | LPADC_VBATT_5P0, | ||
| 156 | LPADC_ADC1, | ||
| 157 | LPADC_ADC2, | ||
| 158 | LPADC_VDD, | ||
| 159 | LPADC_VCOIN, | ||
| 160 | LPADC_VDD_LDO, | ||
| 161 | LPADC_ADC3, | ||
| 162 | LPADC_ADC4, | ||
| 163 | LPADC_MAX, | ||
| 164 | }; | ||
| 165 | |||
| 166 | struct lp8788; | ||
| 167 | |||
| 168 | /* | ||
| 169 | * lp8788_buck1_dvs | ||
| 170 | * @gpio : gpio pin number for dvs control | ||
| 171 | * @vsel : dvs selector for buck v1 register | ||
| 172 | */ | ||
| 173 | struct lp8788_buck1_dvs { | ||
| 174 | int gpio; | ||
| 175 | enum lp8788_dvs_sel vsel; | ||
| 176 | }; | ||
| 177 | |||
| 178 | /* | ||
| 179 | * lp8788_buck2_dvs | ||
| 180 | * @gpio : two gpio pin numbers are used for dvs | ||
| 181 | * @vsel : dvs selector for buck v2 register | ||
| 182 | */ | ||
| 183 | struct lp8788_buck2_dvs { | ||
| 184 | int gpio[LP8788_NUM_BUCK2_DVS]; | ||
| 185 | enum lp8788_dvs_sel vsel; | ||
| 186 | }; | ||
| 187 | |||
| 188 | /* | ||
| 189 | * struct lp8788_ldo_enable_pin | ||
| 190 | * | ||
| 191 | * Basically, all LDOs are enabled through the I2C commands. | ||
| 192 | * But ALDO 1 ~ 5, 7, DLDO 7, 9, 11 can be enabled by external gpio pins. | ||
| 193 | * | ||
| 194 | * @gpio : gpio number which is used for enabling ldos | ||
| 195 | * @init_state : initial gpio state (ex. GPIOF_OUT_INIT_LOW) | ||
| 196 | */ | ||
| 197 | struct lp8788_ldo_enable_pin { | ||
| 198 | int gpio; | ||
| 199 | int init_state; | ||
| 200 | }; | ||
| 201 | |||
| 202 | /* | ||
| 203 | * struct lp8788_chg_param | ||
| 204 | * @addr : charging control register address (range : 0x11 ~ 0x1C) | ||
| 205 | * @val : charging parameter value | ||
| 206 | */ | ||
| 207 | struct lp8788_chg_param { | ||
| 208 | u8 addr; | ||
| 209 | u8 val; | ||
| 210 | }; | ||
| 211 | |||
| 212 | /* | ||
| 213 | * struct lp8788_charger_platform_data | ||
| 214 | * @adc_vbatt : adc channel name for battery voltage | ||
| 215 | * @adc_batt_temp : adc channel name for battery temperature | ||
| 216 | * @max_vbatt_mv : used for calculating battery capacity | ||
| 217 | * @chg_params : initial charging parameters | ||
| 218 | * @num_chg_params : numbers of charging parameters | ||
| 219 | * @charger_event : the charger event can be reported to the platform side | ||
| 220 | */ | ||
| 221 | struct lp8788_charger_platform_data { | ||
| 222 | const char *adc_vbatt; | ||
| 223 | const char *adc_batt_temp; | ||
| 224 | unsigned int max_vbatt_mv; | ||
| 225 | struct lp8788_chg_param *chg_params; | ||
| 226 | int num_chg_params; | ||
| 227 | void (*charger_event) (struct lp8788 *lp, | ||
| 228 | enum lp8788_charger_event event); | ||
| 229 | }; | ||
| 230 | |||
| 231 | /* | ||
| 232 | * struct lp8788_bl_pwm_data | ||
| 233 | * @pwm_set_intensity : set duty of pwm | ||
| 234 | * @pwm_get_intensity : get current duty of pwm | ||
| 235 | */ | ||
| 236 | struct lp8788_bl_pwm_data { | ||
| 237 | void (*pwm_set_intensity) (int brightness, int max_brightness); | ||
| 238 | int (*pwm_get_intensity) (int max_brightness); | ||
| 239 | }; | ||
| 240 | |||
| 241 | /* | ||
| 242 | * struct lp8788_backlight_platform_data | ||
| 243 | * @name : backlight driver name. (default: "lcd-backlight") | ||
| 244 | * @initial_brightness : initial value of backlight brightness | ||
| 245 | * @bl_mode : brightness control by pwm or lp8788 register | ||
| 246 | * @dim_mode : dimming mode selection | ||
| 247 | * @full_scale : full scale current setting | ||
| 248 | * @rise_time : brightness ramp up step time | ||
| 249 | * @fall_time : brightness ramp down step time | ||
| 250 | * @pwm_pol : pwm polarity setting when bl_mode is pwm based | ||
| 251 | * @pwm_data : platform specific pwm generation functions | ||
| 252 | * only valid when bl_mode is pwm based | ||
| 253 | */ | ||
| 254 | struct lp8788_backlight_platform_data { | ||
| 255 | char *name; | ||
| 256 | int initial_brightness; | ||
| 257 | enum lp8788_bl_ctrl_mode bl_mode; | ||
| 258 | enum lp8788_bl_dim_mode dim_mode; | ||
| 259 | enum lp8788_bl_full_scale_current full_scale; | ||
| 260 | enum lp8788_bl_ramp_step rise_time; | ||
| 261 | enum lp8788_bl_ramp_step fall_time; | ||
| 262 | enum lp8788_bl_pwm_polarity pwm_pol; | ||
| 263 | struct lp8788_bl_pwm_data pwm_data; | ||
| 264 | }; | ||
| 265 | |||
| 266 | /* | ||
| 267 | * struct lp8788_led_platform_data | ||
| 268 | * @name : led driver name. (default: "keyboard-backlight") | ||
| 269 | * @scale : current scale | ||
| 270 | * @num : current sink number | ||
| 271 | * @iout_code : current output value (Addr 9Ah ~ 9Bh) | ||
| 272 | */ | ||
| 273 | struct lp8788_led_platform_data { | ||
| 274 | char *name; | ||
| 275 | enum lp8788_isink_scale scale; | ||
| 276 | enum lp8788_isink_number num; | ||
| 277 | int iout_code; | ||
| 278 | }; | ||
| 279 | |||
| 280 | /* | ||
| 281 | * struct lp8788_vib_platform_data | ||
| 282 | * @name : vibrator driver name | ||
| 283 | * @scale : current scale | ||
| 284 | * @num : current sink number | ||
| 285 | * @iout_code : current output value (Addr 9Ah ~ 9Bh) | ||
| 286 | * @pwm_code : PWM code value (Addr 9Ch ~ 9Eh) | ||
| 287 | */ | ||
| 288 | struct lp8788_vib_platform_data { | ||
| 289 | char *name; | ||
| 290 | enum lp8788_isink_scale scale; | ||
| 291 | enum lp8788_isink_number num; | ||
| 292 | int iout_code; | ||
| 293 | int pwm_code; | ||
| 294 | }; | ||
| 295 | |||
| 296 | /* | ||
| 297 | * struct lp8788_platform_data | ||
| 298 | * @init_func : used for initializing registers | ||
| 299 | * before mfd driver is registered | ||
| 300 | * @buck_data : regulator initial data for buck | ||
| 301 | * @dldo_data : regulator initial data for digital ldo | ||
| 302 | * @aldo_data : regulator initial data for analog ldo | ||
| 303 | * @buck1_dvs : gpio configurations for buck1 dvs | ||
| 304 | * @buck2_dvs : gpio configurations for buck2 dvs | ||
| 305 | * @ldo_pin : gpio configurations for enabling LDOs | ||
| 306 | * @chg_pdata : platform data for charger driver | ||
| 307 | * @alarm_sel : rtc alarm selection (1 or 2) | ||
| 308 | * @bl_pdata : configurable data for backlight driver | ||
| 309 | * @led_pdata : configurable data for led driver | ||
| 310 | * @vib_pdata : configurable data for vibrator driver | ||
| 311 | * @adc_pdata : iio map data for adc driver | ||
| 312 | */ | ||
| 313 | struct lp8788_platform_data { | ||
| 314 | /* general system information */ | ||
| 315 | int (*init_func) (struct lp8788 *lp); | ||
| 316 | |||
| 317 | /* regulators */ | ||
| 318 | struct regulator_init_data *buck_data[LP8788_NUM_BUCKS]; | ||
| 319 | struct regulator_init_data *dldo_data[LP8788_NUM_DLDOS]; | ||
| 320 | struct regulator_init_data *aldo_data[LP8788_NUM_ALDOS]; | ||
| 321 | struct lp8788_buck1_dvs *buck1_dvs; | ||
| 322 | struct lp8788_buck2_dvs *buck2_dvs; | ||
| 323 | struct lp8788_ldo_enable_pin *ldo_pin[EN_LDOS_MAX]; | ||
| 324 | |||
| 325 | /* charger */ | ||
| 326 | struct lp8788_charger_platform_data *chg_pdata; | ||
| 327 | |||
| 328 | /* rtc alarm */ | ||
| 329 | enum lp8788_alarm_sel alarm_sel; | ||
| 330 | |||
| 331 | /* backlight */ | ||
| 332 | struct lp8788_backlight_platform_data *bl_pdata; | ||
| 333 | |||
| 334 | /* current sinks */ | ||
| 335 | struct lp8788_led_platform_data *led_pdata; | ||
| 336 | struct lp8788_vib_platform_data *vib_pdata; | ||
| 337 | |||
| 338 | /* adc iio map data */ | ||
| 339 | struct iio_map *adc_pdata; | ||
| 340 | }; | ||
| 341 | |||
| 342 | /* | ||
| 343 | * struct lp8788 | ||
| 344 | * @dev : parent device pointer | ||
| 345 | * @regmap : used for i2c communcation on accessing registers | ||
| 346 | * @irqdm : interrupt domain for handling nested interrupt | ||
| 347 | * @irq : pin number of IRQ_N | ||
| 348 | * @pdata : lp8788 platform specific data | ||
| 349 | */ | ||
| 350 | struct lp8788 { | ||
| 351 | struct device *dev; | ||
| 352 | struct regmap *regmap; | ||
| 353 | struct irq_domain *irqdm; | ||
| 354 | int irq; | ||
| 355 | struct lp8788_platform_data *pdata; | ||
| 356 | }; | ||
| 357 | |||
| 358 | int lp8788_irq_init(struct lp8788 *lp, int chip_irq); | ||
| 359 | void lp8788_irq_exit(struct lp8788 *lp); | ||
| 360 | int lp8788_read_byte(struct lp8788 *lp, u8 reg, u8 *data); | ||
| 361 | int lp8788_read_multi_bytes(struct lp8788 *lp, u8 reg, u8 *data, size_t count); | ||
| 362 | int lp8788_write_byte(struct lp8788 *lp, u8 reg, u8 data); | ||
| 363 | int lp8788_update_bits(struct lp8788 *lp, u8 reg, u8 mask, u8 data); | ||
| 364 | #endif | ||
diff --git a/include/linux/mfd/lpc_ich.h b/include/linux/mfd/lpc_ich.h deleted file mode 100644 index 3e1df644c40..00000000000 --- a/include/linux/mfd/lpc_ich.h +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * linux/drivers/mfd/lpc_ich.h | ||
| 3 | * | ||
| 4 | * Copyright (c) 2012 Extreme Engineering Solution, Inc. | ||
| 5 | * Author: Aaron Sierra <asierra@xes-inc.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License 2 as published | ||
| 9 | * by the Free Software Foundation. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this program; see the file COPYING. If not, write to | ||
| 18 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 19 | */ | ||
| 20 | #ifndef LPC_ICH_H | ||
| 21 | #define LPC_ICH_H | ||
| 22 | |||
| 23 | /* Watchdog resources */ | ||
| 24 | #define ICH_RES_IO_TCO 0 | ||
| 25 | #define ICH_RES_IO_SMI 1 | ||
| 26 | #define ICH_RES_MEM_OFF 2 | ||
| 27 | #define ICH_RES_MEM_GCS 0 | ||
| 28 | |||
| 29 | /* GPIO resources */ | ||
| 30 | #define ICH_RES_GPIO 0 | ||
| 31 | #define ICH_RES_GPE0 1 | ||
| 32 | |||
| 33 | /* GPIO compatibility */ | ||
| 34 | #define ICH_I3100_GPIO 0x401 | ||
| 35 | #define ICH_V5_GPIO 0x501 | ||
| 36 | #define ICH_V6_GPIO 0x601 | ||
| 37 | #define ICH_V7_GPIO 0x701 | ||
| 38 | #define ICH_V9_GPIO 0x801 | ||
| 39 | #define ICH_V10CORP_GPIO 0xa01 | ||
| 40 | #define ICH_V10CONS_GPIO 0xa11 | ||
| 41 | |||
| 42 | struct lpc_ich_info { | ||
| 43 | char name[32]; | ||
| 44 | unsigned int iTCO_version; | ||
| 45 | unsigned int gpio_version; | ||
| 46 | u8 use_gpio; | ||
| 47 | }; | ||
| 48 | |||
| 49 | #endif | ||
diff --git a/include/linux/mfd/max77686-private.h b/include/linux/mfd/max77686-private.h deleted file mode 100644 index d327d4971e4..00000000000 --- a/include/linux/mfd/max77686-private.h +++ /dev/null | |||
| @@ -1,246 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * max77686.h - Voltage regulator driver for the Maxim 77686 | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Samsung Electrnoics | ||
| 5 | * Chiwoong Byun <woong.byun@samsung.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2 of the License, or | ||
| 10 | * (at your option) any later version. | ||
| 11 | * | ||
| 12 | * This program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with this program; if not, write to the Free Software | ||
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 20 | */ | ||
| 21 | |||
| 22 | #ifndef __LINUX_MFD_MAX77686_PRIV_H | ||
| 23 | #define __LINUX_MFD_MAX77686_PRIV_H | ||
| 24 | |||
| 25 | #include <linux/i2c.h> | ||
| 26 | #include <linux/regmap.h> | ||
| 27 | #include <linux/module.h> | ||
| 28 | |||
| 29 | #define MAX77686_REG_INVALID (0xff) | ||
| 30 | |||
| 31 | enum max77686_pmic_reg { | ||
| 32 | MAX77686_REG_DEVICE_ID = 0x00, | ||
| 33 | MAX77686_REG_INTSRC = 0x01, | ||
| 34 | MAX77686_REG_INT1 = 0x02, | ||
| 35 | MAX77686_REG_INT2 = 0x03, | ||
| 36 | |||
| 37 | MAX77686_REG_INT1MSK = 0x04, | ||
| 38 | MAX77686_REG_INT2MSK = 0x05, | ||
| 39 | |||
| 40 | MAX77686_REG_STATUS1 = 0x06, | ||
| 41 | MAX77686_REG_STATUS2 = 0x07, | ||
| 42 | |||
| 43 | MAX77686_REG_PWRON = 0x08, | ||
| 44 | MAX77686_REG_ONOFF_DELAY = 0x09, | ||
| 45 | MAX77686_REG_MRSTB = 0x0A, | ||
| 46 | /* Reserved: 0x0B-0x0F */ | ||
| 47 | |||
| 48 | MAX77686_REG_BUCK1CTRL = 0x10, | ||
| 49 | MAX77686_REG_BUCK1OUT = 0x11, | ||
| 50 | MAX77686_REG_BUCK2CTRL1 = 0x12, | ||
| 51 | MAX77686_REG_BUCK234FREQ = 0x13, | ||
| 52 | MAX77686_REG_BUCK2DVS1 = 0x14, | ||
| 53 | MAX77686_REG_BUCK2DVS2 = 0x15, | ||
| 54 | MAX77686_REG_BUCK2DVS3 = 0x16, | ||
| 55 | MAX77686_REG_BUCK2DVS4 = 0x17, | ||
| 56 | MAX77686_REG_BUCK2DVS5 = 0x18, | ||
| 57 | MAX77686_REG_BUCK2DVS6 = 0x19, | ||
| 58 | MAX77686_REG_BUCK2DVS7 = 0x1A, | ||
| 59 | MAX77686_REG_BUCK2DVS8 = 0x1B, | ||
| 60 | MAX77686_REG_BUCK3CTRL1 = 0x1C, | ||
| 61 | /* Reserved: 0x1D */ | ||
| 62 | MAX77686_REG_BUCK3DVS1 = 0x1E, | ||
| 63 | MAX77686_REG_BUCK3DVS2 = 0x1F, | ||
| 64 | MAX77686_REG_BUCK3DVS3 = 0x20, | ||
| 65 | MAX77686_REG_BUCK3DVS4 = 0x21, | ||
| 66 | MAX77686_REG_BUCK3DVS5 = 0x22, | ||
| 67 | MAX77686_REG_BUCK3DVS6 = 0x23, | ||
| 68 | MAX77686_REG_BUCK3DVS7 = 0x24, | ||
| 69 | MAX77686_REG_BUCK3DVS8 = 0x25, | ||
| 70 | MAX77686_REG_BUCK4CTRL1 = 0x26, | ||
| 71 | /* Reserved: 0x27 */ | ||
| 72 | MAX77686_REG_BUCK4DVS1 = 0x28, | ||
| 73 | MAX77686_REG_BUCK4DVS2 = 0x29, | ||
| 74 | MAX77686_REG_BUCK4DVS3 = 0x2A, | ||
| 75 | MAX77686_REG_BUCK4DVS4 = 0x2B, | ||
| 76 | MAX77686_REG_BUCK4DVS5 = 0x2C, | ||
| 77 | MAX77686_REG_BUCK4DVS6 = 0x2D, | ||
| 78 | MAX77686_REG_BUCK4DVS7 = 0x2E, | ||
| 79 | MAX77686_REG_BUCK4DVS8 = 0x2F, | ||
| 80 | MAX77686_REG_BUCK5CTRL = 0x30, | ||
| 81 | MAX77686_REG_BUCK5OUT = 0x31, | ||
| 82 | MAX77686_REG_BUCK6CTRL = 0x32, | ||
| 83 | MAX77686_REG_BUCK6OUT = 0x33, | ||
| 84 | MAX77686_REG_BUCK7CTRL = 0x34, | ||
| 85 | MAX77686_REG_BUCK7OUT = 0x35, | ||
| 86 | MAX77686_REG_BUCK8CTRL = 0x36, | ||
| 87 | MAX77686_REG_BUCK8OUT = 0x37, | ||
| 88 | MAX77686_REG_BUCK9CTRL = 0x38, | ||
| 89 | MAX77686_REG_BUCK9OUT = 0x39, | ||
| 90 | /* Reserved: 0x3A-0x3F */ | ||
| 91 | |||
| 92 | MAX77686_REG_LDO1CTRL1 = 0x40, | ||
| 93 | MAX77686_REG_LDO2CTRL1 = 0x41, | ||
| 94 | MAX77686_REG_LDO3CTRL1 = 0x42, | ||
| 95 | MAX77686_REG_LDO4CTRL1 = 0x43, | ||
| 96 | MAX77686_REG_LDO5CTRL1 = 0x44, | ||
| 97 | MAX77686_REG_LDO6CTRL1 = 0x45, | ||
| 98 | MAX77686_REG_LDO7CTRL1 = 0x46, | ||
| 99 | MAX77686_REG_LDO8CTRL1 = 0x47, | ||
| 100 | MAX77686_REG_LDO9CTRL1 = 0x48, | ||
| 101 | MAX77686_REG_LDO10CTRL1 = 0x49, | ||
| 102 | MAX77686_REG_LDO11CTRL1 = 0x4A, | ||
| 103 | MAX77686_REG_LDO12CTRL1 = 0x4B, | ||
| 104 | MAX77686_REG_LDO13CTRL1 = 0x4C, | ||
| 105 | MAX77686_REG_LDO14CTRL1 = 0x4D, | ||
| 106 | MAX77686_REG_LDO15CTRL1 = 0x4E, | ||
| 107 | MAX77686_REG_LDO16CTRL1 = 0x4F, | ||
| 108 | MAX77686_REG_LDO17CTRL1 = 0x50, | ||
| 109 | MAX77686_REG_LDO18CTRL1 = 0x51, | ||
| 110 | MAX77686_REG_LDO19CTRL1 = 0x52, | ||
| 111 | MAX77686_REG_LDO20CTRL1 = 0x53, | ||
| 112 | MAX77686_REG_LDO21CTRL1 = 0x54, | ||
| 113 | MAX77686_REG_LDO22CTRL1 = 0x55, | ||
| 114 | MAX77686_REG_LDO23CTRL1 = 0x56, | ||
| 115 | MAX77686_REG_LDO24CTRL1 = 0x57, | ||
| 116 | MAX77686_REG_LDO25CTRL1 = 0x58, | ||
| 117 | MAX77686_REG_LDO26CTRL1 = 0x59, | ||
| 118 | /* Reserved: 0x5A-0x5F */ | ||
| 119 | MAX77686_REG_LDO1CTRL2 = 0x60, | ||
| 120 | MAX77686_REG_LDO2CTRL2 = 0x61, | ||
| 121 | MAX77686_REG_LDO3CTRL2 = 0x62, | ||
| 122 | MAX77686_REG_LDO4CTRL2 = 0x63, | ||
| 123 | MAX77686_REG_LDO5CTRL2 = 0x64, | ||
| 124 | MAX77686_REG_LDO6CTRL2 = 0x65, | ||
| 125 | MAX77686_REG_LDO7CTRL2 = 0x66, | ||
| 126 | MAX77686_REG_LDO8CTRL2 = 0x67, | ||
| 127 | MAX77686_REG_LDO9CTRL2 = 0x68, | ||
| 128 | MAX77686_REG_LDO10CTRL2 = 0x69, | ||
| 129 | MAX77686_REG_LDO11CTRL2 = 0x6A, | ||
| 130 | MAX77686_REG_LDO12CTRL2 = 0x6B, | ||
| 131 | MAX77686_REG_LDO13CTRL2 = 0x6C, | ||
| 132 | MAX77686_REG_LDO14CTRL2 = 0x6D, | ||
| 133 | MAX77686_REG_LDO15CTRL2 = 0x6E, | ||
| 134 | MAX77686_REG_LDO16CTRL2 = 0x6F, | ||
| 135 | MAX77686_REG_LDO17CTRL2 = 0x70, | ||
| 136 | MAX77686_REG_LDO18CTRL2 = 0x71, | ||
| 137 | MAX77686_REG_LDO19CTRL2 = 0x72, | ||
| 138 | MAX77686_REG_LDO20CTRL2 = 0x73, | ||
| 139 | MAX77686_REG_LDO21CTRL2 = 0x74, | ||
| 140 | MAX77686_REG_LDO22CTRL2 = 0x75, | ||
| 141 | MAX77686_REG_LDO23CTRL2 = 0x76, | ||
| 142 | MAX77686_REG_LDO24CTRL2 = 0x77, | ||
| 143 | MAX77686_REG_LDO25CTRL2 = 0x78, | ||
| 144 | MAX77686_REG_LDO26CTRL2 = 0x79, | ||
| 145 | /* Reserved: 0x7A-0x7D */ | ||
| 146 | |||
| 147 | MAX77686_REG_BBAT_CHG = 0x7E, | ||
| 148 | MAX77686_REG_32KHZ = 0x7F, | ||
| 149 | |||
| 150 | MAX77686_REG_PMIC_END = 0x80, | ||
| 151 | }; | ||
| 152 | |||
| 153 | enum max77686_rtc_reg { | ||
| 154 | MAX77686_RTC_INT = 0x00, | ||
| 155 | MAX77686_RTC_INTM = 0x01, | ||
| 156 | MAX77686_RTC_CONTROLM = 0x02, | ||
| 157 | MAX77686_RTC_CONTROL = 0x03, | ||
| 158 | MAX77686_RTC_UPDATE0 = 0x04, | ||
| 159 | /* Reserved: 0x5 */ | ||
| 160 | MAX77686_WTSR_SMPL_CNTL = 0x06, | ||
| 161 | MAX77686_RTC_SEC = 0x07, | ||
| 162 | MAX77686_RTC_MIN = 0x08, | ||
| 163 | MAX77686_RTC_HOUR = 0x09, | ||
| 164 | MAX77686_RTC_WEEKDAY = 0x0A, | ||
| 165 | MAX77686_RTC_MONTH = 0x0B, | ||
| 166 | MAX77686_RTC_YEAR = 0x0C, | ||
| 167 | MAX77686_RTC_DATE = 0x0D, | ||
| 168 | MAX77686_ALARM1_SEC = 0x0E, | ||
| 169 | MAX77686_ALARM1_MIN = 0x0F, | ||
| 170 | MAX77686_ALARM1_HOUR = 0x10, | ||
| 171 | MAX77686_ALARM1_WEEKDAY = 0x11, | ||
| 172 | MAX77686_ALARM1_MONTH = 0x12, | ||
| 173 | MAX77686_ALARM1_YEAR = 0x13, | ||
| 174 | MAX77686_ALARM1_DATE = 0x14, | ||
| 175 | MAX77686_ALARM2_SEC = 0x15, | ||
| 176 | MAX77686_ALARM2_MIN = 0x16, | ||
| 177 | MAX77686_ALARM2_HOUR = 0x17, | ||
| 178 | MAX77686_ALARM2_WEEKDAY = 0x18, | ||
| 179 | MAX77686_ALARM2_MONTH = 0x19, | ||
| 180 | MAX77686_ALARM2_YEAR = 0x1A, | ||
| 181 | MAX77686_ALARM2_DATE = 0x1B, | ||
| 182 | }; | ||
| 183 | |||
| 184 | #define MAX77686_IRQSRC_PMIC (0) | ||
| 185 | #define MAX77686_IRQSRC_RTC (1 << 0) | ||
| 186 | |||
| 187 | enum max77686_irq_source { | ||
| 188 | PMIC_INT1 = 0, | ||
| 189 | PMIC_INT2, | ||
| 190 | RTC_INT, | ||
| 191 | |||
| 192 | MAX77686_IRQ_GROUP_NR, | ||
| 193 | }; | ||
| 194 | |||
| 195 | enum max77686_irq { | ||
| 196 | MAX77686_PMICIRQ_PWRONF, | ||
| 197 | MAX77686_PMICIRQ_PWRONR, | ||
| 198 | MAX77686_PMICIRQ_JIGONBF, | ||
| 199 | MAX77686_PMICIRQ_JIGONBR, | ||
| 200 | MAX77686_PMICIRQ_ACOKBF, | ||
| 201 | MAX77686_PMICIRQ_ACOKBR, | ||
| 202 | MAX77686_PMICIRQ_ONKEY1S, | ||
| 203 | MAX77686_PMICIRQ_MRSTB, | ||
| 204 | |||
| 205 | MAX77686_PMICIRQ_140C, | ||
| 206 | MAX77686_PMICIRQ_120C, | ||
| 207 | |||
| 208 | MAX77686_RTCIRQ_RTC60S, | ||
| 209 | MAX77686_RTCIRQ_RTCA1, | ||
| 210 | MAX77686_RTCIRQ_RTCA2, | ||
| 211 | MAX77686_RTCIRQ_SMPL, | ||
| 212 | MAX77686_RTCIRQ_RTC1S, | ||
| 213 | MAX77686_RTCIRQ_WTSR, | ||
| 214 | |||
| 215 | MAX77686_IRQ_NR, | ||
| 216 | }; | ||
| 217 | |||
| 218 | struct max77686_dev { | ||
| 219 | struct device *dev; | ||
| 220 | struct i2c_client *i2c; /* 0xcc / PMIC, Battery Control, and FLASH */ | ||
| 221 | struct i2c_client *rtc; /* slave addr 0x0c */ | ||
| 222 | |||
| 223 | int type; | ||
| 224 | |||
| 225 | struct regmap *regmap; /* regmap for mfd */ | ||
| 226 | struct regmap *rtc_regmap; /* regmap for rtc */ | ||
| 227 | |||
| 228 | struct irq_domain *irq_domain; | ||
| 229 | |||
| 230 | int irq; | ||
| 231 | int irq_gpio; | ||
| 232 | bool wakeup; | ||
| 233 | struct mutex irqlock; | ||
| 234 | int irq_masks_cur[MAX77686_IRQ_GROUP_NR]; | ||
| 235 | int irq_masks_cache[MAX77686_IRQ_GROUP_NR]; | ||
| 236 | }; | ||
| 237 | |||
| 238 | enum max77686_types { | ||
| 239 | TYPE_MAX77686, | ||
| 240 | }; | ||
| 241 | |||
| 242 | extern int max77686_irq_init(struct max77686_dev *max77686); | ||
| 243 | extern void max77686_irq_exit(struct max77686_dev *max77686); | ||
| 244 | extern int max77686_irq_resume(struct max77686_dev *max77686); | ||
| 245 | |||
| 246 | #endif /* __LINUX_MFD_MAX77686_PRIV_H */ | ||
diff --git a/include/linux/mfd/max77686.h b/include/linux/mfd/max77686.h deleted file mode 100644 index 46c0f320ed7..00000000000 --- a/include/linux/mfd/max77686.h +++ /dev/null | |||
| @@ -1,115 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * max77686.h - Driver for the Maxim 77686 | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Samsung Electrnoics | ||
| 5 | * Chiwoong Byun <woong.byun@samsung.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; either version 2 of the License, or | ||
| 10 | * (at your option) any later version. | ||
| 11 | * | ||
| 12 | * This program is distributed in the hope that it will be useful, | ||
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with this program; if not, write to the Free Software | ||
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 20 | * | ||
| 21 | * This driver is based on max8997.h | ||
| 22 | * | ||
| 23 | * MAX77686 has PMIC, RTC devices. | ||
| 24 | * The devices share the same I2C bus and included in | ||
| 25 | * this mfd driver. | ||
| 26 | */ | ||
| 27 | |||
| 28 | #ifndef __LINUX_MFD_MAX77686_H | ||
| 29 | #define __LINUX_MFD_MAX77686_H | ||
| 30 | |||
| 31 | #include <linux/regulator/consumer.h> | ||
| 32 | |||
| 33 | /* MAX77686 regulator IDs */ | ||
| 34 | enum max77686_regulators { | ||
| 35 | MAX77686_LDO1 = 0, | ||
| 36 | MAX77686_LDO2, | ||
| 37 | MAX77686_LDO3, | ||
| 38 | MAX77686_LDO4, | ||
| 39 | MAX77686_LDO5, | ||
| 40 | MAX77686_LDO6, | ||
| 41 | MAX77686_LDO7, | ||
| 42 | MAX77686_LDO8, | ||
| 43 | MAX77686_LDO9, | ||
| 44 | MAX77686_LDO10, | ||
| 45 | MAX77686_LDO11, | ||
| 46 | MAX77686_LDO12, | ||
| 47 | MAX77686_LDO13, | ||
| 48 | MAX77686_LDO14, | ||
| 49 | MAX77686_LDO15, | ||
| 50 | MAX77686_LDO16, | ||
| 51 | MAX77686_LDO17, | ||
| 52 | MAX77686_LDO18, | ||
| 53 | MAX77686_LDO19, | ||
| 54 | MAX77686_LDO20, | ||
| 55 | MAX77686_LDO21, | ||
| 56 | MAX77686_LDO22, | ||
| 57 | MAX77686_LDO23, | ||
| 58 | MAX77686_LDO24, | ||
| 59 | MAX77686_LDO25, | ||
| 60 | MAX77686_LDO26, | ||
| 61 | MAX77686_BUCK1, | ||
| 62 | MAX77686_BUCK2, | ||
| 63 | MAX77686_BUCK3, | ||
| 64 | MAX77686_BUCK4, | ||
| 65 | MAX77686_BUCK5, | ||
| 66 | MAX77686_BUCK6, | ||
| 67 | MAX77686_BUCK7, | ||
| 68 | MAX77686_BUCK8, | ||
| 69 | MAX77686_BUCK9, | ||
| 70 | |||
| 71 | MAX77686_REG_MAX, | ||
| 72 | }; | ||
| 73 | |||
| 74 | struct max77686_regulator_data { | ||
| 75 | int id; | ||
| 76 | struct regulator_init_data *initdata; | ||
| 77 | struct device_node *of_node; | ||
| 78 | }; | ||
| 79 | |||
| 80 | enum max77686_opmode { | ||
| 81 | MAX77686_OPMODE_NORMAL, | ||
| 82 | MAX77686_OPMODE_LP, | ||
| 83 | MAX77686_OPMODE_STANDBY, | ||
| 84 | }; | ||
| 85 | |||
| 86 | struct max77686_opmode_data { | ||
| 87 | int id; | ||
| 88 | int mode; | ||
| 89 | }; | ||
| 90 | |||
| 91 | struct max77686_platform_data { | ||
| 92 | /* IRQ */ | ||
| 93 | int irq_gpio; | ||
| 94 | int ono; | ||
| 95 | int wakeup; | ||
| 96 | |||
| 97 | /* ---- PMIC ---- */ | ||
| 98 | struct max77686_regulator_data *regulators; | ||
| 99 | int num_regulators; | ||
| 100 | |||
| 101 | struct max77686_opmode_data *opmode_data; | ||
| 102 | |||
| 103 | /* | ||
| 104 | * GPIO-DVS feature is not enabled with the current version of | ||
| 105 | * MAX77686 driver. Buck2/3/4_voltages[0] is used as the default | ||
| 106 | * voltage at probe. DVS/SELB gpios are set as OUTPUT-LOW. | ||
| 107 | */ | ||
| 108 | int buck234_gpio_dvs[3]; /* GPIO of [0]DVS1, [1]DVS2, [2]DVS3 */ | ||
| 109 | int buck234_gpio_selb[3]; /* [0]SELB2, [1]SELB3, [2]SELB4 */ | ||
| 110 | unsigned int buck2_voltage[8]; /* buckx_voltage in uV */ | ||
| 111 | unsigned int buck3_voltage[8]; | ||
| 112 | unsigned int buck4_voltage[8]; | ||
| 113 | }; | ||
| 114 | |||
| 115 | #endif /* __LINUX_MFD_MAX77686_H */ | ||
diff --git a/include/linux/mfd/max77693-private.h b/include/linux/mfd/max77693-private.h deleted file mode 100644 index 1eeae5c0791..00000000000 --- a/include/linux/mfd/max77693-private.h +++ /dev/null | |||
| @@ -1,226 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * max77693-private.h - Voltage regulator driver for the Maxim 77693 | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Samsung Electrnoics | ||
| 5 | * SangYoung Son <hello.son@samsung.com> | ||
| 6 | * | ||
| 7 | * This program is not provided / owned by Maxim Integrated Products. | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License as published by | ||
| 11 | * the Free Software Foundation; either version 2 of the License, or | ||
| 12 | * (at your option) any later version. | ||
| 13 | * | ||
| 14 | * This program is distributed in the hope that it will be useful, | ||
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | * GNU General Public License for more details. | ||
| 18 | * | ||
| 19 | * You should have received a copy of the GNU General Public License | ||
| 20 | * along with this program; if not, write to the Free Software | ||
| 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __LINUX_MFD_MAX77693_PRIV_H | ||
| 25 | #define __LINUX_MFD_MAX77693_PRIV_H | ||
| 26 | |||
| 27 | #include <linux/i2c.h> | ||
| 28 | |||
| 29 | #define MAX77693_NUM_IRQ_MUIC_REGS 3 | ||
| 30 | #define MAX77693_REG_INVALID (0xff) | ||
| 31 | |||
| 32 | /* Slave addr = 0xCC: PMIC, Charger, Flash LED */ | ||
| 33 | enum max77693_pmic_reg { | ||
| 34 | MAX77693_LED_REG_IFLASH1 = 0x00, | ||
| 35 | MAX77693_LED_REG_IFLASH2 = 0x01, | ||
| 36 | MAX77693_LED_REG_ITORCH = 0x02, | ||
| 37 | MAX77693_LED_REG_ITORCHTIMER = 0x03, | ||
| 38 | MAX77693_LED_REG_FLASH_TIMER = 0x04, | ||
| 39 | MAX77693_LED_REG_FLASH_EN = 0x05, | ||
| 40 | MAX77693_LED_REG_MAX_FLASH1 = 0x06, | ||
| 41 | MAX77693_LED_REG_MAX_FLASH2 = 0x07, | ||
| 42 | MAX77693_LED_REG_MAX_FLASH3 = 0x08, | ||
| 43 | MAX77693_LED_REG_MAX_FLASH4 = 0x09, | ||
| 44 | MAX77693_LED_REG_VOUT_CNTL = 0x0A, | ||
| 45 | MAX77693_LED_REG_VOUT_FLASH1 = 0x0B, | ||
| 46 | MAX77693_LED_REG_VOUT_FLASH2 = 0x0C, | ||
| 47 | MAX77693_LED_REG_FLASH_INT = 0x0E, | ||
| 48 | MAX77693_LED_REG_FLASH_INT_MASK = 0x0F, | ||
| 49 | MAX77693_LED_REG_FLASH_INT_STATUS = 0x10, | ||
| 50 | |||
| 51 | MAX77693_PMIC_REG_PMIC_ID1 = 0x20, | ||
| 52 | MAX77693_PMIC_REG_PMIC_ID2 = 0x21, | ||
| 53 | MAX77693_PMIC_REG_INTSRC = 0x22, | ||
| 54 | MAX77693_PMIC_REG_INTSRC_MASK = 0x23, | ||
| 55 | MAX77693_PMIC_REG_TOPSYS_INT = 0x24, | ||
| 56 | MAX77693_PMIC_REG_TOPSYS_INT_MASK = 0x26, | ||
| 57 | MAX77693_PMIC_REG_TOPSYS_STAT = 0x28, | ||
| 58 | MAX77693_PMIC_REG_MAINCTRL1 = 0x2A, | ||
| 59 | MAX77693_PMIC_REG_LSCNFG = 0x2B, | ||
| 60 | |||
| 61 | MAX77693_CHG_REG_CHG_INT = 0xB0, | ||
| 62 | MAX77693_CHG_REG_CHG_INT_MASK = 0xB1, | ||
| 63 | MAX77693_CHG_REG_CHG_INT_OK = 0xB2, | ||
| 64 | MAX77693_CHG_REG_CHG_DETAILS_00 = 0xB3, | ||
| 65 | MAX77693_CHG_REG_CHG_DETAILS_01 = 0xB4, | ||
| 66 | MAX77693_CHG_REG_CHG_DETAILS_02 = 0xB5, | ||
| 67 | MAX77693_CHG_REG_CHG_DETAILS_03 = 0xB6, | ||
| 68 | MAX77693_CHG_REG_CHG_CNFG_00 = 0xB7, | ||
| 69 | MAX77693_CHG_REG_CHG_CNFG_01 = 0xB8, | ||
| 70 | MAX77693_CHG_REG_CHG_CNFG_02 = 0xB9, | ||
| 71 | MAX77693_CHG_REG_CHG_CNFG_03 = 0xBA, | ||
| 72 | MAX77693_CHG_REG_CHG_CNFG_04 = 0xBB, | ||
| 73 | MAX77693_CHG_REG_CHG_CNFG_05 = 0xBC, | ||
| 74 | MAX77693_CHG_REG_CHG_CNFG_06 = 0xBD, | ||
| 75 | MAX77693_CHG_REG_CHG_CNFG_07 = 0xBE, | ||
| 76 | MAX77693_CHG_REG_CHG_CNFG_08 = 0xBF, | ||
| 77 | MAX77693_CHG_REG_CHG_CNFG_09 = 0xC0, | ||
| 78 | MAX77693_CHG_REG_CHG_CNFG_10 = 0xC1, | ||
| 79 | MAX77693_CHG_REG_CHG_CNFG_11 = 0xC2, | ||
| 80 | MAX77693_CHG_REG_CHG_CNFG_12 = 0xC3, | ||
| 81 | MAX77693_CHG_REG_CHG_CNFG_13 = 0xC4, | ||
| 82 | MAX77693_CHG_REG_CHG_CNFG_14 = 0xC5, | ||
| 83 | MAX77693_CHG_REG_SAFEOUT_CTRL = 0xC6, | ||
| 84 | |||
| 85 | MAX77693_PMIC_REG_END, | ||
| 86 | }; | ||
| 87 | |||
| 88 | /* Slave addr = 0x4A: MUIC */ | ||
| 89 | enum max77693_muic_reg { | ||
| 90 | MAX77693_MUIC_REG_ID = 0x00, | ||
| 91 | MAX77693_MUIC_REG_INT1 = 0x01, | ||
| 92 | MAX77693_MUIC_REG_INT2 = 0x02, | ||
| 93 | MAX77693_MUIC_REG_INT3 = 0x03, | ||
| 94 | MAX77693_MUIC_REG_STATUS1 = 0x04, | ||
| 95 | MAX77693_MUIC_REG_STATUS2 = 0x05, | ||
| 96 | MAX77693_MUIC_REG_STATUS3 = 0x06, | ||
| 97 | MAX77693_MUIC_REG_INTMASK1 = 0x07, | ||
| 98 | MAX77693_MUIC_REG_INTMASK2 = 0x08, | ||
| 99 | MAX77693_MUIC_REG_INTMASK3 = 0x09, | ||
| 100 | MAX77693_MUIC_REG_CDETCTRL1 = 0x0A, | ||
| 101 | MAX77693_MUIC_REG_CDETCTRL2 = 0x0B, | ||
| 102 | MAX77693_MUIC_REG_CTRL1 = 0x0C, | ||
| 103 | MAX77693_MUIC_REG_CTRL2 = 0x0D, | ||
| 104 | MAX77693_MUIC_REG_CTRL3 = 0x0E, | ||
| 105 | |||
| 106 | MAX77693_MUIC_REG_END, | ||
| 107 | }; | ||
| 108 | |||
| 109 | /* Slave addr = 0x90: Haptic */ | ||
| 110 | enum max77693_haptic_reg { | ||
| 111 | MAX77693_HAPTIC_REG_STATUS = 0x00, | ||
| 112 | MAX77693_HAPTIC_REG_CONFIG1 = 0x01, | ||
| 113 | MAX77693_HAPTIC_REG_CONFIG2 = 0x02, | ||
| 114 | MAX77693_HAPTIC_REG_CONFIG_CHNL = 0x03, | ||
| 115 | MAX77693_HAPTIC_REG_CONFG_CYC1 = 0x04, | ||
| 116 | MAX77693_HAPTIC_REG_CONFG_CYC2 = 0x05, | ||
| 117 | MAX77693_HAPTIC_REG_CONFIG_PER1 = 0x06, | ||
| 118 | MAX77693_HAPTIC_REG_CONFIG_PER2 = 0x07, | ||
| 119 | MAX77693_HAPTIC_REG_CONFIG_PER3 = 0x08, | ||
| 120 | MAX77693_HAPTIC_REG_CONFIG_PER4 = 0x09, | ||
| 121 | MAX77693_HAPTIC_REG_CONFIG_DUTY1 = 0x0A, | ||
| 122 | MAX77693_HAPTIC_REG_CONFIG_DUTY2 = 0x0B, | ||
| 123 | MAX77693_HAPTIC_REG_CONFIG_PWM1 = 0x0C, | ||
| 124 | MAX77693_HAPTIC_REG_CONFIG_PWM2 = 0x0D, | ||
| 125 | MAX77693_HAPTIC_REG_CONFIG_PWM3 = 0x0E, | ||
| 126 | MAX77693_HAPTIC_REG_CONFIG_PWM4 = 0x0F, | ||
| 127 | MAX77693_HAPTIC_REG_REV = 0x10, | ||
| 128 | |||
| 129 | MAX77693_HAPTIC_REG_END, | ||
| 130 | }; | ||
| 131 | |||
| 132 | enum max77693_irq_source { | ||
| 133 | LED_INT = 0, | ||
| 134 | TOPSYS_INT, | ||
| 135 | CHG_INT, | ||
| 136 | MUIC_INT1, | ||
| 137 | MUIC_INT2, | ||
| 138 | MUIC_INT3, | ||
| 139 | |||
| 140 | MAX77693_IRQ_GROUP_NR, | ||
| 141 | }; | ||
| 142 | |||
| 143 | enum max77693_irq { | ||
| 144 | /* PMIC - FLASH */ | ||
| 145 | MAX77693_LED_IRQ_FLED2_OPEN, | ||
| 146 | MAX77693_LED_IRQ_FLED2_SHORT, | ||
| 147 | MAX77693_LED_IRQ_FLED1_OPEN, | ||
| 148 | MAX77693_LED_IRQ_FLED1_SHORT, | ||
| 149 | MAX77693_LED_IRQ_MAX_FLASH, | ||
| 150 | |||
| 151 | /* PMIC - TOPSYS */ | ||
| 152 | MAX77693_TOPSYS_IRQ_T120C_INT, | ||
| 153 | MAX77693_TOPSYS_IRQ_T140C_INT, | ||
| 154 | MAX77693_TOPSYS_IRQ_LOWSYS_INT, | ||
| 155 | |||
| 156 | /* PMIC - Charger */ | ||
| 157 | MAX77693_CHG_IRQ_BYP_I, | ||
| 158 | MAX77693_CHG_IRQ_THM_I, | ||
| 159 | MAX77693_CHG_IRQ_BAT_I, | ||
| 160 | MAX77693_CHG_IRQ_CHG_I, | ||
| 161 | MAX77693_CHG_IRQ_CHGIN_I, | ||
| 162 | |||
| 163 | /* MUIC INT1 */ | ||
| 164 | MAX77693_MUIC_IRQ_INT1_ADC, | ||
| 165 | MAX77693_MUIC_IRQ_INT1_ADC_LOW, | ||
| 166 | MAX77693_MUIC_IRQ_INT1_ADC_ERR, | ||
| 167 | MAX77693_MUIC_IRQ_INT1_ADC1K, | ||
| 168 | |||
| 169 | /* MUIC INT2 */ | ||
| 170 | MAX77693_MUIC_IRQ_INT2_CHGTYP, | ||
| 171 | MAX77693_MUIC_IRQ_INT2_CHGDETREUN, | ||
| 172 | MAX77693_MUIC_IRQ_INT2_DCDTMR, | ||
| 173 | MAX77693_MUIC_IRQ_INT2_DXOVP, | ||
| 174 | MAX77693_MUIC_IRQ_INT2_VBVOLT, | ||
| 175 | MAX77693_MUIC_IRQ_INT2_VIDRM, | ||
| 176 | |||
| 177 | /* MUIC INT3 */ | ||
| 178 | MAX77693_MUIC_IRQ_INT3_EOC, | ||
| 179 | MAX77693_MUIC_IRQ_INT3_CGMBC, | ||
| 180 | MAX77693_MUIC_IRQ_INT3_OVP, | ||
| 181 | MAX77693_MUIC_IRQ_INT3_MBCCHG_ERR, | ||
| 182 | MAX77693_MUIC_IRQ_INT3_CHG_ENABLED, | ||
| 183 | MAX77693_MUIC_IRQ_INT3_BAT_DET, | ||
| 184 | |||
| 185 | MAX77693_IRQ_NR, | ||
| 186 | }; | ||
| 187 | |||
| 188 | struct max77693_dev { | ||
| 189 | struct device *dev; | ||
| 190 | struct i2c_client *i2c; /* 0xCC , PMIC, Charger, Flash LED */ | ||
| 191 | struct i2c_client *muic; /* 0x4A , MUIC */ | ||
| 192 | struct i2c_client *haptic; /* 0x90 , Haptic */ | ||
| 193 | |||
| 194 | int type; | ||
| 195 | |||
| 196 | struct regmap *regmap; | ||
| 197 | struct regmap *regmap_muic; | ||
| 198 | struct regmap *regmap_haptic; | ||
| 199 | |||
| 200 | struct irq_domain *irq_domain; | ||
| 201 | |||
| 202 | int irq; | ||
| 203 | int irq_gpio; | ||
| 204 | bool wakeup; | ||
| 205 | struct mutex irqlock; | ||
| 206 | int irq_masks_cur[MAX77693_IRQ_GROUP_NR]; | ||
| 207 | int irq_masks_cache[MAX77693_IRQ_GROUP_NR]; | ||
| 208 | }; | ||
| 209 | |||
| 210 | enum max77693_types { | ||
| 211 | TYPE_MAX77693, | ||
| 212 | }; | ||
| 213 | |||
| 214 | extern int max77693_read_reg(struct regmap *map, u8 reg, u8 *dest); | ||
| 215 | extern int max77693_bulk_read(struct regmap *map, u8 reg, int count, | ||
| 216 | u8 *buf); | ||
| 217 | extern int max77693_write_reg(struct regmap *map, u8 reg, u8 value); | ||
| 218 | extern int max77693_bulk_write(struct regmap *map, u8 reg, int count, | ||
| 219 | u8 *buf); | ||
| 220 | extern int max77693_update_reg(struct regmap *map, u8 reg, u8 val, u8 mask); | ||
| 221 | |||
| 222 | extern int max77693_irq_init(struct max77693_dev *max77686); | ||
| 223 | extern void max77693_irq_exit(struct max77693_dev *max77686); | ||
| 224 | extern int max77693_irq_resume(struct max77693_dev *max77686); | ||
| 225 | |||
| 226 | #endif /* __LINUX_MFD_MAX77693_PRIV_H */ | ||
diff --git a/include/linux/mfd/max77693.h b/include/linux/mfd/max77693.h deleted file mode 100644 index fe03b2d35d4..00000000000 --- a/include/linux/mfd/max77693.h +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * max77693.h - Driver for the Maxim 77693 | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Samsung Electrnoics | ||
| 5 | * SangYoung Son <hello.son@samsung.com> | ||
| 6 | * | ||
| 7 | * This program is not provided / owned by Maxim Integrated Products. | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License as published by | ||
| 11 | * the Free Software Foundation; either version 2 of the License, or | ||
| 12 | * (at your option) any later version. | ||
| 13 | * | ||
| 14 | * This program is distributed in the hope that it will be useful, | ||
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | * GNU General Public License for more details. | ||
| 18 | * | ||
| 19 | * You should have received a copy of the GNU General Public License | ||
| 20 | * along with this program; if not, write to the Free Software | ||
| 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 22 | * | ||
| 23 | * This driver is based on max8997.h | ||
| 24 | * | ||
| 25 | * MAX77693 has PMIC, Charger, Flash LED, Haptic, MUIC devices. | ||
| 26 | * The devices share the same I2C bus and included in | ||
| 27 | * this mfd driver. | ||
| 28 | */ | ||
| 29 | |||
| 30 | #ifndef __LINUX_MFD_MAX77693_H | ||
| 31 | #define __LINUX_MFD_MAX77693_H | ||
| 32 | |||
| 33 | struct max77693_reg_data { | ||
| 34 | u8 addr; | ||
| 35 | u8 data; | ||
| 36 | }; | ||
| 37 | |||
| 38 | struct max77693_muic_platform_data { | ||
| 39 | struct max77693_reg_data *init_data; | ||
| 40 | int num_init_data; | ||
| 41 | }; | ||
| 42 | |||
| 43 | struct max77693_platform_data { | ||
| 44 | int wakeup; | ||
| 45 | |||
| 46 | /* muic data */ | ||
| 47 | struct max77693_muic_platform_data *muic_data; | ||
| 48 | }; | ||
| 49 | #endif /* __LINUX_MFD_MAX77693_H */ | ||
diff --git a/include/linux/mfd/max8907.h b/include/linux/mfd/max8907.h deleted file mode 100644 index b06f7a6a1e8..00000000000 --- a/include/linux/mfd/max8907.h +++ /dev/null | |||
| @@ -1,252 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Functions to access MAX8907 power management chip. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Gyungoh Yoo <jack.yoo@maxim-ic.com> | ||
| 5 | * Copyright (C) 2012, NVIDIA CORPORATION. All rights reserved. | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | */ | ||
| 11 | |||
| 12 | #ifndef __LINUX_MFD_MAX8907_H | ||
| 13 | #define __LINUX_MFD_MAX8907_H | ||
| 14 | |||
| 15 | #include <linux/mutex.h> | ||
| 16 | #include <linux/pm.h> | ||
| 17 | |||
| 18 | #define MAX8907_GEN_I2C_ADDR (0x78 >> 1) | ||
| 19 | #define MAX8907_ADC_I2C_ADDR (0x8e >> 1) | ||
| 20 | #define MAX8907_RTC_I2C_ADDR (0xd0 >> 1) | ||
| 21 | |||
| 22 | /* MAX8907 register map */ | ||
| 23 | #define MAX8907_REG_SYSENSEL 0x00 | ||
| 24 | #define MAX8907_REG_ON_OFF_IRQ1 0x01 | ||
| 25 | #define MAX8907_REG_ON_OFF_IRQ1_MASK 0x02 | ||
| 26 | #define MAX8907_REG_ON_OFF_STAT 0x03 | ||
| 27 | #define MAX8907_REG_SDCTL1 0x04 | ||
| 28 | #define MAX8907_REG_SDSEQCNT1 0x05 | ||
| 29 | #define MAX8907_REG_SDV1 0x06 | ||
| 30 | #define MAX8907_REG_SDCTL2 0x07 | ||
| 31 | #define MAX8907_REG_SDSEQCNT2 0x08 | ||
| 32 | #define MAX8907_REG_SDV2 0x09 | ||
| 33 | #define MAX8907_REG_SDCTL3 0x0A | ||
| 34 | #define MAX8907_REG_SDSEQCNT3 0x0B | ||
| 35 | #define MAX8907_REG_SDV3 0x0C | ||
| 36 | #define MAX8907_REG_ON_OFF_IRQ2 0x0D | ||
| 37 | #define MAX8907_REG_ON_OFF_IRQ2_MASK 0x0E | ||
| 38 | #define MAX8907_REG_RESET_CNFG 0x0F | ||
| 39 | #define MAX8907_REG_LDOCTL16 0x10 | ||
| 40 | #define MAX8907_REG_LDOSEQCNT16 0x11 | ||
| 41 | #define MAX8907_REG_LDO16VOUT 0x12 | ||
| 42 | #define MAX8907_REG_SDBYSEQCNT 0x13 | ||
| 43 | #define MAX8907_REG_LDOCTL17 0x14 | ||
| 44 | #define MAX8907_REG_LDOSEQCNT17 0x15 | ||
| 45 | #define MAX8907_REG_LDO17VOUT 0x16 | ||
| 46 | #define MAX8907_REG_LDOCTL1 0x18 | ||
| 47 | #define MAX8907_REG_LDOSEQCNT1 0x19 | ||
| 48 | #define MAX8907_REG_LDO1VOUT 0x1A | ||
| 49 | #define MAX8907_REG_LDOCTL2 0x1C | ||
| 50 | #define MAX8907_REG_LDOSEQCNT2 0x1D | ||
| 51 | #define MAX8907_REG_LDO2VOUT 0x1E | ||
| 52 | #define MAX8907_REG_LDOCTL3 0x20 | ||
| 53 | #define MAX8907_REG_LDOSEQCNT3 0x21 | ||
| 54 | #define MAX8907_REG_LDO3VOUT 0x22 | ||
| 55 | #define MAX8907_REG_LDOCTL4 0x24 | ||
| 56 | #define MAX8907_REG_LDOSEQCNT4 0x25 | ||
| 57 | #define MAX8907_REG_LDO4VOUT 0x26 | ||
| 58 | #define MAX8907_REG_LDOCTL5 0x28 | ||
| 59 | #define MAX8907_REG_LDOSEQCNT5 0x29 | ||
| 60 | #define MAX8907_REG_LDO5VOUT 0x2A | ||
| 61 | #define MAX8907_REG_LDOCTL6 0x2C | ||
| 62 | #define MAX8907_REG_LDOSEQCNT6 0x2D | ||
| 63 | #define MAX8907_REG_LDO6VOUT 0x2E | ||
| 64 | #define MAX8907_REG_LDOCTL7 0x30 | ||
| 65 | #define MAX8907_REG_LDOSEQCNT7 0x31 | ||
| 66 | #define MAX8907_REG_LDO7VOUT 0x32 | ||
| 67 | #define MAX8907_REG_LDOCTL8 0x34 | ||
| 68 | #define MAX8907_REG_LDOSEQCNT8 0x35 | ||
| 69 | #define MAX8907_REG_LDO8VOUT 0x36 | ||
| 70 | #define MAX8907_REG_LDOCTL9 0x38 | ||
| 71 | #define MAX8907_REG_LDOSEQCNT9 0x39 | ||
| 72 | #define MAX8907_REG_LDO9VOUT 0x3A | ||
| 73 | #define MAX8907_REG_LDOCTL10 0x3C | ||
| 74 | #define MAX8907_REG_LDOSEQCNT10 0x3D | ||
| 75 | #define MAX8907_REG_LDO10VOUT 0x3E | ||
| 76 | #define MAX8907_REG_LDOCTL11 0x40 | ||
| 77 | #define MAX8907_REG_LDOSEQCNT11 0x41 | ||
| 78 | #define MAX8907_REG_LDO11VOUT 0x42 | ||
| 79 | #define MAX8907_REG_LDOCTL12 0x44 | ||
| 80 | #define MAX8907_REG_LDOSEQCNT12 0x45 | ||
| 81 | #define MAX8907_REG_LDO12VOUT 0x46 | ||
| 82 | #define MAX8907_REG_LDOCTL13 0x48 | ||
| 83 | #define MAX8907_REG_LDOSEQCNT13 0x49 | ||
| 84 | #define MAX8907_REG_LDO13VOUT 0x4A | ||
| 85 | #define MAX8907_REG_LDOCTL14 0x4C | ||
| 86 | #define MAX8907_REG_LDOSEQCNT14 0x4D | ||
| 87 | #define MAX8907_REG_LDO14VOUT 0x4E | ||
| 88 | #define MAX8907_REG_LDOCTL15 0x50 | ||
| 89 | #define MAX8907_REG_LDOSEQCNT15 0x51 | ||
| 90 | #define MAX8907_REG_LDO15VOUT 0x52 | ||
| 91 | #define MAX8907_REG_OUT5VEN 0x54 | ||
| 92 | #define MAX8907_REG_OUT5VSEQ 0x55 | ||
| 93 | #define MAX8907_REG_OUT33VEN 0x58 | ||
| 94 | #define MAX8907_REG_OUT33VSEQ 0x59 | ||
| 95 | #define MAX8907_REG_LDOCTL19 0x5C | ||
| 96 | #define MAX8907_REG_LDOSEQCNT19 0x5D | ||
| 97 | #define MAX8907_REG_LDO19VOUT 0x5E | ||
| 98 | #define MAX8907_REG_LBCNFG 0x60 | ||
| 99 | #define MAX8907_REG_SEQ1CNFG 0x64 | ||
| 100 | #define MAX8907_REG_SEQ2CNFG 0x65 | ||
| 101 | #define MAX8907_REG_SEQ3CNFG 0x66 | ||
| 102 | #define MAX8907_REG_SEQ4CNFG 0x67 | ||
| 103 | #define MAX8907_REG_SEQ5CNFG 0x68 | ||
| 104 | #define MAX8907_REG_SEQ6CNFG 0x69 | ||
| 105 | #define MAX8907_REG_SEQ7CNFG 0x6A | ||
| 106 | #define MAX8907_REG_LDOCTL18 0x72 | ||
| 107 | #define MAX8907_REG_LDOSEQCNT18 0x73 | ||
| 108 | #define MAX8907_REG_LDO18VOUT 0x74 | ||
| 109 | #define MAX8907_REG_BBAT_CNFG 0x78 | ||
| 110 | #define MAX8907_REG_CHG_CNTL1 0x7C | ||
| 111 | #define MAX8907_REG_CHG_CNTL2 0x7D | ||
| 112 | #define MAX8907_REG_CHG_IRQ1 0x7E | ||
| 113 | #define MAX8907_REG_CHG_IRQ2 0x7F | ||
| 114 | #define MAX8907_REG_CHG_IRQ1_MASK 0x80 | ||
| 115 | #define MAX8907_REG_CHG_IRQ2_MASK 0x81 | ||
| 116 | #define MAX8907_REG_CHG_STAT 0x82 | ||
| 117 | #define MAX8907_REG_WLED_MODE_CNTL 0x84 | ||
| 118 | #define MAX8907_REG_ILED_CNTL 0x84 | ||
| 119 | #define MAX8907_REG_II1RR 0x8E | ||
| 120 | #define MAX8907_REG_II2RR 0x8F | ||
| 121 | #define MAX8907_REG_LDOCTL20 0x9C | ||
| 122 | #define MAX8907_REG_LDOSEQCNT20 0x9D | ||
| 123 | #define MAX8907_REG_LDO20VOUT 0x9E | ||
| 124 | |||
| 125 | /* RTC register map */ | ||
| 126 | #define MAX8907_REG_RTC_SEC 0x00 | ||
| 127 | #define MAX8907_REG_RTC_MIN 0x01 | ||
| 128 | #define MAX8907_REG_RTC_HOURS 0x02 | ||
| 129 | #define MAX8907_REG_RTC_WEEKDAY 0x03 | ||
| 130 | #define MAX8907_REG_RTC_DATE 0x04 | ||
| 131 | #define MAX8907_REG_RTC_MONTH 0x05 | ||
| 132 | #define MAX8907_REG_RTC_YEAR1 0x06 | ||
| 133 | #define MAX8907_REG_RTC_YEAR2 0x07 | ||
| 134 | #define MAX8907_REG_ALARM0_SEC 0x08 | ||
| 135 | #define MAX8907_REG_ALARM0_MIN 0x09 | ||
| 136 | #define MAX8907_REG_ALARM0_HOURS 0x0A | ||
| 137 | #define MAX8907_REG_ALARM0_WEEKDAY 0x0B | ||
| 138 | #define MAX8907_REG_ALARM0_DATE 0x0C | ||
| 139 | #define MAX8907_REG_ALARM0_MONTH 0x0D | ||
| 140 | #define MAX8907_REG_ALARM0_YEAR1 0x0E | ||
| 141 | #define MAX8907_REG_ALARM0_YEAR2 0x0F | ||
| 142 | #define MAX8907_REG_ALARM1_SEC 0x10 | ||
| 143 | #define MAX8907_REG_ALARM1_MIN 0x11 | ||
| 144 | #define MAX8907_REG_ALARM1_HOURS 0x12 | ||
| 145 | #define MAX8907_REG_ALARM1_WEEKDAY 0x13 | ||
| 146 | #define MAX8907_REG_ALARM1_DATE 0x14 | ||
| 147 | #define MAX8907_REG_ALARM1_MONTH 0x15 | ||
| 148 | #define MAX8907_REG_ALARM1_YEAR1 0x16 | ||
| 149 | #define MAX8907_REG_ALARM1_YEAR2 0x17 | ||
| 150 | #define MAX8907_REG_ALARM0_CNTL 0x18 | ||
| 151 | #define MAX8907_REG_ALARM1_CNTL 0x19 | ||
| 152 | #define MAX8907_REG_RTC_STATUS 0x1A | ||
| 153 | #define MAX8907_REG_RTC_CNTL 0x1B | ||
| 154 | #define MAX8907_REG_RTC_IRQ 0x1C | ||
| 155 | #define MAX8907_REG_RTC_IRQ_MASK 0x1D | ||
| 156 | #define MAX8907_REG_MPL_CNTL 0x1E | ||
| 157 | |||
| 158 | /* ADC and Touch Screen Controller register map */ | ||
| 159 | #define MAX8907_CTL 0 | ||
| 160 | #define MAX8907_SEQCNT 1 | ||
| 161 | #define MAX8907_VOUT 2 | ||
| 162 | |||
| 163 | /* mask bit fields */ | ||
| 164 | #define MAX8907_MASK_LDO_SEQ 0x1C | ||
| 165 | #define MAX8907_MASK_LDO_EN 0x01 | ||
| 166 | #define MAX8907_MASK_VBBATTCV 0x03 | ||
| 167 | #define MAX8907_MASK_OUT5V_VINEN 0x10 | ||
| 168 | #define MAX8907_MASK_OUT5V_ENSRC 0x0E | ||
| 169 | #define MAX8907_MASK_OUT5V_EN 0x01 | ||
| 170 | #define MAX8907_MASK_POWER_OFF 0x40 | ||
| 171 | |||
| 172 | /* Regulator IDs */ | ||
| 173 | #define MAX8907_MBATT 0 | ||
| 174 | #define MAX8907_SD1 1 | ||
| 175 | #define MAX8907_SD2 2 | ||
| 176 | #define MAX8907_SD3 3 | ||
| 177 | #define MAX8907_LDO1 4 | ||
| 178 | #define MAX8907_LDO2 5 | ||
| 179 | #define MAX8907_LDO3 6 | ||
| 180 | #define MAX8907_LDO4 7 | ||
| 181 | #define MAX8907_LDO5 8 | ||
| 182 | #define MAX8907_LDO6 9 | ||
| 183 | #define MAX8907_LDO7 10 | ||
| 184 | #define MAX8907_LDO8 11 | ||
| 185 | #define MAX8907_LDO9 12 | ||
| 186 | #define MAX8907_LDO10 13 | ||
| 187 | #define MAX8907_LDO11 14 | ||
| 188 | #define MAX8907_LDO12 15 | ||
| 189 | #define MAX8907_LDO13 16 | ||
| 190 | #define MAX8907_LDO14 17 | ||
| 191 | #define MAX8907_LDO15 18 | ||
| 192 | #define MAX8907_LDO16 19 | ||
| 193 | #define MAX8907_LDO17 20 | ||
| 194 | #define MAX8907_LDO18 21 | ||
| 195 | #define MAX8907_LDO19 22 | ||
| 196 | #define MAX8907_LDO20 23 | ||
| 197 | #define MAX8907_OUT5V 24 | ||
| 198 | #define MAX8907_OUT33V 25 | ||
| 199 | #define MAX8907_BBAT 26 | ||
| 200 | #define MAX8907_SDBY 27 | ||
| 201 | #define MAX8907_VRTC 28 | ||
| 202 | #define MAX8907_NUM_REGULATORS (MAX8907_VRTC + 1) | ||
| 203 | |||
| 204 | /* IRQ definitions */ | ||
| 205 | enum { | ||
| 206 | MAX8907_IRQ_VCHG_DC_OVP = 0, | ||
| 207 | MAX8907_IRQ_VCHG_DC_F, | ||
| 208 | MAX8907_IRQ_VCHG_DC_R, | ||
| 209 | MAX8907_IRQ_VCHG_THM_OK_R, | ||
| 210 | MAX8907_IRQ_VCHG_THM_OK_F, | ||
| 211 | MAX8907_IRQ_VCHG_MBATTLOW_F, | ||
| 212 | MAX8907_IRQ_VCHG_MBATTLOW_R, | ||
| 213 | MAX8907_IRQ_VCHG_RST, | ||
| 214 | MAX8907_IRQ_VCHG_DONE, | ||
| 215 | MAX8907_IRQ_VCHG_TOPOFF, | ||
| 216 | MAX8907_IRQ_VCHG_TMR_FAULT, | ||
| 217 | |||
| 218 | MAX8907_IRQ_GPM_RSTIN = 0, | ||
| 219 | MAX8907_IRQ_GPM_MPL, | ||
| 220 | MAX8907_IRQ_GPM_SW_3SEC, | ||
| 221 | MAX8907_IRQ_GPM_EXTON_F, | ||
| 222 | MAX8907_IRQ_GPM_EXTON_R, | ||
| 223 | MAX8907_IRQ_GPM_SW_1SEC, | ||
| 224 | MAX8907_IRQ_GPM_SW_F, | ||
| 225 | MAX8907_IRQ_GPM_SW_R, | ||
| 226 | MAX8907_IRQ_GPM_SYSCKEN_F, | ||
| 227 | MAX8907_IRQ_GPM_SYSCKEN_R, | ||
| 228 | |||
| 229 | MAX8907_IRQ_RTC_ALARM1 = 0, | ||
| 230 | MAX8907_IRQ_RTC_ALARM0, | ||
| 231 | }; | ||
| 232 | |||
| 233 | struct max8907_platform_data { | ||
| 234 | struct regulator_init_data *init_data[MAX8907_NUM_REGULATORS]; | ||
| 235 | bool pm_off; | ||
| 236 | }; | ||
| 237 | |||
| 238 | struct regmap_irq_chips_data; | ||
| 239 | |||
| 240 | struct max8907 { | ||
| 241 | struct device *dev; | ||
| 242 | struct mutex irq_lock; | ||
| 243 | struct i2c_client *i2c_gen; | ||
| 244 | struct i2c_client *i2c_rtc; | ||
| 245 | struct regmap *regmap_gen; | ||
| 246 | struct regmap *regmap_rtc; | ||
| 247 | struct regmap_irq_chip_data *irqc_chg; | ||
| 248 | struct regmap_irq_chip_data *irqc_on_off; | ||
| 249 | struct regmap_irq_chip_data *irqc_rtc; | ||
| 250 | }; | ||
| 251 | |||
| 252 | #endif | ||
diff --git a/include/linux/mfd/max8925.h b/include/linux/mfd/max8925.h index 74d8e296963..5259dfe8c58 100644 --- a/include/linux/mfd/max8925.h +++ b/include/linux/mfd/max8925.h | |||
| @@ -158,6 +158,8 @@ enum { | |||
| 158 | #define TSC_IRQ_MASK (0x03) | 158 | #define TSC_IRQ_MASK (0x03) |
| 159 | #define RTC_IRQ_MASK (0x0c) | 159 | #define RTC_IRQ_MASK (0x0c) |
| 160 | 160 | ||
| 161 | #define MAX8925_MAX_REGULATOR (23) | ||
| 162 | |||
| 161 | #define MAX8925_NAME_SIZE (32) | 163 | #define MAX8925_NAME_SIZE (32) |
| 162 | 164 | ||
| 163 | /* IRQ definitions */ | 165 | /* IRQ definitions */ |
| @@ -165,6 +167,9 @@ enum { | |||
| 165 | MAX8925_IRQ_VCHG_DC_OVP, | 167 | MAX8925_IRQ_VCHG_DC_OVP, |
| 166 | MAX8925_IRQ_VCHG_DC_F, | 168 | MAX8925_IRQ_VCHG_DC_F, |
| 167 | MAX8925_IRQ_VCHG_DC_R, | 169 | MAX8925_IRQ_VCHG_DC_R, |
| 170 | MAX8925_IRQ_VCHG_USB_OVP, | ||
| 171 | MAX8925_IRQ_VCHG_USB_F, | ||
| 172 | MAX8925_IRQ_VCHG_USB_R, | ||
| 168 | MAX8925_IRQ_VCHG_THM_OK_R, | 173 | MAX8925_IRQ_VCHG_THM_OK_R, |
| 169 | MAX8925_IRQ_VCHG_THM_OK_F, | 174 | MAX8925_IRQ_VCHG_THM_OK_F, |
| 170 | MAX8925_IRQ_VCHG_SYSLOW_F, | 175 | MAX8925_IRQ_VCHG_SYSLOW_F, |
| @@ -201,8 +206,6 @@ struct max8925_chip { | |||
| 201 | int irq_base; | 206 | int irq_base; |
| 202 | int core_irq; | 207 | int core_irq; |
| 203 | int tsc_irq; | 208 | int tsc_irq; |
| 204 | |||
| 205 | unsigned int wakeup_flag; | ||
| 206 | }; | 209 | }; |
| 207 | 210 | ||
| 208 | struct max8925_backlight_pdata { | 211 | struct max8925_backlight_pdata { |
| @@ -220,10 +223,6 @@ struct max8925_power_pdata { | |||
| 220 | unsigned batt_detect:1; | 223 | unsigned batt_detect:1; |
| 221 | unsigned topoff_threshold:2; | 224 | unsigned topoff_threshold:2; |
| 222 | unsigned fast_charge:3; /* charge current */ | 225 | unsigned fast_charge:3; /* charge current */ |
| 223 | unsigned no_temp_support:1; /* set if no temperature detect */ | ||
| 224 | unsigned no_insert_detect:1; /* set if no ac insert detect */ | ||
| 225 | char **supplied_to; | ||
| 226 | int num_supplicants; | ||
| 227 | }; | 226 | }; |
| 228 | 227 | ||
| 229 | /* | 228 | /* |
| @@ -234,29 +233,7 @@ struct max8925_platform_data { | |||
| 234 | struct max8925_backlight_pdata *backlight; | 233 | struct max8925_backlight_pdata *backlight; |
| 235 | struct max8925_touch_pdata *touch; | 234 | struct max8925_touch_pdata *touch; |
| 236 | struct max8925_power_pdata *power; | 235 | struct max8925_power_pdata *power; |
| 237 | struct regulator_init_data *sd1; | 236 | struct regulator_init_data *regulator[MAX8925_MAX_REGULATOR]; |
| 238 | struct regulator_init_data *sd2; | ||
| 239 | struct regulator_init_data *sd3; | ||
| 240 | struct regulator_init_data *ldo1; | ||
| 241 | struct regulator_init_data *ldo2; | ||
| 242 | struct regulator_init_data *ldo3; | ||
| 243 | struct regulator_init_data *ldo4; | ||
| 244 | struct regulator_init_data *ldo5; | ||
| 245 | struct regulator_init_data *ldo6; | ||
| 246 | struct regulator_init_data *ldo7; | ||
| 247 | struct regulator_init_data *ldo8; | ||
| 248 | struct regulator_init_data *ldo9; | ||
| 249 | struct regulator_init_data *ldo10; | ||
| 250 | struct regulator_init_data *ldo11; | ||
| 251 | struct regulator_init_data *ldo12; | ||
| 252 | struct regulator_init_data *ldo13; | ||
| 253 | struct regulator_init_data *ldo14; | ||
| 254 | struct regulator_init_data *ldo15; | ||
| 255 | struct regulator_init_data *ldo16; | ||
| 256 | struct regulator_init_data *ldo17; | ||
| 257 | struct regulator_init_data *ldo18; | ||
| 258 | struct regulator_init_data *ldo19; | ||
| 259 | struct regulator_init_data *ldo20; | ||
| 260 | 237 | ||
| 261 | int irq_base; | 238 | int irq_base; |
| 262 | int tsc_irq; | 239 | int tsc_irq; |
diff --git a/include/linux/mfd/max8997-private.h b/include/linux/mfd/max8997-private.h index 6ae21bf47d6..5ff2400ad46 100644 --- a/include/linux/mfd/max8997-private.h +++ b/include/linux/mfd/max8997-private.h | |||
| @@ -23,8 +23,6 @@ | |||
| 23 | #define __LINUX_MFD_MAX8997_PRIV_H | 23 | #define __LINUX_MFD_MAX8997_PRIV_H |
| 24 | 24 | ||
| 25 | #include <linux/i2c.h> | 25 | #include <linux/i2c.h> |
| 26 | #include <linux/export.h> | ||
| 27 | #include <linux/irqdomain.h> | ||
| 28 | 26 | ||
| 29 | #define MAX8997_REG_INVALID (0xff) | 27 | #define MAX8997_REG_INVALID (0xff) |
| 30 | 28 | ||
| @@ -316,7 +314,6 @@ enum max8997_irq { | |||
| 316 | #define MAX8997_NUM_GPIO 12 | 314 | #define MAX8997_NUM_GPIO 12 |
| 317 | struct max8997_dev { | 315 | struct max8997_dev { |
| 318 | struct device *dev; | 316 | struct device *dev; |
| 319 | struct max8997_platform_data *pdata; | ||
| 320 | struct i2c_client *i2c; /* 0xcc / PMIC, Battery Control, and FLASH */ | 317 | struct i2c_client *i2c; /* 0xcc / PMIC, Battery Control, and FLASH */ |
| 321 | struct i2c_client *rtc; /* slave addr 0x0c */ | 318 | struct i2c_client *rtc; /* slave addr 0x0c */ |
| 322 | struct i2c_client *haptic; /* slave addr 0x90 */ | 319 | struct i2c_client *haptic; /* slave addr 0x90 */ |
| @@ -328,7 +325,8 @@ struct max8997_dev { | |||
| 328 | 325 | ||
| 329 | int irq; | 326 | int irq; |
| 330 | int ono; | 327 | int ono; |
| 331 | struct irq_domain *irq_domain; | 328 | int irq_base; |
| 329 | bool wakeup; | ||
| 332 | struct mutex irqlock; | 330 | struct mutex irqlock; |
| 333 | int irq_masks_cur[MAX8997_IRQ_GROUP_NR]; | 331 | int irq_masks_cur[MAX8997_IRQ_GROUP_NR]; |
| 334 | int irq_masks_cache[MAX8997_IRQ_GROUP_NR]; | 332 | int irq_masks_cache[MAX8997_IRQ_GROUP_NR]; |
diff --git a/include/linux/mfd/max8997.h b/include/linux/mfd/max8997.h index 1d4a4fe6ac3..0bbd13dbe33 100644 --- a/include/linux/mfd/max8997.h +++ b/include/linux/mfd/max8997.h | |||
| @@ -75,113 +75,11 @@ enum max8998_regulators { | |||
| 75 | struct max8997_regulator_data { | 75 | struct max8997_regulator_data { |
| 76 | int id; | 76 | int id; |
| 77 | struct regulator_init_data *initdata; | 77 | struct regulator_init_data *initdata; |
| 78 | struct device_node *reg_node; | ||
| 79 | }; | ||
| 80 | |||
| 81 | enum max8997_muic_usb_type { | ||
| 82 | MAX8997_USB_HOST, | ||
| 83 | MAX8997_USB_DEVICE, | ||
| 84 | }; | ||
| 85 | |||
| 86 | enum max8997_muic_charger_type { | ||
| 87 | MAX8997_CHARGER_TYPE_NONE = 0, | ||
| 88 | MAX8997_CHARGER_TYPE_USB, | ||
| 89 | MAX8997_CHARGER_TYPE_DOWNSTREAM_PORT, | ||
| 90 | MAX8997_CHARGER_TYPE_DEDICATED_CHG, | ||
| 91 | MAX8997_CHARGER_TYPE_500MA, | ||
| 92 | MAX8997_CHARGER_TYPE_1A, | ||
| 93 | MAX8997_CHARGER_TYPE_DEAD_BATTERY = 7, | ||
| 94 | }; | ||
| 95 | |||
| 96 | struct max8997_muic_reg_data { | ||
| 97 | u8 addr; | ||
| 98 | u8 data; | ||
| 99 | }; | ||
| 100 | |||
| 101 | /** | ||
| 102 | * struct max8997_muic_platform_data | ||
| 103 | * @init_data: array of max8997_muic_reg_data | ||
| 104 | * used for initializing registers of MAX8997 MUIC device | ||
| 105 | * @num_init_data: array size of init_data | ||
| 106 | */ | ||
| 107 | struct max8997_muic_platform_data { | ||
| 108 | struct max8997_muic_reg_data *init_data; | ||
| 109 | int num_init_data; | ||
| 110 | }; | ||
| 111 | |||
| 112 | enum max8997_haptic_motor_type { | ||
| 113 | MAX8997_HAPTIC_ERM, | ||
| 114 | MAX8997_HAPTIC_LRA, | ||
| 115 | }; | ||
| 116 | |||
| 117 | enum max8997_haptic_pulse_mode { | ||
| 118 | MAX8997_EXTERNAL_MODE, | ||
| 119 | MAX8997_INTERNAL_MODE, | ||
| 120 | }; | ||
| 121 | |||
| 122 | enum max8997_haptic_pwm_divisor { | ||
| 123 | MAX8997_PWM_DIVISOR_32, | ||
| 124 | MAX8997_PWM_DIVISOR_64, | ||
| 125 | MAX8997_PWM_DIVISOR_128, | ||
| 126 | MAX8997_PWM_DIVISOR_256, | ||
| 127 | }; | ||
| 128 | |||
| 129 | /** | ||
| 130 | * max8997_haptic_platform_data | ||
| 131 | * @pwm_channel_id: channel number of PWM device | ||
| 132 | * valid for MAX8997_EXTERNAL_MODE | ||
| 133 | * @pwm_period: period in nano second for PWM device | ||
| 134 | * valid for MAX8997_EXTERNAL_MODE | ||
| 135 | * @type: motor type | ||
| 136 | * @mode: pulse mode | ||
| 137 | * MAX8997_EXTERNAL_MODE: external PWM device is used to control motor | ||
| 138 | * MAX8997_INTERNAL_MODE: internal pulse generator is used to control motor | ||
| 139 | * @pwm_divisor: divisor for external PWM device | ||
| 140 | * @internal_mode_pattern: internal mode pattern for internal mode | ||
| 141 | * [0 - 3]: valid pattern number | ||
| 142 | * @pattern_cycle: the number of cycles of the waveform | ||
| 143 | * for the internal mode pattern | ||
| 144 | * [0 - 15]: available cycles | ||
| 145 | * @pattern_signal_period: period of the waveform for the internal mode pattern | ||
| 146 | * [0 - 255]: available period | ||
| 147 | */ | ||
| 148 | struct max8997_haptic_platform_data { | ||
| 149 | unsigned int pwm_channel_id; | ||
| 150 | unsigned int pwm_period; | ||
| 151 | |||
| 152 | enum max8997_haptic_motor_type type; | ||
| 153 | enum max8997_haptic_pulse_mode mode; | ||
| 154 | enum max8997_haptic_pwm_divisor pwm_divisor; | ||
| 155 | |||
| 156 | unsigned int internal_mode_pattern; | ||
| 157 | unsigned int pattern_cycle; | ||
| 158 | unsigned int pattern_signal_period; | ||
| 159 | }; | ||
| 160 | |||
| 161 | enum max8997_led_mode { | ||
| 162 | MAX8997_NONE, | ||
| 163 | MAX8997_FLASH_MODE, | ||
| 164 | MAX8997_MOVIE_MODE, | ||
| 165 | MAX8997_FLASH_PIN_CONTROL_MODE, | ||
| 166 | MAX8997_MOVIE_PIN_CONTROL_MODE, | ||
| 167 | }; | ||
| 168 | |||
| 169 | /** | ||
| 170 | * struct max8997_led_platform_data | ||
| 171 | * The number of LED devices for MAX8997 is two | ||
| 172 | * @mode: LED mode for each LED device | ||
| 173 | * @brightness: initial brightness for each LED device | ||
| 174 | * range: | ||
| 175 | * [0 - 31]: MAX8997_FLASH_MODE and MAX8997_FLASH_PIN_CONTROL_MODE | ||
| 176 | * [0 - 15]: MAX8997_MOVIE_MODE and MAX8997_MOVIE_PIN_CONTROL_MODE | ||
| 177 | */ | ||
| 178 | struct max8997_led_platform_data { | ||
| 179 | enum max8997_led_mode mode[2]; | ||
| 180 | u8 brightness[2]; | ||
| 181 | }; | 78 | }; |
| 182 | 79 | ||
| 183 | struct max8997_platform_data { | 80 | struct max8997_platform_data { |
| 184 | /* IRQ */ | 81 | /* IRQ */ |
| 82 | int irq_base; | ||
| 185 | int ono; | 83 | int ono; |
| 186 | int wakeup; | 84 | int wakeup; |
| 187 | 85 | ||
| @@ -215,15 +113,10 @@ struct max8997_platform_data { | |||
| 215 | /* charge Full Timeout */ | 113 | /* charge Full Timeout */ |
| 216 | int timeout; /* 0 (no timeout), 5, 6, 7 hours */ | 114 | int timeout; /* 0 (no timeout), 5, 6, 7 hours */ |
| 217 | 115 | ||
| 218 | /* ---- MUIC ---- */ | 116 | /* MUIC: Not implemented */ |
| 219 | struct max8997_muic_platform_data *muic_pdata; | 117 | /* HAPTIC: Not implemented */ |
| 220 | |||
| 221 | /* ---- HAPTIC ---- */ | ||
| 222 | struct max8997_haptic_platform_data *haptic_pdata; | ||
| 223 | |||
| 224 | /* RTC: Not implemented */ | 118 | /* RTC: Not implemented */ |
| 225 | /* ---- LED ---- */ | 119 | /* Flash: Not implemented */ |
| 226 | struct max8997_led_platform_data *led_pdata; | ||
| 227 | }; | 120 | }; |
| 228 | 121 | ||
| 229 | #endif /* __LINUX_MFD_MAX8998_H */ | 122 | #endif /* __LINUX_MFD_MAX8998_H */ |
diff --git a/include/linux/mfd/max8998.h b/include/linux/mfd/max8998.h index 6823548d0c0..f4f0dfa4698 100644 --- a/include/linux/mfd/max8998.h +++ b/include/linux/mfd/max8998.h | |||
| @@ -67,7 +67,7 @@ struct max8998_regulator_data { | |||
| 67 | /** | 67 | /** |
| 68 | * struct max8998_board - packages regulator init data | 68 | * struct max8998_board - packages regulator init data |
| 69 | * @regulators: array of defined regulators | 69 | * @regulators: array of defined regulators |
| 70 | * @num_regulators: number of regulators used | 70 | * @num_regulators: number of regultors used |
| 71 | * @irq_base: base IRQ number for max8998, required for IRQs | 71 | * @irq_base: base IRQ number for max8998, required for IRQs |
| 72 | * @ono: power onoff IRQ number for max8998 | 72 | * @ono: power onoff IRQ number for max8998 |
| 73 | * @buck_voltage_lock: Do NOT change the values of the following six | 73 | * @buck_voltage_lock: Do NOT change the values of the following six |
diff --git a/include/linux/mfd/mc13783.h b/include/linux/mfd/mc13783.h index a8eeda773a7..7d0f3d6a000 100644 --- a/include/linux/mfd/mc13783.h +++ b/include/linux/mfd/mc13783.h | |||
| @@ -12,6 +12,117 @@ | |||
| 12 | 12 | ||
| 13 | #include <linux/mfd/mc13xxx.h> | 13 | #include <linux/mfd/mc13xxx.h> |
| 14 | 14 | ||
| 15 | struct mc13783; | ||
| 16 | |||
| 17 | struct mc13xxx *mc13783_to_mc13xxx(struct mc13783 *mc13783); | ||
| 18 | |||
| 19 | static inline void mc13783_lock(struct mc13783 *mc13783) | ||
| 20 | { | ||
| 21 | mc13xxx_lock(mc13783_to_mc13xxx(mc13783)); | ||
| 22 | } | ||
| 23 | |||
| 24 | static inline void mc13783_unlock(struct mc13783 *mc13783) | ||
| 25 | { | ||
| 26 | mc13xxx_unlock(mc13783_to_mc13xxx(mc13783)); | ||
| 27 | } | ||
| 28 | |||
| 29 | static inline int mc13783_reg_read(struct mc13783 *mc13783, | ||
| 30 | unsigned int offset, u32 *val) | ||
| 31 | { | ||
| 32 | return mc13xxx_reg_read(mc13783_to_mc13xxx(mc13783), offset, val); | ||
| 33 | } | ||
| 34 | |||
| 35 | static inline int mc13783_reg_write(struct mc13783 *mc13783, | ||
| 36 | unsigned int offset, u32 val) | ||
| 37 | { | ||
| 38 | return mc13xxx_reg_write(mc13783_to_mc13xxx(mc13783), offset, val); | ||
| 39 | } | ||
| 40 | |||
| 41 | static inline int mc13783_reg_rmw(struct mc13783 *mc13783, | ||
| 42 | unsigned int offset, u32 mask, u32 val) | ||
| 43 | { | ||
| 44 | return mc13xxx_reg_rmw(mc13783_to_mc13xxx(mc13783), offset, mask, val); | ||
| 45 | } | ||
| 46 | |||
| 47 | static inline int mc13783_get_flags(struct mc13783 *mc13783) | ||
| 48 | { | ||
| 49 | return mc13xxx_get_flags(mc13783_to_mc13xxx(mc13783)); | ||
| 50 | } | ||
| 51 | |||
| 52 | static inline int mc13783_irq_request(struct mc13783 *mc13783, int irq, | ||
| 53 | irq_handler_t handler, const char *name, void *dev) | ||
| 54 | { | ||
| 55 | return mc13xxx_irq_request(mc13783_to_mc13xxx(mc13783), irq, | ||
| 56 | handler, name, dev); | ||
| 57 | } | ||
| 58 | |||
| 59 | static inline int mc13783_irq_request_nounmask(struct mc13783 *mc13783, int irq, | ||
| 60 | irq_handler_t handler, const char *name, void *dev) | ||
| 61 | { | ||
| 62 | return mc13xxx_irq_request_nounmask(mc13783_to_mc13xxx(mc13783), irq, | ||
| 63 | handler, name, dev); | ||
| 64 | } | ||
| 65 | |||
| 66 | static inline int mc13783_irq_free(struct mc13783 *mc13783, int irq, void *dev) | ||
| 67 | { | ||
| 68 | return mc13xxx_irq_free(mc13783_to_mc13xxx(mc13783), irq, dev); | ||
| 69 | } | ||
| 70 | |||
| 71 | static inline int mc13783_irq_mask(struct mc13783 *mc13783, int irq) | ||
| 72 | { | ||
| 73 | return mc13xxx_irq_mask(mc13783_to_mc13xxx(mc13783), irq); | ||
| 74 | } | ||
| 75 | |||
| 76 | static inline int mc13783_irq_unmask(struct mc13783 *mc13783, int irq) | ||
| 77 | { | ||
| 78 | return mc13xxx_irq_unmask(mc13783_to_mc13xxx(mc13783), irq); | ||
| 79 | } | ||
| 80 | static inline int mc13783_irq_status(struct mc13783 *mc13783, int irq, | ||
| 81 | int *enabled, int *pending) | ||
| 82 | { | ||
| 83 | return mc13xxx_irq_status(mc13783_to_mc13xxx(mc13783), | ||
| 84 | irq, enabled, pending); | ||
| 85 | } | ||
| 86 | |||
| 87 | static inline int mc13783_irq_ack(struct mc13783 *mc13783, int irq) | ||
| 88 | { | ||
| 89 | return mc13xxx_irq_ack(mc13783_to_mc13xxx(mc13783), irq); | ||
| 90 | } | ||
| 91 | |||
| 92 | #define MC13783_ADC0 43 | ||
| 93 | #define MC13783_ADC0_ADREFEN (1 << 10) | ||
| 94 | #define MC13783_ADC0_ADREFMODE (1 << 11) | ||
| 95 | #define MC13783_ADC0_TSMOD0 (1 << 12) | ||
| 96 | #define MC13783_ADC0_TSMOD1 (1 << 13) | ||
| 97 | #define MC13783_ADC0_TSMOD2 (1 << 14) | ||
| 98 | #define MC13783_ADC0_ADINC1 (1 << 16) | ||
| 99 | #define MC13783_ADC0_ADINC2 (1 << 17) | ||
| 100 | |||
| 101 | #define MC13783_ADC0_TSMOD_MASK (MC13783_ADC0_TSMOD0 | \ | ||
| 102 | MC13783_ADC0_TSMOD1 | \ | ||
| 103 | MC13783_ADC0_TSMOD2) | ||
| 104 | |||
| 105 | #define mc13783_regulator_init_data mc13xxx_regulator_init_data | ||
| 106 | #define mc13783_regulator_platform_data mc13xxx_regulator_platform_data | ||
| 107 | #define mc13783_led_platform_data mc13xxx_led_platform_data | ||
| 108 | #define mc13783_leds_platform_data mc13xxx_leds_platform_data | ||
| 109 | |||
| 110 | #define mc13783_platform_data mc13xxx_platform_data | ||
| 111 | #define MC13783_USE_TOUCHSCREEN MC13XXX_USE_TOUCHSCREEN | ||
| 112 | #define MC13783_USE_CODEC MC13XXX_USE_CODEC | ||
| 113 | #define MC13783_USE_ADC MC13XXX_USE_ADC | ||
| 114 | #define MC13783_USE_RTC MC13XXX_USE_RTC | ||
| 115 | #define MC13783_USE_REGULATOR MC13XXX_USE_REGULATOR | ||
| 116 | #define MC13783_USE_LED MC13XXX_USE_LED | ||
| 117 | |||
| 118 | #define MC13783_ADC_MODE_TS 1 | ||
| 119 | #define MC13783_ADC_MODE_SINGLE_CHAN 2 | ||
| 120 | #define MC13783_ADC_MODE_MULT_CHAN 3 | ||
| 121 | |||
| 122 | int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode, | ||
| 123 | unsigned int channel, unsigned int *sample); | ||
| 124 | |||
| 125 | |||
| 15 | #define MC13783_REG_SW1A 0 | 126 | #define MC13783_REG_SW1A 0 |
| 16 | #define MC13783_REG_SW1B 1 | 127 | #define MC13783_REG_SW1B 1 |
| 17 | #define MC13783_REG_SW2A 2 | 128 | #define MC13783_REG_SW2A 2 |
diff --git a/include/linux/mfd/mc13xxx.h b/include/linux/mfd/mc13xxx.h index bf070755982..c064beaaccb 100644 --- a/include/linux/mfd/mc13xxx.h +++ b/include/linux/mfd/mc13xxx.h | |||
| @@ -37,10 +37,6 @@ int mc13xxx_irq_ack(struct mc13xxx *mc13xxx, int irq); | |||
| 37 | 37 | ||
| 38 | int mc13xxx_get_flags(struct mc13xxx *mc13xxx); | 38 | int mc13xxx_get_flags(struct mc13xxx *mc13xxx); |
| 39 | 39 | ||
| 40 | int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx, | ||
| 41 | unsigned int mode, unsigned int channel, | ||
| 42 | u8 ato, bool atox, unsigned int *sample); | ||
| 43 | |||
| 44 | #define MC13XXX_IRQ_ADCDONE 0 | 40 | #define MC13XXX_IRQ_ADCDONE 0 |
| 45 | #define MC13XXX_IRQ_ADCBISDONE 1 | 41 | #define MC13XXX_IRQ_ADCBISDONE 1 |
| 46 | #define MC13XXX_IRQ_TS 2 | 42 | #define MC13XXX_IRQ_TS 2 |
| @@ -70,7 +66,6 @@ struct regulator_init_data; | |||
| 70 | struct mc13xxx_regulator_init_data { | 66 | struct mc13xxx_regulator_init_data { |
| 71 | int id; | 67 | int id; |
| 72 | struct regulator_init_data *init_data; | 68 | struct regulator_init_data *init_data; |
| 73 | struct device_node *node; | ||
| 74 | }; | 69 | }; |
| 75 | 70 | ||
| 76 | struct mc13xxx_regulator_platform_data { | 71 | struct mc13xxx_regulator_platform_data { |
| @@ -142,80 +137,17 @@ struct mc13xxx_leds_platform_data { | |||
| 142 | char tc3_period; | 137 | char tc3_period; |
| 143 | }; | 138 | }; |
| 144 | 139 | ||
| 145 | struct mc13xxx_buttons_platform_data { | ||
| 146 | #define MC13783_BUTTON_DBNC_0MS 0 | ||
| 147 | #define MC13783_BUTTON_DBNC_30MS 1 | ||
| 148 | #define MC13783_BUTTON_DBNC_150MS 2 | ||
| 149 | #define MC13783_BUTTON_DBNC_750MS 3 | ||
| 150 | #define MC13783_BUTTON_ENABLE (1 << 2) | ||
| 151 | #define MC13783_BUTTON_POL_INVERT (1 << 3) | ||
| 152 | #define MC13783_BUTTON_RESET_EN (1 << 4) | ||
| 153 | int b1on_flags; | ||
| 154 | unsigned short b1on_key; | ||
| 155 | int b2on_flags; | ||
| 156 | unsigned short b2on_key; | ||
| 157 | int b3on_flags; | ||
| 158 | unsigned short b3on_key; | ||
| 159 | }; | ||
| 160 | |||
| 161 | struct mc13xxx_ts_platform_data { | ||
| 162 | /* Delay between Touchscreen polarization and ADC Conversion. | ||
| 163 | * Given in clock ticks of a 32 kHz clock which gives a granularity of | ||
| 164 | * about 30.5ms */ | ||
| 165 | u8 ato; | ||
| 166 | |||
| 167 | #define MC13783_TS_ATO_FIRST false | ||
| 168 | #define MC13783_TS_ATO_EACH true | ||
| 169 | /* Use the ATO delay only for the first conversion or for each one */ | ||
| 170 | bool atox; | ||
| 171 | }; | ||
| 172 | |||
| 173 | enum mc13783_ssi_port { | ||
| 174 | MC13783_SSI1_PORT, | ||
| 175 | MC13783_SSI2_PORT, | ||
| 176 | }; | ||
| 177 | |||
| 178 | struct mc13xxx_codec_platform_data { | ||
| 179 | enum mc13783_ssi_port adc_ssi_port; | ||
| 180 | enum mc13783_ssi_port dac_ssi_port; | ||
| 181 | }; | ||
| 182 | |||
| 183 | struct mc13xxx_platform_data { | 140 | struct mc13xxx_platform_data { |
| 184 | #define MC13XXX_USE_TOUCHSCREEN (1 << 0) | 141 | #define MC13XXX_USE_TOUCHSCREEN (1 << 0) |
| 185 | #define MC13XXX_USE_CODEC (1 << 1) | 142 | #define MC13XXX_USE_CODEC (1 << 1) |
| 186 | #define MC13XXX_USE_ADC (1 << 2) | 143 | #define MC13XXX_USE_ADC (1 << 2) |
| 187 | #define MC13XXX_USE_RTC (1 << 3) | 144 | #define MC13XXX_USE_RTC (1 << 3) |
| 145 | #define MC13XXX_USE_REGULATOR (1 << 4) | ||
| 146 | #define MC13XXX_USE_LED (1 << 5) | ||
| 188 | unsigned int flags; | 147 | unsigned int flags; |
| 189 | 148 | ||
| 190 | struct mc13xxx_regulator_platform_data regulators; | 149 | struct mc13xxx_regulator_platform_data regulators; |
| 191 | struct mc13xxx_leds_platform_data *leds; | 150 | struct mc13xxx_leds_platform_data *leds; |
| 192 | struct mc13xxx_buttons_platform_data *buttons; | ||
| 193 | struct mc13xxx_ts_platform_data touch; | ||
| 194 | struct mc13xxx_codec_platform_data *codec; | ||
| 195 | }; | 151 | }; |
| 196 | 152 | ||
| 197 | #define MC13XXX_ADC_MODE_TS 1 | ||
| 198 | #define MC13XXX_ADC_MODE_SINGLE_CHAN 2 | ||
| 199 | #define MC13XXX_ADC_MODE_MULT_CHAN 3 | ||
| 200 | |||
| 201 | #define MC13XXX_ADC0 43 | ||
| 202 | #define MC13XXX_ADC0_LICELLCON (1 << 0) | ||
| 203 | #define MC13XXX_ADC0_CHRGICON (1 << 1) | ||
| 204 | #define MC13XXX_ADC0_BATICON (1 << 2) | ||
| 205 | #define MC13XXX_ADC0_ADREFEN (1 << 10) | ||
| 206 | #define MC13XXX_ADC0_TSMOD0 (1 << 12) | ||
| 207 | #define MC13XXX_ADC0_TSMOD1 (1 << 13) | ||
| 208 | #define MC13XXX_ADC0_TSMOD2 (1 << 14) | ||
| 209 | #define MC13XXX_ADC0_ADINC1 (1 << 16) | ||
| 210 | #define MC13XXX_ADC0_ADINC2 (1 << 17) | ||
| 211 | |||
| 212 | #define MC13XXX_ADC0_TSMOD_MASK (MC13XXX_ADC0_TSMOD0 | \ | ||
| 213 | MC13XXX_ADC0_TSMOD1 | \ | ||
| 214 | MC13XXX_ADC0_TSMOD2) | ||
| 215 | |||
| 216 | #define MC13XXX_ADC0_CONFIG_MASK (MC13XXX_ADC0_TSMOD_MASK | \ | ||
| 217 | MC13XXX_ADC0_LICELLCON | \ | ||
| 218 | MC13XXX_ADC0_CHRGICON | \ | ||
| 219 | MC13XXX_ADC0_BATICON) | ||
| 220 | |||
| 221 | #endif /* ifndef __LINUX_MFD_MC13XXX_H */ | 153 | #endif /* ifndef __LINUX_MFD_MC13XXX_H */ |
diff --git a/include/linux/mfd/mcp.h b/include/linux/mfd/mcp.h index a9e8bd15767..ee496708e38 100644 --- a/include/linux/mfd/mcp.h +++ b/include/linux/mfd/mcp.h | |||
| @@ -10,6 +10,8 @@ | |||
| 10 | #ifndef MCP_H | 10 | #ifndef MCP_H |
| 11 | #define MCP_H | 11 | #define MCP_H |
| 12 | 12 | ||
| 13 | #include <mach/dma.h> | ||
| 14 | |||
| 13 | struct mcp_ops; | 15 | struct mcp_ops; |
| 14 | 16 | ||
| 15 | struct mcp { | 17 | struct mcp { |
| @@ -19,7 +21,12 @@ struct mcp { | |||
| 19 | int use_count; | 21 | int use_count; |
| 20 | unsigned int sclk_rate; | 22 | unsigned int sclk_rate; |
| 21 | unsigned int rw_timeout; | 23 | unsigned int rw_timeout; |
| 24 | dma_device_t dma_audio_rd; | ||
| 25 | dma_device_t dma_audio_wr; | ||
| 26 | dma_device_t dma_telco_rd; | ||
| 27 | dma_device_t dma_telco_wr; | ||
| 22 | struct device attached_device; | 28 | struct device attached_device; |
| 29 | int gpio_base; | ||
| 23 | }; | 30 | }; |
| 24 | 31 | ||
| 25 | struct mcp_ops { | 32 | struct mcp_ops { |
| @@ -40,14 +47,15 @@ void mcp_disable(struct mcp *); | |||
| 40 | #define mcp_get_sclk_rate(mcp) ((mcp)->sclk_rate) | 47 | #define mcp_get_sclk_rate(mcp) ((mcp)->sclk_rate) |
| 41 | 48 | ||
| 42 | struct mcp *mcp_host_alloc(struct device *, size_t); | 49 | struct mcp *mcp_host_alloc(struct device *, size_t); |
| 43 | int mcp_host_add(struct mcp *, void *); | 50 | int mcp_host_register(struct mcp *); |
| 44 | void mcp_host_del(struct mcp *); | 51 | void mcp_host_unregister(struct mcp *); |
| 45 | void mcp_host_free(struct mcp *); | ||
| 46 | 52 | ||
| 47 | struct mcp_driver { | 53 | struct mcp_driver { |
| 48 | struct device_driver drv; | 54 | struct device_driver drv; |
| 49 | int (*probe)(struct mcp *); | 55 | int (*probe)(struct mcp *); |
| 50 | void (*remove)(struct mcp *); | 56 | void (*remove)(struct mcp *); |
| 57 | int (*suspend)(struct mcp *, pm_message_t); | ||
| 58 | int (*resume)(struct mcp *); | ||
| 51 | }; | 59 | }; |
| 52 | 60 | ||
| 53 | int mcp_driver_register(struct mcp_driver *); | 61 | int mcp_driver_register(struct mcp_driver *); |
| @@ -56,9 +64,6 @@ void mcp_driver_unregister(struct mcp_driver *); | |||
| 56 | #define mcp_get_drvdata(mcp) dev_get_drvdata(&(mcp)->attached_device) | 64 | #define mcp_get_drvdata(mcp) dev_get_drvdata(&(mcp)->attached_device) |
| 57 | #define mcp_set_drvdata(mcp,d) dev_set_drvdata(&(mcp)->attached_device, d) | 65 | #define mcp_set_drvdata(mcp,d) dev_set_drvdata(&(mcp)->attached_device, d) |
| 58 | 66 | ||
| 59 | static inline void *mcp_priv(struct mcp *mcp) | 67 | #define mcp_priv(mcp) ((void *)((mcp)+1)) |
| 60 | { | ||
| 61 | return mcp + 1; | ||
| 62 | } | ||
| 63 | 68 | ||
| 64 | #endif | 69 | #endif |
diff --git a/include/linux/mfd/menelaus.h b/include/linux/mfd/menelaus.h deleted file mode 100644 index f097e89134c..00000000000 --- a/include/linux/mfd/menelaus.h +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Functions to access Menelaus power management chip | ||
| 3 | */ | ||
| 4 | |||
| 5 | #ifndef __ASM_ARCH_MENELAUS_H | ||
| 6 | #define __ASM_ARCH_MENELAUS_H | ||
| 7 | |||
| 8 | struct device; | ||
| 9 | |||
| 10 | struct menelaus_platform_data { | ||
| 11 | int (* late_init)(struct device *dev); | ||
| 12 | }; | ||
| 13 | |||
| 14 | extern int menelaus_register_mmc_callback(void (*callback)(void *data, u8 card_mask), | ||
| 15 | void *data); | ||
| 16 | extern void menelaus_unregister_mmc_callback(void); | ||
| 17 | extern int menelaus_set_mmc_opendrain(int slot, int enable); | ||
| 18 | extern int menelaus_set_mmc_slot(int slot, int enable, int power, int cd_on); | ||
| 19 | |||
| 20 | extern int menelaus_set_vmem(unsigned int mV); | ||
| 21 | extern int menelaus_set_vio(unsigned int mV); | ||
| 22 | extern int menelaus_set_vmmc(unsigned int mV); | ||
| 23 | extern int menelaus_set_vaux(unsigned int mV); | ||
| 24 | extern int menelaus_set_vdcdc(int dcdc, unsigned int mV); | ||
| 25 | extern int menelaus_set_slot_sel(int enable); | ||
| 26 | extern int menelaus_get_slot_pin_states(void); | ||
| 27 | extern int menelaus_set_vcore_sw(unsigned int mV); | ||
| 28 | extern int menelaus_set_vcore_hw(unsigned int roof_mV, unsigned int floor_mV); | ||
| 29 | |||
| 30 | #define EN_VPLL_SLEEP (1 << 7) | ||
| 31 | #define EN_VMMC_SLEEP (1 << 6) | ||
| 32 | #define EN_VAUX_SLEEP (1 << 5) | ||
| 33 | #define EN_VIO_SLEEP (1 << 4) | ||
| 34 | #define EN_VMEM_SLEEP (1 << 3) | ||
| 35 | #define EN_DC3_SLEEP (1 << 2) | ||
| 36 | #define EN_DC2_SLEEP (1 << 1) | ||
| 37 | #define EN_VC_SLEEP (1 << 0) | ||
| 38 | |||
| 39 | extern int menelaus_set_regulator_sleep(int enable, u32 val); | ||
| 40 | |||
| 41 | #if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_MENELAUS) | ||
| 42 | #define omap_has_menelaus() 1 | ||
| 43 | #else | ||
| 44 | #define omap_has_menelaus() 0 | ||
| 45 | #endif | ||
| 46 | |||
| 47 | #endif | ||
diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h deleted file mode 100644 index 29f6616e12f..00000000000 --- a/include/linux/mfd/palmas.h +++ /dev/null | |||
| @@ -1,2792 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * TI Palmas | ||
| 3 | * | ||
| 4 | * Copyright 2011 Texas Instruments Inc. | ||
| 5 | * | ||
| 6 | * Author: Graeme Gregory <gg@slimlogic.co.uk> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify it | ||
| 9 | * under the terms of the GNU General Public License as published by the | ||
| 10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 11 | * option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __LINUX_MFD_PALMAS_H | ||
| 16 | #define __LINUX_MFD_PALMAS_H | ||
| 17 | |||
| 18 | #include <linux/usb/otg.h> | ||
| 19 | #include <linux/leds.h> | ||
| 20 | #include <linux/regmap.h> | ||
| 21 | #include <linux/regulator/driver.h> | ||
| 22 | |||
| 23 | #define PALMAS_NUM_CLIENTS 3 | ||
| 24 | |||
| 25 | struct palmas_pmic; | ||
| 26 | struct palmas_gpadc; | ||
| 27 | struct palmas_resource; | ||
| 28 | struct palmas_usb; | ||
| 29 | |||
| 30 | struct palmas { | ||
| 31 | struct device *dev; | ||
| 32 | |||
| 33 | struct i2c_client *i2c_clients[PALMAS_NUM_CLIENTS]; | ||
| 34 | struct regmap *regmap[PALMAS_NUM_CLIENTS]; | ||
| 35 | |||
| 36 | /* Stored chip id */ | ||
| 37 | int id; | ||
| 38 | |||
| 39 | /* IRQ Data */ | ||
| 40 | int irq; | ||
| 41 | u32 irq_mask; | ||
| 42 | struct mutex irq_lock; | ||
| 43 | struct regmap_irq_chip_data *irq_data; | ||
| 44 | |||
| 45 | /* Child Devices */ | ||
| 46 | struct palmas_pmic *pmic; | ||
| 47 | struct palmas_gpadc *gpadc; | ||
| 48 | struct palmas_resource *resource; | ||
| 49 | struct palmas_usb *usb; | ||
| 50 | |||
| 51 | /* GPIO MUXing */ | ||
| 52 | u8 gpio_muxed; | ||
| 53 | u8 led_muxed; | ||
| 54 | u8 pwm_muxed; | ||
| 55 | }; | ||
| 56 | |||
| 57 | struct palmas_gpadc_platform_data { | ||
| 58 | /* Channel 3 current source is only enabled during conversion */ | ||
| 59 | int ch3_current; | ||
| 60 | |||
| 61 | /* Channel 0 current source can be used for battery detection. | ||
| 62 | * If used for battery detection this will cause a permanent current | ||
| 63 | * consumption depending on current level set here. | ||
| 64 | */ | ||
| 65 | int ch0_current; | ||
| 66 | |||
| 67 | /* default BAT_REMOVAL_DAT setting on device probe */ | ||
| 68 | int bat_removal; | ||
| 69 | |||
| 70 | /* Sets the START_POLARITY bit in the RT_CTRL register */ | ||
| 71 | int start_polarity; | ||
| 72 | }; | ||
| 73 | |||
| 74 | struct palmas_reg_init { | ||
| 75 | /* warm_rest controls the voltage levels after a warm reset | ||
| 76 | * | ||
| 77 | * 0: reload default values from OTP on warm reset | ||
| 78 | * 1: maintain voltage from VSEL on warm reset | ||
| 79 | */ | ||
| 80 | int warm_reset; | ||
| 81 | |||
| 82 | /* roof_floor controls whether the regulator uses the i2c style | ||
| 83 | * of DVS or uses the method where a GPIO or other control method is | ||
| 84 | * attached to the NSLEEP/ENABLE1/ENABLE2 pins | ||
| 85 | * | ||
| 86 | * For SMPS | ||
| 87 | * | ||
| 88 | * 0: i2c selection of voltage | ||
| 89 | * 1: pin selection of voltage. | ||
| 90 | * | ||
| 91 | * For LDO unused | ||
| 92 | */ | ||
| 93 | int roof_floor; | ||
| 94 | |||
| 95 | /* sleep_mode is the mode loaded to MODE_SLEEP bits as defined in | ||
| 96 | * the data sheet. | ||
| 97 | * | ||
| 98 | * For SMPS | ||
| 99 | * | ||
| 100 | * 0: Off | ||
| 101 | * 1: AUTO | ||
| 102 | * 2: ECO | ||
| 103 | * 3: Forced PWM | ||
| 104 | * | ||
| 105 | * For LDO | ||
| 106 | * | ||
| 107 | * 0: Off | ||
| 108 | * 1: On | ||
| 109 | */ | ||
| 110 | int mode_sleep; | ||
| 111 | |||
| 112 | /* tstep is the timestep loaded to the TSTEP register | ||
| 113 | * | ||
| 114 | * For SMPS | ||
| 115 | * | ||
| 116 | * 0: Jump (no slope control) | ||
| 117 | * 1: 10mV/us | ||
| 118 | * 2: 5mV/us | ||
| 119 | * 3: 2.5mV/us | ||
| 120 | * | ||
| 121 | * For LDO unused | ||
| 122 | */ | ||
| 123 | int tstep; | ||
| 124 | |||
| 125 | /* voltage_sel is the bitfield loaded onto the SMPSX_VOLTAGE | ||
| 126 | * register. Set this is the default voltage set in OTP needs | ||
| 127 | * to be overridden. | ||
| 128 | */ | ||
| 129 | u8 vsel; | ||
| 130 | |||
| 131 | }; | ||
| 132 | |||
| 133 | enum palmas_regulators { | ||
| 134 | /* SMPS regulators */ | ||
| 135 | PALMAS_REG_SMPS12, | ||
| 136 | PALMAS_REG_SMPS123, | ||
| 137 | PALMAS_REG_SMPS3, | ||
| 138 | PALMAS_REG_SMPS45, | ||
| 139 | PALMAS_REG_SMPS457, | ||
| 140 | PALMAS_REG_SMPS6, | ||
| 141 | PALMAS_REG_SMPS7, | ||
| 142 | PALMAS_REG_SMPS8, | ||
| 143 | PALMAS_REG_SMPS9, | ||
| 144 | PALMAS_REG_SMPS10, | ||
| 145 | /* LDO regulators */ | ||
| 146 | PALMAS_REG_LDO1, | ||
| 147 | PALMAS_REG_LDO2, | ||
| 148 | PALMAS_REG_LDO3, | ||
| 149 | PALMAS_REG_LDO4, | ||
| 150 | PALMAS_REG_LDO5, | ||
| 151 | PALMAS_REG_LDO6, | ||
| 152 | PALMAS_REG_LDO7, | ||
| 153 | PALMAS_REG_LDO8, | ||
| 154 | PALMAS_REG_LDO9, | ||
| 155 | PALMAS_REG_LDOLN, | ||
| 156 | PALMAS_REG_LDOUSB, | ||
| 157 | /* Total number of regulators */ | ||
| 158 | PALMAS_NUM_REGS, | ||
| 159 | }; | ||
| 160 | |||
| 161 | struct palmas_pmic_platform_data { | ||
| 162 | /* An array of pointers to regulator init data indexed by regulator | ||
| 163 | * ID | ||
| 164 | */ | ||
| 165 | struct regulator_init_data *reg_data[PALMAS_NUM_REGS]; | ||
| 166 | |||
| 167 | /* An array of pointers to structures containing sleep mode and DVS | ||
| 168 | * configuration for regulators indexed by ID | ||
| 169 | */ | ||
| 170 | struct palmas_reg_init *reg_init[PALMAS_NUM_REGS]; | ||
| 171 | |||
| 172 | /* use LDO6 for vibrator control */ | ||
| 173 | int ldo6_vibrator; | ||
| 174 | }; | ||
| 175 | |||
| 176 | struct palmas_usb_platform_data { | ||
| 177 | /* Set this if platform wishes its own vbus control */ | ||
| 178 | int no_control_vbus; | ||
| 179 | |||
| 180 | /* Do we enable the wakeup comparator on probe */ | ||
| 181 | int wakeup; | ||
| 182 | }; | ||
| 183 | |||
| 184 | struct palmas_resource_platform_data { | ||
| 185 | int regen1_mode_sleep; | ||
| 186 | int regen2_mode_sleep; | ||
| 187 | int sysen1_mode_sleep; | ||
| 188 | int sysen2_mode_sleep; | ||
| 189 | |||
| 190 | /* bitfield to be loaded to NSLEEP_RES_ASSIGN */ | ||
| 191 | u8 nsleep_res; | ||
| 192 | /* bitfield to be loaded to NSLEEP_SMPS_ASSIGN */ | ||
| 193 | u8 nsleep_smps; | ||
| 194 | /* bitfield to be loaded to NSLEEP_LDO_ASSIGN1 */ | ||
| 195 | u8 nsleep_ldo1; | ||
| 196 | /* bitfield to be loaded to NSLEEP_LDO_ASSIGN2 */ | ||
| 197 | u8 nsleep_ldo2; | ||
| 198 | |||
| 199 | /* bitfield to be loaded to ENABLE1_RES_ASSIGN */ | ||
| 200 | u8 enable1_res; | ||
| 201 | /* bitfield to be loaded to ENABLE1_SMPS_ASSIGN */ | ||
| 202 | u8 enable1_smps; | ||
| 203 | /* bitfield to be loaded to ENABLE1_LDO_ASSIGN1 */ | ||
| 204 | u8 enable1_ldo1; | ||
| 205 | /* bitfield to be loaded to ENABLE1_LDO_ASSIGN2 */ | ||
| 206 | u8 enable1_ldo2; | ||
| 207 | |||
| 208 | /* bitfield to be loaded to ENABLE2_RES_ASSIGN */ | ||
| 209 | u8 enable2_res; | ||
| 210 | /* bitfield to be loaded to ENABLE2_SMPS_ASSIGN */ | ||
| 211 | u8 enable2_smps; | ||
| 212 | /* bitfield to be loaded to ENABLE2_LDO_ASSIGN1 */ | ||
| 213 | u8 enable2_ldo1; | ||
| 214 | /* bitfield to be loaded to ENABLE2_LDO_ASSIGN2 */ | ||
| 215 | u8 enable2_ldo2; | ||
| 216 | }; | ||
| 217 | |||
| 218 | struct palmas_clk_platform_data { | ||
| 219 | int clk32kg_mode_sleep; | ||
| 220 | int clk32kgaudio_mode_sleep; | ||
| 221 | }; | ||
| 222 | |||
| 223 | struct palmas_platform_data { | ||
| 224 | int gpio_base; | ||
| 225 | |||
| 226 | /* bit value to be loaded to the POWER_CTRL register */ | ||
| 227 | u8 power_ctrl; | ||
| 228 | |||
| 229 | /* | ||
| 230 | * boolean to select if we want to configure muxing here | ||
| 231 | * then the two value to load into the registers if true | ||
| 232 | */ | ||
| 233 | int mux_from_pdata; | ||
| 234 | u8 pad1, pad2; | ||
| 235 | |||
| 236 | struct palmas_pmic_platform_data *pmic_pdata; | ||
| 237 | struct palmas_gpadc_platform_data *gpadc_pdata; | ||
| 238 | struct palmas_usb_platform_data *usb_pdata; | ||
| 239 | struct palmas_resource_platform_data *resource_pdata; | ||
| 240 | struct palmas_clk_platform_data *clk_pdata; | ||
| 241 | }; | ||
| 242 | |||
| 243 | struct palmas_gpadc_calibration { | ||
| 244 | s32 gain; | ||
| 245 | s32 gain_error; | ||
| 246 | s32 offset_error; | ||
| 247 | }; | ||
| 248 | |||
| 249 | struct palmas_gpadc { | ||
| 250 | struct device *dev; | ||
| 251 | struct palmas *palmas; | ||
| 252 | |||
| 253 | int ch3_current; | ||
| 254 | int ch0_current; | ||
| 255 | |||
| 256 | int gpadc_force; | ||
| 257 | |||
| 258 | int bat_removal; | ||
| 259 | |||
| 260 | struct mutex reading_lock; | ||
| 261 | struct completion irq_complete; | ||
| 262 | |||
| 263 | int eoc_sw_irq; | ||
| 264 | |||
| 265 | struct palmas_gpadc_calibration *palmas_cal_tbl; | ||
| 266 | |||
| 267 | int conv0_channel; | ||
| 268 | int conv1_channel; | ||
| 269 | int rt_channel; | ||
| 270 | }; | ||
| 271 | |||
| 272 | struct palmas_gpadc_result { | ||
| 273 | s32 raw_code; | ||
| 274 | s32 corrected_code; | ||
| 275 | s32 result; | ||
| 276 | }; | ||
| 277 | |||
| 278 | #define PALMAS_MAX_CHANNELS 16 | ||
| 279 | |||
| 280 | /* Define the palmas IRQ numbers */ | ||
| 281 | enum palmas_irqs { | ||
| 282 | /* INT1 registers */ | ||
| 283 | PALMAS_CHARG_DET_N_VBUS_OVV_IRQ, | ||
| 284 | PALMAS_PWRON_IRQ, | ||
| 285 | PALMAS_LONG_PRESS_KEY_IRQ, | ||
| 286 | PALMAS_RPWRON_IRQ, | ||
| 287 | PALMAS_PWRDOWN_IRQ, | ||
| 288 | PALMAS_HOTDIE_IRQ, | ||
| 289 | PALMAS_VSYS_MON_IRQ, | ||
| 290 | PALMAS_VBAT_MON_IRQ, | ||
| 291 | /* INT2 registers */ | ||
| 292 | PALMAS_RTC_ALARM_IRQ, | ||
| 293 | PALMAS_RTC_TIMER_IRQ, | ||
| 294 | PALMAS_WDT_IRQ, | ||
| 295 | PALMAS_BATREMOVAL_IRQ, | ||
| 296 | PALMAS_RESET_IN_IRQ, | ||
| 297 | PALMAS_FBI_BB_IRQ, | ||
| 298 | PALMAS_SHORT_IRQ, | ||
| 299 | PALMAS_VAC_ACOK_IRQ, | ||
| 300 | /* INT3 registers */ | ||
| 301 | PALMAS_GPADC_AUTO_0_IRQ, | ||
| 302 | PALMAS_GPADC_AUTO_1_IRQ, | ||
| 303 | PALMAS_GPADC_EOC_SW_IRQ, | ||
| 304 | PALMAS_GPADC_EOC_RT_IRQ, | ||
| 305 | PALMAS_ID_OTG_IRQ, | ||
| 306 | PALMAS_ID_IRQ, | ||
| 307 | PALMAS_VBUS_OTG_IRQ, | ||
| 308 | PALMAS_VBUS_IRQ, | ||
| 309 | /* INT4 registers */ | ||
| 310 | PALMAS_GPIO_0_IRQ, | ||
| 311 | PALMAS_GPIO_1_IRQ, | ||
| 312 | PALMAS_GPIO_2_IRQ, | ||
| 313 | PALMAS_GPIO_3_IRQ, | ||
| 314 | PALMAS_GPIO_4_IRQ, | ||
| 315 | PALMAS_GPIO_5_IRQ, | ||
| 316 | PALMAS_GPIO_6_IRQ, | ||
| 317 | PALMAS_GPIO_7_IRQ, | ||
| 318 | /* Total Number IRQs */ | ||
| 319 | PALMAS_NUM_IRQ, | ||
| 320 | }; | ||
| 321 | |||
| 322 | struct palmas_pmic { | ||
| 323 | struct palmas *palmas; | ||
| 324 | struct device *dev; | ||
| 325 | struct regulator_desc desc[PALMAS_NUM_REGS]; | ||
| 326 | struct regulator_dev *rdev[PALMAS_NUM_REGS]; | ||
| 327 | struct mutex mutex; | ||
| 328 | |||
| 329 | int smps123; | ||
| 330 | int smps457; | ||
| 331 | |||
| 332 | int range[PALMAS_REG_SMPS10]; | ||
| 333 | }; | ||
| 334 | |||
| 335 | struct palmas_resource { | ||
| 336 | struct palmas *palmas; | ||
| 337 | struct device *dev; | ||
| 338 | }; | ||
| 339 | |||
| 340 | struct palmas_usb { | ||
| 341 | struct palmas *palmas; | ||
| 342 | struct device *dev; | ||
| 343 | |||
| 344 | /* for vbus reporting with irqs disabled */ | ||
| 345 | spinlock_t lock; | ||
| 346 | |||
| 347 | struct regulator *vbus_reg; | ||
| 348 | |||
| 349 | /* used to set vbus, in atomic path */ | ||
| 350 | struct work_struct set_vbus_work; | ||
| 351 | |||
| 352 | int irq1; | ||
| 353 | int irq2; | ||
| 354 | int irq3; | ||
| 355 | int irq4; | ||
| 356 | |||
| 357 | int vbus_enable; | ||
| 358 | |||
| 359 | u8 linkstat; | ||
| 360 | }; | ||
| 361 | |||
| 362 | #define comparator_to_palmas(x) container_of((x), struct palmas_usb, comparator) | ||
| 363 | |||
| 364 | enum usb_irq_events { | ||
| 365 | /* Wakeup events from INT3 */ | ||
| 366 | PALMAS_USB_ID_WAKEPUP, | ||
| 367 | PALMAS_USB_VBUS_WAKEUP, | ||
| 368 | |||
| 369 | /* ID_OTG_EVENTS */ | ||
| 370 | PALMAS_USB_ID_GND, | ||
| 371 | N_PALMAS_USB_ID_GND, | ||
| 372 | PALMAS_USB_ID_C, | ||
| 373 | N_PALMAS_USB_ID_C, | ||
| 374 | PALMAS_USB_ID_B, | ||
| 375 | N_PALMAS_USB_ID_B, | ||
| 376 | PALMAS_USB_ID_A, | ||
| 377 | N_PALMAS_USB_ID_A, | ||
| 378 | PALMAS_USB_ID_FLOAT, | ||
| 379 | N_PALMAS_USB_ID_FLOAT, | ||
| 380 | |||
| 381 | /* VBUS_OTG_EVENTS */ | ||
| 382 | PALMAS_USB_VB_SESS_END, | ||
| 383 | N_PALMAS_USB_VB_SESS_END, | ||
| 384 | PALMAS_USB_VB_SESS_VLD, | ||
| 385 | N_PALMAS_USB_VB_SESS_VLD, | ||
| 386 | PALMAS_USB_VA_SESS_VLD, | ||
| 387 | N_PALMAS_USB_VA_SESS_VLD, | ||
| 388 | PALMAS_USB_VA_VBUS_VLD, | ||
| 389 | N_PALMAS_USB_VA_VBUS_VLD, | ||
| 390 | PALMAS_USB_VADP_SNS, | ||
| 391 | N_PALMAS_USB_VADP_SNS, | ||
| 392 | PALMAS_USB_VADP_PRB, | ||
| 393 | N_PALMAS_USB_VADP_PRB, | ||
| 394 | PALMAS_USB_VOTG_SESS_VLD, | ||
| 395 | N_PALMAS_USB_VOTG_SESS_VLD, | ||
| 396 | }; | ||
| 397 | |||
| 398 | /* defines so we can store the mux settings */ | ||
| 399 | #define PALMAS_GPIO_0_MUXED (1 << 0) | ||
| 400 | #define PALMAS_GPIO_1_MUXED (1 << 1) | ||
| 401 | #define PALMAS_GPIO_2_MUXED (1 << 2) | ||
| 402 | #define PALMAS_GPIO_3_MUXED (1 << 3) | ||
| 403 | #define PALMAS_GPIO_4_MUXED (1 << 4) | ||
| 404 | #define PALMAS_GPIO_5_MUXED (1 << 5) | ||
| 405 | #define PALMAS_GPIO_6_MUXED (1 << 6) | ||
| 406 | #define PALMAS_GPIO_7_MUXED (1 << 7) | ||
| 407 | |||
| 408 | #define PALMAS_LED1_MUXED (1 << 0) | ||
| 409 | #define PALMAS_LED2_MUXED (1 << 1) | ||
| 410 | |||
| 411 | #define PALMAS_PWM1_MUXED (1 << 0) | ||
| 412 | #define PALMAS_PWM2_MUXED (1 << 1) | ||
| 413 | |||
| 414 | /* helper macro to get correct slave number */ | ||
| 415 | #define PALMAS_BASE_TO_SLAVE(x) ((x >> 8) - 1) | ||
| 416 | #define PALMAS_BASE_TO_REG(x, y) ((x & 0xff) + y) | ||
| 417 | |||
| 418 | /* Base addresses of IP blocks in Palmas */ | ||
| 419 | #define PALMAS_SMPS_DVS_BASE 0x20 | ||
| 420 | #define PALMAS_RTC_BASE 0x100 | ||
| 421 | #define PALMAS_VALIDITY_BASE 0x118 | ||
| 422 | #define PALMAS_SMPS_BASE 0x120 | ||
| 423 | #define PALMAS_LDO_BASE 0x150 | ||
| 424 | #define PALMAS_DVFS_BASE 0x180 | ||
| 425 | #define PALMAS_PMU_CONTROL_BASE 0x1A0 | ||
| 426 | #define PALMAS_RESOURCE_BASE 0x1D4 | ||
| 427 | #define PALMAS_PU_PD_OD_BASE 0x1F4 | ||
| 428 | #define PALMAS_LED_BASE 0x200 | ||
| 429 | #define PALMAS_INTERRUPT_BASE 0x210 | ||
| 430 | #define PALMAS_USB_OTG_BASE 0x250 | ||
| 431 | #define PALMAS_VIBRATOR_BASE 0x270 | ||
| 432 | #define PALMAS_GPIO_BASE 0x280 | ||
| 433 | #define PALMAS_USB_BASE 0x290 | ||
| 434 | #define PALMAS_GPADC_BASE 0x2C0 | ||
| 435 | #define PALMAS_TRIM_GPADC_BASE 0x3CD | ||
| 436 | |||
| 437 | /* Registers for function RTC */ | ||
| 438 | #define PALMAS_SECONDS_REG 0x0 | ||
| 439 | #define PALMAS_MINUTES_REG 0x1 | ||
| 440 | #define PALMAS_HOURS_REG 0x2 | ||
| 441 | #define PALMAS_DAYS_REG 0x3 | ||
| 442 | #define PALMAS_MONTHS_REG 0x4 | ||
| 443 | #define PALMAS_YEARS_REG 0x5 | ||
| 444 | #define PALMAS_WEEKS_REG 0x6 | ||
| 445 | #define PALMAS_ALARM_SECONDS_REG 0x8 | ||
| 446 | #define PALMAS_ALARM_MINUTES_REG 0x9 | ||
| 447 | #define PALMAS_ALARM_HOURS_REG 0xA | ||
| 448 | #define PALMAS_ALARM_DAYS_REG 0xB | ||
| 449 | #define PALMAS_ALARM_MONTHS_REG 0xC | ||
| 450 | #define PALMAS_ALARM_YEARS_REG 0xD | ||
| 451 | #define PALMAS_RTC_CTRL_REG 0x10 | ||
| 452 | #define PALMAS_RTC_STATUS_REG 0x11 | ||
| 453 | #define PALMAS_RTC_INTERRUPTS_REG 0x12 | ||
| 454 | #define PALMAS_RTC_COMP_LSB_REG 0x13 | ||
| 455 | #define PALMAS_RTC_COMP_MSB_REG 0x14 | ||
| 456 | #define PALMAS_RTC_RES_PROG_REG 0x15 | ||
| 457 | #define PALMAS_RTC_RESET_STATUS_REG 0x16 | ||
| 458 | |||
| 459 | /* Bit definitions for SECONDS_REG */ | ||
| 460 | #define PALMAS_SECONDS_REG_SEC1_MASK 0x70 | ||
| 461 | #define PALMAS_SECONDS_REG_SEC1_SHIFT 4 | ||
| 462 | #define PALMAS_SECONDS_REG_SEC0_MASK 0x0f | ||
| 463 | #define PALMAS_SECONDS_REG_SEC0_SHIFT 0 | ||
| 464 | |||
| 465 | /* Bit definitions for MINUTES_REG */ | ||
| 466 | #define PALMAS_MINUTES_REG_MIN1_MASK 0x70 | ||
| 467 | #define PALMAS_MINUTES_REG_MIN1_SHIFT 4 | ||
| 468 | #define PALMAS_MINUTES_REG_MIN0_MASK 0x0f | ||
| 469 | #define PALMAS_MINUTES_REG_MIN0_SHIFT 0 | ||
| 470 | |||
| 471 | /* Bit definitions for HOURS_REG */ | ||
| 472 | #define PALMAS_HOURS_REG_PM_NAM 0x80 | ||
| 473 | #define PALMAS_HOURS_REG_PM_NAM_SHIFT 7 | ||
| 474 | #define PALMAS_HOURS_REG_HOUR1_MASK 0x30 | ||
| 475 | #define PALMAS_HOURS_REG_HOUR1_SHIFT 4 | ||
| 476 | #define PALMAS_HOURS_REG_HOUR0_MASK 0x0f | ||
| 477 | #define PALMAS_HOURS_REG_HOUR0_SHIFT 0 | ||
| 478 | |||
| 479 | /* Bit definitions for DAYS_REG */ | ||
| 480 | #define PALMAS_DAYS_REG_DAY1_MASK 0x30 | ||
| 481 | #define PALMAS_DAYS_REG_DAY1_SHIFT 4 | ||
| 482 | #define PALMAS_DAYS_REG_DAY0_MASK 0x0f | ||
| 483 | #define PALMAS_DAYS_REG_DAY0_SHIFT 0 | ||
| 484 | |||
| 485 | /* Bit definitions for MONTHS_REG */ | ||
| 486 | #define PALMAS_MONTHS_REG_MONTH1 0x10 | ||
| 487 | #define PALMAS_MONTHS_REG_MONTH1_SHIFT 4 | ||
| 488 | #define PALMAS_MONTHS_REG_MONTH0_MASK 0x0f | ||
| 489 | #define PALMAS_MONTHS_REG_MONTH0_SHIFT 0 | ||
| 490 | |||
| 491 | /* Bit definitions for YEARS_REG */ | ||
| 492 | #define PALMAS_YEARS_REG_YEAR1_MASK 0xf0 | ||
| 493 | #define PALMAS_YEARS_REG_YEAR1_SHIFT 4 | ||
| 494 | #define PALMAS_YEARS_REG_YEAR0_MASK 0x0f | ||
| 495 | #define PALMAS_YEARS_REG_YEAR0_SHIFT 0 | ||
| 496 | |||
| 497 | /* Bit definitions for WEEKS_REG */ | ||
| 498 | #define PALMAS_WEEKS_REG_WEEK_MASK 0x07 | ||
| 499 | #define PALMAS_WEEKS_REG_WEEK_SHIFT 0 | ||
| 500 | |||
| 501 | /* Bit definitions for ALARM_SECONDS_REG */ | ||
| 502 | #define PALMAS_ALARM_SECONDS_REG_ALARM_SEC1_MASK 0x70 | ||
| 503 | #define PALMAS_ALARM_SECONDS_REG_ALARM_SEC1_SHIFT 4 | ||
| 504 | #define PALMAS_ALARM_SECONDS_REG_ALARM_SEC0_MASK 0x0f | ||
| 505 | #define PALMAS_ALARM_SECONDS_REG_ALARM_SEC0_SHIFT 0 | ||
| 506 | |||
| 507 | /* Bit definitions for ALARM_MINUTES_REG */ | ||
| 508 | #define PALMAS_ALARM_MINUTES_REG_ALARM_MIN1_MASK 0x70 | ||
| 509 | #define PALMAS_ALARM_MINUTES_REG_ALARM_MIN1_SHIFT 4 | ||
| 510 | #define PALMAS_ALARM_MINUTES_REG_ALARM_MIN0_MASK 0x0f | ||
| 511 | #define PALMAS_ALARM_MINUTES_REG_ALARM_MIN0_SHIFT 0 | ||
| 512 | |||
| 513 | /* Bit definitions for ALARM_HOURS_REG */ | ||
| 514 | #define PALMAS_ALARM_HOURS_REG_ALARM_PM_NAM 0x80 | ||
| 515 | #define PALMAS_ALARM_HOURS_REG_ALARM_PM_NAM_SHIFT 7 | ||
| 516 | #define PALMAS_ALARM_HOURS_REG_ALARM_HOUR1_MASK 0x30 | ||
| 517 | #define PALMAS_ALARM_HOURS_REG_ALARM_HOUR1_SHIFT 4 | ||
| 518 | #define PALMAS_ALARM_HOURS_REG_ALARM_HOUR0_MASK 0x0f | ||
| 519 | #define PALMAS_ALARM_HOURS_REG_ALARM_HOUR0_SHIFT 0 | ||
| 520 | |||
| 521 | /* Bit definitions for ALARM_DAYS_REG */ | ||
| 522 | #define PALMAS_ALARM_DAYS_REG_ALARM_DAY1_MASK 0x30 | ||
| 523 | #define PALMAS_ALARM_DAYS_REG_ALARM_DAY1_SHIFT 4 | ||
| 524 | #define PALMAS_ALARM_DAYS_REG_ALARM_DAY0_MASK 0x0f | ||
| 525 | #define PALMAS_ALARM_DAYS_REG_ALARM_DAY0_SHIFT 0 | ||
| 526 | |||
| 527 | /* Bit definitions for ALARM_MONTHS_REG */ | ||
| 528 | #define PALMAS_ALARM_MONTHS_REG_ALARM_MONTH1 0x10 | ||
| 529 | #define PALMAS_ALARM_MONTHS_REG_ALARM_MONTH1_SHIFT 4 | ||
| 530 | #define PALMAS_ALARM_MONTHS_REG_ALARM_MONTH0_MASK 0x0f | ||
| 531 | #define PALMAS_ALARM_MONTHS_REG_ALARM_MONTH0_SHIFT 0 | ||
| 532 | |||
| 533 | /* Bit definitions for ALARM_YEARS_REG */ | ||
| 534 | #define PALMAS_ALARM_YEARS_REG_ALARM_YEAR1_MASK 0xf0 | ||
| 535 | #define PALMAS_ALARM_YEARS_REG_ALARM_YEAR1_SHIFT 4 | ||
| 536 | #define PALMAS_ALARM_YEARS_REG_ALARM_YEAR0_MASK 0x0f | ||
| 537 | #define PALMAS_ALARM_YEARS_REG_ALARM_YEAR0_SHIFT 0 | ||
| 538 | |||
| 539 | /* Bit definitions for RTC_CTRL_REG */ | ||
| 540 | #define PALMAS_RTC_CTRL_REG_RTC_V_OPT 0x80 | ||
| 541 | #define PALMAS_RTC_CTRL_REG_RTC_V_OPT_SHIFT 7 | ||
| 542 | #define PALMAS_RTC_CTRL_REG_GET_TIME 0x40 | ||
| 543 | #define PALMAS_RTC_CTRL_REG_GET_TIME_SHIFT 6 | ||
| 544 | #define PALMAS_RTC_CTRL_REG_SET_32_COUNTER 0x20 | ||
| 545 | #define PALMAS_RTC_CTRL_REG_SET_32_COUNTER_SHIFT 5 | ||
| 546 | #define PALMAS_RTC_CTRL_REG_TEST_MODE 0x10 | ||
| 547 | #define PALMAS_RTC_CTRL_REG_TEST_MODE_SHIFT 4 | ||
| 548 | #define PALMAS_RTC_CTRL_REG_MODE_12_24 0x08 | ||
| 549 | #define PALMAS_RTC_CTRL_REG_MODE_12_24_SHIFT 3 | ||
| 550 | #define PALMAS_RTC_CTRL_REG_AUTO_COMP 0x04 | ||
| 551 | #define PALMAS_RTC_CTRL_REG_AUTO_COMP_SHIFT 2 | ||
| 552 | #define PALMAS_RTC_CTRL_REG_ROUND_30S 0x02 | ||
| 553 | #define PALMAS_RTC_CTRL_REG_ROUND_30S_SHIFT 1 | ||
| 554 | #define PALMAS_RTC_CTRL_REG_STOP_RTC 0x01 | ||
| 555 | #define PALMAS_RTC_CTRL_REG_STOP_RTC_SHIFT 0 | ||
| 556 | |||
| 557 | /* Bit definitions for RTC_STATUS_REG */ | ||
| 558 | #define PALMAS_RTC_STATUS_REG_POWER_UP 0x80 | ||
| 559 | #define PALMAS_RTC_STATUS_REG_POWER_UP_SHIFT 7 | ||
| 560 | #define PALMAS_RTC_STATUS_REG_ALARM 0x40 | ||
| 561 | #define PALMAS_RTC_STATUS_REG_ALARM_SHIFT 6 | ||
| 562 | #define PALMAS_RTC_STATUS_REG_EVENT_1D 0x20 | ||
| 563 | #define PALMAS_RTC_STATUS_REG_EVENT_1D_SHIFT 5 | ||
| 564 | #define PALMAS_RTC_STATUS_REG_EVENT_1H 0x10 | ||
| 565 | #define PALMAS_RTC_STATUS_REG_EVENT_1H_SHIFT 4 | ||
| 566 | #define PALMAS_RTC_STATUS_REG_EVENT_1M 0x08 | ||
| 567 | #define PALMAS_RTC_STATUS_REG_EVENT_1M_SHIFT 3 | ||
| 568 | #define PALMAS_RTC_STATUS_REG_EVENT_1S 0x04 | ||
| 569 | #define PALMAS_RTC_STATUS_REG_EVENT_1S_SHIFT 2 | ||
| 570 | #define PALMAS_RTC_STATUS_REG_RUN 0x02 | ||
| 571 | #define PALMAS_RTC_STATUS_REG_RUN_SHIFT 1 | ||
| 572 | |||
| 573 | /* Bit definitions for RTC_INTERRUPTS_REG */ | ||
| 574 | #define PALMAS_RTC_INTERRUPTS_REG_IT_SLEEP_MASK_EN 0x10 | ||
| 575 | #define PALMAS_RTC_INTERRUPTS_REG_IT_SLEEP_MASK_EN_SHIFT 4 | ||
| 576 | #define PALMAS_RTC_INTERRUPTS_REG_IT_ALARM 0x08 | ||
| 577 | #define PALMAS_RTC_INTERRUPTS_REG_IT_ALARM_SHIFT 3 | ||
| 578 | #define PALMAS_RTC_INTERRUPTS_REG_IT_TIMER 0x04 | ||
| 579 | #define PALMAS_RTC_INTERRUPTS_REG_IT_TIMER_SHIFT 2 | ||
| 580 | #define PALMAS_RTC_INTERRUPTS_REG_EVERY_MASK 0x03 | ||
| 581 | #define PALMAS_RTC_INTERRUPTS_REG_EVERY_SHIFT 0 | ||
| 582 | |||
| 583 | /* Bit definitions for RTC_COMP_LSB_REG */ | ||
| 584 | #define PALMAS_RTC_COMP_LSB_REG_RTC_COMP_LSB_MASK 0xff | ||
| 585 | #define PALMAS_RTC_COMP_LSB_REG_RTC_COMP_LSB_SHIFT 0 | ||
| 586 | |||
| 587 | /* Bit definitions for RTC_COMP_MSB_REG */ | ||
| 588 | #define PALMAS_RTC_COMP_MSB_REG_RTC_COMP_MSB_MASK 0xff | ||
| 589 | #define PALMAS_RTC_COMP_MSB_REG_RTC_COMP_MSB_SHIFT 0 | ||
| 590 | |||
| 591 | /* Bit definitions for RTC_RES_PROG_REG */ | ||
| 592 | #define PALMAS_RTC_RES_PROG_REG_SW_RES_PROG_MASK 0x3f | ||
| 593 | #define PALMAS_RTC_RES_PROG_REG_SW_RES_PROG_SHIFT 0 | ||
| 594 | |||
| 595 | /* Bit definitions for RTC_RESET_STATUS_REG */ | ||
| 596 | #define PALMAS_RTC_RESET_STATUS_REG_RESET_STATUS 0x01 | ||
| 597 | #define PALMAS_RTC_RESET_STATUS_REG_RESET_STATUS_SHIFT 0 | ||
| 598 | |||
| 599 | /* Registers for function BACKUP */ | ||
| 600 | #define PALMAS_BACKUP0 0x0 | ||
| 601 | #define PALMAS_BACKUP1 0x1 | ||
| 602 | #define PALMAS_BACKUP2 0x2 | ||
| 603 | #define PALMAS_BACKUP3 0x3 | ||
| 604 | #define PALMAS_BACKUP4 0x4 | ||
| 605 | #define PALMAS_BACKUP5 0x5 | ||
| 606 | #define PALMAS_BACKUP6 0x6 | ||
| 607 | #define PALMAS_BACKUP7 0x7 | ||
| 608 | |||
| 609 | /* Bit definitions for BACKUP0 */ | ||
| 610 | #define PALMAS_BACKUP0_BACKUP_MASK 0xff | ||
| 611 | #define PALMAS_BACKUP0_BACKUP_SHIFT 0 | ||
| 612 | |||
| 613 | /* Bit definitions for BACKUP1 */ | ||
| 614 | #define PALMAS_BACKUP1_BACKUP_MASK 0xff | ||
| 615 | #define PALMAS_BACKUP1_BACKUP_SHIFT 0 | ||
| 616 | |||
| 617 | /* Bit definitions for BACKUP2 */ | ||
| 618 | #define PALMAS_BACKUP2_BACKUP_MASK 0xff | ||
| 619 | #define PALMAS_BACKUP2_BACKUP_SHIFT 0 | ||
| 620 | |||
| 621 | /* Bit definitions for BACKUP3 */ | ||
| 622 | #define PALMAS_BACKUP3_BACKUP_MASK 0xff | ||
| 623 | #define PALMAS_BACKUP3_BACKUP_SHIFT 0 | ||
| 624 | |||
| 625 | /* Bit definitions for BACKUP4 */ | ||
| 626 | #define PALMAS_BACKUP4_BACKUP_MASK 0xff | ||
| 627 | #define PALMAS_BACKUP4_BACKUP_SHIFT 0 | ||
| 628 | |||
| 629 | /* Bit definitions for BACKUP5 */ | ||
| 630 | #define PALMAS_BACKUP5_BACKUP_MASK 0xff | ||
| 631 | #define PALMAS_BACKUP5_BACKUP_SHIFT 0 | ||
| 632 | |||
| 633 | /* Bit definitions for BACKUP6 */ | ||
| 634 | #define PALMAS_BACKUP6_BACKUP_MASK 0xff | ||
| 635 | #define PALMAS_BACKUP6_BACKUP_SHIFT 0 | ||
| 636 | |||
| 637 | /* Bit definitions for BACKUP7 */ | ||
| 638 | #define PALMAS_BACKUP7_BACKUP_MASK 0xff | ||
| 639 | #define PALMAS_BACKUP7_BACKUP_SHIFT 0 | ||
| 640 | |||
| 641 | /* Registers for function SMPS */ | ||
| 642 | #define PALMAS_SMPS12_CTRL 0x0 | ||
| 643 | #define PALMAS_SMPS12_TSTEP 0x1 | ||
| 644 | #define PALMAS_SMPS12_FORCE 0x2 | ||
| 645 | #define PALMAS_SMPS12_VOLTAGE 0x3 | ||
| 646 | #define PALMAS_SMPS3_CTRL 0x4 | ||
| 647 | #define PALMAS_SMPS3_VOLTAGE 0x7 | ||
| 648 | #define PALMAS_SMPS45_CTRL 0x8 | ||
| 649 | #define PALMAS_SMPS45_TSTEP 0x9 | ||
| 650 | #define PALMAS_SMPS45_FORCE 0xA | ||
| 651 | #define PALMAS_SMPS45_VOLTAGE 0xB | ||
| 652 | #define PALMAS_SMPS6_CTRL 0xC | ||
| 653 | #define PALMAS_SMPS6_TSTEP 0xD | ||
| 654 | #define PALMAS_SMPS6_FORCE 0xE | ||
| 655 | #define PALMAS_SMPS6_VOLTAGE 0xF | ||
| 656 | #define PALMAS_SMPS7_CTRL 0x10 | ||
| 657 | #define PALMAS_SMPS7_VOLTAGE 0x13 | ||
| 658 | #define PALMAS_SMPS8_CTRL 0x14 | ||
| 659 | #define PALMAS_SMPS8_TSTEP 0x15 | ||
| 660 | #define PALMAS_SMPS8_FORCE 0x16 | ||
| 661 | #define PALMAS_SMPS8_VOLTAGE 0x17 | ||
| 662 | #define PALMAS_SMPS9_CTRL 0x18 | ||
| 663 | #define PALMAS_SMPS9_VOLTAGE 0x1B | ||
| 664 | #define PALMAS_SMPS10_CTRL 0x1C | ||
| 665 | #define PALMAS_SMPS10_STATUS 0x1F | ||
| 666 | #define PALMAS_SMPS_CTRL 0x24 | ||
| 667 | #define PALMAS_SMPS_PD_CTRL 0x25 | ||
| 668 | #define PALMAS_SMPS_DITHER_EN 0x26 | ||
| 669 | #define PALMAS_SMPS_THERMAL_EN 0x27 | ||
| 670 | #define PALMAS_SMPS_THERMAL_STATUS 0x28 | ||
| 671 | #define PALMAS_SMPS_SHORT_STATUS 0x29 | ||
| 672 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN 0x2A | ||
| 673 | #define PALMAS_SMPS_POWERGOOD_MASK1 0x2B | ||
| 674 | #define PALMAS_SMPS_POWERGOOD_MASK2 0x2C | ||
| 675 | |||
| 676 | /* Bit definitions for SMPS12_CTRL */ | ||
| 677 | #define PALMAS_SMPS12_CTRL_WR_S 0x80 | ||
| 678 | #define PALMAS_SMPS12_CTRL_WR_S_SHIFT 7 | ||
| 679 | #define PALMAS_SMPS12_CTRL_ROOF_FLOOR_EN 0x40 | ||
| 680 | #define PALMAS_SMPS12_CTRL_ROOF_FLOOR_EN_SHIFT 6 | ||
| 681 | #define PALMAS_SMPS12_CTRL_STATUS_MASK 0x30 | ||
| 682 | #define PALMAS_SMPS12_CTRL_STATUS_SHIFT 4 | ||
| 683 | #define PALMAS_SMPS12_CTRL_MODE_SLEEP_MASK 0x0c | ||
| 684 | #define PALMAS_SMPS12_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 685 | #define PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK 0x03 | ||
| 686 | #define PALMAS_SMPS12_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 687 | |||
| 688 | /* Bit definitions for SMPS12_TSTEP */ | ||
| 689 | #define PALMAS_SMPS12_TSTEP_TSTEP_MASK 0x03 | ||
| 690 | #define PALMAS_SMPS12_TSTEP_TSTEP_SHIFT 0 | ||
| 691 | |||
| 692 | /* Bit definitions for SMPS12_FORCE */ | ||
| 693 | #define PALMAS_SMPS12_FORCE_CMD 0x80 | ||
| 694 | #define PALMAS_SMPS12_FORCE_CMD_SHIFT 7 | ||
| 695 | #define PALMAS_SMPS12_FORCE_VSEL_MASK 0x7f | ||
| 696 | #define PALMAS_SMPS12_FORCE_VSEL_SHIFT 0 | ||
| 697 | |||
| 698 | /* Bit definitions for SMPS12_VOLTAGE */ | ||
| 699 | #define PALMAS_SMPS12_VOLTAGE_RANGE 0x80 | ||
| 700 | #define PALMAS_SMPS12_VOLTAGE_RANGE_SHIFT 7 | ||
| 701 | #define PALMAS_SMPS12_VOLTAGE_VSEL_MASK 0x7f | ||
| 702 | #define PALMAS_SMPS12_VOLTAGE_VSEL_SHIFT 0 | ||
| 703 | |||
| 704 | /* Bit definitions for SMPS3_CTRL */ | ||
| 705 | #define PALMAS_SMPS3_CTRL_WR_S 0x80 | ||
| 706 | #define PALMAS_SMPS3_CTRL_WR_S_SHIFT 7 | ||
| 707 | #define PALMAS_SMPS3_CTRL_STATUS_MASK 0x30 | ||
| 708 | #define PALMAS_SMPS3_CTRL_STATUS_SHIFT 4 | ||
| 709 | #define PALMAS_SMPS3_CTRL_MODE_SLEEP_MASK 0x0c | ||
| 710 | #define PALMAS_SMPS3_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 711 | #define PALMAS_SMPS3_CTRL_MODE_ACTIVE_MASK 0x03 | ||
| 712 | #define PALMAS_SMPS3_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 713 | |||
| 714 | /* Bit definitions for SMPS3_VOLTAGE */ | ||
| 715 | #define PALMAS_SMPS3_VOLTAGE_RANGE 0x80 | ||
| 716 | #define PALMAS_SMPS3_VOLTAGE_RANGE_SHIFT 7 | ||
| 717 | #define PALMAS_SMPS3_VOLTAGE_VSEL_MASK 0x7f | ||
| 718 | #define PALMAS_SMPS3_VOLTAGE_VSEL_SHIFT 0 | ||
| 719 | |||
| 720 | /* Bit definitions for SMPS45_CTRL */ | ||
| 721 | #define PALMAS_SMPS45_CTRL_WR_S 0x80 | ||
| 722 | #define PALMAS_SMPS45_CTRL_WR_S_SHIFT 7 | ||
| 723 | #define PALMAS_SMPS45_CTRL_ROOF_FLOOR_EN 0x40 | ||
| 724 | #define PALMAS_SMPS45_CTRL_ROOF_FLOOR_EN_SHIFT 6 | ||
| 725 | #define PALMAS_SMPS45_CTRL_STATUS_MASK 0x30 | ||
| 726 | #define PALMAS_SMPS45_CTRL_STATUS_SHIFT 4 | ||
| 727 | #define PALMAS_SMPS45_CTRL_MODE_SLEEP_MASK 0x0c | ||
| 728 | #define PALMAS_SMPS45_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 729 | #define PALMAS_SMPS45_CTRL_MODE_ACTIVE_MASK 0x03 | ||
| 730 | #define PALMAS_SMPS45_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 731 | |||
| 732 | /* Bit definitions for SMPS45_TSTEP */ | ||
| 733 | #define PALMAS_SMPS45_TSTEP_TSTEP_MASK 0x03 | ||
| 734 | #define PALMAS_SMPS45_TSTEP_TSTEP_SHIFT 0 | ||
| 735 | |||
| 736 | /* Bit definitions for SMPS45_FORCE */ | ||
| 737 | #define PALMAS_SMPS45_FORCE_CMD 0x80 | ||
| 738 | #define PALMAS_SMPS45_FORCE_CMD_SHIFT 7 | ||
| 739 | #define PALMAS_SMPS45_FORCE_VSEL_MASK 0x7f | ||
| 740 | #define PALMAS_SMPS45_FORCE_VSEL_SHIFT 0 | ||
| 741 | |||
| 742 | /* Bit definitions for SMPS45_VOLTAGE */ | ||
| 743 | #define PALMAS_SMPS45_VOLTAGE_RANGE 0x80 | ||
| 744 | #define PALMAS_SMPS45_VOLTAGE_RANGE_SHIFT 7 | ||
| 745 | #define PALMAS_SMPS45_VOLTAGE_VSEL_MASK 0x7f | ||
| 746 | #define PALMAS_SMPS45_VOLTAGE_VSEL_SHIFT 0 | ||
| 747 | |||
| 748 | /* Bit definitions for SMPS6_CTRL */ | ||
| 749 | #define PALMAS_SMPS6_CTRL_WR_S 0x80 | ||
| 750 | #define PALMAS_SMPS6_CTRL_WR_S_SHIFT 7 | ||
| 751 | #define PALMAS_SMPS6_CTRL_ROOF_FLOOR_EN 0x40 | ||
| 752 | #define PALMAS_SMPS6_CTRL_ROOF_FLOOR_EN_SHIFT 6 | ||
| 753 | #define PALMAS_SMPS6_CTRL_STATUS_MASK 0x30 | ||
| 754 | #define PALMAS_SMPS6_CTRL_STATUS_SHIFT 4 | ||
| 755 | #define PALMAS_SMPS6_CTRL_MODE_SLEEP_MASK 0x0c | ||
| 756 | #define PALMAS_SMPS6_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 757 | #define PALMAS_SMPS6_CTRL_MODE_ACTIVE_MASK 0x03 | ||
| 758 | #define PALMAS_SMPS6_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 759 | |||
| 760 | /* Bit definitions for SMPS6_TSTEP */ | ||
| 761 | #define PALMAS_SMPS6_TSTEP_TSTEP_MASK 0x03 | ||
| 762 | #define PALMAS_SMPS6_TSTEP_TSTEP_SHIFT 0 | ||
| 763 | |||
| 764 | /* Bit definitions for SMPS6_FORCE */ | ||
| 765 | #define PALMAS_SMPS6_FORCE_CMD 0x80 | ||
| 766 | #define PALMAS_SMPS6_FORCE_CMD_SHIFT 7 | ||
| 767 | #define PALMAS_SMPS6_FORCE_VSEL_MASK 0x7f | ||
| 768 | #define PALMAS_SMPS6_FORCE_VSEL_SHIFT 0 | ||
| 769 | |||
| 770 | /* Bit definitions for SMPS6_VOLTAGE */ | ||
| 771 | #define PALMAS_SMPS6_VOLTAGE_RANGE 0x80 | ||
| 772 | #define PALMAS_SMPS6_VOLTAGE_RANGE_SHIFT 7 | ||
| 773 | #define PALMAS_SMPS6_VOLTAGE_VSEL_MASK 0x7f | ||
| 774 | #define PALMAS_SMPS6_VOLTAGE_VSEL_SHIFT 0 | ||
| 775 | |||
| 776 | /* Bit definitions for SMPS7_CTRL */ | ||
| 777 | #define PALMAS_SMPS7_CTRL_WR_S 0x80 | ||
| 778 | #define PALMAS_SMPS7_CTRL_WR_S_SHIFT 7 | ||
| 779 | #define PALMAS_SMPS7_CTRL_STATUS_MASK 0x30 | ||
| 780 | #define PALMAS_SMPS7_CTRL_STATUS_SHIFT 4 | ||
| 781 | #define PALMAS_SMPS7_CTRL_MODE_SLEEP_MASK 0x0c | ||
| 782 | #define PALMAS_SMPS7_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 783 | #define PALMAS_SMPS7_CTRL_MODE_ACTIVE_MASK 0x03 | ||
| 784 | #define PALMAS_SMPS7_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 785 | |||
| 786 | /* Bit definitions for SMPS7_VOLTAGE */ | ||
| 787 | #define PALMAS_SMPS7_VOLTAGE_RANGE 0x80 | ||
| 788 | #define PALMAS_SMPS7_VOLTAGE_RANGE_SHIFT 7 | ||
| 789 | #define PALMAS_SMPS7_VOLTAGE_VSEL_MASK 0x7f | ||
| 790 | #define PALMAS_SMPS7_VOLTAGE_VSEL_SHIFT 0 | ||
| 791 | |||
| 792 | /* Bit definitions for SMPS8_CTRL */ | ||
| 793 | #define PALMAS_SMPS8_CTRL_WR_S 0x80 | ||
| 794 | #define PALMAS_SMPS8_CTRL_WR_S_SHIFT 7 | ||
| 795 | #define PALMAS_SMPS8_CTRL_ROOF_FLOOR_EN 0x40 | ||
| 796 | #define PALMAS_SMPS8_CTRL_ROOF_FLOOR_EN_SHIFT 6 | ||
| 797 | #define PALMAS_SMPS8_CTRL_STATUS_MASK 0x30 | ||
| 798 | #define PALMAS_SMPS8_CTRL_STATUS_SHIFT 4 | ||
| 799 | #define PALMAS_SMPS8_CTRL_MODE_SLEEP_MASK 0x0c | ||
| 800 | #define PALMAS_SMPS8_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 801 | #define PALMAS_SMPS8_CTRL_MODE_ACTIVE_MASK 0x03 | ||
| 802 | #define PALMAS_SMPS8_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 803 | |||
| 804 | /* Bit definitions for SMPS8_TSTEP */ | ||
| 805 | #define PALMAS_SMPS8_TSTEP_TSTEP_MASK 0x03 | ||
| 806 | #define PALMAS_SMPS8_TSTEP_TSTEP_SHIFT 0 | ||
| 807 | |||
| 808 | /* Bit definitions for SMPS8_FORCE */ | ||
| 809 | #define PALMAS_SMPS8_FORCE_CMD 0x80 | ||
| 810 | #define PALMAS_SMPS8_FORCE_CMD_SHIFT 7 | ||
| 811 | #define PALMAS_SMPS8_FORCE_VSEL_MASK 0x7f | ||
| 812 | #define PALMAS_SMPS8_FORCE_VSEL_SHIFT 0 | ||
| 813 | |||
| 814 | /* Bit definitions for SMPS8_VOLTAGE */ | ||
| 815 | #define PALMAS_SMPS8_VOLTAGE_RANGE 0x80 | ||
| 816 | #define PALMAS_SMPS8_VOLTAGE_RANGE_SHIFT 7 | ||
| 817 | #define PALMAS_SMPS8_VOLTAGE_VSEL_MASK 0x7f | ||
| 818 | #define PALMAS_SMPS8_VOLTAGE_VSEL_SHIFT 0 | ||
| 819 | |||
| 820 | /* Bit definitions for SMPS9_CTRL */ | ||
| 821 | #define PALMAS_SMPS9_CTRL_WR_S 0x80 | ||
| 822 | #define PALMAS_SMPS9_CTRL_WR_S_SHIFT 7 | ||
| 823 | #define PALMAS_SMPS9_CTRL_STATUS_MASK 0x30 | ||
| 824 | #define PALMAS_SMPS9_CTRL_STATUS_SHIFT 4 | ||
| 825 | #define PALMAS_SMPS9_CTRL_MODE_SLEEP_MASK 0x0c | ||
| 826 | #define PALMAS_SMPS9_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 827 | #define PALMAS_SMPS9_CTRL_MODE_ACTIVE_MASK 0x03 | ||
| 828 | #define PALMAS_SMPS9_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 829 | |||
| 830 | /* Bit definitions for SMPS9_VOLTAGE */ | ||
| 831 | #define PALMAS_SMPS9_VOLTAGE_RANGE 0x80 | ||
| 832 | #define PALMAS_SMPS9_VOLTAGE_RANGE_SHIFT 7 | ||
| 833 | #define PALMAS_SMPS9_VOLTAGE_VSEL_MASK 0x7f | ||
| 834 | #define PALMAS_SMPS9_VOLTAGE_VSEL_SHIFT 0 | ||
| 835 | |||
| 836 | /* Bit definitions for SMPS10_CTRL */ | ||
| 837 | #define PALMAS_SMPS10_CTRL_MODE_SLEEP_MASK 0xf0 | ||
| 838 | #define PALMAS_SMPS10_CTRL_MODE_SLEEP_SHIFT 4 | ||
| 839 | #define PALMAS_SMPS10_CTRL_MODE_ACTIVE_MASK 0x0f | ||
| 840 | #define PALMAS_SMPS10_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 841 | |||
| 842 | /* Bit definitions for SMPS10_STATUS */ | ||
| 843 | #define PALMAS_SMPS10_STATUS_STATUS_MASK 0x0f | ||
| 844 | #define PALMAS_SMPS10_STATUS_STATUS_SHIFT 0 | ||
| 845 | |||
| 846 | /* Bit definitions for SMPS_CTRL */ | ||
| 847 | #define PALMAS_SMPS_CTRL_SMPS45_SMPS457_EN 0x20 | ||
| 848 | #define PALMAS_SMPS_CTRL_SMPS45_SMPS457_EN_SHIFT 5 | ||
| 849 | #define PALMAS_SMPS_CTRL_SMPS12_SMPS123_EN 0x10 | ||
| 850 | #define PALMAS_SMPS_CTRL_SMPS12_SMPS123_EN_SHIFT 4 | ||
| 851 | #define PALMAS_SMPS_CTRL_SMPS45_PHASE_CTRL_MASK 0x0c | ||
| 852 | #define PALMAS_SMPS_CTRL_SMPS45_PHASE_CTRL_SHIFT 2 | ||
| 853 | #define PALMAS_SMPS_CTRL_SMPS123_PHASE_CTRL_MASK 0x03 | ||
| 854 | #define PALMAS_SMPS_CTRL_SMPS123_PHASE_CTRL_SHIFT 0 | ||
| 855 | |||
| 856 | /* Bit definitions for SMPS_PD_CTRL */ | ||
| 857 | #define PALMAS_SMPS_PD_CTRL_SMPS9 0x40 | ||
| 858 | #define PALMAS_SMPS_PD_CTRL_SMPS9_SHIFT 6 | ||
| 859 | #define PALMAS_SMPS_PD_CTRL_SMPS8 0x20 | ||
| 860 | #define PALMAS_SMPS_PD_CTRL_SMPS8_SHIFT 5 | ||
| 861 | #define PALMAS_SMPS_PD_CTRL_SMPS7 0x10 | ||
| 862 | #define PALMAS_SMPS_PD_CTRL_SMPS7_SHIFT 4 | ||
| 863 | #define PALMAS_SMPS_PD_CTRL_SMPS6 0x08 | ||
| 864 | #define PALMAS_SMPS_PD_CTRL_SMPS6_SHIFT 3 | ||
| 865 | #define PALMAS_SMPS_PD_CTRL_SMPS45 0x04 | ||
| 866 | #define PALMAS_SMPS_PD_CTRL_SMPS45_SHIFT 2 | ||
| 867 | #define PALMAS_SMPS_PD_CTRL_SMPS3 0x02 | ||
| 868 | #define PALMAS_SMPS_PD_CTRL_SMPS3_SHIFT 1 | ||
| 869 | #define PALMAS_SMPS_PD_CTRL_SMPS12 0x01 | ||
| 870 | #define PALMAS_SMPS_PD_CTRL_SMPS12_SHIFT 0 | ||
| 871 | |||
| 872 | /* Bit definitions for SMPS_THERMAL_EN */ | ||
| 873 | #define PALMAS_SMPS_THERMAL_EN_SMPS9 0x40 | ||
| 874 | #define PALMAS_SMPS_THERMAL_EN_SMPS9_SHIFT 6 | ||
| 875 | #define PALMAS_SMPS_THERMAL_EN_SMPS8 0x20 | ||
| 876 | #define PALMAS_SMPS_THERMAL_EN_SMPS8_SHIFT 5 | ||
| 877 | #define PALMAS_SMPS_THERMAL_EN_SMPS6 0x08 | ||
| 878 | #define PALMAS_SMPS_THERMAL_EN_SMPS6_SHIFT 3 | ||
| 879 | #define PALMAS_SMPS_THERMAL_EN_SMPS457 0x04 | ||
| 880 | #define PALMAS_SMPS_THERMAL_EN_SMPS457_SHIFT 2 | ||
| 881 | #define PALMAS_SMPS_THERMAL_EN_SMPS123 0x01 | ||
| 882 | #define PALMAS_SMPS_THERMAL_EN_SMPS123_SHIFT 0 | ||
| 883 | |||
| 884 | /* Bit definitions for SMPS_THERMAL_STATUS */ | ||
| 885 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS9 0x40 | ||
| 886 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS9_SHIFT 6 | ||
| 887 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS8 0x20 | ||
| 888 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS8_SHIFT 5 | ||
| 889 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS6 0x08 | ||
| 890 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS6_SHIFT 3 | ||
| 891 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS457 0x04 | ||
| 892 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS457_SHIFT 2 | ||
| 893 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS123 0x01 | ||
| 894 | #define PALMAS_SMPS_THERMAL_STATUS_SMPS123_SHIFT 0 | ||
| 895 | |||
| 896 | /* Bit definitions for SMPS_SHORT_STATUS */ | ||
| 897 | #define PALMAS_SMPS_SHORT_STATUS_SMPS10 0x80 | ||
| 898 | #define PALMAS_SMPS_SHORT_STATUS_SMPS10_SHIFT 7 | ||
| 899 | #define PALMAS_SMPS_SHORT_STATUS_SMPS9 0x40 | ||
| 900 | #define PALMAS_SMPS_SHORT_STATUS_SMPS9_SHIFT 6 | ||
| 901 | #define PALMAS_SMPS_SHORT_STATUS_SMPS8 0x20 | ||
| 902 | #define PALMAS_SMPS_SHORT_STATUS_SMPS8_SHIFT 5 | ||
| 903 | #define PALMAS_SMPS_SHORT_STATUS_SMPS7 0x10 | ||
| 904 | #define PALMAS_SMPS_SHORT_STATUS_SMPS7_SHIFT 4 | ||
| 905 | #define PALMAS_SMPS_SHORT_STATUS_SMPS6 0x08 | ||
| 906 | #define PALMAS_SMPS_SHORT_STATUS_SMPS6_SHIFT 3 | ||
| 907 | #define PALMAS_SMPS_SHORT_STATUS_SMPS45 0x04 | ||
| 908 | #define PALMAS_SMPS_SHORT_STATUS_SMPS45_SHIFT 2 | ||
| 909 | #define PALMAS_SMPS_SHORT_STATUS_SMPS3 0x02 | ||
| 910 | #define PALMAS_SMPS_SHORT_STATUS_SMPS3_SHIFT 1 | ||
| 911 | #define PALMAS_SMPS_SHORT_STATUS_SMPS12 0x01 | ||
| 912 | #define PALMAS_SMPS_SHORT_STATUS_SMPS12_SHIFT 0 | ||
| 913 | |||
| 914 | /* Bit definitions for SMPS_NEGATIVE_CURRENT_LIMIT_EN */ | ||
| 915 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS9 0x40 | ||
| 916 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS9_SHIFT 6 | ||
| 917 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS8 0x20 | ||
| 918 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS8_SHIFT 5 | ||
| 919 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS7 0x10 | ||
| 920 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS7_SHIFT 4 | ||
| 921 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS6 0x08 | ||
| 922 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS6_SHIFT 3 | ||
| 923 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS45 0x04 | ||
| 924 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS45_SHIFT 2 | ||
| 925 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS3 0x02 | ||
| 926 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS3_SHIFT 1 | ||
| 927 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS12 0x01 | ||
| 928 | #define PALMAS_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS12_SHIFT 0 | ||
| 929 | |||
| 930 | /* Bit definitions for SMPS_POWERGOOD_MASK1 */ | ||
| 931 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS10 0x80 | ||
| 932 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS10_SHIFT 7 | ||
| 933 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS9 0x40 | ||
| 934 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS9_SHIFT 6 | ||
| 935 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS8 0x20 | ||
| 936 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS8_SHIFT 5 | ||
| 937 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS7 0x10 | ||
| 938 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS7_SHIFT 4 | ||
| 939 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS6 0x08 | ||
| 940 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS6_SHIFT 3 | ||
| 941 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS45 0x04 | ||
| 942 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS45_SHIFT 2 | ||
| 943 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS3 0x02 | ||
| 944 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS3_SHIFT 1 | ||
| 945 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS12 0x01 | ||
| 946 | #define PALMAS_SMPS_POWERGOOD_MASK1_SMPS12_SHIFT 0 | ||
| 947 | |||
| 948 | /* Bit definitions for SMPS_POWERGOOD_MASK2 */ | ||
| 949 | #define PALMAS_SMPS_POWERGOOD_MASK2_POWERGOOD_TYPE_SELECT 0x80 | ||
| 950 | #define PALMAS_SMPS_POWERGOOD_MASK2_POWERGOOD_TYPE_SELECT_SHIFT 7 | ||
| 951 | #define PALMAS_SMPS_POWERGOOD_MASK2_GPIO_7 0x04 | ||
| 952 | #define PALMAS_SMPS_POWERGOOD_MASK2_GPIO_7_SHIFT 2 | ||
| 953 | #define PALMAS_SMPS_POWERGOOD_MASK2_VBUS 0x02 | ||
| 954 | #define PALMAS_SMPS_POWERGOOD_MASK2_VBUS_SHIFT 1 | ||
| 955 | #define PALMAS_SMPS_POWERGOOD_MASK2_ACOK 0x01 | ||
| 956 | #define PALMAS_SMPS_POWERGOOD_MASK2_ACOK_SHIFT 0 | ||
| 957 | |||
| 958 | /* Registers for function LDO */ | ||
| 959 | #define PALMAS_LDO1_CTRL 0x0 | ||
| 960 | #define PALMAS_LDO1_VOLTAGE 0x1 | ||
| 961 | #define PALMAS_LDO2_CTRL 0x2 | ||
| 962 | #define PALMAS_LDO2_VOLTAGE 0x3 | ||
| 963 | #define PALMAS_LDO3_CTRL 0x4 | ||
| 964 | #define PALMAS_LDO3_VOLTAGE 0x5 | ||
| 965 | #define PALMAS_LDO4_CTRL 0x6 | ||
| 966 | #define PALMAS_LDO4_VOLTAGE 0x7 | ||
| 967 | #define PALMAS_LDO5_CTRL 0x8 | ||
| 968 | #define PALMAS_LDO5_VOLTAGE 0x9 | ||
| 969 | #define PALMAS_LDO6_CTRL 0xA | ||
| 970 | #define PALMAS_LDO6_VOLTAGE 0xB | ||
| 971 | #define PALMAS_LDO7_CTRL 0xC | ||
| 972 | #define PALMAS_LDO7_VOLTAGE 0xD | ||
| 973 | #define PALMAS_LDO8_CTRL 0xE | ||
| 974 | #define PALMAS_LDO8_VOLTAGE 0xF | ||
| 975 | #define PALMAS_LDO9_CTRL 0x10 | ||
| 976 | #define PALMAS_LDO9_VOLTAGE 0x11 | ||
| 977 | #define PALMAS_LDOLN_CTRL 0x12 | ||
| 978 | #define PALMAS_LDOLN_VOLTAGE 0x13 | ||
| 979 | #define PALMAS_LDOUSB_CTRL 0x14 | ||
| 980 | #define PALMAS_LDOUSB_VOLTAGE 0x15 | ||
| 981 | #define PALMAS_LDO_CTRL 0x1A | ||
| 982 | #define PALMAS_LDO_PD_CTRL1 0x1B | ||
| 983 | #define PALMAS_LDO_PD_CTRL2 0x1C | ||
| 984 | #define PALMAS_LDO_SHORT_STATUS1 0x1D | ||
| 985 | #define PALMAS_LDO_SHORT_STATUS2 0x1E | ||
| 986 | |||
| 987 | /* Bit definitions for LDO1_CTRL */ | ||
| 988 | #define PALMAS_LDO1_CTRL_WR_S 0x80 | ||
| 989 | #define PALMAS_LDO1_CTRL_WR_S_SHIFT 7 | ||
| 990 | #define PALMAS_LDO1_CTRL_STATUS 0x10 | ||
| 991 | #define PALMAS_LDO1_CTRL_STATUS_SHIFT 4 | ||
| 992 | #define PALMAS_LDO1_CTRL_MODE_SLEEP 0x04 | ||
| 993 | #define PALMAS_LDO1_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 994 | #define PALMAS_LDO1_CTRL_MODE_ACTIVE 0x01 | ||
| 995 | #define PALMAS_LDO1_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 996 | |||
| 997 | /* Bit definitions for LDO1_VOLTAGE */ | ||
| 998 | #define PALMAS_LDO1_VOLTAGE_VSEL_MASK 0x3f | ||
| 999 | #define PALMAS_LDO1_VOLTAGE_VSEL_SHIFT 0 | ||
| 1000 | |||
| 1001 | /* Bit definitions for LDO2_CTRL */ | ||
| 1002 | #define PALMAS_LDO2_CTRL_WR_S 0x80 | ||
| 1003 | #define PALMAS_LDO2_CTRL_WR_S_SHIFT 7 | ||
| 1004 | #define PALMAS_LDO2_CTRL_STATUS 0x10 | ||
| 1005 | #define PALMAS_LDO2_CTRL_STATUS_SHIFT 4 | ||
| 1006 | #define PALMAS_LDO2_CTRL_MODE_SLEEP 0x04 | ||
| 1007 | #define PALMAS_LDO2_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1008 | #define PALMAS_LDO2_CTRL_MODE_ACTIVE 0x01 | ||
| 1009 | #define PALMAS_LDO2_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1010 | |||
| 1011 | /* Bit definitions for LDO2_VOLTAGE */ | ||
| 1012 | #define PALMAS_LDO2_VOLTAGE_VSEL_MASK 0x3f | ||
| 1013 | #define PALMAS_LDO2_VOLTAGE_VSEL_SHIFT 0 | ||
| 1014 | |||
| 1015 | /* Bit definitions for LDO3_CTRL */ | ||
| 1016 | #define PALMAS_LDO3_CTRL_WR_S 0x80 | ||
| 1017 | #define PALMAS_LDO3_CTRL_WR_S_SHIFT 7 | ||
| 1018 | #define PALMAS_LDO3_CTRL_STATUS 0x10 | ||
| 1019 | #define PALMAS_LDO3_CTRL_STATUS_SHIFT 4 | ||
| 1020 | #define PALMAS_LDO3_CTRL_MODE_SLEEP 0x04 | ||
| 1021 | #define PALMAS_LDO3_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1022 | #define PALMAS_LDO3_CTRL_MODE_ACTIVE 0x01 | ||
| 1023 | #define PALMAS_LDO3_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1024 | |||
| 1025 | /* Bit definitions for LDO3_VOLTAGE */ | ||
| 1026 | #define PALMAS_LDO3_VOLTAGE_VSEL_MASK 0x3f | ||
| 1027 | #define PALMAS_LDO3_VOLTAGE_VSEL_SHIFT 0 | ||
| 1028 | |||
| 1029 | /* Bit definitions for LDO4_CTRL */ | ||
| 1030 | #define PALMAS_LDO4_CTRL_WR_S 0x80 | ||
| 1031 | #define PALMAS_LDO4_CTRL_WR_S_SHIFT 7 | ||
| 1032 | #define PALMAS_LDO4_CTRL_STATUS 0x10 | ||
| 1033 | #define PALMAS_LDO4_CTRL_STATUS_SHIFT 4 | ||
| 1034 | #define PALMAS_LDO4_CTRL_MODE_SLEEP 0x04 | ||
| 1035 | #define PALMAS_LDO4_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1036 | #define PALMAS_LDO4_CTRL_MODE_ACTIVE 0x01 | ||
| 1037 | #define PALMAS_LDO4_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1038 | |||
| 1039 | /* Bit definitions for LDO4_VOLTAGE */ | ||
| 1040 | #define PALMAS_LDO4_VOLTAGE_VSEL_MASK 0x3f | ||
| 1041 | #define PALMAS_LDO4_VOLTAGE_VSEL_SHIFT 0 | ||
| 1042 | |||
| 1043 | /* Bit definitions for LDO5_CTRL */ | ||
| 1044 | #define PALMAS_LDO5_CTRL_WR_S 0x80 | ||
| 1045 | #define PALMAS_LDO5_CTRL_WR_S_SHIFT 7 | ||
| 1046 | #define PALMAS_LDO5_CTRL_STATUS 0x10 | ||
| 1047 | #define PALMAS_LDO5_CTRL_STATUS_SHIFT 4 | ||
| 1048 | #define PALMAS_LDO5_CTRL_MODE_SLEEP 0x04 | ||
| 1049 | #define PALMAS_LDO5_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1050 | #define PALMAS_LDO5_CTRL_MODE_ACTIVE 0x01 | ||
| 1051 | #define PALMAS_LDO5_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1052 | |||
| 1053 | /* Bit definitions for LDO5_VOLTAGE */ | ||
| 1054 | #define PALMAS_LDO5_VOLTAGE_VSEL_MASK 0x3f | ||
| 1055 | #define PALMAS_LDO5_VOLTAGE_VSEL_SHIFT 0 | ||
| 1056 | |||
| 1057 | /* Bit definitions for LDO6_CTRL */ | ||
| 1058 | #define PALMAS_LDO6_CTRL_WR_S 0x80 | ||
| 1059 | #define PALMAS_LDO6_CTRL_WR_S_SHIFT 7 | ||
| 1060 | #define PALMAS_LDO6_CTRL_LDO_VIB_EN 0x40 | ||
| 1061 | #define PALMAS_LDO6_CTRL_LDO_VIB_EN_SHIFT 6 | ||
| 1062 | #define PALMAS_LDO6_CTRL_STATUS 0x10 | ||
| 1063 | #define PALMAS_LDO6_CTRL_STATUS_SHIFT 4 | ||
| 1064 | #define PALMAS_LDO6_CTRL_MODE_SLEEP 0x04 | ||
| 1065 | #define PALMAS_LDO6_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1066 | #define PALMAS_LDO6_CTRL_MODE_ACTIVE 0x01 | ||
| 1067 | #define PALMAS_LDO6_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1068 | |||
| 1069 | /* Bit definitions for LDO6_VOLTAGE */ | ||
| 1070 | #define PALMAS_LDO6_VOLTAGE_VSEL_MASK 0x3f | ||
| 1071 | #define PALMAS_LDO6_VOLTAGE_VSEL_SHIFT 0 | ||
| 1072 | |||
| 1073 | /* Bit definitions for LDO7_CTRL */ | ||
| 1074 | #define PALMAS_LDO7_CTRL_WR_S 0x80 | ||
| 1075 | #define PALMAS_LDO7_CTRL_WR_S_SHIFT 7 | ||
| 1076 | #define PALMAS_LDO7_CTRL_STATUS 0x10 | ||
| 1077 | #define PALMAS_LDO7_CTRL_STATUS_SHIFT 4 | ||
| 1078 | #define PALMAS_LDO7_CTRL_MODE_SLEEP 0x04 | ||
| 1079 | #define PALMAS_LDO7_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1080 | #define PALMAS_LDO7_CTRL_MODE_ACTIVE 0x01 | ||
| 1081 | #define PALMAS_LDO7_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1082 | |||
| 1083 | /* Bit definitions for LDO7_VOLTAGE */ | ||
| 1084 | #define PALMAS_LDO7_VOLTAGE_VSEL_MASK 0x3f | ||
| 1085 | #define PALMAS_LDO7_VOLTAGE_VSEL_SHIFT 0 | ||
| 1086 | |||
| 1087 | /* Bit definitions for LDO8_CTRL */ | ||
| 1088 | #define PALMAS_LDO8_CTRL_WR_S 0x80 | ||
| 1089 | #define PALMAS_LDO8_CTRL_WR_S_SHIFT 7 | ||
| 1090 | #define PALMAS_LDO8_CTRL_LDO_TRACKING_EN 0x40 | ||
| 1091 | #define PALMAS_LDO8_CTRL_LDO_TRACKING_EN_SHIFT 6 | ||
| 1092 | #define PALMAS_LDO8_CTRL_STATUS 0x10 | ||
| 1093 | #define PALMAS_LDO8_CTRL_STATUS_SHIFT 4 | ||
| 1094 | #define PALMAS_LDO8_CTRL_MODE_SLEEP 0x04 | ||
| 1095 | #define PALMAS_LDO8_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1096 | #define PALMAS_LDO8_CTRL_MODE_ACTIVE 0x01 | ||
| 1097 | #define PALMAS_LDO8_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1098 | |||
| 1099 | /* Bit definitions for LDO8_VOLTAGE */ | ||
| 1100 | #define PALMAS_LDO8_VOLTAGE_VSEL_MASK 0x3f | ||
| 1101 | #define PALMAS_LDO8_VOLTAGE_VSEL_SHIFT 0 | ||
| 1102 | |||
| 1103 | /* Bit definitions for LDO9_CTRL */ | ||
| 1104 | #define PALMAS_LDO9_CTRL_WR_S 0x80 | ||
| 1105 | #define PALMAS_LDO9_CTRL_WR_S_SHIFT 7 | ||
| 1106 | #define PALMAS_LDO9_CTRL_LDO_BYPASS_EN 0x40 | ||
| 1107 | #define PALMAS_LDO9_CTRL_LDO_BYPASS_EN_SHIFT 6 | ||
| 1108 | #define PALMAS_LDO9_CTRL_STATUS 0x10 | ||
| 1109 | #define PALMAS_LDO9_CTRL_STATUS_SHIFT 4 | ||
| 1110 | #define PALMAS_LDO9_CTRL_MODE_SLEEP 0x04 | ||
| 1111 | #define PALMAS_LDO9_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1112 | #define PALMAS_LDO9_CTRL_MODE_ACTIVE 0x01 | ||
| 1113 | #define PALMAS_LDO9_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1114 | |||
| 1115 | /* Bit definitions for LDO9_VOLTAGE */ | ||
| 1116 | #define PALMAS_LDO9_VOLTAGE_VSEL_MASK 0x3f | ||
| 1117 | #define PALMAS_LDO9_VOLTAGE_VSEL_SHIFT 0 | ||
| 1118 | |||
| 1119 | /* Bit definitions for LDOLN_CTRL */ | ||
| 1120 | #define PALMAS_LDOLN_CTRL_WR_S 0x80 | ||
| 1121 | #define PALMAS_LDOLN_CTRL_WR_S_SHIFT 7 | ||
| 1122 | #define PALMAS_LDOLN_CTRL_STATUS 0x10 | ||
| 1123 | #define PALMAS_LDOLN_CTRL_STATUS_SHIFT 4 | ||
| 1124 | #define PALMAS_LDOLN_CTRL_MODE_SLEEP 0x04 | ||
| 1125 | #define PALMAS_LDOLN_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1126 | #define PALMAS_LDOLN_CTRL_MODE_ACTIVE 0x01 | ||
| 1127 | #define PALMAS_LDOLN_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1128 | |||
| 1129 | /* Bit definitions for LDOLN_VOLTAGE */ | ||
| 1130 | #define PALMAS_LDOLN_VOLTAGE_VSEL_MASK 0x3f | ||
| 1131 | #define PALMAS_LDOLN_VOLTAGE_VSEL_SHIFT 0 | ||
| 1132 | |||
| 1133 | /* Bit definitions for LDOUSB_CTRL */ | ||
| 1134 | #define PALMAS_LDOUSB_CTRL_WR_S 0x80 | ||
| 1135 | #define PALMAS_LDOUSB_CTRL_WR_S_SHIFT 7 | ||
| 1136 | #define PALMAS_LDOUSB_CTRL_STATUS 0x10 | ||
| 1137 | #define PALMAS_LDOUSB_CTRL_STATUS_SHIFT 4 | ||
| 1138 | #define PALMAS_LDOUSB_CTRL_MODE_SLEEP 0x04 | ||
| 1139 | #define PALMAS_LDOUSB_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1140 | #define PALMAS_LDOUSB_CTRL_MODE_ACTIVE 0x01 | ||
| 1141 | #define PALMAS_LDOUSB_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1142 | |||
| 1143 | /* Bit definitions for LDOUSB_VOLTAGE */ | ||
| 1144 | #define PALMAS_LDOUSB_VOLTAGE_VSEL_MASK 0x3f | ||
| 1145 | #define PALMAS_LDOUSB_VOLTAGE_VSEL_SHIFT 0 | ||
| 1146 | |||
| 1147 | /* Bit definitions for LDO_CTRL */ | ||
| 1148 | #define PALMAS_LDO_CTRL_LDOUSB_ON_VBUS_VSYS 0x01 | ||
| 1149 | #define PALMAS_LDO_CTRL_LDOUSB_ON_VBUS_VSYS_SHIFT 0 | ||
| 1150 | |||
| 1151 | /* Bit definitions for LDO_PD_CTRL1 */ | ||
| 1152 | #define PALMAS_LDO_PD_CTRL1_LDO8 0x80 | ||
| 1153 | #define PALMAS_LDO_PD_CTRL1_LDO8_SHIFT 7 | ||
| 1154 | #define PALMAS_LDO_PD_CTRL1_LDO7 0x40 | ||
| 1155 | #define PALMAS_LDO_PD_CTRL1_LDO7_SHIFT 6 | ||
| 1156 | #define PALMAS_LDO_PD_CTRL1_LDO6 0x20 | ||
| 1157 | #define PALMAS_LDO_PD_CTRL1_LDO6_SHIFT 5 | ||
| 1158 | #define PALMAS_LDO_PD_CTRL1_LDO5 0x10 | ||
| 1159 | #define PALMAS_LDO_PD_CTRL1_LDO5_SHIFT 4 | ||
| 1160 | #define PALMAS_LDO_PD_CTRL1_LDO4 0x08 | ||
| 1161 | #define PALMAS_LDO_PD_CTRL1_LDO4_SHIFT 3 | ||
| 1162 | #define PALMAS_LDO_PD_CTRL1_LDO3 0x04 | ||
| 1163 | #define PALMAS_LDO_PD_CTRL1_LDO3_SHIFT 2 | ||
| 1164 | #define PALMAS_LDO_PD_CTRL1_LDO2 0x02 | ||
| 1165 | #define PALMAS_LDO_PD_CTRL1_LDO2_SHIFT 1 | ||
| 1166 | #define PALMAS_LDO_PD_CTRL1_LDO1 0x01 | ||
| 1167 | #define PALMAS_LDO_PD_CTRL1_LDO1_SHIFT 0 | ||
| 1168 | |||
| 1169 | /* Bit definitions for LDO_PD_CTRL2 */ | ||
| 1170 | #define PALMAS_LDO_PD_CTRL2_LDOUSB 0x04 | ||
| 1171 | #define PALMAS_LDO_PD_CTRL2_LDOUSB_SHIFT 2 | ||
| 1172 | #define PALMAS_LDO_PD_CTRL2_LDOLN 0x02 | ||
| 1173 | #define PALMAS_LDO_PD_CTRL2_LDOLN_SHIFT 1 | ||
| 1174 | #define PALMAS_LDO_PD_CTRL2_LDO9 0x01 | ||
| 1175 | #define PALMAS_LDO_PD_CTRL2_LDO9_SHIFT 0 | ||
| 1176 | |||
| 1177 | /* Bit definitions for LDO_SHORT_STATUS1 */ | ||
| 1178 | #define PALMAS_LDO_SHORT_STATUS1_LDO8 0x80 | ||
| 1179 | #define PALMAS_LDO_SHORT_STATUS1_LDO8_SHIFT 7 | ||
| 1180 | #define PALMAS_LDO_SHORT_STATUS1_LDO7 0x40 | ||
| 1181 | #define PALMAS_LDO_SHORT_STATUS1_LDO7_SHIFT 6 | ||
| 1182 | #define PALMAS_LDO_SHORT_STATUS1_LDO6 0x20 | ||
| 1183 | #define PALMAS_LDO_SHORT_STATUS1_LDO6_SHIFT 5 | ||
| 1184 | #define PALMAS_LDO_SHORT_STATUS1_LDO5 0x10 | ||
| 1185 | #define PALMAS_LDO_SHORT_STATUS1_LDO5_SHIFT 4 | ||
| 1186 | #define PALMAS_LDO_SHORT_STATUS1_LDO4 0x08 | ||
| 1187 | #define PALMAS_LDO_SHORT_STATUS1_LDO4_SHIFT 3 | ||
| 1188 | #define PALMAS_LDO_SHORT_STATUS1_LDO3 0x04 | ||
| 1189 | #define PALMAS_LDO_SHORT_STATUS1_LDO3_SHIFT 2 | ||
| 1190 | #define PALMAS_LDO_SHORT_STATUS1_LDO2 0x02 | ||
| 1191 | #define PALMAS_LDO_SHORT_STATUS1_LDO2_SHIFT 1 | ||
| 1192 | #define PALMAS_LDO_SHORT_STATUS1_LDO1 0x01 | ||
| 1193 | #define PALMAS_LDO_SHORT_STATUS1_LDO1_SHIFT 0 | ||
| 1194 | |||
| 1195 | /* Bit definitions for LDO_SHORT_STATUS2 */ | ||
| 1196 | #define PALMAS_LDO_SHORT_STATUS2_LDOVANA 0x08 | ||
| 1197 | #define PALMAS_LDO_SHORT_STATUS2_LDOVANA_SHIFT 3 | ||
| 1198 | #define PALMAS_LDO_SHORT_STATUS2_LDOUSB 0x04 | ||
| 1199 | #define PALMAS_LDO_SHORT_STATUS2_LDOUSB_SHIFT 2 | ||
| 1200 | #define PALMAS_LDO_SHORT_STATUS2_LDOLN 0x02 | ||
| 1201 | #define PALMAS_LDO_SHORT_STATUS2_LDOLN_SHIFT 1 | ||
| 1202 | #define PALMAS_LDO_SHORT_STATUS2_LDO9 0x01 | ||
| 1203 | #define PALMAS_LDO_SHORT_STATUS2_LDO9_SHIFT 0 | ||
| 1204 | |||
| 1205 | /* Registers for function PMU_CONTROL */ | ||
| 1206 | #define PALMAS_DEV_CTRL 0x0 | ||
| 1207 | #define PALMAS_POWER_CTRL 0x1 | ||
| 1208 | #define PALMAS_VSYS_LO 0x2 | ||
| 1209 | #define PALMAS_VSYS_MON 0x3 | ||
| 1210 | #define PALMAS_VBAT_MON 0x4 | ||
| 1211 | #define PALMAS_WATCHDOG 0x5 | ||
| 1212 | #define PALMAS_BOOT_STATUS 0x6 | ||
| 1213 | #define PALMAS_BATTERY_BOUNCE 0x7 | ||
| 1214 | #define PALMAS_BACKUP_BATTERY_CTRL 0x8 | ||
| 1215 | #define PALMAS_LONG_PRESS_KEY 0x9 | ||
| 1216 | #define PALMAS_OSC_THERM_CTRL 0xA | ||
| 1217 | #define PALMAS_BATDEBOUNCING 0xB | ||
| 1218 | #define PALMAS_SWOFF_HWRST 0xF | ||
| 1219 | #define PALMAS_SWOFF_COLDRST 0x10 | ||
| 1220 | #define PALMAS_SWOFF_STATUS 0x11 | ||
| 1221 | #define PALMAS_PMU_CONFIG 0x12 | ||
| 1222 | #define PALMAS_SPARE 0x14 | ||
| 1223 | #define PALMAS_PMU_SECONDARY_INT 0x15 | ||
| 1224 | #define PALMAS_SW_REVISION 0x17 | ||
| 1225 | #define PALMAS_EXT_CHRG_CTRL 0x18 | ||
| 1226 | #define PALMAS_PMU_SECONDARY_INT2 0x19 | ||
| 1227 | |||
| 1228 | /* Bit definitions for DEV_CTRL */ | ||
| 1229 | #define PALMAS_DEV_CTRL_DEV_STATUS_MASK 0x0c | ||
| 1230 | #define PALMAS_DEV_CTRL_DEV_STATUS_SHIFT 2 | ||
| 1231 | #define PALMAS_DEV_CTRL_SW_RST 0x02 | ||
| 1232 | #define PALMAS_DEV_CTRL_SW_RST_SHIFT 1 | ||
| 1233 | #define PALMAS_DEV_CTRL_DEV_ON 0x01 | ||
| 1234 | #define PALMAS_DEV_CTRL_DEV_ON_SHIFT 0 | ||
| 1235 | |||
| 1236 | /* Bit definitions for POWER_CTRL */ | ||
| 1237 | #define PALMAS_POWER_CTRL_ENABLE2_MASK 0x04 | ||
| 1238 | #define PALMAS_POWER_CTRL_ENABLE2_MASK_SHIFT 2 | ||
| 1239 | #define PALMAS_POWER_CTRL_ENABLE1_MASK 0x02 | ||
| 1240 | #define PALMAS_POWER_CTRL_ENABLE1_MASK_SHIFT 1 | ||
| 1241 | #define PALMAS_POWER_CTRL_NSLEEP_MASK 0x01 | ||
| 1242 | #define PALMAS_POWER_CTRL_NSLEEP_MASK_SHIFT 0 | ||
| 1243 | |||
| 1244 | /* Bit definitions for VSYS_LO */ | ||
| 1245 | #define PALMAS_VSYS_LO_THRESHOLD_MASK 0x1f | ||
| 1246 | #define PALMAS_VSYS_LO_THRESHOLD_SHIFT 0 | ||
| 1247 | |||
| 1248 | /* Bit definitions for VSYS_MON */ | ||
| 1249 | #define PALMAS_VSYS_MON_ENABLE 0x80 | ||
| 1250 | #define PALMAS_VSYS_MON_ENABLE_SHIFT 7 | ||
| 1251 | #define PALMAS_VSYS_MON_THRESHOLD_MASK 0x3f | ||
| 1252 | #define PALMAS_VSYS_MON_THRESHOLD_SHIFT 0 | ||
| 1253 | |||
| 1254 | /* Bit definitions for VBAT_MON */ | ||
| 1255 | #define PALMAS_VBAT_MON_ENABLE 0x80 | ||
| 1256 | #define PALMAS_VBAT_MON_ENABLE_SHIFT 7 | ||
| 1257 | #define PALMAS_VBAT_MON_THRESHOLD_MASK 0x3f | ||
| 1258 | #define PALMAS_VBAT_MON_THRESHOLD_SHIFT 0 | ||
| 1259 | |||
| 1260 | /* Bit definitions for WATCHDOG */ | ||
| 1261 | #define PALMAS_WATCHDOG_LOCK 0x20 | ||
| 1262 | #define PALMAS_WATCHDOG_LOCK_SHIFT 5 | ||
| 1263 | #define PALMAS_WATCHDOG_ENABLE 0x10 | ||
| 1264 | #define PALMAS_WATCHDOG_ENABLE_SHIFT 4 | ||
| 1265 | #define PALMAS_WATCHDOG_MODE 0x08 | ||
| 1266 | #define PALMAS_WATCHDOG_MODE_SHIFT 3 | ||
| 1267 | #define PALMAS_WATCHDOG_TIMER_MASK 0x07 | ||
| 1268 | #define PALMAS_WATCHDOG_TIMER_SHIFT 0 | ||
| 1269 | |||
| 1270 | /* Bit definitions for BOOT_STATUS */ | ||
| 1271 | #define PALMAS_BOOT_STATUS_BOOT1 0x02 | ||
| 1272 | #define PALMAS_BOOT_STATUS_BOOT1_SHIFT 1 | ||
| 1273 | #define PALMAS_BOOT_STATUS_BOOT0 0x01 | ||
| 1274 | #define PALMAS_BOOT_STATUS_BOOT0_SHIFT 0 | ||
| 1275 | |||
| 1276 | /* Bit definitions for BATTERY_BOUNCE */ | ||
| 1277 | #define PALMAS_BATTERY_BOUNCE_BB_DELAY_MASK 0x3f | ||
| 1278 | #define PALMAS_BATTERY_BOUNCE_BB_DELAY_SHIFT 0 | ||
| 1279 | |||
| 1280 | /* Bit definitions for BACKUP_BATTERY_CTRL */ | ||
| 1281 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_18_15 0x80 | ||
| 1282 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_18_15_SHIFT 7 | ||
| 1283 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_EN_SLP 0x40 | ||
| 1284 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_EN_SLP_SHIFT 6 | ||
| 1285 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_EN_OFF 0x20 | ||
| 1286 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_EN_OFF_SHIFT 5 | ||
| 1287 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_PWEN 0x10 | ||
| 1288 | #define PALMAS_BACKUP_BATTERY_CTRL_VRTC_PWEN_SHIFT 4 | ||
| 1289 | #define PALMAS_BACKUP_BATTERY_CTRL_BBS_BBC_LOW_ICHRG 0x08 | ||
| 1290 | #define PALMAS_BACKUP_BATTERY_CTRL_BBS_BBC_LOW_ICHRG_SHIFT 3 | ||
| 1291 | #define PALMAS_BACKUP_BATTERY_CTRL_BB_SEL_MASK 0x06 | ||
| 1292 | #define PALMAS_BACKUP_BATTERY_CTRL_BB_SEL_SHIFT 1 | ||
| 1293 | #define PALMAS_BACKUP_BATTERY_CTRL_BB_CHG_EN 0x01 | ||
| 1294 | #define PALMAS_BACKUP_BATTERY_CTRL_BB_CHG_EN_SHIFT 0 | ||
| 1295 | |||
| 1296 | /* Bit definitions for LONG_PRESS_KEY */ | ||
| 1297 | #define PALMAS_LONG_PRESS_KEY_LPK_LOCK 0x80 | ||
| 1298 | #define PALMAS_LONG_PRESS_KEY_LPK_LOCK_SHIFT 7 | ||
| 1299 | #define PALMAS_LONG_PRESS_KEY_LPK_INT_CLR 0x10 | ||
| 1300 | #define PALMAS_LONG_PRESS_KEY_LPK_INT_CLR_SHIFT 4 | ||
| 1301 | #define PALMAS_LONG_PRESS_KEY_LPK_TIME_MASK 0x0c | ||
| 1302 | #define PALMAS_LONG_PRESS_KEY_LPK_TIME_SHIFT 2 | ||
| 1303 | #define PALMAS_LONG_PRESS_KEY_PWRON_DEBOUNCE_MASK 0x03 | ||
| 1304 | #define PALMAS_LONG_PRESS_KEY_PWRON_DEBOUNCE_SHIFT 0 | ||
| 1305 | |||
| 1306 | /* Bit definitions for OSC_THERM_CTRL */ | ||
| 1307 | #define PALMAS_OSC_THERM_CTRL_VANA_ON_IN_SLEEP 0x80 | ||
| 1308 | #define PALMAS_OSC_THERM_CTRL_VANA_ON_IN_SLEEP_SHIFT 7 | ||
| 1309 | #define PALMAS_OSC_THERM_CTRL_INT_MASK_IN_SLEEP 0x40 | ||
| 1310 | #define PALMAS_OSC_THERM_CTRL_INT_MASK_IN_SLEEP_SHIFT 6 | ||
| 1311 | #define PALMAS_OSC_THERM_CTRL_RC15MHZ_ON_IN_SLEEP 0x20 | ||
| 1312 | #define PALMAS_OSC_THERM_CTRL_RC15MHZ_ON_IN_SLEEP_SHIFT 5 | ||
| 1313 | #define PALMAS_OSC_THERM_CTRL_THERM_OFF_IN_SLEEP 0x10 | ||
| 1314 | #define PALMAS_OSC_THERM_CTRL_THERM_OFF_IN_SLEEP_SHIFT 4 | ||
| 1315 | #define PALMAS_OSC_THERM_CTRL_THERM_HD_SEL_MASK 0x0c | ||
| 1316 | #define PALMAS_OSC_THERM_CTRL_THERM_HD_SEL_SHIFT 2 | ||
| 1317 | #define PALMAS_OSC_THERM_CTRL_OSC_BYPASS 0x02 | ||
| 1318 | #define PALMAS_OSC_THERM_CTRL_OSC_BYPASS_SHIFT 1 | ||
| 1319 | #define PALMAS_OSC_THERM_CTRL_OSC_HPMODE 0x01 | ||
| 1320 | #define PALMAS_OSC_THERM_CTRL_OSC_HPMODE_SHIFT 0 | ||
| 1321 | |||
| 1322 | /* Bit definitions for BATDEBOUNCING */ | ||
| 1323 | #define PALMAS_BATDEBOUNCING_BAT_DEB_BYPASS 0x80 | ||
| 1324 | #define PALMAS_BATDEBOUNCING_BAT_DEB_BYPASS_SHIFT 7 | ||
| 1325 | #define PALMAS_BATDEBOUNCING_BINS_DEB_MASK 0x78 | ||
| 1326 | #define PALMAS_BATDEBOUNCING_BINS_DEB_SHIFT 3 | ||
| 1327 | #define PALMAS_BATDEBOUNCING_BEXT_DEB_MASK 0x07 | ||
| 1328 | #define PALMAS_BATDEBOUNCING_BEXT_DEB_SHIFT 0 | ||
| 1329 | |||
| 1330 | /* Bit definitions for SWOFF_HWRST */ | ||
| 1331 | #define PALMAS_SWOFF_HWRST_PWRON_LPK 0x80 | ||
| 1332 | #define PALMAS_SWOFF_HWRST_PWRON_LPK_SHIFT 7 | ||
| 1333 | #define PALMAS_SWOFF_HWRST_PWRDOWN 0x40 | ||
| 1334 | #define PALMAS_SWOFF_HWRST_PWRDOWN_SHIFT 6 | ||
| 1335 | #define PALMAS_SWOFF_HWRST_WTD 0x20 | ||
| 1336 | #define PALMAS_SWOFF_HWRST_WTD_SHIFT 5 | ||
| 1337 | #define PALMAS_SWOFF_HWRST_TSHUT 0x10 | ||
| 1338 | #define PALMAS_SWOFF_HWRST_TSHUT_SHIFT 4 | ||
| 1339 | #define PALMAS_SWOFF_HWRST_RESET_IN 0x08 | ||
| 1340 | #define PALMAS_SWOFF_HWRST_RESET_IN_SHIFT 3 | ||
| 1341 | #define PALMAS_SWOFF_HWRST_SW_RST 0x04 | ||
| 1342 | #define PALMAS_SWOFF_HWRST_SW_RST_SHIFT 2 | ||
| 1343 | #define PALMAS_SWOFF_HWRST_VSYS_LO 0x02 | ||
| 1344 | #define PALMAS_SWOFF_HWRST_VSYS_LO_SHIFT 1 | ||
| 1345 | #define PALMAS_SWOFF_HWRST_GPADC_SHUTDOWN 0x01 | ||
| 1346 | #define PALMAS_SWOFF_HWRST_GPADC_SHUTDOWN_SHIFT 0 | ||
| 1347 | |||
| 1348 | /* Bit definitions for SWOFF_COLDRST */ | ||
| 1349 | #define PALMAS_SWOFF_COLDRST_PWRON_LPK 0x80 | ||
| 1350 | #define PALMAS_SWOFF_COLDRST_PWRON_LPK_SHIFT 7 | ||
| 1351 | #define PALMAS_SWOFF_COLDRST_PWRDOWN 0x40 | ||
| 1352 | #define PALMAS_SWOFF_COLDRST_PWRDOWN_SHIFT 6 | ||
| 1353 | #define PALMAS_SWOFF_COLDRST_WTD 0x20 | ||
| 1354 | #define PALMAS_SWOFF_COLDRST_WTD_SHIFT 5 | ||
| 1355 | #define PALMAS_SWOFF_COLDRST_TSHUT 0x10 | ||
| 1356 | #define PALMAS_SWOFF_COLDRST_TSHUT_SHIFT 4 | ||
| 1357 | #define PALMAS_SWOFF_COLDRST_RESET_IN 0x08 | ||
| 1358 | #define PALMAS_SWOFF_COLDRST_RESET_IN_SHIFT 3 | ||
| 1359 | #define PALMAS_SWOFF_COLDRST_SW_RST 0x04 | ||
| 1360 | #define PALMAS_SWOFF_COLDRST_SW_RST_SHIFT 2 | ||
| 1361 | #define PALMAS_SWOFF_COLDRST_VSYS_LO 0x02 | ||
| 1362 | #define PALMAS_SWOFF_COLDRST_VSYS_LO_SHIFT 1 | ||
| 1363 | #define PALMAS_SWOFF_COLDRST_GPADC_SHUTDOWN 0x01 | ||
| 1364 | #define PALMAS_SWOFF_COLDRST_GPADC_SHUTDOWN_SHIFT 0 | ||
| 1365 | |||
| 1366 | /* Bit definitions for SWOFF_STATUS */ | ||
| 1367 | #define PALMAS_SWOFF_STATUS_PWRON_LPK 0x80 | ||
| 1368 | #define PALMAS_SWOFF_STATUS_PWRON_LPK_SHIFT 7 | ||
| 1369 | #define PALMAS_SWOFF_STATUS_PWRDOWN 0x40 | ||
| 1370 | #define PALMAS_SWOFF_STATUS_PWRDOWN_SHIFT 6 | ||
| 1371 | #define PALMAS_SWOFF_STATUS_WTD 0x20 | ||
| 1372 | #define PALMAS_SWOFF_STATUS_WTD_SHIFT 5 | ||
| 1373 | #define PALMAS_SWOFF_STATUS_TSHUT 0x10 | ||
| 1374 | #define PALMAS_SWOFF_STATUS_TSHUT_SHIFT 4 | ||
| 1375 | #define PALMAS_SWOFF_STATUS_RESET_IN 0x08 | ||
| 1376 | #define PALMAS_SWOFF_STATUS_RESET_IN_SHIFT 3 | ||
| 1377 | #define PALMAS_SWOFF_STATUS_SW_RST 0x04 | ||
| 1378 | #define PALMAS_SWOFF_STATUS_SW_RST_SHIFT 2 | ||
| 1379 | #define PALMAS_SWOFF_STATUS_VSYS_LO 0x02 | ||
| 1380 | #define PALMAS_SWOFF_STATUS_VSYS_LO_SHIFT 1 | ||
| 1381 | #define PALMAS_SWOFF_STATUS_GPADC_SHUTDOWN 0x01 | ||
| 1382 | #define PALMAS_SWOFF_STATUS_GPADC_SHUTDOWN_SHIFT 0 | ||
| 1383 | |||
| 1384 | /* Bit definitions for PMU_CONFIG */ | ||
| 1385 | #define PALMAS_PMU_CONFIG_MULTI_CELL_EN 0x40 | ||
| 1386 | #define PALMAS_PMU_CONFIG_MULTI_CELL_EN_SHIFT 6 | ||
| 1387 | #define PALMAS_PMU_CONFIG_SPARE_MASK 0x30 | ||
| 1388 | #define PALMAS_PMU_CONFIG_SPARE_SHIFT 4 | ||
| 1389 | #define PALMAS_PMU_CONFIG_SWOFF_DLY_MASK 0x0c | ||
| 1390 | #define PALMAS_PMU_CONFIG_SWOFF_DLY_SHIFT 2 | ||
| 1391 | #define PALMAS_PMU_CONFIG_GATE_RESET_OUT 0x02 | ||
| 1392 | #define PALMAS_PMU_CONFIG_GATE_RESET_OUT_SHIFT 1 | ||
| 1393 | #define PALMAS_PMU_CONFIG_AUTODEVON 0x01 | ||
| 1394 | #define PALMAS_PMU_CONFIG_AUTODEVON_SHIFT 0 | ||
| 1395 | |||
| 1396 | /* Bit definitions for SPARE */ | ||
| 1397 | #define PALMAS_SPARE_SPARE_MASK 0xf8 | ||
| 1398 | #define PALMAS_SPARE_SPARE_SHIFT 3 | ||
| 1399 | #define PALMAS_SPARE_REGEN3_OD 0x04 | ||
| 1400 | #define PALMAS_SPARE_REGEN3_OD_SHIFT 2 | ||
| 1401 | #define PALMAS_SPARE_REGEN2_OD 0x02 | ||
| 1402 | #define PALMAS_SPARE_REGEN2_OD_SHIFT 1 | ||
| 1403 | #define PALMAS_SPARE_REGEN1_OD 0x01 | ||
| 1404 | #define PALMAS_SPARE_REGEN1_OD_SHIFT 0 | ||
| 1405 | |||
| 1406 | /* Bit definitions for PMU_SECONDARY_INT */ | ||
| 1407 | #define PALMAS_PMU_SECONDARY_INT_VBUS_OVV_INT_SRC 0x80 | ||
| 1408 | #define PALMAS_PMU_SECONDARY_INT_VBUS_OVV_INT_SRC_SHIFT 7 | ||
| 1409 | #define PALMAS_PMU_SECONDARY_INT_CHARG_DET_N_INT_SRC 0x40 | ||
| 1410 | #define PALMAS_PMU_SECONDARY_INT_CHARG_DET_N_INT_SRC_SHIFT 6 | ||
| 1411 | #define PALMAS_PMU_SECONDARY_INT_BB_INT_SRC 0x20 | ||
| 1412 | #define PALMAS_PMU_SECONDARY_INT_BB_INT_SRC_SHIFT 5 | ||
| 1413 | #define PALMAS_PMU_SECONDARY_INT_FBI_INT_SRC 0x10 | ||
| 1414 | #define PALMAS_PMU_SECONDARY_INT_FBI_INT_SRC_SHIFT 4 | ||
| 1415 | #define PALMAS_PMU_SECONDARY_INT_VBUS_OVV_MASK 0x08 | ||
| 1416 | #define PALMAS_PMU_SECONDARY_INT_VBUS_OVV_MASK_SHIFT 3 | ||
| 1417 | #define PALMAS_PMU_SECONDARY_INT_CHARG_DET_N_MASK 0x04 | ||
| 1418 | #define PALMAS_PMU_SECONDARY_INT_CHARG_DET_N_MASK_SHIFT 2 | ||
| 1419 | #define PALMAS_PMU_SECONDARY_INT_BB_MASK 0x02 | ||
| 1420 | #define PALMAS_PMU_SECONDARY_INT_BB_MASK_SHIFT 1 | ||
| 1421 | #define PALMAS_PMU_SECONDARY_INT_FBI_MASK 0x01 | ||
| 1422 | #define PALMAS_PMU_SECONDARY_INT_FBI_MASK_SHIFT 0 | ||
| 1423 | |||
| 1424 | /* Bit definitions for SW_REVISION */ | ||
| 1425 | #define PALMAS_SW_REVISION_SW_REVISION_MASK 0xff | ||
| 1426 | #define PALMAS_SW_REVISION_SW_REVISION_SHIFT 0 | ||
| 1427 | |||
| 1428 | /* Bit definitions for EXT_CHRG_CTRL */ | ||
| 1429 | #define PALMAS_EXT_CHRG_CTRL_VBUS_OVV_STATUS 0x80 | ||
| 1430 | #define PALMAS_EXT_CHRG_CTRL_VBUS_OVV_STATUS_SHIFT 7 | ||
| 1431 | #define PALMAS_EXT_CHRG_CTRL_CHARG_DET_N_STATUS 0x40 | ||
| 1432 | #define PALMAS_EXT_CHRG_CTRL_CHARG_DET_N_STATUS_SHIFT 6 | ||
| 1433 | #define PALMAS_EXT_CHRG_CTRL_VSYS_DEBOUNCE_DELAY 0x08 | ||
| 1434 | #define PALMAS_EXT_CHRG_CTRL_VSYS_DEBOUNCE_DELAY_SHIFT 3 | ||
| 1435 | #define PALMAS_EXT_CHRG_CTRL_CHRG_DET_N 0x04 | ||
| 1436 | #define PALMAS_EXT_CHRG_CTRL_CHRG_DET_N_SHIFT 2 | ||
| 1437 | #define PALMAS_EXT_CHRG_CTRL_AUTO_ACA_EN 0x02 | ||
| 1438 | #define PALMAS_EXT_CHRG_CTRL_AUTO_ACA_EN_SHIFT 1 | ||
| 1439 | #define PALMAS_EXT_CHRG_CTRL_AUTO_LDOUSB_EN 0x01 | ||
| 1440 | #define PALMAS_EXT_CHRG_CTRL_AUTO_LDOUSB_EN_SHIFT 0 | ||
| 1441 | |||
| 1442 | /* Bit definitions for PMU_SECONDARY_INT2 */ | ||
| 1443 | #define PALMAS_PMU_SECONDARY_INT2_DVFS2_INT_SRC 0x20 | ||
| 1444 | #define PALMAS_PMU_SECONDARY_INT2_DVFS2_INT_SRC_SHIFT 5 | ||
| 1445 | #define PALMAS_PMU_SECONDARY_INT2_DVFS1_INT_SRC 0x10 | ||
| 1446 | #define PALMAS_PMU_SECONDARY_INT2_DVFS1_INT_SRC_SHIFT 4 | ||
| 1447 | #define PALMAS_PMU_SECONDARY_INT2_DVFS2_MASK 0x02 | ||
| 1448 | #define PALMAS_PMU_SECONDARY_INT2_DVFS2_MASK_SHIFT 1 | ||
| 1449 | #define PALMAS_PMU_SECONDARY_INT2_DVFS1_MASK 0x01 | ||
| 1450 | #define PALMAS_PMU_SECONDARY_INT2_DVFS1_MASK_SHIFT 0 | ||
| 1451 | |||
| 1452 | /* Registers for function RESOURCE */ | ||
| 1453 | #define PALMAS_CLK32KG_CTRL 0x0 | ||
| 1454 | #define PALMAS_CLK32KGAUDIO_CTRL 0x1 | ||
| 1455 | #define PALMAS_REGEN1_CTRL 0x2 | ||
| 1456 | #define PALMAS_REGEN2_CTRL 0x3 | ||
| 1457 | #define PALMAS_SYSEN1_CTRL 0x4 | ||
| 1458 | #define PALMAS_SYSEN2_CTRL 0x5 | ||
| 1459 | #define PALMAS_NSLEEP_RES_ASSIGN 0x6 | ||
| 1460 | #define PALMAS_NSLEEP_SMPS_ASSIGN 0x7 | ||
| 1461 | #define PALMAS_NSLEEP_LDO_ASSIGN1 0x8 | ||
| 1462 | #define PALMAS_NSLEEP_LDO_ASSIGN2 0x9 | ||
| 1463 | #define PALMAS_ENABLE1_RES_ASSIGN 0xA | ||
| 1464 | #define PALMAS_ENABLE1_SMPS_ASSIGN 0xB | ||
| 1465 | #define PALMAS_ENABLE1_LDO_ASSIGN1 0xC | ||
| 1466 | #define PALMAS_ENABLE1_LDO_ASSIGN2 0xD | ||
| 1467 | #define PALMAS_ENABLE2_RES_ASSIGN 0xE | ||
| 1468 | #define PALMAS_ENABLE2_SMPS_ASSIGN 0xF | ||
| 1469 | #define PALMAS_ENABLE2_LDO_ASSIGN1 0x10 | ||
| 1470 | #define PALMAS_ENABLE2_LDO_ASSIGN2 0x11 | ||
| 1471 | #define PALMAS_REGEN3_CTRL 0x12 | ||
| 1472 | |||
| 1473 | /* Bit definitions for CLK32KG_CTRL */ | ||
| 1474 | #define PALMAS_CLK32KG_CTRL_STATUS 0x10 | ||
| 1475 | #define PALMAS_CLK32KG_CTRL_STATUS_SHIFT 4 | ||
| 1476 | #define PALMAS_CLK32KG_CTRL_MODE_SLEEP 0x04 | ||
| 1477 | #define PALMAS_CLK32KG_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1478 | #define PALMAS_CLK32KG_CTRL_MODE_ACTIVE 0x01 | ||
| 1479 | #define PALMAS_CLK32KG_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1480 | |||
| 1481 | /* Bit definitions for CLK32KGAUDIO_CTRL */ | ||
| 1482 | #define PALMAS_CLK32KGAUDIO_CTRL_STATUS 0x10 | ||
| 1483 | #define PALMAS_CLK32KGAUDIO_CTRL_STATUS_SHIFT 4 | ||
| 1484 | #define PALMAS_CLK32KGAUDIO_CTRL_RESERVED3 0x08 | ||
| 1485 | #define PALMAS_CLK32KGAUDIO_CTRL_RESERVED3_SHIFT 3 | ||
| 1486 | #define PALMAS_CLK32KGAUDIO_CTRL_MODE_SLEEP 0x04 | ||
| 1487 | #define PALMAS_CLK32KGAUDIO_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1488 | #define PALMAS_CLK32KGAUDIO_CTRL_MODE_ACTIVE 0x01 | ||
| 1489 | #define PALMAS_CLK32KGAUDIO_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1490 | |||
| 1491 | /* Bit definitions for REGEN1_CTRL */ | ||
| 1492 | #define PALMAS_REGEN1_CTRL_STATUS 0x10 | ||
| 1493 | #define PALMAS_REGEN1_CTRL_STATUS_SHIFT 4 | ||
| 1494 | #define PALMAS_REGEN1_CTRL_MODE_SLEEP 0x04 | ||
| 1495 | #define PALMAS_REGEN1_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1496 | #define PALMAS_REGEN1_CTRL_MODE_ACTIVE 0x01 | ||
| 1497 | #define PALMAS_REGEN1_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1498 | |||
| 1499 | /* Bit definitions for REGEN2_CTRL */ | ||
| 1500 | #define PALMAS_REGEN2_CTRL_STATUS 0x10 | ||
| 1501 | #define PALMAS_REGEN2_CTRL_STATUS_SHIFT 4 | ||
| 1502 | #define PALMAS_REGEN2_CTRL_MODE_SLEEP 0x04 | ||
| 1503 | #define PALMAS_REGEN2_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1504 | #define PALMAS_REGEN2_CTRL_MODE_ACTIVE 0x01 | ||
| 1505 | #define PALMAS_REGEN2_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1506 | |||
| 1507 | /* Bit definitions for SYSEN1_CTRL */ | ||
| 1508 | #define PALMAS_SYSEN1_CTRL_STATUS 0x10 | ||
| 1509 | #define PALMAS_SYSEN1_CTRL_STATUS_SHIFT 4 | ||
| 1510 | #define PALMAS_SYSEN1_CTRL_MODE_SLEEP 0x04 | ||
| 1511 | #define PALMAS_SYSEN1_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1512 | #define PALMAS_SYSEN1_CTRL_MODE_ACTIVE 0x01 | ||
| 1513 | #define PALMAS_SYSEN1_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1514 | |||
| 1515 | /* Bit definitions for SYSEN2_CTRL */ | ||
| 1516 | #define PALMAS_SYSEN2_CTRL_STATUS 0x10 | ||
| 1517 | #define PALMAS_SYSEN2_CTRL_STATUS_SHIFT 4 | ||
| 1518 | #define PALMAS_SYSEN2_CTRL_MODE_SLEEP 0x04 | ||
| 1519 | #define PALMAS_SYSEN2_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1520 | #define PALMAS_SYSEN2_CTRL_MODE_ACTIVE 0x01 | ||
| 1521 | #define PALMAS_SYSEN2_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1522 | |||
| 1523 | /* Bit definitions for NSLEEP_RES_ASSIGN */ | ||
| 1524 | #define PALMAS_NSLEEP_RES_ASSIGN_REGEN3 0x40 | ||
| 1525 | #define PALMAS_NSLEEP_RES_ASSIGN_REGEN3_SHIFT 6 | ||
| 1526 | #define PALMAS_NSLEEP_RES_ASSIGN_CLK32KGAUDIO 0x20 | ||
| 1527 | #define PALMAS_NSLEEP_RES_ASSIGN_CLK32KGAUDIO_SHIFT 5 | ||
| 1528 | #define PALMAS_NSLEEP_RES_ASSIGN_CLK32KG 0x10 | ||
| 1529 | #define PALMAS_NSLEEP_RES_ASSIGN_CLK32KG_SHIFT 4 | ||
| 1530 | #define PALMAS_NSLEEP_RES_ASSIGN_SYSEN2 0x08 | ||
| 1531 | #define PALMAS_NSLEEP_RES_ASSIGN_SYSEN2_SHIFT 3 | ||
| 1532 | #define PALMAS_NSLEEP_RES_ASSIGN_SYSEN1 0x04 | ||
| 1533 | #define PALMAS_NSLEEP_RES_ASSIGN_SYSEN1_SHIFT 2 | ||
| 1534 | #define PALMAS_NSLEEP_RES_ASSIGN_REGEN2 0x02 | ||
| 1535 | #define PALMAS_NSLEEP_RES_ASSIGN_REGEN2_SHIFT 1 | ||
| 1536 | #define PALMAS_NSLEEP_RES_ASSIGN_REGEN1 0x01 | ||
| 1537 | #define PALMAS_NSLEEP_RES_ASSIGN_REGEN1_SHIFT 0 | ||
| 1538 | |||
| 1539 | /* Bit definitions for NSLEEP_SMPS_ASSIGN */ | ||
| 1540 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS10 0x80 | ||
| 1541 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS10_SHIFT 7 | ||
| 1542 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS9 0x40 | ||
| 1543 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS9_SHIFT 6 | ||
| 1544 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS8 0x20 | ||
| 1545 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS8_SHIFT 5 | ||
| 1546 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS7 0x10 | ||
| 1547 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS7_SHIFT 4 | ||
| 1548 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS6 0x08 | ||
| 1549 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS6_SHIFT 3 | ||
| 1550 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS45 0x04 | ||
| 1551 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS45_SHIFT 2 | ||
| 1552 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS3 0x02 | ||
| 1553 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS3_SHIFT 1 | ||
| 1554 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS12 0x01 | ||
| 1555 | #define PALMAS_NSLEEP_SMPS_ASSIGN_SMPS12_SHIFT 0 | ||
| 1556 | |||
| 1557 | /* Bit definitions for NSLEEP_LDO_ASSIGN1 */ | ||
| 1558 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO8 0x80 | ||
| 1559 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO8_SHIFT 7 | ||
| 1560 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO7 0x40 | ||
| 1561 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO7_SHIFT 6 | ||
| 1562 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO6 0x20 | ||
| 1563 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO6_SHIFT 5 | ||
| 1564 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO5 0x10 | ||
| 1565 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO5_SHIFT 4 | ||
| 1566 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO4 0x08 | ||
| 1567 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO4_SHIFT 3 | ||
| 1568 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO3 0x04 | ||
| 1569 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO3_SHIFT 2 | ||
| 1570 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO2 0x02 | ||
| 1571 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO2_SHIFT 1 | ||
| 1572 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO1 0x01 | ||
| 1573 | #define PALMAS_NSLEEP_LDO_ASSIGN1_LDO1_SHIFT 0 | ||
| 1574 | |||
| 1575 | /* Bit definitions for NSLEEP_LDO_ASSIGN2 */ | ||
| 1576 | #define PALMAS_NSLEEP_LDO_ASSIGN2_LDOUSB 0x04 | ||
| 1577 | #define PALMAS_NSLEEP_LDO_ASSIGN2_LDOUSB_SHIFT 2 | ||
| 1578 | #define PALMAS_NSLEEP_LDO_ASSIGN2_LDOLN 0x02 | ||
| 1579 | #define PALMAS_NSLEEP_LDO_ASSIGN2_LDOLN_SHIFT 1 | ||
| 1580 | #define PALMAS_NSLEEP_LDO_ASSIGN2_LDO9 0x01 | ||
| 1581 | #define PALMAS_NSLEEP_LDO_ASSIGN2_LDO9_SHIFT 0 | ||
| 1582 | |||
| 1583 | /* Bit definitions for ENABLE1_RES_ASSIGN */ | ||
| 1584 | #define PALMAS_ENABLE1_RES_ASSIGN_REGEN3 0x40 | ||
| 1585 | #define PALMAS_ENABLE1_RES_ASSIGN_REGEN3_SHIFT 6 | ||
| 1586 | #define PALMAS_ENABLE1_RES_ASSIGN_CLK32KGAUDIO 0x20 | ||
| 1587 | #define PALMAS_ENABLE1_RES_ASSIGN_CLK32KGAUDIO_SHIFT 5 | ||
| 1588 | #define PALMAS_ENABLE1_RES_ASSIGN_CLK32KG 0x10 | ||
| 1589 | #define PALMAS_ENABLE1_RES_ASSIGN_CLK32KG_SHIFT 4 | ||
| 1590 | #define PALMAS_ENABLE1_RES_ASSIGN_SYSEN2 0x08 | ||
| 1591 | #define PALMAS_ENABLE1_RES_ASSIGN_SYSEN2_SHIFT 3 | ||
| 1592 | #define PALMAS_ENABLE1_RES_ASSIGN_SYSEN1 0x04 | ||
| 1593 | #define PALMAS_ENABLE1_RES_ASSIGN_SYSEN1_SHIFT 2 | ||
| 1594 | #define PALMAS_ENABLE1_RES_ASSIGN_REGEN2 0x02 | ||
| 1595 | #define PALMAS_ENABLE1_RES_ASSIGN_REGEN2_SHIFT 1 | ||
| 1596 | #define PALMAS_ENABLE1_RES_ASSIGN_REGEN1 0x01 | ||
| 1597 | #define PALMAS_ENABLE1_RES_ASSIGN_REGEN1_SHIFT 0 | ||
| 1598 | |||
| 1599 | /* Bit definitions for ENABLE1_SMPS_ASSIGN */ | ||
| 1600 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS10 0x80 | ||
| 1601 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS10_SHIFT 7 | ||
| 1602 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS9 0x40 | ||
| 1603 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS9_SHIFT 6 | ||
| 1604 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS8 0x20 | ||
| 1605 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS8_SHIFT 5 | ||
| 1606 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS7 0x10 | ||
| 1607 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS7_SHIFT 4 | ||
| 1608 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS6 0x08 | ||
| 1609 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS6_SHIFT 3 | ||
| 1610 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS45 0x04 | ||
| 1611 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS45_SHIFT 2 | ||
| 1612 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS3 0x02 | ||
| 1613 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS3_SHIFT 1 | ||
| 1614 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS12 0x01 | ||
| 1615 | #define PALMAS_ENABLE1_SMPS_ASSIGN_SMPS12_SHIFT 0 | ||
| 1616 | |||
| 1617 | /* Bit definitions for ENABLE1_LDO_ASSIGN1 */ | ||
| 1618 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO8 0x80 | ||
| 1619 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO8_SHIFT 7 | ||
| 1620 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO7 0x40 | ||
| 1621 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO7_SHIFT 6 | ||
| 1622 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO6 0x20 | ||
| 1623 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO6_SHIFT 5 | ||
| 1624 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO5 0x10 | ||
| 1625 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO5_SHIFT 4 | ||
| 1626 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO4 0x08 | ||
| 1627 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO4_SHIFT 3 | ||
| 1628 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO3 0x04 | ||
| 1629 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO3_SHIFT 2 | ||
| 1630 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO2 0x02 | ||
| 1631 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO2_SHIFT 1 | ||
| 1632 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO1 0x01 | ||
| 1633 | #define PALMAS_ENABLE1_LDO_ASSIGN1_LDO1_SHIFT 0 | ||
| 1634 | |||
| 1635 | /* Bit definitions for ENABLE1_LDO_ASSIGN2 */ | ||
| 1636 | #define PALMAS_ENABLE1_LDO_ASSIGN2_LDOUSB 0x04 | ||
| 1637 | #define PALMAS_ENABLE1_LDO_ASSIGN2_LDOUSB_SHIFT 2 | ||
| 1638 | #define PALMAS_ENABLE1_LDO_ASSIGN2_LDOLN 0x02 | ||
| 1639 | #define PALMAS_ENABLE1_LDO_ASSIGN2_LDOLN_SHIFT 1 | ||
| 1640 | #define PALMAS_ENABLE1_LDO_ASSIGN2_LDO9 0x01 | ||
| 1641 | #define PALMAS_ENABLE1_LDO_ASSIGN2_LDO9_SHIFT 0 | ||
| 1642 | |||
| 1643 | /* Bit definitions for ENABLE2_RES_ASSIGN */ | ||
| 1644 | #define PALMAS_ENABLE2_RES_ASSIGN_REGEN3 0x40 | ||
| 1645 | #define PALMAS_ENABLE2_RES_ASSIGN_REGEN3_SHIFT 6 | ||
| 1646 | #define PALMAS_ENABLE2_RES_ASSIGN_CLK32KGAUDIO 0x20 | ||
| 1647 | #define PALMAS_ENABLE2_RES_ASSIGN_CLK32KGAUDIO_SHIFT 5 | ||
| 1648 | #define PALMAS_ENABLE2_RES_ASSIGN_CLK32KG 0x10 | ||
| 1649 | #define PALMAS_ENABLE2_RES_ASSIGN_CLK32KG_SHIFT 4 | ||
| 1650 | #define PALMAS_ENABLE2_RES_ASSIGN_SYSEN2 0x08 | ||
| 1651 | #define PALMAS_ENABLE2_RES_ASSIGN_SYSEN2_SHIFT 3 | ||
| 1652 | #define PALMAS_ENABLE2_RES_ASSIGN_SYSEN1 0x04 | ||
| 1653 | #define PALMAS_ENABLE2_RES_ASSIGN_SYSEN1_SHIFT 2 | ||
| 1654 | #define PALMAS_ENABLE2_RES_ASSIGN_REGEN2 0x02 | ||
| 1655 | #define PALMAS_ENABLE2_RES_ASSIGN_REGEN2_SHIFT 1 | ||
| 1656 | #define PALMAS_ENABLE2_RES_ASSIGN_REGEN1 0x01 | ||
| 1657 | #define PALMAS_ENABLE2_RES_ASSIGN_REGEN1_SHIFT 0 | ||
| 1658 | |||
| 1659 | /* Bit definitions for ENABLE2_SMPS_ASSIGN */ | ||
| 1660 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS10 0x80 | ||
| 1661 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS10_SHIFT 7 | ||
| 1662 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS9 0x40 | ||
| 1663 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS9_SHIFT 6 | ||
| 1664 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS8 0x20 | ||
| 1665 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS8_SHIFT 5 | ||
| 1666 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS7 0x10 | ||
| 1667 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS7_SHIFT 4 | ||
| 1668 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS6 0x08 | ||
| 1669 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS6_SHIFT 3 | ||
| 1670 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS45 0x04 | ||
| 1671 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS45_SHIFT 2 | ||
| 1672 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS3 0x02 | ||
| 1673 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS3_SHIFT 1 | ||
| 1674 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS12 0x01 | ||
| 1675 | #define PALMAS_ENABLE2_SMPS_ASSIGN_SMPS12_SHIFT 0 | ||
| 1676 | |||
| 1677 | /* Bit definitions for ENABLE2_LDO_ASSIGN1 */ | ||
| 1678 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO8 0x80 | ||
| 1679 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO8_SHIFT 7 | ||
| 1680 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO7 0x40 | ||
| 1681 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO7_SHIFT 6 | ||
| 1682 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO6 0x20 | ||
| 1683 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO6_SHIFT 5 | ||
| 1684 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO5 0x10 | ||
| 1685 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO5_SHIFT 4 | ||
| 1686 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO4 0x08 | ||
| 1687 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO4_SHIFT 3 | ||
| 1688 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO3 0x04 | ||
| 1689 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO3_SHIFT 2 | ||
| 1690 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO2 0x02 | ||
| 1691 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO2_SHIFT 1 | ||
| 1692 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO1 0x01 | ||
| 1693 | #define PALMAS_ENABLE2_LDO_ASSIGN1_LDO1_SHIFT 0 | ||
| 1694 | |||
| 1695 | /* Bit definitions for ENABLE2_LDO_ASSIGN2 */ | ||
| 1696 | #define PALMAS_ENABLE2_LDO_ASSIGN2_LDOUSB 0x04 | ||
| 1697 | #define PALMAS_ENABLE2_LDO_ASSIGN2_LDOUSB_SHIFT 2 | ||
| 1698 | #define PALMAS_ENABLE2_LDO_ASSIGN2_LDOLN 0x02 | ||
| 1699 | #define PALMAS_ENABLE2_LDO_ASSIGN2_LDOLN_SHIFT 1 | ||
| 1700 | #define PALMAS_ENABLE2_LDO_ASSIGN2_LDO9 0x01 | ||
| 1701 | #define PALMAS_ENABLE2_LDO_ASSIGN2_LDO9_SHIFT 0 | ||
| 1702 | |||
| 1703 | /* Bit definitions for REGEN3_CTRL */ | ||
| 1704 | #define PALMAS_REGEN3_CTRL_STATUS 0x10 | ||
| 1705 | #define PALMAS_REGEN3_CTRL_STATUS_SHIFT 4 | ||
| 1706 | #define PALMAS_REGEN3_CTRL_MODE_SLEEP 0x04 | ||
| 1707 | #define PALMAS_REGEN3_CTRL_MODE_SLEEP_SHIFT 2 | ||
| 1708 | #define PALMAS_REGEN3_CTRL_MODE_ACTIVE 0x01 | ||
| 1709 | #define PALMAS_REGEN3_CTRL_MODE_ACTIVE_SHIFT 0 | ||
| 1710 | |||
| 1711 | /* Registers for function PAD_CONTROL */ | ||
| 1712 | #define PALMAS_PU_PD_INPUT_CTRL1 0x0 | ||
| 1713 | #define PALMAS_PU_PD_INPUT_CTRL2 0x1 | ||
| 1714 | #define PALMAS_PU_PD_INPUT_CTRL3 0x2 | ||
| 1715 | #define PALMAS_OD_OUTPUT_CTRL 0x4 | ||
| 1716 | #define PALMAS_POLARITY_CTRL 0x5 | ||
| 1717 | #define PALMAS_PRIMARY_SECONDARY_PAD1 0x6 | ||
| 1718 | #define PALMAS_PRIMARY_SECONDARY_PAD2 0x7 | ||
| 1719 | #define PALMAS_I2C_SPI 0x8 | ||
| 1720 | #define PALMAS_PU_PD_INPUT_CTRL4 0x9 | ||
| 1721 | #define PALMAS_PRIMARY_SECONDARY_PAD3 0xA | ||
| 1722 | |||
| 1723 | /* Bit definitions for PU_PD_INPUT_CTRL1 */ | ||
| 1724 | #define PALMAS_PU_PD_INPUT_CTRL1_RESET_IN_PD 0x40 | ||
| 1725 | #define PALMAS_PU_PD_INPUT_CTRL1_RESET_IN_PD_SHIFT 6 | ||
| 1726 | #define PALMAS_PU_PD_INPUT_CTRL1_GPADC_START_PU 0x20 | ||
| 1727 | #define PALMAS_PU_PD_INPUT_CTRL1_GPADC_START_PU_SHIFT 5 | ||
| 1728 | #define PALMAS_PU_PD_INPUT_CTRL1_GPADC_START_PD 0x10 | ||
| 1729 | #define PALMAS_PU_PD_INPUT_CTRL1_GPADC_START_PD_SHIFT 4 | ||
| 1730 | #define PALMAS_PU_PD_INPUT_CTRL1_PWRDOWN_PD 0x04 | ||
| 1731 | #define PALMAS_PU_PD_INPUT_CTRL1_PWRDOWN_PD_SHIFT 2 | ||
| 1732 | #define PALMAS_PU_PD_INPUT_CTRL1_NRESWARM_PU 0x02 | ||
| 1733 | #define PALMAS_PU_PD_INPUT_CTRL1_NRESWARM_PU_SHIFT 1 | ||
| 1734 | |||
| 1735 | /* Bit definitions for PU_PD_INPUT_CTRL2 */ | ||
| 1736 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE2_PU 0x20 | ||
| 1737 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE2_PU_SHIFT 5 | ||
| 1738 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE2_PD 0x10 | ||
| 1739 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE2_PD_SHIFT 4 | ||
| 1740 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE1_PU 0x08 | ||
| 1741 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE1_PU_SHIFT 3 | ||
| 1742 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE1_PD 0x04 | ||
| 1743 | #define PALMAS_PU_PD_INPUT_CTRL2_ENABLE1_PD_SHIFT 2 | ||
| 1744 | #define PALMAS_PU_PD_INPUT_CTRL2_NSLEEP_PU 0x02 | ||
| 1745 | #define PALMAS_PU_PD_INPUT_CTRL2_NSLEEP_PU_SHIFT 1 | ||
| 1746 | #define PALMAS_PU_PD_INPUT_CTRL2_NSLEEP_PD 0x01 | ||
| 1747 | #define PALMAS_PU_PD_INPUT_CTRL2_NSLEEP_PD_SHIFT 0 | ||
| 1748 | |||
| 1749 | /* Bit definitions for PU_PD_INPUT_CTRL3 */ | ||
| 1750 | #define PALMAS_PU_PD_INPUT_CTRL3_ACOK_PD 0x40 | ||
| 1751 | #define PALMAS_PU_PD_INPUT_CTRL3_ACOK_PD_SHIFT 6 | ||
| 1752 | #define PALMAS_PU_PD_INPUT_CTRL3_CHRG_DET_N_PD 0x10 | ||
| 1753 | #define PALMAS_PU_PD_INPUT_CTRL3_CHRG_DET_N_PD_SHIFT 4 | ||
| 1754 | #define PALMAS_PU_PD_INPUT_CTRL3_POWERHOLD_PD 0x04 | ||
| 1755 | #define PALMAS_PU_PD_INPUT_CTRL3_POWERHOLD_PD_SHIFT 2 | ||
| 1756 | #define PALMAS_PU_PD_INPUT_CTRL3_MSECURE_PD 0x01 | ||
| 1757 | #define PALMAS_PU_PD_INPUT_CTRL3_MSECURE_PD_SHIFT 0 | ||
| 1758 | |||
| 1759 | /* Bit definitions for OD_OUTPUT_CTRL */ | ||
| 1760 | #define PALMAS_OD_OUTPUT_CTRL_PWM_2_OD 0x80 | ||
| 1761 | #define PALMAS_OD_OUTPUT_CTRL_PWM_2_OD_SHIFT 7 | ||
| 1762 | #define PALMAS_OD_OUTPUT_CTRL_VBUSDET_OD 0x40 | ||
| 1763 | #define PALMAS_OD_OUTPUT_CTRL_VBUSDET_OD_SHIFT 6 | ||
| 1764 | #define PALMAS_OD_OUTPUT_CTRL_PWM_1_OD 0x20 | ||
| 1765 | #define PALMAS_OD_OUTPUT_CTRL_PWM_1_OD_SHIFT 5 | ||
| 1766 | #define PALMAS_OD_OUTPUT_CTRL_INT_OD 0x08 | ||
| 1767 | #define PALMAS_OD_OUTPUT_CTRL_INT_OD_SHIFT 3 | ||
| 1768 | |||
| 1769 | /* Bit definitions for POLARITY_CTRL */ | ||
| 1770 | #define PALMAS_POLARITY_CTRL_INT_POLARITY 0x80 | ||
| 1771 | #define PALMAS_POLARITY_CTRL_INT_POLARITY_SHIFT 7 | ||
| 1772 | #define PALMAS_POLARITY_CTRL_ENABLE2_POLARITY 0x40 | ||
| 1773 | #define PALMAS_POLARITY_CTRL_ENABLE2_POLARITY_SHIFT 6 | ||
| 1774 | #define PALMAS_POLARITY_CTRL_ENABLE1_POLARITY 0x20 | ||
| 1775 | #define PALMAS_POLARITY_CTRL_ENABLE1_POLARITY_SHIFT 5 | ||
| 1776 | #define PALMAS_POLARITY_CTRL_NSLEEP_POLARITY 0x10 | ||
| 1777 | #define PALMAS_POLARITY_CTRL_NSLEEP_POLARITY_SHIFT 4 | ||
| 1778 | #define PALMAS_POLARITY_CTRL_RESET_IN_POLARITY 0x08 | ||
| 1779 | #define PALMAS_POLARITY_CTRL_RESET_IN_POLARITY_SHIFT 3 | ||
| 1780 | #define PALMAS_POLARITY_CTRL_GPIO_3_CHRG_DET_N_POLARITY 0x04 | ||
| 1781 | #define PALMAS_POLARITY_CTRL_GPIO_3_CHRG_DET_N_POLARITY_SHIFT 2 | ||
| 1782 | #define PALMAS_POLARITY_CTRL_POWERGOOD_USB_PSEL_POLARITY 0x02 | ||
| 1783 | #define PALMAS_POLARITY_CTRL_POWERGOOD_USB_PSEL_POLARITY_SHIFT 1 | ||
| 1784 | #define PALMAS_POLARITY_CTRL_PWRDOWN_POLARITY 0x01 | ||
| 1785 | #define PALMAS_POLARITY_CTRL_PWRDOWN_POLARITY_SHIFT 0 | ||
| 1786 | |||
| 1787 | /* Bit definitions for PRIMARY_SECONDARY_PAD1 */ | ||
| 1788 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_3 0x80 | ||
| 1789 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_3_SHIFT 7 | ||
| 1790 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_2_MASK 0x60 | ||
| 1791 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_2_SHIFT 5 | ||
| 1792 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_1_MASK 0x18 | ||
| 1793 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_1_SHIFT 3 | ||
| 1794 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_0 0x04 | ||
| 1795 | #define PALMAS_PRIMARY_SECONDARY_PAD1_GPIO_0_SHIFT 2 | ||
| 1796 | #define PALMAS_PRIMARY_SECONDARY_PAD1_VAC 0x02 | ||
| 1797 | #define PALMAS_PRIMARY_SECONDARY_PAD1_VAC_SHIFT 1 | ||
| 1798 | #define PALMAS_PRIMARY_SECONDARY_PAD1_POWERGOOD 0x01 | ||
| 1799 | #define PALMAS_PRIMARY_SECONDARY_PAD1_POWERGOOD_SHIFT 0 | ||
| 1800 | |||
| 1801 | /* Bit definitions for PRIMARY_SECONDARY_PAD2 */ | ||
| 1802 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_7_MASK 0x30 | ||
| 1803 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_7_SHIFT 4 | ||
| 1804 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_6 0x08 | ||
| 1805 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_6_SHIFT 3 | ||
| 1806 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_5_MASK 0x06 | ||
| 1807 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_5_SHIFT 1 | ||
| 1808 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_4 0x01 | ||
| 1809 | #define PALMAS_PRIMARY_SECONDARY_PAD2_GPIO_4_SHIFT 0 | ||
| 1810 | |||
| 1811 | /* Bit definitions for I2C_SPI */ | ||
| 1812 | #define PALMAS_I2C_SPI_I2C2OTP_EN 0x80 | ||
| 1813 | #define PALMAS_I2C_SPI_I2C2OTP_EN_SHIFT 7 | ||
| 1814 | #define PALMAS_I2C_SPI_I2C2OTP_PAGESEL 0x40 | ||
| 1815 | #define PALMAS_I2C_SPI_I2C2OTP_PAGESEL_SHIFT 6 | ||
| 1816 | #define PALMAS_I2C_SPI_ID_I2C2 0x20 | ||
| 1817 | #define PALMAS_I2C_SPI_ID_I2C2_SHIFT 5 | ||
| 1818 | #define PALMAS_I2C_SPI_I2C_SPI 0x10 | ||
| 1819 | #define PALMAS_I2C_SPI_I2C_SPI_SHIFT 4 | ||
| 1820 | #define PALMAS_I2C_SPI_ID_I2C1_MASK 0x0f | ||
| 1821 | #define PALMAS_I2C_SPI_ID_I2C1_SHIFT 0 | ||
| 1822 | |||
| 1823 | /* Bit definitions for PU_PD_INPUT_CTRL4 */ | ||
| 1824 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS2_DAT_PD 0x40 | ||
| 1825 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS2_DAT_PD_SHIFT 6 | ||
| 1826 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS2_CLK_PD 0x10 | ||
| 1827 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS2_CLK_PD_SHIFT 4 | ||
| 1828 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS1_DAT_PD 0x04 | ||
| 1829 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS1_DAT_PD_SHIFT 2 | ||
| 1830 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS1_CLK_PD 0x01 | ||
| 1831 | #define PALMAS_PU_PD_INPUT_CTRL4_DVFS1_CLK_PD_SHIFT 0 | ||
| 1832 | |||
| 1833 | /* Bit definitions for PRIMARY_SECONDARY_PAD3 */ | ||
| 1834 | #define PALMAS_PRIMARY_SECONDARY_PAD3_DVFS2 0x02 | ||
| 1835 | #define PALMAS_PRIMARY_SECONDARY_PAD3_DVFS2_SHIFT 1 | ||
| 1836 | #define PALMAS_PRIMARY_SECONDARY_PAD3_DVFS1 0x01 | ||
| 1837 | #define PALMAS_PRIMARY_SECONDARY_PAD3_DVFS1_SHIFT 0 | ||
| 1838 | |||
| 1839 | /* Registers for function LED_PWM */ | ||
| 1840 | #define PALMAS_LED_PERIOD_CTRL 0x0 | ||
| 1841 | #define PALMAS_LED_CTRL 0x1 | ||
| 1842 | #define PALMAS_PWM_CTRL1 0x2 | ||
| 1843 | #define PALMAS_PWM_CTRL2 0x3 | ||
| 1844 | |||
| 1845 | /* Bit definitions for LED_PERIOD_CTRL */ | ||
| 1846 | #define PALMAS_LED_PERIOD_CTRL_LED_2_PERIOD_MASK 0x38 | ||
| 1847 | #define PALMAS_LED_PERIOD_CTRL_LED_2_PERIOD_SHIFT 3 | ||
| 1848 | #define PALMAS_LED_PERIOD_CTRL_LED_1_PERIOD_MASK 0x07 | ||
| 1849 | #define PALMAS_LED_PERIOD_CTRL_LED_1_PERIOD_SHIFT 0 | ||
| 1850 | |||
| 1851 | /* Bit definitions for LED_CTRL */ | ||
| 1852 | #define PALMAS_LED_CTRL_LED_2_SEQ 0x20 | ||
| 1853 | #define PALMAS_LED_CTRL_LED_2_SEQ_SHIFT 5 | ||
| 1854 | #define PALMAS_LED_CTRL_LED_1_SEQ 0x10 | ||
| 1855 | #define PALMAS_LED_CTRL_LED_1_SEQ_SHIFT 4 | ||
| 1856 | #define PALMAS_LED_CTRL_LED_2_ON_TIME_MASK 0x0c | ||
| 1857 | #define PALMAS_LED_CTRL_LED_2_ON_TIME_SHIFT 2 | ||
| 1858 | #define PALMAS_LED_CTRL_LED_1_ON_TIME_MASK 0x03 | ||
| 1859 | #define PALMAS_LED_CTRL_LED_1_ON_TIME_SHIFT 0 | ||
| 1860 | |||
| 1861 | /* Bit definitions for PWM_CTRL1 */ | ||
| 1862 | #define PALMAS_PWM_CTRL1_PWM_FREQ_EN 0x02 | ||
| 1863 | #define PALMAS_PWM_CTRL1_PWM_FREQ_EN_SHIFT 1 | ||
| 1864 | #define PALMAS_PWM_CTRL1_PWM_FREQ_SEL 0x01 | ||
| 1865 | #define PALMAS_PWM_CTRL1_PWM_FREQ_SEL_SHIFT 0 | ||
| 1866 | |||
| 1867 | /* Bit definitions for PWM_CTRL2 */ | ||
| 1868 | #define PALMAS_PWM_CTRL2_PWM_DUTY_SEL_MASK 0xff | ||
| 1869 | #define PALMAS_PWM_CTRL2_PWM_DUTY_SEL_SHIFT 0 | ||
| 1870 | |||
| 1871 | /* Registers for function INTERRUPT */ | ||
| 1872 | #define PALMAS_INT1_STATUS 0x0 | ||
| 1873 | #define PALMAS_INT1_MASK 0x1 | ||
| 1874 | #define PALMAS_INT1_LINE_STATE 0x2 | ||
| 1875 | #define PALMAS_INT1_EDGE_DETECT1_RESERVED 0x3 | ||
| 1876 | #define PALMAS_INT1_EDGE_DETECT2_RESERVED 0x4 | ||
| 1877 | #define PALMAS_INT2_STATUS 0x5 | ||
| 1878 | #define PALMAS_INT2_MASK 0x6 | ||
| 1879 | #define PALMAS_INT2_LINE_STATE 0x7 | ||
| 1880 | #define PALMAS_INT2_EDGE_DETECT1_RESERVED 0x8 | ||
| 1881 | #define PALMAS_INT2_EDGE_DETECT2_RESERVED 0x9 | ||
| 1882 | #define PALMAS_INT3_STATUS 0xA | ||
| 1883 | #define PALMAS_INT3_MASK 0xB | ||
| 1884 | #define PALMAS_INT3_LINE_STATE 0xC | ||
| 1885 | #define PALMAS_INT3_EDGE_DETECT1_RESERVED 0xD | ||
| 1886 | #define PALMAS_INT3_EDGE_DETECT2_RESERVED 0xE | ||
| 1887 | #define PALMAS_INT4_STATUS 0xF | ||
| 1888 | #define PALMAS_INT4_MASK 0x10 | ||
| 1889 | #define PALMAS_INT4_LINE_STATE 0x11 | ||
| 1890 | #define PALMAS_INT4_EDGE_DETECT1 0x12 | ||
| 1891 | #define PALMAS_INT4_EDGE_DETECT2 0x13 | ||
| 1892 | #define PALMAS_INT_CTRL 0x14 | ||
| 1893 | |||
| 1894 | /* Bit definitions for INT1_STATUS */ | ||
| 1895 | #define PALMAS_INT1_STATUS_VBAT_MON 0x80 | ||
| 1896 | #define PALMAS_INT1_STATUS_VBAT_MON_SHIFT 7 | ||
| 1897 | #define PALMAS_INT1_STATUS_VSYS_MON 0x40 | ||
| 1898 | #define PALMAS_INT1_STATUS_VSYS_MON_SHIFT 6 | ||
| 1899 | #define PALMAS_INT1_STATUS_HOTDIE 0x20 | ||
| 1900 | #define PALMAS_INT1_STATUS_HOTDIE_SHIFT 5 | ||
| 1901 | #define PALMAS_INT1_STATUS_PWRDOWN 0x10 | ||
| 1902 | #define PALMAS_INT1_STATUS_PWRDOWN_SHIFT 4 | ||
| 1903 | #define PALMAS_INT1_STATUS_RPWRON 0x08 | ||
| 1904 | #define PALMAS_INT1_STATUS_RPWRON_SHIFT 3 | ||
| 1905 | #define PALMAS_INT1_STATUS_LONG_PRESS_KEY 0x04 | ||
| 1906 | #define PALMAS_INT1_STATUS_LONG_PRESS_KEY_SHIFT 2 | ||
| 1907 | #define PALMAS_INT1_STATUS_PWRON 0x02 | ||
| 1908 | #define PALMAS_INT1_STATUS_PWRON_SHIFT 1 | ||
| 1909 | #define PALMAS_INT1_STATUS_CHARG_DET_N_VBUS_OVV 0x01 | ||
| 1910 | #define PALMAS_INT1_STATUS_CHARG_DET_N_VBUS_OVV_SHIFT 0 | ||
| 1911 | |||
| 1912 | /* Bit definitions for INT1_MASK */ | ||
| 1913 | #define PALMAS_INT1_MASK_VBAT_MON 0x80 | ||
| 1914 | #define PALMAS_INT1_MASK_VBAT_MON_SHIFT 7 | ||
| 1915 | #define PALMAS_INT1_MASK_VSYS_MON 0x40 | ||
| 1916 | #define PALMAS_INT1_MASK_VSYS_MON_SHIFT 6 | ||
| 1917 | #define PALMAS_INT1_MASK_HOTDIE 0x20 | ||
| 1918 | #define PALMAS_INT1_MASK_HOTDIE_SHIFT 5 | ||
| 1919 | #define PALMAS_INT1_MASK_PWRDOWN 0x10 | ||
| 1920 | #define PALMAS_INT1_MASK_PWRDOWN_SHIFT 4 | ||
| 1921 | #define PALMAS_INT1_MASK_RPWRON 0x08 | ||
| 1922 | #define PALMAS_INT1_MASK_RPWRON_SHIFT 3 | ||
| 1923 | #define PALMAS_INT1_MASK_LONG_PRESS_KEY 0x04 | ||
| 1924 | #define PALMAS_INT1_MASK_LONG_PRESS_KEY_SHIFT 2 | ||
| 1925 | #define PALMAS_INT1_MASK_PWRON 0x02 | ||
| 1926 | #define PALMAS_INT1_MASK_PWRON_SHIFT 1 | ||
| 1927 | #define PALMAS_INT1_MASK_CHARG_DET_N_VBUS_OVV 0x01 | ||
| 1928 | #define PALMAS_INT1_MASK_CHARG_DET_N_VBUS_OVV_SHIFT 0 | ||
| 1929 | |||
| 1930 | /* Bit definitions for INT1_LINE_STATE */ | ||
| 1931 | #define PALMAS_INT1_LINE_STATE_VBAT_MON 0x80 | ||
| 1932 | #define PALMAS_INT1_LINE_STATE_VBAT_MON_SHIFT 7 | ||
| 1933 | #define PALMAS_INT1_LINE_STATE_VSYS_MON 0x40 | ||
| 1934 | #define PALMAS_INT1_LINE_STATE_VSYS_MON_SHIFT 6 | ||
| 1935 | #define PALMAS_INT1_LINE_STATE_HOTDIE 0x20 | ||
| 1936 | #define PALMAS_INT1_LINE_STATE_HOTDIE_SHIFT 5 | ||
| 1937 | #define PALMAS_INT1_LINE_STATE_PWRDOWN 0x10 | ||
| 1938 | #define PALMAS_INT1_LINE_STATE_PWRDOWN_SHIFT 4 | ||
| 1939 | #define PALMAS_INT1_LINE_STATE_RPWRON 0x08 | ||
| 1940 | #define PALMAS_INT1_LINE_STATE_RPWRON_SHIFT 3 | ||
| 1941 | #define PALMAS_INT1_LINE_STATE_LONG_PRESS_KEY 0x04 | ||
| 1942 | #define PALMAS_INT1_LINE_STATE_LONG_PRESS_KEY_SHIFT 2 | ||
| 1943 | #define PALMAS_INT1_LINE_STATE_PWRON 0x02 | ||
| 1944 | #define PALMAS_INT1_LINE_STATE_PWRON_SHIFT 1 | ||
| 1945 | #define PALMAS_INT1_LINE_STATE_CHARG_DET_N_VBUS_OVV 0x01 | ||
| 1946 | #define PALMAS_INT1_LINE_STATE_CHARG_DET_N_VBUS_OVV_SHIFT 0 | ||
| 1947 | |||
| 1948 | /* Bit definitions for INT2_STATUS */ | ||
| 1949 | #define PALMAS_INT2_STATUS_VAC_ACOK 0x80 | ||
| 1950 | #define PALMAS_INT2_STATUS_VAC_ACOK_SHIFT 7 | ||
| 1951 | #define PALMAS_INT2_STATUS_SHORT 0x40 | ||
| 1952 | #define PALMAS_INT2_STATUS_SHORT_SHIFT 6 | ||
| 1953 | #define PALMAS_INT2_STATUS_FBI_BB 0x20 | ||
| 1954 | #define PALMAS_INT2_STATUS_FBI_BB_SHIFT 5 | ||
| 1955 | #define PALMAS_INT2_STATUS_RESET_IN 0x10 | ||
| 1956 | #define PALMAS_INT2_STATUS_RESET_IN_SHIFT 4 | ||
| 1957 | #define PALMAS_INT2_STATUS_BATREMOVAL 0x08 | ||
| 1958 | #define PALMAS_INT2_STATUS_BATREMOVAL_SHIFT 3 | ||
| 1959 | #define PALMAS_INT2_STATUS_WDT 0x04 | ||
| 1960 | #define PALMAS_INT2_STATUS_WDT_SHIFT 2 | ||
| 1961 | #define PALMAS_INT2_STATUS_RTC_TIMER 0x02 | ||
| 1962 | #define PALMAS_INT2_STATUS_RTC_TIMER_SHIFT 1 | ||
| 1963 | #define PALMAS_INT2_STATUS_RTC_ALARM 0x01 | ||
| 1964 | #define PALMAS_INT2_STATUS_RTC_ALARM_SHIFT 0 | ||
| 1965 | |||
| 1966 | /* Bit definitions for INT2_MASK */ | ||
| 1967 | #define PALMAS_INT2_MASK_VAC_ACOK 0x80 | ||
| 1968 | #define PALMAS_INT2_MASK_VAC_ACOK_SHIFT 7 | ||
| 1969 | #define PALMAS_INT2_MASK_SHORT 0x40 | ||
| 1970 | #define PALMAS_INT2_MASK_SHORT_SHIFT 6 | ||
| 1971 | #define PALMAS_INT2_MASK_FBI_BB 0x20 | ||
| 1972 | #define PALMAS_INT2_MASK_FBI_BB_SHIFT 5 | ||
| 1973 | #define PALMAS_INT2_MASK_RESET_IN 0x10 | ||
| 1974 | #define PALMAS_INT2_MASK_RESET_IN_SHIFT 4 | ||
| 1975 | #define PALMAS_INT2_MASK_BATREMOVAL 0x08 | ||
| 1976 | #define PALMAS_INT2_MASK_BATREMOVAL_SHIFT 3 | ||
| 1977 | #define PALMAS_INT2_MASK_WDT 0x04 | ||
| 1978 | #define PALMAS_INT2_MASK_WDT_SHIFT 2 | ||
| 1979 | #define PALMAS_INT2_MASK_RTC_TIMER 0x02 | ||
| 1980 | #define PALMAS_INT2_MASK_RTC_TIMER_SHIFT 1 | ||
| 1981 | #define PALMAS_INT2_MASK_RTC_ALARM 0x01 | ||
| 1982 | #define PALMAS_INT2_MASK_RTC_ALARM_SHIFT 0 | ||
| 1983 | |||
| 1984 | /* Bit definitions for INT2_LINE_STATE */ | ||
| 1985 | #define PALMAS_INT2_LINE_STATE_VAC_ACOK 0x80 | ||
| 1986 | #define PALMAS_INT2_LINE_STATE_VAC_ACOK_SHIFT 7 | ||
| 1987 | #define PALMAS_INT2_LINE_STATE_SHORT 0x40 | ||
| 1988 | #define PALMAS_INT2_LINE_STATE_SHORT_SHIFT 6 | ||
| 1989 | #define PALMAS_INT2_LINE_STATE_FBI_BB 0x20 | ||
| 1990 | #define PALMAS_INT2_LINE_STATE_FBI_BB_SHIFT 5 | ||
| 1991 | #define PALMAS_INT2_LINE_STATE_RESET_IN 0x10 | ||
| 1992 | #define PALMAS_INT2_LINE_STATE_RESET_IN_SHIFT 4 | ||
| 1993 | #define PALMAS_INT2_LINE_STATE_BATREMOVAL 0x08 | ||
| 1994 | #define PALMAS_INT2_LINE_STATE_BATREMOVAL_SHIFT 3 | ||
| 1995 | #define PALMAS_INT2_LINE_STATE_WDT 0x04 | ||
| 1996 | #define PALMAS_INT2_LINE_STATE_WDT_SHIFT 2 | ||
| 1997 | #define PALMAS_INT2_LINE_STATE_RTC_TIMER 0x02 | ||
| 1998 | #define PALMAS_INT2_LINE_STATE_RTC_TIMER_SHIFT 1 | ||
| 1999 | #define PALMAS_INT2_LINE_STATE_RTC_ALARM 0x01 | ||
| 2000 | #define PALMAS_INT2_LINE_STATE_RTC_ALARM_SHIFT 0 | ||
| 2001 | |||
| 2002 | /* Bit definitions for INT3_STATUS */ | ||
| 2003 | #define PALMAS_INT3_STATUS_VBUS 0x80 | ||
| 2004 | #define PALMAS_INT3_STATUS_VBUS_SHIFT 7 | ||
| 2005 | #define PALMAS_INT3_STATUS_VBUS_OTG 0x40 | ||
| 2006 | #define PALMAS_INT3_STATUS_VBUS_OTG_SHIFT 6 | ||
| 2007 | #define PALMAS_INT3_STATUS_ID 0x20 | ||
| 2008 | #define PALMAS_INT3_STATUS_ID_SHIFT 5 | ||
| 2009 | #define PALMAS_INT3_STATUS_ID_OTG 0x10 | ||
| 2010 | #define PALMAS_INT3_STATUS_ID_OTG_SHIFT 4 | ||
| 2011 | #define PALMAS_INT3_STATUS_GPADC_EOC_RT 0x08 | ||
| 2012 | #define PALMAS_INT3_STATUS_GPADC_EOC_RT_SHIFT 3 | ||
| 2013 | #define PALMAS_INT3_STATUS_GPADC_EOC_SW 0x04 | ||
| 2014 | #define PALMAS_INT3_STATUS_GPADC_EOC_SW_SHIFT 2 | ||
| 2015 | #define PALMAS_INT3_STATUS_GPADC_AUTO_1 0x02 | ||
| 2016 | #define PALMAS_INT3_STATUS_GPADC_AUTO_1_SHIFT 1 | ||
| 2017 | #define PALMAS_INT3_STATUS_GPADC_AUTO_0 0x01 | ||
| 2018 | #define PALMAS_INT3_STATUS_GPADC_AUTO_0_SHIFT 0 | ||
| 2019 | |||
| 2020 | /* Bit definitions for INT3_MASK */ | ||
| 2021 | #define PALMAS_INT3_MASK_VBUS 0x80 | ||
| 2022 | #define PALMAS_INT3_MASK_VBUS_SHIFT 7 | ||
| 2023 | #define PALMAS_INT3_MASK_VBUS_OTG 0x40 | ||
| 2024 | #define PALMAS_INT3_MASK_VBUS_OTG_SHIFT 6 | ||
| 2025 | #define PALMAS_INT3_MASK_ID 0x20 | ||
| 2026 | #define PALMAS_INT3_MASK_ID_SHIFT 5 | ||
| 2027 | #define PALMAS_INT3_MASK_ID_OTG 0x10 | ||
| 2028 | #define PALMAS_INT3_MASK_ID_OTG_SHIFT 4 | ||
| 2029 | #define PALMAS_INT3_MASK_GPADC_EOC_RT 0x08 | ||
| 2030 | #define PALMAS_INT3_MASK_GPADC_EOC_RT_SHIFT 3 | ||
| 2031 | #define PALMAS_INT3_MASK_GPADC_EOC_SW 0x04 | ||
| 2032 | #define PALMAS_INT3_MASK_GPADC_EOC_SW_SHIFT 2 | ||
| 2033 | #define PALMAS_INT3_MASK_GPADC_AUTO_1 0x02 | ||
| 2034 | #define PALMAS_INT3_MASK_GPADC_AUTO_1_SHIFT 1 | ||
| 2035 | #define PALMAS_INT3_MASK_GPADC_AUTO_0 0x01 | ||
| 2036 | #define PALMAS_INT3_MASK_GPADC_AUTO_0_SHIFT 0 | ||
| 2037 | |||
| 2038 | /* Bit definitions for INT3_LINE_STATE */ | ||
| 2039 | #define PALMAS_INT3_LINE_STATE_VBUS 0x80 | ||
| 2040 | #define PALMAS_INT3_LINE_STATE_VBUS_SHIFT 7 | ||
| 2041 | #define PALMAS_INT3_LINE_STATE_VBUS_OTG 0x40 | ||
| 2042 | #define PALMAS_INT3_LINE_STATE_VBUS_OTG_SHIFT 6 | ||
| 2043 | #define PALMAS_INT3_LINE_STATE_ID 0x20 | ||
| 2044 | #define PALMAS_INT3_LINE_STATE_ID_SHIFT 5 | ||
| 2045 | #define PALMAS_INT3_LINE_STATE_ID_OTG 0x10 | ||
| 2046 | #define PALMAS_INT3_LINE_STATE_ID_OTG_SHIFT 4 | ||
| 2047 | #define PALMAS_INT3_LINE_STATE_GPADC_EOC_RT 0x08 | ||
| 2048 | #define PALMAS_INT3_LINE_STATE_GPADC_EOC_RT_SHIFT 3 | ||
| 2049 | #define PALMAS_INT3_LINE_STATE_GPADC_EOC_SW 0x04 | ||
| 2050 | #define PALMAS_INT3_LINE_STATE_GPADC_EOC_SW_SHIFT 2 | ||
| 2051 | #define PALMAS_INT3_LINE_STATE_GPADC_AUTO_1 0x02 | ||
| 2052 | #define PALMAS_INT3_LINE_STATE_GPADC_AUTO_1_SHIFT 1 | ||
| 2053 | #define PALMAS_INT3_LINE_STATE_GPADC_AUTO_0 0x01 | ||
| 2054 | #define PALMAS_INT3_LINE_STATE_GPADC_AUTO_0_SHIFT 0 | ||
| 2055 | |||
| 2056 | /* Bit definitions for INT4_STATUS */ | ||
| 2057 | #define PALMAS_INT4_STATUS_GPIO_7 0x80 | ||
| 2058 | #define PALMAS_INT4_STATUS_GPIO_7_SHIFT 7 | ||
| 2059 | #define PALMAS_INT4_STATUS_GPIO_6 0x40 | ||
| 2060 | #define PALMAS_INT4_STATUS_GPIO_6_SHIFT 6 | ||
| 2061 | #define PALMAS_INT4_STATUS_GPIO_5 0x20 | ||
| 2062 | #define PALMAS_INT4_STATUS_GPIO_5_SHIFT 5 | ||
| 2063 | #define PALMAS_INT4_STATUS_GPIO_4 0x10 | ||
| 2064 | #define PALMAS_INT4_STATUS_GPIO_4_SHIFT 4 | ||
| 2065 | #define PALMAS_INT4_STATUS_GPIO_3 0x08 | ||
| 2066 | #define PALMAS_INT4_STATUS_GPIO_3_SHIFT 3 | ||
| 2067 | #define PALMAS_INT4_STATUS_GPIO_2 0x04 | ||
| 2068 | #define PALMAS_INT4_STATUS_GPIO_2_SHIFT 2 | ||
| 2069 | #define PALMAS_INT4_STATUS_GPIO_1 0x02 | ||
| 2070 | #define PALMAS_INT4_STATUS_GPIO_1_SHIFT 1 | ||
| 2071 | #define PALMAS_INT4_STATUS_GPIO_0 0x01 | ||
| 2072 | #define PALMAS_INT4_STATUS_GPIO_0_SHIFT 0 | ||
| 2073 | |||
| 2074 | /* Bit definitions for INT4_MASK */ | ||
| 2075 | #define PALMAS_INT4_MASK_GPIO_7 0x80 | ||
| 2076 | #define PALMAS_INT4_MASK_GPIO_7_SHIFT 7 | ||
| 2077 | #define PALMAS_INT4_MASK_GPIO_6 0x40 | ||
| 2078 | #define PALMAS_INT4_MASK_GPIO_6_SHIFT 6 | ||
| 2079 | #define PALMAS_INT4_MASK_GPIO_5 0x20 | ||
| 2080 | #define PALMAS_INT4_MASK_GPIO_5_SHIFT 5 | ||
| 2081 | #define PALMAS_INT4_MASK_GPIO_4 0x10 | ||
| 2082 | #define PALMAS_INT4_MASK_GPIO_4_SHIFT 4 | ||
| 2083 | #define PALMAS_INT4_MASK_GPIO_3 0x08 | ||
| 2084 | #define PALMAS_INT4_MASK_GPIO_3_SHIFT 3 | ||
| 2085 | #define PALMAS_INT4_MASK_GPIO_2 0x04 | ||
| 2086 | #define PALMAS_INT4_MASK_GPIO_2_SHIFT 2 | ||
| 2087 | #define PALMAS_INT4_MASK_GPIO_1 0x02 | ||
| 2088 | #define PALMAS_INT4_MASK_GPIO_1_SHIFT 1 | ||
| 2089 | #define PALMAS_INT4_MASK_GPIO_0 0x01 | ||
| 2090 | #define PALMAS_INT4_MASK_GPIO_0_SHIFT 0 | ||
| 2091 | |||
| 2092 | /* Bit definitions for INT4_LINE_STATE */ | ||
| 2093 | #define PALMAS_INT4_LINE_STATE_GPIO_7 0x80 | ||
| 2094 | #define PALMAS_INT4_LINE_STATE_GPIO_7_SHIFT 7 | ||
| 2095 | #define PALMAS_INT4_LINE_STATE_GPIO_6 0x40 | ||
| 2096 | #define PALMAS_INT4_LINE_STATE_GPIO_6_SHIFT 6 | ||
| 2097 | #define PALMAS_INT4_LINE_STATE_GPIO_5 0x20 | ||
| 2098 | #define PALMAS_INT4_LINE_STATE_GPIO_5_SHIFT 5 | ||
| 2099 | #define PALMAS_INT4_LINE_STATE_GPIO_4 0x10 | ||
| 2100 | #define PALMAS_INT4_LINE_STATE_GPIO_4_SHIFT 4 | ||
| 2101 | #define PALMAS_INT4_LINE_STATE_GPIO_3 0x08 | ||
| 2102 | #define PALMAS_INT4_LINE_STATE_GPIO_3_SHIFT 3 | ||
| 2103 | #define PALMAS_INT4_LINE_STATE_GPIO_2 0x04 | ||
| 2104 | #define PALMAS_INT4_LINE_STATE_GPIO_2_SHIFT 2 | ||
| 2105 | #define PALMAS_INT4_LINE_STATE_GPIO_1 0x02 | ||
| 2106 | #define PALMAS_INT4_LINE_STATE_GPIO_1_SHIFT 1 | ||
| 2107 | #define PALMAS_INT4_LINE_STATE_GPIO_0 0x01 | ||
| 2108 | #define PALMAS_INT4_LINE_STATE_GPIO_0_SHIFT 0 | ||
| 2109 | |||
| 2110 | /* Bit definitions for INT4_EDGE_DETECT1 */ | ||
| 2111 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_3_RISING 0x80 | ||
| 2112 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_3_RISING_SHIFT 7 | ||
| 2113 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_3_FALLING 0x40 | ||
| 2114 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_3_FALLING_SHIFT 6 | ||
| 2115 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_2_RISING 0x20 | ||
| 2116 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_2_RISING_SHIFT 5 | ||
| 2117 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_2_FALLING 0x10 | ||
| 2118 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_2_FALLING_SHIFT 4 | ||
| 2119 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_1_RISING 0x08 | ||
| 2120 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_1_RISING_SHIFT 3 | ||
| 2121 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_1_FALLING 0x04 | ||
| 2122 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_1_FALLING_SHIFT 2 | ||
| 2123 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_0_RISING 0x02 | ||
| 2124 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_0_RISING_SHIFT 1 | ||
| 2125 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_0_FALLING 0x01 | ||
| 2126 | #define PALMAS_INT4_EDGE_DETECT1_GPIO_0_FALLING_SHIFT 0 | ||
| 2127 | |||
| 2128 | /* Bit definitions for INT4_EDGE_DETECT2 */ | ||
| 2129 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_7_RISING 0x80 | ||
| 2130 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_7_RISING_SHIFT 7 | ||
| 2131 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_7_FALLING 0x40 | ||
| 2132 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_7_FALLING_SHIFT 6 | ||
| 2133 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_6_RISING 0x20 | ||
| 2134 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_6_RISING_SHIFT 5 | ||
| 2135 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_6_FALLING 0x10 | ||
| 2136 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_6_FALLING_SHIFT 4 | ||
| 2137 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_5_RISING 0x08 | ||
| 2138 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_5_RISING_SHIFT 3 | ||
| 2139 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_5_FALLING 0x04 | ||
| 2140 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_5_FALLING_SHIFT 2 | ||
| 2141 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_4_RISING 0x02 | ||
| 2142 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_4_RISING_SHIFT 1 | ||
| 2143 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_4_FALLING 0x01 | ||
| 2144 | #define PALMAS_INT4_EDGE_DETECT2_GPIO_4_FALLING_SHIFT 0 | ||
| 2145 | |||
| 2146 | /* Bit definitions for INT_CTRL */ | ||
| 2147 | #define PALMAS_INT_CTRL_INT_PENDING 0x04 | ||
| 2148 | #define PALMAS_INT_CTRL_INT_PENDING_SHIFT 2 | ||
| 2149 | #define PALMAS_INT_CTRL_INT_CLEAR 0x01 | ||
| 2150 | #define PALMAS_INT_CTRL_INT_CLEAR_SHIFT 0 | ||
| 2151 | |||
| 2152 | /* Registers for function USB_OTG */ | ||
| 2153 | #define PALMAS_USB_WAKEUP 0x3 | ||
| 2154 | #define PALMAS_USB_VBUS_CTRL_SET 0x4 | ||
| 2155 | #define PALMAS_USB_VBUS_CTRL_CLR 0x5 | ||
| 2156 | #define PALMAS_USB_ID_CTRL_SET 0x6 | ||
| 2157 | #define PALMAS_USB_ID_CTRL_CLEAR 0x7 | ||
| 2158 | #define PALMAS_USB_VBUS_INT_SRC 0x8 | ||
| 2159 | #define PALMAS_USB_VBUS_INT_LATCH_SET 0x9 | ||
| 2160 | #define PALMAS_USB_VBUS_INT_LATCH_CLR 0xA | ||
| 2161 | #define PALMAS_USB_VBUS_INT_EN_LO_SET 0xB | ||
| 2162 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR 0xC | ||
| 2163 | #define PALMAS_USB_VBUS_INT_EN_HI_SET 0xD | ||
| 2164 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR 0xE | ||
| 2165 | #define PALMAS_USB_ID_INT_SRC 0xF | ||
| 2166 | #define PALMAS_USB_ID_INT_LATCH_SET 0x10 | ||
| 2167 | #define PALMAS_USB_ID_INT_LATCH_CLR 0x11 | ||
| 2168 | #define PALMAS_USB_ID_INT_EN_LO_SET 0x12 | ||
| 2169 | #define PALMAS_USB_ID_INT_EN_LO_CLR 0x13 | ||
| 2170 | #define PALMAS_USB_ID_INT_EN_HI_SET 0x14 | ||
| 2171 | #define PALMAS_USB_ID_INT_EN_HI_CLR 0x15 | ||
| 2172 | #define PALMAS_USB_OTG_ADP_CTRL 0x16 | ||
| 2173 | #define PALMAS_USB_OTG_ADP_HIGH 0x17 | ||
| 2174 | #define PALMAS_USB_OTG_ADP_LOW 0x18 | ||
| 2175 | #define PALMAS_USB_OTG_ADP_RISE 0x19 | ||
| 2176 | #define PALMAS_USB_OTG_REVISION 0x1A | ||
| 2177 | |||
| 2178 | /* Bit definitions for USB_WAKEUP */ | ||
| 2179 | #define PALMAS_USB_WAKEUP_ID_WK_UP_COMP 0x01 | ||
| 2180 | #define PALMAS_USB_WAKEUP_ID_WK_UP_COMP_SHIFT 0 | ||
| 2181 | |||
| 2182 | /* Bit definitions for USB_VBUS_CTRL_SET */ | ||
| 2183 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_CHRG_VSYS 0x80 | ||
| 2184 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_CHRG_VSYS_SHIFT 7 | ||
| 2185 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_DISCHRG 0x20 | ||
| 2186 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_DISCHRG_SHIFT 5 | ||
| 2187 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_IADP_SRC 0x10 | ||
| 2188 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_IADP_SRC_SHIFT 4 | ||
| 2189 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_IADP_SINK 0x08 | ||
| 2190 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_IADP_SINK_SHIFT 3 | ||
| 2191 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_ACT_COMP 0x04 | ||
| 2192 | #define PALMAS_USB_VBUS_CTRL_SET_VBUS_ACT_COMP_SHIFT 2 | ||
| 2193 | |||
| 2194 | /* Bit definitions for USB_VBUS_CTRL_CLR */ | ||
| 2195 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_CHRG_VSYS 0x80 | ||
| 2196 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_CHRG_VSYS_SHIFT 7 | ||
| 2197 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_DISCHRG 0x20 | ||
| 2198 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_DISCHRG_SHIFT 5 | ||
| 2199 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_IADP_SRC 0x10 | ||
| 2200 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_IADP_SRC_SHIFT 4 | ||
| 2201 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_IADP_SINK 0x08 | ||
| 2202 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_IADP_SINK_SHIFT 3 | ||
| 2203 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_ACT_COMP 0x04 | ||
| 2204 | #define PALMAS_USB_VBUS_CTRL_CLR_VBUS_ACT_COMP_SHIFT 2 | ||
| 2205 | |||
| 2206 | /* Bit definitions for USB_ID_CTRL_SET */ | ||
| 2207 | #define PALMAS_USB_ID_CTRL_SET_ID_PU_220K 0x80 | ||
| 2208 | #define PALMAS_USB_ID_CTRL_SET_ID_PU_220K_SHIFT 7 | ||
| 2209 | #define PALMAS_USB_ID_CTRL_SET_ID_PU_100K 0x40 | ||
| 2210 | #define PALMAS_USB_ID_CTRL_SET_ID_PU_100K_SHIFT 6 | ||
| 2211 | #define PALMAS_USB_ID_CTRL_SET_ID_GND_DRV 0x20 | ||
| 2212 | #define PALMAS_USB_ID_CTRL_SET_ID_GND_DRV_SHIFT 5 | ||
| 2213 | #define PALMAS_USB_ID_CTRL_SET_ID_SRC_16U 0x10 | ||
| 2214 | #define PALMAS_USB_ID_CTRL_SET_ID_SRC_16U_SHIFT 4 | ||
| 2215 | #define PALMAS_USB_ID_CTRL_SET_ID_SRC_5U 0x08 | ||
| 2216 | #define PALMAS_USB_ID_CTRL_SET_ID_SRC_5U_SHIFT 3 | ||
| 2217 | #define PALMAS_USB_ID_CTRL_SET_ID_ACT_COMP 0x04 | ||
| 2218 | #define PALMAS_USB_ID_CTRL_SET_ID_ACT_COMP_SHIFT 2 | ||
| 2219 | |||
| 2220 | /* Bit definitions for USB_ID_CTRL_CLEAR */ | ||
| 2221 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_PU_220K 0x80 | ||
| 2222 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_PU_220K_SHIFT 7 | ||
| 2223 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_PU_100K 0x40 | ||
| 2224 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_PU_100K_SHIFT 6 | ||
| 2225 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_GND_DRV 0x20 | ||
| 2226 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_GND_DRV_SHIFT 5 | ||
| 2227 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_SRC_16U 0x10 | ||
| 2228 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_SRC_16U_SHIFT 4 | ||
| 2229 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_SRC_5U 0x08 | ||
| 2230 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_SRC_5U_SHIFT 3 | ||
| 2231 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_ACT_COMP 0x04 | ||
| 2232 | #define PALMAS_USB_ID_CTRL_CLEAR_ID_ACT_COMP_SHIFT 2 | ||
| 2233 | |||
| 2234 | /* Bit definitions for USB_VBUS_INT_SRC */ | ||
| 2235 | #define PALMAS_USB_VBUS_INT_SRC_VOTG_SESS_VLD 0x80 | ||
| 2236 | #define PALMAS_USB_VBUS_INT_SRC_VOTG_SESS_VLD_SHIFT 7 | ||
| 2237 | #define PALMAS_USB_VBUS_INT_SRC_VADP_PRB 0x40 | ||
| 2238 | #define PALMAS_USB_VBUS_INT_SRC_VADP_PRB_SHIFT 6 | ||
| 2239 | #define PALMAS_USB_VBUS_INT_SRC_VADP_SNS 0x20 | ||
| 2240 | #define PALMAS_USB_VBUS_INT_SRC_VADP_SNS_SHIFT 5 | ||
| 2241 | #define PALMAS_USB_VBUS_INT_SRC_VA_VBUS_VLD 0x08 | ||
| 2242 | #define PALMAS_USB_VBUS_INT_SRC_VA_VBUS_VLD_SHIFT 3 | ||
| 2243 | #define PALMAS_USB_VBUS_INT_SRC_VA_SESS_VLD 0x04 | ||
| 2244 | #define PALMAS_USB_VBUS_INT_SRC_VA_SESS_VLD_SHIFT 2 | ||
| 2245 | #define PALMAS_USB_VBUS_INT_SRC_VB_SESS_VLD 0x02 | ||
| 2246 | #define PALMAS_USB_VBUS_INT_SRC_VB_SESS_VLD_SHIFT 1 | ||
| 2247 | #define PALMAS_USB_VBUS_INT_SRC_VB_SESS_END 0x01 | ||
| 2248 | #define PALMAS_USB_VBUS_INT_SRC_VB_SESS_END_SHIFT 0 | ||
| 2249 | |||
| 2250 | /* Bit definitions for USB_VBUS_INT_LATCH_SET */ | ||
| 2251 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VOTG_SESS_VLD 0x80 | ||
| 2252 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VOTG_SESS_VLD_SHIFT 7 | ||
| 2253 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VADP_PRB 0x40 | ||
| 2254 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VADP_PRB_SHIFT 6 | ||
| 2255 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VADP_SNS 0x20 | ||
| 2256 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VADP_SNS_SHIFT 5 | ||
| 2257 | #define PALMAS_USB_VBUS_INT_LATCH_SET_ADP 0x10 | ||
| 2258 | #define PALMAS_USB_VBUS_INT_LATCH_SET_ADP_SHIFT 4 | ||
| 2259 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VA_VBUS_VLD 0x08 | ||
| 2260 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VA_VBUS_VLD_SHIFT 3 | ||
| 2261 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VA_SESS_VLD 0x04 | ||
| 2262 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VA_SESS_VLD_SHIFT 2 | ||
| 2263 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VB_SESS_VLD 0x02 | ||
| 2264 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VB_SESS_VLD_SHIFT 1 | ||
| 2265 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VB_SESS_END 0x01 | ||
| 2266 | #define PALMAS_USB_VBUS_INT_LATCH_SET_VB_SESS_END_SHIFT 0 | ||
| 2267 | |||
| 2268 | /* Bit definitions for USB_VBUS_INT_LATCH_CLR */ | ||
| 2269 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VOTG_SESS_VLD 0x80 | ||
| 2270 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VOTG_SESS_VLD_SHIFT 7 | ||
| 2271 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VADP_PRB 0x40 | ||
| 2272 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VADP_PRB_SHIFT 6 | ||
| 2273 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VADP_SNS 0x20 | ||
| 2274 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VADP_SNS_SHIFT 5 | ||
| 2275 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_ADP 0x10 | ||
| 2276 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_ADP_SHIFT 4 | ||
| 2277 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VA_VBUS_VLD 0x08 | ||
| 2278 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VA_VBUS_VLD_SHIFT 3 | ||
| 2279 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VA_SESS_VLD 0x04 | ||
| 2280 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VA_SESS_VLD_SHIFT 2 | ||
| 2281 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VB_SESS_VLD 0x02 | ||
| 2282 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VB_SESS_VLD_SHIFT 1 | ||
| 2283 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VB_SESS_END 0x01 | ||
| 2284 | #define PALMAS_USB_VBUS_INT_LATCH_CLR_VB_SESS_END_SHIFT 0 | ||
| 2285 | |||
| 2286 | /* Bit definitions for USB_VBUS_INT_EN_LO_SET */ | ||
| 2287 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VOTG_SESS_VLD 0x80 | ||
| 2288 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VOTG_SESS_VLD_SHIFT 7 | ||
| 2289 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VADP_PRB 0x40 | ||
| 2290 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VADP_PRB_SHIFT 6 | ||
| 2291 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VADP_SNS 0x20 | ||
| 2292 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VADP_SNS_SHIFT 5 | ||
| 2293 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VA_VBUS_VLD 0x08 | ||
| 2294 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VA_VBUS_VLD_SHIFT 3 | ||
| 2295 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VA_SESS_VLD 0x04 | ||
| 2296 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VA_SESS_VLD_SHIFT 2 | ||
| 2297 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VB_SESS_VLD 0x02 | ||
| 2298 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VB_SESS_VLD_SHIFT 1 | ||
| 2299 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VB_SESS_END 0x01 | ||
| 2300 | #define PALMAS_USB_VBUS_INT_EN_LO_SET_VB_SESS_END_SHIFT 0 | ||
| 2301 | |||
| 2302 | /* Bit definitions for USB_VBUS_INT_EN_LO_CLR */ | ||
| 2303 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VOTG_SESS_VLD 0x80 | ||
| 2304 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VOTG_SESS_VLD_SHIFT 7 | ||
| 2305 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VADP_PRB 0x40 | ||
| 2306 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VADP_PRB_SHIFT 6 | ||
| 2307 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VADP_SNS 0x20 | ||
| 2308 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VADP_SNS_SHIFT 5 | ||
| 2309 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VA_VBUS_VLD 0x08 | ||
| 2310 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VA_VBUS_VLD_SHIFT 3 | ||
| 2311 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VA_SESS_VLD 0x04 | ||
| 2312 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VA_SESS_VLD_SHIFT 2 | ||
| 2313 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VB_SESS_VLD 0x02 | ||
| 2314 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VB_SESS_VLD_SHIFT 1 | ||
| 2315 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VB_SESS_END 0x01 | ||
| 2316 | #define PALMAS_USB_VBUS_INT_EN_LO_CLR_VB_SESS_END_SHIFT 0 | ||
| 2317 | |||
| 2318 | /* Bit definitions for USB_VBUS_INT_EN_HI_SET */ | ||
| 2319 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VOTG_SESS_VLD 0x80 | ||
| 2320 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VOTG_SESS_VLD_SHIFT 7 | ||
| 2321 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VADP_PRB 0x40 | ||
| 2322 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VADP_PRB_SHIFT 6 | ||
| 2323 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VADP_SNS 0x20 | ||
| 2324 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VADP_SNS_SHIFT 5 | ||
| 2325 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_ADP 0x10 | ||
| 2326 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_ADP_SHIFT 4 | ||
| 2327 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VA_VBUS_VLD 0x08 | ||
| 2328 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VA_VBUS_VLD_SHIFT 3 | ||
| 2329 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VA_SESS_VLD 0x04 | ||
| 2330 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VA_SESS_VLD_SHIFT 2 | ||
| 2331 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VB_SESS_VLD 0x02 | ||
| 2332 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VB_SESS_VLD_SHIFT 1 | ||
| 2333 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VB_SESS_END 0x01 | ||
| 2334 | #define PALMAS_USB_VBUS_INT_EN_HI_SET_VB_SESS_END_SHIFT 0 | ||
| 2335 | |||
| 2336 | /* Bit definitions for USB_VBUS_INT_EN_HI_CLR */ | ||
| 2337 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VOTG_SESS_VLD 0x80 | ||
| 2338 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VOTG_SESS_VLD_SHIFT 7 | ||
| 2339 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VADP_PRB 0x40 | ||
| 2340 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VADP_PRB_SHIFT 6 | ||
| 2341 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VADP_SNS 0x20 | ||
| 2342 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VADP_SNS_SHIFT 5 | ||
| 2343 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_ADP 0x10 | ||
| 2344 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_ADP_SHIFT 4 | ||
| 2345 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VA_VBUS_VLD 0x08 | ||
| 2346 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VA_VBUS_VLD_SHIFT 3 | ||
| 2347 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VA_SESS_VLD 0x04 | ||
| 2348 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VA_SESS_VLD_SHIFT 2 | ||
| 2349 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VB_SESS_VLD 0x02 | ||
| 2350 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VB_SESS_VLD_SHIFT 1 | ||
| 2351 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VB_SESS_END 0x01 | ||
| 2352 | #define PALMAS_USB_VBUS_INT_EN_HI_CLR_VB_SESS_END_SHIFT 0 | ||
| 2353 | |||
| 2354 | /* Bit definitions for USB_ID_INT_SRC */ | ||
| 2355 | #define PALMAS_USB_ID_INT_SRC_ID_FLOAT 0x10 | ||
| 2356 | #define PALMAS_USB_ID_INT_SRC_ID_FLOAT_SHIFT 4 | ||
| 2357 | #define PALMAS_USB_ID_INT_SRC_ID_A 0x08 | ||
| 2358 | #define PALMAS_USB_ID_INT_SRC_ID_A_SHIFT 3 | ||
| 2359 | #define PALMAS_USB_ID_INT_SRC_ID_B 0x04 | ||
| 2360 | #define PALMAS_USB_ID_INT_SRC_ID_B_SHIFT 2 | ||
| 2361 | #define PALMAS_USB_ID_INT_SRC_ID_C 0x02 | ||
| 2362 | #define PALMAS_USB_ID_INT_SRC_ID_C_SHIFT 1 | ||
| 2363 | #define PALMAS_USB_ID_INT_SRC_ID_GND 0x01 | ||
| 2364 | #define PALMAS_USB_ID_INT_SRC_ID_GND_SHIFT 0 | ||
| 2365 | |||
| 2366 | /* Bit definitions for USB_ID_INT_LATCH_SET */ | ||
| 2367 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_FLOAT 0x10 | ||
| 2368 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_FLOAT_SHIFT 4 | ||
| 2369 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_A 0x08 | ||
| 2370 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_A_SHIFT 3 | ||
| 2371 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_B 0x04 | ||
| 2372 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_B_SHIFT 2 | ||
| 2373 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_C 0x02 | ||
| 2374 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_C_SHIFT 1 | ||
| 2375 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_GND 0x01 | ||
| 2376 | #define PALMAS_USB_ID_INT_LATCH_SET_ID_GND_SHIFT 0 | ||
| 2377 | |||
| 2378 | /* Bit definitions for USB_ID_INT_LATCH_CLR */ | ||
| 2379 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_FLOAT 0x10 | ||
| 2380 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_FLOAT_SHIFT 4 | ||
| 2381 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_A 0x08 | ||
| 2382 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_A_SHIFT 3 | ||
| 2383 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_B 0x04 | ||
| 2384 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_B_SHIFT 2 | ||
| 2385 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_C 0x02 | ||
| 2386 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_C_SHIFT 1 | ||
| 2387 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_GND 0x01 | ||
| 2388 | #define PALMAS_USB_ID_INT_LATCH_CLR_ID_GND_SHIFT 0 | ||
| 2389 | |||
| 2390 | /* Bit definitions for USB_ID_INT_EN_LO_SET */ | ||
| 2391 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_FLOAT 0x10 | ||
| 2392 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_FLOAT_SHIFT 4 | ||
| 2393 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_A 0x08 | ||
| 2394 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_A_SHIFT 3 | ||
| 2395 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_B 0x04 | ||
| 2396 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_B_SHIFT 2 | ||
| 2397 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_C 0x02 | ||
| 2398 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_C_SHIFT 1 | ||
| 2399 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_GND 0x01 | ||
| 2400 | #define PALMAS_USB_ID_INT_EN_LO_SET_ID_GND_SHIFT 0 | ||
| 2401 | |||
| 2402 | /* Bit definitions for USB_ID_INT_EN_LO_CLR */ | ||
| 2403 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_FLOAT 0x10 | ||
| 2404 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_FLOAT_SHIFT 4 | ||
| 2405 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_A 0x08 | ||
| 2406 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_A_SHIFT 3 | ||
| 2407 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_B 0x04 | ||
| 2408 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_B_SHIFT 2 | ||
| 2409 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_C 0x02 | ||
| 2410 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_C_SHIFT 1 | ||
| 2411 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_GND 0x01 | ||
| 2412 | #define PALMAS_USB_ID_INT_EN_LO_CLR_ID_GND_SHIFT 0 | ||
| 2413 | |||
| 2414 | /* Bit definitions for USB_ID_INT_EN_HI_SET */ | ||
| 2415 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_FLOAT 0x10 | ||
| 2416 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_FLOAT_SHIFT 4 | ||
| 2417 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_A 0x08 | ||
| 2418 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_A_SHIFT 3 | ||
| 2419 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_B 0x04 | ||
| 2420 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_B_SHIFT 2 | ||
| 2421 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_C 0x02 | ||
| 2422 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_C_SHIFT 1 | ||
| 2423 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_GND 0x01 | ||
| 2424 | #define PALMAS_USB_ID_INT_EN_HI_SET_ID_GND_SHIFT 0 | ||
| 2425 | |||
| 2426 | /* Bit definitions for USB_ID_INT_EN_HI_CLR */ | ||
| 2427 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_FLOAT 0x10 | ||
| 2428 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_FLOAT_SHIFT 4 | ||
| 2429 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_A 0x08 | ||
| 2430 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_A_SHIFT 3 | ||
| 2431 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_B 0x04 | ||
| 2432 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_B_SHIFT 2 | ||
| 2433 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_C 0x02 | ||
| 2434 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_C_SHIFT 1 | ||
| 2435 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_GND 0x01 | ||
| 2436 | #define PALMAS_USB_ID_INT_EN_HI_CLR_ID_GND_SHIFT 0 | ||
| 2437 | |||
| 2438 | /* Bit definitions for USB_OTG_ADP_CTRL */ | ||
| 2439 | #define PALMAS_USB_OTG_ADP_CTRL_ADP_EN 0x04 | ||
| 2440 | #define PALMAS_USB_OTG_ADP_CTRL_ADP_EN_SHIFT 2 | ||
| 2441 | #define PALMAS_USB_OTG_ADP_CTRL_ADP_MODE_MASK 0x03 | ||
| 2442 | #define PALMAS_USB_OTG_ADP_CTRL_ADP_MODE_SHIFT 0 | ||
| 2443 | |||
| 2444 | /* Bit definitions for USB_OTG_ADP_HIGH */ | ||
| 2445 | #define PALMAS_USB_OTG_ADP_HIGH_T_ADP_HIGH_MASK 0xff | ||
| 2446 | #define PALMAS_USB_OTG_ADP_HIGH_T_ADP_HIGH_SHIFT 0 | ||
| 2447 | |||
| 2448 | /* Bit definitions for USB_OTG_ADP_LOW */ | ||
| 2449 | #define PALMAS_USB_OTG_ADP_LOW_T_ADP_LOW_MASK 0xff | ||
| 2450 | #define PALMAS_USB_OTG_ADP_LOW_T_ADP_LOW_SHIFT 0 | ||
| 2451 | |||
| 2452 | /* Bit definitions for USB_OTG_ADP_RISE */ | ||
| 2453 | #define PALMAS_USB_OTG_ADP_RISE_T_ADP_RISE_MASK 0xff | ||
| 2454 | #define PALMAS_USB_OTG_ADP_RISE_T_ADP_RISE_SHIFT 0 | ||
| 2455 | |||
| 2456 | /* Bit definitions for USB_OTG_REVISION */ | ||
| 2457 | #define PALMAS_USB_OTG_REVISION_OTG_REV 0x01 | ||
| 2458 | #define PALMAS_USB_OTG_REVISION_OTG_REV_SHIFT 0 | ||
| 2459 | |||
| 2460 | /* Registers for function VIBRATOR */ | ||
| 2461 | #define PALMAS_VIBRA_CTRL 0x0 | ||
| 2462 | |||
| 2463 | /* Bit definitions for VIBRA_CTRL */ | ||
| 2464 | #define PALMAS_VIBRA_CTRL_PWM_DUTY_SEL_MASK 0x06 | ||
| 2465 | #define PALMAS_VIBRA_CTRL_PWM_DUTY_SEL_SHIFT 1 | ||
| 2466 | #define PALMAS_VIBRA_CTRL_PWM_FREQ_SEL 0x01 | ||
| 2467 | #define PALMAS_VIBRA_CTRL_PWM_FREQ_SEL_SHIFT 0 | ||
| 2468 | |||
| 2469 | /* Registers for function GPIO */ | ||
| 2470 | #define PALMAS_GPIO_DATA_IN 0x0 | ||
| 2471 | #define PALMAS_GPIO_DATA_DIR 0x1 | ||
| 2472 | #define PALMAS_GPIO_DATA_OUT 0x2 | ||
| 2473 | #define PALMAS_GPIO_DEBOUNCE_EN 0x3 | ||
| 2474 | #define PALMAS_GPIO_CLEAR_DATA_OUT 0x4 | ||
| 2475 | #define PALMAS_GPIO_SET_DATA_OUT 0x5 | ||
| 2476 | #define PALMAS_PU_PD_GPIO_CTRL1 0x6 | ||
| 2477 | #define PALMAS_PU_PD_GPIO_CTRL2 0x7 | ||
| 2478 | #define PALMAS_OD_OUTPUT_GPIO_CTRL 0x8 | ||
| 2479 | |||
| 2480 | /* Bit definitions for GPIO_DATA_IN */ | ||
| 2481 | #define PALMAS_GPIO_DATA_IN_GPIO_7_IN 0x80 | ||
| 2482 | #define PALMAS_GPIO_DATA_IN_GPIO_7_IN_SHIFT 7 | ||
| 2483 | #define PALMAS_GPIO_DATA_IN_GPIO_6_IN 0x40 | ||
| 2484 | #define PALMAS_GPIO_DATA_IN_GPIO_6_IN_SHIFT 6 | ||
| 2485 | #define PALMAS_GPIO_DATA_IN_GPIO_5_IN 0x20 | ||
| 2486 | #define PALMAS_GPIO_DATA_IN_GPIO_5_IN_SHIFT 5 | ||
| 2487 | #define PALMAS_GPIO_DATA_IN_GPIO_4_IN 0x10 | ||
| 2488 | #define PALMAS_GPIO_DATA_IN_GPIO_4_IN_SHIFT 4 | ||
| 2489 | #define PALMAS_GPIO_DATA_IN_GPIO_3_IN 0x08 | ||
| 2490 | #define PALMAS_GPIO_DATA_IN_GPIO_3_IN_SHIFT 3 | ||
| 2491 | #define PALMAS_GPIO_DATA_IN_GPIO_2_IN 0x04 | ||
| 2492 | #define PALMAS_GPIO_DATA_IN_GPIO_2_IN_SHIFT 2 | ||
| 2493 | #define PALMAS_GPIO_DATA_IN_GPIO_1_IN 0x02 | ||
| 2494 | #define PALMAS_GPIO_DATA_IN_GPIO_1_IN_SHIFT 1 | ||
| 2495 | #define PALMAS_GPIO_DATA_IN_GPIO_0_IN 0x01 | ||
| 2496 | #define PALMAS_GPIO_DATA_IN_GPIO_0_IN_SHIFT 0 | ||
| 2497 | |||
| 2498 | /* Bit definitions for GPIO_DATA_DIR */ | ||
| 2499 | #define PALMAS_GPIO_DATA_DIR_GPIO_7_DIR 0x80 | ||
| 2500 | #define PALMAS_GPIO_DATA_DIR_GPIO_7_DIR_SHIFT 7 | ||
| 2501 | #define PALMAS_GPIO_DATA_DIR_GPIO_6_DIR 0x40 | ||
| 2502 | #define PALMAS_GPIO_DATA_DIR_GPIO_6_DIR_SHIFT 6 | ||
| 2503 | #define PALMAS_GPIO_DATA_DIR_GPIO_5_DIR 0x20 | ||
| 2504 | #define PALMAS_GPIO_DATA_DIR_GPIO_5_DIR_SHIFT 5 | ||
| 2505 | #define PALMAS_GPIO_DATA_DIR_GPIO_4_DIR 0x10 | ||
| 2506 | #define PALMAS_GPIO_DATA_DIR_GPIO_4_DIR_SHIFT 4 | ||
| 2507 | #define PALMAS_GPIO_DATA_DIR_GPIO_3_DIR 0x08 | ||
| 2508 | #define PALMAS_GPIO_DATA_DIR_GPIO_3_DIR_SHIFT 3 | ||
| 2509 | #define PALMAS_GPIO_DATA_DIR_GPIO_2_DIR 0x04 | ||
| 2510 | #define PALMAS_GPIO_DATA_DIR_GPIO_2_DIR_SHIFT 2 | ||
| 2511 | #define PALMAS_GPIO_DATA_DIR_GPIO_1_DIR 0x02 | ||
| 2512 | #define PALMAS_GPIO_DATA_DIR_GPIO_1_DIR_SHIFT 1 | ||
| 2513 | #define PALMAS_GPIO_DATA_DIR_GPIO_0_DIR 0x01 | ||
| 2514 | #define PALMAS_GPIO_DATA_DIR_GPIO_0_DIR_SHIFT 0 | ||
| 2515 | |||
| 2516 | /* Bit definitions for GPIO_DATA_OUT */ | ||
| 2517 | #define PALMAS_GPIO_DATA_OUT_GPIO_7_OUT 0x80 | ||
| 2518 | #define PALMAS_GPIO_DATA_OUT_GPIO_7_OUT_SHIFT 7 | ||
| 2519 | #define PALMAS_GPIO_DATA_OUT_GPIO_6_OUT 0x40 | ||
| 2520 | #define PALMAS_GPIO_DATA_OUT_GPIO_6_OUT_SHIFT 6 | ||
| 2521 | #define PALMAS_GPIO_DATA_OUT_GPIO_5_OUT 0x20 | ||
| 2522 | #define PALMAS_GPIO_DATA_OUT_GPIO_5_OUT_SHIFT 5 | ||
| 2523 | #define PALMAS_GPIO_DATA_OUT_GPIO_4_OUT 0x10 | ||
| 2524 | #define PALMAS_GPIO_DATA_OUT_GPIO_4_OUT_SHIFT 4 | ||
| 2525 | #define PALMAS_GPIO_DATA_OUT_GPIO_3_OUT 0x08 | ||
| 2526 | #define PALMAS_GPIO_DATA_OUT_GPIO_3_OUT_SHIFT 3 | ||
| 2527 | #define PALMAS_GPIO_DATA_OUT_GPIO_2_OUT 0x04 | ||
| 2528 | #define PALMAS_GPIO_DATA_OUT_GPIO_2_OUT_SHIFT 2 | ||
| 2529 | #define PALMAS_GPIO_DATA_OUT_GPIO_1_OUT 0x02 | ||
| 2530 | #define PALMAS_GPIO_DATA_OUT_GPIO_1_OUT_SHIFT 1 | ||
| 2531 | #define PALMAS_GPIO_DATA_OUT_GPIO_0_OUT 0x01 | ||
| 2532 | #define PALMAS_GPIO_DATA_OUT_GPIO_0_OUT_SHIFT 0 | ||
| 2533 | |||
| 2534 | /* Bit definitions for GPIO_DEBOUNCE_EN */ | ||
| 2535 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_7_DEBOUNCE_EN 0x80 | ||
| 2536 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_7_DEBOUNCE_EN_SHIFT 7 | ||
| 2537 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_6_DEBOUNCE_EN 0x40 | ||
| 2538 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_6_DEBOUNCE_EN_SHIFT 6 | ||
| 2539 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_5_DEBOUNCE_EN 0x20 | ||
| 2540 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_5_DEBOUNCE_EN_SHIFT 5 | ||
| 2541 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_4_DEBOUNCE_EN 0x10 | ||
| 2542 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_4_DEBOUNCE_EN_SHIFT 4 | ||
| 2543 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_3_DEBOUNCE_EN 0x08 | ||
| 2544 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_3_DEBOUNCE_EN_SHIFT 3 | ||
| 2545 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_2_DEBOUNCE_EN 0x04 | ||
| 2546 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_2_DEBOUNCE_EN_SHIFT 2 | ||
| 2547 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_1_DEBOUNCE_EN 0x02 | ||
| 2548 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_1_DEBOUNCE_EN_SHIFT 1 | ||
| 2549 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_0_DEBOUNCE_EN 0x01 | ||
| 2550 | #define PALMAS_GPIO_DEBOUNCE_EN_GPIO_0_DEBOUNCE_EN_SHIFT 0 | ||
| 2551 | |||
| 2552 | /* Bit definitions for GPIO_CLEAR_DATA_OUT */ | ||
| 2553 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_7_CLEAR_DATA_OUT 0x80 | ||
| 2554 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_7_CLEAR_DATA_OUT_SHIFT 7 | ||
| 2555 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_6_CLEAR_DATA_OUT 0x40 | ||
| 2556 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_6_CLEAR_DATA_OUT_SHIFT 6 | ||
| 2557 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_5_CLEAR_DATA_OUT 0x20 | ||
| 2558 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_5_CLEAR_DATA_OUT_SHIFT 5 | ||
| 2559 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_4_CLEAR_DATA_OUT 0x10 | ||
| 2560 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_4_CLEAR_DATA_OUT_SHIFT 4 | ||
| 2561 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_3_CLEAR_DATA_OUT 0x08 | ||
| 2562 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_3_CLEAR_DATA_OUT_SHIFT 3 | ||
| 2563 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_2_CLEAR_DATA_OUT 0x04 | ||
| 2564 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_2_CLEAR_DATA_OUT_SHIFT 2 | ||
| 2565 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_1_CLEAR_DATA_OUT 0x02 | ||
| 2566 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_1_CLEAR_DATA_OUT_SHIFT 1 | ||
| 2567 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_0_CLEAR_DATA_OUT 0x01 | ||
| 2568 | #define PALMAS_GPIO_CLEAR_DATA_OUT_GPIO_0_CLEAR_DATA_OUT_SHIFT 0 | ||
| 2569 | |||
| 2570 | /* Bit definitions for GPIO_SET_DATA_OUT */ | ||
| 2571 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_7_SET_DATA_OUT 0x80 | ||
| 2572 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_7_SET_DATA_OUT_SHIFT 7 | ||
| 2573 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_6_SET_DATA_OUT 0x40 | ||
| 2574 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_6_SET_DATA_OUT_SHIFT 6 | ||
| 2575 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_5_SET_DATA_OUT 0x20 | ||
| 2576 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_5_SET_DATA_OUT_SHIFT 5 | ||
| 2577 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_4_SET_DATA_OUT 0x10 | ||
| 2578 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_4_SET_DATA_OUT_SHIFT 4 | ||
| 2579 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_3_SET_DATA_OUT 0x08 | ||
| 2580 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_3_SET_DATA_OUT_SHIFT 3 | ||
| 2581 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_2_SET_DATA_OUT 0x04 | ||
| 2582 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_2_SET_DATA_OUT_SHIFT 2 | ||
| 2583 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_1_SET_DATA_OUT 0x02 | ||
| 2584 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_1_SET_DATA_OUT_SHIFT 1 | ||
| 2585 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_0_SET_DATA_OUT 0x01 | ||
| 2586 | #define PALMAS_GPIO_SET_DATA_OUT_GPIO_0_SET_DATA_OUT_SHIFT 0 | ||
| 2587 | |||
| 2588 | /* Bit definitions for PU_PD_GPIO_CTRL1 */ | ||
| 2589 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_3_PD 0x40 | ||
| 2590 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_3_PD_SHIFT 6 | ||
| 2591 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_2_PU 0x20 | ||
| 2592 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_2_PU_SHIFT 5 | ||
| 2593 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_2_PD 0x10 | ||
| 2594 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_2_PD_SHIFT 4 | ||
| 2595 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_1_PU 0x08 | ||
| 2596 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_1_PU_SHIFT 3 | ||
| 2597 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_1_PD 0x04 | ||
| 2598 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_1_PD_SHIFT 2 | ||
| 2599 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_0_PD 0x01 | ||
| 2600 | #define PALMAS_PU_PD_GPIO_CTRL1_GPIO_0_PD_SHIFT 0 | ||
| 2601 | |||
| 2602 | /* Bit definitions for PU_PD_GPIO_CTRL2 */ | ||
| 2603 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_7_PD 0x40 | ||
| 2604 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_7_PD_SHIFT 6 | ||
| 2605 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_6_PU 0x20 | ||
| 2606 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_6_PU_SHIFT 5 | ||
| 2607 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_6_PD 0x10 | ||
| 2608 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_6_PD_SHIFT 4 | ||
| 2609 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_5_PU 0x08 | ||
| 2610 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_5_PU_SHIFT 3 | ||
| 2611 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_5_PD 0x04 | ||
| 2612 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_5_PD_SHIFT 2 | ||
| 2613 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_4_PU 0x02 | ||
| 2614 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_4_PU_SHIFT 1 | ||
| 2615 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_4_PD 0x01 | ||
| 2616 | #define PALMAS_PU_PD_GPIO_CTRL2_GPIO_4_PD_SHIFT 0 | ||
| 2617 | |||
| 2618 | /* Bit definitions for OD_OUTPUT_GPIO_CTRL */ | ||
| 2619 | #define PALMAS_OD_OUTPUT_GPIO_CTRL_GPIO_5_OD 0x20 | ||
| 2620 | #define PALMAS_OD_OUTPUT_GPIO_CTRL_GPIO_5_OD_SHIFT 5 | ||
| 2621 | #define PALMAS_OD_OUTPUT_GPIO_CTRL_GPIO_2_OD 0x04 | ||
| 2622 | #define PALMAS_OD_OUTPUT_GPIO_CTRL_GPIO_2_OD_SHIFT 2 | ||
| 2623 | #define PALMAS_OD_OUTPUT_GPIO_CTRL_GPIO_1_OD 0x02 | ||
| 2624 | #define PALMAS_OD_OUTPUT_GPIO_CTRL_GPIO_1_OD_SHIFT 1 | ||
| 2625 | |||
| 2626 | /* Registers for function GPADC */ | ||
| 2627 | #define PALMAS_GPADC_CTRL1 0x0 | ||
| 2628 | #define PALMAS_GPADC_CTRL2 0x1 | ||
| 2629 | #define PALMAS_GPADC_RT_CTRL 0x2 | ||
| 2630 | #define PALMAS_GPADC_AUTO_CTRL 0x3 | ||
| 2631 | #define PALMAS_GPADC_STATUS 0x4 | ||
| 2632 | #define PALMAS_GPADC_RT_SELECT 0x5 | ||
| 2633 | #define PALMAS_GPADC_RT_CONV0_LSB 0x6 | ||
| 2634 | #define PALMAS_GPADC_RT_CONV0_MSB 0x7 | ||
| 2635 | #define PALMAS_GPADC_AUTO_SELECT 0x8 | ||
| 2636 | #define PALMAS_GPADC_AUTO_CONV0_LSB 0x9 | ||
| 2637 | #define PALMAS_GPADC_AUTO_CONV0_MSB 0xA | ||
| 2638 | #define PALMAS_GPADC_AUTO_CONV1_LSB 0xB | ||
| 2639 | #define PALMAS_GPADC_AUTO_CONV1_MSB 0xC | ||
| 2640 | #define PALMAS_GPADC_SW_SELECT 0xD | ||
| 2641 | #define PALMAS_GPADC_SW_CONV0_LSB 0xE | ||
| 2642 | #define PALMAS_GPADC_SW_CONV0_MSB 0xF | ||
| 2643 | #define PALMAS_GPADC_THRES_CONV0_LSB 0x10 | ||
| 2644 | #define PALMAS_GPADC_THRES_CONV0_MSB 0x11 | ||
| 2645 | #define PALMAS_GPADC_THRES_CONV1_LSB 0x12 | ||
| 2646 | #define PALMAS_GPADC_THRES_CONV1_MSB 0x13 | ||
| 2647 | #define PALMAS_GPADC_SMPS_ILMONITOR_EN 0x14 | ||
| 2648 | #define PALMAS_GPADC_SMPS_VSEL_MONITORING 0x15 | ||
| 2649 | |||
| 2650 | /* Bit definitions for GPADC_CTRL1 */ | ||
| 2651 | #define PALMAS_GPADC_CTRL1_RESERVED_MASK 0xc0 | ||
| 2652 | #define PALMAS_GPADC_CTRL1_RESERVED_SHIFT 6 | ||
| 2653 | #define PALMAS_GPADC_CTRL1_CURRENT_SRC_CH3_MASK 0x30 | ||
| 2654 | #define PALMAS_GPADC_CTRL1_CURRENT_SRC_CH3_SHIFT 4 | ||
| 2655 | #define PALMAS_GPADC_CTRL1_CURRENT_SRC_CH0_MASK 0x0c | ||
| 2656 | #define PALMAS_GPADC_CTRL1_CURRENT_SRC_CH0_SHIFT 2 | ||
| 2657 | #define PALMAS_GPADC_CTRL1_BAT_REMOVAL_DET 0x02 | ||
| 2658 | #define PALMAS_GPADC_CTRL1_BAT_REMOVAL_DET_SHIFT 1 | ||
| 2659 | #define PALMAS_GPADC_CTRL1_GPADC_FORCE 0x01 | ||
| 2660 | #define PALMAS_GPADC_CTRL1_GPADC_FORCE_SHIFT 0 | ||
| 2661 | |||
| 2662 | /* Bit definitions for GPADC_CTRL2 */ | ||
| 2663 | #define PALMAS_GPADC_CTRL2_RESERVED_MASK 0x06 | ||
| 2664 | #define PALMAS_GPADC_CTRL2_RESERVED_SHIFT 1 | ||
| 2665 | |||
| 2666 | /* Bit definitions for GPADC_RT_CTRL */ | ||
| 2667 | #define PALMAS_GPADC_RT_CTRL_EXTEND_DELAY 0x02 | ||
| 2668 | #define PALMAS_GPADC_RT_CTRL_EXTEND_DELAY_SHIFT 1 | ||
| 2669 | #define PALMAS_GPADC_RT_CTRL_START_POLARITY 0x01 | ||
| 2670 | #define PALMAS_GPADC_RT_CTRL_START_POLARITY_SHIFT 0 | ||
| 2671 | |||
| 2672 | /* Bit definitions for GPADC_AUTO_CTRL */ | ||
| 2673 | #define PALMAS_GPADC_AUTO_CTRL_SHUTDOWN_CONV1 0x80 | ||
| 2674 | #define PALMAS_GPADC_AUTO_CTRL_SHUTDOWN_CONV1_SHIFT 7 | ||
| 2675 | #define PALMAS_GPADC_AUTO_CTRL_SHUTDOWN_CONV0 0x40 | ||
| 2676 | #define PALMAS_GPADC_AUTO_CTRL_SHUTDOWN_CONV0_SHIFT 6 | ||
| 2677 | #define PALMAS_GPADC_AUTO_CTRL_AUTO_CONV1_EN 0x20 | ||
| 2678 | #define PALMAS_GPADC_AUTO_CTRL_AUTO_CONV1_EN_SHIFT 5 | ||
| 2679 | #define PALMAS_GPADC_AUTO_CTRL_AUTO_CONV0_EN 0x10 | ||
| 2680 | #define PALMAS_GPADC_AUTO_CTRL_AUTO_CONV0_EN_SHIFT 4 | ||
| 2681 | #define PALMAS_GPADC_AUTO_CTRL_COUNTER_CONV_MASK 0x0f | ||
| 2682 | #define PALMAS_GPADC_AUTO_CTRL_COUNTER_CONV_SHIFT 0 | ||
| 2683 | |||
| 2684 | /* Bit definitions for GPADC_STATUS */ | ||
| 2685 | #define PALMAS_GPADC_STATUS_GPADC_AVAILABLE 0x10 | ||
| 2686 | #define PALMAS_GPADC_STATUS_GPADC_AVAILABLE_SHIFT 4 | ||
| 2687 | |||
| 2688 | /* Bit definitions for GPADC_RT_SELECT */ | ||
| 2689 | #define PALMAS_GPADC_RT_SELECT_RT_CONV_EN 0x80 | ||
| 2690 | #define PALMAS_GPADC_RT_SELECT_RT_CONV_EN_SHIFT 7 | ||
| 2691 | #define PALMAS_GPADC_RT_SELECT_RT_CONV0_SEL_MASK 0x0f | ||
| 2692 | #define PALMAS_GPADC_RT_SELECT_RT_CONV0_SEL_SHIFT 0 | ||
| 2693 | |||
| 2694 | /* Bit definitions for GPADC_RT_CONV0_LSB */ | ||
| 2695 | #define PALMAS_GPADC_RT_CONV0_LSB_RT_CONV0_LSB_MASK 0xff | ||
| 2696 | #define PALMAS_GPADC_RT_CONV0_LSB_RT_CONV0_LSB_SHIFT 0 | ||
| 2697 | |||
| 2698 | /* Bit definitions for GPADC_RT_CONV0_MSB */ | ||
| 2699 | #define PALMAS_GPADC_RT_CONV0_MSB_RT_CONV0_MSB_MASK 0x0f | ||
| 2700 | #define PALMAS_GPADC_RT_CONV0_MSB_RT_CONV0_MSB_SHIFT 0 | ||
| 2701 | |||
| 2702 | /* Bit definitions for GPADC_AUTO_SELECT */ | ||
| 2703 | #define PALMAS_GPADC_AUTO_SELECT_AUTO_CONV1_SEL_MASK 0xf0 | ||
| 2704 | #define PALMAS_GPADC_AUTO_SELECT_AUTO_CONV1_SEL_SHIFT 4 | ||
| 2705 | #define PALMAS_GPADC_AUTO_SELECT_AUTO_CONV0_SEL_MASK 0x0f | ||
| 2706 | #define PALMAS_GPADC_AUTO_SELECT_AUTO_CONV0_SEL_SHIFT 0 | ||
| 2707 | |||
| 2708 | /* Bit definitions for GPADC_AUTO_CONV0_LSB */ | ||
| 2709 | #define PALMAS_GPADC_AUTO_CONV0_LSB_AUTO_CONV0_LSB_MASK 0xff | ||
| 2710 | #define PALMAS_GPADC_AUTO_CONV0_LSB_AUTO_CONV0_LSB_SHIFT 0 | ||
| 2711 | |||
| 2712 | /* Bit definitions for GPADC_AUTO_CONV0_MSB */ | ||
| 2713 | #define PALMAS_GPADC_AUTO_CONV0_MSB_AUTO_CONV0_MSB_MASK 0x0f | ||
| 2714 | #define PALMAS_GPADC_AUTO_CONV0_MSB_AUTO_CONV0_MSB_SHIFT 0 | ||
| 2715 | |||
| 2716 | /* Bit definitions for GPADC_AUTO_CONV1_LSB */ | ||
| 2717 | #define PALMAS_GPADC_AUTO_CONV1_LSB_AUTO_CONV1_LSB_MASK 0xff | ||
| 2718 | #define PALMAS_GPADC_AUTO_CONV1_LSB_AUTO_CONV1_LSB_SHIFT 0 | ||
| 2719 | |||
| 2720 | /* Bit definitions for GPADC_AUTO_CONV1_MSB */ | ||
| 2721 | #define PALMAS_GPADC_AUTO_CONV1_MSB_AUTO_CONV1_MSB_MASK 0x0f | ||
| 2722 | #define PALMAS_GPADC_AUTO_CONV1_MSB_AUTO_CONV1_MSB_SHIFT 0 | ||
| 2723 | |||
| 2724 | /* Bit definitions for GPADC_SW_SELECT */ | ||
| 2725 | #define PALMAS_GPADC_SW_SELECT_SW_CONV_EN 0x80 | ||
| 2726 | #define PALMAS_GPADC_SW_SELECT_SW_CONV_EN_SHIFT 7 | ||
| 2727 | #define PALMAS_GPADC_SW_SELECT_SW_START_CONV0 0x10 | ||
| 2728 | #define PALMAS_GPADC_SW_SELECT_SW_START_CONV0_SHIFT 4 | ||
| 2729 | #define PALMAS_GPADC_SW_SELECT_SW_CONV0_SEL_MASK 0x0f | ||
| 2730 | #define PALMAS_GPADC_SW_SELECT_SW_CONV0_SEL_SHIFT 0 | ||
| 2731 | |||
| 2732 | /* Bit definitions for GPADC_SW_CONV0_LSB */ | ||
| 2733 | #define PALMAS_GPADC_SW_CONV0_LSB_SW_CONV0_LSB_MASK 0xff | ||
| 2734 | #define PALMAS_GPADC_SW_CONV0_LSB_SW_CONV0_LSB_SHIFT 0 | ||
| 2735 | |||
| 2736 | /* Bit definitions for GPADC_SW_CONV0_MSB */ | ||
| 2737 | #define PALMAS_GPADC_SW_CONV0_MSB_SW_CONV0_MSB_MASK 0x0f | ||
| 2738 | #define PALMAS_GPADC_SW_CONV0_MSB_SW_CONV0_MSB_SHIFT 0 | ||
| 2739 | |||
| 2740 | /* Bit definitions for GPADC_THRES_CONV0_LSB */ | ||
| 2741 | #define PALMAS_GPADC_THRES_CONV0_LSB_THRES_CONV0_LSB_MASK 0xff | ||
| 2742 | #define PALMAS_GPADC_THRES_CONV0_LSB_THRES_CONV0_LSB_SHIFT 0 | ||
| 2743 | |||
| 2744 | /* Bit definitions for GPADC_THRES_CONV0_MSB */ | ||
| 2745 | #define PALMAS_GPADC_THRES_CONV0_MSB_THRES_CONV0_POL 0x80 | ||
| 2746 | #define PALMAS_GPADC_THRES_CONV0_MSB_THRES_CONV0_POL_SHIFT 7 | ||
| 2747 | #define PALMAS_GPADC_THRES_CONV0_MSB_THRES_CONV0_MSB_MASK 0x0f | ||
| 2748 | #define PALMAS_GPADC_THRES_CONV0_MSB_THRES_CONV0_MSB_SHIFT 0 | ||
| 2749 | |||
| 2750 | /* Bit definitions for GPADC_THRES_CONV1_LSB */ | ||
| 2751 | #define PALMAS_GPADC_THRES_CONV1_LSB_THRES_CONV1_LSB_MASK 0xff | ||
| 2752 | #define PALMAS_GPADC_THRES_CONV1_LSB_THRES_CONV1_LSB_SHIFT 0 | ||
| 2753 | |||
| 2754 | /* Bit definitions for GPADC_THRES_CONV1_MSB */ | ||
| 2755 | #define PALMAS_GPADC_THRES_CONV1_MSB_THRES_CONV1_POL 0x80 | ||
| 2756 | #define PALMAS_GPADC_THRES_CONV1_MSB_THRES_CONV1_POL_SHIFT 7 | ||
| 2757 | #define PALMAS_GPADC_THRES_CONV1_MSB_THRES_CONV1_MSB_MASK 0x0f | ||
| 2758 | #define PALMAS_GPADC_THRES_CONV1_MSB_THRES_CONV1_MSB_SHIFT 0 | ||
| 2759 | |||
| 2760 | /* Bit definitions for GPADC_SMPS_ILMONITOR_EN */ | ||
| 2761 | #define PALMAS_GPADC_SMPS_ILMONITOR_EN_SMPS_ILMON_EN 0x20 | ||
| 2762 | #define PALMAS_GPADC_SMPS_ILMONITOR_EN_SMPS_ILMON_EN_SHIFT 5 | ||
| 2763 | #define PALMAS_GPADC_SMPS_ILMONITOR_EN_SMPS_ILMON_REXT 0x10 | ||
| 2764 | #define PALMAS_GPADC_SMPS_ILMONITOR_EN_SMPS_ILMON_REXT_SHIFT 4 | ||
| 2765 | #define PALMAS_GPADC_SMPS_ILMONITOR_EN_SMPS_ILMON_SEL_MASK 0x0f | ||
| 2766 | #define PALMAS_GPADC_SMPS_ILMONITOR_EN_SMPS_ILMON_SEL_SHIFT 0 | ||
| 2767 | |||
| 2768 | /* Bit definitions for GPADC_SMPS_VSEL_MONITORING */ | ||
| 2769 | #define PALMAS_GPADC_SMPS_VSEL_MONITORING_ACTIVE_PHASE 0x80 | ||
| 2770 | #define PALMAS_GPADC_SMPS_VSEL_MONITORING_ACTIVE_PHASE_SHIFT 7 | ||
| 2771 | #define PALMAS_GPADC_SMPS_VSEL_MONITORING_SMPS_VSEL_MONITORING_MASK 0x7f | ||
| 2772 | #define PALMAS_GPADC_SMPS_VSEL_MONITORING_SMPS_VSEL_MONITORING_SHIFT 0 | ||
| 2773 | |||
| 2774 | /* Registers for function GPADC */ | ||
| 2775 | #define PALMAS_GPADC_TRIM1 0x0 | ||
| 2776 | #define PALMAS_GPADC_TRIM2 0x1 | ||
| 2777 | #define PALMAS_GPADC_TRIM3 0x2 | ||
| 2778 | #define PALMAS_GPADC_TRIM4 0x3 | ||
| 2779 | #define PALMAS_GPADC_TRIM5 0x4 | ||
| 2780 | #define PALMAS_GPADC_TRIM6 0x5 | ||
| 2781 | #define PALMAS_GPADC_TRIM7 0x6 | ||
| 2782 | #define PALMAS_GPADC_TRIM8 0x7 | ||
| 2783 | #define PALMAS_GPADC_TRIM9 0x8 | ||
| 2784 | #define PALMAS_GPADC_TRIM10 0x9 | ||
| 2785 | #define PALMAS_GPADC_TRIM11 0xA | ||
| 2786 | #define PALMAS_GPADC_TRIM12 0xB | ||
| 2787 | #define PALMAS_GPADC_TRIM13 0xC | ||
| 2788 | #define PALMAS_GPADC_TRIM14 0xD | ||
| 2789 | #define PALMAS_GPADC_TRIM15 0xE | ||
| 2790 | #define PALMAS_GPADC_TRIM16 0xF | ||
| 2791 | |||
| 2792 | #endif /* __LINUX_MFD_PALMAS_H */ | ||
diff --git a/include/linux/mfd/pcf50633/core.h b/include/linux/mfd/pcf50633/core.h index a80840752b4..50d4a047118 100644 --- a/include/linux/mfd/pcf50633/core.h +++ b/include/linux/mfd/pcf50633/core.h | |||
| @@ -21,7 +21,6 @@ | |||
| 21 | #include <linux/mfd/pcf50633/backlight.h> | 21 | #include <linux/mfd/pcf50633/backlight.h> |
| 22 | 22 | ||
| 23 | struct pcf50633; | 23 | struct pcf50633; |
| 24 | struct regmap; | ||
| 25 | 24 | ||
| 26 | #define PCF50633_NUM_REGULATORS 11 | 25 | #define PCF50633_NUM_REGULATORS 11 |
| 27 | 26 | ||
| @@ -135,7 +134,7 @@ enum { | |||
| 135 | 134 | ||
| 136 | struct pcf50633 { | 135 | struct pcf50633 { |
| 137 | struct device *dev; | 136 | struct device *dev; |
| 138 | struct regmap *regmap; | 137 | struct i2c_client *i2c_client; |
| 139 | 138 | ||
| 140 | struct pcf50633_platform_data *pdata; | 139 | struct pcf50633_platform_data *pdata; |
| 141 | int irq; | 140 | int irq; |
diff --git a/include/linux/mfd/pm8xxx/irq.h b/include/linux/mfd/pm8xxx/irq.h index f83d6b43ecb..4b21769f448 100644 --- a/include/linux/mfd/pm8xxx/irq.h +++ b/include/linux/mfd/pm8xxx/irq.h | |||
| @@ -37,21 +37,21 @@ struct pm_irq_chip; | |||
| 37 | 37 | ||
| 38 | #ifdef CONFIG_MFD_PM8XXX_IRQ | 38 | #ifdef CONFIG_MFD_PM8XXX_IRQ |
| 39 | int pm8xxx_get_irq_stat(struct pm_irq_chip *chip, int irq); | 39 | int pm8xxx_get_irq_stat(struct pm_irq_chip *chip, int irq); |
| 40 | struct pm_irq_chip *pm8xxx_irq_init(struct device *dev, | 40 | struct pm_irq_chip * __devinit pm8xxx_irq_init(struct device *dev, |
| 41 | const struct pm8xxx_irq_platform_data *pdata); | 41 | const struct pm8xxx_irq_platform_data *pdata); |
| 42 | int pm8xxx_irq_exit(struct pm_irq_chip *chip); | 42 | int __devexit pm8xxx_irq_exit(struct pm_irq_chip *chip); |
| 43 | #else | 43 | #else |
| 44 | static inline int pm8xxx_get_irq_stat(struct pm_irq_chip *chip, int irq) | 44 | static inline int pm8xxx_get_irq_stat(struct pm_irq_chip *chip, int irq) |
| 45 | { | 45 | { |
| 46 | return -ENXIO; | 46 | return -ENXIO; |
| 47 | } | 47 | } |
| 48 | static inline struct pm_irq_chip *pm8xxx_irq_init( | 48 | static inline struct pm_irq_chip * __devinit pm8xxx_irq_init( |
| 49 | const struct device *dev, | 49 | const struct device *dev, |
| 50 | const struct pm8xxx_irq_platform_data *pdata) | 50 | const struct pm8xxx_irq_platform_data *pdata) |
| 51 | { | 51 | { |
| 52 | return ERR_PTR(-ENXIO); | 52 | return ERR_PTR(-ENXIO); |
| 53 | } | 53 | } |
| 54 | static inline int pm8xxx_irq_exit(struct pm_irq_chip *chip) | 54 | static inline int __devexit pm8xxx_irq_exit(struct pm_irq_chip *chip) |
| 55 | { | 55 | { |
| 56 | return -ENXIO; | 56 | return -ENXIO; |
| 57 | } | 57 | } |
diff --git a/include/linux/mfd/pm8xxx/pm8921.h b/include/linux/mfd/pm8xxx/pm8921.h index 00fa3de7659..d5517fd32d1 100644 --- a/include/linux/mfd/pm8xxx/pm8921.h +++ b/include/linux/mfd/pm8xxx/pm8921.h | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #ifndef __MFD_PM8921_H | 18 | #ifndef __MFD_PM8921_H |
| 19 | #define __MFD_PM8921_H | 19 | #define __MFD_PM8921_H |
| 20 | 20 | ||
| 21 | #include <linux/device.h> | ||
| 21 | #include <linux/mfd/pm8xxx/irq.h> | 22 | #include <linux/mfd/pm8xxx/irq.h> |
| 22 | 23 | ||
| 23 | #define PM8921_NR_IRQS 256 | 24 | #define PM8921_NR_IRQS 256 |
diff --git a/include/linux/mfd/rc5t583.h b/include/linux/mfd/rc5t583.h index fd413ccab91..a2c61609d21 100644 --- a/include/linux/mfd/rc5t583.h +++ b/include/linux/mfd/rc5t583.h | |||
| @@ -26,14 +26,12 @@ | |||
| 26 | 26 | ||
| 27 | #include <linux/mutex.h> | 27 | #include <linux/mutex.h> |
| 28 | #include <linux/types.h> | 28 | #include <linux/types.h> |
| 29 | #include <linux/regmap.h> | ||
| 30 | 29 | ||
| 31 | #define RC5T583_MAX_REGS 0xF8 | 30 | #define RC5T583_MAX_REGS 0xF8 |
| 32 | 31 | ||
| 33 | /* Maximum number of main interrupts */ | 32 | /* Maximum number of main interrupts */ |
| 34 | #define MAX_MAIN_INTERRUPT 5 | 33 | #define MAX_MAIN_INTERRUPT 5 |
| 35 | #define RC5T583_MAX_GPEDGE_REG 2 | 34 | #define RC5T583_MAX_GPEDGE_REG 2 |
| 36 | #define RC5T583_MAX_INTERRUPT_EN_REGS 8 | ||
| 37 | #define RC5T583_MAX_INTERRUPT_MASK_REGS 9 | 35 | #define RC5T583_MAX_INTERRUPT_MASK_REGS 9 |
| 38 | 36 | ||
| 39 | /* Interrupt enable register */ | 37 | /* Interrupt enable register */ |
| @@ -147,28 +145,6 @@ | |||
| 147 | #define RC5T583_GPIO_MON_IOIN 0xAB | 145 | #define RC5T583_GPIO_MON_IOIN 0xAB |
| 148 | #define RC5T583_GPIO_GPOFUNC 0xAC | 146 | #define RC5T583_GPIO_GPOFUNC 0xAC |
| 149 | 147 | ||
| 150 | /* RTC registers */ | ||
| 151 | #define RC5T583_RTC_SEC 0xE0 | ||
| 152 | #define RC5T583_RTC_MIN 0xE1 | ||
| 153 | #define RC5T583_RTC_HOUR 0xE2 | ||
| 154 | #define RC5T583_RTC_WDAY 0xE3 | ||
| 155 | #define RC5T583_RTC_DAY 0xE4 | ||
| 156 | #define RC5T583_RTC_MONTH 0xE5 | ||
| 157 | #define RC5T583_RTC_YEAR 0xE6 | ||
| 158 | #define RC5T583_RTC_ADJ 0xE7 | ||
| 159 | #define RC5T583_RTC_AW_MIN 0xE8 | ||
| 160 | #define RC5T583_RTC_AW_HOUR 0xE9 | ||
| 161 | #define RC5T583_RTC_AW_WEEK 0xEA | ||
| 162 | #define RC5T583_RTC_AD_MIN 0xEB | ||
| 163 | #define RC5T583_RTC_AD_HOUR 0xEC | ||
| 164 | #define RC5T583_RTC_CTL1 0xED | ||
| 165 | #define RC5T583_RTC_CTL2 0xEE | ||
| 166 | #define RC5T583_RTC_AY_MIN 0xF0 | ||
| 167 | #define RC5T583_RTC_AY_HOUR 0xF1 | ||
| 168 | #define RC5T583_RTC_AY_DAY 0xF2 | ||
| 169 | #define RC5T583_RTC_AY_MONTH 0xF3 | ||
| 170 | #define RC5T583_RTC_AY_YEAR 0xF4 | ||
| 171 | |||
| 172 | /* RICOH_RC5T583 IRQ definitions */ | 148 | /* RICOH_RC5T583 IRQ definitions */ |
| 173 | enum { | 149 | enum { |
| 174 | RC5T583_IRQ_ONKEY, | 150 | RC5T583_IRQ_ONKEY, |
| @@ -273,26 +249,6 @@ enum { | |||
| 273 | RC5T583_EXT_PWRREQ2_CONTROL = 0x2, | 249 | RC5T583_EXT_PWRREQ2_CONTROL = 0x2, |
| 274 | }; | 250 | }; |
| 275 | 251 | ||
| 276 | enum { | ||
| 277 | RC5T583_REGULATOR_DC0, | ||
| 278 | RC5T583_REGULATOR_DC1, | ||
| 279 | RC5T583_REGULATOR_DC2, | ||
| 280 | RC5T583_REGULATOR_DC3, | ||
| 281 | RC5T583_REGULATOR_LDO0, | ||
| 282 | RC5T583_REGULATOR_LDO1, | ||
| 283 | RC5T583_REGULATOR_LDO2, | ||
| 284 | RC5T583_REGULATOR_LDO3, | ||
| 285 | RC5T583_REGULATOR_LDO4, | ||
| 286 | RC5T583_REGULATOR_LDO5, | ||
| 287 | RC5T583_REGULATOR_LDO6, | ||
| 288 | RC5T583_REGULATOR_LDO7, | ||
| 289 | RC5T583_REGULATOR_LDO8, | ||
| 290 | RC5T583_REGULATOR_LDO9, | ||
| 291 | |||
| 292 | /* Should be last entry */ | ||
| 293 | RC5T583_REGULATOR_MAX, | ||
| 294 | }; | ||
| 295 | |||
| 296 | struct rc5t583 { | 252 | struct rc5t583 { |
| 297 | struct device *dev; | 253 | struct device *dev; |
| 298 | struct regmap *regmap; | 254 | struct regmap *regmap; |
| @@ -305,7 +261,7 @@ struct rc5t583 { | |||
| 305 | uint8_t intc_inten_reg; | 261 | uint8_t intc_inten_reg; |
| 306 | 262 | ||
| 307 | /* For group interrupt bits and address */ | 263 | /* For group interrupt bits and address */ |
| 308 | uint8_t irq_en_reg[RC5T583_MAX_INTERRUPT_EN_REGS]; | 264 | uint8_t irq_en_reg[RC5T583_MAX_INTERRUPT_MASK_REGS]; |
| 309 | 265 | ||
| 310 | /* For gpio edge */ | 266 | /* For gpio edge */ |
| 311 | uint8_t gpedge_reg[RC5T583_MAX_GPEDGE_REG]; | 267 | uint8_t gpedge_reg[RC5T583_MAX_GPEDGE_REG]; |
| @@ -315,63 +271,22 @@ struct rc5t583 { | |||
| 315 | * rc5t583_platform_data: Platform data for ricoh rc5t583 pmu. | 271 | * rc5t583_platform_data: Platform data for ricoh rc5t583 pmu. |
| 316 | * The board specific data is provided through this structure. | 272 | * The board specific data is provided through this structure. |
| 317 | * @irq_base: Irq base number on which this device registers their interrupts. | 273 | * @irq_base: Irq base number on which this device registers their interrupts. |
| 318 | * @gpio_base: GPIO base from which gpio of this device will start. | ||
| 319 | * @enable_shutdown: Enable shutdown through the input pin "shutdown". | 274 | * @enable_shutdown: Enable shutdown through the input pin "shutdown". |
| 320 | * @regulator_deepsleep_slot: The slot number on which device goes to sleep | ||
| 321 | * in device sleep mode. | ||
| 322 | * @regulator_ext_pwr_control: External power request regulator control. The | ||
| 323 | * regulator output enable/disable is controlled by the external | ||
| 324 | * power request input state. | ||
| 325 | * @reg_init_data: Regulator init data. | ||
| 326 | */ | 275 | */ |
| 327 | 276 | ||
| 328 | struct rc5t583_platform_data { | 277 | struct rc5t583_platform_data { |
| 329 | int irq_base; | 278 | int irq_base; |
| 330 | int gpio_base; | ||
| 331 | bool enable_shutdown; | 279 | bool enable_shutdown; |
| 332 | int regulator_deepsleep_slot[RC5T583_REGULATOR_MAX]; | ||
| 333 | unsigned long regulator_ext_pwr_control[RC5T583_REGULATOR_MAX]; | ||
| 334 | struct regulator_init_data *reg_init_data[RC5T583_REGULATOR_MAX]; | ||
| 335 | }; | 280 | }; |
| 336 | 281 | ||
| 337 | static inline int rc5t583_write(struct device *dev, uint8_t reg, uint8_t val) | 282 | int rc5t583_write(struct device *dev, u8 reg, uint8_t val); |
| 338 | { | 283 | int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val); |
| 339 | struct rc5t583 *rc5t583 = dev_get_drvdata(dev); | 284 | int rc5t583_set_bits(struct device *dev, unsigned int reg, |
| 340 | return regmap_write(rc5t583->regmap, reg, val); | 285 | unsigned int bit_mask); |
| 341 | } | 286 | int rc5t583_clear_bits(struct device *dev, unsigned int reg, |
| 342 | 287 | unsigned int bit_mask); | |
| 343 | static inline int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val) | 288 | int rc5t583_update(struct device *dev, unsigned int reg, |
| 344 | { | 289 | unsigned int val, unsigned int mask); |
| 345 | struct rc5t583 *rc5t583 = dev_get_drvdata(dev); | ||
| 346 | unsigned int ival; | ||
| 347 | int ret; | ||
| 348 | ret = regmap_read(rc5t583->regmap, reg, &ival); | ||
| 349 | if (!ret) | ||
| 350 | *val = (uint8_t)ival; | ||
| 351 | return ret; | ||
| 352 | } | ||
| 353 | |||
| 354 | static inline int rc5t583_set_bits(struct device *dev, unsigned int reg, | ||
| 355 | unsigned int bit_mask) | ||
| 356 | { | ||
| 357 | struct rc5t583 *rc5t583 = dev_get_drvdata(dev); | ||
| 358 | return regmap_update_bits(rc5t583->regmap, reg, bit_mask, bit_mask); | ||
| 359 | } | ||
| 360 | |||
| 361 | static inline int rc5t583_clear_bits(struct device *dev, unsigned int reg, | ||
| 362 | unsigned int bit_mask) | ||
| 363 | { | ||
| 364 | struct rc5t583 *rc5t583 = dev_get_drvdata(dev); | ||
| 365 | return regmap_update_bits(rc5t583->regmap, reg, bit_mask, 0); | ||
| 366 | } | ||
| 367 | |||
| 368 | static inline int rc5t583_update(struct device *dev, unsigned int reg, | ||
| 369 | unsigned int val, unsigned int mask) | ||
| 370 | { | ||
| 371 | struct rc5t583 *rc5t583 = dev_get_drvdata(dev); | ||
| 372 | return regmap_update_bits(rc5t583->regmap, reg, mask, val); | ||
| 373 | } | ||
| 374 | |||
| 375 | int rc5t583_ext_power_req_config(struct device *dev, int deepsleep_id, | 290 | int rc5t583_ext_power_req_config(struct device *dev, int deepsleep_id, |
| 376 | int ext_pwr_req, int deepsleep_slot_nr); | 291 | int ext_pwr_req, int deepsleep_slot_nr); |
| 377 | int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base); | 292 | int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base); |
diff --git a/include/linux/mfd/retu.h b/include/linux/mfd/retu.h deleted file mode 100644 index 1e2715d5b83..00000000000 --- a/include/linux/mfd/retu.h +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Retu MFD driver interface | ||
| 3 | * | ||
| 4 | * This file is subject to the terms and conditions of the GNU General | ||
| 5 | * Public License. See the file "COPYING" in the main directory of this | ||
| 6 | * archive for more details. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef __LINUX_MFD_RETU_H | ||
| 10 | #define __LINUX_MFD_RETU_H | ||
| 11 | |||
| 12 | struct retu_dev; | ||
| 13 | |||
| 14 | int retu_read(struct retu_dev *, u8); | ||
| 15 | int retu_write(struct retu_dev *, u8, u16); | ||
| 16 | |||
| 17 | /* Registers */ | ||
| 18 | #define RETU_REG_WATCHDOG 0x17 /* Watchdog */ | ||
| 19 | #define RETU_REG_CC1 0x0d /* Common control register 1 */ | ||
| 20 | #define RETU_REG_STATUS 0x16 /* Status register */ | ||
| 21 | |||
| 22 | #endif /* __LINUX_MFD_RETU_H */ | ||
diff --git a/include/linux/mfd/rtsx_common.h b/include/linux/mfd/rtsx_common.h deleted file mode 100644 index a8d393e3066..00000000000 --- a/include/linux/mfd/rtsx_common.h +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | /* Driver for Realtek driver-based card reader | ||
| 2 | * | ||
| 3 | * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms of the GNU General Public License as published by the | ||
| 7 | * Free Software Foundation; either version 2, or (at your option) any | ||
| 8 | * later version. | ||
| 9 | * | ||
| 10 | * This program is distributed in the hope that it will be useful, but | ||
| 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 13 | * General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License along | ||
| 16 | * with this program; if not, see <http://www.gnu.org/licenses/>. | ||
| 17 | * | ||
| 18 | * Author: | ||
| 19 | * Wei WANG <wei_wang@realsil.com.cn> | ||
| 20 | * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China | ||
| 21 | */ | ||
| 22 | |||
| 23 | #ifndef __RTSX_COMMON_H | ||
| 24 | #define __RTSX_COMMON_H | ||
| 25 | |||
| 26 | #define DRV_NAME_RTSX_PCI "rtsx_pci" | ||
| 27 | #define DRV_NAME_RTSX_PCI_SDMMC "rtsx_pci_sdmmc" | ||
| 28 | #define DRV_NAME_RTSX_PCI_MS "rtsx_pci_ms" | ||
| 29 | |||
| 30 | #define RTSX_REG_PAIR(addr, val) (((u32)(addr) << 16) | (u8)(val)) | ||
| 31 | |||
| 32 | #define RTSX_SSC_DEPTH_4M 0x01 | ||
| 33 | #define RTSX_SSC_DEPTH_2M 0x02 | ||
| 34 | #define RTSX_SSC_DEPTH_1M 0x03 | ||
| 35 | #define RTSX_SSC_DEPTH_500K 0x04 | ||
| 36 | #define RTSX_SSC_DEPTH_250K 0x05 | ||
| 37 | |||
| 38 | #define RTSX_SD_CARD 0 | ||
| 39 | #define RTSX_MS_CARD 1 | ||
| 40 | |||
| 41 | struct platform_device; | ||
| 42 | |||
| 43 | struct rtsx_slot { | ||
| 44 | struct platform_device *p_dev; | ||
| 45 | void (*card_event)(struct platform_device *p_dev); | ||
| 46 | }; | ||
| 47 | |||
| 48 | #endif | ||
diff --git a/include/linux/mfd/rtsx_pci.h b/include/linux/mfd/rtsx_pci.h deleted file mode 100644 index 060b721fcbf..00000000000 --- a/include/linux/mfd/rtsx_pci.h +++ /dev/null | |||
| @@ -1,794 +0,0 @@ | |||
| 1 | /* Driver for Realtek PCI-Express card reader | ||
| 2 | * | ||
| 3 | * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify it | ||
| 6 | * under the terms of the GNU General Public License as published by the | ||
| 7 | * Free Software Foundation; either version 2, or (at your option) any | ||
| 8 | * later version. | ||
| 9 | * | ||
| 10 | * This program is distributed in the hope that it will be useful, but | ||
| 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 13 | * General Public License for more details. | ||
| 14 | * | ||
| 15 | * You should have received a copy of the GNU General Public License along | ||
| 16 | * with this program; if not, see <http://www.gnu.org/licenses/>. | ||
| 17 | * | ||
| 18 | * Author: | ||
| 19 | * Wei WANG <wei_wang@realsil.com.cn> | ||
| 20 | * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China | ||
| 21 | */ | ||
| 22 | |||
| 23 | #ifndef __RTSX_PCI_H | ||
| 24 | #define __RTSX_PCI_H | ||
| 25 | |||
| 26 | #include <linux/sched.h> | ||
| 27 | #include <linux/pci.h> | ||
| 28 | |||
| 29 | #include "rtsx_common.h" | ||
| 30 | |||
| 31 | #define MAX_RW_REG_CNT 1024 | ||
| 32 | |||
| 33 | /* PCI Operation Register Address */ | ||
| 34 | #define RTSX_HCBAR 0x00 | ||
| 35 | #define RTSX_HCBCTLR 0x04 | ||
| 36 | #define RTSX_HDBAR 0x08 | ||
| 37 | #define RTSX_HDBCTLR 0x0C | ||
| 38 | #define RTSX_HAIMR 0x10 | ||
| 39 | #define RTSX_BIPR 0x14 | ||
| 40 | #define RTSX_BIER 0x18 | ||
| 41 | |||
| 42 | /* Host command buffer control register */ | ||
| 43 | #define STOP_CMD (0x01 << 28) | ||
| 44 | |||
| 45 | /* Host data buffer control register */ | ||
| 46 | #define SDMA_MODE 0x00 | ||
| 47 | #define ADMA_MODE (0x02 << 26) | ||
| 48 | #define STOP_DMA (0x01 << 28) | ||
| 49 | #define TRIG_DMA (0x01 << 31) | ||
| 50 | |||
| 51 | /* Host access internal memory register */ | ||
| 52 | #define HAIMR_TRANS_START (0x01 << 31) | ||
| 53 | #define HAIMR_READ 0x00 | ||
| 54 | #define HAIMR_WRITE (0x01 << 30) | ||
| 55 | #define HAIMR_READ_START (HAIMR_TRANS_START | HAIMR_READ) | ||
| 56 | #define HAIMR_WRITE_START (HAIMR_TRANS_START | HAIMR_WRITE) | ||
| 57 | #define HAIMR_TRANS_END (HAIMR_TRANS_START) | ||
| 58 | |||
| 59 | /* Bus interrupt pending register */ | ||
| 60 | #define CMD_DONE_INT (1 << 31) | ||
| 61 | #define DATA_DONE_INT (1 << 30) | ||
| 62 | #define TRANS_OK_INT (1 << 29) | ||
| 63 | #define TRANS_FAIL_INT (1 << 28) | ||
| 64 | #define XD_INT (1 << 27) | ||
| 65 | #define MS_INT (1 << 26) | ||
| 66 | #define SD_INT (1 << 25) | ||
| 67 | #define GPIO0_INT (1 << 24) | ||
| 68 | #define OC_INT (1 << 23) | ||
| 69 | #define SD_WRITE_PROTECT (1 << 19) | ||
| 70 | #define XD_EXIST (1 << 18) | ||
| 71 | #define MS_EXIST (1 << 17) | ||
| 72 | #define SD_EXIST (1 << 16) | ||
| 73 | #define DELINK_INT GPIO0_INT | ||
| 74 | #define MS_OC_INT (1 << 23) | ||
| 75 | #define SD_OC_INT (1 << 22) | ||
| 76 | |||
| 77 | #define CARD_INT (XD_INT | MS_INT | SD_INT) | ||
| 78 | #define NEED_COMPLETE_INT (DATA_DONE_INT | TRANS_OK_INT | TRANS_FAIL_INT) | ||
| 79 | #define RTSX_INT (CMD_DONE_INT | NEED_COMPLETE_INT | \ | ||
| 80 | CARD_INT | GPIO0_INT | OC_INT) | ||
| 81 | |||
| 82 | #define CARD_EXIST (XD_EXIST | MS_EXIST | SD_EXIST) | ||
| 83 | |||
| 84 | /* Bus interrupt enable register */ | ||
| 85 | #define CMD_DONE_INT_EN (1 << 31) | ||
| 86 | #define DATA_DONE_INT_EN (1 << 30) | ||
| 87 | #define TRANS_OK_INT_EN (1 << 29) | ||
| 88 | #define TRANS_FAIL_INT_EN (1 << 28) | ||
| 89 | #define XD_INT_EN (1 << 27) | ||
| 90 | #define MS_INT_EN (1 << 26) | ||
| 91 | #define SD_INT_EN (1 << 25) | ||
| 92 | #define GPIO0_INT_EN (1 << 24) | ||
| 93 | #define OC_INT_EN (1 << 23) | ||
| 94 | #define DELINK_INT_EN GPIO0_INT_EN | ||
| 95 | #define MS_OC_INT_EN (1 << 23) | ||
| 96 | #define SD_OC_INT_EN (1 << 22) | ||
| 97 | |||
| 98 | #define READ_REG_CMD 0 | ||
| 99 | #define WRITE_REG_CMD 1 | ||
| 100 | #define CHECK_REG_CMD 2 | ||
| 101 | |||
| 102 | /* | ||
| 103 | * macros for easy use | ||
| 104 | */ | ||
| 105 | #define rtsx_pci_writel(pcr, reg, value) \ | ||
| 106 | iowrite32(value, (pcr)->remap_addr + reg) | ||
| 107 | #define rtsx_pci_readl(pcr, reg) \ | ||
| 108 | ioread32((pcr)->remap_addr + reg) | ||
| 109 | #define rtsx_pci_writew(pcr, reg, value) \ | ||
| 110 | iowrite16(value, (pcr)->remap_addr + reg) | ||
| 111 | #define rtsx_pci_readw(pcr, reg) \ | ||
| 112 | ioread16((pcr)->remap_addr + reg) | ||
| 113 | #define rtsx_pci_writeb(pcr, reg, value) \ | ||
| 114 | iowrite8(value, (pcr)->remap_addr + reg) | ||
| 115 | #define rtsx_pci_readb(pcr, reg) \ | ||
| 116 | ioread8((pcr)->remap_addr + reg) | ||
| 117 | |||
| 118 | #define rtsx_pci_read_config_byte(pcr, where, val) \ | ||
| 119 | pci_read_config_byte((pcr)->pci, where, val) | ||
| 120 | |||
| 121 | #define rtsx_pci_write_config_byte(pcr, where, val) \ | ||
| 122 | pci_write_config_byte((pcr)->pci, where, val) | ||
| 123 | |||
| 124 | #define rtsx_pci_read_config_dword(pcr, where, val) \ | ||
| 125 | pci_read_config_dword((pcr)->pci, where, val) | ||
| 126 | |||
| 127 | #define rtsx_pci_write_config_dword(pcr, where, val) \ | ||
| 128 | pci_write_config_dword((pcr)->pci, where, val) | ||
| 129 | |||
| 130 | #define STATE_TRANS_NONE 0 | ||
| 131 | #define STATE_TRANS_CMD 1 | ||
| 132 | #define STATE_TRANS_BUF 2 | ||
| 133 | #define STATE_TRANS_SG 3 | ||
| 134 | |||
| 135 | #define TRANS_NOT_READY 0 | ||
| 136 | #define TRANS_RESULT_OK 1 | ||
| 137 | #define TRANS_RESULT_FAIL 2 | ||
| 138 | #define TRANS_NO_DEVICE 3 | ||
| 139 | |||
| 140 | #define RTSX_RESV_BUF_LEN 4096 | ||
| 141 | #define HOST_CMDS_BUF_LEN 1024 | ||
| 142 | #define HOST_SG_TBL_BUF_LEN (RTSX_RESV_BUF_LEN - HOST_CMDS_BUF_LEN) | ||
| 143 | #define HOST_SG_TBL_ITEMS (HOST_SG_TBL_BUF_LEN / 8) | ||
| 144 | #define MAX_SG_ITEM_LEN 0x80000 | ||
| 145 | |||
| 146 | #define HOST_TO_DEVICE 0 | ||
| 147 | #define DEVICE_TO_HOST 1 | ||
| 148 | |||
| 149 | #define MAX_PHASE 31 | ||
| 150 | #define RX_TUNING_CNT 3 | ||
| 151 | |||
| 152 | /* SG descriptor */ | ||
| 153 | #define SG_INT 0x04 | ||
| 154 | #define SG_END 0x02 | ||
| 155 | #define SG_VALID 0x01 | ||
| 156 | |||
| 157 | #define SG_NO_OP 0x00 | ||
| 158 | #define SG_TRANS_DATA (0x02 << 4) | ||
| 159 | #define SG_LINK_DESC (0x03 << 4) | ||
| 160 | |||
| 161 | /* SD bank voltage */ | ||
| 162 | #define SD_IO_3V3 0 | ||
| 163 | #define SD_IO_1V8 1 | ||
| 164 | |||
| 165 | |||
| 166 | /* Card Clock Enable Register */ | ||
| 167 | #define SD_CLK_EN 0x04 | ||
| 168 | #define MS_CLK_EN 0x08 | ||
| 169 | |||
| 170 | /* Card Select Register */ | ||
| 171 | #define SD_MOD_SEL 2 | ||
| 172 | #define MS_MOD_SEL 3 | ||
| 173 | |||
| 174 | /* Card Output Enable Register */ | ||
| 175 | #define SD_OUTPUT_EN 0x04 | ||
| 176 | #define MS_OUTPUT_EN 0x08 | ||
| 177 | |||
| 178 | /* CARD_SHARE_MODE */ | ||
| 179 | #define CARD_SHARE_MASK 0x0F | ||
| 180 | #define CARD_SHARE_MULTI_LUN 0x00 | ||
| 181 | #define CARD_SHARE_NORMAL 0x00 | ||
| 182 | #define CARD_SHARE_48_SD 0x04 | ||
| 183 | #define CARD_SHARE_48_MS 0x08 | ||
| 184 | /* CARD_SHARE_MODE for barossa */ | ||
| 185 | #define CARD_SHARE_BAROSSA_SD 0x01 | ||
| 186 | #define CARD_SHARE_BAROSSA_MS 0x02 | ||
| 187 | |||
| 188 | /* SD30_DRIVE_SEL */ | ||
| 189 | #define DRIVER_TYPE_A 0x05 | ||
| 190 | #define DRIVER_TYPE_B 0x03 | ||
| 191 | #define DRIVER_TYPE_C 0x02 | ||
| 192 | #define DRIVER_TYPE_D 0x01 | ||
| 193 | |||
| 194 | /* FPDCTL */ | ||
| 195 | #define SSC_POWER_DOWN 0x01 | ||
| 196 | #define SD_OC_POWER_DOWN 0x02 | ||
| 197 | #define ALL_POWER_DOWN 0x07 | ||
| 198 | #define OC_POWER_DOWN 0x06 | ||
| 199 | |||
| 200 | /* CLK_CTL */ | ||
| 201 | #define CHANGE_CLK 0x01 | ||
| 202 | |||
| 203 | /* LDO_CTL */ | ||
| 204 | #define BPP_LDO_POWB 0x03 | ||
| 205 | #define BPP_LDO_ON 0x00 | ||
| 206 | #define BPP_LDO_SUSPEND 0x02 | ||
| 207 | #define BPP_LDO_OFF 0x03 | ||
| 208 | |||
| 209 | /* CD_PAD_CTL */ | ||
| 210 | #define CD_DISABLE_MASK 0x07 | ||
| 211 | #define MS_CD_DISABLE 0x04 | ||
| 212 | #define SD_CD_DISABLE 0x02 | ||
| 213 | #define XD_CD_DISABLE 0x01 | ||
| 214 | #define CD_DISABLE 0x07 | ||
| 215 | #define CD_ENABLE 0x00 | ||
| 216 | #define MS_CD_EN_ONLY 0x03 | ||
| 217 | #define SD_CD_EN_ONLY 0x05 | ||
| 218 | #define XD_CD_EN_ONLY 0x06 | ||
| 219 | #define FORCE_CD_LOW_MASK 0x38 | ||
| 220 | #define FORCE_CD_XD_LOW 0x08 | ||
| 221 | #define FORCE_CD_SD_LOW 0x10 | ||
| 222 | #define FORCE_CD_MS_LOW 0x20 | ||
| 223 | #define CD_AUTO_DISABLE 0x40 | ||
| 224 | |||
| 225 | /* SD_STAT1 */ | ||
| 226 | #define SD_CRC7_ERR 0x80 | ||
| 227 | #define SD_CRC16_ERR 0x40 | ||
| 228 | #define SD_CRC_WRITE_ERR 0x20 | ||
| 229 | #define SD_CRC_WRITE_ERR_MASK 0x1C | ||
| 230 | #define GET_CRC_TIME_OUT 0x02 | ||
| 231 | #define SD_TUNING_COMPARE_ERR 0x01 | ||
| 232 | |||
| 233 | /* SD_STAT2 */ | ||
| 234 | #define SD_RSP_80CLK_TIMEOUT 0x01 | ||
| 235 | |||
| 236 | /* SD_BUS_STAT */ | ||
| 237 | #define SD_CLK_TOGGLE_EN 0x80 | ||
| 238 | #define SD_CLK_FORCE_STOP 0x40 | ||
| 239 | #define SD_DAT3_STATUS 0x10 | ||
| 240 | #define SD_DAT2_STATUS 0x08 | ||
| 241 | #define SD_DAT1_STATUS 0x04 | ||
| 242 | #define SD_DAT0_STATUS 0x02 | ||
| 243 | #define SD_CMD_STATUS 0x01 | ||
| 244 | |||
| 245 | /* SD_PAD_CTL */ | ||
| 246 | #define SD_IO_USING_1V8 0x80 | ||
| 247 | #define SD_IO_USING_3V3 0x7F | ||
| 248 | #define TYPE_A_DRIVING 0x00 | ||
| 249 | #define TYPE_B_DRIVING 0x01 | ||
| 250 | #define TYPE_C_DRIVING 0x02 | ||
| 251 | #define TYPE_D_DRIVING 0x03 | ||
| 252 | |||
| 253 | /* SD_SAMPLE_POINT_CTL */ | ||
| 254 | #define DDR_FIX_RX_DAT 0x00 | ||
| 255 | #define DDR_VAR_RX_DAT 0x80 | ||
| 256 | #define DDR_FIX_RX_DAT_EDGE 0x00 | ||
| 257 | #define DDR_FIX_RX_DAT_14_DELAY 0x40 | ||
| 258 | #define DDR_FIX_RX_CMD 0x00 | ||
| 259 | #define DDR_VAR_RX_CMD 0x20 | ||
| 260 | #define DDR_FIX_RX_CMD_POS_EDGE 0x00 | ||
| 261 | #define DDR_FIX_RX_CMD_14_DELAY 0x10 | ||
| 262 | #define SD20_RX_POS_EDGE 0x00 | ||
| 263 | #define SD20_RX_14_DELAY 0x08 | ||
| 264 | #define SD20_RX_SEL_MASK 0x08 | ||
| 265 | |||
| 266 | /* SD_PUSH_POINT_CTL */ | ||
| 267 | #define DDR_FIX_TX_CMD_DAT 0x00 | ||
| 268 | #define DDR_VAR_TX_CMD_DAT 0x80 | ||
| 269 | #define DDR_FIX_TX_DAT_14_TSU 0x00 | ||
| 270 | #define DDR_FIX_TX_DAT_12_TSU 0x40 | ||
| 271 | #define DDR_FIX_TX_CMD_NEG_EDGE 0x00 | ||
| 272 | #define DDR_FIX_TX_CMD_14_AHEAD 0x20 | ||
| 273 | #define SD20_TX_NEG_EDGE 0x00 | ||
| 274 | #define SD20_TX_14_AHEAD 0x10 | ||
| 275 | #define SD20_TX_SEL_MASK 0x10 | ||
| 276 | #define DDR_VAR_SDCLK_POL_SWAP 0x01 | ||
| 277 | |||
| 278 | /* SD_TRANSFER */ | ||
| 279 | #define SD_TRANSFER_START 0x80 | ||
| 280 | #define SD_TRANSFER_END 0x40 | ||
| 281 | #define SD_STAT_IDLE 0x20 | ||
| 282 | #define SD_TRANSFER_ERR 0x10 | ||
| 283 | /* SD Transfer Mode definition */ | ||
| 284 | #define SD_TM_NORMAL_WRITE 0x00 | ||
| 285 | #define SD_TM_AUTO_WRITE_3 0x01 | ||
| 286 | #define SD_TM_AUTO_WRITE_4 0x02 | ||
| 287 | #define SD_TM_AUTO_READ_3 0x05 | ||
| 288 | #define SD_TM_AUTO_READ_4 0x06 | ||
| 289 | #define SD_TM_CMD_RSP 0x08 | ||
| 290 | #define SD_TM_AUTO_WRITE_1 0x09 | ||
| 291 | #define SD_TM_AUTO_WRITE_2 0x0A | ||
| 292 | #define SD_TM_NORMAL_READ 0x0C | ||
| 293 | #define SD_TM_AUTO_READ_1 0x0D | ||
| 294 | #define SD_TM_AUTO_READ_2 0x0E | ||
| 295 | #define SD_TM_AUTO_TUNING 0x0F | ||
| 296 | |||
| 297 | /* SD_VPTX_CTL / SD_VPRX_CTL */ | ||
| 298 | #define PHASE_CHANGE 0x80 | ||
| 299 | #define PHASE_NOT_RESET 0x40 | ||
| 300 | |||
| 301 | /* SD_DCMPS_TX_CTL / SD_DCMPS_RX_CTL */ | ||
| 302 | #define DCMPS_CHANGE 0x80 | ||
| 303 | #define DCMPS_CHANGE_DONE 0x40 | ||
| 304 | #define DCMPS_ERROR 0x20 | ||
| 305 | #define DCMPS_CURRENT_PHASE 0x1F | ||
| 306 | |||
| 307 | /* SD Configure 1 Register */ | ||
| 308 | #define SD_CLK_DIVIDE_0 0x00 | ||
| 309 | #define SD_CLK_DIVIDE_256 0xC0 | ||
| 310 | #define SD_CLK_DIVIDE_128 0x80 | ||
| 311 | #define SD_BUS_WIDTH_1BIT 0x00 | ||
| 312 | #define SD_BUS_WIDTH_4BIT 0x01 | ||
| 313 | #define SD_BUS_WIDTH_8BIT 0x02 | ||
| 314 | #define SD_ASYNC_FIFO_NOT_RST 0x10 | ||
| 315 | #define SD_20_MODE 0x00 | ||
| 316 | #define SD_DDR_MODE 0x04 | ||
| 317 | #define SD_30_MODE 0x08 | ||
| 318 | |||
| 319 | #define SD_CLK_DIVIDE_MASK 0xC0 | ||
| 320 | |||
| 321 | /* SD_CMD_STATE */ | ||
| 322 | #define SD_CMD_IDLE 0x80 | ||
| 323 | |||
| 324 | /* SD_DATA_STATE */ | ||
| 325 | #define SD_DATA_IDLE 0x80 | ||
| 326 | |||
| 327 | /* DCM_DRP_CTL */ | ||
| 328 | #define DCM_RESET 0x08 | ||
| 329 | #define DCM_LOCKED 0x04 | ||
| 330 | #define DCM_208M 0x00 | ||
| 331 | #define DCM_TX 0x01 | ||
| 332 | #define DCM_RX 0x02 | ||
| 333 | |||
| 334 | /* DCM_DRP_TRIG */ | ||
| 335 | #define DRP_START 0x80 | ||
| 336 | #define DRP_DONE 0x40 | ||
| 337 | |||
| 338 | /* DCM_DRP_CFG */ | ||
| 339 | #define DRP_WRITE 0x80 | ||
| 340 | #define DRP_READ 0x00 | ||
| 341 | #define DCM_WRITE_ADDRESS_50 0x50 | ||
| 342 | #define DCM_WRITE_ADDRESS_51 0x51 | ||
| 343 | #define DCM_READ_ADDRESS_00 0x00 | ||
| 344 | #define DCM_READ_ADDRESS_51 0x51 | ||
| 345 | |||
| 346 | /* IRQSTAT0 */ | ||
| 347 | #define DMA_DONE_INT 0x80 | ||
| 348 | #define SUSPEND_INT 0x40 | ||
| 349 | #define LINK_RDY_INT 0x20 | ||
| 350 | #define LINK_DOWN_INT 0x10 | ||
| 351 | |||
| 352 | /* DMACTL */ | ||
| 353 | #define DMA_RST 0x80 | ||
| 354 | #define DMA_BUSY 0x04 | ||
| 355 | #define DMA_DIR_TO_CARD 0x00 | ||
| 356 | #define DMA_DIR_FROM_CARD 0x02 | ||
| 357 | #define DMA_EN 0x01 | ||
| 358 | #define DMA_128 (0 << 4) | ||
| 359 | #define DMA_256 (1 << 4) | ||
| 360 | #define DMA_512 (2 << 4) | ||
| 361 | #define DMA_1024 (3 << 4) | ||
| 362 | #define DMA_PACK_SIZE_MASK 0x30 | ||
| 363 | |||
| 364 | /* SSC_CTL1 */ | ||
| 365 | #define SSC_RSTB 0x80 | ||
| 366 | #define SSC_8X_EN 0x40 | ||
| 367 | #define SSC_FIX_FRAC 0x20 | ||
| 368 | #define SSC_SEL_1M 0x00 | ||
| 369 | #define SSC_SEL_2M 0x08 | ||
| 370 | #define SSC_SEL_4M 0x10 | ||
| 371 | #define SSC_SEL_8M 0x18 | ||
| 372 | |||
| 373 | /* SSC_CTL2 */ | ||
| 374 | #define SSC_DEPTH_MASK 0x07 | ||
| 375 | #define SSC_DEPTH_DISALBE 0x00 | ||
| 376 | #define SSC_DEPTH_4M 0x01 | ||
| 377 | #define SSC_DEPTH_2M 0x02 | ||
| 378 | #define SSC_DEPTH_1M 0x03 | ||
| 379 | #define SSC_DEPTH_500K 0x04 | ||
| 380 | #define SSC_DEPTH_250K 0x05 | ||
| 381 | |||
| 382 | /* System Clock Control Register */ | ||
| 383 | #define CLK_LOW_FREQ 0x01 | ||
| 384 | |||
| 385 | /* System Clock Divider Register */ | ||
| 386 | #define CLK_DIV_1 0x01 | ||
| 387 | #define CLK_DIV_2 0x02 | ||
| 388 | #define CLK_DIV_4 0x03 | ||
| 389 | #define CLK_DIV_8 0x04 | ||
| 390 | |||
| 391 | /* MS_CFG */ | ||
| 392 | #define SAMPLE_TIME_RISING 0x00 | ||
| 393 | #define SAMPLE_TIME_FALLING 0x80 | ||
| 394 | #define PUSH_TIME_DEFAULT 0x00 | ||
| 395 | #define PUSH_TIME_ODD 0x40 | ||
| 396 | #define NO_EXTEND_TOGGLE 0x00 | ||
| 397 | #define EXTEND_TOGGLE_CHK 0x20 | ||
| 398 | #define MS_BUS_WIDTH_1 0x00 | ||
| 399 | #define MS_BUS_WIDTH_4 0x10 | ||
| 400 | #define MS_BUS_WIDTH_8 0x18 | ||
| 401 | #define MS_2K_SECTOR_MODE 0x04 | ||
| 402 | #define MS_512_SECTOR_MODE 0x00 | ||
| 403 | #define MS_TOGGLE_TIMEOUT_EN 0x00 | ||
| 404 | #define MS_TOGGLE_TIMEOUT_DISEN 0x01 | ||
| 405 | #define MS_NO_CHECK_INT 0x02 | ||
| 406 | |||
| 407 | /* MS_TRANS_CFG */ | ||
| 408 | #define WAIT_INT 0x80 | ||
| 409 | #define NO_WAIT_INT 0x00 | ||
| 410 | #define NO_AUTO_READ_INT_REG 0x00 | ||
| 411 | #define AUTO_READ_INT_REG 0x40 | ||
| 412 | #define MS_CRC16_ERR 0x20 | ||
| 413 | #define MS_RDY_TIMEOUT 0x10 | ||
| 414 | #define MS_INT_CMDNK 0x08 | ||
| 415 | #define MS_INT_BREQ 0x04 | ||
| 416 | #define MS_INT_ERR 0x02 | ||
| 417 | #define MS_INT_CED 0x01 | ||
| 418 | |||
| 419 | /* MS_TRANSFER */ | ||
| 420 | #define MS_TRANSFER_START 0x80 | ||
| 421 | #define MS_TRANSFER_END 0x40 | ||
| 422 | #define MS_TRANSFER_ERR 0x20 | ||
| 423 | #define MS_BS_STATE 0x10 | ||
| 424 | #define MS_TM_READ_BYTES 0x00 | ||
| 425 | #define MS_TM_NORMAL_READ 0x01 | ||
| 426 | #define MS_TM_WRITE_BYTES 0x04 | ||
| 427 | #define MS_TM_NORMAL_WRITE 0x05 | ||
| 428 | #define MS_TM_AUTO_READ 0x08 | ||
| 429 | #define MS_TM_AUTO_WRITE 0x0C | ||
| 430 | |||
| 431 | /* SD Configure 2 Register */ | ||
| 432 | #define SD_CALCULATE_CRC7 0x00 | ||
| 433 | #define SD_NO_CALCULATE_CRC7 0x80 | ||
| 434 | #define SD_CHECK_CRC16 0x00 | ||
| 435 | #define SD_NO_CHECK_CRC16 0x40 | ||
| 436 | #define SD_NO_CHECK_WAIT_CRC_TO 0x20 | ||
| 437 | #define SD_WAIT_BUSY_END 0x08 | ||
| 438 | #define SD_NO_WAIT_BUSY_END 0x00 | ||
| 439 | #define SD_CHECK_CRC7 0x00 | ||
| 440 | #define SD_NO_CHECK_CRC7 0x04 | ||
| 441 | #define SD_RSP_LEN_0 0x00 | ||
| 442 | #define SD_RSP_LEN_6 0x01 | ||
| 443 | #define SD_RSP_LEN_17 0x02 | ||
| 444 | /* SD/MMC Response Type Definition */ | ||
| 445 | #define SD_RSP_TYPE_R0 0x04 | ||
| 446 | #define SD_RSP_TYPE_R1 0x01 | ||
| 447 | #define SD_RSP_TYPE_R1b 0x09 | ||
| 448 | #define SD_RSP_TYPE_R2 0x02 | ||
| 449 | #define SD_RSP_TYPE_R3 0x05 | ||
| 450 | #define SD_RSP_TYPE_R4 0x05 | ||
| 451 | #define SD_RSP_TYPE_R5 0x01 | ||
| 452 | #define SD_RSP_TYPE_R6 0x01 | ||
| 453 | #define SD_RSP_TYPE_R7 0x01 | ||
| 454 | |||
| 455 | /* SD_CONFIURE3 */ | ||
| 456 | #define SD_RSP_80CLK_TIMEOUT_EN 0x01 | ||
| 457 | |||
| 458 | /* Card Transfer Reset Register */ | ||
| 459 | #define SPI_STOP 0x01 | ||
| 460 | #define XD_STOP 0x02 | ||
| 461 | #define SD_STOP 0x04 | ||
| 462 | #define MS_STOP 0x08 | ||
| 463 | #define SPI_CLR_ERR 0x10 | ||
| 464 | #define XD_CLR_ERR 0x20 | ||
| 465 | #define SD_CLR_ERR 0x40 | ||
| 466 | #define MS_CLR_ERR 0x80 | ||
| 467 | |||
| 468 | /* Card Data Source Register */ | ||
| 469 | #define PINGPONG_BUFFER 0x01 | ||
| 470 | #define RING_BUFFER 0x00 | ||
| 471 | |||
| 472 | /* Card Power Control Register */ | ||
| 473 | #define PMOS_STRG_MASK 0x10 | ||
| 474 | #define PMOS_STRG_800mA 0x10 | ||
| 475 | #define PMOS_STRG_400mA 0x00 | ||
| 476 | #define SD_POWER_OFF 0x03 | ||
| 477 | #define SD_PARTIAL_POWER_ON 0x01 | ||
| 478 | #define SD_POWER_ON 0x00 | ||
| 479 | #define SD_POWER_MASK 0x03 | ||
| 480 | #define MS_POWER_OFF 0x0C | ||
| 481 | #define MS_PARTIAL_POWER_ON 0x04 | ||
| 482 | #define MS_POWER_ON 0x00 | ||
| 483 | #define MS_POWER_MASK 0x0C | ||
| 484 | #define BPP_POWER_OFF 0x0F | ||
| 485 | #define BPP_POWER_5_PERCENT_ON 0x0E | ||
| 486 | #define BPP_POWER_10_PERCENT_ON 0x0C | ||
| 487 | #define BPP_POWER_15_PERCENT_ON 0x08 | ||
| 488 | #define BPP_POWER_ON 0x00 | ||
| 489 | #define BPP_POWER_MASK 0x0F | ||
| 490 | |||
| 491 | /* PWR_GATE_CTRL */ | ||
| 492 | #define PWR_GATE_EN 0x01 | ||
| 493 | #define LDO3318_PWR_MASK 0x06 | ||
| 494 | #define LDO_ON 0x00 | ||
| 495 | #define LDO_SUSPEND 0x04 | ||
| 496 | #define LDO_OFF 0x06 | ||
| 497 | |||
| 498 | /* CARD_CLK_SOURCE */ | ||
| 499 | #define CRC_FIX_CLK (0x00 << 0) | ||
| 500 | #define CRC_VAR_CLK0 (0x01 << 0) | ||
| 501 | #define CRC_VAR_CLK1 (0x02 << 0) | ||
| 502 | #define SD30_FIX_CLK (0x00 << 2) | ||
| 503 | #define SD30_VAR_CLK0 (0x01 << 2) | ||
| 504 | #define SD30_VAR_CLK1 (0x02 << 2) | ||
| 505 | #define SAMPLE_FIX_CLK (0x00 << 4) | ||
| 506 | #define SAMPLE_VAR_CLK0 (0x01 << 4) | ||
| 507 | #define SAMPLE_VAR_CLK1 (0x02 << 4) | ||
| 508 | |||
| 509 | #define MS_CFG 0xFD40 | ||
| 510 | #define MS_TPC 0xFD41 | ||
| 511 | #define MS_TRANS_CFG 0xFD42 | ||
| 512 | #define MS_TRANSFER 0xFD43 | ||
| 513 | #define MS_INT_REG 0xFD44 | ||
| 514 | #define MS_BYTE_CNT 0xFD45 | ||
| 515 | #define MS_SECTOR_CNT_L 0xFD46 | ||
| 516 | #define MS_SECTOR_CNT_H 0xFD47 | ||
| 517 | #define MS_DBUS_H 0xFD48 | ||
| 518 | |||
| 519 | #define SD_CFG1 0xFDA0 | ||
| 520 | #define SD_CFG2 0xFDA1 | ||
| 521 | #define SD_CFG3 0xFDA2 | ||
| 522 | #define SD_STAT1 0xFDA3 | ||
| 523 | #define SD_STAT2 0xFDA4 | ||
| 524 | #define SD_BUS_STAT 0xFDA5 | ||
| 525 | #define SD_PAD_CTL 0xFDA6 | ||
| 526 | #define SD_SAMPLE_POINT_CTL 0xFDA7 | ||
| 527 | #define SD_PUSH_POINT_CTL 0xFDA8 | ||
| 528 | #define SD_CMD0 0xFDA9 | ||
| 529 | #define SD_CMD1 0xFDAA | ||
| 530 | #define SD_CMD2 0xFDAB | ||
| 531 | #define SD_CMD3 0xFDAC | ||
| 532 | #define SD_CMD4 0xFDAD | ||
| 533 | #define SD_CMD5 0xFDAE | ||
| 534 | #define SD_BYTE_CNT_L 0xFDAF | ||
| 535 | #define SD_BYTE_CNT_H 0xFDB0 | ||
| 536 | #define SD_BLOCK_CNT_L 0xFDB1 | ||
| 537 | #define SD_BLOCK_CNT_H 0xFDB2 | ||
| 538 | #define SD_TRANSFER 0xFDB3 | ||
| 539 | #define SD_CMD_STATE 0xFDB5 | ||
| 540 | #define SD_DATA_STATE 0xFDB6 | ||
| 541 | |||
| 542 | #define SRCTL 0xFC13 | ||
| 543 | |||
| 544 | #define DCM_DRP_CTL 0xFC23 | ||
| 545 | #define DCM_DRP_TRIG 0xFC24 | ||
| 546 | #define DCM_DRP_CFG 0xFC25 | ||
| 547 | #define DCM_DRP_WR_DATA_L 0xFC26 | ||
| 548 | #define DCM_DRP_WR_DATA_H 0xFC27 | ||
| 549 | #define DCM_DRP_RD_DATA_L 0xFC28 | ||
| 550 | #define DCM_DRP_RD_DATA_H 0xFC29 | ||
| 551 | #define SD_VPCLK0_CTL 0xFC2A | ||
| 552 | #define SD_VPCLK1_CTL 0xFC2B | ||
| 553 | #define SD_DCMPS0_CTL 0xFC2C | ||
| 554 | #define SD_DCMPS1_CTL 0xFC2D | ||
| 555 | #define SD_VPTX_CTL SD_VPCLK0_CTL | ||
| 556 | #define SD_VPRX_CTL SD_VPCLK1_CTL | ||
| 557 | #define SD_DCMPS_TX_CTL SD_DCMPS0_CTL | ||
| 558 | #define SD_DCMPS_RX_CTL SD_DCMPS1_CTL | ||
| 559 | #define CARD_CLK_SOURCE 0xFC2E | ||
| 560 | |||
| 561 | #define CARD_PWR_CTL 0xFD50 | ||
| 562 | #define CARD_CLK_SWITCH 0xFD51 | ||
| 563 | #define CARD_SHARE_MODE 0xFD52 | ||
| 564 | #define CARD_DRIVE_SEL 0xFD53 | ||
| 565 | #define CARD_STOP 0xFD54 | ||
| 566 | #define CARD_OE 0xFD55 | ||
| 567 | #define CARD_AUTO_BLINK 0xFD56 | ||
| 568 | #define CARD_GPIO_DIR 0xFD57 | ||
| 569 | #define CARD_GPIO 0xFD58 | ||
| 570 | #define CARD_DATA_SOURCE 0xFD5B | ||
| 571 | #define CARD_SELECT 0xFD5C | ||
| 572 | #define SD30_DRIVE_SEL 0xFD5E | ||
| 573 | #define CARD_CLK_EN 0xFD69 | ||
| 574 | #define SDIO_CTRL 0xFD6B | ||
| 575 | #define CD_PAD_CTL 0xFD73 | ||
| 576 | |||
| 577 | #define FPDCTL 0xFC00 | ||
| 578 | #define PDINFO 0xFC01 | ||
| 579 | |||
| 580 | #define CLK_CTL 0xFC02 | ||
| 581 | #define CLK_DIV 0xFC03 | ||
| 582 | #define CLK_SEL 0xFC04 | ||
| 583 | |||
| 584 | #define SSC_DIV_N_0 0xFC0F | ||
| 585 | #define SSC_DIV_N_1 0xFC10 | ||
| 586 | #define SSC_CTL1 0xFC11 | ||
| 587 | #define SSC_CTL2 0xFC12 | ||
| 588 | |||
| 589 | #define RCCTL 0xFC14 | ||
| 590 | |||
| 591 | #define FPGA_PULL_CTL 0xFC1D | ||
| 592 | #define OLT_LED_CTL 0xFC1E | ||
| 593 | #define GPIO_CTL 0xFC1F | ||
| 594 | |||
| 595 | #define LDO_CTL 0xFC1E | ||
| 596 | #define SYS_VER 0xFC32 | ||
| 597 | |||
| 598 | #define CARD_PULL_CTL1 0xFD60 | ||
| 599 | #define CARD_PULL_CTL2 0xFD61 | ||
| 600 | #define CARD_PULL_CTL3 0xFD62 | ||
| 601 | #define CARD_PULL_CTL4 0xFD63 | ||
| 602 | #define CARD_PULL_CTL5 0xFD64 | ||
| 603 | #define CARD_PULL_CTL6 0xFD65 | ||
| 604 | |||
| 605 | /* PCI Express Related Registers */ | ||
| 606 | #define IRQEN0 0xFE20 | ||
| 607 | #define IRQSTAT0 0xFE21 | ||
| 608 | #define IRQEN1 0xFE22 | ||
| 609 | #define IRQSTAT1 0xFE23 | ||
| 610 | #define TLPRIEN 0xFE24 | ||
| 611 | #define TLPRISTAT 0xFE25 | ||
| 612 | #define TLPTIEN 0xFE26 | ||
| 613 | #define TLPTISTAT 0xFE27 | ||
| 614 | #define DMATC0 0xFE28 | ||
| 615 | #define DMATC1 0xFE29 | ||
| 616 | #define DMATC2 0xFE2A | ||
| 617 | #define DMATC3 0xFE2B | ||
| 618 | #define DMACTL 0xFE2C | ||
| 619 | #define BCTL 0xFE2D | ||
| 620 | #define RBBC0 0xFE2E | ||
| 621 | #define RBBC1 0xFE2F | ||
| 622 | #define RBDAT 0xFE30 | ||
| 623 | #define RBCTL 0xFE34 | ||
| 624 | #define CFGADDR0 0xFE35 | ||
| 625 | #define CFGADDR1 0xFE36 | ||
| 626 | #define CFGDATA0 0xFE37 | ||
| 627 | #define CFGDATA1 0xFE38 | ||
| 628 | #define CFGDATA2 0xFE39 | ||
| 629 | #define CFGDATA3 0xFE3A | ||
| 630 | #define CFGRWCTL 0xFE3B | ||
| 631 | #define PHYRWCTL 0xFE3C | ||
| 632 | #define PHYDATA0 0xFE3D | ||
| 633 | #define PHYDATA1 0xFE3E | ||
| 634 | #define PHYADDR 0xFE3F | ||
| 635 | #define MSGRXDATA0 0xFE40 | ||
| 636 | #define MSGRXDATA1 0xFE41 | ||
| 637 | #define MSGRXDATA2 0xFE42 | ||
| 638 | #define MSGRXDATA3 0xFE43 | ||
| 639 | #define MSGTXDATA0 0xFE44 | ||
| 640 | #define MSGTXDATA1 0xFE45 | ||
| 641 | #define MSGTXDATA2 0xFE46 | ||
| 642 | #define MSGTXDATA3 0xFE47 | ||
| 643 | #define MSGTXCTL 0xFE48 | ||
| 644 | #define PETXCFG 0xFE49 | ||
| 645 | |||
| 646 | #define CDRESUMECTL 0xFE52 | ||
| 647 | #define WAKE_SEL_CTL 0xFE54 | ||
| 648 | #define PME_FORCE_CTL 0xFE56 | ||
| 649 | #define ASPM_FORCE_CTL 0xFE57 | ||
| 650 | #define PM_CLK_FORCE_CTL 0xFE58 | ||
| 651 | #define PERST_GLITCH_WIDTH 0xFE5C | ||
| 652 | #define CHANGE_LINK_STATE 0xFE5B | ||
| 653 | #define RESET_LOAD_REG 0xFE5E | ||
| 654 | #define EFUSE_CONTENT 0xFE5F | ||
| 655 | #define HOST_SLEEP_STATE 0xFE60 | ||
| 656 | #define SDIO_CFG 0xFE70 | ||
| 657 | |||
| 658 | #define NFTS_TX_CTRL 0xFE72 | ||
| 659 | |||
| 660 | #define PWR_GATE_CTRL 0xFE75 | ||
| 661 | #define PWD_SUSPEND_EN 0xFE76 | ||
| 662 | #define LDO_PWR_SEL 0xFE78 | ||
| 663 | |||
| 664 | #define DUMMY_REG_RESET_0 0xFE90 | ||
| 665 | |||
| 666 | /* Memory mapping */ | ||
| 667 | #define SRAM_BASE 0xE600 | ||
| 668 | #define RBUF_BASE 0xF400 | ||
| 669 | #define PPBUF_BASE1 0xF800 | ||
| 670 | #define PPBUF_BASE2 0xFA00 | ||
| 671 | #define IMAGE_FLAG_ADDR0 0xCE80 | ||
| 672 | #define IMAGE_FLAG_ADDR1 0xCE81 | ||
| 673 | |||
| 674 | #define rtsx_pci_init_cmd(pcr) ((pcr)->ci = 0) | ||
| 675 | |||
| 676 | struct rtsx_pcr; | ||
| 677 | |||
| 678 | struct pcr_handle { | ||
| 679 | struct rtsx_pcr *pcr; | ||
| 680 | }; | ||
| 681 | |||
| 682 | struct pcr_ops { | ||
| 683 | int (*extra_init_hw)(struct rtsx_pcr *pcr); | ||
| 684 | int (*optimize_phy)(struct rtsx_pcr *pcr); | ||
| 685 | int (*turn_on_led)(struct rtsx_pcr *pcr); | ||
| 686 | int (*turn_off_led)(struct rtsx_pcr *pcr); | ||
| 687 | int (*enable_auto_blink)(struct rtsx_pcr *pcr); | ||
| 688 | int (*disable_auto_blink)(struct rtsx_pcr *pcr); | ||
| 689 | int (*card_power_on)(struct rtsx_pcr *pcr, int card); | ||
| 690 | int (*card_power_off)(struct rtsx_pcr *pcr, int card); | ||
| 691 | unsigned int (*cd_deglitch)(struct rtsx_pcr *pcr); | ||
| 692 | }; | ||
| 693 | |||
| 694 | enum PDEV_STAT {PDEV_STAT_IDLE, PDEV_STAT_RUN}; | ||
| 695 | |||
| 696 | struct rtsx_pcr { | ||
| 697 | struct pci_dev *pci; | ||
| 698 | unsigned int id; | ||
| 699 | |||
| 700 | /* pci resources */ | ||
| 701 | unsigned long addr; | ||
| 702 | void __iomem *remap_addr; | ||
| 703 | int irq; | ||
| 704 | |||
| 705 | /* host reserved buffer */ | ||
| 706 | void *rtsx_resv_buf; | ||
| 707 | dma_addr_t rtsx_resv_buf_addr; | ||
| 708 | |||
| 709 | void *host_cmds_ptr; | ||
| 710 | dma_addr_t host_cmds_addr; | ||
| 711 | int ci; | ||
| 712 | |||
| 713 | void *host_sg_tbl_ptr; | ||
| 714 | dma_addr_t host_sg_tbl_addr; | ||
| 715 | int sgi; | ||
| 716 | |||
| 717 | u32 bier; | ||
| 718 | char trans_result; | ||
| 719 | |||
| 720 | unsigned int card_inserted; | ||
| 721 | unsigned int card_removed; | ||
| 722 | |||
| 723 | struct delayed_work carddet_work; | ||
| 724 | struct delayed_work idle_work; | ||
| 725 | |||
| 726 | spinlock_t lock; | ||
| 727 | struct mutex pcr_mutex; | ||
| 728 | struct completion *done; | ||
| 729 | struct completion *finish_me; | ||
| 730 | |||
| 731 | unsigned int cur_clock; | ||
| 732 | bool ms_pmos; | ||
| 733 | bool remove_pci; | ||
| 734 | bool msi_en; | ||
| 735 | |||
| 736 | #define EXTRA_CAPS_SD_SDR50 (1 << 0) | ||
| 737 | #define EXTRA_CAPS_SD_SDR104 (1 << 1) | ||
| 738 | #define EXTRA_CAPS_SD_DDR50 (1 << 2) | ||
| 739 | #define EXTRA_CAPS_MMC_HSDDR (1 << 3) | ||
| 740 | #define EXTRA_CAPS_MMC_HS200 (1 << 4) | ||
| 741 | #define EXTRA_CAPS_MMC_8BIT (1 << 5) | ||
| 742 | u32 extra_caps; | ||
| 743 | |||
| 744 | #define IC_VER_A 0 | ||
| 745 | #define IC_VER_B 1 | ||
| 746 | #define IC_VER_C 2 | ||
| 747 | #define IC_VER_D 3 | ||
| 748 | u8 ic_version; | ||
| 749 | |||
| 750 | const u32 *sd_pull_ctl_enable_tbl; | ||
| 751 | const u32 *sd_pull_ctl_disable_tbl; | ||
| 752 | const u32 *ms_pull_ctl_enable_tbl; | ||
| 753 | const u32 *ms_pull_ctl_disable_tbl; | ||
| 754 | |||
| 755 | const struct pcr_ops *ops; | ||
| 756 | enum PDEV_STAT state; | ||
| 757 | |||
| 758 | int num_slots; | ||
| 759 | struct rtsx_slot *slots; | ||
| 760 | }; | ||
| 761 | |||
| 762 | #define CHK_PCI_PID(pcr, pid) ((pcr)->pci->device == (pid)) | ||
| 763 | #define PCI_VID(pcr) ((pcr)->pci->vendor) | ||
| 764 | #define PCI_PID(pcr) ((pcr)->pci->device) | ||
| 765 | |||
| 766 | void rtsx_pci_start_run(struct rtsx_pcr *pcr); | ||
| 767 | int rtsx_pci_write_register(struct rtsx_pcr *pcr, u16 addr, u8 mask, u8 data); | ||
| 768 | int rtsx_pci_read_register(struct rtsx_pcr *pcr, u16 addr, u8 *data); | ||
| 769 | int rtsx_pci_write_phy_register(struct rtsx_pcr *pcr, u8 addr, u16 val); | ||
| 770 | int rtsx_pci_read_phy_register(struct rtsx_pcr *pcr, u8 addr, u16 *val); | ||
| 771 | void rtsx_pci_stop_cmd(struct rtsx_pcr *pcr); | ||
| 772 | void rtsx_pci_add_cmd(struct rtsx_pcr *pcr, | ||
| 773 | u8 cmd_type, u16 reg_addr, u8 mask, u8 data); | ||
| 774 | void rtsx_pci_send_cmd_no_wait(struct rtsx_pcr *pcr); | ||
| 775 | int rtsx_pci_send_cmd(struct rtsx_pcr *pcr, int timeout); | ||
| 776 | int rtsx_pci_transfer_data(struct rtsx_pcr *pcr, struct scatterlist *sglist, | ||
| 777 | int num_sg, bool read, int timeout); | ||
| 778 | int rtsx_pci_read_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len); | ||
| 779 | int rtsx_pci_write_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len); | ||
| 780 | int rtsx_pci_card_pull_ctl_enable(struct rtsx_pcr *pcr, int card); | ||
| 781 | int rtsx_pci_card_pull_ctl_disable(struct rtsx_pcr *pcr, int card); | ||
| 782 | int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, | ||
| 783 | u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk); | ||
| 784 | int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card); | ||
| 785 | int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card); | ||
| 786 | unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr); | ||
| 787 | void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr); | ||
| 788 | |||
| 789 | static inline u8 *rtsx_pci_get_cmd_data(struct rtsx_pcr *pcr) | ||
| 790 | { | ||
| 791 | return (u8 *)(pcr->host_cmds_ptr); | ||
| 792 | } | ||
| 793 | |||
| 794 | #endif | ||
diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h deleted file mode 100644 index b50c38f8bc4..00000000000 --- a/include/linux/mfd/samsung/core.h +++ /dev/null | |||
| @@ -1,159 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * core.h | ||
| 3 | * | ||
| 4 | * copyright (c) 2011 Samsung Electronics Co., Ltd | ||
| 5 | * http://www.samsung.com | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License as published by the | ||
| 9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 10 | * option) any later version. | ||
| 11 | * | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __LINUX_MFD_SEC_CORE_H | ||
| 15 | #define __LINUX_MFD_SEC_CORE_H | ||
| 16 | |||
| 17 | #define NUM_IRQ_REGS 4 | ||
| 18 | |||
| 19 | enum sec_device_type { | ||
| 20 | S5M8751X, | ||
| 21 | S5M8763X, | ||
| 22 | S5M8767X, | ||
| 23 | S2MPS11X, | ||
| 24 | }; | ||
| 25 | |||
| 26 | /** | ||
| 27 | * struct sec_pmic_dev - s5m87xx master device for sub-drivers | ||
| 28 | * @dev: master device of the chip (can be used to access platform data) | ||
| 29 | * @i2c: i2c client private data for regulator | ||
| 30 | * @rtc: i2c client private data for rtc | ||
| 31 | * @iolock: mutex for serializing io access | ||
| 32 | * @irqlock: mutex for buslock | ||
| 33 | * @irq_base: base IRQ number for sec-pmic, required for IRQs | ||
| 34 | * @irq: generic IRQ number for s5m87xx | ||
| 35 | * @ono: power onoff IRQ number for s5m87xx | ||
| 36 | * @irq_masks_cur: currently active value | ||
| 37 | * @irq_masks_cache: cached hardware value | ||
| 38 | * @type: indicate which s5m87xx "variant" is used | ||
| 39 | */ | ||
| 40 | struct sec_pmic_dev { | ||
| 41 | struct device *dev; | ||
| 42 | struct regmap *regmap; | ||
| 43 | struct i2c_client *i2c; | ||
| 44 | struct i2c_client *rtc; | ||
| 45 | struct mutex iolock; | ||
| 46 | struct mutex irqlock; | ||
| 47 | |||
| 48 | int device_type; | ||
| 49 | int irq_base; | ||
| 50 | int irq; | ||
| 51 | struct regmap_irq_chip_data *irq_data; | ||
| 52 | |||
| 53 | int ono; | ||
| 54 | u8 irq_masks_cur[NUM_IRQ_REGS]; | ||
| 55 | u8 irq_masks_cache[NUM_IRQ_REGS]; | ||
| 56 | int type; | ||
| 57 | bool wakeup; | ||
| 58 | }; | ||
| 59 | |||
| 60 | int sec_irq_init(struct sec_pmic_dev *sec_pmic); | ||
| 61 | void sec_irq_exit(struct sec_pmic_dev *sec_pmic); | ||
| 62 | int sec_irq_resume(struct sec_pmic_dev *sec_pmic); | ||
| 63 | |||
| 64 | extern int sec_reg_read(struct sec_pmic_dev *sec_pmic, u8 reg, void *dest); | ||
| 65 | extern int sec_bulk_read(struct sec_pmic_dev *sec_pmic, u8 reg, int count, u8 *buf); | ||
| 66 | extern int sec_reg_write(struct sec_pmic_dev *sec_pmic, u8 reg, u8 value); | ||
| 67 | extern int sec_bulk_write(struct sec_pmic_dev *sec_pmic, u8 reg, int count, u8 *buf); | ||
| 68 | extern int sec_reg_update(struct sec_pmic_dev *sec_pmic, u8 reg, u8 val, u8 mask); | ||
| 69 | |||
| 70 | struct sec_platform_data { | ||
| 71 | struct sec_regulator_data *regulators; | ||
| 72 | struct sec_opmode_data *opmode; | ||
| 73 | int device_type; | ||
| 74 | int num_regulators; | ||
| 75 | |||
| 76 | int irq_base; | ||
| 77 | int (*cfg_pmic_irq)(void); | ||
| 78 | |||
| 79 | int ono; | ||
| 80 | bool wakeup; | ||
| 81 | bool buck_voltage_lock; | ||
| 82 | |||
| 83 | int buck_gpios[3]; | ||
| 84 | int buck_ds[3]; | ||
| 85 | int buck2_voltage[8]; | ||
| 86 | bool buck2_gpiodvs; | ||
| 87 | int buck3_voltage[8]; | ||
| 88 | bool buck3_gpiodvs; | ||
| 89 | int buck4_voltage[8]; | ||
| 90 | bool buck4_gpiodvs; | ||
| 91 | |||
| 92 | int buck_set1; | ||
| 93 | int buck_set2; | ||
| 94 | int buck_set3; | ||
| 95 | int buck2_enable; | ||
| 96 | int buck3_enable; | ||
| 97 | int buck4_enable; | ||
| 98 | int buck_default_idx; | ||
| 99 | int buck2_default_idx; | ||
| 100 | int buck3_default_idx; | ||
| 101 | int buck4_default_idx; | ||
| 102 | |||
| 103 | int buck_ramp_delay; | ||
| 104 | |||
| 105 | int buck2_ramp_delay; | ||
| 106 | int buck34_ramp_delay; | ||
| 107 | int buck5_ramp_delay; | ||
| 108 | int buck16_ramp_delay; | ||
| 109 | int buck7810_ramp_delay; | ||
| 110 | int buck9_ramp_delay; | ||
| 111 | |||
| 112 | bool buck2_ramp_enable; | ||
| 113 | bool buck3_ramp_enable; | ||
| 114 | bool buck4_ramp_enable; | ||
| 115 | bool buck6_ramp_enable; | ||
| 116 | |||
| 117 | int buck2_init; | ||
| 118 | int buck3_init; | ||
| 119 | int buck4_init; | ||
| 120 | }; | ||
| 121 | |||
| 122 | /** | ||
| 123 | * sec_regulator_data - regulator data | ||
| 124 | * @id: regulator id | ||
| 125 | * @initdata: regulator init data (contraints, supplies, ...) | ||
| 126 | */ | ||
| 127 | struct sec_regulator_data { | ||
| 128 | int id; | ||
| 129 | struct regulator_init_data *initdata; | ||
| 130 | }; | ||
| 131 | |||
| 132 | /* | ||
| 133 | * sec_opmode_data - regulator operation mode data | ||
| 134 | * @id: regulator id | ||
| 135 | * @mode: regulator operation mode | ||
| 136 | */ | ||
| 137 | struct sec_opmode_data { | ||
| 138 | int id; | ||
| 139 | int mode; | ||
| 140 | }; | ||
| 141 | |||
| 142 | /* | ||
| 143 | * samsung regulator operation mode | ||
| 144 | * SEC_OPMODE_OFF Regulator always OFF | ||
| 145 | * SEC_OPMODE_ON Regulator always ON | ||
| 146 | * SEC_OPMODE_LOWPOWER Regulator is on in low-power mode | ||
| 147 | * SEC_OPMODE_SUSPEND Regulator is changed by PWREN pin | ||
| 148 | * If PWREN is high, regulator is on | ||
| 149 | * If PWREN is low, regulator is off | ||
| 150 | */ | ||
| 151 | |||
| 152 | enum sec_opmode { | ||
| 153 | SEC_OPMODE_OFF, | ||
| 154 | SEC_OPMODE_ON, | ||
| 155 | SEC_OPMODE_LOWPOWER, | ||
| 156 | SEC_OPMODE_SUSPEND, | ||
| 157 | }; | ||
| 158 | |||
| 159 | #endif /* __LINUX_MFD_SEC_CORE_H */ | ||
diff --git a/include/linux/mfd/samsung/irq.h b/include/linux/mfd/samsung/irq.h deleted file mode 100644 index d43b4f9e7fb..00000000000 --- a/include/linux/mfd/samsung/irq.h +++ /dev/null | |||
| @@ -1,152 +0,0 @@ | |||
| 1 | /* irq.h | ||
| 2 | * | ||
| 3 | * Copyright (c) 2012 Samsung Electronics Co., Ltd | ||
| 4 | * http://www.samsung.com | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify it | ||
| 7 | * under the terms of the GNU General Public License as published by the | ||
| 8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 9 | * option) any later version. | ||
| 10 | * | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __LINUX_MFD_SEC_IRQ_H | ||
| 14 | #define __LINUX_MFD_SEC_IRQ_H | ||
| 15 | |||
| 16 | enum s2mps11_irq { | ||
| 17 | S2MPS11_IRQ_PWRONF, | ||
| 18 | S2MPS11_IRQ_PWRONR, | ||
| 19 | S2MPS11_IRQ_JIGONBF, | ||
| 20 | S2MPS11_IRQ_JIGONBR, | ||
| 21 | S2MPS11_IRQ_ACOKBF, | ||
| 22 | S2MPS11_IRQ_ACOKBR, | ||
| 23 | S2MPS11_IRQ_PWRON1S, | ||
| 24 | S2MPS11_IRQ_MRB, | ||
| 25 | |||
| 26 | S2MPS11_IRQ_RTC60S, | ||
| 27 | S2MPS11_IRQ_RTCA1, | ||
| 28 | S2MPS11_IRQ_RTCA2, | ||
| 29 | S2MPS11_IRQ_SMPL, | ||
| 30 | S2MPS11_IRQ_RTC1S, | ||
| 31 | S2MPS11_IRQ_WTSR, | ||
| 32 | |||
| 33 | S2MPS11_IRQ_INT120C, | ||
| 34 | S2MPS11_IRQ_INT140C, | ||
| 35 | |||
| 36 | S2MPS11_IRQ_NR, | ||
| 37 | }; | ||
| 38 | |||
| 39 | #define S2MPS11_IRQ_PWRONF_MASK (1 << 0) | ||
| 40 | #define S2MPS11_IRQ_PWRONR_MASK (1 << 1) | ||
| 41 | #define S2MPS11_IRQ_JIGONBF_MASK (1 << 2) | ||
| 42 | #define S2MPS11_IRQ_JIGONBR_MASK (1 << 3) | ||
| 43 | #define S2MPS11_IRQ_ACOKBF_MASK (1 << 4) | ||
| 44 | #define S2MPS11_IRQ_ACOKBR_MASK (1 << 5) | ||
| 45 | #define S2MPS11_IRQ_PWRON1S_MASK (1 << 6) | ||
| 46 | #define S2MPS11_IRQ_MRB_MASK (1 << 7) | ||
| 47 | |||
| 48 | #define S2MPS11_IRQ_RTC60S_MASK (1 << 0) | ||
| 49 | #define S2MPS11_IRQ_RTCA1_MASK (1 << 1) | ||
| 50 | #define S2MPS11_IRQ_RTCA2_MASK (1 << 2) | ||
| 51 | #define S2MPS11_IRQ_SMPL_MASK (1 << 3) | ||
| 52 | #define S2MPS11_IRQ_RTC1S_MASK (1 << 4) | ||
| 53 | #define S2MPS11_IRQ_WTSR_MASK (1 << 5) | ||
| 54 | |||
| 55 | #define S2MPS11_IRQ_INT120C_MASK (1 << 0) | ||
| 56 | #define S2MPS11_IRQ_INT140C_MASK (1 << 1) | ||
| 57 | |||
| 58 | enum s5m8767_irq { | ||
| 59 | S5M8767_IRQ_PWRR, | ||
| 60 | S5M8767_IRQ_PWRF, | ||
| 61 | S5M8767_IRQ_PWR1S, | ||
| 62 | S5M8767_IRQ_JIGR, | ||
| 63 | S5M8767_IRQ_JIGF, | ||
| 64 | S5M8767_IRQ_LOWBAT2, | ||
| 65 | S5M8767_IRQ_LOWBAT1, | ||
| 66 | |||
| 67 | S5M8767_IRQ_MRB, | ||
| 68 | S5M8767_IRQ_DVSOK2, | ||
| 69 | S5M8767_IRQ_DVSOK3, | ||
| 70 | S5M8767_IRQ_DVSOK4, | ||
| 71 | |||
| 72 | S5M8767_IRQ_RTC60S, | ||
| 73 | S5M8767_IRQ_RTCA1, | ||
| 74 | S5M8767_IRQ_RTCA2, | ||
| 75 | S5M8767_IRQ_SMPL, | ||
| 76 | S5M8767_IRQ_RTC1S, | ||
| 77 | S5M8767_IRQ_WTSR, | ||
| 78 | |||
| 79 | S5M8767_IRQ_NR, | ||
| 80 | }; | ||
| 81 | |||
| 82 | #define S5M8767_IRQ_PWRR_MASK (1 << 0) | ||
| 83 | #define S5M8767_IRQ_PWRF_MASK (1 << 1) | ||
| 84 | #define S5M8767_IRQ_PWR1S_MASK (1 << 3) | ||
| 85 | #define S5M8767_IRQ_JIGR_MASK (1 << 4) | ||
| 86 | #define S5M8767_IRQ_JIGF_MASK (1 << 5) | ||
| 87 | #define S5M8767_IRQ_LOWBAT2_MASK (1 << 6) | ||
| 88 | #define S5M8767_IRQ_LOWBAT1_MASK (1 << 7) | ||
| 89 | |||
| 90 | #define S5M8767_IRQ_MRB_MASK (1 << 2) | ||
| 91 | #define S5M8767_IRQ_DVSOK2_MASK (1 << 3) | ||
| 92 | #define S5M8767_IRQ_DVSOK3_MASK (1 << 4) | ||
| 93 | #define S5M8767_IRQ_DVSOK4_MASK (1 << 5) | ||
| 94 | |||
| 95 | #define S5M8767_IRQ_RTC60S_MASK (1 << 0) | ||
| 96 | #define S5M8767_IRQ_RTCA1_MASK (1 << 1) | ||
| 97 | #define S5M8767_IRQ_RTCA2_MASK (1 << 2) | ||
| 98 | #define S5M8767_IRQ_SMPL_MASK (1 << 3) | ||
| 99 | #define S5M8767_IRQ_RTC1S_MASK (1 << 4) | ||
| 100 | #define S5M8767_IRQ_WTSR_MASK (1 << 5) | ||
| 101 | |||
| 102 | enum s5m8763_irq { | ||
| 103 | S5M8763_IRQ_DCINF, | ||
| 104 | S5M8763_IRQ_DCINR, | ||
| 105 | S5M8763_IRQ_JIGF, | ||
| 106 | S5M8763_IRQ_JIGR, | ||
| 107 | S5M8763_IRQ_PWRONF, | ||
| 108 | S5M8763_IRQ_PWRONR, | ||
| 109 | |||
| 110 | S5M8763_IRQ_WTSREVNT, | ||
| 111 | S5M8763_IRQ_SMPLEVNT, | ||
| 112 | S5M8763_IRQ_ALARM1, | ||
| 113 | S5M8763_IRQ_ALARM0, | ||
| 114 | |||
| 115 | S5M8763_IRQ_ONKEY1S, | ||
| 116 | S5M8763_IRQ_TOPOFFR, | ||
| 117 | S5M8763_IRQ_DCINOVPR, | ||
| 118 | S5M8763_IRQ_CHGRSTF, | ||
| 119 | S5M8763_IRQ_DONER, | ||
| 120 | S5M8763_IRQ_CHGFAULT, | ||
| 121 | |||
| 122 | S5M8763_IRQ_LOBAT1, | ||
| 123 | S5M8763_IRQ_LOBAT2, | ||
| 124 | |||
| 125 | S5M8763_IRQ_NR, | ||
| 126 | }; | ||
| 127 | |||
| 128 | #define S5M8763_IRQ_DCINF_MASK (1 << 2) | ||
| 129 | #define S5M8763_IRQ_DCINR_MASK (1 << 3) | ||
| 130 | #define S5M8763_IRQ_JIGF_MASK (1 << 4) | ||
| 131 | #define S5M8763_IRQ_JIGR_MASK (1 << 5) | ||
| 132 | #define S5M8763_IRQ_PWRONF_MASK (1 << 6) | ||
| 133 | #define S5M8763_IRQ_PWRONR_MASK (1 << 7) | ||
| 134 | |||
| 135 | #define S5M8763_IRQ_WTSREVNT_MASK (1 << 0) | ||
| 136 | #define S5M8763_IRQ_SMPLEVNT_MASK (1 << 1) | ||
| 137 | #define S5M8763_IRQ_ALARM1_MASK (1 << 2) | ||
| 138 | #define S5M8763_IRQ_ALARM0_MASK (1 << 3) | ||
| 139 | |||
| 140 | #define S5M8763_IRQ_ONKEY1S_MASK (1 << 0) | ||
| 141 | #define S5M8763_IRQ_TOPOFFR_MASK (1 << 2) | ||
| 142 | #define S5M8763_IRQ_DCINOVPR_MASK (1 << 3) | ||
| 143 | #define S5M8763_IRQ_CHGRSTF_MASK (1 << 4) | ||
| 144 | #define S5M8763_IRQ_DONER_MASK (1 << 5) | ||
| 145 | #define S5M8763_IRQ_CHGFAULT_MASK (1 << 7) | ||
| 146 | |||
| 147 | #define S5M8763_IRQ_LOBAT1_MASK (1 << 0) | ||
| 148 | #define S5M8763_IRQ_LOBAT2_MASK (1 << 1) | ||
| 149 | |||
| 150 | #define S5M8763_ENRAMP (1 << 4) | ||
| 151 | |||
| 152 | #endif /* __LINUX_MFD_SEC_IRQ_H */ | ||
diff --git a/include/linux/mfd/samsung/rtc.h b/include/linux/mfd/samsung/rtc.h deleted file mode 100644 index 71597e20cdd..00000000000 --- a/include/linux/mfd/samsung/rtc.h +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | /* rtc.h | ||
| 2 | * | ||
| 3 | * Copyright (c) 2011 Samsung Electronics Co., Ltd | ||
| 4 | * http://www.samsung.com | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify it | ||
| 7 | * under the terms of the GNU General Public License as published by the | ||
| 8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 9 | * option) any later version. | ||
| 10 | * | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __LINUX_MFD_SEC_RTC_H | ||
| 14 | #define __LINUX_MFD_SEC_RTC_H | ||
| 15 | |||
| 16 | enum sec_rtc_reg { | ||
| 17 | SEC_RTC_SEC, | ||
| 18 | SEC_RTC_MIN, | ||
| 19 | SEC_RTC_HOUR, | ||
| 20 | SEC_RTC_WEEKDAY, | ||
| 21 | SEC_RTC_DATE, | ||
| 22 | SEC_RTC_MONTH, | ||
| 23 | SEC_RTC_YEAR1, | ||
| 24 | SEC_RTC_YEAR2, | ||
| 25 | SEC_ALARM0_SEC, | ||
| 26 | SEC_ALARM0_MIN, | ||
| 27 | SEC_ALARM0_HOUR, | ||
| 28 | SEC_ALARM0_WEEKDAY, | ||
| 29 | SEC_ALARM0_DATE, | ||
| 30 | SEC_ALARM0_MONTH, | ||
| 31 | SEC_ALARM0_YEAR1, | ||
| 32 | SEC_ALARM0_YEAR2, | ||
| 33 | SEC_ALARM1_SEC, | ||
| 34 | SEC_ALARM1_MIN, | ||
| 35 | SEC_ALARM1_HOUR, | ||
| 36 | SEC_ALARM1_WEEKDAY, | ||
| 37 | SEC_ALARM1_DATE, | ||
| 38 | SEC_ALARM1_MONTH, | ||
| 39 | SEC_ALARM1_YEAR1, | ||
| 40 | SEC_ALARM1_YEAR2, | ||
| 41 | SEC_ALARM0_CONF, | ||
| 42 | SEC_ALARM1_CONF, | ||
| 43 | SEC_RTC_STATUS, | ||
| 44 | SEC_WTSR_SMPL_CNTL, | ||
| 45 | SEC_RTC_UDR_CON, | ||
| 46 | }; | ||
| 47 | |||
| 48 | #define RTC_I2C_ADDR (0x0C >> 1) | ||
| 49 | |||
| 50 | #define HOUR_12 (1 << 7) | ||
| 51 | #define HOUR_AMPM (1 << 6) | ||
| 52 | #define HOUR_PM (1 << 5) | ||
| 53 | #define ALARM0_STATUS (1 << 1) | ||
| 54 | #define ALARM1_STATUS (1 << 2) | ||
| 55 | #define UPDATE_AD (1 << 0) | ||
| 56 | |||
| 57 | /* RTC Control Register */ | ||
| 58 | #define BCD_EN_SHIFT 0 | ||
| 59 | #define BCD_EN_MASK (1 << BCD_EN_SHIFT) | ||
| 60 | #define MODEL24_SHIFT 1 | ||
| 61 | #define MODEL24_MASK (1 << MODEL24_SHIFT) | ||
| 62 | /* RTC Update Register1 */ | ||
| 63 | #define RTC_UDR_SHIFT 0 | ||
| 64 | #define RTC_UDR_MASK (1 << RTC_UDR_SHIFT) | ||
| 65 | /* RTC Hour register */ | ||
| 66 | #define HOUR_PM_SHIFT 6 | ||
| 67 | #define HOUR_PM_MASK (1 << HOUR_PM_SHIFT) | ||
| 68 | /* RTC Alarm Enable */ | ||
| 69 | #define ALARM_ENABLE_SHIFT 7 | ||
| 70 | #define ALARM_ENABLE_MASK (1 << ALARM_ENABLE_SHIFT) | ||
| 71 | |||
| 72 | enum { | ||
| 73 | RTC_SEC = 0, | ||
| 74 | RTC_MIN, | ||
| 75 | RTC_HOUR, | ||
| 76 | RTC_WEEKDAY, | ||
| 77 | RTC_DATE, | ||
| 78 | RTC_MONTH, | ||
| 79 | RTC_YEAR1, | ||
| 80 | RTC_YEAR2, | ||
| 81 | }; | ||
| 82 | |||
| 83 | #endif /* __LINUX_MFD_SEC_RTC_H */ | ||
diff --git a/include/linux/mfd/samsung/s2mps11.h b/include/linux/mfd/samsung/s2mps11.h deleted file mode 100644 index ad2252f239d..00000000000 --- a/include/linux/mfd/samsung/s2mps11.h +++ /dev/null | |||
| @@ -1,196 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * s2mps11.h | ||
| 3 | * | ||
| 4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd | ||
| 5 | * http://www.samsung.com | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms of the GNU General Public License as published by the | ||
| 9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 10 | * option) any later version. | ||
| 11 | * | ||
| 12 | */ | ||
| 13 | |||
| 14 | #ifndef __LINUX_MFD_S2MPS11_H | ||
| 15 | #define __LINUX_MFD_S2MPS11_H | ||
| 16 | |||
| 17 | /* S2MPS11 registers */ | ||
| 18 | enum s2mps11_reg { | ||
| 19 | S2MPS11_REG_ID, | ||
| 20 | S2MPS11_REG_INT1, | ||
| 21 | S2MPS11_REG_INT2, | ||
| 22 | S2MPS11_REG_INT3, | ||
| 23 | S2MPS11_REG_INT1M, | ||
| 24 | S2MPS11_REG_INT2M, | ||
| 25 | S2MPS11_REG_INT3M, | ||
| 26 | S2MPS11_REG_ST1, | ||
| 27 | S2MPS11_REG_ST2, | ||
| 28 | S2MPS11_REG_OFFSRC, | ||
| 29 | S2MPS11_REG_PWRONSRC, | ||
| 30 | S2MPS11_REG_RTC_CTRL, | ||
| 31 | S2MPS11_REG_CTRL1, | ||
| 32 | S2MPS11_REG_ETC_TEST, | ||
| 33 | S2MPS11_REG_RSVD3, | ||
| 34 | S2MPS11_REG_BU_CHG, | ||
| 35 | S2MPS11_REG_RAMP, | ||
| 36 | S2MPS11_REG_RAMP_BUCK, | ||
| 37 | S2MPS11_REG_LDO1_8, | ||
| 38 | S2MPS11_REG_LDO9_16, | ||
| 39 | S2MPS11_REG_LDO17_24, | ||
| 40 | S2MPS11_REG_LDO25_32, | ||
| 41 | S2MPS11_REG_LDO33_38, | ||
| 42 | S2MPS11_REG_LDO1_8_1, | ||
| 43 | S2MPS11_REG_LDO9_16_1, | ||
| 44 | S2MPS11_REG_LDO17_24_1, | ||
| 45 | S2MPS11_REG_LDO25_32_1, | ||
| 46 | S2MPS11_REG_LDO33_38_1, | ||
| 47 | S2MPS11_REG_OTP_ADRL, | ||
| 48 | S2MPS11_REG_OTP_ADRH, | ||
| 49 | S2MPS11_REG_OTP_DATA, | ||
| 50 | S2MPS11_REG_MON1SEL, | ||
| 51 | S2MPS11_REG_MON2SEL, | ||
| 52 | S2MPS11_REG_LEE, | ||
| 53 | S2MPS11_REG_RSVD_NO, | ||
| 54 | S2MPS11_REG_UVLO, | ||
| 55 | S2MPS11_REG_LEE_NO, | ||
| 56 | S2MPS11_REG_B1CTRL1, | ||
| 57 | S2MPS11_REG_B1CTRL2, | ||
| 58 | S2MPS11_REG_B2CTRL1, | ||
| 59 | S2MPS11_REG_B2CTRL2, | ||
| 60 | S2MPS11_REG_B3CTRL1, | ||
| 61 | S2MPS11_REG_B3CTRL2, | ||
| 62 | S2MPS11_REG_B4CTRL1, | ||
| 63 | S2MPS11_REG_B4CTRL2, | ||
| 64 | S2MPS11_REG_B5CTRL1, | ||
| 65 | S2MPS11_REG_BUCK5_SW, | ||
| 66 | S2MPS11_REG_B5CTRL2, | ||
| 67 | S2MPS11_REG_B5CTRL3, | ||
| 68 | S2MPS11_REG_B5CTRL4, | ||
| 69 | S2MPS11_REG_B5CTRL5, | ||
| 70 | S2MPS11_REG_B6CTRL1, | ||
| 71 | S2MPS11_REG_B6CTRL2, | ||
| 72 | S2MPS11_REG_B7CTRL1, | ||
| 73 | S2MPS11_REG_B7CTRL2, | ||
| 74 | S2MPS11_REG_B8CTRL1, | ||
| 75 | S2MPS11_REG_B8CTRL2, | ||
| 76 | S2MPS11_REG_B9CTRL1, | ||
| 77 | S2MPS11_REG_B9CTRL2, | ||
| 78 | S2MPS11_REG_B10CTRL1, | ||
| 79 | S2MPS11_REG_B10CTRL2, | ||
| 80 | S2MPS11_REG_L1CTRL, | ||
| 81 | S2MPS11_REG_L2CTRL, | ||
| 82 | S2MPS11_REG_L3CTRL, | ||
| 83 | S2MPS11_REG_L4CTRL, | ||
| 84 | S2MPS11_REG_L5CTRL, | ||
| 85 | S2MPS11_REG_L6CTRL, | ||
| 86 | S2MPS11_REG_L7CTRL, | ||
| 87 | S2MPS11_REG_L8CTRL, | ||
| 88 | S2MPS11_REG_L9CTRL, | ||
| 89 | S2MPS11_REG_L10CTRL, | ||
| 90 | S2MPS11_REG_L11CTRL, | ||
| 91 | S2MPS11_REG_L12CTRL, | ||
| 92 | S2MPS11_REG_L13CTRL, | ||
| 93 | S2MPS11_REG_L14CTRL, | ||
| 94 | S2MPS11_REG_L15CTRL, | ||
| 95 | S2MPS11_REG_L16CTRL, | ||
| 96 | S2MPS11_REG_L17CTRL, | ||
| 97 | S2MPS11_REG_L18CTRL, | ||
| 98 | S2MPS11_REG_L19CTRL, | ||
| 99 | S2MPS11_REG_L20CTRL, | ||
| 100 | S2MPS11_REG_L21CTRL, | ||
| 101 | S2MPS11_REG_L22CTRL, | ||
| 102 | S2MPS11_REG_L23CTRL, | ||
| 103 | S2MPS11_REG_L24CTRL, | ||
| 104 | S2MPS11_REG_L25CTRL, | ||
| 105 | S2MPS11_REG_L26CTRL, | ||
| 106 | S2MPS11_REG_L27CTRL, | ||
| 107 | S2MPS11_REG_L28CTRL, | ||
| 108 | S2MPS11_REG_L29CTRL, | ||
| 109 | S2MPS11_REG_L30CTRL, | ||
| 110 | S2MPS11_REG_L31CTRL, | ||
| 111 | S2MPS11_REG_L32CTRL, | ||
| 112 | S2MPS11_REG_L33CTRL, | ||
| 113 | S2MPS11_REG_L34CTRL, | ||
| 114 | S2MPS11_REG_L35CTRL, | ||
| 115 | S2MPS11_REG_L36CTRL, | ||
| 116 | S2MPS11_REG_L37CTRL, | ||
| 117 | S2MPS11_REG_L38CTRL, | ||
| 118 | }; | ||
| 119 | |||
| 120 | /* S2MPS11 regulator ids */ | ||
| 121 | enum s2mps11_regulators { | ||
| 122 | S2MPS11_LDO1, | ||
| 123 | S2MPS11_LDO2, | ||
| 124 | S2MPS11_LDO3, | ||
| 125 | S2MPS11_LDO4, | ||
| 126 | S2MPS11_LDO5, | ||
| 127 | S2MPS11_LDO6, | ||
| 128 | S2MPS11_LDO7, | ||
| 129 | S2MPS11_LDO8, | ||
| 130 | S2MPS11_LDO9, | ||
| 131 | S2MPS11_LDO10, | ||
| 132 | S2MPS11_LDO11, | ||
| 133 | S2MPS11_LDO12, | ||
| 134 | S2MPS11_LDO13, | ||
| 135 | S2MPS11_LDO14, | ||
| 136 | S2MPS11_LDO15, | ||
| 137 | S2MPS11_LDO16, | ||
| 138 | S2MPS11_LDO17, | ||
| 139 | S2MPS11_LDO18, | ||
| 140 | S2MPS11_LDO19, | ||
| 141 | S2MPS11_LDO20, | ||
| 142 | S2MPS11_LDO21, | ||
| 143 | S2MPS11_LDO22, | ||
| 144 | S2MPS11_LDO23, | ||
| 145 | S2MPS11_LDO24, | ||
| 146 | S2MPS11_LDO25, | ||
| 147 | S2MPS11_LDO26, | ||
| 148 | S2MPS11_LDO27, | ||
| 149 | S2MPS11_LDO28, | ||
| 150 | S2MPS11_LDO29, | ||
| 151 | S2MPS11_LDO30, | ||
| 152 | S2MPS11_LDO31, | ||
| 153 | S2MPS11_LDO32, | ||
| 154 | S2MPS11_LDO33, | ||
| 155 | S2MPS11_LDO34, | ||
| 156 | S2MPS11_LDO35, | ||
| 157 | S2MPS11_LDO36, | ||
| 158 | S2MPS11_LDO37, | ||
| 159 | S2MPS11_LDO38, | ||
| 160 | S2MPS11_BUCK1, | ||
| 161 | S2MPS11_BUCK2, | ||
| 162 | S2MPS11_BUCK3, | ||
| 163 | S2MPS11_BUCK4, | ||
| 164 | S2MPS11_BUCK5, | ||
| 165 | S2MPS11_BUCK6, | ||
| 166 | S2MPS11_BUCK7, | ||
| 167 | S2MPS11_BUCK8, | ||
| 168 | S2MPS11_BUCK9, | ||
| 169 | S2MPS11_BUCK10, | ||
| 170 | S2MPS11_AP_EN32KHZ, | ||
| 171 | S2MPS11_CP_EN32KHZ, | ||
| 172 | S2MPS11_BT_EN32KHZ, | ||
| 173 | |||
| 174 | S2MPS11_REG_MAX, | ||
| 175 | }; | ||
| 176 | |||
| 177 | #define S2MPS11_BUCK_MIN1 600000 | ||
| 178 | #define S2MPS11_BUCK_MIN2 750000 | ||
| 179 | #define S2MPS11_BUCK_MIN3 3000000 | ||
| 180 | #define S2MPS11_LDO_MIN 800000 | ||
| 181 | #define S2MPS11_BUCK_STEP1 6250 | ||
| 182 | #define S2MPS11_BUCK_STEP2 12500 | ||
| 183 | #define S2MPS11_BUCK_STEP3 25000 | ||
| 184 | #define S2MPS11_LDO_STEP1 50000 | ||
| 185 | #define S2MPS11_LDO_STEP2 25000 | ||
| 186 | #define S2MPS11_LDO_VSEL_MASK 0x3F | ||
| 187 | #define S2MPS11_BUCK_VSEL_MASK 0xFF | ||
| 188 | #define S2MPS11_ENABLE_MASK (0x03 << S2MPS11_ENABLE_SHIFT) | ||
| 189 | #define S2MPS11_ENABLE_SHIFT 0x06 | ||
| 190 | #define S2MPS11_LDO_N_VOLTAGES (S2MPS11_LDO_VSEL_MASK + 1) | ||
| 191 | #define S2MPS11_BUCK_N_VOLTAGES (S2MPS11_BUCK_VSEL_MASK + 1) | ||
| 192 | |||
| 193 | #define S2MPS11_PMIC_EN_SHIFT 6 | ||
| 194 | #define S2MPS11_REGULATOR_MAX (S2MPS11_REG_MAX - 3) | ||
| 195 | |||
| 196 | #endif /* __LINUX_MFD_S2MPS11_H */ | ||
diff --git a/include/linux/mfd/samsung/s5m8763.h b/include/linux/mfd/samsung/s5m8763.h deleted file mode 100644 index e025418e558..00000000000 --- a/include/linux/mfd/samsung/s5m8763.h +++ /dev/null | |||
| @@ -1,96 +0,0 @@ | |||
| 1 | /* s5m8763.h | ||
| 2 | * | ||
| 3 | * Copyright (c) 2011 Samsung Electronics Co., Ltd | ||
| 4 | * http://www.samsung.com | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify it | ||
| 7 | * under the terms of the GNU General Public License as published by the | ||
| 8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 9 | * option) any later version. | ||
| 10 | * | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __LINUX_MFD_S5M8763_H | ||
| 14 | #define __LINUX_MFD_S5M8763_H | ||
| 15 | |||
| 16 | /* S5M8763 registers */ | ||
| 17 | enum s5m8763_reg { | ||
| 18 | S5M8763_REG_IRQ1, | ||
| 19 | S5M8763_REG_IRQ2, | ||
| 20 | S5M8763_REG_IRQ3, | ||
| 21 | S5M8763_REG_IRQ4, | ||
| 22 | S5M8763_REG_IRQM1, | ||
| 23 | S5M8763_REG_IRQM2, | ||
| 24 | S5M8763_REG_IRQM3, | ||
| 25 | S5M8763_REG_IRQM4, | ||
| 26 | S5M8763_REG_STATUS1, | ||
| 27 | S5M8763_REG_STATUS2, | ||
| 28 | S5M8763_REG_STATUSM1, | ||
| 29 | S5M8763_REG_STATUSM2, | ||
| 30 | S5M8763_REG_CHGR1, | ||
| 31 | S5M8763_REG_CHGR2, | ||
| 32 | S5M8763_REG_LDO_ACTIVE_DISCHARGE1, | ||
| 33 | S5M8763_REG_LDO_ACTIVE_DISCHARGE2, | ||
| 34 | S5M8763_REG_BUCK_ACTIVE_DISCHARGE3, | ||
| 35 | S5M8763_REG_ONOFF1, | ||
| 36 | S5M8763_REG_ONOFF2, | ||
| 37 | S5M8763_REG_ONOFF3, | ||
| 38 | S5M8763_REG_ONOFF4, | ||
| 39 | S5M8763_REG_BUCK1_VOLTAGE1, | ||
| 40 | S5M8763_REG_BUCK1_VOLTAGE2, | ||
| 41 | S5M8763_REG_BUCK1_VOLTAGE3, | ||
| 42 | S5M8763_REG_BUCK1_VOLTAGE4, | ||
| 43 | S5M8763_REG_BUCK2_VOLTAGE1, | ||
| 44 | S5M8763_REG_BUCK2_VOLTAGE2, | ||
| 45 | S5M8763_REG_BUCK3, | ||
| 46 | S5M8763_REG_BUCK4, | ||
| 47 | S5M8763_REG_LDO1_LDO2, | ||
| 48 | S5M8763_REG_LDO3, | ||
| 49 | S5M8763_REG_LDO4, | ||
| 50 | S5M8763_REG_LDO5, | ||
| 51 | S5M8763_REG_LDO6, | ||
| 52 | S5M8763_REG_LDO7, | ||
| 53 | S5M8763_REG_LDO7_LDO8, | ||
| 54 | S5M8763_REG_LDO9_LDO10, | ||
| 55 | S5M8763_REG_LDO11, | ||
| 56 | S5M8763_REG_LDO12, | ||
| 57 | S5M8763_REG_LDO13, | ||
| 58 | S5M8763_REG_LDO14, | ||
| 59 | S5M8763_REG_LDO15, | ||
| 60 | S5M8763_REG_LDO16, | ||
| 61 | S5M8763_REG_BKCHR, | ||
| 62 | S5M8763_REG_LBCNFG1, | ||
| 63 | S5M8763_REG_LBCNFG2, | ||
| 64 | }; | ||
| 65 | |||
| 66 | /* S5M8763 regulator ids */ | ||
| 67 | enum s5m8763_regulators { | ||
| 68 | S5M8763_LDO1, | ||
| 69 | S5M8763_LDO2, | ||
| 70 | S5M8763_LDO3, | ||
| 71 | S5M8763_LDO4, | ||
| 72 | S5M8763_LDO5, | ||
| 73 | S5M8763_LDO6, | ||
| 74 | S5M8763_LDO7, | ||
| 75 | S5M8763_LDO8, | ||
| 76 | S5M8763_LDO9, | ||
| 77 | S5M8763_LDO10, | ||
| 78 | S5M8763_LDO11, | ||
| 79 | S5M8763_LDO12, | ||
| 80 | S5M8763_LDO13, | ||
| 81 | S5M8763_LDO14, | ||
| 82 | S5M8763_LDO15, | ||
| 83 | S5M8763_LDO16, | ||
| 84 | S5M8763_BUCK1, | ||
| 85 | S5M8763_BUCK2, | ||
| 86 | S5M8763_BUCK3, | ||
| 87 | S5M8763_BUCK4, | ||
| 88 | S5M8763_AP_EN32KHZ, | ||
| 89 | S5M8763_CP_EN32KHZ, | ||
| 90 | S5M8763_ENCHGVI, | ||
| 91 | S5M8763_ESAFEUSB1, | ||
| 92 | S5M8763_ESAFEUSB2, | ||
| 93 | }; | ||
| 94 | |||
| 95 | #define S5M8763_ENRAMP (1 << 4) | ||
| 96 | #endif /* __LINUX_MFD_S5M8763_H */ | ||
diff --git a/include/linux/mfd/samsung/s5m8767.h b/include/linux/mfd/samsung/s5m8767.h deleted file mode 100644 index 306a95fc558..00000000000 --- a/include/linux/mfd/samsung/s5m8767.h +++ /dev/null | |||
| @@ -1,188 +0,0 @@ | |||
| 1 | /* s5m8767.h | ||
| 2 | * | ||
| 3 | * Copyright (c) 2011 Samsung Electronics Co., Ltd | ||
| 4 | * http://www.samsung.com | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify it | ||
| 7 | * under the terms of the GNU General Public License as published by the | ||
| 8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 9 | * option) any later version. | ||
| 10 | * | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifndef __LINUX_MFD_S5M8767_H | ||
| 14 | #define __LINUX_MFD_S5M8767_H | ||
| 15 | |||
| 16 | /* S5M8767 registers */ | ||
| 17 | enum s5m8767_reg { | ||
| 18 | S5M8767_REG_ID, | ||
| 19 | S5M8767_REG_INT1, | ||
| 20 | S5M8767_REG_INT2, | ||
| 21 | S5M8767_REG_INT3, | ||
| 22 | S5M8767_REG_INT1M, | ||
| 23 | S5M8767_REG_INT2M, | ||
| 24 | S5M8767_REG_INT3M, | ||
| 25 | S5M8767_REG_STATUS1, | ||
| 26 | S5M8767_REG_STATUS2, | ||
| 27 | S5M8767_REG_STATUS3, | ||
| 28 | S5M8767_REG_CTRL1, | ||
| 29 | S5M8767_REG_CTRL2, | ||
| 30 | S5M8767_REG_LOWBAT1, | ||
| 31 | S5M8767_REG_LOWBAT2, | ||
| 32 | S5M8767_REG_BUCHG, | ||
| 33 | S5M8767_REG_DVSRAMP, | ||
| 34 | S5M8767_REG_DVSTIMER2 = 0x10, | ||
| 35 | S5M8767_REG_DVSTIMER3, | ||
| 36 | S5M8767_REG_DVSTIMER4, | ||
| 37 | S5M8767_REG_LDO1, | ||
| 38 | S5M8767_REG_LDO2, | ||
| 39 | S5M8767_REG_LDO3, | ||
| 40 | S5M8767_REG_LDO4, | ||
| 41 | S5M8767_REG_LDO5, | ||
| 42 | S5M8767_REG_LDO6, | ||
| 43 | S5M8767_REG_LDO7, | ||
| 44 | S5M8767_REG_LDO8, | ||
| 45 | S5M8767_REG_LDO9, | ||
| 46 | S5M8767_REG_LDO10, | ||
| 47 | S5M8767_REG_LDO11, | ||
| 48 | S5M8767_REG_LDO12, | ||
| 49 | S5M8767_REG_LDO13, | ||
| 50 | S5M8767_REG_LDO14 = 0x20, | ||
| 51 | S5M8767_REG_LDO15, | ||
| 52 | S5M8767_REG_LDO16, | ||
| 53 | S5M8767_REG_LDO17, | ||
| 54 | S5M8767_REG_LDO18, | ||
| 55 | S5M8767_REG_LDO19, | ||
| 56 | S5M8767_REG_LDO20, | ||
| 57 | S5M8767_REG_LDO21, | ||
| 58 | S5M8767_REG_LDO22, | ||
| 59 | S5M8767_REG_LDO23, | ||
| 60 | S5M8767_REG_LDO24, | ||
| 61 | S5M8767_REG_LDO25, | ||
| 62 | S5M8767_REG_LDO26, | ||
| 63 | S5M8767_REG_LDO27, | ||
| 64 | S5M8767_REG_LDO28, | ||
| 65 | S5M8767_REG_UVLO = 0x31, | ||
| 66 | S5M8767_REG_BUCK1CTRL1, | ||
| 67 | S5M8767_REG_BUCK1CTRL2, | ||
| 68 | S5M8767_REG_BUCK2CTRL, | ||
| 69 | S5M8767_REG_BUCK2DVS1, | ||
| 70 | S5M8767_REG_BUCK2DVS2, | ||
| 71 | S5M8767_REG_BUCK2DVS3, | ||
| 72 | S5M8767_REG_BUCK2DVS4, | ||
| 73 | S5M8767_REG_BUCK2DVS5, | ||
| 74 | S5M8767_REG_BUCK2DVS6, | ||
| 75 | S5M8767_REG_BUCK2DVS7, | ||
| 76 | S5M8767_REG_BUCK2DVS8, | ||
| 77 | S5M8767_REG_BUCK3CTRL, | ||
| 78 | S5M8767_REG_BUCK3DVS1, | ||
| 79 | S5M8767_REG_BUCK3DVS2, | ||
| 80 | S5M8767_REG_BUCK3DVS3, | ||
| 81 | S5M8767_REG_BUCK3DVS4, | ||
| 82 | S5M8767_REG_BUCK3DVS5, | ||
| 83 | S5M8767_REG_BUCK3DVS6, | ||
| 84 | S5M8767_REG_BUCK3DVS7, | ||
| 85 | S5M8767_REG_BUCK3DVS8, | ||
| 86 | S5M8767_REG_BUCK4CTRL, | ||
| 87 | S5M8767_REG_BUCK4DVS1, | ||
| 88 | S5M8767_REG_BUCK4DVS2, | ||
| 89 | S5M8767_REG_BUCK4DVS3, | ||
| 90 | S5M8767_REG_BUCK4DVS4, | ||
| 91 | S5M8767_REG_BUCK4DVS5, | ||
| 92 | S5M8767_REG_BUCK4DVS6, | ||
| 93 | S5M8767_REG_BUCK4DVS7, | ||
| 94 | S5M8767_REG_BUCK4DVS8, | ||
| 95 | S5M8767_REG_BUCK5CTRL1, | ||
| 96 | S5M8767_REG_BUCK5CTRL2, | ||
| 97 | S5M8767_REG_BUCK5CTRL3, | ||
| 98 | S5M8767_REG_BUCK5CTRL4, | ||
| 99 | S5M8767_REG_BUCK5CTRL5, | ||
| 100 | S5M8767_REG_BUCK6CTRL1, | ||
| 101 | S5M8767_REG_BUCK6CTRL2, | ||
| 102 | S5M8767_REG_BUCK7CTRL1, | ||
| 103 | S5M8767_REG_BUCK7CTRL2, | ||
| 104 | S5M8767_REG_BUCK8CTRL1, | ||
| 105 | S5M8767_REG_BUCK8CTRL2, | ||
| 106 | S5M8767_REG_BUCK9CTRL1, | ||
| 107 | S5M8767_REG_BUCK9CTRL2, | ||
| 108 | S5M8767_REG_LDO1CTRL, | ||
| 109 | S5M8767_REG_LDO2_1CTRL, | ||
| 110 | S5M8767_REG_LDO2_2CTRL, | ||
| 111 | S5M8767_REG_LDO2_3CTRL, | ||
| 112 | S5M8767_REG_LDO2_4CTRL, | ||
| 113 | S5M8767_REG_LDO3CTRL, | ||
| 114 | S5M8767_REG_LDO4CTRL, | ||
| 115 | S5M8767_REG_LDO5CTRL, | ||
| 116 | S5M8767_REG_LDO6CTRL, | ||
| 117 | S5M8767_REG_LDO7CTRL, | ||
| 118 | S5M8767_REG_LDO8CTRL, | ||
| 119 | S5M8767_REG_LDO9CTRL, | ||
| 120 | S5M8767_REG_LDO10CTRL, | ||
| 121 | S5M8767_REG_LDO11CTRL, | ||
| 122 | S5M8767_REG_LDO12CTRL, | ||
| 123 | S5M8767_REG_LDO13CTRL, | ||
| 124 | S5M8767_REG_LDO14CTRL, | ||
| 125 | S5M8767_REG_LDO15CTRL, | ||
| 126 | S5M8767_REG_LDO16CTRL, | ||
| 127 | S5M8767_REG_LDO17CTRL, | ||
| 128 | S5M8767_REG_LDO18CTRL, | ||
| 129 | S5M8767_REG_LDO19CTRL, | ||
| 130 | S5M8767_REG_LDO20CTRL, | ||
| 131 | S5M8767_REG_LDO21CTRL, | ||
| 132 | S5M8767_REG_LDO22CTRL, | ||
| 133 | S5M8767_REG_LDO23CTRL, | ||
| 134 | S5M8767_REG_LDO24CTRL, | ||
| 135 | S5M8767_REG_LDO25CTRL, | ||
| 136 | S5M8767_REG_LDO26CTRL, | ||
| 137 | S5M8767_REG_LDO27CTRL, | ||
| 138 | S5M8767_REG_LDO28CTRL, | ||
| 139 | }; | ||
| 140 | |||
| 141 | /* S5M8767 regulator ids */ | ||
| 142 | enum s5m8767_regulators { | ||
| 143 | S5M8767_LDO1, | ||
| 144 | S5M8767_LDO2, | ||
| 145 | S5M8767_LDO3, | ||
| 146 | S5M8767_LDO4, | ||
| 147 | S5M8767_LDO5, | ||
| 148 | S5M8767_LDO6, | ||
| 149 | S5M8767_LDO7, | ||
| 150 | S5M8767_LDO8, | ||
| 151 | S5M8767_LDO9, | ||
| 152 | S5M8767_LDO10, | ||
| 153 | S5M8767_LDO11, | ||
| 154 | S5M8767_LDO12, | ||
| 155 | S5M8767_LDO13, | ||
| 156 | S5M8767_LDO14, | ||
| 157 | S5M8767_LDO15, | ||
| 158 | S5M8767_LDO16, | ||
| 159 | S5M8767_LDO17, | ||
| 160 | S5M8767_LDO18, | ||
| 161 | S5M8767_LDO19, | ||
| 162 | S5M8767_LDO20, | ||
| 163 | S5M8767_LDO21, | ||
| 164 | S5M8767_LDO22, | ||
| 165 | S5M8767_LDO23, | ||
| 166 | S5M8767_LDO24, | ||
| 167 | S5M8767_LDO25, | ||
| 168 | S5M8767_LDO26, | ||
| 169 | S5M8767_LDO27, | ||
| 170 | S5M8767_LDO28, | ||
| 171 | S5M8767_BUCK1, | ||
| 172 | S5M8767_BUCK2, | ||
| 173 | S5M8767_BUCK3, | ||
| 174 | S5M8767_BUCK4, | ||
| 175 | S5M8767_BUCK5, | ||
| 176 | S5M8767_BUCK6, | ||
| 177 | S5M8767_BUCK7, | ||
| 178 | S5M8767_BUCK8, | ||
| 179 | S5M8767_BUCK9, | ||
| 180 | S5M8767_AP_EN32KHZ, | ||
| 181 | S5M8767_CP_EN32KHZ, | ||
| 182 | |||
| 183 | S5M8767_REG_MAX, | ||
| 184 | }; | ||
| 185 | |||
| 186 | #define S5M8767_ENCTRL_SHIFT 6 | ||
| 187 | |||
| 188 | #endif /* __LINUX_MFD_S5M8767_H */ | ||
diff --git a/include/linux/mfd/smsc.h b/include/linux/mfd/smsc.h deleted file mode 100644 index 9747b29f356..00000000000 --- a/include/linux/mfd/smsc.h +++ /dev/null | |||
| @@ -1,109 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * SMSC ECE1099 | ||
| 3 | * | ||
| 4 | * Copyright 2012 Texas Instruments Inc. | ||
| 5 | * | ||
| 6 | * Author: Sourav Poddar <sourav.poddar@ti.com> | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or modify it | ||
| 9 | * under the terms of the GNU General Public License as published by the | ||
| 10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 11 | * option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __LINUX_MFD_SMSC_H | ||
| 16 | #define __LINUX_MFD_SMSC_H | ||
| 17 | |||
| 18 | #include <linux/regmap.h> | ||
| 19 | |||
| 20 | #define SMSC_ID_ECE1099 1 | ||
| 21 | #define SMSC_NUM_CLIENTS 2 | ||
| 22 | |||
| 23 | #define SMSC_BASE_ADDR 0x38 | ||
| 24 | #define OMAP_GPIO_SMSC_IRQ 151 | ||
| 25 | |||
| 26 | #define SMSC_MAXGPIO 32 | ||
| 27 | #define SMSC_BANK(offs) ((offs) >> 3) | ||
| 28 | #define SMSC_BIT(offs) (1u << ((offs) & 0x7)) | ||
| 29 | |||
| 30 | struct smsc { | ||
| 31 | struct device *dev; | ||
| 32 | struct i2c_client *i2c_clients[SMSC_NUM_CLIENTS]; | ||
| 33 | struct regmap *regmap; | ||
| 34 | int clk; | ||
| 35 | /* Stored chip id */ | ||
| 36 | int id; | ||
| 37 | }; | ||
| 38 | |||
| 39 | struct smsc_gpio; | ||
| 40 | struct smsc_keypad; | ||
| 41 | |||
| 42 | static inline int smsc_read(struct device *child, unsigned int reg, | ||
| 43 | unsigned int *dest) | ||
| 44 | { | ||
| 45 | struct smsc *smsc = dev_get_drvdata(child->parent); | ||
| 46 | |||
| 47 | return regmap_read(smsc->regmap, reg, dest); | ||
| 48 | } | ||
| 49 | |||
| 50 | static inline int smsc_write(struct device *child, unsigned int reg, | ||
| 51 | unsigned int value) | ||
| 52 | { | ||
| 53 | struct smsc *smsc = dev_get_drvdata(child->parent); | ||
| 54 | |||
| 55 | return regmap_write(smsc->regmap, reg, value); | ||
| 56 | } | ||
| 57 | |||
| 58 | /* Registers for SMSC */ | ||
| 59 | #define SMSC_RESET 0xF5 | ||
| 60 | #define SMSC_GRP_INT 0xF9 | ||
| 61 | #define SMSC_CLK_CTRL 0xFA | ||
| 62 | #define SMSC_WKUP_CTRL 0xFB | ||
| 63 | #define SMSC_DEV_ID 0xFC | ||
| 64 | #define SMSC_DEV_REV 0xFD | ||
| 65 | #define SMSC_VEN_ID_L 0xFE | ||
| 66 | #define SMSC_VEN_ID_H 0xFF | ||
| 67 | |||
| 68 | /* CLK VALUE */ | ||
| 69 | #define SMSC_CLK_VALUE 0x13 | ||
| 70 | |||
| 71 | /* Registers for function GPIO INPUT */ | ||
| 72 | #define SMSC_GPIO_DATA_IN_START 0x00 | ||
| 73 | |||
| 74 | /* Registers for function GPIO OUPUT */ | ||
| 75 | #define SMSC_GPIO_DATA_OUT_START 0x05 | ||
| 76 | |||
| 77 | /* Definitions for SMSC GPIO CONFIGURATION REGISTER*/ | ||
| 78 | #define SMSC_GPIO_INPUT_LOW 0x01 | ||
| 79 | #define SMSC_GPIO_INPUT_RISING 0x09 | ||
| 80 | #define SMSC_GPIO_INPUT_FALLING 0x11 | ||
| 81 | #define SMSC_GPIO_INPUT_BOTH_EDGE 0x19 | ||
| 82 | #define SMSC_GPIO_OUTPUT_PP 0x21 | ||
| 83 | #define SMSC_GPIO_OUTPUT_OP 0x31 | ||
| 84 | |||
| 85 | #define GRP_INT_STAT 0xf9 | ||
| 86 | #define SMSC_GPI_INT 0x0f | ||
| 87 | #define SMSC_CFG_START 0x0A | ||
| 88 | |||
| 89 | /* Registers for SMSC GPIO INTERRUPT STATUS REGISTER*/ | ||
| 90 | #define SMSC_GPIO_INT_STAT_START 0x32 | ||
| 91 | |||
| 92 | /* Registers for SMSC GPIO INTERRUPT MASK REGISTER*/ | ||
| 93 | #define SMSC_GPIO_INT_MASK_START 0x37 | ||
| 94 | |||
| 95 | /* Registers for SMSC function KEYPAD*/ | ||
| 96 | #define SMSC_KP_OUT 0x40 | ||
| 97 | #define SMSC_KP_IN 0x41 | ||
| 98 | #define SMSC_KP_INT_STAT 0x42 | ||
| 99 | #define SMSC_KP_INT_MASK 0x43 | ||
| 100 | |||
| 101 | /* Definitions for keypad */ | ||
| 102 | #define SMSC_KP_KSO 0x70 | ||
| 103 | #define SMSC_KP_KSI 0x51 | ||
| 104 | #define SMSC_KSO_ALL_LOW 0x20 | ||
| 105 | #define SMSC_KP_SET_LOW_PWR 0x0B | ||
| 106 | #define SMSC_KP_SET_HIGH 0xFF | ||
| 107 | #define SMSC_KSO_EVAL 0x00 | ||
| 108 | |||
| 109 | #endif /* __LINUX_MFD_SMSC_H */ | ||
diff --git a/include/linux/mfd/sta2x11-mfd.h b/include/linux/mfd/sta2x11-mfd.h deleted file mode 100644 index 9a855ac11cb..00000000000 --- a/include/linux/mfd/sta2x11-mfd.h +++ /dev/null | |||
| @@ -1,518 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2009-2011 Wind River Systems, Inc. | ||
| 3 | * Copyright (c) 2011 ST Microelectronics (Alessandro Rubini) | ||
| 4 | * | ||
| 5 | * This program is free software; you can redistribute it and/or modify | ||
| 6 | * it under the terms of the GNU General Public License version 2 as | ||
| 7 | * published by the Free Software Foundation. | ||
| 8 | * | ||
| 9 | * This program is distributed in the hope that it will be useful, | ||
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
| 12 | * See the GNU General Public License for more details. | ||
| 13 | * | ||
| 14 | * You should have received a copy of the GNU General Public License | ||
| 15 | * along with this program; if not, write to the Free Software | ||
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 17 | * | ||
| 18 | * The STMicroelectronics ConneXt (STA2X11) chip has several unrelated | ||
| 19 | * functions in one PCI endpoint functions. This driver simply | ||
| 20 | * registers the platform devices in this iomemregion and exports a few | ||
| 21 | * functions to access common registers | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __STA2X11_MFD_H | ||
| 25 | #define __STA2X11_MFD_H | ||
| 26 | #include <linux/types.h> | ||
| 27 | #include <linux/pci.h> | ||
| 28 | |||
| 29 | enum sta2x11_mfd_plat_dev { | ||
| 30 | sta2x11_sctl = 0, | ||
| 31 | sta2x11_gpio, | ||
| 32 | sta2x11_scr, | ||
| 33 | sta2x11_time, | ||
| 34 | sta2x11_apbreg, | ||
| 35 | sta2x11_apb_soc_regs, | ||
| 36 | sta2x11_vic, | ||
| 37 | sta2x11_n_mfd_plat_devs, | ||
| 38 | }; | ||
| 39 | |||
| 40 | #define STA2X11_MFD_SCTL_NAME "sta2x11-sctl" | ||
| 41 | #define STA2X11_MFD_GPIO_NAME "sta2x11-gpio" | ||
| 42 | #define STA2X11_MFD_SCR_NAME "sta2x11-scr" | ||
| 43 | #define STA2X11_MFD_TIME_NAME "sta2x11-time" | ||
| 44 | #define STA2X11_MFD_APBREG_NAME "sta2x11-apbreg" | ||
| 45 | #define STA2X11_MFD_APB_SOC_REGS_NAME "sta2x11-apb-soc-regs" | ||
| 46 | #define STA2X11_MFD_VIC_NAME "sta2x11-vic" | ||
| 47 | |||
| 48 | extern u32 | ||
| 49 | __sta2x11_mfd_mask(struct pci_dev *, u32, u32, u32, enum sta2x11_mfd_plat_dev); | ||
| 50 | |||
| 51 | /* | ||
| 52 | * The MFD PCI block includes the GPIO peripherals and other register blocks. | ||
| 53 | * For GPIO, we have 32*4 bits (I use "gsta" for "gpio sta2x11".) | ||
| 54 | */ | ||
| 55 | #define GSTA_GPIO_PER_BLOCK 32 | ||
| 56 | #define GSTA_NR_BLOCKS 4 | ||
| 57 | #define GSTA_NR_GPIO (GSTA_GPIO_PER_BLOCK * GSTA_NR_BLOCKS) | ||
| 58 | |||
| 59 | /* Pinconfig is set by the board definition: altfunc, pull-up, pull-down */ | ||
| 60 | struct sta2x11_gpio_pdata { | ||
| 61 | unsigned pinconfig[GSTA_NR_GPIO]; | ||
| 62 | }; | ||
| 63 | |||
| 64 | /* Macros below lifted from sh_pfc.h, with minor differences */ | ||
| 65 | #define PINMUX_TYPE_NONE 0 | ||
| 66 | #define PINMUX_TYPE_FUNCTION 1 | ||
| 67 | #define PINMUX_TYPE_OUTPUT_LOW 2 | ||
| 68 | #define PINMUX_TYPE_OUTPUT_HIGH 3 | ||
| 69 | #define PINMUX_TYPE_INPUT 4 | ||
| 70 | #define PINMUX_TYPE_INPUT_PULLUP 5 | ||
| 71 | #define PINMUX_TYPE_INPUT_PULLDOWN 6 | ||
| 72 | |||
| 73 | /* Give names to GPIO pins, like PXA does, taken from the manual */ | ||
| 74 | #define STA2X11_GPIO0 0 | ||
| 75 | #define STA2X11_GPIO1 1 | ||
| 76 | #define STA2X11_GPIO2 2 | ||
| 77 | #define STA2X11_GPIO3 3 | ||
| 78 | #define STA2X11_GPIO4 4 | ||
| 79 | #define STA2X11_GPIO5 5 | ||
| 80 | #define STA2X11_GPIO6 6 | ||
| 81 | #define STA2X11_GPIO7 7 | ||
| 82 | #define STA2X11_GPIO8_RGBOUT_RED7 8 | ||
| 83 | #define STA2X11_GPIO9_RGBOUT_RED6 9 | ||
| 84 | #define STA2X11_GPIO10_RGBOUT_RED5 10 | ||
| 85 | #define STA2X11_GPIO11_RGBOUT_RED4 11 | ||
| 86 | #define STA2X11_GPIO12_RGBOUT_RED3 12 | ||
| 87 | #define STA2X11_GPIO13_RGBOUT_RED2 13 | ||
| 88 | #define STA2X11_GPIO14_RGBOUT_RED1 14 | ||
| 89 | #define STA2X11_GPIO15_RGBOUT_RED0 15 | ||
| 90 | #define STA2X11_GPIO16_RGBOUT_GREEN7 16 | ||
| 91 | #define STA2X11_GPIO17_RGBOUT_GREEN6 17 | ||
| 92 | #define STA2X11_GPIO18_RGBOUT_GREEN5 18 | ||
| 93 | #define STA2X11_GPIO19_RGBOUT_GREEN4 19 | ||
| 94 | #define STA2X11_GPIO20_RGBOUT_GREEN3 20 | ||
| 95 | #define STA2X11_GPIO21_RGBOUT_GREEN2 21 | ||
| 96 | #define STA2X11_GPIO22_RGBOUT_GREEN1 22 | ||
| 97 | #define STA2X11_GPIO23_RGBOUT_GREEN0 23 | ||
| 98 | #define STA2X11_GPIO24_RGBOUT_BLUE7 24 | ||
| 99 | #define STA2X11_GPIO25_RGBOUT_BLUE6 25 | ||
| 100 | #define STA2X11_GPIO26_RGBOUT_BLUE5 26 | ||
| 101 | #define STA2X11_GPIO27_RGBOUT_BLUE4 27 | ||
| 102 | #define STA2X11_GPIO28_RGBOUT_BLUE3 28 | ||
| 103 | #define STA2X11_GPIO29_RGBOUT_BLUE2 29 | ||
| 104 | #define STA2X11_GPIO30_RGBOUT_BLUE1 30 | ||
| 105 | #define STA2X11_GPIO31_RGBOUT_BLUE0 31 | ||
| 106 | #define STA2X11_GPIO32_RGBOUT_VSYNCH 32 | ||
| 107 | #define STA2X11_GPIO33_RGBOUT_HSYNCH 33 | ||
| 108 | #define STA2X11_GPIO34_RGBOUT_DEN 34 | ||
| 109 | #define STA2X11_GPIO35_ETH_CRS_DV 35 | ||
| 110 | #define STA2X11_GPIO36_ETH_TXD1 36 | ||
| 111 | #define STA2X11_GPIO37_ETH_TXD0 37 | ||
| 112 | #define STA2X11_GPIO38_ETH_TX_EN 38 | ||
| 113 | #define STA2X11_GPIO39_MDIO 39 | ||
| 114 | #define STA2X11_GPIO40_ETH_REF_CLK 40 | ||
| 115 | #define STA2X11_GPIO41_ETH_RXD1 41 | ||
| 116 | #define STA2X11_GPIO42_ETH_RXD0 42 | ||
| 117 | #define STA2X11_GPIO43_MDC 43 | ||
| 118 | #define STA2X11_GPIO44_CAN_TX 44 | ||
| 119 | #define STA2X11_GPIO45_CAN_RX 45 | ||
| 120 | #define STA2X11_GPIO46_MLB_DAT 46 | ||
| 121 | #define STA2X11_GPIO47_MLB_SIG 47 | ||
| 122 | #define STA2X11_GPIO48_SPI0_CLK 48 | ||
| 123 | #define STA2X11_GPIO49_SPI0_TXD 49 | ||
| 124 | #define STA2X11_GPIO50_SPI0_RXD 50 | ||
| 125 | #define STA2X11_GPIO51_SPI0_FRM 51 | ||
| 126 | #define STA2X11_GPIO52_SPI1_CLK 52 | ||
| 127 | #define STA2X11_GPIO53_SPI1_TXD 53 | ||
| 128 | #define STA2X11_GPIO54_SPI1_RXD 54 | ||
| 129 | #define STA2X11_GPIO55_SPI1_FRM 55 | ||
| 130 | #define STA2X11_GPIO56_SPI2_CLK 56 | ||
| 131 | #define STA2X11_GPIO57_SPI2_TXD 57 | ||
| 132 | #define STA2X11_GPIO58_SPI2_RXD 58 | ||
| 133 | #define STA2X11_GPIO59_SPI2_FRM 59 | ||
| 134 | #define STA2X11_GPIO60_I2C0_SCL 60 | ||
| 135 | #define STA2X11_GPIO61_I2C0_SDA 61 | ||
| 136 | #define STA2X11_GPIO62_I2C1_SCL 62 | ||
| 137 | #define STA2X11_GPIO63_I2C1_SDA 63 | ||
| 138 | #define STA2X11_GPIO64_I2C2_SCL 64 | ||
| 139 | #define STA2X11_GPIO65_I2C2_SDA 65 | ||
| 140 | #define STA2X11_GPIO66_I2C3_SCL 66 | ||
| 141 | #define STA2X11_GPIO67_I2C3_SDA 67 | ||
| 142 | #define STA2X11_GPIO68_MSP0_RCK 68 | ||
| 143 | #define STA2X11_GPIO69_MSP0_RXD 69 | ||
| 144 | #define STA2X11_GPIO70_MSP0_RFS 70 | ||
| 145 | #define STA2X11_GPIO71_MSP0_TCK 71 | ||
| 146 | #define STA2X11_GPIO72_MSP0_TXD 72 | ||
| 147 | #define STA2X11_GPIO73_MSP0_TFS 73 | ||
| 148 | #define STA2X11_GPIO74_MSP0_SCK 74 | ||
| 149 | #define STA2X11_GPIO75_MSP1_CK 75 | ||
| 150 | #define STA2X11_GPIO76_MSP1_RXD 76 | ||
| 151 | #define STA2X11_GPIO77_MSP1_FS 77 | ||
| 152 | #define STA2X11_GPIO78_MSP1_TXD 78 | ||
| 153 | #define STA2X11_GPIO79_MSP2_CK 79 | ||
| 154 | #define STA2X11_GPIO80_MSP2_RXD 80 | ||
| 155 | #define STA2X11_GPIO81_MSP2_FS 81 | ||
| 156 | #define STA2X11_GPIO82_MSP2_TXD 82 | ||
| 157 | #define STA2X11_GPIO83_MSP3_CK 83 | ||
| 158 | #define STA2X11_GPIO84_MSP3_RXD 84 | ||
| 159 | #define STA2X11_GPIO85_MSP3_FS 85 | ||
| 160 | #define STA2X11_GPIO86_MSP3_TXD 86 | ||
| 161 | #define STA2X11_GPIO87_MSP4_CK 87 | ||
| 162 | #define STA2X11_GPIO88_MSP4_RXD 88 | ||
| 163 | #define STA2X11_GPIO89_MSP4_FS 89 | ||
| 164 | #define STA2X11_GPIO90_MSP4_TXD 90 | ||
| 165 | #define STA2X11_GPIO91_MSP5_CK 91 | ||
| 166 | #define STA2X11_GPIO92_MSP5_RXD 92 | ||
| 167 | #define STA2X11_GPIO93_MSP5_FS 93 | ||
| 168 | #define STA2X11_GPIO94_MSP5_TXD 94 | ||
| 169 | #define STA2X11_GPIO95_SDIO3_DAT3 95 | ||
| 170 | #define STA2X11_GPIO96_SDIO3_DAT2 96 | ||
| 171 | #define STA2X11_GPIO97_SDIO3_DAT1 97 | ||
| 172 | #define STA2X11_GPIO98_SDIO3_DAT0 98 | ||
| 173 | #define STA2X11_GPIO99_SDIO3_CLK 99 | ||
| 174 | #define STA2X11_GPIO100_SDIO3_CMD 100 | ||
| 175 | #define STA2X11_GPIO101 101 | ||
| 176 | #define STA2X11_GPIO102 102 | ||
| 177 | #define STA2X11_GPIO103 103 | ||
| 178 | #define STA2X11_GPIO104 104 | ||
| 179 | #define STA2X11_GPIO105_SDIO2_DAT3 105 | ||
| 180 | #define STA2X11_GPIO106_SDIO2_DAT2 106 | ||
| 181 | #define STA2X11_GPIO107_SDIO2_DAT1 107 | ||
| 182 | #define STA2X11_GPIO108_SDIO2_DAT0 108 | ||
| 183 | #define STA2X11_GPIO109_SDIO2_CLK 109 | ||
| 184 | #define STA2X11_GPIO110_SDIO2_CMD 110 | ||
| 185 | #define STA2X11_GPIO111 111 | ||
| 186 | #define STA2X11_GPIO112 112 | ||
| 187 | #define STA2X11_GPIO113 113 | ||
| 188 | #define STA2X11_GPIO114 114 | ||
| 189 | #define STA2X11_GPIO115_SDIO1_DAT3 115 | ||
| 190 | #define STA2X11_GPIO116_SDIO1_DAT2 116 | ||
| 191 | #define STA2X11_GPIO117_SDIO1_DAT1 117 | ||
| 192 | #define STA2X11_GPIO118_SDIO1_DAT0 118 | ||
| 193 | #define STA2X11_GPIO119_SDIO1_CLK 119 | ||
| 194 | #define STA2X11_GPIO120_SDIO1_CMD 120 | ||
| 195 | #define STA2X11_GPIO121 121 | ||
| 196 | #define STA2X11_GPIO122 122 | ||
| 197 | #define STA2X11_GPIO123 123 | ||
| 198 | #define STA2X11_GPIO124 124 | ||
| 199 | #define STA2X11_GPIO125_UART2_TXD 125 | ||
| 200 | #define STA2X11_GPIO126_UART2_RXD 126 | ||
| 201 | #define STA2X11_GPIO127_UART3_TXD 127 | ||
| 202 | |||
| 203 | /* | ||
| 204 | * The APB bridge has its own registers, needed by our users as well. | ||
| 205 | * They are accessed with the following read/mask/write function. | ||
| 206 | */ | ||
| 207 | static inline u32 | ||
| 208 | sta2x11_apbreg_mask(struct pci_dev *pdev, u32 reg, u32 mask, u32 val) | ||
| 209 | { | ||
| 210 | return __sta2x11_mfd_mask(pdev, reg, mask, val, sta2x11_apbreg); | ||
| 211 | } | ||
| 212 | |||
| 213 | /* CAN and MLB */ | ||
| 214 | #define APBREG_BSR 0x00 /* Bridge Status Reg */ | ||
| 215 | #define APBREG_PAER 0x08 /* Peripherals Address Error Reg */ | ||
| 216 | #define APBREG_PWAC 0x20 /* Peripheral Write Access Control reg */ | ||
| 217 | #define APBREG_PRAC 0x40 /* Peripheral Read Access Control reg */ | ||
| 218 | #define APBREG_PCG 0x60 /* Peripheral Clock Gating Reg */ | ||
| 219 | #define APBREG_PUR 0x80 /* Peripheral Under Reset Reg */ | ||
| 220 | #define APBREG_EMU_PCG 0xA0 /* Emulator Peripheral Clock Gating Reg */ | ||
| 221 | |||
| 222 | #define APBREG_CAN (1 << 1) | ||
| 223 | #define APBREG_MLB (1 << 3) | ||
| 224 | |||
| 225 | /* SARAC */ | ||
| 226 | #define APBREG_BSR_SARAC 0x100 /* Bridge Status Reg */ | ||
| 227 | #define APBREG_PAER_SARAC 0x108 /* Peripherals Address Error Reg */ | ||
| 228 | #define APBREG_PWAC_SARAC 0x120 /* Peripheral Write Access Control reg */ | ||
| 229 | #define APBREG_PRAC_SARAC 0x140 /* Peripheral Read Access Control reg */ | ||
| 230 | #define APBREG_PCG_SARAC 0x160 /* Peripheral Clock Gating Reg */ | ||
| 231 | #define APBREG_PUR_SARAC 0x180 /* Peripheral Under Reset Reg */ | ||
| 232 | #define APBREG_EMU_PCG_SARAC 0x1A0 /* Emulator Peripheral Clock Gating Reg */ | ||
| 233 | |||
| 234 | #define APBREG_SARAC (1 << 2) | ||
| 235 | |||
| 236 | /* | ||
| 237 | * The system controller has its own registers. Some of these are accessed | ||
| 238 | * by out users as well, using the following read/mask/write/function | ||
| 239 | */ | ||
| 240 | static inline | ||
| 241 | u32 sta2x11_sctl_mask(struct pci_dev *pdev, u32 reg, u32 mask, u32 val) | ||
| 242 | { | ||
| 243 | return __sta2x11_mfd_mask(pdev, reg, mask, val, sta2x11_sctl); | ||
| 244 | } | ||
| 245 | |||
| 246 | #define SCTL_SCCTL 0x00 /* System controller control register */ | ||
| 247 | #define SCTL_ARMCFG 0x04 /* ARM configuration register */ | ||
| 248 | #define SCTL_SCPLLCTL 0x08 /* PLL control status register */ | ||
| 249 | |||
| 250 | #define SCTL_SCPLLCTL_AUDIO_PLL_PD BIT(1) | ||
| 251 | #define SCTL_SCPLLCTL_FRAC_CONTROL BIT(3) | ||
| 252 | #define SCTL_SCPLLCTL_STRB_BYPASS BIT(6) | ||
| 253 | #define SCTL_SCPLLCTL_STRB_INPUT BIT(8) | ||
| 254 | |||
| 255 | #define SCTL_SCPLLFCTRL 0x0c /* PLL frequency control register */ | ||
| 256 | |||
| 257 | #define SCTL_SCPLLFCTRL_AUDIO_PLL_NDIV_MASK 0xff | ||
| 258 | #define SCTL_SCPLLFCTRL_AUDIO_PLL_NDIV_SHIFT 10 | ||
| 259 | #define SCTL_SCPLLFCTRL_AUDIO_PLL_IDF_MASK 7 | ||
| 260 | #define SCTL_SCPLLFCTRL_AUDIO_PLL_IDF_SHIFT 21 | ||
| 261 | #define SCTL_SCPLLFCTRL_AUDIO_PLL_ODF_MASK 7 | ||
| 262 | #define SCTL_SCPLLFCTRL_AUDIO_PLL_ODF_SHIFT 18 | ||
| 263 | #define SCTL_SCPLLFCTRL_DITHER_DISABLE_MASK 0x03 | ||
| 264 | #define SCTL_SCPLLFCTRL_DITHER_DISABLE_SHIFT 4 | ||
| 265 | |||
| 266 | |||
| 267 | #define SCTL_SCRESFRACT 0x10 /* PLL fractional input register */ | ||
| 268 | |||
| 269 | #define SCTL_SCRESFRACT_MASK 0x0000ffff | ||
| 270 | |||
| 271 | |||
| 272 | #define SCTL_SCRESCTRL1 0x14 /* Peripheral reset control 1 */ | ||
| 273 | #define SCTL_SCRESXTRL2 0x18 /* Peripheral reset control 2 */ | ||
| 274 | #define SCTL_SCPEREN0 0x1c /* Peripheral clock enable register 0 */ | ||
| 275 | #define SCTL_SCPEREN1 0x20 /* Peripheral clock enable register 1 */ | ||
| 276 | #define SCTL_SCPEREN2 0x24 /* Peripheral clock enable register 2 */ | ||
| 277 | #define SCTL_SCGRST 0x28 /* Peripheral global reset */ | ||
| 278 | #define SCTL_SCPCIECSBRST 0x2c /* PCIe PAB CSB reset status register */ | ||
| 279 | #define SCTL_SCPCIPMCR1 0x30 /* PCI power management control 1 */ | ||
| 280 | #define SCTL_SCPCIPMCR2 0x34 /* PCI power management control 2 */ | ||
| 281 | #define SCTL_SCPCIPMSR1 0x38 /* PCI power management status 1 */ | ||
| 282 | #define SCTL_SCPCIPMSR2 0x3c /* PCI power management status 2 */ | ||
| 283 | #define SCTL_SCPCIPMSR3 0x40 /* PCI power management status 3 */ | ||
| 284 | #define SCTL_SCINTREN 0x44 /* Interrupt enable */ | ||
| 285 | #define SCTL_SCRISR 0x48 /* RAW interrupt status */ | ||
| 286 | #define SCTL_SCCLKSTAT0 0x4c /* Peripheral clocks status 0 */ | ||
| 287 | #define SCTL_SCCLKSTAT1 0x50 /* Peripheral clocks status 1 */ | ||
| 288 | #define SCTL_SCCLKSTAT2 0x54 /* Peripheral clocks status 2 */ | ||
| 289 | #define SCTL_SCRSTSTA 0x58 /* Reset status register */ | ||
| 290 | |||
| 291 | #define SCTL_SCRESCTRL1_USB_PHY_POR (1 << 0) | ||
| 292 | #define SCTL_SCRESCTRL1_USB_OTG (1 << 1) | ||
| 293 | #define SCTL_SCRESCTRL1_USB_HRST (1 << 2) | ||
| 294 | #define SCTL_SCRESCTRL1_USB_PHY_HOST (1 << 3) | ||
| 295 | #define SCTL_SCRESCTRL1_SATAII (1 << 4) | ||
| 296 | #define SCTL_SCRESCTRL1_VIP (1 << 5) | ||
| 297 | #define SCTL_SCRESCTRL1_PER_MMC0 (1 << 6) | ||
| 298 | #define SCTL_SCRESCTRL1_PER_MMC1 (1 << 7) | ||
| 299 | #define SCTL_SCRESCTRL1_PER_GPIO0 (1 << 8) | ||
| 300 | #define SCTL_SCRESCTRL1_PER_GPIO1 (1 << 9) | ||
| 301 | #define SCTL_SCRESCTRL1_PER_GPIO2 (1 << 10) | ||
| 302 | #define SCTL_SCRESCTRL1_PER_GPIO3 (1 << 11) | ||
| 303 | #define SCTL_SCRESCTRL1_PER_MTU0 (1 << 12) | ||
| 304 | #define SCTL_SCRESCTRL1_KER_SPI0 (1 << 13) | ||
| 305 | #define SCTL_SCRESCTRL1_KER_SPI1 (1 << 14) | ||
| 306 | #define SCTL_SCRESCTRL1_KER_SPI2 (1 << 15) | ||
| 307 | #define SCTL_SCRESCTRL1_KER_MCI0 (1 << 16) | ||
| 308 | #define SCTL_SCRESCTRL1_KER_MCI1 (1 << 17) | ||
| 309 | #define SCTL_SCRESCTRL1_PRE_HSI2C0 (1 << 18) | ||
| 310 | #define SCTL_SCRESCTRL1_PER_HSI2C1 (1 << 19) | ||
| 311 | #define SCTL_SCRESCTRL1_PER_HSI2C2 (1 << 20) | ||
| 312 | #define SCTL_SCRESCTRL1_PER_HSI2C3 (1 << 21) | ||
| 313 | #define SCTL_SCRESCTRL1_PER_MSP0 (1 << 22) | ||
| 314 | #define SCTL_SCRESCTRL1_PER_MSP1 (1 << 23) | ||
| 315 | #define SCTL_SCRESCTRL1_PER_MSP2 (1 << 24) | ||
| 316 | #define SCTL_SCRESCTRL1_PER_MSP3 (1 << 25) | ||
| 317 | #define SCTL_SCRESCTRL1_PER_MSP4 (1 << 26) | ||
| 318 | #define SCTL_SCRESCTRL1_PER_MSP5 (1 << 27) | ||
| 319 | #define SCTL_SCRESCTRL1_PER_MMC (1 << 28) | ||
| 320 | #define SCTL_SCRESCTRL1_KER_MSP0 (1 << 29) | ||
| 321 | #define SCTL_SCRESCTRL1_KER_MSP1 (1 << 30) | ||
| 322 | #define SCTL_SCRESCTRL1_KER_MSP2 (1 << 31) | ||
| 323 | |||
| 324 | #define SCTL_SCPEREN0_UART0 (1 << 0) | ||
| 325 | #define SCTL_SCPEREN0_UART1 (1 << 1) | ||
| 326 | #define SCTL_SCPEREN0_UART2 (1 << 2) | ||
| 327 | #define SCTL_SCPEREN0_UART3 (1 << 3) | ||
| 328 | #define SCTL_SCPEREN0_MSP0 (1 << 4) | ||
| 329 | #define SCTL_SCPEREN0_MSP1 (1 << 5) | ||
| 330 | #define SCTL_SCPEREN0_MSP2 (1 << 6) | ||
| 331 | #define SCTL_SCPEREN0_MSP3 (1 << 7) | ||
| 332 | #define SCTL_SCPEREN0_MSP4 (1 << 8) | ||
| 333 | #define SCTL_SCPEREN0_MSP5 (1 << 9) | ||
| 334 | #define SCTL_SCPEREN0_SPI0 (1 << 10) | ||
| 335 | #define SCTL_SCPEREN0_SPI1 (1 << 11) | ||
| 336 | #define SCTL_SCPEREN0_SPI2 (1 << 12) | ||
| 337 | #define SCTL_SCPEREN0_I2C0 (1 << 13) | ||
| 338 | #define SCTL_SCPEREN0_I2C1 (1 << 14) | ||
| 339 | #define SCTL_SCPEREN0_I2C2 (1 << 15) | ||
| 340 | #define SCTL_SCPEREN0_I2C3 (1 << 16) | ||
| 341 | #define SCTL_SCPEREN0_SVDO_LVDS (1 << 17) | ||
| 342 | #define SCTL_SCPEREN0_USB_HOST (1 << 18) | ||
| 343 | #define SCTL_SCPEREN0_USB_OTG (1 << 19) | ||
| 344 | #define SCTL_SCPEREN0_MCI0 (1 << 20) | ||
| 345 | #define SCTL_SCPEREN0_MCI1 (1 << 21) | ||
| 346 | #define SCTL_SCPEREN0_MCI2 (1 << 22) | ||
| 347 | #define SCTL_SCPEREN0_MCI3 (1 << 23) | ||
| 348 | #define SCTL_SCPEREN0_SATA (1 << 24) | ||
| 349 | #define SCTL_SCPEREN0_ETHERNET (1 << 25) | ||
| 350 | #define SCTL_SCPEREN0_VIC (1 << 26) | ||
| 351 | #define SCTL_SCPEREN0_DMA_AUDIO (1 << 27) | ||
| 352 | #define SCTL_SCPEREN0_DMA_SOC (1 << 28) | ||
| 353 | #define SCTL_SCPEREN0_RAM (1 << 29) | ||
| 354 | #define SCTL_SCPEREN0_VIP (1 << 30) | ||
| 355 | #define SCTL_SCPEREN0_ARM (1 << 31) | ||
| 356 | |||
| 357 | #define SCTL_SCPEREN1_UART0 (1 << 0) | ||
| 358 | #define SCTL_SCPEREN1_UART1 (1 << 1) | ||
| 359 | #define SCTL_SCPEREN1_UART2 (1 << 2) | ||
| 360 | #define SCTL_SCPEREN1_UART3 (1 << 3) | ||
| 361 | #define SCTL_SCPEREN1_MSP0 (1 << 4) | ||
| 362 | #define SCTL_SCPEREN1_MSP1 (1 << 5) | ||
| 363 | #define SCTL_SCPEREN1_MSP2 (1 << 6) | ||
| 364 | #define SCTL_SCPEREN1_MSP3 (1 << 7) | ||
| 365 | #define SCTL_SCPEREN1_MSP4 (1 << 8) | ||
| 366 | #define SCTL_SCPEREN1_MSP5 (1 << 9) | ||
| 367 | #define SCTL_SCPEREN1_SPI0 (1 << 10) | ||
| 368 | #define SCTL_SCPEREN1_SPI1 (1 << 11) | ||
| 369 | #define SCTL_SCPEREN1_SPI2 (1 << 12) | ||
| 370 | #define SCTL_SCPEREN1_I2C0 (1 << 13) | ||
| 371 | #define SCTL_SCPEREN1_I2C1 (1 << 14) | ||
| 372 | #define SCTL_SCPEREN1_I2C2 (1 << 15) | ||
| 373 | #define SCTL_SCPEREN1_I2C3 (1 << 16) | ||
| 374 | #define SCTL_SCPEREN1_USB_PHY (1 << 17) | ||
| 375 | |||
| 376 | /* | ||
| 377 | * APB-SOC registers | ||
| 378 | */ | ||
| 379 | static inline | ||
| 380 | u32 sta2x11_apb_soc_regs_mask(struct pci_dev *pdev, u32 reg, u32 mask, u32 val) | ||
| 381 | { | ||
| 382 | return __sta2x11_mfd_mask(pdev, reg, mask, val, sta2x11_apb_soc_regs); | ||
| 383 | } | ||
| 384 | |||
| 385 | #define PCIE_EP1_FUNC3_0_INTR_REG 0x000 | ||
| 386 | #define PCIE_EP1_FUNC7_4_INTR_REG 0x004 | ||
| 387 | #define PCIE_EP2_FUNC3_0_INTR_REG 0x008 | ||
| 388 | #define PCIE_EP2_FUNC7_4_INTR_REG 0x00c | ||
| 389 | #define PCIE_EP3_FUNC3_0_INTR_REG 0x010 | ||
| 390 | #define PCIE_EP3_FUNC7_4_INTR_REG 0x014 | ||
| 391 | #define PCIE_EP4_FUNC3_0_INTR_REG 0x018 | ||
| 392 | #define PCIE_EP4_FUNC7_4_INTR_REG 0x01c | ||
| 393 | #define PCIE_INTR_ENABLE0_REG 0x020 | ||
| 394 | #define PCIE_INTR_ENABLE1_REG 0x024 | ||
| 395 | #define PCIE_EP1_FUNC_TC_REG 0x028 | ||
| 396 | #define PCIE_EP2_FUNC_TC_REG 0x02c | ||
| 397 | #define PCIE_EP3_FUNC_TC_REG 0x030 | ||
| 398 | #define PCIE_EP4_FUNC_TC_REG 0x034 | ||
| 399 | #define PCIE_EP1_FUNC_F_REG 0x038 | ||
| 400 | #define PCIE_EP2_FUNC_F_REG 0x03c | ||
| 401 | #define PCIE_EP3_FUNC_F_REG 0x040 | ||
| 402 | #define PCIE_EP4_FUNC_F_REG 0x044 | ||
| 403 | #define PCIE_PAB_AMBA_SW_RST_REG 0x048 | ||
| 404 | #define PCIE_PM_STATUS_0_PORT_0_4 0x04c | ||
| 405 | #define PCIE_PM_STATUS_7_0_EP1 0x050 | ||
| 406 | #define PCIE_PM_STATUS_7_0_EP2 0x054 | ||
| 407 | #define PCIE_PM_STATUS_7_0_EP3 0x058 | ||
| 408 | #define PCIE_PM_STATUS_7_0_EP4 0x05c | ||
| 409 | #define PCIE_DEV_ID_0_EP1_REG 0x060 | ||
| 410 | #define PCIE_CC_REV_ID_0_EP1_REG 0x064 | ||
| 411 | #define PCIE_DEV_ID_1_EP1_REG 0x068 | ||
| 412 | #define PCIE_CC_REV_ID_1_EP1_REG 0x06c | ||
| 413 | #define PCIE_DEV_ID_2_EP1_REG 0x070 | ||
| 414 | #define PCIE_CC_REV_ID_2_EP1_REG 0x074 | ||
| 415 | #define PCIE_DEV_ID_3_EP1_REG 0x078 | ||
| 416 | #define PCIE_CC_REV_ID_3_EP1_REG 0x07c | ||
| 417 | #define PCIE_DEV_ID_4_EP1_REG 0x080 | ||
| 418 | #define PCIE_CC_REV_ID_4_EP1_REG 0x084 | ||
| 419 | #define PCIE_DEV_ID_5_EP1_REG 0x088 | ||
| 420 | #define PCIE_CC_REV_ID_5_EP1_REG 0x08c | ||
| 421 | #define PCIE_DEV_ID_6_EP1_REG 0x090 | ||
| 422 | #define PCIE_CC_REV_ID_6_EP1_REG 0x094 | ||
| 423 | #define PCIE_DEV_ID_7_EP1_REG 0x098 | ||
| 424 | #define PCIE_CC_REV_ID_7_EP1_REG 0x09c | ||
| 425 | #define PCIE_DEV_ID_0_EP2_REG 0x0a0 | ||
| 426 | #define PCIE_CC_REV_ID_0_EP2_REG 0x0a4 | ||
| 427 | #define PCIE_DEV_ID_1_EP2_REG 0x0a8 | ||
| 428 | #define PCIE_CC_REV_ID_1_EP2_REG 0x0ac | ||
| 429 | #define PCIE_DEV_ID_2_EP2_REG 0x0b0 | ||
| 430 | #define PCIE_CC_REV_ID_2_EP2_REG 0x0b4 | ||
| 431 | #define PCIE_DEV_ID_3_EP2_REG 0x0b8 | ||
| 432 | #define PCIE_CC_REV_ID_3_EP2_REG 0x0bc | ||
| 433 | #define PCIE_DEV_ID_4_EP2_REG 0x0c0 | ||
| 434 | #define PCIE_CC_REV_ID_4_EP2_REG 0x0c4 | ||
| 435 | #define PCIE_DEV_ID_5_EP2_REG 0x0c8 | ||
| 436 | #define PCIE_CC_REV_ID_5_EP2_REG 0x0cc | ||
| 437 | #define PCIE_DEV_ID_6_EP2_REG 0x0d0 | ||
| 438 | #define PCIE_CC_REV_ID_6_EP2_REG 0x0d4 | ||
| 439 | #define PCIE_DEV_ID_7_EP2_REG 0x0d8 | ||
| 440 | #define PCIE_CC_REV_ID_7_EP2_REG 0x0dC | ||
| 441 | #define PCIE_DEV_ID_0_EP3_REG 0x0e0 | ||
| 442 | #define PCIE_CC_REV_ID_0_EP3_REG 0x0e4 | ||
| 443 | #define PCIE_DEV_ID_1_EP3_REG 0x0e8 | ||
| 444 | #define PCIE_CC_REV_ID_1_EP3_REG 0x0ec | ||
| 445 | #define PCIE_DEV_ID_2_EP3_REG 0x0f0 | ||
| 446 | #define PCIE_CC_REV_ID_2_EP3_REG 0x0f4 | ||
| 447 | #define PCIE_DEV_ID_3_EP3_REG 0x0f8 | ||
| 448 | #define PCIE_CC_REV_ID_3_EP3_REG 0x0fc | ||
| 449 | #define PCIE_DEV_ID_4_EP3_REG 0x100 | ||
| 450 | #define PCIE_CC_REV_ID_4_EP3_REG 0x104 | ||
| 451 | #define PCIE_DEV_ID_5_EP3_REG 0x108 | ||
| 452 | #define PCIE_CC_REV_ID_5_EP3_REG 0x10c | ||
| 453 | #define PCIE_DEV_ID_6_EP3_REG 0x110 | ||
| 454 | #define PCIE_CC_REV_ID_6_EP3_REG 0x114 | ||
| 455 | #define PCIE_DEV_ID_7_EP3_REG 0x118 | ||
| 456 | #define PCIE_CC_REV_ID_7_EP3_REG 0x11c | ||
| 457 | #define PCIE_DEV_ID_0_EP4_REG 0x120 | ||
| 458 | #define PCIE_CC_REV_ID_0_EP4_REG 0x124 | ||
| 459 | #define PCIE_DEV_ID_1_EP4_REG 0x128 | ||
| 460 | #define PCIE_CC_REV_ID_1_EP4_REG 0x12c | ||
| 461 | #define PCIE_DEV_ID_2_EP4_REG 0x130 | ||
| 462 | #define PCIE_CC_REV_ID_2_EP4_REG 0x134 | ||
| 463 | #define PCIE_DEV_ID_3_EP4_REG 0x138 | ||
| 464 | #define PCIE_CC_REV_ID_3_EP4_REG 0x13c | ||
| 465 | #define PCIE_DEV_ID_4_EP4_REG 0x140 | ||
| 466 | #define PCIE_CC_REV_ID_4_EP4_REG 0x144 | ||
| 467 | #define PCIE_DEV_ID_5_EP4_REG 0x148 | ||
| 468 | #define PCIE_CC_REV_ID_5_EP4_REG 0x14c | ||
| 469 | #define PCIE_DEV_ID_6_EP4_REG 0x150 | ||
| 470 | #define PCIE_CC_REV_ID_6_EP4_REG 0x154 | ||
| 471 | #define PCIE_DEV_ID_7_EP4_REG 0x158 | ||
| 472 | #define PCIE_CC_REV_ID_7_EP4_REG 0x15c | ||
| 473 | #define PCIE_SUBSYS_VEN_ID_REG 0x160 | ||
| 474 | #define PCIE_COMMON_CLOCK_CONFIG_0_4_0 0x164 | ||
| 475 | #define PCIE_MIPHYP_SSC_EN_REG 0x168 | ||
| 476 | #define PCIE_MIPHYP_ADDR_REG 0x16c | ||
| 477 | #define PCIE_L1_ASPM_READY_REG 0x170 | ||
| 478 | #define PCIE_EXT_CFG_RDY_REG 0x174 | ||
| 479 | #define PCIE_SoC_INT_ROUTER_STATUS0_REG 0x178 | ||
| 480 | #define PCIE_SoC_INT_ROUTER_STATUS1_REG 0x17c | ||
| 481 | #define PCIE_SoC_INT_ROUTER_STATUS2_REG 0x180 | ||
| 482 | #define PCIE_SoC_INT_ROUTER_STATUS3_REG 0x184 | ||
| 483 | #define DMA_IP_CTRL_REG 0x324 | ||
| 484 | #define DISP_BRIDGE_PU_PD_CTRL_REG 0x328 | ||
| 485 | #define VIP_PU_PD_CTRL_REG 0x32c | ||
| 486 | #define USB_MLB_PU_PD_CTRL_REG 0x330 | ||
| 487 | #define SDIO_PU_PD_MISCFUNC_CTRL_REG1 0x334 | ||
| 488 | #define SDIO_PU_PD_MISCFUNC_CTRL_REG2 0x338 | ||
| 489 | #define UART_PU_PD_CTRL_REG 0x33c | ||
| 490 | #define ARM_Lock 0x340 | ||
| 491 | #define SYS_IO_CHAR_REG1 0x344 | ||
| 492 | #define SYS_IO_CHAR_REG2 0x348 | ||
| 493 | #define SATA_CORE_ID_REG 0x34c | ||
| 494 | #define SATA_CTRL_REG 0x350 | ||
| 495 | #define I2C_HSFIX_MISC_REG 0x354 | ||
| 496 | #define SPARE2_RESERVED 0x358 | ||
| 497 | #define SPARE3_RESERVED 0x35c | ||
| 498 | #define MASTER_LOCK_REG 0x368 | ||
| 499 | #define SYSTEM_CONFIG_STATUS_REG 0x36c | ||
| 500 | #define MSP_CLK_CTRL_REG 0x39c | ||
| 501 | #define COMPENSATION_REG1 0x3c4 | ||
| 502 | #define COMPENSATION_REG2 0x3c8 | ||
| 503 | #define COMPENSATION_REG3 0x3cc | ||
| 504 | #define TEST_CTL_REG 0x3d0 | ||
| 505 | |||
| 506 | /* | ||
| 507 | * SECR (OTP) registers | ||
| 508 | */ | ||
| 509 | #define STA2X11_SECR_CR 0x00 | ||
| 510 | #define STA2X11_SECR_FVR0 0x10 | ||
| 511 | #define STA2X11_SECR_FVR1 0x14 | ||
| 512 | |||
| 513 | extern int sta2x11_mfd_get_regs_data(struct platform_device *pdev, | ||
| 514 | enum sta2x11_mfd_plat_dev index, | ||
| 515 | void __iomem **regs, | ||
| 516 | spinlock_t **lock); | ||
| 517 | |||
| 518 | #endif /* __STA2X11_MFD_H */ | ||
diff --git a/include/linux/mfd/stmpe.h b/include/linux/mfd/stmpe.h index 383ac1512a3..be1af7c42e5 100644 --- a/include/linux/mfd/stmpe.h +++ b/include/linux/mfd/stmpe.h | |||
| @@ -8,9 +8,7 @@ | |||
| 8 | #ifndef __LINUX_MFD_STMPE_H | 8 | #ifndef __LINUX_MFD_STMPE_H |
| 9 | #define __LINUX_MFD_STMPE_H | 9 | #define __LINUX_MFD_STMPE_H |
| 10 | 10 | ||
| 11 | #include <linux/mutex.h> | 11 | #include <linux/device.h> |
| 12 | |||
| 13 | struct device; | ||
| 14 | 12 | ||
| 15 | enum stmpe_block { | 13 | enum stmpe_block { |
| 16 | STMPE_BLOCK_GPIO = 1 << 0, | 14 | STMPE_BLOCK_GPIO = 1 << 0, |
| @@ -22,13 +20,10 @@ enum stmpe_block { | |||
| 22 | }; | 20 | }; |
| 23 | 21 | ||
| 24 | enum stmpe_partnum { | 22 | enum stmpe_partnum { |
| 25 | STMPE610, | ||
| 26 | STMPE801, | ||
| 27 | STMPE811, | 23 | STMPE811, |
| 28 | STMPE1601, | 24 | STMPE1601, |
| 29 | STMPE2401, | 25 | STMPE2401, |
| 30 | STMPE2403, | 26 | STMPE2403, |
| 31 | STMPE_NBR_PARTS | ||
| 32 | }; | 27 | }; |
| 33 | 28 | ||
| 34 | /* | 29 | /* |
| @@ -55,21 +50,17 @@ enum { | |||
| 55 | 50 | ||
| 56 | 51 | ||
| 57 | struct stmpe_variant_info; | 52 | struct stmpe_variant_info; |
| 58 | struct stmpe_client_info; | ||
| 59 | 53 | ||
| 60 | /** | 54 | /** |
| 61 | * struct stmpe - STMPE MFD structure | 55 | * struct stmpe - STMPE MFD structure |
| 62 | * @lock: lock protecting I/O operations | 56 | * @lock: lock protecting I/O operations |
| 63 | * @irq_lock: IRQ bus lock | 57 | * @irq_lock: IRQ bus lock |
| 64 | * @dev: device, mostly for dev_dbg() | 58 | * @dev: device, mostly for dev_dbg() |
| 65 | * @irq_domain: IRQ domain | 59 | * @i2c: i2c client |
| 66 | * @client: client - i2c or spi | ||
| 67 | * @ci: client specific information | ||
| 68 | * @partnum: part number | 60 | * @partnum: part number |
| 69 | * @variant: the detected STMPE model number | 61 | * @variant: the detected STMPE model number |
| 70 | * @regs: list of addresses of registers which are at different addresses on | 62 | * @regs: list of addresses of registers which are at different addresses on |
| 71 | * different variants. Indexed by one of STMPE_IDX_*. | 63 | * different variants. Indexed by one of STMPE_IDX_*. |
| 72 | * @irq: irq number for stmpe | ||
| 73 | * @irq_base: starting IRQ number for internal IRQs | 64 | * @irq_base: starting IRQ number for internal IRQs |
| 74 | * @num_gpios: number of gpios, differs for variants | 65 | * @num_gpios: number of gpios, differs for variants |
| 75 | * @ier: cache of IER registers for bus_lock | 66 | * @ier: cache of IER registers for bus_lock |
| @@ -80,14 +71,11 @@ struct stmpe { | |||
| 80 | struct mutex lock; | 71 | struct mutex lock; |
| 81 | struct mutex irq_lock; | 72 | struct mutex irq_lock; |
| 82 | struct device *dev; | 73 | struct device *dev; |
| 83 | struct irq_domain *domain; | 74 | struct i2c_client *i2c; |
| 84 | void *client; | ||
| 85 | struct stmpe_client_info *ci; | ||
| 86 | enum stmpe_partnum partnum; | 75 | enum stmpe_partnum partnum; |
| 87 | struct stmpe_variant_info *variant; | 76 | struct stmpe_variant_info *variant; |
| 88 | const u8 *regs; | 77 | const u8 *regs; |
| 89 | 78 | ||
| 90 | int irq; | ||
| 91 | int irq_base; | 79 | int irq_base; |
| 92 | int num_gpios; | 80 | int num_gpios; |
| 93 | u8 ier[2]; | 81 | u8 ier[2]; |
| @@ -119,7 +107,7 @@ struct matrix_keymap_data; | |||
| 119 | * @no_autorepeat: disable key autorepeat | 107 | * @no_autorepeat: disable key autorepeat |
| 120 | */ | 108 | */ |
| 121 | struct stmpe_keypad_platform_data { | 109 | struct stmpe_keypad_platform_data { |
| 122 | const struct matrix_keymap_data *keymap_data; | 110 | struct matrix_keymap_data *keymap_data; |
| 123 | unsigned int debounce_ms; | 111 | unsigned int debounce_ms; |
| 124 | unsigned int scan_count; | 112 | unsigned int scan_count; |
| 125 | bool no_autorepeat; | 113 | bool no_autorepeat; |
| @@ -190,13 +178,11 @@ struct stmpe_ts_platform_data { | |||
| 190 | * @id: device id to distinguish between multiple STMPEs on the same board | 178 | * @id: device id to distinguish between multiple STMPEs on the same board |
| 191 | * @blocks: bitmask of blocks to enable (use STMPE_BLOCK_*) | 179 | * @blocks: bitmask of blocks to enable (use STMPE_BLOCK_*) |
| 192 | * @irq_trigger: IRQ trigger to use for the interrupt to the host | 180 | * @irq_trigger: IRQ trigger to use for the interrupt to the host |
| 181 | * @irq_invert_polarity: IRQ line is connected with reversed polarity | ||
| 193 | * @autosleep: bool to enable/disable stmpe autosleep | 182 | * @autosleep: bool to enable/disable stmpe autosleep |
| 194 | * @autosleep_timeout: inactivity timeout in milliseconds for autosleep | 183 | * @autosleep_timeout: inactivity timeout in milliseconds for autosleep |
| 195 | * @irq_base: base IRQ number. %STMPE_NR_IRQS irqs will be used, or | 184 | * @irq_base: base IRQ number. %STMPE_NR_IRQS irqs will be used, or |
| 196 | * %STMPE_NR_INTERNAL_IRQS if the GPIO driver is not used. | 185 | * %STMPE_NR_INTERNAL_IRQS if the GPIO driver is not used. |
| 197 | * @irq_over_gpio: true if gpio is used to get irq | ||
| 198 | * @irq_gpio: gpio number over which irq will be requested (significant only if | ||
| 199 | * irq_over_gpio is true) | ||
| 200 | * @gpio: GPIO-specific platform data | 186 | * @gpio: GPIO-specific platform data |
| 201 | * @keypad: keypad-specific platform data | 187 | * @keypad: keypad-specific platform data |
| 202 | * @ts: touchscreen-specific platform data | 188 | * @ts: touchscreen-specific platform data |
| @@ -206,9 +192,8 @@ struct stmpe_platform_data { | |||
| 206 | unsigned int blocks; | 192 | unsigned int blocks; |
| 207 | int irq_base; | 193 | int irq_base; |
| 208 | unsigned int irq_trigger; | 194 | unsigned int irq_trigger; |
| 195 | bool irq_invert_polarity; | ||
| 209 | bool autosleep; | 196 | bool autosleep; |
| 210 | bool irq_over_gpio; | ||
| 211 | int irq_gpio; | ||
| 212 | int autosleep_timeout; | 197 | int autosleep_timeout; |
| 213 | 198 | ||
| 214 | struct stmpe_gpio_platform_data *gpio; | 199 | struct stmpe_gpio_platform_data *gpio; |
diff --git a/include/linux/mfd/syscon.h b/include/linux/mfd/syscon.h deleted file mode 100644 index 6aeb6b8da64..00000000000 --- a/include/linux/mfd/syscon.h +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * System Control Driver | ||
| 3 | * | ||
| 4 | * Copyright (C) 2012 Freescale Semiconductor, Inc. | ||
| 5 | * Copyright (C) 2012 Linaro Ltd. | ||
| 6 | * | ||
| 7 | * Author: Dong Aisheng <dong.aisheng@linaro.org> | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or modify | ||
| 10 | * it under the terms of the GNU General Public License as published by | ||
| 11 | * the Free Software Foundation; either version 2 of the License, or | ||
| 12 | * (at your option) any later version. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __LINUX_MFD_SYSCON_H__ | ||
| 16 | #define __LINUX_MFD_SYSCON_H__ | ||
| 17 | |||
| 18 | extern struct regmap *syscon_node_to_regmap(struct device_node *np); | ||
| 19 | extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s); | ||
| 20 | extern struct regmap *syscon_regmap_lookup_by_phandle( | ||
| 21 | struct device_node *np, | ||
| 22 | const char *property); | ||
| 23 | #endif /* __LINUX_MFD_SYSCON_H__ */ | ||
diff --git a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h b/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h deleted file mode 100644 index dab34a1deb2..00000000000 --- a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h +++ /dev/null | |||
| @@ -1,319 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2012 Freescale Semiconductor, Inc. | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License version 2 as | ||
| 6 | * published by the Free Software Foundation. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #ifndef __LINUX_IMX6Q_IOMUXC_GPR_H | ||
| 10 | #define __LINUX_IMX6Q_IOMUXC_GPR_H | ||
| 11 | |||
| 12 | #include <linux/bitops.h> | ||
| 13 | |||
| 14 | #define IOMUXC_GPR0 0x00 | ||
| 15 | #define IOMUXC_GPR1 0x04 | ||
| 16 | #define IOMUXC_GPR2 0x08 | ||
| 17 | #define IOMUXC_GPR3 0x0c | ||
| 18 | #define IOMUXC_GPR4 0x10 | ||
| 19 | #define IOMUXC_GPR5 0x14 | ||
| 20 | #define IOMUXC_GPR6 0x18 | ||
| 21 | #define IOMUXC_GPR7 0x1c | ||
| 22 | #define IOMUXC_GPR8 0x20 | ||
| 23 | #define IOMUXC_GPR9 0x24 | ||
| 24 | #define IOMUXC_GPR10 0x28 | ||
| 25 | #define IOMUXC_GPR11 0x2c | ||
| 26 | #define IOMUXC_GPR12 0x30 | ||
| 27 | #define IOMUXC_GPR13 0x34 | ||
| 28 | |||
| 29 | #define IMX6Q_GPR0_CLOCK_8_MUX_SEL_MASK (0x3 << 30) | ||
| 30 | #define IMX6Q_GPR0_CLOCK_8_MUX_SEL_AUDMUX_RXCLK_P7_MUXED (0x0 << 30) | ||
| 31 | #define IMX6Q_GPR0_CLOCK_8_MUX_SEL_AUDMUX_RXCLK_P7 (0x1 << 30) | ||
| 32 | #define IMX6Q_GPR0_CLOCK_8_MUX_SEL_SSI3_SSI_SRCK (0x2 << 30) | ||
| 33 | #define IMX6Q_GPR0_CLOCK_8_MUX_SEL_SSI3_RX_BIT_CLK (0x3 << 30) | ||
| 34 | #define IMX6Q_GPR0_CLOCK_0_MUX_SEL_MASK (0x3 << 28) | ||
| 35 | #define IMX6Q_GPR0_CLOCK_0_MUX_SEL_ESAI1_IPP_IND_SCKR_MUXED (0x0 << 28) | ||
| 36 | #define IMX6Q_GPR0_CLOCK_0_MUX_SEL_ESAI1_IPP_IND_SCKR (0x1 << 28) | ||
| 37 | #define IMX6Q_GPR0_CLOCK_0_MUX_SEL_ESAI1_IPP_DO_SCKR (0x2 << 28) | ||
| 38 | #define IMX6Q_GPR0_CLOCK_B_MUX_SEL_MASK (0x3 << 26) | ||
| 39 | #define IMX6Q_GPR0_CLOCK_B_MUX_SEL_AUDMUX_TXCLK_P7_MUXED (0x0 << 26) | ||
| 40 | #define IMX6Q_GPR0_CLOCK_B_MUX_SEL_AUDMUX_TXCLK_P7 (0x1 << 26) | ||
| 41 | #define IMX6Q_GPR0_CLOCK_B_MUX_SEL_SSI3_SSI_STCK (0x2 << 26) | ||
| 42 | #define IMX6Q_GPR0_CLOCK_B_MUX_SEL_SSI3_TX_BIT_CLK (0x3 << 26) | ||
| 43 | #define IMX6Q_GPR0_CLOCK_3_MUX_SEL_MASK (0x3 << 24) | ||
| 44 | #define IMX6Q_GPR0_CLOCK_3_MUX_SEL_AUDMUX_RXCLK_P7_MUXED (0x3 << 24) | ||
| 45 | #define IMX6Q_GPR0_CLOCK_3_MUX_SEL_AUDMUX_RXCLK_P7 (0x3 << 24) | ||
| 46 | #define IMX6Q_GPR0_CLOCK_3_MUX_SEL_SSI3_SSI_SRCK (0x3 << 24) | ||
| 47 | #define IMX6Q_GPR0_CLOCK_3_MUX_SEL_SSI3_RX_BIT_CLK (0x3 << 24) | ||
| 48 | #define IMX6Q_GPR0_CLOCK_A_MUX_SEL_MASK (0x3 << 22) | ||
| 49 | #define IMX6Q_GPR0_CLOCK_A_MUX_SEL_AUDMUX_TXCLK_P2_MUXED (0x0 << 22) | ||
| 50 | #define IMX6Q_GPR0_CLOCK_A_MUX_SEL_AUDMUX_TXCLK_P2 (0x1 << 22) | ||
| 51 | #define IMX6Q_GPR0_CLOCK_A_MUX_SEL_SSI2_SSI_STCK (0x2 << 22) | ||
| 52 | #define IMX6Q_GPR0_CLOCK_A_MUX_SEL_SSI2_TX_BIT_CLK (0x3 << 22) | ||
| 53 | #define IMX6Q_GPR0_CLOCK_2_MUX_SEL_MASK (0x3 << 20) | ||
| 54 | #define IMX6Q_GPR0_CLOCK_2_MUX_SEL_AUDMUX_RXCLK_P2_MUXED (0x0 << 20) | ||
| 55 | #define IMX6Q_GPR0_CLOCK_2_MUX_SEL_AUDMUX_RXCLK_P2 (0x1 << 20) | ||
| 56 | #define IMX6Q_GPR0_CLOCK_2_MUX_SEL_SSI2_SSI_SRCK (0x2 << 20) | ||
| 57 | #define IMX6Q_GPR0_CLOCK_2_MUX_SEL_SSI2_RX_BIT_CLK (0x3 << 20) | ||
| 58 | #define IMX6Q_GPR0_CLOCK_9_MUX_SEL_MASK (0x3 << 18) | ||
| 59 | #define IMX6Q_GPR0_CLOCK_9_MUX_SEL_AUDMUX_TXCLK_P1_MUXED (0x0 << 18) | ||
| 60 | #define IMX6Q_GPR0_CLOCK_9_MUX_SEL_AUDMUX_TXCLK_P1 (0x1 << 18) | ||
| 61 | #define IMX6Q_GPR0_CLOCK_9_MUX_SEL_SSI1_SSI_STCK (0x2 << 18) | ||
| 62 | #define IMX6Q_GPR0_CLOCK_9_MUX_SEL_SSI1_SSI_TX_BIT_CLK (0x3 << 18) | ||
| 63 | #define IMX6Q_GPR0_CLOCK_1_MUX_SEL_MASK (0x3 << 16) | ||
| 64 | #define IMX6Q_GPR0_CLOCK_1_MUX_SEL_AUDMUX_RXCLK_P1_MUXED (0x0 << 16) | ||
| 65 | #define IMX6Q_GPR0_CLOCK_1_MUX_SEL_AUDMUX_RXCLK_P1 (0x1 << 16) | ||
| 66 | #define IMX6Q_GPR0_CLOCK_1_MUX_SEL_SSI1_SSI_SRCK (0x2 << 16) | ||
| 67 | #define IMX6Q_GPR0_CLOCK_1_MUX_SEL_SSI1_SSI_RX_BIT_CLK (0x3 << 16) | ||
| 68 | #define IMX6Q_GPR0_TX_CLK2_MUX_SEL_MASK (0x3 << 14) | ||
| 69 | #define IMX6Q_GPR0_TX_CLK2_MUX_SEL_ASRCK_CLK1 (0x0 << 14) | ||
| 70 | #define IMX6Q_GPR0_TX_CLK2_MUX_SEL_ASRCK_CLK2 (0x1 << 14) | ||
| 71 | #define IMX6Q_GPR0_TX_CLK2_MUX_SEL_ASRCK_CLK3 (0x2 << 14) | ||
| 72 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL7_MASK BIT(7) | ||
| 73 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL7_SPDIF 0x0 | ||
| 74 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL7_IOMUX BIT(7) | ||
| 75 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL6_MASK BIT(6) | ||
| 76 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL6_ESAI 0x0 | ||
| 77 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL6_I2C3 BIT(6) | ||
| 78 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL5_MASK BIT(5) | ||
| 79 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL5_ECSPI4 0x0 | ||
| 80 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL5_EPIT2 BIT(5) | ||
| 81 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL4_MASK BIT(4) | ||
| 82 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL4_ECSPI4 0x0 | ||
| 83 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL4_I2C1 BIT(4) | ||
| 84 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL3_MASK BIT(3) | ||
| 85 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL3_ECSPI2 0x0 | ||
| 86 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL3_I2C1 BIT(3) | ||
| 87 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL2_MASK BIT(2) | ||
| 88 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL2_ECSPI1 0x0 | ||
| 89 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL2_I2C2 BIT(2) | ||
| 90 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL1_MASK BIT(1) | ||
| 91 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL1_ECSPI1 0x0 | ||
| 92 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL1_I2C3 BIT(1) | ||
| 93 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL0_MASK BIT(0) | ||
| 94 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL0_IPU1 0x0 | ||
| 95 | #define IMX6Q_GPR0_DMAREQ_MUX_SEL0_IOMUX BIT(0) | ||
| 96 | |||
| 97 | #define IMX6Q_GPR1_PCIE_REQ_MASK (0x3 << 30) | ||
| 98 | #define IMX6Q_GPR1_PCIE_EXIT_L1 BIT(28) | ||
| 99 | #define IMX6Q_GPR1_PCIE_RDY_L23 BIT(27) | ||
| 100 | #define IMX6Q_GPR1_PCIE_ENTER_L1 BIT(26) | ||
| 101 | #define IMX6Q_GPR1_MIPI_COLOR_SW BIT(25) | ||
| 102 | #define IMX6Q_GPR1_DPI_OFF BIT(24) | ||
| 103 | #define IMX6Q_GPR1_EXC_MON_MASK BIT(22) | ||
| 104 | #define IMX6Q_GPR1_EXC_MON_OKAY 0x0 | ||
| 105 | #define IMX6Q_GPR1_EXC_MON_SLVE BIT(22) | ||
| 106 | #define IMX6Q_GPR1_MIPI_IPU2_SEL_MASK BIT(21) | ||
| 107 | #define IMX6Q_GPR1_MIPI_IPU2_SEL_GASKET 0x0 | ||
| 108 | #define IMX6Q_GPR1_MIPI_IPU2_SEL_IOMUX BIT(21) | ||
| 109 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_MASK BIT(20) | ||
| 110 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_GASKET 0x0 | ||
| 111 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_IOMUX BIT(20) | ||
| 112 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_MASK BIT(19) | ||
| 113 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_GASKET 0x0 | ||
| 114 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_IOMUX BIT(19) | ||
| 115 | #define IMX6Q_GPR1_PCIE_TEST_PD BIT(18) | ||
| 116 | #define IMX6Q_GPR1_IPU_VPU_MUX_MASK BIT(17) | ||
| 117 | #define IMX6Q_GPR1_IPU_VPU_MUX_IPU1 0x0 | ||
| 118 | #define IMX6Q_GPR1_IPU_VPU_MUX_IPU2 BIT(17) | ||
| 119 | #define IMX6Q_GPR1_PCIE_REF_CLK_EN BIT(16) | ||
| 120 | #define IMX6Q_GPR1_USB_EXP_MODE BIT(15) | ||
| 121 | #define IMX6Q_GPR1_PCIE_INT BIT(14) | ||
| 122 | #define IMX6Q_GPR1_USB_OTG_ID_SEL_MASK BIT(13) | ||
| 123 | #define IMX6Q_GPR1_USB_OTG_ID_SEL_ENET_RX_ER 0x0 | ||
| 124 | #define IMX6Q_GPR1_USB_OTG_ID_SEL_GPIO_1 BIT(13) | ||
| 125 | #define IMX6Q_GPR1_GINT BIT(12) | ||
| 126 | #define IMX6Q_GPR1_ADDRS3_MASK (0x3 << 10) | ||
| 127 | #define IMX6Q_GPR1_ADDRS3_32MB (0x0 << 10) | ||
| 128 | #define IMX6Q_GPR1_ADDRS3_64MB (0x1 << 10) | ||
| 129 | #define IMX6Q_GPR1_ADDRS3_128MB (0x2 << 10) | ||
| 130 | #define IMX6Q_GPR1_ACT_CS3 BIT(9) | ||
| 131 | #define IMX6Q_GPR1_ADDRS2_MASK (0x3 << 7) | ||
| 132 | #define IMX6Q_GPR1_ACT_CS2 BIT(6) | ||
| 133 | #define IMX6Q_GPR1_ADDRS1_MASK (0x3 << 4) | ||
| 134 | #define IMX6Q_GPR1_ACT_CS1 BIT(3) | ||
| 135 | #define IMX6Q_GPR1_ADDRS0_MASK (0x3 << 1) | ||
| 136 | #define IMX6Q_GPR1_ACT_CS0 BIT(0) | ||
| 137 | |||
| 138 | #define IMX6Q_GPR2_COUNTER_RESET_VAL_MASK (0x3 << 20) | ||
| 139 | #define IMX6Q_GPR2_COUNTER_RESET_VAL_5 (0x0 << 20) | ||
| 140 | #define IMX6Q_GPR2_COUNTER_RESET_VAL_3 (0x1 << 20) | ||
| 141 | #define IMX6Q_GPR2_COUNTER_RESET_VAL_4 (0x2 << 20) | ||
| 142 | #define IMX6Q_GPR2_COUNTER_RESET_VAL_6 (0x3 << 20) | ||
| 143 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_MASK (0x7 << 16) | ||
| 144 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_0 (0x0 << 16) | ||
| 145 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_1 (0x1 << 16) | ||
| 146 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_2 (0x2 << 16) | ||
| 147 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_3 (0x3 << 16) | ||
| 148 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_4 (0x4 << 16) | ||
| 149 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_5 (0x5 << 16) | ||
| 150 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_6 (0x6 << 16) | ||
| 151 | #define IMX6Q_GPR2_LVDS_CLK_SHIFT_7 (0x7 << 16) | ||
| 152 | #define IMX6Q_GPR2_BGREF_RRMODE_MASK BIT(15) | ||
| 153 | #define IMX6Q_GPR2_BGREF_RRMODE_EXT_RESISTOR 0x0 | ||
| 154 | #define IMX6Q_GPR2_BGREF_RRMODE_INT_RESISTOR BIT(15) | ||
| 155 | #define IMX6Q_GPR2_DI1_VS_POLARITY_MASK BIT(10) | ||
| 156 | #define IMX6Q_GPR2_DI1_VS_POLARITY_ACTIVE_H 0x0 | ||
| 157 | #define IMX6Q_GPR2_DI1_VS_POLARITY_ACTIVE_L BIT(10) | ||
| 158 | #define IMX6Q_GPR2_DI0_VS_POLARITY_MASK BIT(9) | ||
| 159 | #define IMX6Q_GPR2_DI0_VS_POLARITY_ACTIVE_H 0x0 | ||
| 160 | #define IMX6Q_GPR2_DI0_VS_POLARITY_ACTIVE_L BIT(9) | ||
| 161 | #define IMX6Q_GPR2_BIT_MAPPING_CH1_MASK BIT(8) | ||
| 162 | #define IMX6Q_GPR2_BIT_MAPPING_CH1_SPWG 0x0 | ||
| 163 | #define IMX6Q_GPR2_BIT_MAPPING_CH1_JEIDA BIT(8) | ||
| 164 | #define IMX6Q_GPR2_DATA_WIDTH_CH1_MASK BIT(7) | ||
| 165 | #define IMX6Q_GPR2_DATA_WIDTH_CH1_18BIT 0x0 | ||
| 166 | #define IMX6Q_GPR2_DATA_WIDTH_CH1_24BIT BIT(7) | ||
| 167 | #define IMX6Q_GPR2_BIT_MAPPING_CH0_MASK BIT(6) | ||
| 168 | #define IMX6Q_GPR2_BIT_MAPPING_CH0_SPWG 0x0 | ||
| 169 | #define IMX6Q_GPR2_BIT_MAPPING_CH0_JEIDA BIT(6) | ||
| 170 | #define IMX6Q_GPR2_DATA_WIDTH_CH0_MASK BIT(5) | ||
| 171 | #define IMX6Q_GPR2_DATA_WIDTH_CH0_18BIT 0x0 | ||
| 172 | #define IMX6Q_GPR2_DATA_WIDTH_CH0_24BIT BIT(5) | ||
| 173 | #define IMX6Q_GPR2_SPLIT_MODE_EN BIT(4) | ||
| 174 | #define IMX6Q_GPR2_CH1_MODE_MASK (0x3 << 2) | ||
| 175 | #define IMX6Q_GPR2_CH1_MODE_DISABLE (0x0 << 2) | ||
| 176 | #define IMX6Q_GPR2_CH1_MODE_EN_ROUTE_DI0 (0x1 << 2) | ||
| 177 | #define IMX6Q_GPR2_CH1_MODE_EN_ROUTE_DI1 (0x3 << 2) | ||
| 178 | #define IMX6Q_GPR2_CH0_MODE_MASK (0x3 << 0) | ||
| 179 | #define IMX6Q_GPR2_CH0_MODE_DISABLE (0x0 << 0) | ||
| 180 | #define IMX6Q_GPR2_CH0_MODE_EN_ROUTE_DI0 (0x1 << 0) | ||
| 181 | #define IMX6Q_GPR2_CH0_MODE_EN_ROUTE_DI1 (0x3 << 0) | ||
| 182 | |||
| 183 | #define IMX6Q_GPR3_GPU_DBG_MASK (0x3 << 29) | ||
| 184 | #define IMX6Q_GPR3_GPU_DBG_GPU3D (0x0 << 29) | ||
| 185 | #define IMX6Q_GPR3_GPU_DBG_GPU2D (0x1 << 29) | ||
| 186 | #define IMX6Q_GPR3_GPU_DBG_OPENVG (0x2 << 29) | ||
| 187 | #define IMX6Q_GPR3_BCH_WR_CACHE_CTL BIT(28) | ||
| 188 | #define IMX6Q_GPR3_BCH_RD_CACHE_CTL BIT(27) | ||
| 189 | #define IMX6Q_GPR3_USDHCX_WR_CACHE_CTL BIT(26) | ||
| 190 | #define IMX6Q_GPR3_USDHCX_RD_CACHE_CTL BIT(25) | ||
| 191 | #define IMX6Q_GPR3_OCRAM_CTL_MASK (0xf << 21) | ||
| 192 | #define IMX6Q_GPR3_OCRAM_STATUS_MASK (0xf << 17) | ||
| 193 | #define IMX6Q_GPR3_CORE3_DBG_ACK_EN BIT(16) | ||
| 194 | #define IMX6Q_GPR3_CORE2_DBG_ACK_EN BIT(15) | ||
| 195 | #define IMX6Q_GPR3_CORE1_DBG_ACK_EN BIT(14) | ||
| 196 | #define IMX6Q_GPR3_CORE0_DBG_ACK_EN BIT(13) | ||
| 197 | #define IMX6Q_GPR3_TZASC2_BOOT_LOCK BIT(12) | ||
| 198 | #define IMX6Q_GPR3_TZASC1_BOOT_LOCK BIT(11) | ||
| 199 | #define IMX6Q_GPR3_IPU_DIAG_MASK BIT(10) | ||
| 200 | #define IMX6Q_GPR3_LVDS1_MUX_CTL_MASK (0x3 << 8) | ||
| 201 | #define IMX6Q_GPR3_LVDS1_MUX_CTL_IPU1_DI0 (0x0 << 8) | ||
| 202 | #define IMX6Q_GPR3_LVDS1_MUX_CTL_IPU1_DI1 (0x1 << 8) | ||
| 203 | #define IMX6Q_GPR3_LVDS1_MUX_CTL_IPU2_DI0 (0x2 << 8) | ||
| 204 | #define IMX6Q_GPR3_LVDS1_MUX_CTL_IPU2_DI1 (0x3 << 8) | ||
| 205 | #define IMX6Q_GPR3_LVDS0_MUX_CTL_MASK (0x3 << 6) | ||
| 206 | #define IMX6Q_GPR3_LVDS0_MUX_CTL_IPU1_DI0 (0x0 << 6) | ||
| 207 | #define IMX6Q_GPR3_LVDS0_MUX_CTL_IPU1_DI1 (0x1 << 6) | ||
| 208 | #define IMX6Q_GPR3_LVDS0_MUX_CTL_IPU2_DI0 (0x2 << 6) | ||
| 209 | #define IMX6Q_GPR3_LVDS0_MUX_CTL_IPU2_DI1 (0x3 << 6) | ||
| 210 | #define IMX6Q_GPR3_MIPI_MUX_CTL_MASK (0x3 << 4) | ||
| 211 | #define IMX6Q_GPR3_MIPI_MUX_CTL_IPU1_DI0 (0x0 << 4) | ||
| 212 | #define IMX6Q_GPR3_MIPI_MUX_CTL_IPU1_DI1 (0x1 << 4) | ||
| 213 | #define IMX6Q_GPR3_MIPI_MUX_CTL_IPU2_DI0 (0x2 << 4) | ||
| 214 | #define IMX6Q_GPR3_MIPI_MUX_CTL_IPU2_DI1 (0x3 << 4) | ||
| 215 | #define IMX6Q_GPR3_HDMI_MUX_CTL_MASK (0x3 << 2) | ||
| 216 | #define IMX6Q_GPR3_HDMI_MUX_CTL_IPU1_DI0 (0x0 << 2) | ||
| 217 | #define IMX6Q_GPR3_HDMI_MUX_CTL_IPU1_DI1 (0x1 << 2) | ||
| 218 | #define IMX6Q_GPR3_HDMI_MUX_CTL_IPU2_DI0 (0x2 << 2) | ||
| 219 | #define IMX6Q_GPR3_HDMI_MUX_CTL_IPU2_DI1 (0x3 << 2) | ||
| 220 | |||
| 221 | #define IMX6Q_GPR4_VDOA_WR_CACHE_SEL BIT(31) | ||
| 222 | #define IMX6Q_GPR4_VDOA_RD_CACHE_SEL BIT(30) | ||
| 223 | #define IMX6Q_GPR4_VDOA_WR_CACHE_VAL BIT(29) | ||
| 224 | #define IMX6Q_GPR4_VDOA_RD_CACHE_VAL BIT(28) | ||
| 225 | #define IMX6Q_GPR4_PCIE_WR_CACHE_SEL BIT(27) | ||
| 226 | #define IMX6Q_GPR4_PCIE_RD_CACHE_SEL BIT(26) | ||
| 227 | #define IMX6Q_GPR4_PCIE_WR_CACHE_VAL BIT(25) | ||
| 228 | #define IMX6Q_GPR4_PCIE_RD_CACHE_VAL BIT(24) | ||
| 229 | #define IMX6Q_GPR4_SDMA_STOP_ACK BIT(19) | ||
| 230 | #define IMX6Q_GPR4_CAN2_STOP_ACK BIT(18) | ||
| 231 | #define IMX6Q_GPR4_CAN1_STOP_ACK BIT(17) | ||
| 232 | #define IMX6Q_GPR4_ENET_STOP_ACK BIT(16) | ||
| 233 | #define IMX6Q_GPR4_SOC_VERSION_MASK (0xff << 8) | ||
| 234 | #define IMX6Q_GPR4_SOC_VERSION_OFF 0x8 | ||
| 235 | #define IMX6Q_GPR4_VPU_WR_CACHE_SEL BIT(7) | ||
| 236 | #define IMX6Q_GPR4_VPU_RD_CACHE_SEL BIT(6) | ||
| 237 | #define IMX6Q_GPR4_VPU_P_WR_CACHE_VAL BIT(3) | ||
| 238 | #define IMX6Q_GPR4_VPU_P_RD_CACHE_VAL_MASK BIT(2) | ||
| 239 | #define IMX6Q_GPR4_IPU_WR_CACHE_CTL BIT(1) | ||
| 240 | #define IMX6Q_GPR4_IPU_RD_CACHE_CTL BIT(0) | ||
| 241 | |||
| 242 | #define IMX6Q_GPR5_L2_CLK_STOP BIT(8) | ||
| 243 | |||
| 244 | #define IMX6Q_GPR9_TZASC2_BYP BIT(1) | ||
| 245 | #define IMX6Q_GPR9_TZASC1_BYP BIT(0) | ||
| 246 | |||
| 247 | #define IMX6Q_GPR10_LOCK_DBG_EN BIT(29) | ||
| 248 | #define IMX6Q_GPR10_LOCK_DBG_CLK_EN BIT(28) | ||
| 249 | #define IMX6Q_GPR10_LOCK_SEC_ERR_RESP BIT(27) | ||
| 250 | #define IMX6Q_GPR10_LOCK_OCRAM_TZ_ADDR (0x3f << 21) | ||
| 251 | #define IMX6Q_GPR10_LOCK_OCRAM_TZ_EN BIT(20) | ||
| 252 | #define IMX6Q_GPR10_LOCK_DCIC2_MUX_MASK (0x3 << 18) | ||
| 253 | #define IMX6Q_GPR10_LOCK_DCIC1_MUX_MASK (0x3 << 16) | ||
| 254 | #define IMX6Q_GPR10_DBG_EN BIT(13) | ||
| 255 | #define IMX6Q_GPR10_DBG_CLK_EN BIT(12) | ||
| 256 | #define IMX6Q_GPR10_SEC_ERR_RESP_MASK BIT(11) | ||
| 257 | #define IMX6Q_GPR10_SEC_ERR_RESP_OKEY 0x0 | ||
| 258 | #define IMX6Q_GPR10_SEC_ERR_RESP_SLVE BIT(11) | ||
| 259 | #define IMX6Q_GPR10_OCRAM_TZ_ADDR_MASK (0x3f << 5) | ||
| 260 | #define IMX6Q_GPR10_OCRAM_TZ_EN_MASK BIT(4) | ||
| 261 | #define IMX6Q_GPR10_DCIC2_MUX_CTL_MASK (0x3 << 2) | ||
| 262 | #define IMX6Q_GPR10_DCIC2_MUX_CTL_IPU1_DI0 (0x0 << 2) | ||
| 263 | #define IMX6Q_GPR10_DCIC2_MUX_CTL_IPU1_DI1 (0x1 << 2) | ||
| 264 | #define IMX6Q_GPR10_DCIC2_MUX_CTL_IPU2_DI0 (0x2 << 2) | ||
| 265 | #define IMX6Q_GPR10_DCIC2_MUX_CTL_IPU2_DI1 (0x3 << 2) | ||
| 266 | #define IMX6Q_GPR10_DCIC1_MUX_CTL_MASK (0x3 << 0) | ||
| 267 | #define IMX6Q_GPR10_DCIC1_MUX_CTL_IPU1_DI0 (0x0 << 0) | ||
| 268 | #define IMX6Q_GPR10_DCIC1_MUX_CTL_IPU1_DI1 (0x1 << 0) | ||
| 269 | #define IMX6Q_GPR10_DCIC1_MUX_CTL_IPU2_DI0 (0x2 << 0) | ||
| 270 | #define IMX6Q_GPR10_DCIC1_MUX_CTL_IPU2_DI1 (0x3 << 0) | ||
| 271 | |||
| 272 | #define IMX6Q_GPR12_ARMP_IPG_CLK_EN BIT(27) | ||
| 273 | #define IMX6Q_GPR12_ARMP_AHB_CLK_EN BIT(26) | ||
| 274 | #define IMX6Q_GPR12_ARMP_ATB_CLK_EN BIT(25) | ||
| 275 | #define IMX6Q_GPR12_ARMP_APB_CLK_EN BIT(24) | ||
| 276 | #define IMX6Q_GPR12_PCIE_CTL_2 BIT(10) | ||
| 277 | |||
| 278 | #define IMX6Q_GPR13_SDMA_STOP_REQ BIT(30) | ||
| 279 | #define IMX6Q_GPR13_CAN2_STOP_REQ BIT(29) | ||
| 280 | #define IMX6Q_GPR13_CAN1_STOP_REQ BIT(28) | ||
| 281 | #define IMX6Q_GPR13_ENET_STOP_REQ BIT(27) | ||
| 282 | #define IMX6Q_GPR13_SATA_PHY_8_MASK (0x7 << 24) | ||
| 283 | #define IMX6Q_GPR13_SATA_PHY_8_0_5_DB (0x0 << 24) | ||
| 284 | #define IMX6Q_GPR13_SATA_PHY_8_1_0_DB (0x1 << 24) | ||
| 285 | #define IMX6Q_GPR13_SATA_PHY_8_1_5_DB (0x2 << 24) | ||
| 286 | #define IMX6Q_GPR13_SATA_PHY_8_2_0_DB (0x3 << 24) | ||
| 287 | #define IMX6Q_GPR13_SATA_PHY_8_2_5_DB (0x4 << 24) | ||
| 288 | #define IMX6Q_GPR13_SATA_PHY_8_3_0_DB (0x5 << 24) | ||
| 289 | #define IMX6Q_GPR13_SATA_PHY_8_3_5_DB (0x6 << 24) | ||
| 290 | #define IMX6Q_GPR13_SATA_PHY_8_4_0_DB (0x7 << 24) | ||
| 291 | #define IMX6Q_GPR13_SATA_PHY_7_MASK (0x1f << 19) | ||
| 292 | #define IMX6Q_GPR13_SATA_PHY_7_SATA1I (0x10 << 19) | ||
| 293 | #define IMX6Q_GPR13_SATA_PHY_7_SATA1M (0x10 << 19) | ||
| 294 | #define IMX6Q_GPR13_SATA_PHY_7_SATA1X (0x1a << 19) | ||
| 295 | #define IMX6Q_GPR13_SATA_PHY_7_SATA2I (0x12 << 19) | ||
| 296 | #define IMX6Q_GPR13_SATA_PHY_7_SATA2M (0x12 << 19) | ||
| 297 | #define IMX6Q_GPR13_SATA_PHY_7_SATA2X (0x1a << 19) | ||
| 298 | #define IMX6Q_GPR13_SATA_PHY_6_MASK (0x7 << 16) | ||
| 299 | #define IMX6Q_GPR13_SATA_SPEED_MASK BIT(15) | ||
| 300 | #define IMX6Q_GPR13_SATA_SPEED_1P5G 0x0 | ||
| 301 | #define IMX6Q_GPR13_SATA_SPEED_3P0G BIT(15) | ||
| 302 | #define IMX6Q_GPR13_SATA_PHY_5 BIT(14) | ||
| 303 | #define IMX6Q_GPR13_SATA_PHY_4_MASK (0x7 << 11) | ||
| 304 | #define IMX6Q_GPR13_SATA_PHY_4_16_16 (0x0 << 11) | ||
| 305 | #define IMX6Q_GPR13_SATA_PHY_4_14_16 (0x1 << 11) | ||
| 306 | #define IMX6Q_GPR13_SATA_PHY_4_12_16 (0x2 << 11) | ||
| 307 | #define IMX6Q_GPR13_SATA_PHY_4_10_16 (0x3 << 11) | ||
| 308 | #define IMX6Q_GPR13_SATA_PHY_4_9_16 (0x4 << 11) | ||
| 309 | #define IMX6Q_GPR13_SATA_PHY_4_8_16 (0x5 << 11) | ||
| 310 | #define IMX6Q_GPR13_SATA_PHY_3_MASK (0xf << 7) | ||
| 311 | #define IMX6Q_GPR13_SATA_PHY_3_OFF 0x7 | ||
| 312 | #define IMX6Q_GPR13_SATA_PHY_2_MASK (0x1f << 2) | ||
| 313 | #define IMX6Q_GPR13_SATA_PHY_2_OFF 0x2 | ||
| 314 | #define IMX6Q_GPR13_SATA_PHY_1_MASK (0x3 << 0) | ||
| 315 | #define IMX6Q_GPR13_SATA_PHY_1_FAST (0x0 << 0) | ||
| 316 | #define IMX6Q_GPR13_SATA_PHY_1_MED (0x1 << 0) | ||
| 317 | #define IMX6Q_GPR13_SATA_PHY_1_SLOW (0x2 << 0) | ||
| 318 | |||
| 319 | #endif /* __LINUX_IMX6Q_IOMUXC_GPR_H */ | ||
diff --git a/include/linux/mfd/tc3589x.h b/include/linux/mfd/tc3589x.h index 6b8e1ff4672..16c76e124f9 100644 --- a/include/linux/mfd/tc3589x.h +++ b/include/linux/mfd/tc3589x.h | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | #ifndef __LINUX_MFD_TC3589x_H | 7 | #ifndef __LINUX_MFD_TC3589x_H |
| 8 | #define __LINUX_MFD_TC3589x_H | 8 | #define __LINUX_MFD_TC3589x_H |
| 9 | 9 | ||
| 10 | struct device; | 10 | #include <linux/device.h> |
| 11 | 11 | ||
| 12 | enum tx3589x_block { | 12 | enum tx3589x_block { |
| 13 | TC3589x_BLOCK_GPIO = 1 << 0, | 13 | TC3589x_BLOCK_GPIO = 1 << 0, |
| @@ -117,7 +117,6 @@ struct tc3589x { | |||
| 117 | struct mutex lock; | 117 | struct mutex lock; |
| 118 | struct device *dev; | 118 | struct device *dev; |
| 119 | struct i2c_client *i2c; | 119 | struct i2c_client *i2c; |
| 120 | struct irq_domain *domain; | ||
| 121 | 120 | ||
| 122 | int irq_base; | 121 | int irq_base; |
| 123 | int num_gpio; | 122 | int num_gpio; |
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h deleted file mode 100644 index c79ad5d2f27..00000000000 --- a/include/linux/mfd/ti_am335x_tscadc.h +++ /dev/null | |||
| @@ -1,152 +0,0 @@ | |||
| 1 | #ifndef __LINUX_TI_AM335X_TSCADC_MFD_H | ||
| 2 | #define __LINUX_TI_AM335X_TSCADC_MFD_H | ||
| 3 | |||
| 4 | /* | ||
| 5 | * TI Touch Screen / ADC MFD driver | ||
| 6 | * | ||
| 7 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or | ||
| 10 | * modify it under the terms of the GNU General Public License as | ||
| 11 | * published by the Free Software Foundation version 2. | ||
| 12 | * | ||
| 13 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
| 14 | * kind, whether express or implied; without even the implied warranty | ||
| 15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | * GNU General Public License for more details. | ||
| 17 | */ | ||
| 18 | |||
| 19 | #include <linux/mfd/core.h> | ||
| 20 | |||
| 21 | #define REG_RAWIRQSTATUS 0x024 | ||
| 22 | #define REG_IRQSTATUS 0x028 | ||
| 23 | #define REG_IRQENABLE 0x02C | ||
| 24 | #define REG_IRQCLR 0x030 | ||
| 25 | #define REG_IRQWAKEUP 0x034 | ||
| 26 | #define REG_CTRL 0x040 | ||
| 27 | #define REG_ADCFSM 0x044 | ||
| 28 | #define REG_CLKDIV 0x04C | ||
| 29 | #define REG_SE 0x054 | ||
| 30 | #define REG_IDLECONFIG 0x058 | ||
| 31 | #define REG_CHARGECONFIG 0x05C | ||
| 32 | #define REG_CHARGEDELAY 0x060 | ||
| 33 | #define REG_STEPCONFIG(n) (0x64 + ((n - 1) * 8)) | ||
| 34 | #define REG_STEPDELAY(n) (0x68 + ((n - 1) * 8)) | ||
| 35 | #define REG_FIFO0CNT 0xE4 | ||
| 36 | #define REG_FIFO0THR 0xE8 | ||
| 37 | #define REG_FIFO1CNT 0xF0 | ||
| 38 | #define REG_FIFO1THR 0xF4 | ||
| 39 | #define REG_FIFO0 0x100 | ||
| 40 | #define REG_FIFO1 0x200 | ||
| 41 | |||
| 42 | /* Register Bitfields */ | ||
| 43 | /* IRQ wakeup enable */ | ||
| 44 | #define IRQWKUP_ENB BIT(0) | ||
| 45 | |||
| 46 | /* Step Enable */ | ||
| 47 | #define STEPENB_MASK (0x1FFFF << 0) | ||
| 48 | #define STEPENB(val) ((val) << 0) | ||
| 49 | #define STPENB_STEPENB STEPENB(0x1FFFF) | ||
| 50 | #define STPENB_STEPENB_TC STEPENB(0x1FFF) | ||
| 51 | |||
| 52 | /* IRQ enable */ | ||
| 53 | #define IRQENB_HW_PEN BIT(0) | ||
| 54 | #define IRQENB_FIFO0THRES BIT(2) | ||
| 55 | #define IRQENB_FIFO1THRES BIT(5) | ||
| 56 | #define IRQENB_PENUP BIT(9) | ||
| 57 | |||
| 58 | /* Step Configuration */ | ||
| 59 | #define STEPCONFIG_MODE_MASK (3 << 0) | ||
| 60 | #define STEPCONFIG_MODE(val) ((val) << 0) | ||
| 61 | #define STEPCONFIG_MODE_HWSYNC STEPCONFIG_MODE(2) | ||
| 62 | #define STEPCONFIG_AVG_MASK (7 << 2) | ||
| 63 | #define STEPCONFIG_AVG(val) ((val) << 2) | ||
| 64 | #define STEPCONFIG_AVG_16 STEPCONFIG_AVG(4) | ||
| 65 | #define STEPCONFIG_XPP BIT(5) | ||
| 66 | #define STEPCONFIG_XNN BIT(6) | ||
| 67 | #define STEPCONFIG_YPP BIT(7) | ||
| 68 | #define STEPCONFIG_YNN BIT(8) | ||
| 69 | #define STEPCONFIG_XNP BIT(9) | ||
| 70 | #define STEPCONFIG_YPN BIT(10) | ||
| 71 | #define STEPCONFIG_INM_MASK (0xF << 15) | ||
| 72 | #define STEPCONFIG_INM(val) ((val) << 15) | ||
| 73 | #define STEPCONFIG_INM_ADCREFM STEPCONFIG_INM(8) | ||
| 74 | #define STEPCONFIG_INP_MASK (0xF << 19) | ||
| 75 | #define STEPCONFIG_INP(val) ((val) << 19) | ||
| 76 | #define STEPCONFIG_INP_AN2 STEPCONFIG_INP(2) | ||
| 77 | #define STEPCONFIG_INP_AN3 STEPCONFIG_INP(3) | ||
| 78 | #define STEPCONFIG_INP_AN4 STEPCONFIG_INP(4) | ||
| 79 | #define STEPCONFIG_INP_ADCREFM STEPCONFIG_INP(8) | ||
| 80 | #define STEPCONFIG_FIFO1 BIT(26) | ||
| 81 | |||
| 82 | /* Delay register */ | ||
| 83 | #define STEPDELAY_OPEN_MASK (0x3FFFF << 0) | ||
| 84 | #define STEPDELAY_OPEN(val) ((val) << 0) | ||
| 85 | #define STEPCONFIG_OPENDLY STEPDELAY_OPEN(0x098) | ||
| 86 | #define STEPDELAY_SAMPLE_MASK (0xFF << 24) | ||
| 87 | #define STEPDELAY_SAMPLE(val) ((val) << 24) | ||
| 88 | #define STEPCONFIG_SAMPLEDLY STEPDELAY_SAMPLE(0) | ||
| 89 | |||
| 90 | /* Charge Config */ | ||
| 91 | #define STEPCHARGE_RFP_MASK (7 << 12) | ||
| 92 | #define STEPCHARGE_RFP(val) ((val) << 12) | ||
| 93 | #define STEPCHARGE_RFP_XPUL STEPCHARGE_RFP(1) | ||
| 94 | #define STEPCHARGE_INM_MASK (0xF << 15) | ||
| 95 | #define STEPCHARGE_INM(val) ((val) << 15) | ||
| 96 | #define STEPCHARGE_INM_AN1 STEPCHARGE_INM(1) | ||
| 97 | #define STEPCHARGE_INP_MASK (0xF << 19) | ||
| 98 | #define STEPCHARGE_INP(val) ((val) << 19) | ||
| 99 | #define STEPCHARGE_INP_AN1 STEPCHARGE_INP(1) | ||
| 100 | #define STEPCHARGE_RFM_MASK (3 << 23) | ||
| 101 | #define STEPCHARGE_RFM(val) ((val) << 23) | ||
| 102 | #define STEPCHARGE_RFM_XNUR STEPCHARGE_RFM(1) | ||
| 103 | |||
| 104 | /* Charge delay */ | ||
| 105 | #define CHARGEDLY_OPEN_MASK (0x3FFFF << 0) | ||
| 106 | #define CHARGEDLY_OPEN(val) ((val) << 0) | ||
| 107 | #define CHARGEDLY_OPENDLY CHARGEDLY_OPEN(1) | ||
| 108 | |||
| 109 | /* Control register */ | ||
| 110 | #define CNTRLREG_TSCSSENB BIT(0) | ||
| 111 | #define CNTRLREG_STEPID BIT(1) | ||
| 112 | #define CNTRLREG_STEPCONFIGWRT BIT(2) | ||
| 113 | #define CNTRLREG_POWERDOWN BIT(4) | ||
| 114 | #define CNTRLREG_AFE_CTRL_MASK (3 << 5) | ||
| 115 | #define CNTRLREG_AFE_CTRL(val) ((val) << 5) | ||
| 116 | #define CNTRLREG_4WIRE CNTRLREG_AFE_CTRL(1) | ||
| 117 | #define CNTRLREG_5WIRE CNTRLREG_AFE_CTRL(2) | ||
| 118 | #define CNTRLREG_8WIRE CNTRLREG_AFE_CTRL(3) | ||
| 119 | #define CNTRLREG_TSCENB BIT(7) | ||
| 120 | |||
| 121 | #define ADC_CLK 3000000 | ||
| 122 | #define MAX_CLK_DIV 7 | ||
| 123 | #define TOTAL_STEPS 16 | ||
| 124 | #define TOTAL_CHANNELS 8 | ||
| 125 | |||
| 126 | #define TSCADC_CELLS 2 | ||
| 127 | |||
| 128 | enum tscadc_cells { | ||
| 129 | TSC_CELL, | ||
| 130 | ADC_CELL, | ||
| 131 | }; | ||
| 132 | |||
| 133 | struct mfd_tscadc_board { | ||
| 134 | struct tsc_data *tsc_init; | ||
| 135 | struct adc_data *adc_init; | ||
| 136 | }; | ||
| 137 | |||
| 138 | struct ti_tscadc_dev { | ||
| 139 | struct device *dev; | ||
| 140 | struct regmap *regmap_tscadc; | ||
| 141 | void __iomem *tscadc_base; | ||
| 142 | int irq; | ||
| 143 | struct mfd_cell cells[TSCADC_CELLS]; | ||
| 144 | |||
| 145 | /* tsc device */ | ||
| 146 | struct titsc *tsc; | ||
| 147 | |||
| 148 | /* adc device */ | ||
| 149 | struct adc_device *adc; | ||
| 150 | }; | ||
| 151 | |||
| 152 | #endif | ||
diff --git a/include/linux/mfd/tmio.h b/include/linux/mfd/tmio.h index d83af39815a..0dc98044d8b 100644 --- a/include/linux/mfd/tmio.h +++ b/include/linux/mfd/tmio.h | |||
| @@ -1,10 +1,8 @@ | |||
| 1 | #ifndef MFD_TMIO_H | 1 | #ifndef MFD_TMIO_H |
| 2 | #define MFD_TMIO_H | 2 | #define MFD_TMIO_H |
| 3 | 3 | ||
| 4 | #include <linux/device.h> | ||
| 5 | #include <linux/fb.h> | 4 | #include <linux/fb.h> |
| 6 | #include <linux/io.h> | 5 | #include <linux/io.h> |
| 7 | #include <linux/jiffies.h> | ||
| 8 | #include <linux/platform_device.h> | 6 | #include <linux/platform_device.h> |
| 9 | #include <linux/pm_runtime.h> | 7 | #include <linux/pm_runtime.h> |
| 10 | 8 | ||
| @@ -66,8 +64,8 @@ | |||
| 66 | #define TMIO_MMC_SDIO_IRQ (1 << 2) | 64 | #define TMIO_MMC_SDIO_IRQ (1 << 2) |
| 67 | /* | 65 | /* |
| 68 | * Some platforms can detect card insertion events with controller powered | 66 | * Some platforms can detect card insertion events with controller powered |
| 69 | * down, using a GPIO IRQ, in which case they have to fill in cd_irq, cd_gpio, | 67 | * down, in which case they have to call tmio_mmc_cd_wakeup() to power up the |
| 70 | * and cd_flags fields of struct tmio_mmc_data. | 68 | * controller and report the event to the driver. |
| 71 | */ | 69 | */ |
| 72 | #define TMIO_MMC_HAS_COLD_CD (1 << 3) | 70 | #define TMIO_MMC_HAS_COLD_CD (1 << 3) |
| 73 | /* | 71 | /* |
| @@ -75,12 +73,6 @@ | |||
| 75 | * idle before writing to some registers. | 73 | * idle before writing to some registers. |
| 76 | */ | 74 | */ |
| 77 | #define TMIO_MMC_HAS_IDLE_WAIT (1 << 4) | 75 | #define TMIO_MMC_HAS_IDLE_WAIT (1 << 4) |
| 78 | /* | ||
| 79 | * A GPIO is used for card hotplug detection. We need an extra flag for this, | ||
| 80 | * because 0 is a valid GPIO number too, and requiring users to specify | ||
| 81 | * cd_gpio < 0 to disable GPIO hotplug would break backwards compatibility. | ||
| 82 | */ | ||
| 83 | #define TMIO_MMC_USE_GPIO_CD (1 << 5) | ||
| 84 | 76 | ||
| 85 | int tmio_core_mmc_enable(void __iomem *cnf, int shift, unsigned long base); | 77 | int tmio_core_mmc_enable(void __iomem *cnf, int shift, unsigned long base); |
| 86 | int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base); | 78 | int tmio_core_mmc_resume(void __iomem *cnf, int shift, unsigned long base); |
| @@ -101,31 +93,23 @@ struct tmio_mmc_host; | |||
| 101 | struct tmio_mmc_data { | 93 | struct tmio_mmc_data { |
| 102 | unsigned int hclk; | 94 | unsigned int hclk; |
| 103 | unsigned long capabilities; | 95 | unsigned long capabilities; |
| 104 | unsigned long capabilities2; | ||
| 105 | unsigned long flags; | 96 | unsigned long flags; |
| 106 | u32 ocr_mask; /* available voltages */ | 97 | u32 ocr_mask; /* available voltages */ |
| 107 | struct tmio_mmc_dma *dma; | 98 | struct tmio_mmc_dma *dma; |
| 108 | struct device *dev; | 99 | struct device *dev; |
| 109 | unsigned int cd_gpio; | 100 | bool power; |
| 110 | void (*set_pwr)(struct platform_device *host, int state); | 101 | void (*set_pwr)(struct platform_device *host, int state); |
| 111 | void (*set_clk_div)(struct platform_device *host, int state); | 102 | void (*set_clk_div)(struct platform_device *host, int state); |
| 112 | int (*get_cd)(struct platform_device *host); | 103 | int (*get_cd)(struct platform_device *host); |
| 113 | int (*write16_hook)(struct tmio_mmc_host *host, int addr); | 104 | int (*write16_hook)(struct tmio_mmc_host *host, int addr); |
| 114 | /* clock management callbacks */ | ||
| 115 | int (*clk_enable)(struct platform_device *pdev, unsigned int *f); | ||
| 116 | void (*clk_disable)(struct platform_device *pdev); | ||
| 117 | }; | 105 | }; |
| 118 | 106 | ||
| 119 | /* | ||
| 120 | * This function is deprecated and will be removed soon. Please, convert your | ||
| 121 | * platform to use drivers/mmc/core/cd-gpio.c | ||
| 122 | */ | ||
| 123 | #include <linux/mmc/host.h> | ||
| 124 | static inline void tmio_mmc_cd_wakeup(struct tmio_mmc_data *pdata) | 107 | static inline void tmio_mmc_cd_wakeup(struct tmio_mmc_data *pdata) |
| 125 | { | 108 | { |
| 126 | if (pdata) | 109 | if (pdata && !pdata->power) { |
| 127 | mmc_detect_change(dev_get_drvdata(pdata->dev), | 110 | pdata->power = true; |
| 128 | msecs_to_jiffies(100)); | 111 | pm_runtime_get(pdata->dev); |
| 112 | } | ||
| 129 | } | 113 | } |
| 130 | 114 | ||
| 131 | /* | 115 | /* |
diff --git a/include/linux/mfd/tps65090.h b/include/linux/mfd/tps65090.h index 6694cf43e8b..511ced59ef1 100644 --- a/include/linux/mfd/tps65090.h +++ b/include/linux/mfd/tps65090.h | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * include/linux/mfd/tps65090.h | ||
| 2 | * Core driver interface for TI TPS65090 PMIC family | 3 | * Core driver interface for TI TPS65090 PMIC family |
| 3 | * | 4 | * |
| 4 | * Copyright (C) 2012 NVIDIA Corporation | 5 | * Copyright (C) 2012 NVIDIA Corporation |
| @@ -22,110 +23,31 @@ | |||
| 22 | #ifndef __LINUX_MFD_TPS65090_H | 23 | #ifndef __LINUX_MFD_TPS65090_H |
| 23 | #define __LINUX_MFD_TPS65090_H | 24 | #define __LINUX_MFD_TPS65090_H |
| 24 | 25 | ||
| 25 | #include <linux/irq.h> | 26 | #include <linux/rtc.h> |
| 26 | #include <linux/regmap.h> | ||
| 27 | 27 | ||
| 28 | /* TPS65090 IRQs */ | 28 | struct tps65090_subdev_info { |
| 29 | enum { | 29 | int id; |
| 30 | TPS65090_IRQ_VAC_STATUS_CHANGE, | 30 | const char *name; |
| 31 | TPS65090_IRQ_VSYS_STATUS_CHANGE, | 31 | void *platform_data; |
| 32 | TPS65090_IRQ_BAT_STATUS_CHANGE, | ||
| 33 | TPS65090_IRQ_CHARGING_STATUS_CHANGE, | ||
| 34 | TPS65090_IRQ_CHARGING_COMPLETE, | ||
| 35 | TPS65090_IRQ_OVERLOAD_DCDC1, | ||
| 36 | TPS65090_IRQ_OVERLOAD_DCDC2, | ||
| 37 | TPS65090_IRQ_OVERLOAD_DCDC3, | ||
| 38 | TPS65090_IRQ_OVERLOAD_FET1, | ||
| 39 | TPS65090_IRQ_OVERLOAD_FET2, | ||
| 40 | TPS65090_IRQ_OVERLOAD_FET3, | ||
| 41 | TPS65090_IRQ_OVERLOAD_FET4, | ||
| 42 | TPS65090_IRQ_OVERLOAD_FET5, | ||
| 43 | TPS65090_IRQ_OVERLOAD_FET6, | ||
| 44 | TPS65090_IRQ_OVERLOAD_FET7, | ||
| 45 | }; | ||
| 46 | |||
| 47 | /* TPS65090 Regulator ID */ | ||
| 48 | enum { | ||
| 49 | TPS65090_REGULATOR_DCDC1, | ||
| 50 | TPS65090_REGULATOR_DCDC2, | ||
| 51 | TPS65090_REGULATOR_DCDC3, | ||
| 52 | TPS65090_REGULATOR_FET1, | ||
| 53 | TPS65090_REGULATOR_FET2, | ||
| 54 | TPS65090_REGULATOR_FET3, | ||
| 55 | TPS65090_REGULATOR_FET4, | ||
| 56 | TPS65090_REGULATOR_FET5, | ||
| 57 | TPS65090_REGULATOR_FET6, | ||
| 58 | TPS65090_REGULATOR_FET7, | ||
| 59 | TPS65090_REGULATOR_LDO1, | ||
| 60 | TPS65090_REGULATOR_LDO2, | ||
| 61 | |||
| 62 | /* Last entry for maximum ID */ | ||
| 63 | TPS65090_REGULATOR_MAX, | ||
| 64 | }; | ||
| 65 | |||
| 66 | struct tps65090 { | ||
| 67 | struct device *dev; | ||
| 68 | struct regmap *rmap; | ||
| 69 | struct regmap_irq_chip_data *irq_data; | ||
| 70 | }; | ||
| 71 | |||
| 72 | /* | ||
| 73 | * struct tps65090_regulator_plat_data | ||
| 74 | * | ||
| 75 | * @reg_init_data: The regulator init data. | ||
| 76 | * @enable_ext_control: Enable extrenal control or not. Only available for | ||
| 77 | * DCDC1, DCDC2 and DCDC3. | ||
| 78 | * @gpio: Gpio number if external control is enabled and controlled through | ||
| 79 | * gpio. | ||
| 80 | */ | ||
| 81 | struct tps65090_regulator_plat_data { | ||
| 82 | struct regulator_init_data *reg_init_data; | ||
| 83 | bool enable_ext_control; | ||
| 84 | int gpio; | ||
| 85 | }; | 32 | }; |
| 86 | 33 | ||
| 87 | struct tps65090_platform_data { | 34 | struct tps65090_platform_data { |
| 88 | int irq_base; | 35 | int irq_base; |
| 89 | struct tps65090_regulator_plat_data *reg_pdata[TPS65090_REGULATOR_MAX]; | 36 | int num_subdevs; |
| 37 | struct tps65090_subdev_info *subdevs; | ||
| 90 | }; | 38 | }; |
| 91 | 39 | ||
| 92 | /* | 40 | /* |
| 93 | * NOTE: the functions below are not intended for use outside | 41 | * NOTE: the functions below are not intended for use outside |
| 94 | * of the TPS65090 sub-device drivers | 42 | * of the TPS65090 sub-device drivers |
| 95 | */ | 43 | */ |
| 96 | static inline int tps65090_write(struct device *dev, int reg, uint8_t val) | 44 | extern int tps65090_write(struct device *dev, int reg, uint8_t val); |
| 97 | { | 45 | extern int tps65090_writes(struct device *dev, int reg, int len, uint8_t *val); |
| 98 | struct tps65090 *tps = dev_get_drvdata(dev); | 46 | extern int tps65090_read(struct device *dev, int reg, uint8_t *val); |
| 99 | 47 | extern int tps65090_reads(struct device *dev, int reg, int len, uint8_t *val); | |
| 100 | return regmap_write(tps->rmap, reg, val); | 48 | extern int tps65090_set_bits(struct device *dev, int reg, uint8_t bit_num); |
| 101 | } | 49 | extern int tps65090_clr_bits(struct device *dev, int reg, uint8_t bit_num); |
| 102 | 50 | extern int tps65090_update(struct device *dev, int reg, uint8_t val, | |
| 103 | static inline int tps65090_read(struct device *dev, int reg, uint8_t *val) | 51 | uint8_t bit_num); |
| 104 | { | ||
| 105 | struct tps65090 *tps = dev_get_drvdata(dev); | ||
| 106 | unsigned int temp_val; | ||
| 107 | int ret; | ||
| 108 | |||
| 109 | ret = regmap_read(tps->rmap, reg, &temp_val); | ||
| 110 | if (!ret) | ||
| 111 | *val = temp_val; | ||
| 112 | return ret; | ||
| 113 | } | ||
| 114 | |||
| 115 | static inline int tps65090_set_bits(struct device *dev, int reg, | ||
| 116 | uint8_t bit_num) | ||
| 117 | { | ||
| 118 | struct tps65090 *tps = dev_get_drvdata(dev); | ||
| 119 | |||
| 120 | return regmap_update_bits(tps->rmap, reg, BIT(bit_num), ~0u); | ||
| 121 | } | ||
| 122 | |||
| 123 | static inline int tps65090_clr_bits(struct device *dev, int reg, | ||
| 124 | uint8_t bit_num) | ||
| 125 | { | ||
| 126 | struct tps65090 *tps = dev_get_drvdata(dev); | ||
| 127 | |||
| 128 | return regmap_update_bits(tps->rmap, reg, BIT(bit_num), 0u); | ||
| 129 | } | ||
| 130 | 52 | ||
| 131 | #endif /*__LINUX_MFD_TPS65090_H */ | 53 | #endif /*__LINUX_MFD_TPS65090_H */ |
diff --git a/include/linux/mfd/tps65217.h b/include/linux/mfd/tps65217.h deleted file mode 100644 index 290762f9393..00000000000 --- a/include/linux/mfd/tps65217.h +++ /dev/null | |||
| @@ -1,298 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * linux/mfd/tps65217.h | ||
| 3 | * | ||
| 4 | * Functions to access TPS65217 power management chip. | ||
| 5 | * | ||
| 6 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License as | ||
| 10 | * published by the Free Software Foundation version 2. | ||
| 11 | * | ||
| 12 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
| 13 | * kind, whether express or implied; without even the implied warranty | ||
| 14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | * GNU General Public License for more details. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #ifndef __LINUX_MFD_TPS65217_H | ||
| 19 | #define __LINUX_MFD_TPS65217_H | ||
| 20 | |||
| 21 | #include <linux/i2c.h> | ||
| 22 | #include <linux/regulator/driver.h> | ||
| 23 | #include <linux/regulator/machine.h> | ||
| 24 | |||
| 25 | /* TPS chip id list */ | ||
| 26 | #define TPS65217 0xF0 | ||
| 27 | |||
| 28 | /* I2C ID for TPS65217 part */ | ||
| 29 | #define TPS65217_I2C_ID 0x24 | ||
| 30 | |||
| 31 | /* All register addresses */ | ||
| 32 | #define TPS65217_REG_CHIPID 0X00 | ||
| 33 | #define TPS65217_REG_PPATH 0X01 | ||
| 34 | #define TPS65217_REG_INT 0X02 | ||
| 35 | #define TPS65217_REG_CHGCONFIG0 0X03 | ||
| 36 | #define TPS65217_REG_CHGCONFIG1 0X04 | ||
| 37 | #define TPS65217_REG_CHGCONFIG2 0X05 | ||
| 38 | #define TPS65217_REG_CHGCONFIG3 0X06 | ||
| 39 | #define TPS65217_REG_WLEDCTRL1 0X07 | ||
| 40 | #define TPS65217_REG_WLEDCTRL2 0X08 | ||
| 41 | #define TPS65217_REG_MUXCTRL 0X09 | ||
| 42 | #define TPS65217_REG_STATUS 0X0A | ||
| 43 | #define TPS65217_REG_PASSWORD 0X0B | ||
| 44 | #define TPS65217_REG_PGOOD 0X0C | ||
| 45 | #define TPS65217_REG_DEFPG 0X0D | ||
| 46 | #define TPS65217_REG_DEFDCDC1 0X0E | ||
| 47 | #define TPS65217_REG_DEFDCDC2 0X0F | ||
| 48 | #define TPS65217_REG_DEFDCDC3 0X10 | ||
| 49 | #define TPS65217_REG_DEFSLEW 0X11 | ||
| 50 | #define TPS65217_REG_DEFLDO1 0X12 | ||
| 51 | #define TPS65217_REG_DEFLDO2 0X13 | ||
| 52 | #define TPS65217_REG_DEFLS1 0X14 | ||
| 53 | #define TPS65217_REG_DEFLS2 0X15 | ||
| 54 | #define TPS65217_REG_ENABLE 0X16 | ||
| 55 | #define TPS65217_REG_DEFUVLO 0X18 | ||
| 56 | #define TPS65217_REG_SEQ1 0X19 | ||
| 57 | #define TPS65217_REG_SEQ2 0X1A | ||
| 58 | #define TPS65217_REG_SEQ3 0X1B | ||
| 59 | #define TPS65217_REG_SEQ4 0X1C | ||
| 60 | #define TPS65217_REG_SEQ5 0X1D | ||
| 61 | #define TPS65217_REG_SEQ6 0X1E | ||
| 62 | |||
| 63 | /* Register field definitions */ | ||
| 64 | #define TPS65217_CHIPID_CHIP_MASK 0xF0 | ||
| 65 | #define TPS65217_CHIPID_REV_MASK 0x0F | ||
| 66 | |||
| 67 | #define TPS65217_PPATH_ACSINK_ENABLE BIT(7) | ||
| 68 | #define TPS65217_PPATH_USBSINK_ENABLE BIT(6) | ||
| 69 | #define TPS65217_PPATH_AC_PW_ENABLE BIT(5) | ||
| 70 | #define TPS65217_PPATH_USB_PW_ENABLE BIT(4) | ||
| 71 | #define TPS65217_PPATH_AC_CURRENT_MASK 0x0C | ||
| 72 | #define TPS65217_PPATH_USB_CURRENT_MASK 0x03 | ||
| 73 | |||
| 74 | #define TPS65217_INT_PBM BIT(6) | ||
| 75 | #define TPS65217_INT_ACM BIT(5) | ||
| 76 | #define TPS65217_INT_USBM BIT(4) | ||
| 77 | #define TPS65217_INT_PBI BIT(2) | ||
| 78 | #define TPS65217_INT_ACI BIT(1) | ||
| 79 | #define TPS65217_INT_USBI BIT(0) | ||
| 80 | |||
| 81 | #define TPS65217_CHGCONFIG0_TREG BIT(7) | ||
| 82 | #define TPS65217_CHGCONFIG0_DPPM BIT(6) | ||
| 83 | #define TPS65217_CHGCONFIG0_TSUSP BIT(5) | ||
| 84 | #define TPS65217_CHGCONFIG0_TERMI BIT(4) | ||
| 85 | #define TPS65217_CHGCONFIG0_ACTIVE BIT(3) | ||
| 86 | #define TPS65217_CHGCONFIG0_CHGTOUT BIT(2) | ||
| 87 | #define TPS65217_CHGCONFIG0_PCHGTOUT BIT(1) | ||
| 88 | #define TPS65217_CHGCONFIG0_BATTEMP BIT(0) | ||
| 89 | |||
| 90 | #define TPS65217_CHGCONFIG1_TMR_MASK 0xC0 | ||
| 91 | #define TPS65217_CHGCONFIG1_TMR_ENABLE BIT(5) | ||
| 92 | #define TPS65217_CHGCONFIG1_NTC_TYPE BIT(4) | ||
| 93 | #define TPS65217_CHGCONFIG1_RESET BIT(3) | ||
| 94 | #define TPS65217_CHGCONFIG1_TERM BIT(2) | ||
| 95 | #define TPS65217_CHGCONFIG1_SUSP BIT(1) | ||
| 96 | #define TPS65217_CHGCONFIG1_CHG_EN BIT(0) | ||
| 97 | |||
| 98 | #define TPS65217_CHGCONFIG2_DYNTMR BIT(7) | ||
| 99 | #define TPS65217_CHGCONFIG2_VPREGHG BIT(6) | ||
| 100 | #define TPS65217_CHGCONFIG2_VOREG_MASK 0x30 | ||
| 101 | |||
| 102 | #define TPS65217_CHGCONFIG3_ICHRG_MASK 0xC0 | ||
| 103 | #define TPS65217_CHGCONFIG3_DPPMTH_MASK 0x30 | ||
| 104 | #define TPS65217_CHGCONFIG2_PCHRGT BIT(3) | ||
| 105 | #define TPS65217_CHGCONFIG2_TERMIF 0x06 | ||
| 106 | #define TPS65217_CHGCONFIG2_TRANGE BIT(0) | ||
| 107 | |||
| 108 | #define TPS65217_WLEDCTRL1_ISINK_ENABLE BIT(3) | ||
| 109 | #define TPS65217_WLEDCTRL1_ISEL BIT(2) | ||
| 110 | #define TPS65217_WLEDCTRL1_FDIM_MASK 0x03 | ||
| 111 | |||
| 112 | #define TPS65217_WLEDCTRL2_DUTY_MASK 0x7F | ||
| 113 | |||
| 114 | #define TPS65217_MUXCTRL_MUX_MASK 0x07 | ||
| 115 | |||
| 116 | #define TPS65217_STATUS_OFF BIT(7) | ||
| 117 | #define TPS65217_STATUS_ACPWR BIT(3) | ||
| 118 | #define TPS65217_STATUS_USBPWR BIT(2) | ||
| 119 | #define TPS65217_STATUS_PB BIT(0) | ||
| 120 | |||
| 121 | #define TPS65217_PASSWORD_REGS_UNLOCK 0x7D | ||
| 122 | |||
| 123 | #define TPS65217_PGOOD_LDO3_PG BIT(6) | ||
| 124 | #define TPS65217_PGOOD_LDO4_PG BIT(5) | ||
| 125 | #define TPS65217_PGOOD_DC1_PG BIT(4) | ||
| 126 | #define TPS65217_PGOOD_DC2_PG BIT(3) | ||
| 127 | #define TPS65217_PGOOD_DC3_PG BIT(2) | ||
| 128 | #define TPS65217_PGOOD_LDO1_PG BIT(1) | ||
| 129 | #define TPS65217_PGOOD_LDO2_PG BIT(0) | ||
| 130 | |||
| 131 | #define TPS65217_DEFPG_LDO1PGM BIT(3) | ||
| 132 | #define TPS65217_DEFPG_LDO2PGM BIT(2) | ||
| 133 | #define TPS65217_DEFPG_PGDLY_MASK 0x03 | ||
| 134 | |||
| 135 | #define TPS65217_DEFDCDCX_XADJX BIT(7) | ||
| 136 | #define TPS65217_DEFDCDCX_DCDC_MASK 0x3F | ||
| 137 | |||
| 138 | #define TPS65217_DEFSLEW_GO BIT(7) | ||
| 139 | #define TPS65217_DEFSLEW_GODSBL BIT(6) | ||
| 140 | #define TPS65217_DEFSLEW_PFM_EN1 BIT(5) | ||
| 141 | #define TPS65217_DEFSLEW_PFM_EN2 BIT(4) | ||
| 142 | #define TPS65217_DEFSLEW_PFM_EN3 BIT(3) | ||
| 143 | #define TPS65217_DEFSLEW_SLEW_MASK 0x07 | ||
| 144 | |||
| 145 | #define TPS65217_DEFLDO1_LDO1_MASK 0x0F | ||
| 146 | |||
| 147 | #define TPS65217_DEFLDO2_TRACK BIT(6) | ||
| 148 | #define TPS65217_DEFLDO2_LDO2_MASK 0x3F | ||
| 149 | |||
| 150 | #define TPS65217_DEFLDO3_LDO3_EN BIT(5) | ||
| 151 | #define TPS65217_DEFLDO3_LDO3_MASK 0x1F | ||
| 152 | |||
| 153 | #define TPS65217_DEFLDO4_LDO4_EN BIT(5) | ||
| 154 | #define TPS65217_DEFLDO4_LDO4_MASK 0x1F | ||
| 155 | |||
| 156 | #define TPS65217_ENABLE_LS1_EN BIT(6) | ||
| 157 | #define TPS65217_ENABLE_LS2_EN BIT(5) | ||
| 158 | #define TPS65217_ENABLE_DC1_EN BIT(4) | ||
| 159 | #define TPS65217_ENABLE_DC2_EN BIT(3) | ||
| 160 | #define TPS65217_ENABLE_DC3_EN BIT(2) | ||
| 161 | #define TPS65217_ENABLE_LDO1_EN BIT(1) | ||
| 162 | #define TPS65217_ENABLE_LDO2_EN BIT(0) | ||
| 163 | |||
| 164 | #define TPS65217_DEFUVLO_UVLOHYS BIT(2) | ||
| 165 | #define TPS65217_DEFUVLO_UVLO_MASK 0x03 | ||
| 166 | |||
| 167 | #define TPS65217_SEQ1_DC1_SEQ_MASK 0xF0 | ||
| 168 | #define TPS65217_SEQ1_DC2_SEQ_MASK 0x0F | ||
| 169 | |||
| 170 | #define TPS65217_SEQ2_DC3_SEQ_MASK 0xF0 | ||
| 171 | #define TPS65217_SEQ2_LDO1_SEQ_MASK 0x0F | ||
| 172 | |||
| 173 | #define TPS65217_SEQ3_LDO2_SEQ_MASK 0xF0 | ||
| 174 | #define TPS65217_SEQ3_LDO3_SEQ_MASK 0x0F | ||
| 175 | |||
| 176 | #define TPS65217_SEQ4_LDO4_SEQ_MASK 0xF0 | ||
| 177 | |||
| 178 | #define TPS65217_SEQ5_DLY1_MASK 0xC0 | ||
| 179 | #define TPS65217_SEQ5_DLY2_MASK 0x30 | ||
| 180 | #define TPS65217_SEQ5_DLY3_MASK 0x0C | ||
| 181 | #define TPS65217_SEQ5_DLY4_MASK 0x03 | ||
| 182 | |||
| 183 | #define TPS65217_SEQ6_DLY5_MASK 0xC0 | ||
| 184 | #define TPS65217_SEQ6_DLY6_MASK 0x30 | ||
| 185 | #define TPS65217_SEQ6_SEQUP BIT(2) | ||
| 186 | #define TPS65217_SEQ6_SEQDWN BIT(1) | ||
| 187 | #define TPS65217_SEQ6_INSTDWN BIT(0) | ||
| 188 | |||
| 189 | #define TPS65217_MAX_REGISTER 0x1E | ||
| 190 | #define TPS65217_PROTECT_NONE 0 | ||
| 191 | #define TPS65217_PROTECT_L1 1 | ||
| 192 | #define TPS65217_PROTECT_L2 2 | ||
| 193 | |||
| 194 | |||
| 195 | enum tps65217_regulator_id { | ||
| 196 | /* DCDC's */ | ||
| 197 | TPS65217_DCDC_1, | ||
| 198 | TPS65217_DCDC_2, | ||
| 199 | TPS65217_DCDC_3, | ||
| 200 | /* LDOs */ | ||
| 201 | TPS65217_LDO_1, | ||
| 202 | TPS65217_LDO_2, | ||
| 203 | TPS65217_LDO_3, | ||
| 204 | TPS65217_LDO_4, | ||
| 205 | }; | ||
| 206 | |||
| 207 | #define TPS65217_MAX_REG_ID TPS65217_LDO_4 | ||
| 208 | |||
| 209 | /* Number of step-down converters available */ | ||
| 210 | #define TPS65217_NUM_DCDC 3 | ||
| 211 | /* Number of LDO voltage regulators available */ | ||
| 212 | #define TPS65217_NUM_LDO 4 | ||
| 213 | /* Number of total regulators available */ | ||
| 214 | #define TPS65217_NUM_REGULATOR (TPS65217_NUM_DCDC + TPS65217_NUM_LDO) | ||
| 215 | |||
| 216 | enum tps65217_bl_isel { | ||
| 217 | TPS65217_BL_ISET1 = 1, | ||
| 218 | TPS65217_BL_ISET2, | ||
| 219 | }; | ||
| 220 | |||
| 221 | enum tps65217_bl_fdim { | ||
| 222 | TPS65217_BL_FDIM_100HZ, | ||
| 223 | TPS65217_BL_FDIM_200HZ, | ||
| 224 | TPS65217_BL_FDIM_500HZ, | ||
| 225 | TPS65217_BL_FDIM_1000HZ, | ||
| 226 | }; | ||
| 227 | |||
| 228 | struct tps65217_bl_pdata { | ||
| 229 | enum tps65217_bl_isel isel; | ||
| 230 | enum tps65217_bl_fdim fdim; | ||
| 231 | }; | ||
| 232 | |||
| 233 | /** | ||
| 234 | * struct tps65217_board - packages regulator init data | ||
| 235 | * @tps65217_regulator_data: regulator initialization values | ||
| 236 | * | ||
| 237 | * Board data may be used to initialize regulator. | ||
| 238 | */ | ||
| 239 | struct tps65217_board { | ||
| 240 | struct regulator_init_data *tps65217_init_data[TPS65217_NUM_REGULATOR]; | ||
| 241 | struct device_node *of_node[TPS65217_NUM_REGULATOR]; | ||
| 242 | struct tps65217_bl_pdata *bl_pdata; | ||
| 243 | }; | ||
| 244 | |||
| 245 | /** | ||
| 246 | * struct tps_info - packages regulator constraints | ||
| 247 | * @name: Voltage regulator name | ||
| 248 | * @min_uV: minimum micro volts | ||
| 249 | * @max_uV: minimum micro volts | ||
| 250 | * @vsel_to_uv: Function pointer to get voltage from selector | ||
| 251 | * @uv_to_vsel: Function pointer to get selector from voltage | ||
| 252 | * | ||
| 253 | * This data is used to check the regualtor voltage limits while setting. | ||
| 254 | */ | ||
| 255 | struct tps_info { | ||
| 256 | const char *name; | ||
| 257 | int min_uV; | ||
| 258 | int max_uV; | ||
| 259 | int (*vsel_to_uv)(unsigned int vsel); | ||
| 260 | int (*uv_to_vsel)(int uV, unsigned int *vsel); | ||
| 261 | }; | ||
| 262 | |||
| 263 | /** | ||
| 264 | * struct tps65217 - tps65217 sub-driver chip access routines | ||
| 265 | * | ||
| 266 | * Device data may be used to access the TPS65217 chip | ||
| 267 | */ | ||
| 268 | |||
| 269 | struct tps65217 { | ||
| 270 | struct device *dev; | ||
| 271 | struct tps65217_board *pdata; | ||
| 272 | unsigned int id; | ||
| 273 | struct regulator_desc desc[TPS65217_NUM_REGULATOR]; | ||
| 274 | struct regulator_dev *rdev[TPS65217_NUM_REGULATOR]; | ||
| 275 | struct tps_info *info[TPS65217_NUM_REGULATOR]; | ||
| 276 | struct regmap *regmap; | ||
| 277 | }; | ||
| 278 | |||
| 279 | static inline struct tps65217 *dev_to_tps65217(struct device *dev) | ||
| 280 | { | ||
| 281 | return dev_get_drvdata(dev); | ||
| 282 | } | ||
| 283 | |||
| 284 | static inline int tps65217_chip_id(struct tps65217 *tps65217) | ||
| 285 | { | ||
| 286 | return tps65217->id; | ||
| 287 | } | ||
| 288 | |||
| 289 | int tps65217_reg_read(struct tps65217 *tps, unsigned int reg, | ||
| 290 | unsigned int *val); | ||
| 291 | int tps65217_reg_write(struct tps65217 *tps, unsigned int reg, | ||
| 292 | unsigned int val, unsigned int level); | ||
| 293 | int tps65217_set_bits(struct tps65217 *tps, unsigned int reg, | ||
| 294 | unsigned int mask, unsigned int val, unsigned int level); | ||
| 295 | int tps65217_clear_bits(struct tps65217 *tps, unsigned int reg, | ||
| 296 | unsigned int mask, unsigned int level); | ||
| 297 | |||
| 298 | #endif /* __LINUX_MFD_TPS65217_H */ | ||
diff --git a/include/linux/mfd/tps6586x.h b/include/linux/mfd/tps6586x.h index 87994542573..702cee59cc7 100644 --- a/include/linux/mfd/tps6586x.h +++ b/include/linux/mfd/tps6586x.h | |||
| @@ -1,20 +1,11 @@ | |||
| 1 | #ifndef __LINUX_MFD_TPS6586X_H | 1 | #ifndef __LINUX_MFD_TPS6586X_H |
| 2 | #define __LINUX_MFD_TPS6586X_H | 2 | #define __LINUX_MFD_TPS6586X_H |
| 3 | 3 | ||
| 4 | #define TPS6586X_SLEW_RATE_INSTANTLY 0x00 | 4 | #define SM0_PWM_BIT 0 |
| 5 | #define TPS6586X_SLEW_RATE_110UV 0x01 | 5 | #define SM1_PWM_BIT 1 |
| 6 | #define TPS6586X_SLEW_RATE_220UV 0x02 | 6 | #define SM2_PWM_BIT 2 |
| 7 | #define TPS6586X_SLEW_RATE_440UV 0x03 | ||
| 8 | #define TPS6586X_SLEW_RATE_880UV 0x04 | ||
| 9 | #define TPS6586X_SLEW_RATE_1760UV 0x05 | ||
| 10 | #define TPS6586X_SLEW_RATE_3520UV 0x06 | ||
| 11 | #define TPS6586X_SLEW_RATE_7040UV 0x07 | ||
| 12 | |||
| 13 | #define TPS6586X_SLEW_RATE_SET 0x08 | ||
| 14 | #define TPS6586X_SLEW_RATE_MASK 0x07 | ||
| 15 | 7 | ||
| 16 | enum { | 8 | enum { |
| 17 | TPS6586X_ID_SYS, | ||
| 18 | TPS6586X_ID_SM_0, | 9 | TPS6586X_ID_SM_0, |
| 19 | TPS6586X_ID_SM_1, | 10 | TPS6586X_ID_SM_1, |
| 20 | TPS6586X_ID_SM_2, | 11 | TPS6586X_ID_SM_2, |
| @@ -29,7 +20,6 @@ enum { | |||
| 29 | TPS6586X_ID_LDO_8, | 20 | TPS6586X_ID_LDO_8, |
| 30 | TPS6586X_ID_LDO_9, | 21 | TPS6586X_ID_LDO_9, |
| 31 | TPS6586X_ID_LDO_RTC, | 22 | TPS6586X_ID_LDO_RTC, |
| 32 | TPS6586X_ID_MAX_REGULATOR, | ||
| 33 | }; | 23 | }; |
| 34 | 24 | ||
| 35 | enum { | 25 | enum { |
| @@ -62,15 +52,58 @@ enum { | |||
| 62 | TPS6586X_INT_RTC_ALM2, | 52 | TPS6586X_INT_RTC_ALM2, |
| 63 | }; | 53 | }; |
| 64 | 54 | ||
| 55 | enum pwm_pfm_mode { | ||
| 56 | PWM_ONLY, | ||
| 57 | AUTO_PWM_PFM, | ||
| 58 | PWM_DEFAULT_VALUE, | ||
| 59 | |||
| 60 | }; | ||
| 61 | |||
| 62 | enum slew_rate_settings { | ||
| 63 | SLEW_RATE_INSTANTLY = 0, | ||
| 64 | SLEW_RATE_0110UV_PER_SEC = 0x1, | ||
| 65 | SLEW_RATE_0220UV_PER_SEC = 0x2, | ||
| 66 | SLEW_RATE_0440UV_PER_SEC = 0x3, | ||
| 67 | SLEW_RATE_0880UV_PER_SEC = 0x4, | ||
| 68 | SLEW_RATE_1760UV_PER_SEC = 0x5, | ||
| 69 | SLEW_RATE_3520UV_PER_SEC = 0x6, | ||
| 70 | SLEW_RATE_7040UV_PER_SEC = 0x7, | ||
| 71 | SLEW_RATE_DEFAULT_VALUE, | ||
| 72 | }; | ||
| 73 | |||
| 65 | struct tps6586x_settings { | 74 | struct tps6586x_settings { |
| 66 | int slew_rate; | 75 | /* SM0, SM1 and SM2 have PWM-only and auto PWM/PFM mode */ |
| 76 | enum pwm_pfm_mode sm_pwm_mode; | ||
| 77 | /* SM0 and SM1 have slew rate settings */ | ||
| 78 | enum slew_rate_settings slew_rate; | ||
| 79 | }; | ||
| 80 | |||
| 81 | enum { | ||
| 82 | TPS6586X_RTC_CL_SEL_1_5PF = 0x0, | ||
| 83 | TPS6586X_RTC_CL_SEL_6_5PF = 0x1, | ||
| 84 | TPS6586X_RTC_CL_SEL_7_5PF = 0x2, | ||
| 85 | TPS6586X_RTC_CL_SEL_12_5PF = 0x3, | ||
| 67 | }; | 86 | }; |
| 68 | 87 | ||
| 69 | struct tps6586x_subdev_info { | 88 | struct tps6586x_subdev_info { |
| 70 | int id; | 89 | int id; |
| 71 | const char *name; | 90 | const char *name; |
| 72 | void *platform_data; | 91 | void *platform_data; |
| 73 | struct device_node *of_node; | 92 | }; |
| 93 | |||
| 94 | struct tps6586x_epoch_start { | ||
| 95 | int year; | ||
| 96 | int month; | ||
| 97 | int day; | ||
| 98 | int hour; | ||
| 99 | int min; | ||
| 100 | int sec; | ||
| 101 | }; | ||
| 102 | |||
| 103 | struct tps6586x_rtc_platform_data { | ||
| 104 | int irq; | ||
| 105 | struct tps6586x_epoch_start start; | ||
| 106 | int cl_sel; /* internal XTAL capacitance, see TPS6586X_RTC_CL_SEL* */ | ||
| 74 | }; | 107 | }; |
| 75 | 108 | ||
| 76 | struct tps6586x_platform_data { | 109 | struct tps6586x_platform_data { |
| @@ -79,9 +112,8 @@ struct tps6586x_platform_data { | |||
| 79 | 112 | ||
| 80 | int gpio_base; | 113 | int gpio_base; |
| 81 | int irq_base; | 114 | int irq_base; |
| 82 | bool pm_off; | ||
| 83 | 115 | ||
| 84 | struct regulator_init_data *reg_init_data[TPS6586X_ID_MAX_REGULATOR]; | 116 | bool use_power_off; |
| 85 | }; | 117 | }; |
| 86 | 118 | ||
| 87 | /* | 119 | /* |
| @@ -96,6 +128,5 @@ extern int tps6586x_set_bits(struct device *dev, int reg, uint8_t bit_mask); | |||
| 96 | extern int tps6586x_clr_bits(struct device *dev, int reg, uint8_t bit_mask); | 128 | extern int tps6586x_clr_bits(struct device *dev, int reg, uint8_t bit_mask); |
| 97 | extern int tps6586x_update(struct device *dev, int reg, uint8_t val, | 129 | extern int tps6586x_update(struct device *dev, int reg, uint8_t val, |
| 98 | uint8_t mask); | 130 | uint8_t mask); |
| 99 | extern int tps6586x_irq_get_virq(struct device *dev, int irq); | ||
| 100 | 131 | ||
| 101 | #endif /*__LINUX_MFD_TPS6586X_H */ | 132 | #endif /*__LINUX_MFD_TPS6586X_H */ |
diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index 20e433e551e..f6021cc9d91 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h | |||
| @@ -17,9 +17,6 @@ | |||
| 17 | #ifndef __LINUX_MFD_TPS65910_H | 17 | #ifndef __LINUX_MFD_TPS65910_H |
| 18 | #define __LINUX_MFD_TPS65910_H | 18 | #define __LINUX_MFD_TPS65910_H |
| 19 | 19 | ||
| 20 | #include <linux/gpio.h> | ||
| 21 | #include <linux/regmap.h> | ||
| 22 | |||
| 23 | /* TPS chip id list */ | 20 | /* TPS chip id list */ |
| 24 | #define TPS65910 0 | 21 | #define TPS65910 0 |
| 25 | #define TPS65911 1 | 22 | #define TPS65911 1 |
| @@ -132,16 +129,6 @@ | |||
| 132 | * | 129 | * |
| 133 | */ | 130 | */ |
| 134 | 131 | ||
| 135 | /* RTC_CTRL_REG bitfields */ | ||
| 136 | #define TPS65910_RTC_CTRL_STOP_RTC 0x01 /*0=stop, 1=run */ | ||
| 137 | #define TPS65910_RTC_CTRL_GET_TIME 0x40 | ||
| 138 | |||
| 139 | /* RTC_STATUS_REG bitfields */ | ||
| 140 | #define TPS65910_RTC_STATUS_ALARM 0x40 | ||
| 141 | |||
| 142 | /* RTC_INTERRUPTS_REG bitfields */ | ||
| 143 | #define TPS65910_RTC_INTERRUPTS_EVERY 0x03 | ||
| 144 | #define TPS65910_RTC_INTERRUPTS_IT_ALARM 0x08 | ||
| 145 | 132 | ||
| 146 | /*Register BCK1 (0x80) register.RegisterDescription */ | 133 | /*Register BCK1 (0x80) register.RegisterDescription */ |
| 147 | #define BCK1_BCKUP_MASK 0xFF | 134 | #define BCK1_BCKUP_MASK 0xFF |
| @@ -376,8 +363,6 @@ | |||
| 376 | 363 | ||
| 377 | 364 | ||
| 378 | /*Register DEVCTRL (0x80) register.RegisterDescription */ | 365 | /*Register DEVCTRL (0x80) register.RegisterDescription */ |
| 379 | #define DEVCTRL_PWR_OFF_MASK 0x80 | ||
| 380 | #define DEVCTRL_PWR_OFF_SHIFT 7 | ||
| 381 | #define DEVCTRL_RTC_PWDN_MASK 0x40 | 366 | #define DEVCTRL_RTC_PWDN_MASK 0x40 |
| 382 | #define DEVCTRL_RTC_PWDN_SHIFT 6 | 367 | #define DEVCTRL_RTC_PWDN_SHIFT 6 |
| 383 | #define DEVCTRL_CK32K_CTRL_MASK 0x20 | 368 | #define DEVCTRL_CK32K_CTRL_MASK 0x20 |
| @@ -572,49 +557,6 @@ | |||
| 572 | #define SPARE_SPARE_MASK 0xFF | 557 | #define SPARE_SPARE_MASK 0xFF |
| 573 | #define SPARE_SPARE_SHIFT 0 | 558 | #define SPARE_SPARE_SHIFT 0 |
| 574 | 559 | ||
| 575 | #define TPS65910_INT_STS_RTC_PERIOD_IT_MASK 0x80 | ||
| 576 | #define TPS65910_INT_STS_RTC_PERIOD_IT_SHIFT 7 | ||
| 577 | #define TPS65910_INT_STS_RTC_ALARM_IT_MASK 0x40 | ||
| 578 | #define TPS65910_INT_STS_RTC_ALARM_IT_SHIFT 6 | ||
| 579 | #define TPS65910_INT_STS_HOTDIE_IT_MASK 0x20 | ||
| 580 | #define TPS65910_INT_STS_HOTDIE_IT_SHIFT 5 | ||
| 581 | #define TPS65910_INT_STS_PWRHOLD_F_IT_MASK 0x10 | ||
| 582 | #define TPS65910_INT_STS_PWRHOLD_F_IT_SHIFT 4 | ||
| 583 | #define TPS65910_INT_STS_PWRON_LP_IT_MASK 0x08 | ||
| 584 | #define TPS65910_INT_STS_PWRON_LP_IT_SHIFT 3 | ||
| 585 | #define TPS65910_INT_STS_PWRON_IT_MASK 0x04 | ||
| 586 | #define TPS65910_INT_STS_PWRON_IT_SHIFT 2 | ||
| 587 | #define TPS65910_INT_STS_VMBHI_IT_MASK 0x02 | ||
| 588 | #define TPS65910_INT_STS_VMBHI_IT_SHIFT 1 | ||
| 589 | #define TPS65910_INT_STS_VMBDCH_IT_MASK 0x01 | ||
| 590 | #define TPS65910_INT_STS_VMBDCH_IT_SHIFT 0 | ||
| 591 | |||
| 592 | #define TPS65910_INT_MSK_RTC_PERIOD_IT_MSK_MASK 0x80 | ||
| 593 | #define TPS65910_INT_MSK_RTC_PERIOD_IT_MSK_SHIFT 7 | ||
| 594 | #define TPS65910_INT_MSK_RTC_ALARM_IT_MSK_MASK 0x40 | ||
| 595 | #define TPS65910_INT_MSK_RTC_ALARM_IT_MSK_SHIFT 6 | ||
| 596 | #define TPS65910_INT_MSK_HOTDIE_IT_MSK_MASK 0x20 | ||
| 597 | #define TPS65910_INT_MSK_HOTDIE_IT_MSK_SHIFT 5 | ||
| 598 | #define TPS65910_INT_MSK_PWRHOLD_IT_MSK_MASK 0x10 | ||
| 599 | #define TPS65910_INT_MSK_PWRHOLD_IT_MSK_SHIFT 4 | ||
| 600 | #define TPS65910_INT_MSK_PWRON_LP_IT_MSK_MASK 0x08 | ||
| 601 | #define TPS65910_INT_MSK_PWRON_LP_IT_MSK_SHIFT 3 | ||
| 602 | #define TPS65910_INT_MSK_PWRON_IT_MSK_MASK 0x04 | ||
| 603 | #define TPS65910_INT_MSK_PWRON_IT_MSK_SHIFT 2 | ||
| 604 | #define TPS65910_INT_MSK_VMBHI_IT_MSK_MASK 0x02 | ||
| 605 | #define TPS65910_INT_MSK_VMBHI_IT_MSK_SHIFT 1 | ||
| 606 | #define TPS65910_INT_MSK_VMBDCH_IT_MSK_MASK 0x01 | ||
| 607 | #define TPS65910_INT_MSK_VMBDCH_IT_MSK_SHIFT 0 | ||
| 608 | |||
| 609 | #define TPS65910_INT_STS2_GPIO0_F_IT_SHIFT 2 | ||
| 610 | #define TPS65910_INT_STS2_GPIO0_F_IT_MASK 0x02 | ||
| 611 | #define TPS65910_INT_STS2_GPIO0_R_IT_SHIFT 1 | ||
| 612 | #define TPS65910_INT_STS2_GPIO0_R_IT_MASK 0x01 | ||
| 613 | |||
| 614 | #define TPS65910_INT_MSK2_GPIO0_F_IT_MSK_SHIFT 2 | ||
| 615 | #define TPS65910_INT_MSK2_GPIO0_F_IT_MSK_MASK 0x02 | ||
| 616 | #define TPS65910_INT_MSK2_GPIO0_R_IT_MSK_SHIFT 1 | ||
| 617 | #define TPS65910_INT_MSK2_GPIO0_R_IT_MSK_MASK 0x01 | ||
| 618 | 560 | ||
| 619 | /*Register INT_STS (0x80) register.RegisterDescription */ | 561 | /*Register INT_STS (0x80) register.RegisterDescription */ |
| 620 | #define INT_STS_RTC_PERIOD_IT_MASK 0x80 | 562 | #define INT_STS_RTC_PERIOD_IT_MASK 0x80 |
| @@ -623,16 +565,16 @@ | |||
| 623 | #define INT_STS_RTC_ALARM_IT_SHIFT 6 | 565 | #define INT_STS_RTC_ALARM_IT_SHIFT 6 |
| 624 | #define INT_STS_HOTDIE_IT_MASK 0x20 | 566 | #define INT_STS_HOTDIE_IT_MASK 0x20 |
| 625 | #define INT_STS_HOTDIE_IT_SHIFT 5 | 567 | #define INT_STS_HOTDIE_IT_SHIFT 5 |
| 626 | #define INT_STS_PWRHOLD_R_IT_MASK 0x10 | 568 | #define INT_STS_PWRHOLD_IT_MASK 0x10 |
| 627 | #define INT_STS_PWRHOLD_R_IT_SHIFT 4 | 569 | #define INT_STS_PWRHOLD_IT_SHIFT 4 |
| 628 | #define INT_STS_PWRON_LP_IT_MASK 0x08 | 570 | #define INT_STS_PWRON_LP_IT_MASK 0x08 |
| 629 | #define INT_STS_PWRON_LP_IT_SHIFT 3 | 571 | #define INT_STS_PWRON_LP_IT_SHIFT 3 |
| 630 | #define INT_STS_PWRON_IT_MASK 0x04 | 572 | #define INT_STS_PWRON_IT_MASK 0x04 |
| 631 | #define INT_STS_PWRON_IT_SHIFT 2 | 573 | #define INT_STS_PWRON_IT_SHIFT 2 |
| 632 | #define INT_STS_VMBHI_IT_MASK 0x02 | 574 | #define INT_STS_VMBHI_IT_MASK 0x02 |
| 633 | #define INT_STS_VMBHI_IT_SHIFT 1 | 575 | #define INT_STS_VMBHI_IT_SHIFT 1 |
| 634 | #define INT_STS_PWRHOLD_F_IT_MASK 0x01 | 576 | #define INT_STS_VMBDCH_IT_MASK 0x01 |
| 635 | #define INT_STS_PWRHOLD_F_IT_SHIFT 0 | 577 | #define INT_STS_VMBDCH_IT_SHIFT 0 |
| 636 | 578 | ||
| 637 | 579 | ||
| 638 | /*Register INT_MSK (0x80) register.RegisterDescription */ | 580 | /*Register INT_MSK (0x80) register.RegisterDescription */ |
| @@ -642,16 +584,16 @@ | |||
| 642 | #define INT_MSK_RTC_ALARM_IT_MSK_SHIFT 6 | 584 | #define INT_MSK_RTC_ALARM_IT_MSK_SHIFT 6 |
| 643 | #define INT_MSK_HOTDIE_IT_MSK_MASK 0x20 | 585 | #define INT_MSK_HOTDIE_IT_MSK_MASK 0x20 |
| 644 | #define INT_MSK_HOTDIE_IT_MSK_SHIFT 5 | 586 | #define INT_MSK_HOTDIE_IT_MSK_SHIFT 5 |
| 645 | #define INT_MSK_PWRHOLD_R_IT_MSK_MASK 0x10 | 587 | #define INT_MSK_PWRHOLD_IT_MSK_MASK 0x10 |
| 646 | #define INT_MSK_PWRHOLD_R_IT_MSK_SHIFT 4 | 588 | #define INT_MSK_PWRHOLD_IT_MSK_SHIFT 4 |
| 647 | #define INT_MSK_PWRON_LP_IT_MSK_MASK 0x08 | 589 | #define INT_MSK_PWRON_LP_IT_MSK_MASK 0x08 |
| 648 | #define INT_MSK_PWRON_LP_IT_MSK_SHIFT 3 | 590 | #define INT_MSK_PWRON_LP_IT_MSK_SHIFT 3 |
| 649 | #define INT_MSK_PWRON_IT_MSK_MASK 0x04 | 591 | #define INT_MSK_PWRON_IT_MSK_MASK 0x04 |
| 650 | #define INT_MSK_PWRON_IT_MSK_SHIFT 2 | 592 | #define INT_MSK_PWRON_IT_MSK_SHIFT 2 |
| 651 | #define INT_MSK_VMBHI_IT_MSK_MASK 0x02 | 593 | #define INT_MSK_VMBHI_IT_MSK_MASK 0x02 |
| 652 | #define INT_MSK_VMBHI_IT_MSK_SHIFT 1 | 594 | #define INT_MSK_VMBHI_IT_MSK_SHIFT 1 |
| 653 | #define INT_MSK_PWRHOLD_F_IT_MSK_MASK 0x01 | 595 | #define INT_MSK_VMBDCH_IT_MSK_MASK 0x01 |
| 654 | #define INT_MSK_PWRHOLD_F_IT_MSK_SHIFT 0 | 596 | #define INT_MSK_VMBDCH_IT_MSK_SHIFT 0 |
| 655 | 597 | ||
| 656 | 598 | ||
| 657 | /*Register INT_STS2 (0x80) register.RegisterDescription */ | 599 | /*Register INT_STS2 (0x80) register.RegisterDescription */ |
| @@ -693,14 +635,6 @@ | |||
| 693 | 635 | ||
| 694 | 636 | ||
| 695 | /*Register INT_STS3 (0x80) register.RegisterDescription */ | 637 | /*Register INT_STS3 (0x80) register.RegisterDescription */ |
| 696 | #define INT_STS3_PWRDN_IT_MASK 0x80 | ||
| 697 | #define INT_STS3_PWRDN_IT_SHIFT 7 | ||
| 698 | #define INT_STS3_VMBCH2_L_IT_MASK 0x40 | ||
| 699 | #define INT_STS3_VMBCH2_L_IT_SHIFT 6 | ||
| 700 | #define INT_STS3_VMBCH2_H_IT_MASK 0x20 | ||
| 701 | #define INT_STS3_VMBCH2_H_IT_SHIFT 5 | ||
| 702 | #define INT_STS3_WTCHDG_IT_MASK 0x10 | ||
| 703 | #define INT_STS3_WTCHDG_IT_SHIFT 4 | ||
| 704 | #define INT_STS3_GPIO5_F_IT_MASK 0x08 | 638 | #define INT_STS3_GPIO5_F_IT_MASK 0x08 |
| 705 | #define INT_STS3_GPIO5_F_IT_SHIFT 3 | 639 | #define INT_STS3_GPIO5_F_IT_SHIFT 3 |
| 706 | #define INT_STS3_GPIO5_R_IT_MASK 0x04 | 640 | #define INT_STS3_GPIO5_R_IT_MASK 0x04 |
| @@ -712,14 +646,6 @@ | |||
| 712 | 646 | ||
| 713 | 647 | ||
| 714 | /*Register INT_MSK3 (0x80) register.RegisterDescription */ | 648 | /*Register INT_MSK3 (0x80) register.RegisterDescription */ |
| 715 | #define INT_MSK3_PWRDN_IT_MSK_MASK 0x80 | ||
| 716 | #define INT_MSK3_PWRDN_IT_MSK_SHIFT 7 | ||
| 717 | #define INT_MSK3_VMBCH2_L_IT_MSK_MASK 0x40 | ||
| 718 | #define INT_MSK3_VMBCH2_L_IT_MSK_SHIFT 6 | ||
| 719 | #define INT_MSK3_VMBCH2_H_IT_MSK_MASK 0x20 | ||
| 720 | #define INT_MSK3_VMBCH2_H_IT_MSK_SHIFT 5 | ||
| 721 | #define INT_MSK3_WTCHDG_IT_MSK_MASK 0x10 | ||
| 722 | #define INT_MSK3_WTCHDG_IT_MSK_SHIFT 4 | ||
| 723 | #define INT_MSK3_GPIO5_F_IT_MSK_MASK 0x08 | 649 | #define INT_MSK3_GPIO5_F_IT_MSK_MASK 0x08 |
| 724 | #define INT_MSK3_GPIO5_F_IT_MSK_SHIFT 3 | 650 | #define INT_MSK3_GPIO5_F_IT_MSK_SHIFT 3 |
| 725 | #define INT_MSK3_GPIO5_R_IT_MSK_MASK 0x04 | 651 | #define INT_MSK3_GPIO5_R_IT_MSK_MASK 0x04 |
| @@ -780,32 +706,34 @@ | |||
| 780 | #define TPS65910_IRQ_GPIO_F 9 | 706 | #define TPS65910_IRQ_GPIO_F 9 |
| 781 | #define TPS65910_NUM_IRQ 10 | 707 | #define TPS65910_NUM_IRQ 10 |
| 782 | 708 | ||
| 783 | #define TPS65911_IRQ_PWRHOLD_F 0 | 709 | #define TPS65911_IRQ_VBAT_VMBDCH 0 |
| 784 | #define TPS65911_IRQ_VBAT_VMHI 1 | 710 | #define TPS65911_IRQ_VBAT_VMBDCH2L 1 |
| 785 | #define TPS65911_IRQ_PWRON 2 | 711 | #define TPS65911_IRQ_VBAT_VMBDCH2H 2 |
| 786 | #define TPS65911_IRQ_PWRON_LP 3 | 712 | #define TPS65911_IRQ_VBAT_VMHI 3 |
| 787 | #define TPS65911_IRQ_PWRHOLD_R 4 | 713 | #define TPS65911_IRQ_PWRON 4 |
| 788 | #define TPS65911_IRQ_HOTDIE 5 | 714 | #define TPS65911_IRQ_PWRON_LP 5 |
| 789 | #define TPS65911_IRQ_RTC_ALARM 6 | 715 | #define TPS65911_IRQ_PWRHOLD_F 6 |
| 790 | #define TPS65911_IRQ_RTC_PERIOD 7 | 716 | #define TPS65911_IRQ_PWRHOLD_R 7 |
| 791 | #define TPS65911_IRQ_GPIO0_R 8 | 717 | #define TPS65911_IRQ_HOTDIE 8 |
| 792 | #define TPS65911_IRQ_GPIO0_F 9 | 718 | #define TPS65911_IRQ_RTC_ALARM 9 |
| 793 | #define TPS65911_IRQ_GPIO1_R 10 | 719 | #define TPS65911_IRQ_RTC_PERIOD 10 |
| 794 | #define TPS65911_IRQ_GPIO1_F 11 | 720 | #define TPS65911_IRQ_GPIO0_R 11 |
| 795 | #define TPS65911_IRQ_GPIO2_R 12 | 721 | #define TPS65911_IRQ_GPIO0_F 12 |
| 796 | #define TPS65911_IRQ_GPIO2_F 13 | 722 | #define TPS65911_IRQ_GPIO1_R 13 |
| 797 | #define TPS65911_IRQ_GPIO3_R 14 | 723 | #define TPS65911_IRQ_GPIO1_F 14 |
| 798 | #define TPS65911_IRQ_GPIO3_F 15 | 724 | #define TPS65911_IRQ_GPIO2_R 15 |
| 799 | #define TPS65911_IRQ_GPIO4_R 16 | 725 | #define TPS65911_IRQ_GPIO2_F 16 |
| 800 | #define TPS65911_IRQ_GPIO4_F 17 | 726 | #define TPS65911_IRQ_GPIO3_R 17 |
| 801 | #define TPS65911_IRQ_GPIO5_R 18 | 727 | #define TPS65911_IRQ_GPIO3_F 18 |
| 802 | #define TPS65911_IRQ_GPIO5_F 19 | 728 | #define TPS65911_IRQ_GPIO4_R 19 |
| 803 | #define TPS65911_IRQ_WTCHDG 20 | 729 | #define TPS65911_IRQ_GPIO4_F 20 |
| 804 | #define TPS65911_IRQ_VMBCH2_H 21 | 730 | #define TPS65911_IRQ_GPIO5_R 21 |
| 805 | #define TPS65911_IRQ_VMBCH2_L 22 | 731 | #define TPS65911_IRQ_GPIO5_F 22 |
| 806 | #define TPS65911_IRQ_PWRDN 23 | 732 | #define TPS65911_IRQ_WTCHDG 23 |
| 807 | 733 | #define TPS65911_IRQ_PWRDN 24 | |
| 808 | #define TPS65911_NUM_IRQ 24 | 734 | |
| 735 | #define TPS65911_NUM_IRQ 25 | ||
| 736 | |||
| 809 | 737 | ||
| 810 | /* GPIO Register Definitions */ | 738 | /* GPIO Register Definitions */ |
| 811 | #define TPS65910_GPIO_DEB BIT(2) | 739 | #define TPS65910_GPIO_DEB BIT(2) |
| @@ -853,18 +781,6 @@ | |||
| 853 | #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 0x4 | 781 | #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 0x4 |
| 854 | #define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP 0x8 | 782 | #define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP 0x8 |
| 855 | 783 | ||
| 856 | /* | ||
| 857 | * Sleep keepon data: Maintains the state in sleep mode | ||
| 858 | * @therm_keepon: Keep on the thermal monitoring in sleep state. | ||
| 859 | * @clkout32k_keepon: Keep on the 32KHz clock output in sleep state. | ||
| 860 | * @i2chs_keepon: Keep on high speed internal clock in sleep state. | ||
| 861 | */ | ||
| 862 | struct tps65910_sleep_keepon_data { | ||
| 863 | unsigned therm_keepon:1; | ||
| 864 | unsigned clkout32k_keepon:1; | ||
| 865 | unsigned i2chs_keepon:1; | ||
| 866 | }; | ||
| 867 | |||
| 868 | /** | 784 | /** |
| 869 | * struct tps65910_board | 785 | * struct tps65910_board |
| 870 | * Board platform data may be used to initialize regulators. | 786 | * Board platform data may be used to initialize regulators. |
| @@ -876,12 +792,8 @@ struct tps65910_board { | |||
| 876 | int irq_base; | 792 | int irq_base; |
| 877 | int vmbch_threshold; | 793 | int vmbch_threshold; |
| 878 | int vmbch2_threshold; | 794 | int vmbch2_threshold; |
| 879 | bool en_ck32k_xtal; | ||
| 880 | bool en_dev_slp; | ||
| 881 | bool pm_off; | ||
| 882 | struct tps65910_sleep_keepon_data *slp_keepon; | ||
| 883 | bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO]; | ||
| 884 | unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS]; | 795 | unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS]; |
| 796 | bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO]; | ||
| 885 | struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS]; | 797 | struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS]; |
| 886 | }; | 798 | }; |
| 887 | 799 | ||
| @@ -893,19 +805,25 @@ struct tps65910 { | |||
| 893 | struct device *dev; | 805 | struct device *dev; |
| 894 | struct i2c_client *i2c_client; | 806 | struct i2c_client *i2c_client; |
| 895 | struct regmap *regmap; | 807 | struct regmap *regmap; |
| 808 | struct mutex io_mutex; | ||
| 896 | unsigned int id; | 809 | unsigned int id; |
| 810 | int (*read)(struct tps65910 *tps65910, u8 reg, int size, void *dest); | ||
| 811 | int (*write)(struct tps65910 *tps65910, u8 reg, int size, void *src); | ||
| 897 | 812 | ||
| 898 | /* Client devices */ | 813 | /* Client devices */ |
| 899 | struct tps65910_pmic *pmic; | 814 | struct tps65910_pmic *pmic; |
| 900 | struct tps65910_rtc *rtc; | 815 | struct tps65910_rtc *rtc; |
| 901 | struct tps65910_power *power; | 816 | struct tps65910_power *power; |
| 902 | 817 | ||
| 903 | /* Device node parsed board data */ | 818 | /* GPIO Handling */ |
| 904 | struct tps65910_board *of_plat_data; | 819 | struct gpio_chip gpio; |
| 905 | 820 | ||
| 906 | /* IRQ Handling */ | 821 | /* IRQ Handling */ |
| 822 | struct mutex irq_lock; | ||
| 907 | int chip_irq; | 823 | int chip_irq; |
| 908 | struct regmap_irq_chip_data *irq_data; | 824 | int irq_base; |
| 825 | int irq_num; | ||
| 826 | u32 irq_mask; | ||
| 909 | }; | 827 | }; |
| 910 | 828 | ||
| 911 | struct tps65910_platform_data { | 829 | struct tps65910_platform_data { |
| @@ -913,44 +831,16 @@ struct tps65910_platform_data { | |||
| 913 | int irq_base; | 831 | int irq_base; |
| 914 | }; | 832 | }; |
| 915 | 833 | ||
| 834 | int tps65910_set_bits(struct tps65910 *tps65910, u8 reg, u8 mask); | ||
| 835 | int tps65910_clear_bits(struct tps65910 *tps65910, u8 reg, u8 mask); | ||
| 836 | void tps65910_gpio_init(struct tps65910 *tps65910, int gpio_base); | ||
| 837 | int tps65910_irq_init(struct tps65910 *tps65910, int irq, | ||
| 838 | struct tps65910_platform_data *pdata); | ||
| 839 | int tps65910_irq_exit(struct tps65910 *tps65910); | ||
| 840 | |||
| 916 | static inline int tps65910_chip_id(struct tps65910 *tps65910) | 841 | static inline int tps65910_chip_id(struct tps65910 *tps65910) |
| 917 | { | 842 | { |
| 918 | return tps65910->id; | 843 | return tps65910->id; |
| 919 | } | 844 | } |
| 920 | 845 | ||
| 921 | static inline int tps65910_reg_read(struct tps65910 *tps65910, u8 reg, | ||
| 922 | unsigned int *val) | ||
| 923 | { | ||
| 924 | return regmap_read(tps65910->regmap, reg, val); | ||
| 925 | } | ||
| 926 | |||
| 927 | static inline int tps65910_reg_write(struct tps65910 *tps65910, u8 reg, | ||
| 928 | unsigned int val) | ||
| 929 | { | ||
| 930 | return regmap_write(tps65910->regmap, reg, val); | ||
| 931 | } | ||
| 932 | |||
| 933 | static inline int tps65910_reg_set_bits(struct tps65910 *tps65910, u8 reg, | ||
| 934 | u8 mask) | ||
| 935 | { | ||
| 936 | return regmap_update_bits(tps65910->regmap, reg, mask, mask); | ||
| 937 | } | ||
| 938 | |||
| 939 | static inline int tps65910_reg_clear_bits(struct tps65910 *tps65910, u8 reg, | ||
| 940 | u8 mask) | ||
| 941 | { | ||
| 942 | return regmap_update_bits(tps65910->regmap, reg, mask, 0); | ||
| 943 | } | ||
| 944 | |||
| 945 | static inline int tps65910_reg_update_bits(struct tps65910 *tps65910, u8 reg, | ||
| 946 | u8 mask, u8 val) | ||
| 947 | { | ||
| 948 | return regmap_update_bits(tps65910->regmap, reg, mask, val); | ||
| 949 | } | ||
| 950 | |||
| 951 | static inline int tps65910_irq_get_virq(struct tps65910 *tps65910, int irq) | ||
| 952 | { | ||
| 953 | return regmap_irq_get_virq(tps65910->irq_data, irq); | ||
| 954 | } | ||
| 955 | |||
| 956 | #endif /* __LINUX_MFD_TPS65910_H */ | 846 | #endif /* __LINUX_MFD_TPS65910_H */ |
diff --git a/include/linux/mfd/tps80031.h b/include/linux/mfd/tps80031.h index 2c75c9c9318..1802dfefef0 100644 --- a/include/linux/mfd/tps80031.h +++ b/include/linux/mfd/tps80031.h | |||
| @@ -1,383 +1,30 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * tps80031.h -- TI TPS80031 and TI TPS80032 PMIC driver. | 2 | * include/linux/mfd/tps80031.c |
| 3 | * | 3 | * |
| 4 | * Copyright (c) 2012, NVIDIA Corporation. | 4 | * Core driver interface for TI TPS80031 PMIC |
| 5 | * | 5 | * |
| 6 | * Author: Laxman Dewangan <ldewangan@nvidia.com> | 6 | * Copyright (C) 2011 NVIDIA Corporation |
| 7 | * | 7 | * |
| 8 | * This program is free software; you can redistribute it and/or | 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * modify it under the terms of the GNU General Public License as | 9 | * it under the terms of the GNU General Public License as published by |
| 10 | * published by the Free Software Foundation version 2. | 10 | * the Free Software Foundation; either version 2 of the License, or |
| 11 | * (at your option) any later version. | ||
| 11 | * | 12 | * |
| 12 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind, | 13 | * This program is distributed in the hope that it will be useful, but WITHOUT |
| 13 | * whether express or implied; without even the implied warranty of | 14 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 15 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| 15 | * General Public License for more details. | 16 | * more details. |
| 17 | * | ||
| 18 | * You should have received a copy of the GNU General Public License along | ||
| 19 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 20 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 16 | * | 21 | * |
| 17 | * You should have received a copy of the GNU General Public License | ||
| 18 | * along with this program; if not, write to the Free Software | ||
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
| 20 | * 02111-1307, USA | ||
| 21 | */ | 22 | */ |
| 22 | 23 | ||
| 23 | #ifndef __LINUX_MFD_TPS80031_H | 24 | #ifndef __LINUX_MFD_TPS80031_H |
| 24 | #define __LINUX_MFD_TPS80031_H | 25 | #define __LINUX_MFD_TPS80031_H |
| 25 | 26 | ||
| 26 | #include <linux/device.h> | 27 | #include <linux/rtc.h> |
| 27 | #include <linux/regmap.h> | ||
| 28 | |||
| 29 | /* Pull-ups/Pull-downs */ | ||
| 30 | #define TPS80031_CFG_INPUT_PUPD1 0xF0 | ||
| 31 | #define TPS80031_CFG_INPUT_PUPD2 0xF1 | ||
| 32 | #define TPS80031_CFG_INPUT_PUPD3 0xF2 | ||
| 33 | #define TPS80031_CFG_INPUT_PUPD4 0xF3 | ||
| 34 | #define TPS80031_CFG_LDO_PD1 0xF4 | ||
| 35 | #define TPS80031_CFG_LDO_PD2 0xF5 | ||
| 36 | #define TPS80031_CFG_SMPS_PD 0xF6 | ||
| 37 | |||
| 38 | /* Real Time Clock */ | ||
| 39 | #define TPS80031_SECONDS_REG 0x00 | ||
| 40 | #define TPS80031_MINUTES_REG 0x01 | ||
| 41 | #define TPS80031_HOURS_REG 0x02 | ||
| 42 | #define TPS80031_DAYS_REG 0x03 | ||
| 43 | #define TPS80031_MONTHS_REG 0x04 | ||
| 44 | #define TPS80031_YEARS_REG 0x05 | ||
| 45 | #define TPS80031_WEEKS_REG 0x06 | ||
| 46 | #define TPS80031_ALARM_SECONDS_REG 0x08 | ||
| 47 | #define TPS80031_ALARM_MINUTES_REG 0x09 | ||
| 48 | #define TPS80031_ALARM_HOURS_REG 0x0A | ||
| 49 | #define TPS80031_ALARM_DAYS_REG 0x0B | ||
| 50 | #define TPS80031_ALARM_MONTHS_REG 0x0C | ||
| 51 | #define TPS80031_ALARM_YEARS_REG 0x0D | ||
| 52 | #define TPS80031_RTC_CTRL_REG 0x10 | ||
| 53 | #define TPS80031_RTC_STATUS_REG 0x11 | ||
| 54 | #define TPS80031_RTC_INTERRUPTS_REG 0x12 | ||
| 55 | #define TPS80031_RTC_COMP_LSB_REG 0x13 | ||
| 56 | #define TPS80031_RTC_COMP_MSB_REG 0x14 | ||
| 57 | #define TPS80031_RTC_RESET_STATUS_REG 0x16 | ||
| 58 | |||
| 59 | /*PMC Master Module */ | ||
| 60 | #define TPS80031_PHOENIX_START_CONDITION 0x1F | ||
| 61 | #define TPS80031_PHOENIX_MSK_TRANSITION 0x20 | ||
| 62 | #define TPS80031_STS_HW_CONDITIONS 0x21 | ||
| 63 | #define TPS80031_PHOENIX_LAST_TURNOFF_STS 0x22 | ||
| 64 | #define TPS80031_VSYSMIN_LO_THRESHOLD 0x23 | ||
| 65 | #define TPS80031_VSYSMIN_HI_THRESHOLD 0x24 | ||
| 66 | #define TPS80031_PHOENIX_DEV_ON 0x25 | ||
| 67 | #define TPS80031_STS_PWR_GRP_STATE 0x27 | ||
| 68 | #define TPS80031_PH_CFG_VSYSLOW 0x28 | ||
| 69 | #define TPS80031_PH_STS_BOOT 0x29 | ||
| 70 | #define TPS80031_PHOENIX_SENS_TRANSITION 0x2A | ||
| 71 | #define TPS80031_PHOENIX_SEQ_CFG 0x2B | ||
| 72 | #define TPS80031_PRIMARY_WATCHDOG_CFG 0X2C | ||
| 73 | #define TPS80031_KEY_PRESS_DUR_CFG 0X2D | ||
| 74 | #define TPS80031_SMPS_LDO_SHORT_STS 0x2E | ||
| 75 | |||
| 76 | /* PMC Slave Module - Broadcast */ | ||
| 77 | #define TPS80031_BROADCAST_ADDR_ALL 0x31 | ||
| 78 | #define TPS80031_BROADCAST_ADDR_REF 0x32 | ||
| 79 | #define TPS80031_BROADCAST_ADDR_PROV 0x33 | ||
| 80 | #define TPS80031_BROADCAST_ADDR_CLK_RST 0x34 | ||
| 81 | |||
| 82 | /* PMC Slave Module SMPS Regulators */ | ||
| 83 | #define TPS80031_SMPS4_CFG_TRANS 0x41 | ||
| 84 | #define TPS80031_SMPS4_CFG_STATE 0x42 | ||
| 85 | #define TPS80031_SMPS4_CFG_VOLTAGE 0x44 | ||
| 86 | #define TPS80031_VIO_CFG_TRANS 0x47 | ||
| 87 | #define TPS80031_VIO_CFG_STATE 0x48 | ||
| 88 | #define TPS80031_VIO_CFG_FORCE 0x49 | ||
| 89 | #define TPS80031_VIO_CFG_VOLTAGE 0x4A | ||
| 90 | #define TPS80031_VIO_CFG_STEP 0x48 | ||
| 91 | #define TPS80031_SMPS1_CFG_TRANS 0x53 | ||
| 92 | #define TPS80031_SMPS1_CFG_STATE 0x54 | ||
| 93 | #define TPS80031_SMPS1_CFG_FORCE 0x55 | ||
| 94 | #define TPS80031_SMPS1_CFG_VOLTAGE 0x56 | ||
| 95 | #define TPS80031_SMPS1_CFG_STEP 0x57 | ||
| 96 | #define TPS80031_SMPS2_CFG_TRANS 0x59 | ||
| 97 | #define TPS80031_SMPS2_CFG_STATE 0x5A | ||
| 98 | #define TPS80031_SMPS2_CFG_FORCE 0x5B | ||
| 99 | #define TPS80031_SMPS2_CFG_VOLTAGE 0x5C | ||
| 100 | #define TPS80031_SMPS2_CFG_STEP 0x5D | ||
| 101 | #define TPS80031_SMPS3_CFG_TRANS 0x65 | ||
| 102 | #define TPS80031_SMPS3_CFG_STATE 0x66 | ||
| 103 | #define TPS80031_SMPS3_CFG_VOLTAGE 0x68 | ||
| 104 | |||
| 105 | /* PMC Slave Module LDO Regulators */ | ||
| 106 | #define TPS80031_VANA_CFG_TRANS 0x81 | ||
| 107 | #define TPS80031_VANA_CFG_STATE 0x82 | ||
| 108 | #define TPS80031_VANA_CFG_VOLTAGE 0x83 | ||
| 109 | #define TPS80031_LDO2_CFG_TRANS 0x85 | ||
| 110 | #define TPS80031_LDO2_CFG_STATE 0x86 | ||
| 111 | #define TPS80031_LDO2_CFG_VOLTAGE 0x87 | ||
| 112 | #define TPS80031_LDO4_CFG_TRANS 0x89 | ||
| 113 | #define TPS80031_LDO4_CFG_STATE 0x8A | ||
| 114 | #define TPS80031_LDO4_CFG_VOLTAGE 0x8B | ||
| 115 | #define TPS80031_LDO3_CFG_TRANS 0x8D | ||
| 116 | #define TPS80031_LDO3_CFG_STATE 0x8E | ||
| 117 | #define TPS80031_LDO3_CFG_VOLTAGE 0x8F | ||
| 118 | #define TPS80031_LDO6_CFG_TRANS 0x91 | ||
| 119 | #define TPS80031_LDO6_CFG_STATE 0x92 | ||
| 120 | #define TPS80031_LDO6_CFG_VOLTAGE 0x93 | ||
| 121 | #define TPS80031_LDOLN_CFG_TRANS 0x95 | ||
| 122 | #define TPS80031_LDOLN_CFG_STATE 0x96 | ||
| 123 | #define TPS80031_LDOLN_CFG_VOLTAGE 0x97 | ||
| 124 | #define TPS80031_LDO5_CFG_TRANS 0x99 | ||
| 125 | #define TPS80031_LDO5_CFG_STATE 0x9A | ||
| 126 | #define TPS80031_LDO5_CFG_VOLTAGE 0x9B | ||
| 127 | #define TPS80031_LDO1_CFG_TRANS 0x9D | ||
| 128 | #define TPS80031_LDO1_CFG_STATE 0x9E | ||
| 129 | #define TPS80031_LDO1_CFG_VOLTAGE 0x9F | ||
| 130 | #define TPS80031_LDOUSB_CFG_TRANS 0xA1 | ||
| 131 | #define TPS80031_LDOUSB_CFG_STATE 0xA2 | ||
| 132 | #define TPS80031_LDOUSB_CFG_VOLTAGE 0xA3 | ||
| 133 | #define TPS80031_LDO7_CFG_TRANS 0xA5 | ||
| 134 | #define TPS80031_LDO7_CFG_STATE 0xA6 | ||
| 135 | #define TPS80031_LDO7_CFG_VOLTAGE 0xA7 | ||
| 136 | |||
| 137 | /* PMC Slave Module External Control */ | ||
| 138 | #define TPS80031_REGEN1_CFG_TRANS 0xAE | ||
| 139 | #define TPS80031_REGEN1_CFG_STATE 0xAF | ||
| 140 | #define TPS80031_REGEN2_CFG_TRANS 0xB1 | ||
| 141 | #define TPS80031_REGEN2_CFG_STATE 0xB2 | ||
| 142 | #define TPS80031_SYSEN_CFG_TRANS 0xB4 | ||
| 143 | #define TPS80031_SYSEN_CFG_STATE 0xB5 | ||
| 144 | |||
| 145 | /* PMC Slave Module Internal Control */ | ||
| 146 | #define TPS80031_NRESPWRON_CFG_TRANS 0xB7 | ||
| 147 | #define TPS80031_NRESPWRON_CFG_STATE 0xB8 | ||
| 148 | #define TPS80031_CLK32KAO_CFG_TRANS 0xBA | ||
| 149 | #define TPS80031_CLK32KAO_CFG_STATE 0xBB | ||
| 150 | #define TPS80031_CLK32KG_CFG_TRANS 0xBD | ||
| 151 | #define TPS80031_CLK32KG_CFG_STATE 0xBE | ||
| 152 | #define TPS80031_CLK32KAUDIO_CFG_TRANS 0xC0 | ||
| 153 | #define TPS80031_CLK32KAUDIO_CFG_STATE 0xC1 | ||
| 154 | #define TPS80031_VRTC_CFG_TRANS 0xC3 | ||
| 155 | #define TPS80031_VRTC_CFG_STATE 0xC4 | ||
| 156 | #define TPS80031_BIAS_CFG_TRANS 0xC6 | ||
| 157 | #define TPS80031_BIAS_CFG_STATE 0xC7 | ||
| 158 | #define TPS80031_VSYSMIN_HI_CFG_TRANS 0xC9 | ||
| 159 | #define TPS80031_VSYSMIN_HI_CFG_STATE 0xCA | ||
| 160 | #define TPS80031_RC6MHZ_CFG_TRANS 0xCC | ||
| 161 | #define TPS80031_RC6MHZ_CFG_STATE 0xCD | ||
| 162 | #define TPS80031_TMP_CFG_TRANS 0xCF | ||
| 163 | #define TPS80031_TMP_CFG_STATE 0xD0 | ||
| 164 | |||
| 165 | /* PMC Slave Module resources assignment */ | ||
| 166 | #define TPS80031_PREQ1_RES_ASS_A 0xD7 | ||
| 167 | #define TPS80031_PREQ1_RES_ASS_B 0xD8 | ||
| 168 | #define TPS80031_PREQ1_RES_ASS_C 0xD9 | ||
| 169 | #define TPS80031_PREQ2_RES_ASS_A 0xDA | ||
| 170 | #define TPS80031_PREQ2_RES_ASS_B 0xDB | ||
| 171 | #define TPS80031_PREQ2_RES_ASS_C 0xDC | ||
| 172 | #define TPS80031_PREQ3_RES_ASS_A 0xDD | ||
| 173 | #define TPS80031_PREQ3_RES_ASS_B 0xDE | ||
| 174 | #define TPS80031_PREQ3_RES_ASS_C 0xDF | ||
| 175 | |||
| 176 | /* PMC Slave Module Miscellaneous */ | ||
| 177 | #define TPS80031_SMPS_OFFSET 0xE0 | ||
| 178 | #define TPS80031_SMPS_MULT 0xE3 | ||
| 179 | #define TPS80031_MISC1 0xE4 | ||
| 180 | #define TPS80031_MISC2 0xE5 | ||
| 181 | #define TPS80031_BBSPOR_CFG 0xE6 | ||
| 182 | #define TPS80031_TMP_CFG 0xE7 | ||
| 183 | |||
| 184 | /* Battery Charging Controller and Indicator LED */ | ||
| 185 | #define TPS80031_CONTROLLER_CTRL2 0xDA | ||
| 186 | #define TPS80031_CONTROLLER_VSEL_COMP 0xDB | ||
| 187 | #define TPS80031_CHARGERUSB_VSYSREG 0xDC | ||
| 188 | #define TPS80031_CHARGERUSB_VICHRG_PC 0xDD | ||
| 189 | #define TPS80031_LINEAR_CHRG_STS 0xDE | ||
| 190 | #define TPS80031_CONTROLLER_INT_MASK 0xE0 | ||
| 191 | #define TPS80031_CONTROLLER_CTRL1 0xE1 | ||
| 192 | #define TPS80031_CONTROLLER_WDG 0xE2 | ||
| 193 | #define TPS80031_CONTROLLER_STAT1 0xE3 | ||
| 194 | #define TPS80031_CHARGERUSB_INT_STATUS 0xE4 | ||
| 195 | #define TPS80031_CHARGERUSB_INT_MASK 0xE5 | ||
| 196 | #define TPS80031_CHARGERUSB_STATUS_INT1 0xE6 | ||
| 197 | #define TPS80031_CHARGERUSB_STATUS_INT2 0xE7 | ||
| 198 | #define TPS80031_CHARGERUSB_CTRL1 0xE8 | ||
| 199 | #define TPS80031_CHARGERUSB_CTRL2 0xE9 | ||
| 200 | #define TPS80031_CHARGERUSB_CTRL3 0xEA | ||
| 201 | #define TPS80031_CHARGERUSB_STAT1 0xEB | ||
| 202 | #define TPS80031_CHARGERUSB_VOREG 0xEC | ||
| 203 | #define TPS80031_CHARGERUSB_VICHRG 0xED | ||
| 204 | #define TPS80031_CHARGERUSB_CINLIMIT 0xEE | ||
| 205 | #define TPS80031_CHARGERUSB_CTRLLIMIT1 0xEF | ||
| 206 | #define TPS80031_CHARGERUSB_CTRLLIMIT2 0xF0 | ||
| 207 | #define TPS80031_LED_PWM_CTRL1 0xF4 | ||
| 208 | #define TPS80031_LED_PWM_CTRL2 0xF5 | ||
| 209 | |||
| 210 | /* USB On-The-Go */ | ||
| 211 | #define TPS80031_BACKUP_REG 0xFA | ||
| 212 | #define TPS80031_USB_VENDOR_ID_LSB 0x00 | ||
| 213 | #define TPS80031_USB_VENDOR_ID_MSB 0x01 | ||
| 214 | #define TPS80031_USB_PRODUCT_ID_LSB 0x02 | ||
| 215 | #define TPS80031_USB_PRODUCT_ID_MSB 0x03 | ||
| 216 | #define TPS80031_USB_VBUS_CTRL_SET 0x04 | ||
| 217 | #define TPS80031_USB_VBUS_CTRL_CLR 0x05 | ||
| 218 | #define TPS80031_USB_ID_CTRL_SET 0x06 | ||
| 219 | #define TPS80031_USB_ID_CTRL_CLR 0x07 | ||
| 220 | #define TPS80031_USB_VBUS_INT_SRC 0x08 | ||
| 221 | #define TPS80031_USB_VBUS_INT_LATCH_SET 0x09 | ||
| 222 | #define TPS80031_USB_VBUS_INT_LATCH_CLR 0x0A | ||
| 223 | #define TPS80031_USB_VBUS_INT_EN_LO_SET 0x0B | ||
| 224 | #define TPS80031_USB_VBUS_INT_EN_LO_CLR 0x0C | ||
| 225 | #define TPS80031_USB_VBUS_INT_EN_HI_SET 0x0D | ||
| 226 | #define TPS80031_USB_VBUS_INT_EN_HI_CLR 0x0E | ||
| 227 | #define TPS80031_USB_ID_INT_SRC 0x0F | ||
| 228 | #define TPS80031_USB_ID_INT_LATCH_SET 0x10 | ||
| 229 | #define TPS80031_USB_ID_INT_LATCH_CLR 0x11 | ||
| 230 | #define TPS80031_USB_ID_INT_EN_LO_SET 0x12 | ||
| 231 | #define TPS80031_USB_ID_INT_EN_LO_CLR 0x13 | ||
| 232 | #define TPS80031_USB_ID_INT_EN_HI_SET 0x14 | ||
| 233 | #define TPS80031_USB_ID_INT_EN_HI_CLR 0x15 | ||
| 234 | #define TPS80031_USB_OTG_ADP_CTRL 0x16 | ||
| 235 | #define TPS80031_USB_OTG_ADP_HIGH 0x17 | ||
| 236 | #define TPS80031_USB_OTG_ADP_LOW 0x18 | ||
| 237 | #define TPS80031_USB_OTG_ADP_RISE 0x19 | ||
| 238 | #define TPS80031_USB_OTG_REVISION 0x1A | ||
| 239 | |||
| 240 | /* Gas Gauge */ | ||
| 241 | #define TPS80031_FG_REG_00 0xC0 | ||
| 242 | #define TPS80031_FG_REG_01 0xC1 | ||
| 243 | #define TPS80031_FG_REG_02 0xC2 | ||
| 244 | #define TPS80031_FG_REG_03 0xC3 | ||
| 245 | #define TPS80031_FG_REG_04 0xC4 | ||
| 246 | #define TPS80031_FG_REG_05 0xC5 | ||
| 247 | #define TPS80031_FG_REG_06 0xC6 | ||
| 248 | #define TPS80031_FG_REG_07 0xC7 | ||
| 249 | #define TPS80031_FG_REG_08 0xC8 | ||
| 250 | #define TPS80031_FG_REG_09 0xC9 | ||
| 251 | #define TPS80031_FG_REG_10 0xCA | ||
| 252 | #define TPS80031_FG_REG_11 0xCB | ||
| 253 | |||
| 254 | /* General Purpose ADC */ | ||
| 255 | #define TPS80031_GPADC_CTRL 0x2E | ||
| 256 | #define TPS80031_GPADC_CTRL2 0x2F | ||
| 257 | #define TPS80031_RTSELECT_LSB 0x32 | ||
| 258 | #define TPS80031_RTSELECT_ISB 0x33 | ||
| 259 | #define TPS80031_RTSELECT_MSB 0x34 | ||
| 260 | #define TPS80031_GPSELECT_ISB 0x35 | ||
| 261 | #define TPS80031_CTRL_P1 0x36 | ||
| 262 | #define TPS80031_RTCH0_LSB 0x37 | ||
| 263 | #define TPS80031_RTCH0_MSB 0x38 | ||
| 264 | #define TPS80031_RTCH1_LSB 0x39 | ||
| 265 | #define TPS80031_RTCH1_MSB 0x3A | ||
| 266 | #define TPS80031_GPCH0_LSB 0x3B | ||
| 267 | #define TPS80031_GPCH0_MSB 0x3C | ||
| 268 | |||
| 269 | /* SIM, MMC and Battery Detection */ | ||
| 270 | #define TPS80031_SIMDEBOUNCING 0xEB | ||
| 271 | #define TPS80031_SIMCTRL 0xEC | ||
| 272 | #define TPS80031_MMCDEBOUNCING 0xED | ||
| 273 | #define TPS80031_MMCCTRL 0xEE | ||
| 274 | #define TPS80031_BATDEBOUNCING 0xEF | ||
| 275 | |||
| 276 | /* Vibrator Driver and PWMs */ | ||
| 277 | #define TPS80031_VIBCTRL 0x9B | ||
| 278 | #define TPS80031_VIBMODE 0x9C | ||
| 279 | #define TPS80031_PWM1ON 0xBA | ||
| 280 | #define TPS80031_PWM1OFF 0xBB | ||
| 281 | #define TPS80031_PWM2ON 0xBD | ||
| 282 | #define TPS80031_PWM2OFF 0xBE | ||
| 283 | |||
| 284 | /* Control Interface */ | ||
| 285 | #define TPS80031_INT_STS_A 0xD0 | ||
| 286 | #define TPS80031_INT_STS_B 0xD1 | ||
| 287 | #define TPS80031_INT_STS_C 0xD2 | ||
| 288 | #define TPS80031_INT_MSK_LINE_A 0xD3 | ||
| 289 | #define TPS80031_INT_MSK_LINE_B 0xD4 | ||
| 290 | #define TPS80031_INT_MSK_LINE_C 0xD5 | ||
| 291 | #define TPS80031_INT_MSK_STS_A 0xD6 | ||
| 292 | #define TPS80031_INT_MSK_STS_B 0xD7 | ||
| 293 | #define TPS80031_INT_MSK_STS_C 0xD8 | ||
| 294 | #define TPS80031_TOGGLE1 0x90 | ||
| 295 | #define TPS80031_TOGGLE2 0x91 | ||
| 296 | #define TPS80031_TOGGLE3 0x92 | ||
| 297 | #define TPS80031_PWDNSTATUS1 0x93 | ||
| 298 | #define TPS80031_PWDNSTATUS2 0x94 | ||
| 299 | #define TPS80031_VALIDITY0 0x17 | ||
| 300 | #define TPS80031_VALIDITY1 0x18 | ||
| 301 | #define TPS80031_VALIDITY2 0x19 | ||
| 302 | #define TPS80031_VALIDITY3 0x1A | ||
| 303 | #define TPS80031_VALIDITY4 0x1B | ||
| 304 | #define TPS80031_VALIDITY5 0x1C | ||
| 305 | #define TPS80031_VALIDITY6 0x1D | ||
| 306 | #define TPS80031_VALIDITY7 0x1E | ||
| 307 | |||
| 308 | /* Version number related register */ | ||
| 309 | #define TPS80031_JTAGVERNUM 0x87 | ||
| 310 | #define TPS80031_EPROM_REV 0xDF | ||
| 311 | |||
| 312 | /* GPADC Trimming Bits. */ | ||
| 313 | #define TPS80031_GPADC_TRIM0 0xCC | ||
| 314 | #define TPS80031_GPADC_TRIM1 0xCD | ||
| 315 | #define TPS80031_GPADC_TRIM2 0xCE | ||
| 316 | #define TPS80031_GPADC_TRIM3 0xCF | ||
| 317 | #define TPS80031_GPADC_TRIM4 0xD0 | ||
| 318 | #define TPS80031_GPADC_TRIM5 0xD1 | ||
| 319 | #define TPS80031_GPADC_TRIM6 0xD2 | ||
| 320 | #define TPS80031_GPADC_TRIM7 0xD3 | ||
| 321 | #define TPS80031_GPADC_TRIM8 0xD4 | ||
| 322 | #define TPS80031_GPADC_TRIM9 0xD5 | ||
| 323 | #define TPS80031_GPADC_TRIM10 0xD6 | ||
| 324 | #define TPS80031_GPADC_TRIM11 0xD7 | ||
| 325 | #define TPS80031_GPADC_TRIM12 0xD8 | ||
| 326 | #define TPS80031_GPADC_TRIM13 0xD9 | ||
| 327 | #define TPS80031_GPADC_TRIM14 0xDA | ||
| 328 | #define TPS80031_GPADC_TRIM15 0xDB | ||
| 329 | #define TPS80031_GPADC_TRIM16 0xDC | ||
| 330 | #define TPS80031_GPADC_TRIM17 0xDD | ||
| 331 | #define TPS80031_GPADC_TRIM18 0xDE | ||
| 332 | |||
| 333 | /* TPS80031_CONTROLLER_STAT1 bit fields */ | ||
| 334 | #define TPS80031_CONTROLLER_STAT1_BAT_TEMP 0 | ||
| 335 | #define TPS80031_CONTROLLER_STAT1_BAT_REMOVED 1 | ||
| 336 | #define TPS80031_CONTROLLER_STAT1_VBUS_DET 2 | ||
| 337 | #define TPS80031_CONTROLLER_STAT1_VAC_DET 3 | ||
| 338 | #define TPS80031_CONTROLLER_STAT1_FAULT_WDG 4 | ||
| 339 | #define TPS80031_CONTROLLER_STAT1_LINCH_GATED 6 | ||
| 340 | /* TPS80031_CONTROLLER_INT_MASK bit filed */ | ||
| 341 | #define TPS80031_CONTROLLER_INT_MASK_MVAC_DET 0 | ||
| 342 | #define TPS80031_CONTROLLER_INT_MASK_MVBUS_DET 1 | ||
| 343 | #define TPS80031_CONTROLLER_INT_MASK_MBAT_TEMP 2 | ||
| 344 | #define TPS80031_CONTROLLER_INT_MASK_MFAULT_WDG 3 | ||
| 345 | #define TPS80031_CONTROLLER_INT_MASK_MBAT_REMOVED 4 | ||
| 346 | #define TPS80031_CONTROLLER_INT_MASK_MLINCH_GATED 5 | ||
| 347 | |||
| 348 | #define TPS80031_CHARGE_CONTROL_SUB_INT_MASK 0x3F | ||
| 349 | |||
| 350 | /* TPS80031_PHOENIX_DEV_ON bit field */ | ||
| 351 | #define TPS80031_DEVOFF 0x1 | ||
| 352 | |||
| 353 | #define TPS80031_EXT_CONTROL_CFG_TRANS 0 | ||
| 354 | #define TPS80031_EXT_CONTROL_CFG_STATE 1 | ||
| 355 | |||
| 356 | /* State register field */ | ||
| 357 | #define TPS80031_STATE_OFF 0x00 | ||
| 358 | #define TPS80031_STATE_ON 0x01 | ||
| 359 | #define TPS80031_STATE_MASK 0x03 | ||
| 360 | |||
| 361 | /* Trans register field */ | ||
| 362 | #define TPS80031_TRANS_ACTIVE_OFF 0x00 | ||
| 363 | #define TPS80031_TRANS_ACTIVE_ON 0x01 | ||
| 364 | #define TPS80031_TRANS_ACTIVE_MASK 0x03 | ||
| 365 | #define TPS80031_TRANS_SLEEP_OFF 0x00 | ||
| 366 | #define TPS80031_TRANS_SLEEP_ON 0x04 | ||
| 367 | #define TPS80031_TRANS_SLEEP_MASK 0x0C | ||
| 368 | #define TPS80031_TRANS_OFF_OFF 0x00 | ||
| 369 | #define TPS80031_TRANS_OFF_ACTIVE 0x10 | ||
| 370 | #define TPS80031_TRANS_OFF_MASK 0x30 | ||
| 371 | |||
| 372 | #define TPS80031_EXT_PWR_REQ (TPS80031_PWR_REQ_INPUT_PREQ1 | \ | ||
| 373 | TPS80031_PWR_REQ_INPUT_PREQ2 | \ | ||
| 374 | TPS80031_PWR_REQ_INPUT_PREQ3) | ||
| 375 | |||
| 376 | /* TPS80031_BBSPOR_CFG bit field */ | ||
| 377 | #define TPS80031_BBSPOR_CHG_EN 0x8 | ||
| 378 | #define TPS80031_MAX_REGISTER 0xFF | ||
| 379 | |||
| 380 | struct i2c_client; | ||
| 381 | 28 | ||
| 382 | /* Supported chips */ | 29 | /* Supported chips */ |
| 383 | enum chips { | 30 | enum chips { |
| @@ -421,217 +68,136 @@ enum { | |||
| 421 | TPS80031_INT_NR, | 68 | TPS80031_INT_NR, |
| 422 | }; | 69 | }; |
| 423 | 70 | ||
| 424 | /* TPS80031 Slave IDs */ | 71 | enum adc_channel { |
| 425 | #define TPS80031_NUM_SLAVES 4 | 72 | BATTERY_TYPE = 0, /* External ADC */ |
| 426 | #define TPS80031_SLAVE_ID0 0 | 73 | BATTERY_TEMPERATURE = 1, /* External ADC */ |
| 427 | #define TPS80031_SLAVE_ID1 1 | 74 | AUDIO_ACCESSORY = 2, /* External ADC */ |
| 428 | #define TPS80031_SLAVE_ID2 2 | 75 | TEMPERATURE_EXTERNAL_DIODE = 3, /* External ADC */ |
| 429 | #define TPS80031_SLAVE_ID3 3 | 76 | TEMPERATURE_MEASUREMENT = 4, /* External ADC */ |
| 77 | GENERAL_PURPOSE_1 = 5, /* External ADC */ | ||
| 78 | GENERAL_PURPOSE_2 = 6, /* External ADC */ | ||
| 79 | SYSTEM_SUPPLY = 7, /* Internal ADC */ | ||
| 80 | BACKUP_BATTERY = 8, /* Internal ADC */ | ||
| 81 | EXTERNAL_CHARGER_INPUT = 9, /* Internal ADC */ | ||
| 82 | VBUS = 10, /* Internal ADC */ | ||
| 83 | VBUS_DCDC_OUTPUT_CURRENT = 11, /* Internal ADC */ | ||
| 84 | DIE_TEMPERATURE_1 = 12, /* Internal ADC */ | ||
| 85 | DIE_TEMPERATURE_2 = 13, /* Internal ADC */ | ||
| 86 | USB_ID_LINE = 14, /* Internal ADC */ | ||
| 87 | TEST_NETWORK_1 = 15, /* Internal ADC */ | ||
| 88 | TEST_NETWORK_2 = 16, /* Internal ADC */ | ||
| 89 | BATTERY_CHARGING_CURRENT = 17, /* Internal ADC */ | ||
| 90 | BATTERY_VOLTAGE = 18, /* Internal ADC */ | ||
| 91 | }; | ||
| 430 | 92 | ||
| 431 | /* TPS80031 I2C addresses */ | 93 | enum TPS80031_GPIO { |
| 432 | #define TPS80031_I2C_ID0_ADDR 0x12 | 94 | TPS80031_GPIO_REGEN1, |
| 433 | #define TPS80031_I2C_ID1_ADDR 0x48 | 95 | TPS80031_GPIO_REGEN2, |
| 434 | #define TPS80031_I2C_ID2_ADDR 0x49 | 96 | TPS80031_GPIO_SYSEN, |
| 435 | #define TPS80031_I2C_ID3_ADDR 0x4A | ||
| 436 | 97 | ||
| 437 | enum { | 98 | /* Last entry */ |
| 438 | TPS80031_REGULATOR_VIO, | 99 | TPS80031_GPIO_NR, |
| 439 | TPS80031_REGULATOR_SMPS1, | ||
| 440 | TPS80031_REGULATOR_SMPS2, | ||
| 441 | TPS80031_REGULATOR_SMPS3, | ||
| 442 | TPS80031_REGULATOR_SMPS4, | ||
| 443 | TPS80031_REGULATOR_VANA, | ||
| 444 | TPS80031_REGULATOR_LDO1, | ||
| 445 | TPS80031_REGULATOR_LDO2, | ||
| 446 | TPS80031_REGULATOR_LDO3, | ||
| 447 | TPS80031_REGULATOR_LDO4, | ||
| 448 | TPS80031_REGULATOR_LDO5, | ||
| 449 | TPS80031_REGULATOR_LDO6, | ||
| 450 | TPS80031_REGULATOR_LDO7, | ||
| 451 | TPS80031_REGULATOR_LDOLN, | ||
| 452 | TPS80031_REGULATOR_LDOUSB, | ||
| 453 | TPS80031_REGULATOR_VBUS, | ||
| 454 | TPS80031_REGULATOR_REGEN1, | ||
| 455 | TPS80031_REGULATOR_REGEN2, | ||
| 456 | TPS80031_REGULATOR_SYSEN, | ||
| 457 | TPS80031_REGULATOR_MAX, | ||
| 458 | }; | 100 | }; |
| 459 | 101 | ||
| 460 | /* Different configurations for the rails */ | 102 | enum TPS80031_CLOCK32K { |
| 461 | enum { | 103 | TPS80031_CLOCK32K_AO, |
| 462 | /* USBLDO input selection */ | 104 | TPS80031_CLOCK32K_G, |
| 463 | TPS80031_USBLDO_INPUT_VSYS = 0x00000001, | 105 | TPS80031_CLOCK32K_AUDIO, |
| 464 | TPS80031_USBLDO_INPUT_PMID = 0x00000002, | ||
| 465 | |||
| 466 | /* LDO3 output mode */ | ||
| 467 | TPS80031_LDO3_OUTPUT_VIB = 0x00000004, | ||
| 468 | 106 | ||
| 469 | /* VBUS configuration */ | 107 | /* Last entry */ |
| 470 | TPS80031_VBUS_DISCHRG_EN_PDN = 0x00000004, | 108 | TPS80031_CLOCK32K_NR, |
| 471 | TPS80031_VBUS_SW_ONLY = 0x00000008, | ||
| 472 | TPS80031_VBUS_SW_N_ID = 0x00000010, | ||
| 473 | }; | 109 | }; |
| 474 | 110 | ||
| 475 | /* External controls requests */ | 111 | enum { |
| 476 | enum tps80031_ext_control { | 112 | SLAVE_ID0 = 0, |
| 477 | TPS80031_PWR_REQ_INPUT_NONE = 0x00000000, | 113 | SLAVE_ID1 = 1, |
| 478 | TPS80031_PWR_REQ_INPUT_PREQ1 = 0x00000001, | 114 | SLAVE_ID2 = 2, |
| 479 | TPS80031_PWR_REQ_INPUT_PREQ2 = 0x00000002, | 115 | SLAVE_ID3 = 3, |
| 480 | TPS80031_PWR_REQ_INPUT_PREQ3 = 0x00000004, | ||
| 481 | TPS80031_PWR_OFF_ON_SLEEP = 0x00000008, | ||
| 482 | TPS80031_PWR_ON_ON_SLEEP = 0x00000010, | ||
| 483 | }; | 116 | }; |
| 484 | 117 | ||
| 485 | enum tps80031_pupd_pins { | 118 | enum { |
| 486 | TPS80031_PREQ1 = 0, | 119 | I2C_ID0_ADDR = 0x12, |
| 487 | TPS80031_PREQ2A, | 120 | I2C_ID1_ADDR = 0x48, |
| 488 | TPS80031_PREQ2B, | 121 | I2C_ID2_ADDR = 0x49, |
| 489 | TPS80031_PREQ2C, | 122 | I2C_ID3_ADDR = 0x4A, |
| 490 | TPS80031_PREQ3, | ||
| 491 | TPS80031_NRES_WARM, | ||
| 492 | TPS80031_PWM_FORCE, | ||
| 493 | TPS80031_CHRG_EXT_CHRG_STATZ, | ||
| 494 | TPS80031_SIM, | ||
| 495 | TPS80031_MMC, | ||
| 496 | TPS80031_GPADC_START, | ||
| 497 | TPS80031_DVSI2C_SCL, | ||
| 498 | TPS80031_DVSI2C_SDA, | ||
| 499 | TPS80031_CTLI2C_SCL, | ||
| 500 | TPS80031_CTLI2C_SDA, | ||
| 501 | }; | 123 | }; |
| 502 | 124 | ||
| 503 | enum tps80031_pupd_settings { | 125 | /* External controls requests */ |
| 504 | TPS80031_PUPD_NORMAL, | 126 | enum tps80031_ext_control { |
| 505 | TPS80031_PUPD_PULLDOWN, | 127 | PWR_REQ_INPUT_NONE = 0x00000000, |
| 506 | TPS80031_PUPD_PULLUP, | 128 | PWR_REQ_INPUT_PREQ1 = 0x00000001, |
| 129 | PWR_REQ_INPUT_PREQ2 = 0x00000002, | ||
| 130 | PWR_REQ_INPUT_PREQ3 = 0x00000004, | ||
| 131 | PWR_OFF_ON_SLEEP = 0x00000008, | ||
| 132 | PWR_ON_ON_SLEEP = 0x00000010, | ||
| 507 | }; | 133 | }; |
| 508 | 134 | ||
| 509 | struct tps80031 { | 135 | struct tps80031_subdev_info { |
| 510 | struct device *dev; | 136 | int id; |
| 511 | unsigned long chip_info; | 137 | const char *name; |
| 512 | int es_version; | 138 | void *platform_data; |
| 513 | struct i2c_client *clients[TPS80031_NUM_SLAVES]; | ||
| 514 | struct regmap *regmap[TPS80031_NUM_SLAVES]; | ||
| 515 | struct regmap_irq_chip_data *irq_data; | ||
| 516 | }; | 139 | }; |
| 517 | 140 | ||
| 518 | struct tps80031_pupd_init_data { | 141 | struct tps80031_rtc_platform_data { |
| 519 | int input_pin; | 142 | int irq; |
| 520 | int setting; | 143 | struct rtc_time time; |
| 521 | }; | 144 | }; |
| 522 | 145 | ||
| 523 | /* | 146 | struct tps80031_clk32k_init_data { |
| 524 | * struct tps80031_regulator_platform_data - tps80031 regulator platform data. | 147 | int clk32k_nr; |
| 525 | * | 148 | bool enable; |
| 526 | * @reg_init_data: The regulator init data. | 149 | unsigned long ext_ctrl_flag; |
| 527 | * @ext_ctrl_flag: External control flag for sleep/power request control. | 150 | }; |
| 528 | * @config_flags: Configuration flag to configure the rails. | ||
| 529 | * It should be ORed of config enums. | ||
| 530 | */ | ||
| 531 | 151 | ||
| 532 | struct tps80031_regulator_platform_data { | 152 | struct tps80031_gpio_init_data { |
| 533 | struct regulator_init_data *reg_init_data; | 153 | int gpio_nr; |
| 534 | unsigned int ext_ctrl_flag; | 154 | unsigned long ext_ctrl_flag; |
| 535 | unsigned int config_flags; | ||
| 536 | }; | 155 | }; |
| 537 | 156 | ||
| 538 | struct tps80031_platform_data { | 157 | struct tps80031_platform_data { |
| 158 | int num_subdevs; | ||
| 159 | struct tps80031_subdev_info *subdevs; | ||
| 160 | int gpio_base; | ||
| 539 | int irq_base; | 161 | int irq_base; |
| 162 | struct tps80031_32kclock_plat_data *clk32k_pdata; | ||
| 163 | struct tps80031_gpio_init_data *gpio_init_data; | ||
| 164 | int gpio_init_data_size; | ||
| 165 | struct tps80031_clk32k_init_data *clk32k_init_data; | ||
| 166 | int clk32k_init_data_size; | ||
| 540 | bool use_power_off; | 167 | bool use_power_off; |
| 541 | struct tps80031_pupd_init_data *pupd_init_data; | ||
| 542 | int pupd_init_data_size; | ||
| 543 | struct tps80031_regulator_platform_data | ||
| 544 | *regulator_pdata[TPS80031_REGULATOR_MAX]; | ||
| 545 | }; | 168 | }; |
| 546 | 169 | ||
| 547 | static inline int tps80031_write(struct device *dev, int sid, | 170 | struct tps80031_bg_platform_data { |
| 548 | int reg, uint8_t val) | 171 | int irq_base; |
| 549 | { | 172 | int battery_present; |
| 550 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | 173 | }; |
| 551 | |||
| 552 | return regmap_write(tps80031->regmap[sid], reg, val); | ||
| 553 | } | ||
| 554 | |||
| 555 | static inline int tps80031_writes(struct device *dev, int sid, int reg, | ||
| 556 | int len, uint8_t *val) | ||
| 557 | { | ||
| 558 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 559 | |||
| 560 | return regmap_bulk_write(tps80031->regmap[sid], reg, val, len); | ||
| 561 | } | ||
| 562 | |||
| 563 | static inline int tps80031_read(struct device *dev, int sid, | ||
| 564 | int reg, uint8_t *val) | ||
| 565 | { | ||
| 566 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 567 | unsigned int ival; | ||
| 568 | int ret; | ||
| 569 | |||
| 570 | ret = regmap_read(tps80031->regmap[sid], reg, &ival); | ||
| 571 | if (ret < 0) { | ||
| 572 | dev_err(dev, "failed reading from reg 0x%02x\n", reg); | ||
| 573 | return ret; | ||
| 574 | } | ||
| 575 | |||
| 576 | *val = ival; | ||
| 577 | return ret; | ||
| 578 | } | ||
| 579 | |||
| 580 | static inline int tps80031_reads(struct device *dev, int sid, | ||
| 581 | int reg, int len, uint8_t *val) | ||
| 582 | { | ||
| 583 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 584 | |||
| 585 | return regmap_bulk_read(tps80031->regmap[sid], reg, val, len); | ||
| 586 | } | ||
| 587 | |||
| 588 | static inline int tps80031_set_bits(struct device *dev, int sid, | ||
| 589 | int reg, uint8_t bit_mask) | ||
| 590 | { | ||
| 591 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 592 | |||
| 593 | return regmap_update_bits(tps80031->regmap[sid], reg, | ||
| 594 | bit_mask, bit_mask); | ||
| 595 | } | ||
| 596 | |||
| 597 | static inline int tps80031_clr_bits(struct device *dev, int sid, | ||
| 598 | int reg, uint8_t bit_mask) | ||
| 599 | { | ||
| 600 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 601 | |||
| 602 | return regmap_update_bits(tps80031->regmap[sid], reg, bit_mask, 0); | ||
| 603 | } | ||
| 604 | |||
| 605 | static inline int tps80031_update(struct device *dev, int sid, | ||
| 606 | int reg, uint8_t val, uint8_t mask) | ||
| 607 | { | ||
| 608 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 609 | |||
| 610 | return regmap_update_bits(tps80031->regmap[sid], reg, mask, val); | ||
| 611 | } | ||
| 612 | |||
| 613 | static inline unsigned long tps80031_get_chip_info(struct device *dev) | ||
| 614 | { | ||
| 615 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 616 | |||
| 617 | return tps80031->chip_info; | ||
| 618 | } | ||
| 619 | 174 | ||
| 620 | static inline int tps80031_get_pmu_version(struct device *dev) | 175 | /* |
| 621 | { | 176 | * NOTE: the functions below are not intended for use outside |
| 622 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | 177 | * of the TPS80031 sub-device drivers |
| 178 | */ | ||
| 179 | extern int tps80031_write(struct device *dev, int sid, int reg, uint8_t val); | ||
| 180 | extern int tps80031_writes(struct device *dev, int sid, int reg, int len, | ||
| 181 | uint8_t *val); | ||
| 182 | extern int tps80031_read(struct device *dev, int sid, int reg, uint8_t *val); | ||
| 183 | extern int tps80031_reads(struct device *dev, int sid, int reg, int len, | ||
| 184 | uint8_t *val); | ||
| 185 | extern int tps80031_set_bits(struct device *dev, int sid, int reg, | ||
| 186 | uint8_t bit_mask); | ||
| 187 | extern int tps80031_clr_bits(struct device *dev, int sid, int reg, | ||
| 188 | uint8_t bit_mask); | ||
| 189 | extern int tps80031_update(struct device *dev, int sid, int reg, uint8_t val, | ||
| 190 | uint8_t mask); | ||
| 191 | extern int tps80031_force_update(struct device *dev, int sid, int reg, | ||
| 192 | uint8_t val, uint8_t mask); | ||
| 193 | extern int tps80031_ext_power_req_config(struct device *dev, | ||
| 194 | unsigned long ext_ctrl_flag, int preq_bit, | ||
| 195 | int state_reg_add, int trans_reg_add); | ||
| 623 | 196 | ||
| 624 | return tps80031->es_version; | 197 | extern unsigned long tps80031_get_chip_info(struct device *dev); |
| 625 | } | ||
| 626 | 198 | ||
| 627 | static inline int tps80031_irq_get_virq(struct device *dev, int irq) | 199 | extern int tps80031_gpadc_conversion(int channle_no); |
| 628 | { | ||
| 629 | struct tps80031 *tps80031 = dev_get_drvdata(dev); | ||
| 630 | 200 | ||
| 631 | return regmap_irq_get_virq(tps80031->irq_data, irq); | 201 | extern int tps80031_get_pmu_version(struct device *dev); |
| 632 | } | ||
| 633 | 202 | ||
| 634 | extern int tps80031_ext_power_req_config(struct device *dev, | ||
| 635 | unsigned long ext_ctrl_flag, int preq_bit, | ||
| 636 | int state_reg_add, int trans_reg_add); | ||
| 637 | #endif /*__LINUX_MFD_TPS80031_H */ | 203 | #endif /*__LINUX_MFD_TPS80031_H */ |
diff --git a/include/linux/mfd/twl6040.h b/include/linux/mfd/twl6040.h index 94ac944d12f..4c806f6d663 100644 --- a/include/linux/mfd/twl6040.h +++ b/include/linux/mfd/twl6040.h | |||
| @@ -27,7 +27,6 @@ | |||
| 27 | 27 | ||
| 28 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
| 29 | #include <linux/mfd/core.h> | 29 | #include <linux/mfd/core.h> |
| 30 | #include <linux/regulator/consumer.h> | ||
| 31 | 30 | ||
| 32 | #define TWL6040_REG_ASICID 0x01 | 31 | #define TWL6040_REG_ASICID 0x01 |
| 33 | #define TWL6040_REG_ASICREV 0x02 | 32 | #define TWL6040_REG_ASICREV 0x02 |
| @@ -69,6 +68,11 @@ | |||
| 69 | #define TWL6040_REG_ACCCTL 0x2D | 68 | #define TWL6040_REG_ACCCTL 0x2D |
| 70 | #define TWL6040_REG_STATUS 0x2E | 69 | #define TWL6040_REG_STATUS 0x2E |
| 71 | 70 | ||
| 71 | #define TWL6040_CACHEREGNUM (TWL6040_REG_STATUS + 1) | ||
| 72 | |||
| 73 | #define TWL6040_VIOREGNUM 18 | ||
| 74 | #define TWL6040_VDDREGNUM 21 | ||
| 75 | |||
| 72 | /* INTID (0x03) fields */ | 76 | /* INTID (0x03) fields */ |
| 73 | 77 | ||
| 74 | #define TWL6040_THINT 0x01 | 78 | #define TWL6040_THINT 0x01 |
| @@ -121,29 +125,39 @@ | |||
| 121 | #define TWL6040_LPLLFIN 0x08 | 125 | #define TWL6040_LPLLFIN 0x08 |
| 122 | #define TWL6040_HPLLSEL 0x10 | 126 | #define TWL6040_HPLLSEL 0x10 |
| 123 | 127 | ||
| 124 | /* HSLCTL/R (0x10/0x11) fields */ | 128 | /* HSLCTL (0x10) fields */ |
| 129 | |||
| 130 | #define TWL6040_HSDACMODEL 0x02 | ||
| 131 | #define TWL6040_HSDRVMODEL 0x08 | ||
| 125 | 132 | ||
| 126 | #define TWL6040_HSDACENA (1 << 0) | 133 | /* HSRCTL (0x11) fields */ |
| 127 | #define TWL6040_HSDACMODE (1 << 1) | ||
| 128 | #define TWL6040_HSDRVMODE (1 << 3) | ||
| 129 | 134 | ||
| 130 | /* VIBCTLL/R (0x18/0x1A) fields */ | 135 | #define TWL6040_HSDACMODER 0x02 |
| 136 | #define TWL6040_HSDRVMODER 0x08 | ||
| 131 | 137 | ||
| 132 | #define TWL6040_VIBENA (1 << 0) | 138 | /* VIBCTLL (0x18) fields */ |
| 133 | #define TWL6040_VIBSEL (1 << 1) | ||
| 134 | #define TWL6040_VIBCTRL (1 << 2) | ||
| 135 | #define TWL6040_VIBCTRL_P (1 << 3) | ||
| 136 | #define TWL6040_VIBCTRL_N (1 << 4) | ||
| 137 | 139 | ||
| 138 | /* VIBDATL/R (0x19/0x1B) fields */ | 140 | #define TWL6040_VIBENAL 0x01 |
| 141 | #define TWL6040_VIBCTRLL 0x04 | ||
| 142 | #define TWL6040_VIBCTRLLP 0x08 | ||
| 143 | #define TWL6040_VIBCTRLLN 0x10 | ||
| 144 | |||
| 145 | /* VIBDATL (0x19) fields */ | ||
| 139 | 146 | ||
| 140 | #define TWL6040_VIBDAT_MAX 0x64 | 147 | #define TWL6040_VIBDAT_MAX 0x64 |
| 141 | 148 | ||
| 149 | /* VIBCTLR (0x1A) fields */ | ||
| 150 | |||
| 151 | #define TWL6040_VIBENAR 0x01 | ||
| 152 | #define TWL6040_VIBCTRLR 0x04 | ||
| 153 | #define TWL6040_VIBCTRLRP 0x08 | ||
| 154 | #define TWL6040_VIBCTRLRN 0x10 | ||
| 155 | |||
| 142 | /* GPOCTL (0x1E) fields */ | 156 | /* GPOCTL (0x1E) fields */ |
| 143 | 157 | ||
| 144 | #define TWL6040_GPO1 0x01 | 158 | #define TWL6040_GPO1 0x01 |
| 145 | #define TWL6040_GPO2 0x02 | 159 | #define TWL6040_GPO2 0x02 |
| 146 | #define TWL6040_GPO3 0x04 | 160 | #define TWL6040_GPO3 0x03 |
| 147 | 161 | ||
| 148 | /* ACCCTL (0x2D) fields */ | 162 | /* ACCCTL (0x2D) fields */ |
| 149 | 163 | ||
| @@ -158,12 +172,11 @@ | |||
| 158 | #define TWL6040_VIBROCDET 0x20 | 172 | #define TWL6040_VIBROCDET 0x20 |
| 159 | #define TWL6040_TSHUTDET 0x40 | 173 | #define TWL6040_TSHUTDET 0x40 |
| 160 | 174 | ||
| 161 | #define TWL6040_CELLS 3 | 175 | #define TWL6040_CELLS 2 |
| 162 | 176 | ||
| 163 | #define TWL6040_REV_ES1_0 0x00 | 177 | #define TWL6040_REV_ES1_0 0x00 |
| 164 | #define TWL6040_REV_ES1_1 0x01 /* Rev ES1.1 and ES1.2 */ | 178 | #define TWL6040_REV_ES1_1 0x01 |
| 165 | #define TWL6040_REV_ES1_3 0x02 | 179 | #define TWL6040_REV_ES1_2 0x02 |
| 166 | #define TWL6041_REV_ES2_0 0x10 | ||
| 167 | 180 | ||
| 168 | #define TWL6040_IRQ_TH 0 | 181 | #define TWL6040_IRQ_TH 0 |
| 169 | #define TWL6040_IRQ_PLUG 1 | 182 | #define TWL6040_IRQ_PLUG 1 |
| @@ -176,45 +189,10 @@ | |||
| 176 | #define TWL6040_SYSCLK_SEL_LPPLL 0 | 189 | #define TWL6040_SYSCLK_SEL_LPPLL 0 |
| 177 | #define TWL6040_SYSCLK_SEL_HPPLL 1 | 190 | #define TWL6040_SYSCLK_SEL_HPPLL 1 |
| 178 | 191 | ||
| 179 | #define TWL6040_GPO_MAX 3 | ||
| 180 | |||
| 181 | struct twl6040_codec_data { | ||
| 182 | u16 hs_left_step; | ||
| 183 | u16 hs_right_step; | ||
| 184 | u16 hf_left_step; | ||
| 185 | u16 hf_right_step; | ||
| 186 | }; | ||
| 187 | |||
| 188 | struct twl6040_vibra_data { | ||
| 189 | unsigned int vibldrv_res; /* left driver resistance */ | ||
| 190 | unsigned int vibrdrv_res; /* right driver resistance */ | ||
| 191 | unsigned int viblmotor_res; /* left motor resistance */ | ||
| 192 | unsigned int vibrmotor_res; /* right motor resistance */ | ||
| 193 | int vddvibl_uV; /* VDDVIBL volt, set 0 for fixed reg */ | ||
| 194 | int vddvibr_uV; /* VDDVIBR volt, set 0 for fixed reg */ | ||
| 195 | }; | ||
| 196 | |||
| 197 | struct twl6040_gpo_data { | ||
| 198 | int gpio_base; | ||
| 199 | }; | ||
| 200 | |||
| 201 | struct twl6040_platform_data { | ||
| 202 | int audpwron_gpio; /* audio power-on gpio */ | ||
| 203 | |||
| 204 | struct twl6040_codec_data *codec; | ||
| 205 | struct twl6040_vibra_data *vibra; | ||
| 206 | struct twl6040_gpo_data *gpo; | ||
| 207 | }; | ||
| 208 | |||
| 209 | struct regmap; | ||
| 210 | struct regmap_irq_chips_data; | ||
| 211 | |||
| 212 | struct twl6040 { | 192 | struct twl6040 { |
| 213 | struct device *dev; | 193 | struct device *dev; |
| 214 | struct regmap *regmap; | ||
| 215 | struct regmap_irq_chip_data *irq_data; | ||
| 216 | struct regulator_bulk_data supplies[2]; /* supplies for vio, v2v1 */ | ||
| 217 | struct mutex mutex; | 194 | struct mutex mutex; |
| 195 | struct mutex io_mutex; | ||
| 218 | struct mutex irq_mutex; | 196 | struct mutex irq_mutex; |
| 219 | struct mfd_cell cells[TWL6040_CELLS]; | 197 | struct mfd_cell cells[TWL6040_CELLS]; |
| 220 | struct completion ready; | 198 | struct completion ready; |
| @@ -222,16 +200,14 @@ struct twl6040 { | |||
| 222 | int audpwron; | 200 | int audpwron; |
| 223 | int power_count; | 201 | int power_count; |
| 224 | int rev; | 202 | int rev; |
| 225 | u8 vibra_ctrl_cache[2]; | ||
| 226 | 203 | ||
| 227 | /* PLL configuration */ | ||
| 228 | int pll; | 204 | int pll; |
| 229 | unsigned int sysclk; | 205 | unsigned int sysclk; |
| 230 | unsigned int mclk; | ||
| 231 | 206 | ||
| 232 | unsigned int irq; | 207 | unsigned int irq; |
| 233 | unsigned int irq_ready; | 208 | unsigned int irq_base; |
| 234 | unsigned int irq_th; | 209 | u8 irq_masks_cur; |
| 210 | u8 irq_masks_cache; | ||
| 235 | }; | 211 | }; |
| 236 | 212 | ||
| 237 | int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg); | 213 | int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg); |
| @@ -246,14 +222,7 @@ int twl6040_set_pll(struct twl6040 *twl6040, int pll_id, | |||
| 246 | unsigned int freq_in, unsigned int freq_out); | 222 | unsigned int freq_in, unsigned int freq_out); |
| 247 | int twl6040_get_pll(struct twl6040 *twl6040); | 223 | int twl6040_get_pll(struct twl6040 *twl6040); |
| 248 | unsigned int twl6040_get_sysclk(struct twl6040 *twl6040); | 224 | unsigned int twl6040_get_sysclk(struct twl6040 *twl6040); |
| 249 | 225 | int twl6040_irq_init(struct twl6040 *twl6040); | |
| 250 | /* Get the combined status of the vibra control register */ | 226 | void twl6040_irq_exit(struct twl6040 *twl6040); |
| 251 | int twl6040_get_vibralr_status(struct twl6040 *twl6040); | ||
| 252 | |||
| 253 | static inline int twl6040_get_revid(struct twl6040 *twl6040) | ||
| 254 | { | ||
| 255 | return twl6040->rev; | ||
| 256 | } | ||
| 257 | |||
| 258 | 227 | ||
| 259 | #endif /* End of __TWL6040_CODEC_H__ */ | 228 | #endif /* End of __TWL6040_CODEC_H__ */ |
diff --git a/include/linux/mfd/ucb1x00.h b/include/linux/mfd/ucb1x00.h index 28af4175636..4321f044d1e 100644 --- a/include/linux/mfd/ucb1x00.h +++ b/include/linux/mfd/ucb1x00.h | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | 12 | ||
| 13 | #include <linux/mfd/mcp.h> | 13 | #include <linux/mfd/mcp.h> |
| 14 | #include <linux/gpio.h> | 14 | #include <linux/gpio.h> |
| 15 | #include <linux/mutex.h> | 15 | #include <linux/semaphore.h> |
| 16 | 16 | ||
| 17 | #define UCB_IO_DATA 0x00 | 17 | #define UCB_IO_DATA 0x00 |
| 18 | #define UCB_IO_DIR 0x01 | 18 | #define UCB_IO_DIR 0x01 |
| @@ -104,27 +104,17 @@ | |||
| 104 | #define UCB_MODE_DYN_VFLAG_ENA (1 << 12) | 104 | #define UCB_MODE_DYN_VFLAG_ENA (1 << 12) |
| 105 | #define UCB_MODE_AUD_OFF_CAN (1 << 13) | 105 | #define UCB_MODE_AUD_OFF_CAN (1 << 13) |
| 106 | 106 | ||
| 107 | enum ucb1x00_reset { | ||
| 108 | UCB_RST_PROBE, | ||
| 109 | UCB_RST_RESUME, | ||
| 110 | UCB_RST_SUSPEND, | ||
| 111 | UCB_RST_REMOVE, | ||
| 112 | UCB_RST_PROBE_FAIL, | ||
| 113 | }; | ||
| 114 | 107 | ||
| 115 | struct ucb1x00_plat_data { | 108 | struct ucb1x00_irq { |
| 116 | void (*reset)(enum ucb1x00_reset); | 109 | void *devid; |
| 117 | unsigned irq_base; | 110 | void (*fn)(int, void *); |
| 118 | int gpio_base; | ||
| 119 | unsigned can_wakeup; | ||
| 120 | }; | 111 | }; |
| 121 | 112 | ||
| 122 | struct ucb1x00 { | 113 | struct ucb1x00 { |
| 123 | raw_spinlock_t irq_lock; | 114 | spinlock_t lock; |
| 124 | struct mcp *mcp; | 115 | struct mcp *mcp; |
| 125 | unsigned int irq; | 116 | unsigned int irq; |
| 126 | int irq_base; | 117 | struct semaphore adc_sem; |
| 127 | struct mutex adc_mutex; | ||
| 128 | spinlock_t io_lock; | 118 | spinlock_t io_lock; |
| 129 | u16 id; | 119 | u16 id; |
| 130 | u16 io_dir; | 120 | u16 io_dir; |
| @@ -132,8 +122,7 @@ struct ucb1x00 { | |||
| 132 | u16 adc_cr; | 122 | u16 adc_cr; |
| 133 | u16 irq_fal_enbl; | 123 | u16 irq_fal_enbl; |
| 134 | u16 irq_ris_enbl; | 124 | u16 irq_ris_enbl; |
| 135 | u16 irq_mask; | 125 | struct ucb1x00_irq irq_handler[16]; |
| 136 | u16 irq_wake; | ||
| 137 | struct device dev; | 126 | struct device dev; |
| 138 | struct list_head node; | 127 | struct list_head node; |
| 139 | struct list_head devs; | 128 | struct list_head devs; |
| @@ -155,7 +144,7 @@ struct ucb1x00_driver { | |||
| 155 | struct list_head devs; | 144 | struct list_head devs; |
| 156 | int (*add)(struct ucb1x00_dev *dev); | 145 | int (*add)(struct ucb1x00_dev *dev); |
| 157 | void (*remove)(struct ucb1x00_dev *dev); | 146 | void (*remove)(struct ucb1x00_dev *dev); |
| 158 | int (*suspend)(struct ucb1x00_dev *dev); | 147 | int (*suspend)(struct ucb1x00_dev *dev, pm_message_t state); |
| 159 | int (*resume)(struct ucb1x00_dev *dev); | 148 | int (*resume)(struct ucb1x00_dev *dev); |
| 160 | }; | 149 | }; |
| 161 | 150 | ||
| @@ -256,4 +245,15 @@ unsigned int ucb1x00_adc_read(struct ucb1x00 *ucb, int adc_channel, int sync); | |||
| 256 | void ucb1x00_adc_enable(struct ucb1x00 *ucb); | 245 | void ucb1x00_adc_enable(struct ucb1x00 *ucb); |
| 257 | void ucb1x00_adc_disable(struct ucb1x00 *ucb); | 246 | void ucb1x00_adc_disable(struct ucb1x00 *ucb); |
| 258 | 247 | ||
| 248 | /* | ||
| 249 | * Which edges of the IRQ do you want to control today? | ||
| 250 | */ | ||
| 251 | #define UCB_RISING (1 << 0) | ||
| 252 | #define UCB_FALLING (1 << 1) | ||
| 253 | |||
| 254 | int ucb1x00_hook_irq(struct ucb1x00 *ucb, unsigned int idx, void (*fn)(int, void *), void *devid); | ||
| 255 | void ucb1x00_enable_irq(struct ucb1x00 *ucb, unsigned int idx, int edges); | ||
| 256 | void ucb1x00_disable_irq(struct ucb1x00 *ucb, unsigned int idx, int edges); | ||
| 257 | int ucb1x00_free_irq(struct ucb1x00 *ucb, unsigned int idx, void *devid); | ||
| 258 | |||
| 259 | #endif | 259 | #endif |
diff --git a/include/linux/mfd/viperboard.h b/include/linux/mfd/viperboard.h deleted file mode 100644 index 193452848c0..00000000000 --- a/include/linux/mfd/viperboard.h +++ /dev/null | |||
| @@ -1,110 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * include/linux/mfd/viperboard.h | ||
| 3 | * | ||
| 4 | * Nano River Technologies viperboard definitions | ||
| 5 | * | ||
| 6 | * (C) 2012 by Lemonage GmbH | ||
| 7 | * Author: Lars Poeschel <poeschel@lemonage.de> | ||
| 8 | * All rights reserved. | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify it | ||
| 11 | * under the terms of the GNU General Public License as published by the | ||
| 12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 13 | * option) any later version. | ||
| 14 | * | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef __MFD_VIPERBOARD_H__ | ||
| 18 | #define __MFD_VIPERBOARD_H__ | ||
| 19 | |||
| 20 | #include <linux/types.h> | ||
| 21 | #include <linux/usb.h> | ||
| 22 | |||
| 23 | #define VPRBRD_EP_OUT 0x02 | ||
| 24 | #define VPRBRD_EP_IN 0x86 | ||
| 25 | |||
| 26 | #define VPRBRD_I2C_MSG_LEN 512 /* max length of a msg on USB level */ | ||
| 27 | |||
| 28 | #define VPRBRD_I2C_FREQ_6MHZ 1 /* 6 MBit/s */ | ||
| 29 | #define VPRBRD_I2C_FREQ_3MHZ 2 /* 3 MBit/s */ | ||
| 30 | #define VPRBRD_I2C_FREQ_1MHZ 3 /* 1 MBit/s */ | ||
| 31 | #define VPRBRD_I2C_FREQ_FAST 4 /* 400 kbit/s */ | ||
| 32 | #define VPRBRD_I2C_FREQ_400KHZ VPRBRD_I2C_FREQ_FAST | ||
| 33 | #define VPRBRD_I2C_FREQ_200KHZ 5 /* 200 kbit/s */ | ||
| 34 | #define VPRBRD_I2C_FREQ_STD 6 /* 100 kbit/s */ | ||
| 35 | #define VPRBRD_I2C_FREQ_100KHZ VPRBRD_I2C_FREQ_STD | ||
| 36 | #define VPRBRD_I2C_FREQ_10KHZ 7 /* 10 kbit/s */ | ||
| 37 | |||
| 38 | #define VPRBRD_I2C_CMD_WRITE 0x00 | ||
| 39 | #define VPRBRD_I2C_CMD_READ 0x01 | ||
| 40 | #define VPRBRD_I2C_CMD_ADDR 0x02 | ||
| 41 | |||
| 42 | #define VPRBRD_USB_TYPE_OUT 0x40 | ||
| 43 | #define VPRBRD_USB_TYPE_IN 0xc0 | ||
| 44 | #define VPRBRD_USB_TIMEOUT_MS 100 | ||
| 45 | #define VPRBRD_USB_REQUEST_I2C_FREQ 0xe6 | ||
| 46 | #define VPRBRD_USB_REQUEST_I2C 0xe9 | ||
| 47 | #define VPRBRD_USB_REQUEST_MAJOR 0xea | ||
| 48 | #define VPRBRD_USB_REQUEST_MINOR 0xeb | ||
| 49 | #define VPRBRD_USB_REQUEST_ADC 0xec | ||
| 50 | #define VPRBRD_USB_REQUEST_GPIOA 0xed | ||
| 51 | #define VPRBRD_USB_REQUEST_GPIOB 0xdd | ||
| 52 | |||
| 53 | struct vprbrd_i2c_write_hdr { | ||
| 54 | u8 cmd; | ||
| 55 | u16 addr; | ||
| 56 | u8 len1; | ||
| 57 | u8 len2; | ||
| 58 | u8 last; | ||
| 59 | u8 chan; | ||
| 60 | u16 spi; | ||
| 61 | } __packed; | ||
| 62 | |||
| 63 | struct vprbrd_i2c_read_hdr { | ||
| 64 | u8 cmd; | ||
| 65 | u16 addr; | ||
| 66 | u8 len0; | ||
| 67 | u8 len1; | ||
| 68 | u8 len2; | ||
| 69 | u8 len3; | ||
| 70 | u8 len4; | ||
| 71 | u8 len5; | ||
| 72 | u16 tf1; /* transfer 1 length */ | ||
| 73 | u16 tf2; /* transfer 2 length */ | ||
| 74 | } __packed; | ||
| 75 | |||
| 76 | struct vprbrd_i2c_status { | ||
| 77 | u8 unknown[11]; | ||
| 78 | u8 status; | ||
| 79 | } __packed; | ||
| 80 | |||
| 81 | struct vprbrd_i2c_write_msg { | ||
| 82 | struct vprbrd_i2c_write_hdr header; | ||
| 83 | u8 data[VPRBRD_I2C_MSG_LEN | ||
| 84 | - sizeof(struct vprbrd_i2c_write_hdr)]; | ||
| 85 | } __packed; | ||
| 86 | |||
| 87 | struct vprbrd_i2c_read_msg { | ||
| 88 | struct vprbrd_i2c_read_hdr header; | ||
| 89 | u8 data[VPRBRD_I2C_MSG_LEN | ||
| 90 | - sizeof(struct vprbrd_i2c_read_hdr)]; | ||
| 91 | } __packed; | ||
| 92 | |||
| 93 | struct vprbrd_i2c_addr_msg { | ||
| 94 | u8 cmd; | ||
| 95 | u8 addr; | ||
| 96 | u8 unknown1; | ||
| 97 | u16 len; | ||
| 98 | u8 unknown2; | ||
| 99 | u8 unknown3; | ||
| 100 | } __packed; | ||
| 101 | |||
| 102 | /* Structure to hold all device specific stuff */ | ||
| 103 | struct vprbrd { | ||
| 104 | struct usb_device *usb_dev; /* the usb device for this device */ | ||
| 105 | struct mutex lock; | ||
| 106 | u8 buf[sizeof(struct vprbrd_i2c_write_msg)]; | ||
| 107 | struct platform_device pdev; | ||
| 108 | }; | ||
| 109 | |||
| 110 | #endif /* __MFD_VIPERBOARD_H__ */ | ||
diff --git a/include/linux/mfd/wm831x/core.h b/include/linux/mfd/wm831x/core.h index 4a3b83a7761..ed8fe0d0409 100644 --- a/include/linux/mfd/wm831x/core.h +++ b/include/linux/mfd/wm831x/core.h | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | 17 | ||
| 18 | #include <linux/completion.h> | 18 | #include <linux/completion.h> |
| 19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
| 20 | #include <linux/irqdomain.h> | ||
| 21 | #include <linux/list.h> | 20 | #include <linux/list.h> |
| 22 | #include <linux/regmap.h> | 21 | #include <linux/regmap.h> |
| 23 | 22 | ||
| @@ -339,7 +338,6 @@ | |||
| 339 | #define WM831X_FLL_CLK_SRC_WIDTH 2 /* FLL_CLK_SRC - [1:0] */ | 338 | #define WM831X_FLL_CLK_SRC_WIDTH 2 /* FLL_CLK_SRC - [1:0] */ |
| 340 | 339 | ||
| 341 | struct regulator_dev; | 340 | struct regulator_dev; |
| 342 | struct irq_domain; | ||
| 343 | 341 | ||
| 344 | #define WM831X_NUM_IRQ_REGS 5 | 342 | #define WM831X_NUM_IRQ_REGS 5 |
| 345 | #define WM831X_NUM_GPIO_REGS 16 | 343 | #define WM831X_NUM_GPIO_REGS 16 |
| @@ -369,7 +367,7 @@ struct wm831x { | |||
| 369 | 367 | ||
| 370 | int irq; /* Our chip IRQ */ | 368 | int irq; /* Our chip IRQ */ |
| 371 | struct mutex irq_lock; | 369 | struct mutex irq_lock; |
| 372 | struct irq_domain *irq_domain; | 370 | int irq_base; |
| 373 | int irq_masks_cur[WM831X_NUM_IRQ_REGS]; /* Currently active value */ | 371 | int irq_masks_cur[WM831X_NUM_IRQ_REGS]; /* Currently active value */ |
| 374 | int irq_masks_cache[WM831X_NUM_IRQ_REGS]; /* Cached hardware value */ | 372 | int irq_masks_cache[WM831X_NUM_IRQ_REGS]; /* Cached hardware value */ |
| 375 | 373 | ||
| @@ -384,8 +382,6 @@ struct wm831x { | |||
| 384 | 382 | ||
| 385 | /* Used by the interrupt controller code to post writes */ | 383 | /* Used by the interrupt controller code to post writes */ |
| 386 | int gpio_update[WM831X_NUM_GPIO_REGS]; | 384 | int gpio_update[WM831X_NUM_GPIO_REGS]; |
| 387 | bool gpio_level_high[WM831X_NUM_GPIO_REGS]; | ||
| 388 | bool gpio_level_low[WM831X_NUM_GPIO_REGS]; | ||
| 389 | 385 | ||
| 390 | struct mutex auxadc_lock; | 386 | struct mutex auxadc_lock; |
| 391 | struct list_head auxadc_pending; | 387 | struct list_head auxadc_pending; |
| @@ -420,11 +416,6 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq); | |||
| 420 | void wm831x_irq_exit(struct wm831x *wm831x); | 416 | void wm831x_irq_exit(struct wm831x *wm831x); |
| 421 | void wm831x_auxadc_init(struct wm831x *wm831x); | 417 | void wm831x_auxadc_init(struct wm831x *wm831x); |
| 422 | 418 | ||
| 423 | static inline int wm831x_irq(struct wm831x *wm831x, int irq) | ||
| 424 | { | ||
| 425 | return irq_create_mapping(wm831x->irq_domain, irq); | ||
| 426 | } | ||
| 427 | |||
| 428 | extern struct regmap_config wm831x_regmap_config; | 419 | extern struct regmap_config wm831x_regmap_config; |
| 429 | 420 | ||
| 430 | #endif | 421 | #endif |
diff --git a/include/linux/mfd/wm831x/pdata.h b/include/linux/mfd/wm831x/pdata.h index dcc9631b305..1d7a3f7b3b5 100644 --- a/include/linux/mfd/wm831x/pdata.h +++ b/include/linux/mfd/wm831x/pdata.h | |||
| @@ -26,7 +26,7 @@ struct wm831x_backlight_pdata { | |||
| 26 | struct wm831x_backup_pdata { | 26 | struct wm831x_backup_pdata { |
| 27 | int charger_enable; | 27 | int charger_enable; |
| 28 | int no_constant_voltage; /** Disable constant voltage charging */ | 28 | int no_constant_voltage; /** Disable constant voltage charging */ |
| 29 | int vlim; /** Voltage limit in millivolts */ | 29 | int vlim; /** Voltage limit in milivolts */ |
| 30 | int ilim; /** Current limit in microamps */ | 30 | int ilim; /** Current limit in microamps */ |
| 31 | }; | 31 | }; |
| 32 | 32 | ||
diff --git a/include/linux/mfd/wm8350/core.h b/include/linux/mfd/wm8350/core.h index 509481d9cf1..98fcc977e82 100644 --- a/include/linux/mfd/wm8350/core.h +++ b/include/linux/mfd/wm8350/core.h | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <linux/mutex.h> | 17 | #include <linux/mutex.h> |
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | #include <linux/completion.h> | 19 | #include <linux/completion.h> |
| 20 | #include <linux/regmap.h> | ||
| 21 | 20 | ||
| 22 | #include <linux/mfd/wm8350/audio.h> | 21 | #include <linux/mfd/wm8350/audio.h> |
| 23 | #include <linux/mfd/wm8350/gpio.h> | 22 | #include <linux/mfd/wm8350/gpio.h> |
| @@ -67,9 +66,6 @@ | |||
| 67 | 66 | ||
| 68 | #define WM8350_MAX_REGISTER 0xFF | 67 | #define WM8350_MAX_REGISTER 0xFF |
| 69 | 68 | ||
| 70 | #define WM8350_UNLOCK_KEY 0x0013 | ||
| 71 | #define WM8350_LOCK_KEY 0x0000 | ||
| 72 | |||
| 73 | /* | 69 | /* |
| 74 | * Field Definitions. | 70 | * Field Definitions. |
| 75 | */ | 71 | */ |
| @@ -586,7 +582,24 @@ | |||
| 586 | 582 | ||
| 587 | #define WM8350_NUM_IRQ_REGS 7 | 583 | #define WM8350_NUM_IRQ_REGS 7 |
| 588 | 584 | ||
| 589 | extern const struct regmap_config wm8350_regmap; | 585 | struct wm8350_reg_access { |
| 586 | u16 readable; /* Mask of readable bits */ | ||
| 587 | u16 writable; /* Mask of writable bits */ | ||
| 588 | u16 vol; /* Mask of volatile bits */ | ||
| 589 | }; | ||
| 590 | extern const struct wm8350_reg_access wm8350_reg_io_map[]; | ||
| 591 | extern const u16 wm8350_mode0_defaults[]; | ||
| 592 | extern const u16 wm8350_mode1_defaults[]; | ||
| 593 | extern const u16 wm8350_mode2_defaults[]; | ||
| 594 | extern const u16 wm8350_mode3_defaults[]; | ||
| 595 | extern const u16 wm8351_mode0_defaults[]; | ||
| 596 | extern const u16 wm8351_mode1_defaults[]; | ||
| 597 | extern const u16 wm8351_mode2_defaults[]; | ||
| 598 | extern const u16 wm8351_mode3_defaults[]; | ||
| 599 | extern const u16 wm8352_mode0_defaults[]; | ||
| 600 | extern const u16 wm8352_mode1_defaults[]; | ||
| 601 | extern const u16 wm8352_mode2_defaults[]; | ||
| 602 | extern const u16 wm8352_mode3_defaults[]; | ||
| 590 | 603 | ||
| 591 | struct wm8350; | 604 | struct wm8350; |
| 592 | 605 | ||
| @@ -599,8 +612,14 @@ struct wm8350 { | |||
| 599 | struct device *dev; | 612 | struct device *dev; |
| 600 | 613 | ||
| 601 | /* device IO */ | 614 | /* device IO */ |
| 602 | struct regmap *regmap; | 615 | union { |
| 603 | bool unlocked; | 616 | struct i2c_client *i2c_client; |
| 617 | struct spi_device *spi_device; | ||
| 618 | }; | ||
| 619 | int (*read_dev)(struct wm8350 *wm8350, char reg, int size, void *dest); | ||
| 620 | int (*write_dev)(struct wm8350 *wm8350, char reg, int size, | ||
| 621 | void *src); | ||
| 622 | u16 *reg_cache; | ||
| 604 | 623 | ||
| 605 | struct mutex auxadc_mutex; | 624 | struct mutex auxadc_mutex; |
| 606 | struct completion auxadc_done; | 625 | struct completion auxadc_done; |
diff --git a/include/linux/mfd/wm8400-private.h b/include/linux/mfd/wm8400-private.h index 2de565b94d0..0147b696851 100644 --- a/include/linux/mfd/wm8400-private.h +++ b/include/linux/mfd/wm8400-private.h | |||
| @@ -24,14 +24,19 @@ | |||
| 24 | #include <linux/mfd/wm8400.h> | 24 | #include <linux/mfd/wm8400.h> |
| 25 | #include <linux/mutex.h> | 25 | #include <linux/mutex.h> |
| 26 | #include <linux/platform_device.h> | 26 | #include <linux/platform_device.h> |
| 27 | #include <linux/regmap.h> | 27 | |
| 28 | struct regmap; | ||
| 28 | 29 | ||
| 29 | #define WM8400_REGISTER_COUNT 0x55 | 30 | #define WM8400_REGISTER_COUNT 0x55 |
| 30 | 31 | ||
| 31 | struct wm8400 { | 32 | struct wm8400 { |
| 32 | struct device *dev; | 33 | struct device *dev; |
| 34 | |||
| 35 | struct mutex io_lock; | ||
| 33 | struct regmap *regmap; | 36 | struct regmap *regmap; |
| 34 | 37 | ||
| 38 | u16 reg_cache[WM8400_REGISTER_COUNT]; | ||
| 39 | |||
| 35 | struct platform_device regulators[6]; | 40 | struct platform_device regulators[6]; |
| 36 | }; | 41 | }; |
| 37 | 42 | ||
| @@ -925,11 +930,6 @@ struct wm8400 { | |||
| 925 | 930 | ||
| 926 | u16 wm8400_reg_read(struct wm8400 *wm8400, u8 reg); | 931 | u16 wm8400_reg_read(struct wm8400 *wm8400, u8 reg); |
| 927 | int wm8400_block_read(struct wm8400 *wm8400, u8 reg, int count, u16 *data); | 932 | int wm8400_block_read(struct wm8400 *wm8400, u8 reg, int count, u16 *data); |
| 928 | 933 | int wm8400_set_bits(struct wm8400 *wm8400, u8 reg, u16 mask, u16 val); | |
| 929 | static inline int wm8400_set_bits(struct wm8400 *wm8400, u8 reg, | ||
| 930 | u16 mask, u16 val) | ||
| 931 | { | ||
| 932 | return regmap_update_bits(wm8400->regmap, reg, mask, val); | ||
| 933 | } | ||
| 934 | 934 | ||
| 935 | #endif | 935 | #endif |
diff --git a/include/linux/mfd/wm8994/core.h b/include/linux/mfd/wm8994/core.h index ae5c249530b..45df450d869 100644 --- a/include/linux/mfd/wm8994/core.h +++ b/include/linux/mfd/wm8994/core.h | |||
| @@ -15,20 +15,16 @@ | |||
| 15 | #ifndef __MFD_WM8994_CORE_H__ | 15 | #ifndef __MFD_WM8994_CORE_H__ |
| 16 | #define __MFD_WM8994_CORE_H__ | 16 | #define __MFD_WM8994_CORE_H__ |
| 17 | 17 | ||
| 18 | #include <linux/mutex.h> | ||
| 19 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 20 | #include <linux/regmap.h> | ||
| 21 | |||
| 22 | #include <linux/mfd/wm8994/pdata.h> | ||
| 23 | 19 | ||
| 24 | enum wm8994_type { | 20 | enum wm8994_type { |
| 25 | WM8994 = 0, | 21 | WM8994 = 0, |
| 26 | WM8958 = 1, | 22 | WM8958 = 1, |
| 27 | WM1811 = 2, | ||
| 28 | }; | 23 | }; |
| 29 | 24 | ||
| 30 | struct regulator_dev; | 25 | struct regulator_dev; |
| 31 | struct regulator_bulk_data; | 26 | struct regulator_bulk_data; |
| 27 | struct regmap; | ||
| 32 | 28 | ||
| 33 | #define WM8994_NUM_GPIO_REGS 11 | 29 | #define WM8994_NUM_GPIO_REGS 11 |
| 34 | #define WM8994_NUM_LDO_REGS 2 | 30 | #define WM8994_NUM_LDO_REGS 2 |
| @@ -57,25 +53,22 @@ struct regulator_bulk_data; | |||
| 57 | struct wm8994 { | 53 | struct wm8994 { |
| 58 | struct mutex irq_lock; | 54 | struct mutex irq_lock; |
| 59 | 55 | ||
| 60 | struct wm8994_pdata pdata; | ||
| 61 | |||
| 62 | enum wm8994_type type; | 56 | enum wm8994_type type; |
| 63 | int revision; | ||
| 64 | int cust_id; | ||
| 65 | 57 | ||
| 66 | struct device *dev; | 58 | struct device *dev; |
| 67 | struct regmap *regmap; | 59 | struct regmap *regmap; |
| 68 | 60 | ||
| 69 | bool ldo_ena_always_driven; | ||
| 70 | |||
| 71 | int gpio_base; | 61 | int gpio_base; |
| 72 | int irq_base; | 62 | int irq_base; |
| 73 | 63 | ||
| 74 | int irq; | 64 | int irq; |
| 75 | struct regmap_irq_chip_data *irq_data; | 65 | u16 irq_masks_cur[WM8994_NUM_IRQ_REGS]; |
| 66 | u16 irq_masks_cache[WM8994_NUM_IRQ_REGS]; | ||
| 76 | 67 | ||
| 77 | /* Used over suspend/resume */ | 68 | /* Used over suspend/resume */ |
| 78 | bool suspended; | 69 | bool suspended; |
| 70 | u16 ldo_regs[WM8994_NUM_LDO_REGS]; | ||
| 71 | u16 gpio_regs[WM8994_NUM_GPIO_REGS]; | ||
| 79 | 72 | ||
| 80 | struct regulator_dev *dbvdd; | 73 | struct regulator_dev *dbvdd; |
| 81 | int num_supplies; | 74 | int num_supplies; |
| @@ -99,17 +92,17 @@ static inline int wm8994_request_irq(struct wm8994 *wm8994, int irq, | |||
| 99 | irq_handler_t handler, const char *name, | 92 | irq_handler_t handler, const char *name, |
| 100 | void *data) | 93 | void *data) |
| 101 | { | 94 | { |
| 102 | if (!wm8994->irq_data) | 95 | if (!wm8994->irq_base) |
| 103 | return -EINVAL; | 96 | return -EINVAL; |
| 104 | return request_threaded_irq(regmap_irq_get_virq(wm8994->irq_data, irq), | 97 | return request_threaded_irq(wm8994->irq_base + irq, NULL, handler, |
| 105 | NULL, handler, IRQF_TRIGGER_RISING, name, | 98 | IRQF_TRIGGER_RISING, name, |
| 106 | data); | 99 | data); |
| 107 | } | 100 | } |
| 108 | static inline void wm8994_free_irq(struct wm8994 *wm8994, int irq, void *data) | 101 | static inline void wm8994_free_irq(struct wm8994 *wm8994, int irq, void *data) |
| 109 | { | 102 | { |
| 110 | if (!wm8994->irq_data) | 103 | if (!wm8994->irq_base) |
| 111 | return; | 104 | return; |
| 112 | free_irq(regmap_irq_get_virq(wm8994->irq_data, irq), data); | 105 | free_irq(wm8994->irq_base + irq, data); |
| 113 | } | 106 | } |
| 114 | 107 | ||
| 115 | int wm8994_irq_init(struct wm8994 *wm8994); | 108 | int wm8994_irq_init(struct wm8994 *wm8994); |
diff --git a/include/linux/mfd/wm8994/pdata.h b/include/linux/mfd/wm8994/pdata.h index 8e21a094836..97cf4f27d64 100644 --- a/include/linux/mfd/wm8994/pdata.h +++ b/include/linux/mfd/wm8994/pdata.h | |||
| @@ -22,7 +22,8 @@ struct wm8994_ldo_pdata { | |||
| 22 | /** GPIOs to enable regulator, 0 or less if not available */ | 22 | /** GPIOs to enable regulator, 0 or less if not available */ |
| 23 | int enable; | 23 | int enable; |
| 24 | 24 | ||
| 25 | const struct regulator_init_data *init_data; | 25 | const char *supply; |
| 26 | struct regulator_init_data *init_data; | ||
| 26 | }; | 27 | }; |
| 27 | 28 | ||
| 28 | #define WM8994_CONFIGURE_GPIO 0x10000 | 29 | #define WM8994_CONFIGURE_GPIO 0x10000 |
| @@ -112,23 +113,6 @@ struct wm8958_enh_eq_cfg { | |||
| 112 | u16 regs[WM8958_ENH_EQ_REGS]; | 113 | u16 regs[WM8958_ENH_EQ_REGS]; |
| 113 | }; | 114 | }; |
| 114 | 115 | ||
| 115 | /** | ||
| 116 | * Microphone detection rates, used to tune response rates and power | ||
| 117 | * consumption for WM8958/WM1811 microphone detection. | ||
| 118 | * | ||
| 119 | * @sysclk: System clock rate to use this configuration for. | ||
| 120 | * @idle: True if this configuration should use when no accessory is detected, | ||
| 121 | * false otherwise. | ||
| 122 | * @start: Value for MICD_BIAS_START_TIME register field (not shifted). | ||
| 123 | * @rate: Value for MICD_RATE register field (not shifted). | ||
| 124 | */ | ||
| 125 | struct wm8958_micd_rate { | ||
| 126 | int sysclk; | ||
| 127 | bool idle; | ||
| 128 | int start; | ||
| 129 | int rate; | ||
| 130 | }; | ||
| 131 | |||
| 132 | struct wm8994_pdata { | 116 | struct wm8994_pdata { |
| 133 | int gpio_base; | 117 | int gpio_base; |
| 134 | 118 | ||
| @@ -141,7 +125,6 @@ struct wm8994_pdata { | |||
| 141 | struct wm8994_ldo_pdata ldo[WM8994_NUM_LDO]; | 125 | struct wm8994_ldo_pdata ldo[WM8994_NUM_LDO]; |
| 142 | 126 | ||
| 143 | int irq_base; /** Base IRQ number for WM8994, required for IRQs */ | 127 | int irq_base; /** Base IRQ number for WM8994, required for IRQs */ |
| 144 | unsigned long irq_flags; /** user irq flags */ | ||
| 145 | 128 | ||
| 146 | int num_drc_cfgs; | 129 | int num_drc_cfgs; |
| 147 | struct wm8994_drc_cfg *drc_cfgs; | 130 | struct wm8994_drc_cfg *drc_cfgs; |
| @@ -161,13 +144,6 @@ struct wm8994_pdata { | |||
| 161 | int num_enh_eq_cfgs; | 144 | int num_enh_eq_cfgs; |
| 162 | struct wm8958_enh_eq_cfg *enh_eq_cfgs; | 145 | struct wm8958_enh_eq_cfg *enh_eq_cfgs; |
| 163 | 146 | ||
| 164 | int num_micd_rates; | ||
| 165 | struct wm8958_micd_rate *micd_rates; | ||
| 166 | |||
| 167 | /* Power up delays to add after microphone bias power up (ms) */ | ||
| 168 | int micb1_delay; | ||
| 169 | int micb2_delay; | ||
| 170 | |||
| 171 | /* LINEOUT can be differential or single ended */ | 147 | /* LINEOUT can be differential or single ended */ |
| 172 | unsigned int lineout1_diff:1; | 148 | unsigned int lineout1_diff:1; |
| 173 | unsigned int lineout2_diff:1; | 149 | unsigned int lineout2_diff:1; |
| @@ -176,11 +152,6 @@ struct wm8994_pdata { | |||
| 176 | unsigned int lineout1fb:1; | 152 | unsigned int lineout1fb:1; |
| 177 | unsigned int lineout2fb:1; | 153 | unsigned int lineout2fb:1; |
| 178 | 154 | ||
| 179 | /* Delay between detecting a jack and starting microphone | ||
| 180 | * detect (specified in ms) | ||
| 181 | */ | ||
| 182 | int micdet_delay; | ||
| 183 | |||
| 184 | /* IRQ for microphone detection if brought out directly as a | 155 | /* IRQ for microphone detection if brought out directly as a |
| 185 | * signal. | 156 | * signal. |
| 186 | */ | 157 | */ |
| @@ -194,27 +165,8 @@ struct wm8994_pdata { | |||
| 194 | unsigned int jd_scthr:2; | 165 | unsigned int jd_scthr:2; |
| 195 | unsigned int jd_thr:2; | 166 | unsigned int jd_thr:2; |
| 196 | 167 | ||
| 197 | /* Configure WM1811 jack detection for use with external capacitor */ | ||
| 198 | unsigned int jd_ext_cap:1; | ||
| 199 | |||
| 200 | /* WM8958 microphone bias configuration */ | 168 | /* WM8958 microphone bias configuration */ |
| 201 | int micbias[2]; | 169 | int micbias[2]; |
| 202 | |||
| 203 | /* WM8958 microphone detection ranges */ | ||
| 204 | u16 micd_lvl_sel; | ||
| 205 | |||
| 206 | /* Disable the internal pull downs on the LDOs if they are | ||
| 207 | * always driven (eg, connected to an always on supply or | ||
| 208 | * GPIO that always drives an output. If they float power | ||
| 209 | * consumption will rise. | ||
| 210 | */ | ||
| 211 | bool ldo_ena_always_driven; | ||
| 212 | |||
| 213 | /* | ||
| 214 | * SPKMODE must be pulled internally by the device on this | ||
| 215 | * system. | ||
| 216 | */ | ||
| 217 | bool spkmode_pu; | ||
| 218 | }; | 170 | }; |
| 219 | 171 | ||
| 220 | #endif | 172 | #endif |
diff --git a/include/linux/mfd/wm8994/registers.h b/include/linux/mfd/wm8994/registers.h index 053548961c1..f3ee8428467 100644 --- a/include/linux/mfd/wm8994/registers.h +++ b/include/linux/mfd/wm8994/registers.h | |||
| @@ -72,7 +72,6 @@ | |||
| 72 | #define WM8994_DC_SERVO_2 0x55 | 72 | #define WM8994_DC_SERVO_2 0x55 |
| 73 | #define WM8994_DC_SERVO_4 0x57 | 73 | #define WM8994_DC_SERVO_4 0x57 |
| 74 | #define WM8994_DC_SERVO_READBACK 0x58 | 74 | #define WM8994_DC_SERVO_READBACK 0x58 |
| 75 | #define WM8994_DC_SERVO_4E 0x59 | ||
| 76 | #define WM8994_ANALOGUE_HP_1 0x60 | 75 | #define WM8994_ANALOGUE_HP_1 0x60 |
| 77 | #define WM8958_MIC_DETECT_1 0xD0 | 76 | #define WM8958_MIC_DETECT_1 0xD0 |
| 78 | #define WM8958_MIC_DETECT_2 0xD1 | 77 | #define WM8958_MIC_DETECT_2 0xD1 |
| @@ -95,15 +94,11 @@ | |||
| 95 | #define WM8994_FLL1_CONTROL_3 0x222 | 94 | #define WM8994_FLL1_CONTROL_3 0x222 |
| 96 | #define WM8994_FLL1_CONTROL_4 0x223 | 95 | #define WM8994_FLL1_CONTROL_4 0x223 |
| 97 | #define WM8994_FLL1_CONTROL_5 0x224 | 96 | #define WM8994_FLL1_CONTROL_5 0x224 |
| 98 | #define WM8958_FLL1_EFS_1 0x226 | ||
| 99 | #define WM8958_FLL1_EFS_2 0x227 | ||
| 100 | #define WM8994_FLL2_CONTROL_1 0x240 | 97 | #define WM8994_FLL2_CONTROL_1 0x240 |
| 101 | #define WM8994_FLL2_CONTROL_2 0x241 | 98 | #define WM8994_FLL2_CONTROL_2 0x241 |
| 102 | #define WM8994_FLL2_CONTROL_3 0x242 | 99 | #define WM8994_FLL2_CONTROL_3 0x242 |
| 103 | #define WM8994_FLL2_CONTROL_4 0x243 | 100 | #define WM8994_FLL2_CONTROL_4 0x243 |
| 104 | #define WM8994_FLL2_CONTROL_5 0x244 | 101 | #define WM8994_FLL2_CONTROL_5 0x244 |
| 105 | #define WM8958_FLL2_EFS_1 0x246 | ||
| 106 | #define WM8958_FLL2_EFS_2 0x247 | ||
| 107 | #define WM8994_AIF1_CONTROL_1 0x300 | 102 | #define WM8994_AIF1_CONTROL_1 0x300 |
| 108 | #define WM8994_AIF1_CONTROL_2 0x301 | 103 | #define WM8994_AIF1_CONTROL_2 0x301 |
| 109 | #define WM8994_AIF1_MASTER_SLAVE 0x302 | 104 | #define WM8994_AIF1_MASTER_SLAVE 0x302 |
| @@ -120,7 +115,6 @@ | |||
| 120 | #define WM8994_AIF2DAC_LRCLK 0x315 | 115 | #define WM8994_AIF2DAC_LRCLK 0x315 |
| 121 | #define WM8994_AIF2DAC_DATA 0x316 | 116 | #define WM8994_AIF2DAC_DATA 0x316 |
| 122 | #define WM8994_AIF2ADC_DATA 0x317 | 117 | #define WM8994_AIF2ADC_DATA 0x317 |
| 123 | #define WM1811_AIF2TX_CONTROL 0x318 | ||
| 124 | #define WM8958_AIF3_CONTROL_1 0x320 | 118 | #define WM8958_AIF3_CONTROL_1 0x320 |
| 125 | #define WM8958_AIF3_CONTROL_2 0x321 | 119 | #define WM8958_AIF3_CONTROL_2 0x321 |
| 126 | #define WM8958_AIF3DAC_DATA 0x322 | 120 | #define WM8958_AIF3DAC_DATA 0x322 |
| @@ -139,8 +133,6 @@ | |||
| 139 | #define WM8994_AIF1_DAC1_FILTERS_2 0x421 | 133 | #define WM8994_AIF1_DAC1_FILTERS_2 0x421 |
| 140 | #define WM8994_AIF1_DAC2_FILTERS_1 0x422 | 134 | #define WM8994_AIF1_DAC2_FILTERS_1 0x422 |
| 141 | #define WM8994_AIF1_DAC2_FILTERS_2 0x423 | 135 | #define WM8994_AIF1_DAC2_FILTERS_2 0x423 |
| 142 | #define WM8958_AIF1_DAC1_NOISE_GATE 0x430 | ||
| 143 | #define WM8958_AIF1_DAC2_NOISE_GATE 0x431 | ||
| 144 | #define WM8994_AIF1_DRC1_1 0x440 | 136 | #define WM8994_AIF1_DRC1_1 0x440 |
| 145 | #define WM8994_AIF1_DRC1_2 0x441 | 137 | #define WM8994_AIF1_DRC1_2 0x441 |
| 146 | #define WM8994_AIF1_DRC1_3 0x442 | 138 | #define WM8994_AIF1_DRC1_3 0x442 |
| @@ -171,7 +163,6 @@ | |||
| 171 | #define WM8994_AIF1_DAC1_EQ_BAND_5_A 0x491 | 163 | #define WM8994_AIF1_DAC1_EQ_BAND_5_A 0x491 |
| 172 | #define WM8994_AIF1_DAC1_EQ_BAND_5_B 0x492 | 164 | #define WM8994_AIF1_DAC1_EQ_BAND_5_B 0x492 |
| 173 | #define WM8994_AIF1_DAC1_EQ_BAND_5_PG 0x493 | 165 | #define WM8994_AIF1_DAC1_EQ_BAND_5_PG 0x493 |
| 174 | #define WM8994_AIF1_DAC1_EQ_BAND_1_C 0x494 | ||
| 175 | #define WM8994_AIF1_DAC2_EQ_GAINS_1 0x4A0 | 166 | #define WM8994_AIF1_DAC2_EQ_GAINS_1 0x4A0 |
| 176 | #define WM8994_AIF1_DAC2_EQ_GAINS_2 0x4A1 | 167 | #define WM8994_AIF1_DAC2_EQ_GAINS_2 0x4A1 |
| 177 | #define WM8994_AIF1_DAC2_EQ_BAND_1_A 0x4A2 | 168 | #define WM8994_AIF1_DAC2_EQ_BAND_1_A 0x4A2 |
| @@ -192,7 +183,6 @@ | |||
| 192 | #define WM8994_AIF1_DAC2_EQ_BAND_5_A 0x4B1 | 183 | #define WM8994_AIF1_DAC2_EQ_BAND_5_A 0x4B1 |
| 193 | #define WM8994_AIF1_DAC2_EQ_BAND_5_B 0x4B2 | 184 | #define WM8994_AIF1_DAC2_EQ_BAND_5_B 0x4B2 |
| 194 | #define WM8994_AIF1_DAC2_EQ_BAND_5_PG 0x4B3 | 185 | #define WM8994_AIF1_DAC2_EQ_BAND_5_PG 0x4B3 |
| 195 | #define WM8994_AIF1_DAC2_EQ_BAND_1_C 0x4B4 | ||
| 196 | #define WM8994_AIF2_ADC_LEFT_VOLUME 0x500 | 186 | #define WM8994_AIF2_ADC_LEFT_VOLUME 0x500 |
| 197 | #define WM8994_AIF2_ADC_RIGHT_VOLUME 0x501 | 187 | #define WM8994_AIF2_ADC_RIGHT_VOLUME 0x501 |
| 198 | #define WM8994_AIF2_DAC_LEFT_VOLUME 0x502 | 188 | #define WM8994_AIF2_DAC_LEFT_VOLUME 0x502 |
| @@ -200,7 +190,6 @@ | |||
| 200 | #define WM8994_AIF2_ADC_FILTERS 0x510 | 190 | #define WM8994_AIF2_ADC_FILTERS 0x510 |
| 201 | #define WM8994_AIF2_DAC_FILTERS_1 0x520 | 191 | #define WM8994_AIF2_DAC_FILTERS_1 0x520 |
| 202 | #define WM8994_AIF2_DAC_FILTERS_2 0x521 | 192 | #define WM8994_AIF2_DAC_FILTERS_2 0x521 |
| 203 | #define WM8958_AIF2_DAC_NOISE_GATE 0x530 | ||
| 204 | #define WM8994_AIF2_DRC_1 0x540 | 193 | #define WM8994_AIF2_DRC_1 0x540 |
| 205 | #define WM8994_AIF2_DRC_2 0x541 | 194 | #define WM8994_AIF2_DRC_2 0x541 |
| 206 | #define WM8994_AIF2_DRC_3 0x542 | 195 | #define WM8994_AIF2_DRC_3 0x542 |
| @@ -226,7 +215,6 @@ | |||
| 226 | #define WM8994_AIF2_EQ_BAND_5_A 0x591 | 215 | #define WM8994_AIF2_EQ_BAND_5_A 0x591 |
| 227 | #define WM8994_AIF2_EQ_BAND_5_B 0x592 | 216 | #define WM8994_AIF2_EQ_BAND_5_B 0x592 |
| 228 | #define WM8994_AIF2_EQ_BAND_5_PG 0x593 | 217 | #define WM8994_AIF2_EQ_BAND_5_PG 0x593 |
| 229 | #define WM8994_AIF2_EQ_BAND_1_C 0x594 | ||
| 230 | #define WM8994_DAC1_MIXER_VOLUMES 0x600 | 218 | #define WM8994_DAC1_MIXER_VOLUMES 0x600 |
| 231 | #define WM8994_DAC1_LEFT_MIXER_ROUTING 0x601 | 219 | #define WM8994_DAC1_LEFT_MIXER_ROUTING 0x601 |
| 232 | #define WM8994_DAC1_RIGHT_MIXER_ROUTING 0x602 | 220 | #define WM8994_DAC1_RIGHT_MIXER_ROUTING 0x602 |
| @@ -250,7 +238,6 @@ | |||
| 250 | #define WM8994_GPIO_4 0x703 | 238 | #define WM8994_GPIO_4 0x703 |
| 251 | #define WM8994_GPIO_5 0x704 | 239 | #define WM8994_GPIO_5 0x704 |
| 252 | #define WM8994_GPIO_6 0x705 | 240 | #define WM8994_GPIO_6 0x705 |
| 253 | #define WM1811_JACKDET_CTRL 0x705 | ||
| 254 | #define WM8994_GPIO_7 0x706 | 241 | #define WM8994_GPIO_7 0x706 |
| 255 | #define WM8994_GPIO_8 0x707 | 242 | #define WM8994_GPIO_8 0x707 |
| 256 | #define WM8994_GPIO_9 0x708 | 243 | #define WM8994_GPIO_9 0x708 |
| @@ -273,43 +260,7 @@ | |||
| 273 | #define WM8958_DSP2_RELEASETIME 0xA03 | 260 | #define WM8958_DSP2_RELEASETIME 0xA03 |
| 274 | #define WM8958_DSP2_VERMAJMIN 0xA04 | 261 | #define WM8958_DSP2_VERMAJMIN 0xA04 |
| 275 | #define WM8958_DSP2_VERBUILD 0xA05 | 262 | #define WM8958_DSP2_VERBUILD 0xA05 |
| 276 | #define WM8958_DSP2_TESTREG 0xA06 | ||
| 277 | #define WM8958_DSP2_XORREG 0xA07 | ||
| 278 | #define WM8958_DSP2_SHIFTMAXX 0xA08 | ||
| 279 | #define WM8958_DSP2_SHIFTMAXY 0xA09 | ||
| 280 | #define WM8958_DSP2_SHIFTMAXZ 0xA0A | ||
| 281 | #define WM8958_DSP2_SHIFTMAXEXTLO 0xA0B | ||
| 282 | #define WM8958_DSP2_AESSELECT 0xA0C | ||
| 283 | #define WM8958_DSP2_EXECCONTROL 0xA0D | 263 | #define WM8958_DSP2_EXECCONTROL 0xA0D |
| 284 | #define WM8958_DSP2_SAMPLEBREAK 0xA0E | ||
| 285 | #define WM8958_DSP2_COUNTBREAK 0xA0F | ||
| 286 | #define WM8958_DSP2_INTSTATUS 0xA10 | ||
| 287 | #define WM8958_DSP2_EVENTSTATUS 0xA11 | ||
| 288 | #define WM8958_DSP2_INTMASK 0xA12 | ||
| 289 | #define WM8958_DSP2_CONFIGDWIDTH 0xA13 | ||
| 290 | #define WM8958_DSP2_CONFIGINSTR 0xA14 | ||
| 291 | #define WM8958_DSP2_CONFIGDMEM 0xA15 | ||
| 292 | #define WM8958_DSP2_CONFIGDELAYS 0xA16 | ||
| 293 | #define WM8958_DSP2_CONFIGNUMIO 0xA17 | ||
| 294 | #define WM8958_DSP2_CONFIGEXTDEPTH 0xA18 | ||
| 295 | #define WM8958_DSP2_CONFIGMULTIPLIER 0xA19 | ||
| 296 | #define WM8958_DSP2_CONFIGCTRLDWIDTH 0xA1A | ||
| 297 | #define WM8958_DSP2_CONFIGPIPELINE 0xA1B | ||
| 298 | #define WM8958_DSP2_SHIFTMAXEXTHI 0xA1C | ||
| 299 | #define WM8958_DSP2_SWVERSIONREG 0xA1D | ||
| 300 | #define WM8958_DSP2_CONFIGXMEM 0xA1E | ||
| 301 | #define WM8958_DSP2_CONFIGYMEM 0xA1F | ||
| 302 | #define WM8958_DSP2_CONFIGZMEM 0xA20 | ||
| 303 | #define WM8958_FW_BUILD_1 0x2000 | ||
| 304 | #define WM8958_FW_BUILD_0 0x2001 | ||
| 305 | #define WM8958_FW_ID_1 0x2002 | ||
| 306 | #define WM8958_FW_ID_0 0x2003 | ||
| 307 | #define WM8958_FW_MAJOR_1 0x2004 | ||
| 308 | #define WM8958_FW_MAJOR_0 0x2005 | ||
| 309 | #define WM8958_FW_MINOR_1 0x2006 | ||
| 310 | #define WM8958_FW_MINOR_0 0x2007 | ||
| 311 | #define WM8958_FW_PATCH_1 0x2008 | ||
| 312 | #define WM8958_FW_PATCH_0 0x2009 | ||
| 313 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_1 0x2200 | 264 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_1 0x2200 |
| 314 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_2 0x2201 | 265 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C1_2 0x2201 |
| 315 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C2_1 0x2202 | 266 | #define WM8958_MBC_BAND_2_LOWER_CUTOFF_C2_1 0x2202 |
| @@ -378,14 +329,6 @@ | |||
| 378 | #define WM8958_MBC_B2_PG2_2 0x242D | 329 | #define WM8958_MBC_B2_PG2_2 0x242D |
| 379 | #define WM8958_MBC_B1_PG2_1 0x242E | 330 | #define WM8958_MBC_B1_PG2_1 0x242E |
| 380 | #define WM8958_MBC_B1_PG2_2 0x242F | 331 | #define WM8958_MBC_B1_PG2_2 0x242F |
| 381 | #define WM8958_MBC_CROSSOVER_1 0x2600 | ||
| 382 | #define WM8958_MBC_CROSSOVER_2 0x2601 | ||
| 383 | #define WM8958_MBC_HPF_1 0x2602 | ||
| 384 | #define WM8958_MBC_HPF_2 0x2603 | ||
| 385 | #define WM8958_MBC_LPF_1 0x2606 | ||
| 386 | #define WM8958_MBC_LPF_2 0x2607 | ||
| 387 | #define WM8958_MBC_RMS_LIMIT_1 0x260A | ||
| 388 | #define WM8958_MBC_RMS_LIMIT_2 0x260B | ||
| 389 | #define WM8994_WRITE_SEQUENCER_0 0x3000 | 332 | #define WM8994_WRITE_SEQUENCER_0 0x3000 |
| 390 | #define WM8994_WRITE_SEQUENCER_1 0x3001 | 333 | #define WM8994_WRITE_SEQUENCER_1 0x3001 |
| 391 | #define WM8994_WRITE_SEQUENCER_2 0x3002 | 334 | #define WM8994_WRITE_SEQUENCER_2 0x3002 |
| @@ -1905,9 +1848,6 @@ | |||
| 1905 | /* | 1848 | /* |
| 1906 | * R57 (0x39) - AntiPOP (2) | 1849 | * R57 (0x39) - AntiPOP (2) |
| 1907 | */ | 1850 | */ |
| 1908 | #define WM1811_JACKDET_MODE_MASK 0x0180 /* JACKDET_MODE - [8:7] */ | ||
| 1909 | #define WM1811_JACKDET_MODE_SHIFT 7 /* JACKDET_MODE - [8:7] */ | ||
| 1910 | #define WM1811_JACKDET_MODE_WIDTH 2 /* JACKDET_MODE - [8:7] */ | ||
| 1911 | #define WM8994_MICB2_DISCH 0x0100 /* MICB2_DISCH */ | 1851 | #define WM8994_MICB2_DISCH 0x0100 /* MICB2_DISCH */ |
| 1912 | #define WM8994_MICB2_DISCH_MASK 0x0100 /* MICB2_DISCH */ | 1852 | #define WM8994_MICB2_DISCH_MASK 0x0100 /* MICB2_DISCH */ |
| 1913 | #define WM8994_MICB2_DISCH_SHIFT 8 /* MICB2_DISCH */ | 1853 | #define WM8994_MICB2_DISCH_SHIFT 8 /* MICB2_DISCH */ |
| @@ -1981,59 +1921,6 @@ | |||
| 1981 | #define WM8994_LDO2_DISCH_WIDTH 1 /* LDO2_DISCH */ | 1921 | #define WM8994_LDO2_DISCH_WIDTH 1 /* LDO2_DISCH */ |
| 1982 | 1922 | ||
| 1983 | /* | 1923 | /* |
| 1984 | * R61 (0x3D) - MICBIAS1 | ||
| 1985 | */ | ||
| 1986 | #define WM8958_MICB1_RATE 0x0020 /* MICB1_RATE */ | ||
| 1987 | #define WM8958_MICB1_RATE_MASK 0x0020 /* MICB1_RATE */ | ||
| 1988 | #define WM8958_MICB1_RATE_SHIFT 5 /* MICB1_RATE */ | ||
| 1989 | #define WM8958_MICB1_RATE_WIDTH 1 /* MICB1_RATE */ | ||
| 1990 | #define WM8958_MICB1_MODE 0x0010 /* MICB1_MODE */ | ||
| 1991 | #define WM8958_MICB1_MODE_MASK 0x0010 /* MICB1_MODE */ | ||
| 1992 | #define WM8958_MICB1_MODE_SHIFT 4 /* MICB1_MODE */ | ||
| 1993 | #define WM8958_MICB1_MODE_WIDTH 1 /* MICB1_MODE */ | ||
| 1994 | #define WM8958_MICB1_LVL_MASK 0x000E /* MICB1_LVL - [3:1] */ | ||
| 1995 | #define WM8958_MICB1_LVL_SHIFT 1 /* MICB1_LVL - [3:1] */ | ||
| 1996 | #define WM8958_MICB1_LVL_WIDTH 3 /* MICB1_LVL - [3:1] */ | ||
| 1997 | #define WM8958_MICB1_DISCH 0x0001 /* MICB1_DISCH */ | ||
| 1998 | #define WM8958_MICB1_DISCH_MASK 0x0001 /* MICB1_DISCH */ | ||
| 1999 | #define WM8958_MICB1_DISCH_SHIFT 0 /* MICB1_DISCH */ | ||
| 2000 | #define WM8958_MICB1_DISCH_WIDTH 1 /* MICB1_DISCH */ | ||
| 2001 | |||
| 2002 | /* | ||
| 2003 | * R62 (0x3E) - MICBIAS2 | ||
| 2004 | */ | ||
| 2005 | #define WM8958_MICB2_RATE 0x0020 /* MICB2_RATE */ | ||
| 2006 | #define WM8958_MICB2_RATE_MASK 0x0020 /* MICB2_RATE */ | ||
| 2007 | #define WM8958_MICB2_RATE_SHIFT 5 /* MICB2_RATE */ | ||
| 2008 | #define WM8958_MICB2_RATE_WIDTH 1 /* MICB2_RATE */ | ||
| 2009 | #define WM8958_MICB2_MODE 0x0010 /* MICB2_MODE */ | ||
| 2010 | #define WM8958_MICB2_MODE_MASK 0x0010 /* MICB2_MODE */ | ||
| 2011 | #define WM8958_MICB2_MODE_SHIFT 4 /* MICB2_MODE */ | ||
| 2012 | #define WM8958_MICB2_MODE_WIDTH 1 /* MICB2_MODE */ | ||
| 2013 | #define WM8958_MICB2_LVL_MASK 0x000E /* MICB2_LVL - [3:1] */ | ||
| 2014 | #define WM8958_MICB2_LVL_SHIFT 1 /* MICB2_LVL - [3:1] */ | ||
| 2015 | #define WM8958_MICB2_LVL_WIDTH 3 /* MICB2_LVL - [3:1] */ | ||
| 2016 | #define WM8958_MICB2_DISCH 0x0001 /* MICB2_DISCH */ | ||
| 2017 | #define WM8958_MICB2_DISCH_MASK 0x0001 /* MICB2_DISCH */ | ||
| 2018 | #define WM8958_MICB2_DISCH_SHIFT 0 /* MICB2_DISCH */ | ||
| 2019 | #define WM8958_MICB2_DISCH_WIDTH 1 /* MICB2_DISCH */ | ||
| 2020 | |||
| 2021 | /* | ||
| 2022 | * R210 (0xD2) - Mic Detect 3 | ||
| 2023 | */ | ||
| 2024 | #define WM8958_MICD_LVL_MASK 0x07FC /* MICD_LVL - [10:2] */ | ||
| 2025 | #define WM8958_MICD_LVL_SHIFT 2 /* MICD_LVL - [10:2] */ | ||
| 2026 | #define WM8958_MICD_LVL_WIDTH 9 /* MICD_LVL - [10:2] */ | ||
| 2027 | #define WM8958_MICD_VALID 0x0002 /* MICD_VALID */ | ||
| 2028 | #define WM8958_MICD_VALID_MASK 0x0002 /* MICD_VALID */ | ||
| 2029 | #define WM8958_MICD_VALID_SHIFT 1 /* MICD_VALID */ | ||
| 2030 | #define WM8958_MICD_VALID_WIDTH 1 /* MICD_VALID */ | ||
| 2031 | #define WM8958_MICD_STS 0x0001 /* MICD_STS */ | ||
| 2032 | #define WM8958_MICD_STS_MASK 0x0001 /* MICD_STS */ | ||
| 2033 | #define WM8958_MICD_STS_SHIFT 0 /* MICD_STS */ | ||
| 2034 | #define WM8958_MICD_STS_WIDTH 1 /* MICD_STS */ | ||
| 2035 | |||
| 2036 | /* | ||
| 2037 | * R76 (0x4C) - Charge Pump (1) | 1924 | * R76 (0x4C) - Charge Pump (1) |
| 2038 | */ | 1925 | */ |
| 2039 | #define WM8994_CP_ENA 0x8000 /* CP_ENA */ | 1926 | #define WM8994_CP_ENA 0x8000 /* CP_ENA */ |
| @@ -2140,10 +2027,6 @@ | |||
| 2140 | /* | 2027 | /* |
| 2141 | * R96 (0x60) - Analogue HP (1) | 2028 | * R96 (0x60) - Analogue HP (1) |
| 2142 | */ | 2029 | */ |
| 2143 | #define WM1811_HPOUT1_ATTN 0x0100 /* HPOUT1_ATTN */ | ||
| 2144 | #define WM1811_HPOUT1_ATTN_MASK 0x0100 /* HPOUT1_ATTN */ | ||
| 2145 | #define WM1811_HPOUT1_ATTN_SHIFT 8 /* HPOUT1_ATTN */ | ||
| 2146 | #define WM1811_HPOUT1_ATTN_WIDTH 1 /* HPOUT1_ATTN */ | ||
| 2147 | #define WM8994_HPOUT1L_RMV_SHORT 0x0080 /* HPOUT1L_RMV_SHORT */ | 2030 | #define WM8994_HPOUT1L_RMV_SHORT 0x0080 /* HPOUT1L_RMV_SHORT */ |
| 2148 | #define WM8994_HPOUT1L_RMV_SHORT_MASK 0x0080 /* HPOUT1L_RMV_SHORT */ | 2031 | #define WM8994_HPOUT1L_RMV_SHORT_MASK 0x0080 /* HPOUT1L_RMV_SHORT */ |
| 2149 | #define WM8994_HPOUT1L_RMV_SHORT_SHIFT 7 /* HPOUT1L_RMV_SHORT */ | 2032 | #define WM8994_HPOUT1L_RMV_SHORT_SHIFT 7 /* HPOUT1L_RMV_SHORT */ |
| @@ -2212,9 +2095,6 @@ | |||
| 2212 | /* | 2095 | /* |
| 2213 | * R256 (0x100) - Chip Revision | 2096 | * R256 (0x100) - Chip Revision |
| 2214 | */ | 2097 | */ |
| 2215 | #define WM8994_CUST_ID_MASK 0xFF00 /* CUST_ID - [15:8] */ | ||
| 2216 | #define WM8994_CUST_ID_SHIFT 8 /* CUST_ID - [15:8] */ | ||
| 2217 | #define WM8994_CUST_ID_WIDTH 8 /* CUST_ID - [15:8] */ | ||
| 2218 | #define WM8994_CHIP_REV_MASK 0x000F /* CHIP_REV - [3:0] */ | 2098 | #define WM8994_CHIP_REV_MASK 0x000F /* CHIP_REV - [3:0] */ |
| 2219 | #define WM8994_CHIP_REV_SHIFT 0 /* CHIP_REV - [3:0] */ | 2099 | #define WM8994_CHIP_REV_SHIFT 0 /* CHIP_REV - [3:0] */ |
| 2220 | #define WM8994_CHIP_REV_WIDTH 4 /* CHIP_REV - [3:0] */ | 2100 | #define WM8994_CHIP_REV_WIDTH 4 /* CHIP_REV - [3:0] */ |
| @@ -2448,10 +2328,6 @@ | |||
| 2448 | /* | 2328 | /* |
| 2449 | * R548 (0x224) - FLL1 Control (5) | 2329 | * R548 (0x224) - FLL1 Control (5) |
| 2450 | */ | 2330 | */ |
| 2451 | #define WM8958_FLL1_BYP 0x8000 /* FLL1_BYP */ | ||
| 2452 | #define WM8958_FLL1_BYP_MASK 0x8000 /* FLL1_BYP */ | ||
| 2453 | #define WM8958_FLL1_BYP_SHIFT 15 /* FLL1_BYP */ | ||
| 2454 | #define WM8958_FLL1_BYP_WIDTH 1 /* FLL1_BYP */ | ||
| 2455 | #define WM8994_FLL1_FRC_NCO_VAL_MASK 0x1F80 /* FLL1_FRC_NCO_VAL - [12:7] */ | 2331 | #define WM8994_FLL1_FRC_NCO_VAL_MASK 0x1F80 /* FLL1_FRC_NCO_VAL - [12:7] */ |
| 2456 | #define WM8994_FLL1_FRC_NCO_VAL_SHIFT 7 /* FLL1_FRC_NCO_VAL - [12:7] */ | 2332 | #define WM8994_FLL1_FRC_NCO_VAL_SHIFT 7 /* FLL1_FRC_NCO_VAL - [12:7] */ |
| 2457 | #define WM8994_FLL1_FRC_NCO_VAL_WIDTH 6 /* FLL1_FRC_NCO_VAL - [12:7] */ | 2333 | #define WM8994_FLL1_FRC_NCO_VAL_WIDTH 6 /* FLL1_FRC_NCO_VAL - [12:7] */ |
| @@ -2467,24 +2343,6 @@ | |||
| 2467 | #define WM8994_FLL1_REFCLK_SRC_WIDTH 2 /* FLL1_REFCLK_SRC - [1:0] */ | 2343 | #define WM8994_FLL1_REFCLK_SRC_WIDTH 2 /* FLL1_REFCLK_SRC - [1:0] */ |
| 2468 | 2344 | ||
| 2469 | /* | 2345 | /* |
| 2470 | * R550 (0x226) - FLL1 EFS 1 | ||
| 2471 | */ | ||
| 2472 | #define WM8958_FLL1_LAMBDA_MASK 0xFFFF /* FLL1_LAMBDA - [15:0] */ | ||
| 2473 | #define WM8958_FLL1_LAMBDA_SHIFT 0 /* FLL1_LAMBDA - [15:0] */ | ||
| 2474 | #define WM8958_FLL1_LAMBDA_WIDTH 16 /* FLL1_LAMBDA - [15:0] */ | ||
| 2475 | |||
| 2476 | /* | ||
| 2477 | * R551 (0x227) - FLL1 EFS 2 | ||
| 2478 | */ | ||
| 2479 | #define WM8958_FLL1_LFSR_SEL_MASK 0x0006 /* FLL1_LFSR_SEL - [2:1] */ | ||
| 2480 | #define WM8958_FLL1_LFSR_SEL_SHIFT 1 /* FLL1_LFSR_SEL - [2:1] */ | ||
| 2481 | #define WM8958_FLL1_LFSR_SEL_WIDTH 2 /* FLL1_LFSR_SEL - [2:1] */ | ||
| 2482 | #define WM8958_FLL1_EFS_ENA 0x0001 /* FLL1_EFS_ENA */ | ||
| 2483 | #define WM8958_FLL1_EFS_ENA_MASK 0x0001 /* FLL1_EFS_ENA */ | ||
| 2484 | #define WM8958_FLL1_EFS_ENA_SHIFT 0 /* FLL1_EFS_ENA */ | ||
| 2485 | #define WM8958_FLL1_EFS_ENA_WIDTH 1 /* FLL1_EFS_ENA */ | ||
| 2486 | |||
| 2487 | /* | ||
| 2488 | * R576 (0x240) - FLL2 Control (1) | 2346 | * R576 (0x240) - FLL2 Control (1) |
| 2489 | */ | 2347 | */ |
| 2490 | #define WM8994_FLL2_FRAC 0x0004 /* FLL2_FRAC */ | 2348 | #define WM8994_FLL2_FRAC 0x0004 /* FLL2_FRAC */ |
| @@ -2533,10 +2391,6 @@ | |||
| 2533 | /* | 2391 | /* |
| 2534 | * R580 (0x244) - FLL2 Control (5) | 2392 | * R580 (0x244) - FLL2 Control (5) |
| 2535 | */ | 2393 | */ |
| 2536 | #define WM8958_FLL2_BYP 0x8000 /* FLL2_BYP */ | ||
| 2537 | #define WM8958_FLL2_BYP_MASK 0x8000 /* FLL2_BYP */ | ||
| 2538 | #define WM8958_FLL2_BYP_SHIFT 15 /* FLL2_BYP */ | ||
| 2539 | #define WM8958_FLL2_BYP_WIDTH 1 /* FLL2_BYP */ | ||
| 2540 | #define WM8994_FLL2_FRC_NCO_VAL_MASK 0x1F80 /* FLL2_FRC_NCO_VAL - [12:7] */ | 2394 | #define WM8994_FLL2_FRC_NCO_VAL_MASK 0x1F80 /* FLL2_FRC_NCO_VAL - [12:7] */ |
| 2541 | #define WM8994_FLL2_FRC_NCO_VAL_SHIFT 7 /* FLL2_FRC_NCO_VAL - [12:7] */ | 2395 | #define WM8994_FLL2_FRC_NCO_VAL_SHIFT 7 /* FLL2_FRC_NCO_VAL - [12:7] */ |
| 2542 | #define WM8994_FLL2_FRC_NCO_VAL_WIDTH 6 /* FLL2_FRC_NCO_VAL - [12:7] */ | 2396 | #define WM8994_FLL2_FRC_NCO_VAL_WIDTH 6 /* FLL2_FRC_NCO_VAL - [12:7] */ |
| @@ -2552,24 +2406,6 @@ | |||
| 2552 | #define WM8994_FLL2_REFCLK_SRC_WIDTH 2 /* FLL2_REFCLK_SRC - [1:0] */ | 2406 | #define WM8994_FLL2_REFCLK_SRC_WIDTH 2 /* FLL2_REFCLK_SRC - [1:0] */ |
| 2553 | 2407 | ||
| 2554 | /* | 2408 | /* |
| 2555 | * R582 (0x246) - FLL2 EFS 1 | ||
| 2556 | */ | ||
| 2557 | #define WM8958_FLL2_LAMBDA_MASK 0xFFFF /* FLL2_LAMBDA - [15:0] */ | ||
| 2558 | #define WM8958_FLL2_LAMBDA_SHIFT 0 /* FLL2_LAMBDA - [15:0] */ | ||
| 2559 | #define WM8958_FLL2_LAMBDA_WIDTH 16 /* FLL2_LAMBDA - [15:0] */ | ||
| 2560 | |||
| 2561 | /* | ||
| 2562 | * R583 (0x247) - FLL2 EFS 2 | ||
| 2563 | */ | ||
| 2564 | #define WM8958_FLL2_LFSR_SEL_MASK 0x0006 /* FLL2_LFSR_SEL - [2:1] */ | ||
| 2565 | #define WM8958_FLL2_LFSR_SEL_SHIFT 1 /* FLL2_LFSR_SEL - [2:1] */ | ||
| 2566 | #define WM8958_FLL2_LFSR_SEL_WIDTH 2 /* FLL2_LFSR_SEL - [2:1] */ | ||
| 2567 | #define WM8958_FLL2_EFS_ENA 0x0001 /* FLL2_EFS_ENA */ | ||
| 2568 | #define WM8958_FLL2_EFS_ENA_MASK 0x0001 /* FLL2_EFS_ENA */ | ||
| 2569 | #define WM8958_FLL2_EFS_ENA_SHIFT 0 /* FLL2_EFS_ENA */ | ||
| 2570 | #define WM8958_FLL2_EFS_ENA_WIDTH 1 /* FLL2_EFS_ENA */ | ||
| 2571 | |||
| 2572 | /* | ||
| 2573 | * R768 (0x300) - AIF1 Control (1) | 2409 | * R768 (0x300) - AIF1 Control (1) |
| 2574 | */ | 2410 | */ |
| 2575 | #define WM8994_AIF1ADCL_SRC 0x8000 /* AIF1ADCL_SRC */ | 2411 | #define WM8994_AIF1ADCL_SRC 0x8000 /* AIF1ADCL_SRC */ |
| @@ -3113,34 +2949,6 @@ | |||
| 3113 | #define WM8994_AIF1DAC2_3D_ENA_WIDTH 1 /* AIF1DAC2_3D_ENA */ | 2949 | #define WM8994_AIF1DAC2_3D_ENA_WIDTH 1 /* AIF1DAC2_3D_ENA */ |
| 3114 | 2950 | ||
| 3115 | /* | 2951 | /* |
| 3116 | * R1072 (0x430) - AIF1 DAC1 Noise Gate | ||
| 3117 | */ | ||
| 3118 | #define WM8958_AIF1DAC1_NG_HLD_MASK 0x0060 /* AIF1DAC1_NG_HLD - [6:5] */ | ||
| 3119 | #define WM8958_AIF1DAC1_NG_HLD_SHIFT 5 /* AIF1DAC1_NG_HLD - [6:5] */ | ||
| 3120 | #define WM8958_AIF1DAC1_NG_HLD_WIDTH 2 /* AIF1DAC1_NG_HLD - [6:5] */ | ||
| 3121 | #define WM8958_AIF1DAC1_NG_THR_MASK 0x000E /* AIF1DAC1_NG_THR - [3:1] */ | ||
| 3122 | #define WM8958_AIF1DAC1_NG_THR_SHIFT 1 /* AIF1DAC1_NG_THR - [3:1] */ | ||
| 3123 | #define WM8958_AIF1DAC1_NG_THR_WIDTH 3 /* AIF1DAC1_NG_THR - [3:1] */ | ||
| 3124 | #define WM8958_AIF1DAC1_NG_ENA 0x0001 /* AIF1DAC1_NG_ENA */ | ||
| 3125 | #define WM8958_AIF1DAC1_NG_ENA_MASK 0x0001 /* AIF1DAC1_NG_ENA */ | ||
| 3126 | #define WM8958_AIF1DAC1_NG_ENA_SHIFT 0 /* AIF1DAC1_NG_ENA */ | ||
| 3127 | #define WM8958_AIF1DAC1_NG_ENA_WIDTH 1 /* AIF1DAC1_NG_ENA */ | ||
| 3128 | |||
| 3129 | /* | ||
| 3130 | * R1073 (0x431) - AIF1 DAC2 Noise Gate | ||
| 3131 | */ | ||
| 3132 | #define WM8958_AIF1DAC2_NG_HLD_MASK 0x0060 /* AIF1DAC2_NG_HLD - [6:5] */ | ||
| 3133 | #define WM8958_AIF1DAC2_NG_HLD_SHIFT 5 /* AIF1DAC2_NG_HLD - [6:5] */ | ||
| 3134 | #define WM8958_AIF1DAC2_NG_HLD_WIDTH 2 /* AIF1DAC2_NG_HLD - [6:5] */ | ||
| 3135 | #define WM8958_AIF1DAC2_NG_THR_MASK 0x000E /* AIF1DAC2_NG_THR - [3:1] */ | ||
| 3136 | #define WM8958_AIF1DAC2_NG_THR_SHIFT 1 /* AIF1DAC2_NG_THR - [3:1] */ | ||
| 3137 | #define WM8958_AIF1DAC2_NG_THR_WIDTH 3 /* AIF1DAC2_NG_THR - [3:1] */ | ||
| 3138 | #define WM8958_AIF1DAC2_NG_ENA 0x0001 /* AIF1DAC2_NG_ENA */ | ||
| 3139 | #define WM8958_AIF1DAC2_NG_ENA_MASK 0x0001 /* AIF1DAC2_NG_ENA */ | ||
| 3140 | #define WM8958_AIF1DAC2_NG_ENA_SHIFT 0 /* AIF1DAC2_NG_ENA */ | ||
| 3141 | #define WM8958_AIF1DAC2_NG_ENA_WIDTH 1 /* AIF1DAC2_NG_ENA */ | ||
| 3142 | |||
| 3143 | /* | ||
| 3144 | * R1088 (0x440) - AIF1 DRC1 (1) | 2952 | * R1088 (0x440) - AIF1 DRC1 (1) |
| 3145 | */ | 2953 | */ |
| 3146 | #define WM8994_AIF1DRC1_SIG_DET_RMS_MASK 0xF800 /* AIF1DRC1_SIG_DET_RMS - [15:11] */ | 2954 | #define WM8994_AIF1DRC1_SIG_DET_RMS_MASK 0xF800 /* AIF1DRC1_SIG_DET_RMS - [15:11] */ |
| @@ -3752,20 +3560,6 @@ | |||
| 3752 | #define WM8994_AIF2DAC_3D_ENA_WIDTH 1 /* AIF2DAC_3D_ENA */ | 3560 | #define WM8994_AIF2DAC_3D_ENA_WIDTH 1 /* AIF2DAC_3D_ENA */ |
| 3753 | 3561 | ||
| 3754 | /* | 3562 | /* |
| 3755 | * R1328 (0x530) - AIF2 DAC Noise Gate | ||
| 3756 | */ | ||
| 3757 | #define WM8958_AIF2DAC_NG_HLD_MASK 0x0060 /* AIF2DAC_NG_HLD - [6:5] */ | ||
| 3758 | #define WM8958_AIF2DAC_NG_HLD_SHIFT 5 /* AIF2DAC_NG_HLD - [6:5] */ | ||
| 3759 | #define WM8958_AIF2DAC_NG_HLD_WIDTH 2 /* AIF2DAC_NG_HLD - [6:5] */ | ||
| 3760 | #define WM8958_AIF2DAC_NG_THR_MASK 0x000E /* AIF2DAC_NG_THR - [3:1] */ | ||
| 3761 | #define WM8958_AIF2DAC_NG_THR_SHIFT 1 /* AIF2DAC_NG_THR - [3:1] */ | ||
| 3762 | #define WM8958_AIF2DAC_NG_THR_WIDTH 3 /* AIF2DAC_NG_THR - [3:1] */ | ||
| 3763 | #define WM8958_AIF2DAC_NG_ENA 0x0001 /* AIF2DAC_NG_ENA */ | ||
| 3764 | #define WM8958_AIF2DAC_NG_ENA_MASK 0x0001 /* AIF2DAC_NG_ENA */ | ||
| 3765 | #define WM8958_AIF2DAC_NG_ENA_SHIFT 0 /* AIF2DAC_NG_ENA */ | ||
| 3766 | #define WM8958_AIF2DAC_NG_ENA_WIDTH 1 /* AIF2DAC_NG_ENA */ | ||
| 3767 | |||
| 3768 | /* | ||
| 3769 | * R1344 (0x540) - AIF2 DRC (1) | 3563 | * R1344 (0x540) - AIF2 DRC (1) |
| 3770 | */ | 3564 | */ |
| 3771 | #define WM8994_AIF2DRC_SIG_DET_RMS_MASK 0xF800 /* AIF2DRC_SIG_DET_RMS - [15:11] */ | 3565 | #define WM8994_AIF2DRC_SIG_DET_RMS_MASK 0xF800 /* AIF2DRC_SIG_DET_RMS - [15:11] */ |
| @@ -4290,18 +4084,6 @@ | |||
| 4290 | #define WM8994_STL_SEL_WIDTH 1 /* STL_SEL */ | 4084 | #define WM8994_STL_SEL_WIDTH 1 /* STL_SEL */ |
| 4291 | 4085 | ||
| 4292 | /* | 4086 | /* |
| 4293 | * R1797 (0x705) - JACKDET Ctrl | ||
| 4294 | */ | ||
| 4295 | #define WM1811_JACKDET_DB 0x0100 /* JACKDET_DB */ | ||
| 4296 | #define WM1811_JACKDET_DB_MASK 0x0100 /* JACKDET_DB */ | ||
| 4297 | #define WM1811_JACKDET_DB_SHIFT 8 /* JACKDET_DB */ | ||
| 4298 | #define WM1811_JACKDET_DB_WIDTH 1 /* JACKDET_DB */ | ||
| 4299 | #define WM1811_JACKDET_LVL 0x0040 /* JACKDET_LVL */ | ||
| 4300 | #define WM1811_JACKDET_LVL_MASK 0x0040 /* JACKDET_LVL */ | ||
| 4301 | #define WM1811_JACKDET_LVL_SHIFT 6 /* JACKDET_LVL */ | ||
| 4302 | #define WM1811_JACKDET_LVL_WIDTH 1 /* JACKDET_LVL */ | ||
| 4303 | |||
| 4304 | /* | ||
| 4305 | * R1824 (0x720) - Pull Control (1) | 4087 | * R1824 (0x720) - Pull Control (1) |
| 4306 | */ | 4088 | */ |
| 4307 | #define WM8994_DMICDAT2_PU 0x0800 /* DMICDAT2_PU */ | 4089 | #define WM8994_DMICDAT2_PU 0x0800 /* DMICDAT2_PU */ |
