summaryrefslogtreecommitdiff
path: root/include/axp809.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/axp809.h')
-rw-r--r--include/axp809.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/include/axp809.h b/include/axp809.h
new file mode 100644
index 0000000000..81b3607d06
--- /dev/null
+++ b/include/axp809.h
@@ -0,0 +1,75 @@
+/*
+ * (C) Copyright 2016 Theobroma Systems Design und Consulting GmbH
+ * Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+ *
+ * X-Powers AXP809 Power Management IC driver
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/* Page 0 addresses */
+#define AXP809_INPUT_POWER_STATUS 0x00
+#define AXP809_POWERMODE 0x01
+#define AXP809_VERSION 0x03
+#define AXP809_VERSION_CHIPID_MASK 0xcf
+#define AXP809_VERSION_CHIPID 0x42
+#define AXP809_DATACACHE 0x04
+#define AXP809_OUTPUT_CTRL1 0x10
+#define AXP809_OUTPUT_CTRL1_DC5LDO_EN (1 << 0)
+#define AXP809_OUTPUT_CTRL1_DCDC1_EN (1 << 1)
+#define AXP809_OUTPUT_CTRL1_DCDC2_EN (1 << 2)
+#define AXP809_OUTPUT_CTRL1_DCDC3_EN (1 << 3)
+#define AXP809_OUTPUT_CTRL1_DCDC4_EN (1 << 4)
+#define AXP809_OUTPUT_CTRL1_DCDC5_EN (1 << 5)
+#define AXP809_OUTPUT_CTRL1_ALDO1_EN (1 << 6)
+#define AXP809_OUTPUT_CTRL1_ALDO2_EN (1 << 7)
+#define AXP809_OUTPUT_CTRL2 0x12
+#define AXP809_OUTPUT_CTRL2_ELDO1_EN (1 << 0)
+#define AXP809_OUTPUT_CTRL2_ELDO2_EN (1 << 1)
+#define AXP809_OUTPUT_CTRL2_ELDO3_EN (1 << 2)
+#define AXP809_OUTPUT_CTRL2_DLDO1_EN (1 << 3)
+#define AXP809_OUTPUT_CTRL2_DLDO2_EN (1 << 4)
+#define AXP809_OUTPUT_CTRL2_ALDO3_EN (1 << 5)
+#define AXP809_OUTPUT_CTRL2_SWOUT_EN (1 << 6)
+#define AXP809_OUTPUT_CTRL2_DC1SW_EN (1 << 7)
+#define AXP809_DLDO1_CTRL 0x15
+#define AXP809_DLDO2_CTRL 0x16
+#define AXP809_ELDO1_CTRL 0x19
+#define AXP809_ELDO2_CTRL 0x1a
+#define AXP809_ELDO3_CTRL 0x1b
+#define AXP809_DC5LDO_CTRL 0x1c
+#define AXP809_DCDC1_CTRL 0x21
+#define AXP809_DCDC2_CTRL 0x22
+#define AXP809_DCDC3_CTRL 0x23
+#define AXP809_DCDC4_CTRL 0x24
+#define AXP809_DCDC5_CTRL 0x25
+#define AXP809_DCDC23_DVS_CTRL 0x27
+#define AXP809_ALDO1_CTRL 0x28
+#define AXP809_ALDO2_CTRL 0x29
+#define AXP809_ALDO3_CTRL 0x2a
+#define AXP809_VBUS_IPSOUT 0x30
+#define AXP809_VBUS_IPSOUT_DRIVEBUS (1 << 2)
+#define AXP809_WAKEUP 0x31
+#define AXP809_SHUTDOWN 0x32
+#define AXP809_SHUTDOWN_POWEROFF (1 << 7)
+#define AXP809_DCDC_FREQUENCY 0x3b
+#define AXP809_DCDC_MODE 0x80
+#define AXP809_ADC_ENABLE 0x82
+#define AXP809_ADC_CTRL 0x84
+#define AXP809_ADC_RAT 0x85
+#define AXP809_TIMER_CTRL 0x8a
+#define AXP809_PWREN_CTRL1 0x8c
+#define AXP809_PWREN_CTRL2 0x8d
+#define AXP809_MISC_CTRL 0x8f
+#define AXP809_MISC_CTRL_N_VBUSEN_FUNC (1 << 4)
+
+/* For axp_gpio.c */
+#define AXP_POWER_STATUS 0x00
+#define AXP_POWER_STATUS_VBUS_PRESENT (1 << 5)
+#define AXP_GPIO0_CTRL 0x90
+#define AXP_GPIO1_CTRL 0x92
+#define AXP_GPIO_CTRL_OUTPUT_LOW 0x00 /* Drive pin low */
+#define AXP_GPIO_CTRL_OUTPUT_HIGH 0x01 /* Drive pin high */
+#define AXP_GPIO_CTRL_INPUT 0x02 /* Input */
+#define AXP_GPIO_STATE 0x94
+#define AXP_GPIO_STATE_OFFSET 0