From a5bbcc3c53a7fb541f812d25d576c35f097438ba Mon Sep 17 00:00:00 2001 From: wdenk Date: Wed, 29 Sep 2004 22:55:14 +0000 Subject: * Patches by Sean Chang, 09 Aug 2004: - Added support for both 8 and 16 bit mode access to System ACE CF through MPU. - Fixed missing System ACE CF device during get FAT partition info in fat_register_device function. - Enabled System ACE CF support on ML300. * Patch by Sean Chang, 09 Aug 2004: Synch defines for saveenv and do_saveenv functions so they get compiled under the same statement. --- common/cmd_ace.c | 27 +++++++++++++++++++++++++-- common/cmd_nvedit.c | 5 +++-- 2 files changed, 28 insertions(+), 4 deletions(-) (limited to 'common') diff --git a/common/cmd_ace.c b/common/cmd_ace.c index 4969811..c5b08bf 100644 --- a/common/cmd_ace.c +++ b/common/cmd_ace.c @@ -50,12 +50,35 @@ */ static unsigned ace_readw(unsigned offset) { - return readw(CFG_SYSTEMACE_BASE+offset); +#if (CFG_SYSTEMACE_WIDTH == 8) + u16 temp; + +#if !defined(__BIG_ENDIAN) + temp =((u16)readb(CFG_SYSTEMACE_BASE+offset) << 8); + temp |= (u16)readb(CFG_SYSTEMACE_BASE+offset+1); +#else + temp = (u16)readb(CFG_SYSTEMACE_BASE+offset); + temp |=((u16)readb(CFG_SYSTEMACE_BASE+offset+1) << 8); +#endif + return temp; +#else + return readw(CFG_SYSTEMACE_BASE+offset); +#endif } static void ace_writew(unsigned val, unsigned offset) { - writew(val, CFG_SYSTEMACE_BASE+offset); +#if (CFG_SYSTEMACE_WIDTH == 8) +#if !defined(__BIG_ENDIAN) + writeb((u8)(val>>8), CFG_SYSTEMACE_BASE+offset); + writeb((u8)val, CFG_SYSTEMACE_BASE+offset+1); +#else + writeb((u8)val, CFG_SYSTEMACE_BASE+offset); + writeb((u8)(val>>8), CFG_SYSTEMACE_BASE+offset+1); +#endif +#else + writew(val, CFG_SYSTEMACE_BASE+offset); +#endif } /* */ diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index 3510561..578b0ca 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -586,8 +586,9 @@ U_BOOT_CMD( " - delete environment variable 'name'\n" ); -#if ((CONFIG_COMMANDS & (CFG_CMD_ENV|CFG_CMD_FLASH)) == (CFG_CMD_ENV|CFG_CMD_FLASH)) - +#if defined(CFG_ENV_IS_IN_NVRAM) || defined(CFG_ENV_IS_IN_EEPROM) || \ + ((CONFIG_COMMANDS & (CFG_CMD_ENV|CFG_CMD_FLASH)) == \ + (CFG_CMD_ENV|CFG_CMD_FLASH)) U_BOOT_CMD( saveenv, 1, 0, do_saveenv, "saveenv - save environment variables to persistent storage\n", -- cgit v1.1