summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2018-09-26 02:15:00 -0700
committerYe Li <ye.li@nxp.com>2018-09-29 00:35:24 -0700
commitbef99593f93b41304276996aba19a30d663cc85d (patch)
treeb454185847a0d019b1231b2a6d8fbad909a8d365
parentb089275ffbd9f403d161653bebc7838d126e9f3b (diff)
MLK-19726-2 arm: Don't remove all devices when power domain driver is enabled
Because we power off all devices in board_quiesce_devices which is prior then executing dm_remove_devices_flags. So any access to HW in dm_remove_devices_flags will cause problem. However, some drivers like ethernet which implements the pre_remove callback is always called without any flags check, and this finally accesses FEC controller. Since we don't need to remove all devices in u-boot before starting kernel, disable this feature when power domain is enabled. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 741f2ea182bf293d8270bdc4a217a96db22c414c)
-rw-r--r--arch/arm/lib/bootm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index cfc236f964..d730cc6253 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -108,7 +108,9 @@ static void announce_and_cleanup(int fake)
* This may be useful for last-stage operations, like cancelling
* of DMA operation or releasing device internal buffers.
*/
+#ifndef CONFIG_POWER_DOMAIN
dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL);
+#endif
cleanup_before_linux();
}