diff options
Diffstat (limited to 'arch/arm/cpu/armv7/sunxi/pmic_bus.c')
-rw-r--r-- | arch/arm/cpu/armv7/sunxi/pmic_bus.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/sunxi/pmic_bus.c b/arch/arm/cpu/armv7/sunxi/pmic_bus.c index d96130b6ed..8d39046e7b 100644 --- a/arch/arm/cpu/armv7/sunxi/pmic_bus.c +++ b/arch/arm/cpu/armv7/sunxi/pmic_bus.c @@ -14,6 +14,7 @@ #include <asm/arch/rsb.h> #include <i2c.h> #include <asm/arch/pmic_bus.h> +#include <power/axp806_pmic.h> #define AXP152_I2C_ADDR 0x30 @@ -27,6 +28,9 @@ #define AXP223_DEVICE_ADDR 0x3a3 #define AXP223_RUNTIME_ADDR 0x2d +#define AXP806_DEVICE_ADDR 0x745 +#define AXP806_RUNTIME_ADDR 0x3a + int pmic_bus_init(void) { /* This cannot be 0 because it is used in SPL before BSS is ready */ @@ -47,6 +51,10 @@ int pmic_bus_init(void) return ret; ret = rsb_set_device_address(AXP223_DEVICE_ADDR, AXP223_RUNTIME_ADDR); +# if defined(CONFIG_AXP806_POWER) + ret |= rsb_set_device_address(AXP806_DEVICE_ADDR, AXP806_RUNTIME_ADDR); + rsb_write(AXP806_RUNTIME_ADDR, AXP806_REGADDR_EXT, 0x10); +# endif # endif if (ret) return ret; |