summaryrefslogtreecommitdiff
path: root/cleopatre/devkit/plcdrv
diff options
context:
space:
mode:
authorCyril Jourdan2012-09-14 11:23:51 +0200
committerCyril Jourdan2012-09-20 17:00:28 +0200
commitc0ec44be34d1d3aa611ec82bae4e281e70727225 (patch)
treebb442c67a2a5b974eafe3182b0c643522541f619 /cleopatre/devkit/plcdrv
parenta7e0ca72f80dfb88db5bb081c5a04f027c164207 (diff)
cleo/devkit/plcdrv: divide boot param sysclk by 2 in 500 mode, closes #3356
Diffstat (limited to 'cleopatre/devkit/plcdrv')
-rw-r--r--cleopatre/devkit/plcdrv/src/boot_params.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/cleopatre/devkit/plcdrv/src/boot_params.c b/cleopatre/devkit/plcdrv/src/boot_params.c
index 1e6d9587da..902a43e270 100644
--- a/cleopatre/devkit/plcdrv/src/boot_params.c
+++ b/cleopatre/devkit/plcdrv/src/boot_params.c
@@ -17,6 +17,8 @@
#include <linux/kernel.h>
#include <linux/string.h>
+#include <asm/arch/nvram.h>
+
/** Marker indicating the start of the boot parameters area. */
#define BOOT_PARAMS_MARKER 0xB007B007
@@ -168,11 +170,18 @@ static int plcdrv_add_default_boot_params(char *params_str)
}
//"sysclk_mhz"
{
+ int sysclk = PLC_SYSCLOCK_MHZ;
+
//Value of the "sysclk_mhz" parameter as a string.
char sysclk_val_str[BOOT_PARAMS_CLK_MHZ_VAL_STR_SIZE] = "";
+ //Hack for MSE500 500 mode on Cesar.
+ if (NVRAM_BFEXT (MSE500_MODE, spidcom_nvram.pkg_cfg)
+ == NVRAM_MSE500_MODE_500)
+ sysclk /= 2;
+
if (plcdrv_clk_to_str(sysclk_val_str, sizeof(sysclk_val_str),
- PLC_SYSCLOCK_MHZ) != 0)
+ sysclk) != 0)
return -1;
if (plcdrv_add_boot_param(params_str, "sysclk_mhz", sysclk_val_str)