summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyril Jourdan2012-04-20 15:49:01 +0200
committerYacine Belkadi2012-06-11 13:40:06 +0200
commit6ac9d89f0c4328058837149ce7a90d7dcc871cc9 (patch)
treed4f1fa26052e2b266b0b8fd21b3e7e28ed76b9b8
parente33480cf8294825b75270ab3a68511960ee70933 (diff)
polux/devkit/plc/core: DINI board specific mode config, refs #3010
-rw-r--r--polux/devkit/plc-polux/core/linux_drv.c7
-rw-r--r--polux/linux-2.6.10/arch/arm/mach-mse500/Kconfig4
2 files changed, 11 insertions, 0 deletions
diff --git a/polux/devkit/plc-polux/core/linux_drv.c b/polux/devkit/plc-polux/core/linux_drv.c
index 4f27978e06..07527b2116 100644
--- a/polux/devkit/plc-polux/core/linux_drv.c
+++ b/polux/devkit/plc-polux/core/linux_drv.c
@@ -1639,6 +1639,13 @@ static int __init plc_drv_init (struct net_device *dev)
init_plc_procfs (ze_unit, dev);
#endif
+#ifdef CONFIG_CHIP_FEATURE_200_MODE_SELECT
+ /* Before writing any PLC register, we need to configure the board
+ * in 200 mode. */
+ *((volatile uint32_t *) 0xC8040708) = 0;
+ *((volatile uint32_t *) 0xC8040808) = 1;
+#endif /* CONFIG_CHIP_FEATURE_200_MODE_SELECT */
+
// TODO : Manage the error returned correctly on each functions called.
linux_drv__init__step1 (ze_unit);
linux_drv__init__step2 (ze_unit);
diff --git a/polux/linux-2.6.10/arch/arm/mach-mse500/Kconfig b/polux/linux-2.6.10/arch/arm/mach-mse500/Kconfig
index 4a4c4d15b1..c3700215a3 100644
--- a/polux/linux-2.6.10/arch/arm/mach-mse500/Kconfig
+++ b/polux/linux-2.6.10/arch/arm/mach-mse500/Kconfig
@@ -15,6 +15,7 @@ config CHIP_MSE500DINI
select CHIP_FEATURE_NO_AFE_IN_PLC_REGS
select CHIP_FEATURE_TWOS_COMPLEMENT_AGC_CODING
select CHIP_FEATURE_SET_HLUT
+ select CHIP_FEATURE_200_MODE_SELECT
# Chip features (CHIP_FEATURE_*)
# ==============================
@@ -35,4 +36,7 @@ config CHIP_FEATURE_TWOS_COMPLEMENT_AGC_CODING
config CHIP_FEATURE_SET_HLUT
def_bool n
+config CHIP_FEATURE_200_MODE_SELECT
+ def_bool n
+
endmenu