build/patch/kernel/odroidxu4-next/not-booting-bugfix.patch

55 lines
1.7 KiB
Diff

diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c
index 4849b44..f0ccd33 100644
--- a/drivers/regulator/s2mps11.c
+++ b/drivers/regulator/s2mps11.c
@@ -1094,8 +1094,21 @@ static const struct regulator_desc s2mpu02_regulators[] = {
static int s2mps11_pmic_ethonoff(struct platform_device *pdev, bool onoff)
{
struct sec_pmic_dev *iodev = dev_get_drvdata(pdev->dev.parent);
+ unsigned int reg_val = 0;
int ret = 0;
+ ret = regmap_read(iodev->regmap_pmic, S2MPS11_REG_L15CTRL, &reg_val);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to read S2MPS11_REG_L15CTRL value\n");
+ return ret;
+ }
+
+ ret = regmap_read(iodev->regmap_pmic, S2MPS11_REG_L17CTRL, &reg_val);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to read S2MPS11_REG_L17CTRL value\n");
+ return ret;
+ }
+
if (onoff) {
/* ETH VDD0 ON */
ret = regmap_update_bits(iodev->regmap_pmic, S2MPS11_REG_L15CTRL, 0xFF, 0x72);
@@ -1221,24 +1234,14 @@ static int s2mps11_wdt_enable(struct sec_pmic_dev *iodev)
/* USB3.0 Hub Power OFF(GL3512) : BUCK9 */
static void s2mps11_buck9_reset(struct sec_pmic_dev *iodev)
{
- int ret;
- unsigned int reg_val;
-
- ret = regmap_read(iodev->regmap_pmic, S2MPS11_REG_B9CTRL1, &reg_val);
-
- if (ret < 0) {
- pr_err("%s : could not read S2MPS11_REG_B9CTRL1 value\n", __func__);
- return;
- }
-
- mdelay (10);
- if (regmap_update_bits(iodev->regmap_pmic,
+ if(regmap_update_bits(iodev->regmap_pmic,
S2MPS11_REG_B9CTRL1, 0xC0, 0))
pr_err("%s : S2MPS11_REG_B9CTRL1 Error!!\n", __func__);
- mdelay (10);
+ mdelay(10);
+
if (regmap_update_bits(iodev->regmap_pmic,
- S2MPS11_REG_B9CTRL1, 0xFF, reg_val))
+ S2MPS11_REG_B9CTRL1, 0xC0, 0xC0))
pr_err("%s : S2MPS11_REG_B9CTRL1 Error!!\n", __func__);
}