mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 06:30:39 +00:00
keymile: common: update to set_env_hex(), fix "pram" radix
Replace instances of sprintf()/set_env() for setting hexadecimal values with set_env_hex(). In set_km_env() the "pram" variable was set to an hexadecimal value, while initr_mem() expects an unsigned decimal, so use set_env_ulong() instead. Signed-off-by: Niel Fourie <lusus@denx.de> Cc: Holger Brunck <holger.brunck@hitachi-powergrids.com> Cc: Heiko Schocher <hs@denx.de> Reviewed-by: Stefan Roese <sr@denx.de> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
c1a215b455
commit
df86d324c7
1 changed files with 6 additions and 16 deletions
|
@ -41,7 +41,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
*/
|
||||
int set_km_env(void)
|
||||
{
|
||||
uchar buf[32];
|
||||
unsigned int pnvramaddr;
|
||||
unsigned int pram;
|
||||
unsigned int varaddr;
|
||||
|
@ -51,8 +50,7 @@ int set_km_env(void)
|
|||
|
||||
pnvramaddr = CONFIG_SYS_SDRAM_BASE + gd->ram_size -
|
||||
CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM - CONFIG_KM_PNVRAM;
|
||||
sprintf((char *)buf, "0x%x", pnvramaddr);
|
||||
env_set("pnvramaddr", (char *)buf);
|
||||
env_set_hex("pnvramaddr", pnvramaddr);
|
||||
|
||||
/* try to read rootfssize (ram image) from environment */
|
||||
p = env_get("rootfssize");
|
||||
|
@ -60,17 +58,14 @@ int set_km_env(void)
|
|||
strict_strtoul(p, 16, &rootfssize);
|
||||
pram = (rootfssize + CONFIG_KM_RESERVED_PRAM + CONFIG_KM_PHRAM +
|
||||
CONFIG_KM_PNVRAM) / 0x400;
|
||||
sprintf((char *)buf, "0x%x", pram);
|
||||
env_set("pram", (char *)buf);
|
||||
env_set_ulong("pram", pram);
|
||||
|
||||
varaddr = CONFIG_SYS_SDRAM_BASE + gd->ram_size -
|
||||
CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM;
|
||||
sprintf((char *)buf, "0x%x", varaddr);
|
||||
env_set("varaddr", (char *)buf);
|
||||
env_set_hex("varaddr", varaddr);
|
||||
|
||||
kernelmem = gd->ram_size - 0x400 * pram;
|
||||
sprintf((char *)buf, "0x%x", kernelmem);
|
||||
env_set("kernelmem", (char *)buf);
|
||||
env_set_hex("kernelmem", kernelmem);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -244,7 +239,6 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||
p = env_get("hwkey");
|
||||
if (p)
|
||||
rc = strict_strtoul(p, 16, &envhwkey);
|
||||
|
||||
if (rc != 0) {
|
||||
printf("strict_strtoul returns error: %d", rc);
|
||||
return rc;
|
||||
|
@ -306,15 +300,11 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||
* set the values in environment variables.
|
||||
*/
|
||||
if (bid == ivmbid && hwkey == ivmhwkey) {
|
||||
char buf[10];
|
||||
|
||||
found = 1;
|
||||
envbid = bid;
|
||||
envhwkey = hwkey;
|
||||
sprintf(buf, "%lx", bid);
|
||||
env_set("boardid", buf);
|
||||
sprintf(buf, "%lx", hwkey);
|
||||
env_set("hwkey", buf);
|
||||
env_set_hex("boardid", bid);
|
||||
env_set_hex("hwkey", hwkey);
|
||||
}
|
||||
} /* end while( ! found ) */
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue