diff mbox

[U-Boot,15/17] power: twl6035: add palmas PMIC support

Message ID 1329480333-18353-16-git-send-email-r.sricharan@ti.com
State Changes Requested
Delegated to: Tom Rini
Headers show

Commit Message

SRICHARAN R Feb. 17, 2012, 12:05 p.m. UTC
From: Balaji T K <balajitk@ti.com>

palmas/TWL6035 is power IC for omap5 evm boards

Signed-off-by: Balaji T K <balajitk@ti.com>
---
 board/ti/omap5_evm/evm.c    |    6 ++--
 drivers/power/Makefile      |    1 +
 drivers/power/twl6035.c     |   54 +++++++++++++++++++++++++++++++++++++++++++
 include/configs/omap5_evm.h |    5 ++++
 include/twl6035.h           |   41 ++++++++++++++++++++++++++++++++
 5 files changed, 104 insertions(+), 3 deletions(-)
 create mode 100644 drivers/power/twl6035.c
 create mode 100644 include/twl6035.h

Comments

Tom Rini Feb. 20, 2012, 5:49 p.m. UTC | #1
On Fri, Feb 17, 2012 at 05:35:31PM +0530, R Sricharan wrote:

> From: Balaji T K <balajitk@ti.com>
> 
> palmas/TWL6035 is power IC for omap5 evm boards
> 
> Signed-off-by: Balaji T K <balajitk@ti.com>
[snip]
> +++ b/drivers/power/twl6035.c
[snip]
> +#ifdef CONFIG_TWL6035_POWER

Don't need to do that since we only link this file when that is set.

> +/* 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);
> +}

Used, exported, OK.

> +/* To align with i2c mw/mr address, reg, val command syntax */
> +static inline int palmas_write_u8(u8 chip_no, u8 reg, u8 val)
> +{
> +	return i2c_write(chip_no, reg, 1, &val, 1);
> +}
> +
> +static inline int palmas_read_u8(u8 chip_no, u8 reg, u8 *val)
> +{
> +	return i2c_read(chip_no, reg, 1, val, 1);
> +}

Unused and static so this must have warned.  To be clear, I expect the
patch series to add no more warnings for omap5_evm.  Thanks!
SRICHARAN R Feb. 21, 2012, 10:58 a.m. UTC | #2
Hi Tom,
On Mon, Feb 20, 2012 at 11:19 PM, Tom Rini <trini@ti.com> wrote:

> On Fri, Feb 17, 2012 at 05:35:31PM +0530, R Sricharan wrote:
>
> > From: Balaji T K <balajitk@ti.com>
> >
> > palmas/TWL6035 is power IC for omap5 evm boards
> >
> > Signed-off-by: Balaji T K <balajitk@ti.com>
> [snip]
> > +++ b/drivers/power/twl6035.c
> [snip]
> > +#ifdef CONFIG_TWL6035_POWER
>
> Don't need to do that since we only link this file when that is set.
>
> > +/* 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);
> > +}
>
> Used, exported, OK.
>
> > +/* To align with i2c mw/mr address, reg, val command syntax */
> > +static inline int palmas_write_u8(u8 chip_no, u8 reg, u8 val)
> > +{
> > +     return i2c_write(chip_no, reg, 1, &val, 1);
> > +}
> > +
> > +static inline int palmas_read_u8(u8 chip_no, u8 reg, u8 *val)
> > +{
> > +     return i2c_read(chip_no, reg, 1, val, 1);
> > +}
>
> Unused and static so this must have warned.  To be clear, I expect the
> patch series to add no more warnings for omap5_evm.  Thanks!
>
>   Agree. This should be in the later patch.
  Will correct this in V2 as well.

> --
> Tom
>


Thanks,
 Sricharan
diff mbox

Patch

diff --git a/board/ti/omap5_evm/evm.c b/board/ti/omap5_evm/evm.c
index ea0cb13..c1fe410 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 ead00f8..f24b93c 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 0000000..978a7ad
--- /dev/null
+++ b/drivers/power/twl6035.c
@@ -0,0 +1,54 @@ 
+/*
+ * (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>
+#ifdef CONFIG_TWL6035_POWER
+
+#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);
+}
+
+/* To align with i2c mw/mr address, reg, val command syntax */
+static inline int palmas_write_u8(u8 chip_no, u8 reg, u8 val)
+{
+	return i2c_write(chip_no, reg, 1, &val, 1);
+}
+
+static inline int palmas_read_u8(u8 chip_no, u8 reg, u8 *val)
+{
+	return i2c_read(chip_no, reg, 1, val, 1);
+}
+
+void twl6035_init_settings(void)
+{
+	return;
+}
+#endif
diff --git a/include/configs/omap5_evm.h b/include/configs/omap5_evm.h
index 23d1b3d..4f4cfe8 100644
--- a/include/configs/omap5_evm.h
+++ b/include/configs/omap5_evm.h
@@ -102,6 +102,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 0000000..1e13317
--- /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);