summaryrefslogtreecommitdiffstats
path: root/include/configs/km
diff options
context:
space:
mode:
authorHolger Brunck <holger.brunck@keymile.com>2012-07-05 05:05:11 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-07-07 14:07:38 +0200
commitc471d84808843dce6174eaab624779aa15ff71bf (patch)
tree4e0801c3d80063feda169caeb0bb493916457ed3 /include/configs/km
parentb8cf7cc8860d30b85b08377183688bf9564896bf (diff)
downloadtalos-obmc-uboot-c471d84808843dce6174eaab624779aa15ff71bf.tar.gz
talos-obmc-uboot-c471d84808843dce6174eaab624779aa15ff71bf.zip
arm/km: remove calls to kw_gpio_* in board_early_init_f
These functions tried to access two static tables before relocation (board_early_init_f is executed before relocation). But these static tables lie in the bss section which is not valid before relocation. These accesses then overwrote some parts of u-boot binary before it was relocated. For the kmnusa build, this results in a corrupted important env variable (bootcmd) but it may be that some other parts of the u-boot binary are corrupted. This patch solves this problem by moving all the kw_gpio_* calls to board_init, which should be early enough in the boot sequence. The only calls that could not be moved is the one for the SOFT (bitbang) I2C, and they have been replaced by a direct access to the GPIO dataout Control register to set the two GPIOs as output. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> cc: Holger Brunck <holger.brunck@keymile.com> cc: Prafulla Wadaskar <prafulla@marvell.com>
Diffstat (limited to 'include/configs/km')
-rw-r--r--include/configs/km/km_arm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index 1a5f04bc74..3aa5ca152c 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -192,6 +192,7 @@ int get_sda(void);
int get_scl(void);
#define KM_KIRKWOOD_SDA_PIN 8
#define KM_KIRKWOOD_SCL_PIN 9
+#define KM_KIRKWOOD_SOFT_I2C_GPIOS 0x0300
#define KM_KIRKWOOD_ENV_WP 38
#define I2C_ACTIVE __set_direction(KM_KIRKWOOD_SDA_PIN, 0)
OpenPOWER on IntegriCloud