diff options
author | SRICHARAN R <r.sricharan@ti.com> | 2012-03-12 02:25:48 +0000 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-05-15 08:31:25 +0200 |
commit | 211442989628d72fad1f2663a0bf5076e425fabd (patch) | |
tree | a323ed46b012f1fd389deaebc26537bde2206cf4 | |
parent | f75231b79a08471519c54f2d4ad5f57c119e23a8 (diff) |
power: twl6035: add palmas PMIC support
palmas/TWL6035 is power IC for omap5 evm boards
Signed-off-by: Balaji T K <balajitk@ti.com>
-rw-r--r-- | board/ti/omap5_evm/evm.c | 6 | ||||
-rw-r--r-- | drivers/power/Makefile | 1 | ||||
-rw-r--r-- | drivers/power/twl6035.c | 40 | ||||
-rw-r--r-- | include/configs/omap5_evm.h | 5 | ||||
-rw-r--r-- | include/twl6035.h | 41 |
5 files changed, 90 insertions, 3 deletions
diff --git a/board/ti/omap5_evm/evm.c b/board/ti/omap5_evm/evm.c index 88dac80225e..c8dfdf81429 100644 --- a/board/ti/omap5_evm/evm.c +++ b/board/ti/omap5_evm/evm.c @@ -23,7 +23,7 @@ * MA 02111-1307 USA */ #include <common.h> -#include <twl6030.h> +#include <twl6035.h> #include <asm/arch/sys_proto.h> #include <asm/arch/mmc_host_def.h> @@ -63,8 +63,8 @@ int board_eth_init(bd_t *bis) */ int misc_init_r(void) { -#ifdef CONFIG_TWL6030_POWER - twl6030_init_battery_charging(); +#ifdef CONFIG_TWL6035_POWER + twl6035_init_settings(); #endif return 0; } diff --git a/drivers/power/Makefile b/drivers/power/Makefile index ead00f8dae6..f24b93cc318 100644 --- a/drivers/power/Makefile +++ b/drivers/power/Makefile @@ -28,6 +28,7 @@ LIB := $(obj)libpower.o COBJS-$(CONFIG_FTPMU010_POWER) += ftpmu010.o COBJS-$(CONFIG_TWL4030_POWER) += twl4030.o COBJS-$(CONFIG_TWL6030_POWER) += twl6030.o +COBJS-$(CONFIG_TWL6035_POWER) += twl6035.o COBJS := $(COBJS-y) SRCS := $(COBJS:.o=.c) diff --git a/drivers/power/twl6035.c b/drivers/power/twl6035.c new file mode 100644 index 00000000000..d75212c9641 --- /dev/null +++ b/drivers/power/twl6035.c @@ -0,0 +1,40 @@ +/* + * (C) Copyright 2012 + * Texas Instruments, <www.ti.com> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include <config.h> +#include <twl6035.h> + +/* Functions to read and write from TWL6030 */ +int twl6035_i2c_write_u8(u8 chip_no, u8 val, u8 reg) +{ + return i2c_write(chip_no, reg, 1, &val, 1); +} + +int twl6035_i2c_read_u8(u8 chip_no, u8 *val, u8 reg) +{ + return i2c_read(chip_no, reg, 1, val, 1); +} + +void twl6035_init_settings(void) +{ + return; +} diff --git a/include/configs/omap5_evm.h b/include/configs/omap5_evm.h index 0bdfd6948b0..2dc98118056 100644 --- a/include/configs/omap5_evm.h +++ b/include/configs/omap5_evm.h @@ -99,6 +99,11 @@ #define CONFIG_DRIVER_OMAP34XX_I2C #define CONFIG_I2C_MULTI_BUS +/* TWL6035 */ +#ifndef CONFIG_SPL_BUILD +#define CONFIG_TWL6035_POWER +#endif + /* MMC */ #define CONFIG_GENERIC_MMC #define CONFIG_MMC diff --git a/include/twl6035.h b/include/twl6035.h new file mode 100644 index 00000000000..1e133175d72 --- /dev/null +++ b/include/twl6035.h @@ -0,0 +1,41 @@ +/* + * (C) Copyright 2012 + * Texas Instruments, <www.ti.com> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include <common.h> +#include <i2c.h> + +/* I2C chip addresses */ +#define TWL6035_CHIP_ADDR 0x48 + +/* 0x1XY translates to page 1, register address 0xXY */ +#define LDO9_CTRL 0x60 +#define LDO9_VOLTAGE 0x61 + +/* Bit field definitions for LDOx_CTRL */ +#define LDO_ON (1 << 4) +#define LDO_MODE_SLEEP (1 << 2) +#define LDO_MODE_ACTIVE (1 << 0) + +int twl6035_i2c_write_u8(u8 chip_no, u8 val, u8 reg); +int twl6035_i2c_read_u8(u8 chip_no, u8 *val, u8 reg); +void twl6035_init_settings(void); |