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