arm: samsung: goni: use the driver model for max8998

Remove the "ifndef CONFIG_DM_I2C".
Instead, use the driver model for max8998.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
Jaehoon Chung 2017-01-03 09:43:28 +09:00 committed by Minkyu Kang
parent 87f5f5417f
commit cf2a693864

View File

@ -9,6 +9,7 @@
#include <common.h> #include <common.h>
#include <asm/gpio.h> #include <asm/gpio.h>
#include <asm/arch/mmc.h> #include <asm/arch/mmc.h>
#include <dm.h>
#include <power/pmic.h> #include <power/pmic.h>
#include <usb/dwc2_udc.h> #include <usb/dwc2_udc.h>
#include <asm/arch/cpu.h> #include <asm/arch/cpu.h>
@ -43,19 +44,6 @@ void i2c_init_board(void)
} }
#endif #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) int dram_init(void)
{ {
gd->ram_size = PHYS_SDRAM_1_SIZE + PHYS_SDRAM_2_SIZE + 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 #ifdef CONFIG_USB_GADGET
static int s5pc1xx_phy_control(int on) static int s5pc1xx_phy_control(int on)
{ {
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */ struct udevice *dev;
int ret;
static int status; static int status;
struct pmic *p = pmic_get("MAX8998_PMIC"); int reg, ret;
if (!p)
return -ENODEV;
if (pmic_probe(p)) ret = pmic_get("max8998_pmic", &dev);
return -1; if (ret)
return ret;
if (on && !status) { if (on && !status) {
ret = pmic_set_output(p, MAX8998_REG_ONOFF1, reg = pmic_reg_read(dev, MAX8998_REG_ONOFF1);
MAX8998_LDO3, LDO_ON); reg |= MAX8998_LDO3;
ret = pmic_set_output(p, MAX8998_REG_ONOFF2, ret = pmic_reg_write(dev, MAX8998_REG_ONOFF1, reg);
MAX8998_LDO8, LDO_ON);
if (ret) { if (ret) {
puts("MAX8998 LDO setting error!\n"); 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; status = 1;
} else if (!on && status) { } else if (!on && status) {
ret = pmic_set_output(p, MAX8998_REG_ONOFF1, reg = pmic_reg_read(dev, MAX8998_REG_ONOFF1);
MAX8998_LDO3, LDO_OFF); reg &= ~MAX8998_LDO3;
ret = pmic_set_output(p, MAX8998_REG_ONOFF2, ret = pmic_reg_write(dev, MAX8998_REG_ONOFF1, reg);
MAX8998_LDO8, LDO_OFF);
if (ret) { if (ret) {
puts("MAX8998 LDO setting error!\n"); 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 = 0; status = 0;
} }
udelay(10000); udelay(10000);
#endif
return 0; return 0;
} }