board: samsung: trats: convert to driver model for controlling phy
Convert to driver model for controlling phy. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
committed by
Minkyu Kang
parent
5dfbd7bad8
commit
883c19a779
@@ -23,6 +23,7 @@
|
|||||||
#include <power/max8997_muic.h>
|
#include <power/max8997_muic.h>
|
||||||
#include <power/battery.h>
|
#include <power/battery.h>
|
||||||
#include <power/max17042_fg.h>
|
#include <power/max17042_fg.h>
|
||||||
|
#include <power/pmic.h>
|
||||||
#include <libtizen.h>
|
#include <libtizen.h>
|
||||||
#include <usb.h>
|
#include <usb.h>
|
||||||
#include <usb_mass_storage.h>
|
#include <usb_mass_storage.h>
|
||||||
@@ -232,40 +233,60 @@ static void check_hw_revision(void)
|
|||||||
#ifdef CONFIG_USB_GADGET
|
#ifdef CONFIG_USB_GADGET
|
||||||
static int s5pc210_phy_control(int on)
|
static int s5pc210_phy_control(int on)
|
||||||
{
|
{
|
||||||
#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */
|
struct udevice *dev;
|
||||||
int ret = 0;
|
int reg, ret;
|
||||||
u32 val = 0;
|
|
||||||
struct pmic *p = pmic_get("MAX8997_PMIC");
|
|
||||||
if (!p)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
if (pmic_probe(p))
|
ret = pmic_get("max8997-pmic", &dev);
|
||||||
return -1;
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
if (on) {
|
if (on) {
|
||||||
ret |= pmic_set_output(p, MAX8997_REG_SAFEOUTCTRL,
|
reg = pmic_reg_read(dev, MAX8997_REG_SAFEOUTCTRL);
|
||||||
ENSAFEOUT1, LDO_ON);
|
reg |= ENSAFEOUT1;
|
||||||
ret |= pmic_reg_read(p, MAX8997_REG_LDO3CTRL, &val);
|
ret = pmic_reg_write(dev, MAX8997_REG_SAFEOUTCTRL, reg);
|
||||||
ret |= pmic_reg_write(p, MAX8997_REG_LDO3CTRL, EN_LDO | val);
|
if (ret) {
|
||||||
|
puts("MAX8997 setting error!\n");
|
||||||
ret |= pmic_reg_read(p, MAX8997_REG_LDO8CTRL, &val);
|
return ret;
|
||||||
ret |= pmic_reg_write(p, MAX8997_REG_LDO8CTRL, EN_LDO | val);
|
}
|
||||||
|
reg = pmic_reg_read(dev, MAX8997_REG_LDO3CTRL);
|
||||||
|
reg |= EN_LDO;
|
||||||
|
ret = pmic_reg_write(dev, MAX8997_REG_LDO3CTRL, reg);
|
||||||
|
if (ret) {
|
||||||
|
puts("MAX8997 setting error!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
reg = pmic_reg_read(dev, MAX8997_REG_LDO8CTRL);
|
||||||
|
reg |= EN_LDO;
|
||||||
|
ret = pmic_reg_write(dev, MAX8997_REG_LDO8CTRL, reg);
|
||||||
|
if (ret) {
|
||||||
|
puts("MAX8997 setting error!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ret |= pmic_reg_read(p, MAX8997_REG_LDO8CTRL, &val);
|
reg = pmic_reg_read(dev, MAX8997_REG_LDO8CTRL);
|
||||||
ret |= pmic_reg_write(p, MAX8997_REG_LDO8CTRL, DIS_LDO | val);
|
reg &= DIS_LDO;
|
||||||
|
ret = pmic_reg_write(dev, MAX8997_REG_LDO8CTRL, reg);
|
||||||
|
if (ret) {
|
||||||
|
puts("MAX8997 setting error!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
reg = pmic_reg_read(dev, MAX8997_REG_LDO3CTRL);
|
||||||
|
reg &= DIS_LDO;
|
||||||
|
ret = pmic_reg_write(dev, MAX8997_REG_LDO3CTRL, reg);
|
||||||
|
if (ret) {
|
||||||
|
puts("MAX8997 setting error!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
reg = pmic_reg_read(dev, MAX8997_REG_SAFEOUTCTRL);
|
||||||
|
reg &= ~ENSAFEOUT1;
|
||||||
|
ret = pmic_reg_write(dev, MAX8997_REG_SAFEOUTCTRL, reg);
|
||||||
|
if (ret) {
|
||||||
|
puts("MAX8997 setting error!\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
ret |= pmic_reg_read(p, MAX8997_REG_LDO3CTRL, &val);
|
|
||||||
ret |= pmic_reg_write(p, MAX8997_REG_LDO3CTRL, DIS_LDO | val);
|
|
||||||
ret |= pmic_set_output(p, MAX8997_REG_SAFEOUTCTRL,
|
|
||||||
ENSAFEOUT1, LDO_OFF);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret) {
|
|
||||||
puts("MAX8997 LDO setting error!\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user