diff --git a/plat/sun50iw1p1/sunxi_power.c b/plat/sun50iw1p1/sunxi_power.c index a2ded04..75574b9 --- a/plat/sun50iw1p1/sunxi_power.c +++ b/plat/sun50iw1p1/sunxi_power.c @@ -229,8 +229,8 @@ static int pmic_setup(const char *dt_name) /* Enable DC1SW to power PHY, DLDO4 for WiFi and DLDO1 for HDMI */ ret = sunxi_pmic_read(0x12); - if ((ret & 0xc8) != 0xc8) { - ret = sunxi_pmic_write(0x12, ret | 0xc8); + if ((ret & 0xd9) != 0xd9) { + ret = sunxi_pmic_write(0x12, ret | 0xd8); if (ret < 0) { NOTICE("PMIC: error %d enabling DC1SW/DLDO4/DLDO1\n", ret); @@ -272,8 +272,17 @@ static int pmic_setup(const char *dt_name) INFO("PMIC: enabled Pinebook display\n"); } - + sunxi_pmic_write(0x15, 0x1a); /* DLDO1 = VCC3V3_HDMI voltage = 3.3V */ + sunxi_pmic_write(0x21, 60); /* Set DCDC2/CPU voltage to 1.1V */ + sunxi_pmic_write(0x16, 0x12); /* DLDO2 = VCC2V5_EDP voltage = 2.5V */ + sunxi_pmic_write(0x1c, 0xa); /* FLDO1 = VCC1V2_EDP voltage = 1.2V */ + sunxi_pmic_write(0x91, 0x1a); /* GPIO0LDO voltage = 3.3V */ + sunxi_pmic_write(0x90, 0x3); /* Enable GPIO0LDO */ + sunxi_pmic_write(0x30, sunxi_pmic_read(0x30) | BIT(2)); /* Enable USB at Lime64 */ + ret = sunxi_pmic_read(0x13); + /* Enable FLDO1 to power up eDP bridge */ + ret = sunxi_pmic_write(0x13, ret | 0x4); return 0; }