diff options
Diffstat (limited to 'include/axp809.h')
-rw-r--r-- | include/axp809.h | 75 |
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 |