From: Zhang Bo Date: Thu, 23 Nov 2017 06:29:28 +0000 (+0800) Subject: MA-10732[Android] Change pmic sw3 mode to avoid DDR power off X-Git-Tag: rel_imx_4.9.88_2.0.0_ga~88 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=6ccbd3bce5fe6abb872e3dab31eac70516ad5347;p=u-boot.git MA-10732[Android] Change pmic sw3 mode to avoid DDR power off Write 1 to bit5 of PMIC SW3MODE(0x3f) register to change sw3 mode to avoid DDR power off. It will avoid DRAM lose data when reset or reboot. This feature is essental for pstore/ramoops work normally. Change-Id: I92a1e198d57d77ae117d0d49675fc8afffec9656 Signed-off-by: Zhang Bo --- diff --git a/board/freescale/mx7dsabresd/mx7dsabresd.c b/board/freescale/mx7dsabresd/mx7dsabresd.c index 6096e3c5cd..e3b75166ec 100644 --- a/board/freescale/mx7dsabresd/mx7dsabresd.c +++ b/board/freescale/mx7dsabresd/mx7dsabresd.c @@ -624,6 +624,7 @@ int power_init_board(void) { struct udevice *dev; int ret, dev_id, rev_id; + u32 sw3mode; ret = pmic_get("pfuze3000", &dev); if (ret == -ENODEV) @@ -637,6 +638,12 @@ int power_init_board(void) pmic_clrsetbits(dev, PFUZE3000_LDOGCTL, 0, 1); + /* change sw3 mode to avoid DDR power off */ + sw3mode = pmic_reg_read(dev, PFUZE3000_SW3MODE); + ret = pmic_reg_write(dev, PFUZE3000_SW3MODE, sw3mode | 0x20); + if (ret < 0) + printf("PMIC: PFUZE3000 change sw3 mode failed\n"); + return 0; } #endif