@ -22,7 +22,6 @@
# include <asm/arch/power.h>
# include <power/pmic.h>
# include <asm/arch/sromc.h>
# include <power/max77686_pmic.h>
DECLARE_GLOBAL_DATA_PTR ;
@ -175,129 +174,10 @@ static int board_init_cros_ec_devices(const void *blob)
# endif
# if defined(CONFIG_POWER)
# ifdef CONFIG_POWER_MAX77686
static int pmic_reg_update ( struct pmic * p , int reg , uint regval )
{
u32 val ;
int ret = 0 ;
ret = pmic_reg_read ( p , reg , & val ) ;
if ( ret ) {
debug ( " %s: PMIC %d register read failed \n " , __func__ , reg ) ;
return - 1 ;
}
val | = regval ;
ret = pmic_reg_write ( p , reg , val ) ;
if ( ret ) {
debug ( " %s: PMIC %d register write failed \n " , __func__ , reg ) ;
return - 1 ;
}
return 0 ;
}
static int max77686_init ( void )
{
struct pmic * p ;
if ( pmic_init ( I2C_PMIC ) )
return - 1 ;
p = pmic_get ( " MAX77686_PMIC " ) ;
if ( ! p )
return - ENODEV ;
if ( pmic_probe ( p ) )
return - 1 ;
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_32KHZ , MAX77686_32KHCP_EN ) )
return - 1 ;
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_BBAT ,
MAX77686_BBCHOSTEN | MAX77686_BBCVS_3_5V ) )
return - 1 ;
/* VDD_MIF */
if ( pmic_reg_write ( p , MAX77686_REG_PMIC_BUCK1OUT ,
MAX77686_BUCK1OUT_1V ) ) {
debug ( " %s: PMIC %d register write failed \n " , __func__ ,
MAX77686_REG_PMIC_BUCK1OUT ) ;
return - 1 ;
}
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_BUCK1CRTL ,
MAX77686_BUCK1CTRL_EN ) )
return - 1 ;
/* VDD_ARM */
if ( pmic_reg_write ( p , MAX77686_REG_PMIC_BUCK2DVS1 ,
MAX77686_BUCK2DVS1_1_3V ) ) {
debug ( " %s: PMIC %d register write failed \n " , __func__ ,
MAX77686_REG_PMIC_BUCK2DVS1 ) ;
return - 1 ;
}
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_BUCK2CTRL1 ,
MAX77686_BUCK2CTRL_ON ) )
return - 1 ;
/* VDD_INT */
if ( pmic_reg_write ( p , MAX77686_REG_PMIC_BUCK3DVS1 ,
MAX77686_BUCK3DVS1_1_0125V ) ) {
debug ( " %s: PMIC %d register write failed \n " , __func__ ,
MAX77686_REG_PMIC_BUCK3DVS1 ) ;
return - 1 ;
}
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_BUCK3CTRL ,
MAX77686_BUCK3CTRL_ON ) )
return - 1 ;
/* VDD_G3D */
if ( pmic_reg_write ( p , MAX77686_REG_PMIC_BUCK4DVS1 ,
MAX77686_BUCK4DVS1_1_2V ) ) {
debug ( " %s: PMIC %d register write failed \n " , __func__ ,
MAX77686_REG_PMIC_BUCK4DVS1 ) ;
return - 1 ;
}
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_BUCK4CTRL1 ,
MAX77686_BUCK3CTRL_ON ) )
return - 1 ;
/* VDD_LDO2 */
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_LDO2CTRL1 ,
MAX77686_LD02CTRL1_1_5V | EN_LDO ) )
return - 1 ;
/* VDD_LDO3 */
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_LDO3CTRL1 ,
MAX77686_LD03CTRL1_1_8V | EN_LDO ) )
return - 1 ;
/* VDD_LDO5 */
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_LDO5CTRL1 ,
MAX77686_LD05CTRL1_1_8V | EN_LDO ) )
return - 1 ;
/* VDD_LDO10 */
if ( pmic_reg_update ( p , MAX77686_REG_PMIC_LDO10CTRL1 ,
MAX77686_LD10CTRL1_1_8V | EN_LDO ) )
return - 1 ;
return 0 ;
}
# endif
int power_init_board ( void )
{
int ret = 0 ;
set_ps_hold_ctrl ( ) ;
# ifdef CONFIG_POWER_MAX77686
ret = max77686_init ( ) ;
# endif
return exynos_power_init ( ) ;
}
# endif