summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Bo <bo.zhang@nxp.com>2017-11-23 14:29:28 +0800
committerZhang Bo <bo.zhang@nxp.com>2018-01-25 19:19:40 +0800
commit6ccbd3bce5fe6abb872e3dab31eac70516ad5347 (patch)
tree0460e7131820b2d0c292a77b4e33ed381f92bbeb
parentdb35ba76fbc9fd8a524543fc79cd0f2eed28084f (diff)
downloaduboot-imx-6ccbd3bce5fe6abb872e3dab31eac70516ad5347.tar.gz
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 <bo.zhang@nxp.com>
-rw-r--r--board/freescale/mx7dsabresd/mx7dsabresd.c7
1 files changed, 7 insertions, 0 deletions
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