summaryrefslogtreecommitdiffstats
path: root/include/linux/mfd
diff options
context:
space:
mode:
authorIcenowy Zheng <icenowy@aosc.io>2017-04-17 07:57:40 -0400
committerLee Jones <lee.jones@linaro.org>2017-04-27 06:54:49 -0400
commit1578353e05cd23b10a9e5e8d1626e5bd0849d873 (patch)
treefc09c5b872c40ef9bd31a46a0183fba43c160396 /include/linux/mfd
parent19b465e9560c5fb415f1d1159ae8a580b731436b (diff)
mfd: axp20x: Support AXP803 variant
AXP803 is a new PMIC chip produced by X-Powers, usually paired with A64 via RSB bus. The PMIC itself is like AXP288, but with RSB support and dedicated VBUS and ACIN. Add support for it in the axp20x mfd driver. Currently only power key function is supported. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/axp20x.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
index dc8798cf2a24..cde56cfe8446 100644
--- a/include/linux/mfd/axp20x.h
+++ b/include/linux/mfd/axp20x.h
@@ -20,6 +20,7 @@ enum axp20x_variants {
20 AXP221_ID, 20 AXP221_ID,
21 AXP223_ID, 21 AXP223_ID,
22 AXP288_ID, 22 AXP288_ID,
23 AXP803_ID,
23 AXP806_ID, 24 AXP806_ID,
24 AXP809_ID, 25 AXP809_ID,
25 NR_AXP20X_VARIANTS, 26 NR_AXP20X_VARIANTS,
@@ -234,7 +235,7 @@ enum axp20x_variants {
234#define AXP22X_TS_ADC_L 0x59 235#define AXP22X_TS_ADC_L 0x59
235#define AXP22X_BATLOW_THRES1 0xe6 236#define AXP22X_BATLOW_THRES1 0xe6
236 237
237/* AXP288 specific registers */ 238/* AXP288/AXP803 specific registers */
238#define AXP288_POWER_REASON 0x02 239#define AXP288_POWER_REASON 0x02
239#define AXP288_BC_GLOBAL 0x2c 240#define AXP288_BC_GLOBAL 0x2c
240#define AXP288_BC_VBUS_CNTL 0x2d 241#define AXP288_BC_VBUS_CNTL 0x2d
@@ -475,6 +476,43 @@ enum axp288_irqs {
475 AXP288_IRQ_BC_USB_CHNG, 476 AXP288_IRQ_BC_USB_CHNG,
476}; 477};
477 478
479enum axp803_irqs {
480 AXP803_IRQ_ACIN_OVER_V = 1,
481 AXP803_IRQ_ACIN_PLUGIN,
482 AXP803_IRQ_ACIN_REMOVAL,
483 AXP803_IRQ_VBUS_OVER_V,
484 AXP803_IRQ_VBUS_PLUGIN,
485 AXP803_IRQ_VBUS_REMOVAL,
486 AXP803_IRQ_BATT_PLUGIN,
487 AXP803_IRQ_BATT_REMOVAL,
488 AXP803_IRQ_BATT_ENT_ACT_MODE,
489 AXP803_IRQ_BATT_EXIT_ACT_MODE,
490 AXP803_IRQ_CHARG,
491 AXP803_IRQ_CHARG_DONE,
492 AXP803_IRQ_BATT_CHG_TEMP_HIGH,
493 AXP803_IRQ_BATT_CHG_TEMP_HIGH_END,
494 AXP803_IRQ_BATT_CHG_TEMP_LOW,
495 AXP803_IRQ_BATT_CHG_TEMP_LOW_END,
496 AXP803_IRQ_BATT_ACT_TEMP_HIGH,
497 AXP803_IRQ_BATT_ACT_TEMP_HIGH_END,
498 AXP803_IRQ_BATT_ACT_TEMP_LOW,
499 AXP803_IRQ_BATT_ACT_TEMP_LOW_END,
500 AXP803_IRQ_DIE_TEMP_HIGH,
501 AXP803_IRQ_GPADC,
502 AXP803_IRQ_LOW_PWR_LVL1,
503 AXP803_IRQ_LOW_PWR_LVL2,
504 AXP803_IRQ_TIMER,
505 AXP803_IRQ_PEK_RIS_EDGE,
506 AXP803_IRQ_PEK_FAL_EDGE,
507 AXP803_IRQ_PEK_SHORT,
508 AXP803_IRQ_PEK_LONG,
509 AXP803_IRQ_PEK_OVER_OFF,
510 AXP803_IRQ_GPIO1_INPUT,
511 AXP803_IRQ_GPIO0_INPUT,
512 AXP803_IRQ_BC_USB_CHNG,
513 AXP803_IRQ_MV_CHNG,
514};
515
478enum axp806_irqs { 516enum axp806_irqs {
479 AXP806_IRQ_DIE_TEMP_HIGH_LV1, 517 AXP806_IRQ_DIE_TEMP_HIGH_LV1,
480 AXP806_IRQ_DIE_TEMP_HIGH_LV2, 518 AXP806_IRQ_DIE_TEMP_HIGH_LV2,