From 6ccbd3bce5fe6abb872e3dab31eac70516ad5347 Mon Sep 17 00:00:00 2001 From: Zhang Bo Date: Thu, 23 Nov 2017 14:29:28 +0800 Subject: [PATCH] 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 --- board/freescale/mx7dsabresd/mx7dsabresd.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 -- 2.17.1