@ -9,6 +9,7 @@
# include <common.h>
# include <asm/gpio.h>
# include <asm/arch/mmc.h>
# include <dm.h>
# include <power/pmic.h>
# include <usb/dwc2_udc.h>
# include <asm/arch/cpu.h>
@ -43,19 +44,6 @@ void i2c_init_board(void)
}
# endif
int power_init_board ( void )
{
# ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
/*
* For PMIC the I2C bus is named as I2C5 , but it is connected
* to logical I2C adapter 0
*/
return pmic_init ( I2C_0 ) ;
# else
return 0 ;
# endif
}
int dram_init ( void )
{
gd - > ram_size = PHYS_SDRAM_1_SIZE + PHYS_SDRAM_2_SIZE +
@ -146,39 +134,50 @@ int board_mmc_init(bd_t *bis)
# ifdef CONFIG_USB_GADGET
static int s5pc1xx_phy_control ( int on )
{
# ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
int ret ;
struct udevice * dev ;
static int status ;
struct pmic * p = pmic_get ( " MAX8998_PMIC " ) ;
if ( ! p )
return - ENODEV ;
int reg , ret ;
if ( pmic_probe ( p ) )
return - 1 ;
ret = pmic_get ( " max8998_pmic " , & dev ) ;
if ( ret )
return ret ;
if ( on & & ! status ) {
ret = pmic_set_output ( p , MAX8998_REG_ONOFF1 ,
MAX8998_LDO3 , LDO_ON ) ;
ret = pmic_set_output ( p , MAX8998_REG_ONOFF2 ,
MAX8998_LDO8 , LDO_ON ) ;
reg = pmic_reg_read ( dev , MAX8998_REG_ONOFF1 ) ;
reg | = MAX8998_LDO3 ;
ret = pmic_reg_write ( dev , MAX8998_REG_ONOFF1 , reg ) ;
if ( ret ) {
puts ( " MAX8998 LDO setting error! \n " ) ;
return - 1 ;
return - EINVAL ;
}
reg = pmic_reg_read ( dev , MAX8998_REG_ONOFF2 ) ;
reg | = MAX8998_LDO8 ;
ret = pmic_reg_write ( dev , MAX8998_REG_ONOFF2 , reg ) ;
if ( ret ) {
puts ( " MAX8998 LDO setting error! \n " ) ;
return - EINVAL ;
}
status = 1 ;
} else if ( ! on & & status ) {
ret = pmic_set_output ( p , MAX8998_REG_ONOFF1 ,
MAX8998_LDO3 , LDO_OFF ) ;
ret = pmic_set_output ( p , MAX8998_REG_ONOFF2 ,
MAX8998_LDO8 , LDO_OFF ) ;
reg = pmic_reg_read ( dev , MAX8998_REG_ONOFF1 ) ;
reg & = ~ MAX8998_LDO3 ;
ret = pmic_reg_write ( dev , MAX8998_REG_ONOFF1 , reg ) ;
if ( ret ) {
puts ( " MAX8998 LDO setting error! \n " ) ;
return - EINVAL ;
}
reg = pmic_reg_read ( dev , MAX8998_REG_ONOFF2 ) ;
reg & = ~ MAX8998_LDO8 ;
ret = pmic_reg_write ( dev , MAX8998_REG_ONOFF2 , reg ) ;
if ( ret ) {
puts ( " MAX8998 LDO setting error! \n " ) ;
return - 1 ;
return - EINVAL ;
}
status = 0 ;
}
udelay ( 10000 ) ;
# endif
return 0 ;
}