90 lines
2.8 KiB
C
90 lines
2.8 KiB
C
/*
|
|
* Copyright (C) 2016 Allwinner.
|
|
* wangwei <wangwei@allwinnertech.com>
|
|
*
|
|
* SUNXI AXP21 Driver
|
|
*
|
|
*/
|
|
|
|
#ifndef __AXP2101_H__
|
|
#define __AXP2101_H__
|
|
|
|
#include <arch/axp.h>
|
|
|
|
/*PMIC chip id reg03:bit7-6 bit3-*/
|
|
#define AXP2101_CHIP_ID (0x47)
|
|
#define AXP2101_CHIP_ID_B (0x4a)
|
|
|
|
#define AXP2101_DEVICE_ADDR 400000
|
|
#ifdef CFG_SUNXI_TWI
|
|
#define AXP2101_RUNTIME_ADDR (0x34)
|
|
#else
|
|
#define AXP2101_RUNTIME_ADDR (0x2d)
|
|
#endif
|
|
/* define AXP21 REGISTER */
|
|
#define AXP2101_MODE_CHGSTATUS (0x01)
|
|
#define AXP2101_OTG_STATUS (0x02)
|
|
#define AXP2101_VERSION (0x03)
|
|
#define AXP2101_DATA_BUFFER0 (0x04)
|
|
#define AXP2101_DATA_BUFFER1 (0x05)
|
|
#define AXP2101_DATA_BUFFER2 (0x06)
|
|
#define AXP2101_DATA_BUFFER3 (0x07)
|
|
#define AXP2101_OUTPUT_CTL0 (0x80)
|
|
#define AXP2101_OUTPUT_CTL1 (0x81)
|
|
#define AXP2101_OUTPUT_CTL2 (0x90)
|
|
#define AXP2101_OUTPUT_CTL3 (0x91)
|
|
|
|
#define AXP2101_DC1OUT_VOL (0x82)
|
|
#define AXP2101_DC2OUT_VOL (0x83)
|
|
#define AXP2101_DC3OUT_VOL (0x84)
|
|
#define AXP2101_DC4OUT_VOL (0x85)
|
|
#define AXP2101_DC5OUT_VOL (0x86)
|
|
#define AXP2101_ALDO1OUT_VOL (0x92)
|
|
#define AXP2101_ALDO2OUT_VOL (0x93)
|
|
#define AXP2101_ALDO3OUT_VOL (0x94)
|
|
#define AXP2101_ALDO4OUT_VOL (0x95)
|
|
#define AXP2101_BLDO1OUT_VOL (0x96)
|
|
#define AXP2101_BLDO2OUT_VOL (0x97)
|
|
#define AXP2101_CPUSLDO_VOL (0x98)
|
|
#define AXP2101_DLDO1OUT_VOL (0x99)
|
|
#define AXP2101_DLDO2OUT_VOL (0x9A)
|
|
|
|
#define AXP2101_PWRON_STATUS (0x20)
|
|
#define AXP2101_PWEON_PWEOFF_EN (0x22)
|
|
#define AXP2101_DCDC_PWEOFF_EN (0x23)
|
|
#define AXP2101_VSYS_MIN (0x14)
|
|
#define AXP2101_VBUS_VOL_SET (0x15)
|
|
#define AXP2101_VBUS_CUR_SET (0x16)
|
|
#define AXP2101_OFF_CTL (0x10)
|
|
#define AXP2101_CHARGE1 (0x62)
|
|
#define AXP2101_CHGLED_SET (0x69)
|
|
|
|
#define AXP2101_INTEN0 (0x40)
|
|
#define AXP2101_INTEN1 (0x41)
|
|
#define AXP2101_INTEN2 (0x42)
|
|
|
|
#define AXP2101_INTSTS0 (0x48)
|
|
#define AXP2101_INTSTS1 (0x49)
|
|
#define AXP2101_INTSTS2 (0x4a)
|
|
|
|
#define AXP2101_BAT_AVERVOL_H6 (0x34)
|
|
#define AXP2101_BAT_AVERVOL_L8 (0x35)
|
|
|
|
#define AXP2101_TWI_ADDR_EXT (0xFF)
|
|
#define AXP2101_EFUS_OP_CFG (0xF0)
|
|
#define AXP2101_EFREQ_CTRL (0xF1)
|
|
#define AXP2101_SELLP_CFG (0x26)
|
|
|
|
int axp2101_probe_power_key(void);
|
|
int axp2101_set_ddr_voltage(int set_vol);
|
|
int axp2101_set_pll_voltage(int set_vol);
|
|
int axp2101_set_efuse_voltage(int set_vol);
|
|
int axp2101_set_sys_voltage(int set_vol, int onoff);
|
|
int axp2101_reg_read(u8 addr, u8 *val);
|
|
int axp2101_reg_write(u8 addr, u8 val);
|
|
int axp2101_axp_init(u8 power_mode);
|
|
|
|
|
|
#endif /* __AXP2101_REGS_H__ */
|
|
|