sdk-hwV1.3/lichee/brandy-2.0/spl/include/arch/axp806_reg.h

84 lines
2.7 KiB
C

/*
* Copyright (C) 2016 Allwinner.
* wangwei <wangwei@allwinnertech.com>
*
* SUNXI AXP806 Driver
*
*/
#ifndef __AXP806_REGS_H__
#define __AXP806_REGS_H__
#include <arch/axp.h>
/*PMIC chip id reg03:bit7-6 bit3-0 */
#define AXP806_CHIP_ID (0x40)
#define AXP806_DEVICE_ADDR (0x745)
#ifdef CFG_SUNXI_TWI
#define AXP806_RUNTIME_ADDR (0x36)
#else
#define AXP806_RUNTIME_ADDR (0x2d)
#endif
/*define AXP806 REGISTER*/
#define AXP806_STARUP_SRC (0x00)
#define AXP806_IC_TYPE (0x03)
#define AXP806_DATA_BUFFER0 (0x04)
#define AXP806_DATA_BUFFER1 (0x05)
#define AXP806_DATA_BUFFER2 (0x06)
#define AXP806_DATA_BUFFER3 (0x07)
#define AXP806_OUTPUT_CTL1 (0x10)
#define AXP806_OUTPUT_CTL2 (0x11)
#define AXP806_DCAOUT_VOL (0x12)
#define AXP806_DCBOUT_VOL (0x13)
#define AXP806_DCCOUT_VOL (0x14)
#define AXP806_DCDOUT_VOL (0x15)
#define AXP806_DCEOUT_VOL (0x16)
#define AXP806_ALDO1OUT_VOL (0x17)
#define AXP806_ALDO2OUT_VOL (0x18)
#define AXP806_ALDO3OUT_VOL (0x19)
#define AXP806_DCMOD_CTL1 (0x1A)
#define AXP806_DCMOD_CTL2 (0x1B)
#define AXP806_DCFREQ_SET (0x1C)
#define AXP806_DCMONITOR_CTL (0x1D)
#define AXP806_IRQ_SETTING (0x1F)
#define AXP806_BLDO1OUT_VOL (0x20)
#define AXP806_BLDO2OUT_VOL (0x21)
#define AXP806_BLDO3OUT_VOL (0x22)
#define AXP806_BLDO4OUT_VOL (0x23)
#define AXP806_CLDO1OUT_VOL (0x24)
#define AXP806_CLDO2OUT_VOL (0x25)
#define AXP806_CLDO3OUT_VOL (0x26)
#define AXP806_VOFF_SETTING (0x31)
#define AXP806_DIASBLE (0x32)
#define AXP806_POK_SETTING (0x36)
#define AXP806_INTEN1 (0x40)
#define AXP806_INTEN2 (0x41)
#define AXP806_INTSTS1 (0x48)
#define AXP806_INTSTS2 (0x49)
#define PMU_POWER_KEY_STATUS (0x49)
#define PMU_POWER_KEY_OFFSET (0)
int axp806_set_ddr_voltage(int set_vol);
int axp806_set_ddr4_2v5_voltage(int set_vol);
int axp806_set_pll_voltage(int set_vol);
int axp806_set_sys_voltage(int set_vol, int onoff);
int axp806_set_sys_voltage_ext(char *name, int set_vol, int onoff);
int axp806_axp_init(u8 power_mode);
int axp806_probe_power_key(void);
int axp806_get_power_source(void);
int axp806_reg_read(u8 addr, u8 *val);
int axp806_reg_write(u8 addr, u8 val);
#endif /* __AXP806_REGS_H__ */