80 lines
1.9 KiB
C
80 lines
1.9 KiB
C
/*
|
|
* Copyright (C) 2016 Allwinner.
|
|
* wangwei <wangwei@allwinnertech.com>
|
|
*
|
|
* SUNXI AXP858 Driver
|
|
*
|
|
*/
|
|
|
|
#ifndef __AXP858_REGS_H__
|
|
#define __AXP858_REGS_H__
|
|
|
|
#include <arch/axp.h>
|
|
|
|
/*PMIC chip id reg03:bit7-6 bit3-0 */
|
|
#define AXP858_CHIP_ID (0x14)
|
|
|
|
#define AXP858_DEVICE_ADDR (0x745)
|
|
#ifdef CFG_SUNXI_TWI
|
|
#define AXP858_RUNTIME_ADDR (0x36)
|
|
#else
|
|
#define AXP858_RUNTIME_ADDR (0x2d)
|
|
#endif
|
|
/*define AXP858 REGISTER*/
|
|
#define PMU_POWER_ON_SOURCE (0x00)
|
|
#define PMU_POWER_OFF_SOURCE (0x01)
|
|
#define PMU_IC_TYPE (0x03)
|
|
#define PMU_DATA_BUFFER0 (0x04)
|
|
#define PMU_DATA_BUFFER1 (0x05)
|
|
#define PMU_DATA_BUFFER2 (0x06)
|
|
#define PMU_DATA_BUFFER3 (0x07)
|
|
|
|
#define PMU_ONOFF_CTL1 (0x10)
|
|
#define PMU_ONOFF_CTL2 (0x11)
|
|
#define PMU_ONOFF_CTL3 (0x12)
|
|
|
|
#define PMU_DC1OUT_VOL (0x13)
|
|
|
|
#define PMU_DC2OUT_VOL (0x14)
|
|
#define PMU_DC3OUT_VOL (0x15)
|
|
#define PMU_DC4OUT_VOL (0x16)
|
|
#define PMU_DC5OUT_VOL (0x17)
|
|
#define PMU_DC6OUT_VOL (0x18)
|
|
|
|
#define PMU_ALDO1_VOL (0x19)
|
|
#define PMU_DCDC_MODE_CTL1 (0x1a)
|
|
#define PMU_ALDO2_VOL (0x20)
|
|
#define PMU_ALDO3_VOL (0x21)
|
|
#define PMU_ALDO4_VOL (0x22)
|
|
#define PMU_ALDO5_VOL (0x23)
|
|
|
|
#define PMU_BLDO1_VOL (0x24)
|
|
#define PMU_BLDO2_VOL (0x25)
|
|
#define PMU_BLDO3_VOL (0x26)
|
|
#define PMU_BLDO4_VOL (0x27)
|
|
#define PMU_BLDO5_VOL (0x28)
|
|
|
|
#define PMU_CLDO1_VOL (0x29)
|
|
#define PMU_CLDO2_VOL (0x2A)
|
|
#define PMU_CLDO3_GPIO1_VOL (0x2B)
|
|
#define PMU_CLDO4_GPIO2_CTL (0x2C)
|
|
#define PMU_CLDO4_VOL (0x2C)
|
|
|
|
#define PMU_POWER_DISABLE_DOWN (0x32)
|
|
|
|
#define PMU_IRQ_STATU1 (0x48)
|
|
#define PMU_IRQ_STATU2 (0x49)
|
|
|
|
int axp858_set_ddr_voltage(int set_vol);
|
|
int axp858_set_ddr4_2v5_voltage(int set_vol);
|
|
int axp858_set_pll_voltage(int set_vol);
|
|
int axp858_set_sys_voltage(int set_vol, int onoff);
|
|
int axp858_set_sys_voltage_ext(char *name, int set_vol, int onoff);
|
|
int axp858_axp_init(u8 power_mode);
|
|
int axp858_probe_power_key(void);
|
|
int axp858_reg_read(u8 addr, u8 *val);
|
|
int axp858_reg_write(u8 addr, u8 val);
|
|
|
|
|
|
#endif /* __AXP858_REGS_H__ */
|