blob: 3b185896d63cf002b484bcf4bcc00c761393747c [file] [log] [blame]
SRICHARAN R21144292012-03-12 02:25:48 +00001/*
Nishanth Menoncb199102013-03-26 05:20:54 +00002 * (C) Copyright 2012-2013
SRICHARAN R21144292012-03-12 02:25:48 +00003 * Texas Instruments, <www.ti.com>
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
Nishanth Menonda2cc452013-03-26 05:20:58 +000023#ifndef PALMAS_H
24#define PALMAS_H
SRICHARAN R21144292012-03-12 02:25:48 +000025
26#include <common.h>
27#include <i2c.h>
28
29/* I2C chip addresses */
Nishanth Menoncb199102013-03-26 05:20:54 +000030#define PALMAS_CHIP_ADDR 0x48
SRICHARAN R21144292012-03-12 02:25:48 +000031
32/* 0x1XY translates to page 1, register address 0xXY */
33#define LDO9_CTRL 0x60
34#define LDO9_VOLTAGE 0x61
35
36/* Bit field definitions for LDOx_CTRL */
37#define LDO_ON (1 << 4)
38#define LDO_MODE_SLEEP (1 << 2)
39#define LDO_MODE_ACTIVE (1 << 0)
40
Nishanth Menonff2d57e2013-03-26 05:20:57 +000041/*
42 * Functions to read and write from TPS659038/TWL6035/TWL6037
43 * or other Palmas family of TI PMICs
44 */
45static inline int palmas_i2c_write_u8(u8 chip_no, u8 reg, u8 val)
46{
47 return i2c_write(chip_no, reg, 1, &val, 1);
48}
49
50static inline int palmas_i2c_read_u8(u8 chip_no, u8 reg, u8 *val)
51{
52 return i2c_read(chip_no, reg, 1, val, 1);
53}
54
Nishanth Menon12733882013-03-26 05:20:55 +000055void palmas_init_settings(void);
Nishanth Menon384bcae2013-03-26 05:20:56 +000056int palmas_mmc1_poweron_ldo(void);
Nishanth Menonda2cc452013-03-26 05:20:58 +000057
58#endif /* PALMAS_H */