dm: core: Change platform specific translation-offset handling
authorStefan Roese <sr@denx.de>
Fri, 12 Apr 2019 14:42:28 +0000 (16:42 +0200)
committerSimon Glass <sjg@chromium.org>
Wed, 24 Apr 2019 02:26:43 +0000 (20:26 -0600)
commitf2100f6f77212e2a5b3db165e84eed911be5c3f6
tree33a3dd404b7d9532f9ab34bfcc9be7fb520c14c3
parent3a7c45f6a7725808e2e82908be4bc90d4d78e737
dm: core: Change platform specific translation-offset handling

Testing has shown that the current DM implementation of a platform /
board specific translation offset, as its needed for the SPL on MVEBU
platforms is buggy. The translation offset is confingured too late,
after the driver bind functions are run. This may result in incorrect
address translations. With the current implementation its not possible
to configure the offset earlier, as the DM code has not run at all.

This patch now removed the set_/get_translation_offset() calls and
moves the translation offset into the GD variable translation_offset.
This variable will get used when CONFIG_TRANSLATION_OFFSET is enabled.
This option is enabled only for MVEBU on ARM32 platforms, where its
currenty needed and configured in the SPL.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Pierre Bourdon <delroth@gmail.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Simon Glass <sjg@chromium.org>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Tested-by: Pierre Bourdon <delroth@gmail.com>
Tested-by: Baruch Siach <baruch@tkos.co.il>
arch/arm/mach-mvebu/Kconfig
arch/arm/mach-mvebu/spl.c
drivers/core/Kconfig
drivers/core/fdtaddr.c
drivers/core/root.c
include/asm-generic/global_data.h
include/dm/fdtaddr.h