mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 22:20:45 +00:00
Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master
This commit is contained in:
commit
7f20221735
94 changed files with 3006 additions and 327 deletions
3
Makefile
3
Makefile
|
@ -463,7 +463,8 @@ $(obj)include/autoconf.mk: $(obj)include/config.h
|
|||
set -e ; \
|
||||
: Extract the config macros ; \
|
||||
$(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
|
||||
sed -n -f tools/scripts/define2mk.sed > $@
|
||||
sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
|
||||
mv $@.tmp $@
|
||||
|
||||
sinclude $(obj)include/autoconf.mk.dep
|
||||
|
||||
|
|
|
@ -34,4 +34,3 @@ dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
|
|||
{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
|
||||
{0x00008400, 0x00041FFF, FLAG_PROTECT_CLEAR, 0, "U-Boot"},
|
||||
};
|
||||
|
||||
|
|
|
@ -364,7 +364,7 @@ int do_painit(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|||
base -= LOGBUFF_LEN + LOGBUFF_OVERHEAD;
|
||||
#endif
|
||||
/*
|
||||
* gd->bd->bi_memsize == physical ram size - CFG_MEM_TOP_HIDE
|
||||
* gd->bd->bi_memsize == physical ram size - CONFIG_SYS_MEM_TOP_HIDE
|
||||
*/
|
||||
param = base - (pram << 10);
|
||||
printf("PARAM: @%08x\n", param);
|
||||
|
|
|
@ -127,7 +127,7 @@ SECTIONS
|
|||
*(COMMON)
|
||||
}
|
||||
|
||||
ppcenv_assert = ASSERT(. < 0xFFFFB000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
|
||||
ppcenv_assert = ASSERT(. < 0xFFFFB000, ".bss section too big, overlaps .ppcenv section. Please update your configuration: CONFIG_SYS_MONITOR_BASE, CONFIG_SYS_MONITOR_LEN and TEXT_BASE may need to be modified.");
|
||||
|
||||
_end = . ;
|
||||
PROVIDE (end = .);
|
||||
|
|
|
@ -137,7 +137,7 @@ SECTIONS
|
|||
*(COMMON)
|
||||
}
|
||||
|
||||
ppcenv_assert = ASSERT(. < 0xFFFFB000, ".bss section too big, overlaps .ppcenv section. Please update your confguration: CFG_MONITOR_BASE, CFG_MONITOR_LEN and TEXT_BASE may need to be modified.");
|
||||
ppcenv_assert = ASSERT(. < 0xFFFFB000, ".bss section too big, overlaps .ppcenv section. Please update your configuration: CONFIG_SYS_MONITOR_BASE, CONFIG_SYS_MONITOR_LEN and TEXT_BASE may need to be modified.");
|
||||
|
||||
_end = . ;
|
||||
PROVIDE (end = .);
|
||||
|
|
|
@ -1175,7 +1175,6 @@ int do_unzip ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|||
{
|
||||
unsigned long src, dst;
|
||||
unsigned long src_len = ~0UL, dst_len = ~0UL;
|
||||
int err;
|
||||
|
||||
switch (argc) {
|
||||
case 4:
|
||||
|
|
|
@ -601,7 +601,7 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
|||
|
||||
U_BOOT_CMD(ubi, 6, 1, do_ubi,
|
||||
"ubi - ubi commands\n",
|
||||
"part [nand|nor|onenand] [part]"
|
||||
"part [nand|nor|onenand] [part]"
|
||||
" - Show or set current partition\n"
|
||||
"ubi info [l[ayout]]"
|
||||
" - Display volume and ubi layout information\n"
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
*/
|
||||
#include <common.h>
|
||||
#include <environment.h>
|
||||
#include <malloc.h>
|
||||
#include <spi_flash.h>
|
||||
|
||||
#ifndef CONFIG_ENV_SPI_BUS
|
||||
|
@ -60,13 +61,30 @@ uchar env_get_char_spec(int index)
|
|||
|
||||
int saveenv(void)
|
||||
{
|
||||
u32 saved_size, saved_offset;
|
||||
char *saved_buffer = NULL;
|
||||
u32 sector = 1;
|
||||
int ret;
|
||||
|
||||
if (!env_flash) {
|
||||
puts("Environment SPI flash not initialized\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Is the sector larger than the env (i.e. embedded) */
|
||||
if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) {
|
||||
saved_size = CONFIG_ENV_SECT_SIZE - CONFIG_ENV_SIZE;
|
||||
saved_offset = CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE;
|
||||
saved_buffer = malloc(saved_size);
|
||||
if (!saved_buffer) {
|
||||
ret = 1;
|
||||
goto done;
|
||||
}
|
||||
ret = spi_flash_read(env_flash, saved_offset, saved_size, saved_buffer);
|
||||
if (ret)
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (CONFIG_ENV_SIZE > CONFIG_ENV_SECT_SIZE) {
|
||||
sector = CONFIG_ENV_SIZE / CONFIG_ENV_SECT_SIZE;
|
||||
if (CONFIG_ENV_SIZE % CONFIG_ENV_SECT_SIZE)
|
||||
|
@ -74,15 +92,28 @@ int saveenv(void)
|
|||
}
|
||||
|
||||
puts("Erasing SPI flash...");
|
||||
if (spi_flash_erase(env_flash, CONFIG_ENV_OFFSET, sector * CONFIG_ENV_SECT_SIZE))
|
||||
return 1;
|
||||
ret = spi_flash_erase(env_flash, CONFIG_ENV_OFFSET, sector * CONFIG_ENV_SECT_SIZE);
|
||||
if (ret)
|
||||
goto done;
|
||||
|
||||
puts("Writing to SPI flash...");
|
||||
if (spi_flash_write(env_flash, CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE, env_ptr))
|
||||
return 1;
|
||||
ret = spi_flash_write(env_flash, CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE, env_ptr);
|
||||
if (ret)
|
||||
goto done;
|
||||
|
||||
if (CONFIG_ENV_SECT_SIZE > CONFIG_ENV_SIZE) {
|
||||
ret = spi_flash_write(env_flash, saved_offset, saved_size, saved_buffer);
|
||||
if (ret)
|
||||
goto done;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
puts("done\n");
|
||||
return 0;
|
||||
|
||||
done:
|
||||
if (saved_buffer)
|
||||
free(saved_buffer);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void env_relocate_spec(void)
|
||||
|
|
|
@ -1071,6 +1071,7 @@ int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len,
|
|||
error:
|
||||
return -1;
|
||||
}
|
||||
#endif /* defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) */
|
||||
|
||||
#ifdef CONFIG_OF_LIBFDT
|
||||
static void fdt_error (const char *msg)
|
||||
|
@ -1575,6 +1576,7 @@ error:
|
|||
}
|
||||
#endif /* CONFIG_OF_LIBFDT */
|
||||
|
||||
#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
|
||||
/**
|
||||
* boot_get_cmdline - allocate and initialize kernel cmdline
|
||||
* @lmb: pointer to lmb handle, will be used for memory mgmt
|
||||
|
|
|
@ -32,4 +32,5 @@ PLATFORM_CPPFLAGS += -march=armv4 -mtune=arm7tdmi
|
|||
#
|
||||
# =========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -189,20 +189,6 @@ i2c_init(int speed, int slaveaddr)
|
|||
return;
|
||||
}
|
||||
|
||||
uchar i2c_reg_read(uchar i2c_addr, uchar reg)
|
||||
{
|
||||
unsigned char buf;
|
||||
|
||||
i2c_read(i2c_addr, reg, 1, &buf, 1);
|
||||
|
||||
return(buf);
|
||||
}
|
||||
|
||||
void i2c_reg_write(uchar i2c_addr, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write(i2c_addr, reg, 1, &val, 1);
|
||||
}
|
||||
|
||||
int i2c_set_bus_speed(unsigned int speed)
|
||||
{
|
||||
return -1;
|
||||
|
|
|
@ -31,4 +31,5 @@ PLATFORM_CPPFLAGS += -march=armv4
|
|||
#
|
||||
# =========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -31,4 +31,5 @@ PLATFORM_CPPFLAGS += -march=armv4
|
|||
#
|
||||
# =========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -35,7 +35,7 @@ int usb_cpu_init(void)
|
|||
#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
|
||||
defined(CONFIG_AT91SAM9263)
|
||||
/* Enable PLLB */
|
||||
at91_sys_write(AT91_CKGR_PLLBR, CFG_AT91_PLLB);
|
||||
at91_sys_write(AT91_CKGR_PLLBR, CONFIG_SYS_AT91_PLLB);
|
||||
while ((at91_sys_read(AT91_PMC_SR) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB)
|
||||
;
|
||||
#endif
|
||||
|
|
|
@ -31,4 +31,5 @@ PLATFORM_CPPFLAGS += -march=armv5te
|
|||
#
|
||||
# =========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -331,21 +331,4 @@ int i2c_write(u_int8_t chip, u_int32_t addr, int alen, u_int8_t *buf, int len)
|
|||
return(0);
|
||||
}
|
||||
|
||||
|
||||
u_int8_t i2c_reg_read(u_int8_t chip, u_int8_t reg)
|
||||
{
|
||||
u_int8_t tmp;
|
||||
|
||||
i2c_read(chip, reg, 1, &tmp, 1);
|
||||
return(tmp);
|
||||
}
|
||||
|
||||
|
||||
void i2c_reg_write(u_int8_t chip, u_int8_t reg, u_int8_t val)
|
||||
{
|
||||
u_int8_t tmp;
|
||||
|
||||
i2c_write(chip, reg, 1, &tmp, 1);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_DRIVER_DAVINCI_I2C */
|
||||
|
|
|
@ -31,4 +31,5 @@ PLATFORM_CPPFLAGS += -march=armv4
|
|||
#
|
||||
# =========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -31,4 +31,5 @@ PLATFORM_CPPFLAGS += -march=armv4
|
|||
#
|
||||
# =========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -425,20 +425,4 @@ int i2c_write(uchar chip, uint addr, int alen, uchar * buffer, int len)
|
|||
|
||||
}
|
||||
|
||||
uchar i2c_reg_read(uchar chip, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
PRINTD("i2c_reg_read: chip=0x%02x, reg=0x%02x\n", chip, reg);
|
||||
i2c_read(chip, reg, 0, &buf, 1);
|
||||
return (buf);
|
||||
}
|
||||
|
||||
void i2c_reg_write(uchar chip, uchar reg, uchar val)
|
||||
{
|
||||
PRINTD("i2c_reg_write: chip=0x%02x, reg=0x%02x, val=0x%02x\n", chip,
|
||||
reg, val);
|
||||
i2c_write(chip, reg, 0, &val, 1);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_HARD_I2C */
|
||||
|
|
|
@ -31,4 +31,5 @@ PLATFORM_CPPFLAGS += -march=armv4
|
|||
#
|
||||
# ========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -131,7 +131,7 @@ void cpu_init_f(void)
|
|||
mbar2_writeByte(MCFSIM_INTBASE, 0x40); /* Base interrupts at 64 */
|
||||
mbar2_writeByte(MCFSIM_SPURVEC, 0x00);
|
||||
|
||||
/*mbar2_writeLong(MCFSIM_IDECONFIG1, 0x00000020); *//* Enable a 1 cycle pre-drive cycle on CS1 */
|
||||
/*mbar2_writeLong(MCFSIM_IDECONFIG1, 0x00000020); */ /* Enable a 1 cycle pre-drive cycle on CS1 */
|
||||
|
||||
/* FlexBus Chipselect */
|
||||
init_fbcs();
|
||||
|
|
|
@ -382,23 +382,6 @@ Done:
|
|||
return ret;
|
||||
}
|
||||
|
||||
uchar i2c_reg_read (uchar chip, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
i2c_read (chip, reg, 1, &buf, 1);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
void i2c_reg_write (uchar chip, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write (chip, reg, 1, &val, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
int i2c_set_bus_num (unsigned int bus)
|
||||
{
|
||||
if (bus >= I2C_BUS_CNT) {
|
||||
|
|
|
@ -380,20 +380,4 @@ Done:
|
|||
return ret;
|
||||
}
|
||||
|
||||
uchar i2c_reg_read(uchar chip, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
i2c_read(chip, reg, 1, &buf, 1);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
void i2c_reg_write(uchar chip, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write(chip, reg, 1, &val, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_HARD_I2C */
|
||||
|
|
|
@ -387,20 +387,4 @@ int i2c_write (uchar chip, uint addr, int alen, uchar * buf, int len)
|
|||
return ret;
|
||||
}
|
||||
|
||||
uchar i2c_reg_read (uchar chip, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
i2c_read (chip, reg, 1, &buf, 1);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
void i2c_reg_write (uchar chip, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write (chip, reg, 1, &val, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_HARD_I2C */
|
||||
|
|
|
@ -267,18 +267,4 @@ int i2c_probe (uchar chip)
|
|||
return i2c_read (chip, 0, 1, (uchar *) &tmp, 1);
|
||||
}
|
||||
|
||||
uchar i2c_reg_read (uchar i2c_addr, uchar reg)
|
||||
{
|
||||
uchar buf[1];
|
||||
|
||||
i2c_read (i2c_addr, reg, 1, buf, 1);
|
||||
|
||||
return (buf[0]);
|
||||
}
|
||||
|
||||
void i2c_reg_write (uchar i2c_addr, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write (i2c_addr, reg, 1, &val, 1);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_HARD_I2C */
|
||||
|
|
|
@ -753,22 +753,6 @@ i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
|
|||
return 0;
|
||||
}
|
||||
|
||||
uchar
|
||||
i2c_reg_read(uchar chip, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
i2c_read(chip, reg, 1, &buf, 1);
|
||||
|
||||
return (buf);
|
||||
}
|
||||
|
||||
void
|
||||
i2c_reg_write(uchar chip, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write(chip, reg, 1, &val, 1);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_I2C_MULTI_BUS)
|
||||
/*
|
||||
* Functions for multiple I2C bus handling
|
||||
|
|
|
@ -125,7 +125,7 @@ invl2:
|
|||
mtspr HID0, r5 /* enable + invalidate */
|
||||
mtspr HID0, r3 /* enable */
|
||||
sync
|
||||
#ifdef CFG_L2
|
||||
#ifdef CONFIG_SYS_L2
|
||||
sync
|
||||
lis r3, L2_ENABLE@h
|
||||
ori r3, r3, L2_ENABLE@l
|
||||
|
|
|
@ -982,5 +982,3 @@ unlock_ram_in_cache:
|
|||
blr
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -42,19 +42,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
/* define to enable debug messages */
|
||||
#undef DEBUG_I2C
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Set default values
|
||||
*/
|
||||
#ifndef CONFIG_SYS_I2C_SPEED
|
||||
#define CONFIG_SYS_I2C_SPEED 50000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SYS_I2C_SLAVE
|
||||
#define CONFIG_SYS_I2C_SLAVE 0xFE
|
||||
#endif
|
||||
/*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* tx/rx timeout (we need the i2c early, so we don't use get_timer()) */
|
||||
#define TOUT_LOOP 1000000
|
||||
|
||||
|
@ -717,24 +704,4 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
|
|||
return 0;
|
||||
}
|
||||
|
||||
uchar
|
||||
i2c_reg_read(uchar i2c_addr, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
|
||||
|
||||
i2c_read(i2c_addr, reg, 1, &buf, 1);
|
||||
|
||||
return (buf);
|
||||
}
|
||||
|
||||
void
|
||||
i2c_reg_write(uchar i2c_addr, uchar reg, uchar val)
|
||||
{
|
||||
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
|
||||
|
||||
i2c_write(i2c_addr, reg, 1, &val, 1);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_HARD_I2C */
|
||||
|
|
|
@ -706,4 +706,3 @@ int cpu_eth_init(bd_t *bis)
|
|||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -419,26 +419,6 @@ int i2c_write(uchar chip, uint addr, int alen, uchar * buffer, int len)
|
|||
return (i2c_transfer(0, chip<<1, &xaddr[4-alen], alen, buffer, len ) != 0);
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Read a register
|
||||
*/
|
||||
uchar i2c_reg_read(uchar i2c_addr, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
i2c_read(i2c_addr, reg, 1, &buf, 1);
|
||||
|
||||
return (buf);
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Write a register
|
||||
*/
|
||||
void i2c_reg_write(uchar i2c_addr, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write(i2c_addr, reg, 1, &val, 1);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_I2C_MULTI_BUS)
|
||||
/*
|
||||
* Functions for multiple I2C bus handling
|
||||
|
|
|
@ -727,7 +727,7 @@ _start:
|
|||
ori r2,r2,0xffff
|
||||
mfdcr r1,ISRAM1_DPC
|
||||
and r1,r1,r2 /* Disable parity check */
|
||||
mtdcr ISRAM1_DPC,r1
|
||||
mtdcr ISRAM1_DPC,r1
|
||||
mfdcr r1,ISRAM1_PMEG
|
||||
and r1,r1,r2 /* Disable pwr mgmt */
|
||||
mtdcr ISRAM1_PMEG,r1
|
||||
|
|
|
@ -32,4 +32,5 @@ PLATFORM_CPPFLAGS += -march=armv5te -mtune=xscale
|
|||
#
|
||||
# ========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -455,19 +455,4 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
|
|||
|
||||
}
|
||||
|
||||
uchar i2c_reg_read (uchar chip, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
PRINTD(("i2c_reg_read(chip=0x%02x, reg=0x%02x)\n",chip,reg));
|
||||
i2c_read(chip, reg, 1, &buf, 1);
|
||||
return (buf);
|
||||
}
|
||||
|
||||
void i2c_reg_write(uchar chip, uchar reg, uchar val)
|
||||
{
|
||||
PRINTD(("i2c_reg_write(chip=0x%02x, reg=0x%02x, val=0x%02x)\n",chip,reg,val));
|
||||
i2c_write(chip, reg, 1, &val, 1);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_HARD_I2C */
|
||||
|
|
|
@ -32,4 +32,5 @@ PLATFORM_CPPFLAGS += -march=armv4 -mtune=arm7tdmi -msoft-float
|
|||
#
|
||||
# ========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -32,4 +32,5 @@ PLATFORM_CPPFLAGS += -march=armv4 -mtune=strongarm1100
|
|||
#
|
||||
# ========================================================================
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
PLATFORM_CPPFLAGS +=$(call cc-option,-mno-thumb-interwork,)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
|
|
|
@ -367,22 +367,6 @@ i2c_probe(uchar chip)
|
|||
return i2c_read(chip, 0, 0, NULL, 0);
|
||||
}
|
||||
|
||||
uchar
|
||||
i2c_reg_read(uchar i2c_addr, uchar reg)
|
||||
{
|
||||
uchar buf[1];
|
||||
|
||||
i2c_read(i2c_addr, reg, 1, buf, 1);
|
||||
|
||||
return buf[0];
|
||||
}
|
||||
|
||||
void
|
||||
i2c_reg_write(uchar i2c_addr, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write(i2c_addr, reg, 1, &val, 1);
|
||||
}
|
||||
|
||||
int i2c_set_bus_num(unsigned int bus)
|
||||
{
|
||||
#ifdef CONFIG_SYS_I2C2_OFFSET
|
||||
|
|
|
@ -434,23 +434,3 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
|
|||
send_stop();
|
||||
return(failures);
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Read a register
|
||||
*/
|
||||
uchar i2c_reg_read(uchar i2c_addr, uchar reg)
|
||||
{
|
||||
uchar buf;
|
||||
|
||||
i2c_read(i2c_addr, reg, 1, &buf, 1);
|
||||
|
||||
return(buf);
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Write a register
|
||||
*/
|
||||
void i2c_reg_write(uchar i2c_addr, uchar reg, uchar val)
|
||||
{
|
||||
i2c_write(i2c_addr, reg, 1, &val, 1);
|
||||
}
|
||||
|
|
|
@ -137,7 +137,7 @@ static int stmicro_wait_ready(struct spi_flash *flash, unsigned long timeout)
|
|||
|
||||
ret = spi_xfer(spi, 32, &cmd[0], NULL, SPI_XFER_BEGIN);
|
||||
if (ret) {
|
||||
debug("SF: Failed to send command %02x: %d\n", cmd, ret);
|
||||
debug("SF: Failed to send command %02x: %d\n", cmd[0], ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ u32 crc32_le(u32 crc, unsigned char const *p, size_t len)
|
|||
# else
|
||||
# define DO_CRC(x) crc = tab[ ((crc >> 24) ^ (x)) & 255] ^ (crc<<8)
|
||||
# endif
|
||||
//printf("Crc32_le crc=%x\n",crc);
|
||||
/* printf("Crc32_le crc=%x\n",crc); */
|
||||
crc = __cpu_to_le32(crc);
|
||||
/* Align it */
|
||||
if((((long)b)&3 && len)){
|
||||
|
|
|
@ -186,7 +186,7 @@ retry:
|
|||
if (read != len && err == -EBADMSG) {
|
||||
ubi_assert(0);
|
||||
printk("%s[%d] not here\n", __func__, __LINE__);
|
||||
// err = -EIO;
|
||||
/* err = -EIO; */
|
||||
}
|
||||
} else {
|
||||
ubi_assert(len == read);
|
||||
|
|
|
@ -260,7 +260,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req)
|
|||
goto out_unlock;
|
||||
}
|
||||
|
||||
/* Calculate how many eraseblocks are requested */
|
||||
/* Calculate how many eraseblocks are requested */
|
||||
vol->usable_leb_size = ubi->leb_size - ubi->leb_size % req->alignment;
|
||||
bytes = req->bytes;
|
||||
if (do_div(bytes, vol->usable_leb_size))
|
||||
|
|
|
@ -119,6 +119,7 @@
|
|||
#include <watchdog.h>
|
||||
#include <jffs2/jffs2.h>
|
||||
#include <jffs2/jffs2_1pass.h>
|
||||
#include <linux/mtd/compat.h>
|
||||
|
||||
#include "jffs2_private.h"
|
||||
|
||||
|
@ -1408,11 +1409,6 @@ dump_dirents(struct b_lists *pL)
|
|||
}
|
||||
#endif
|
||||
|
||||
#define min_t(type, x, y) ({ \
|
||||
type __min1 = (x); \
|
||||
type __min2 = (y); \
|
||||
__min1 < __min2 ? __min1: __min2; })
|
||||
|
||||
#define DEFAULT_EMPTY_SCAN_SIZE 4096
|
||||
|
||||
static inline uint32_t EMPTY_SCAN_SIZE(uint32_t sector_size)
|
||||
|
|
29
include/addr_map.h
Normal file
29
include/addr_map.h
Normal file
|
@ -0,0 +1,29 @@
|
|||
#ifndef __ADDR_MAP_H
|
||||
#define __ADDR_MAP_H
|
||||
|
||||
/*
|
||||
* Copyright 2008 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <asm/types.h>
|
||||
|
||||
extern phys_addr_t addrmap_virt_to_phys(void *vaddr);
|
||||
extern unsigned long addrmap_phys_to_virt(phys_addr_t paddr);
|
||||
extern void addrmap_set_entry(unsigned long vaddr, phys_addr_t paddr,
|
||||
phys_size_t size, int idx);
|
||||
|
||||
#endif
|
|
@ -57,6 +57,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
/*
|
||||
* Generic virtual read/write. Note that we don't support half-word
|
||||
* read/writes. We define __arch_*[bl] here, and leave __arch_*w
|
||||
|
|
|
@ -125,4 +125,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long len)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __ASM_AVR32_IO_H */
|
||||
|
|
|
@ -64,6 +64,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
/*
|
||||
* These are for ISA/PCI shared memory _only_ and should never be used
|
||||
* on any other type of memory, including Zorro memory. They are meant to
|
||||
|
|
|
@ -229,4 +229,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -251,4 +251,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __ASM_M68K_IO_H__ */
|
||||
|
|
|
@ -155,4 +155,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __MICROBLAZE_IO_H__ */
|
||||
|
|
|
@ -118,7 +118,7 @@ static inline void set_io_port_base(unsigned long base)
|
|||
* Change virtual addresses to physical addresses and vv.
|
||||
* These are trivial on the 1:1 Linux/MIPS mapping
|
||||
*/
|
||||
extern inline unsigned long virt_to_phys(volatile void * address)
|
||||
extern inline phys_addr_t virt_to_phys(void * address)
|
||||
{
|
||||
return CPHYSADDR(address);
|
||||
}
|
||||
|
|
|
@ -133,4 +133,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __ASM_NIOS_IO_H_ */
|
||||
|
|
|
@ -53,6 +53,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
extern unsigned char inb (unsigned char *port);
|
||||
extern unsigned short inw (unsigned short *port);
|
||||
extern unsigned inl (unsigned port);
|
||||
|
|
|
@ -298,4 +298,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)((unsigned long)vaddr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -261,5 +261,10 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __ASM_SH_IO_H */
|
||||
|
|
|
@ -90,4 +90,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
|
|||
|
||||
}
|
||||
|
||||
static inline phys_addr_t virt_to_phys(void * vaddr)
|
||||
{
|
||||
return (phys_addr_t)(vaddr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -67,7 +67,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
#define CONFIG_CLEAR_LAW0 /* Clear LAW0 in cpu_init_r */
|
||||
|
||||
/*
|
||||
|
|
|
@ -70,7 +70,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_ENABLE_36BIT_PHYS 1
|
||||
|
||||
|
|
|
@ -79,7 +79,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest region */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
||||
|
|
|
@ -62,7 +62,6 @@
|
|||
/* below can be toggled for performance analysis. otherwise use default */
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#undef CONFIG_BTB /* toggle branch predition */
|
||||
#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_PRE_INIT 1 /* Call board_pre_init */
|
||||
|
||||
|
|
|
@ -63,7 +63,6 @@ extern unsigned long get_clock_freq(void);
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
||||
|
|
|
@ -66,7 +66,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
/*
|
||||
* Only possible on E500 Version 2 or newer cores.
|
||||
|
|
|
@ -69,7 +69,6 @@ extern unsigned long get_clock_freq(void);
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
#define CONFIG_CLEAR_LAW0 /* Clear LAW0 in cpu_init_r */
|
||||
|
||||
/*
|
||||
|
|
|
@ -63,7 +63,6 @@ extern unsigned long get_clock_freq(void);
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00400000
|
||||
|
|
|
@ -73,7 +73,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */
|
||||
|
||||
|
|
|
@ -61,7 +61,6 @@ extern unsigned long get_clock_freq(void);
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
/*
|
||||
* Only possible on E500 Version 2 or newer cores.
|
||||
|
|
|
@ -71,7 +71,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_ENABLE_36BIT_PHYS 1
|
||||
|
||||
|
|
|
@ -71,7 +71,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
|
|
|
@ -72,7 +72,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
|
|
|
@ -219,8 +219,8 @@
|
|||
#if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL)
|
||||
#define CONFIG_DDR_DATA_EYE /* use DDR2 optimization */
|
||||
#endif
|
||||
#define CFG_MEM_TOP_HIDE (4 << 10) /* don't use last 4kbytes */
|
||||
/* 440EPx errata CHIP 11 */
|
||||
#define CONFIG_SYS_MEM_TOP_HIDE (4 << 10) /* don't use last 4kbytes */
|
||||
/* 440EPx errata CHIP 11 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C
|
||||
|
@ -490,8 +490,8 @@
|
|||
#endif
|
||||
|
||||
/* Memory Bank 1 (RESET) initialization */
|
||||
#define CFG_EBC_PB1AP 0x7f817200 //0x03017200
|
||||
#define CFG_EBC_PB1CR (CFG_RESET_BASE | 0x1c000)
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x7f817200 /* 0x03017200 */
|
||||
#define CONFIG_SYS_EBC_PB1CR (CONFIG_SYS_RESET_BASE | 0x1c000)
|
||||
|
||||
/* Memory Bank 4 (FPGA / 32Bit) initialization */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x03840f40 /* BME=0,TWT=7,CSN=1,TH=7,RE=1,SOR=0,BEM=1 */
|
||||
|
|
|
@ -75,7 +75,6 @@
|
|||
/* below can be toggled for performance analysis. otherwise use default */
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#undef CONFIG_BTB /* toggle branch predition */
|
||||
#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
|
||||
|
||||
|
|
|
@ -106,7 +106,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
/* ARM asynchronous clock */
|
||||
#define AT91_MAIN_CLOCK 18429952 /* from 18.432 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 89999598 /* peripheral = main / 2 */
|
||||
#define CFG_AT91_PLLB 0x107c3e18 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_AT91_PLLB 0x107c3e18 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
@ -150,7 +150,7 @@
|
|||
#define CONFIG_SYS_CBSIZE 256
|
||||
#define CONFIG_SYS_MAXARGS 16
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
#define CFG_LONGHELP 1
|
||||
#define CONFIG_SYS_LONGHELP 1
|
||||
#define CONFIG_CMDLINE_EDITING 1
|
||||
|
||||
#define ROUND(A, B) (((A) + (B)) & ~((B) - 1))
|
||||
|
@ -167,4 +167,3 @@
|
|||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#define AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CFG_AT91_PLLB 0x10073e01 /* PLLB settings for USB */
|
||||
#define CONFUG_SYS_AT91_PLLB 0x10073e01 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#define AT91_MAIN_CLOCK 18432000 /* 18.432 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CFG_AT91_PLLB 0x107c3e18 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_AT91_PLLB 0x107c3e18 /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#define AT91_MAIN_CLOCK 16367660 /* 16.367 MHz crystal */
|
||||
#define AT91_MASTER_CLOCK 100000000 /* peripheral */
|
||||
#define AT91_CPU_CLOCK 200000000 /* cpu */
|
||||
#define CFG_AT91_PLLB 0x133a3e8d /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_AT91_PLLB 0x133a3e8d /* PLLB settings for USB */
|
||||
#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
|
||||
|
||||
#define AT91_SLOW_CLOCK 32768 /* slow clock */
|
||||
|
|
|
@ -59,7 +59,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
#define CONFIG_CLEAR_LAW0 /* Clear LAW0 in cpu_init_r */
|
||||
|
||||
/*
|
||||
|
|
|
@ -69,7 +69,6 @@
|
|||
/* below can be toggled for performance analysis. otherwise use default */
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#undef CONFIG_BTB /* toggle branch predition */
|
||||
#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
|
||||
|
||||
|
|
|
@ -82,7 +82,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_SYS_INIT_DBCR DBCR_IDM /* Enable Debug Exceptions */
|
||||
|
||||
|
|
|
@ -64,7 +64,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
|
|
|
@ -64,7 +64,6 @@
|
|||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* toggle branch predition */
|
||||
#define CONFIG_ADDR_STREAMING /* toggle addr streaming */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
|
||||
|
||||
|
|
|
@ -76,6 +76,20 @@
|
|||
# define I2C_SOFT_DECLARATIONS
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_8xx
|
||||
/* Set default values for the I2C bus speed and slave address on 8xx. In the
|
||||
* future, we'll define these in all 8xx board config files.
|
||||
*/
|
||||
#ifndef CONFIG_SYS_I2C_SPEED
|
||||
#define CONFIG_SYS_I2C_SPEED 50000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SYS_I2C_SLAVE
|
||||
#define CONFIG_SYS_I2C_SLAVE 0xFE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Initialization, must be called once on start up, may be called
|
||||
* repeatedly to change the speed and slave addresses.
|
||||
|
@ -132,8 +146,52 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len);
|
|||
/*
|
||||
* Utility routines to read/write registers.
|
||||
*/
|
||||
uchar i2c_reg_read (uchar chip, uchar reg);
|
||||
void i2c_reg_write(uchar chip, uchar reg, uchar val);
|
||||
static inline u8 i2c_reg_read(u8 addr, u8 reg)
|
||||
{
|
||||
u8 buf;
|
||||
|
||||
#ifdef CONFIG_8xx
|
||||
/* MPC8xx needs this. Maybe one day we can get rid of it. */
|
||||
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
printf("%s: addr=0x%02x, reg=0x%02x\n", __func__, addr, reg);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BLACKFIN
|
||||
/* This ifdef will become unneccessary in a future version of the
|
||||
* blackfin I2C driver.
|
||||
*/
|
||||
i2c_read(addr, reg, 0, &buf, 1);
|
||||
#else
|
||||
i2c_read(addr, reg, 1, &buf, 1);
|
||||
#endif
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
static inline void i2c_reg_write(u8 addr, u8 reg, u8 val)
|
||||
{
|
||||
#ifdef CONFIG_8xx
|
||||
/* MPC8xx needs this. Maybe one day we can get rid of it. */
|
||||
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
printf("%s: addr=0x%02x, reg=0x%02x, val=0x%02x\n",
|
||||
__func__, addr, reg, val);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BLACKFIN
|
||||
/* This ifdef will become unneccessary in a future version of the
|
||||
* blackfin I2C driver.
|
||||
*/
|
||||
i2c_write(addr, reg, 0, &val, 1);
|
||||
#else
|
||||
i2c_write(addr, reg, 1, &val, 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Functions for setting the current I2C bus and its speed
|
||||
|
|
|
@ -50,10 +50,6 @@
|
|||
|
||||
#endif /* USE_HOSTCC */
|
||||
|
||||
#if defined(CONFIG_FIT) && !defined(CONFIG_OF_LIBFDT)
|
||||
#error "CONFIG_OF_LIBFDT not enabled, required by CONFIG_FIT!"
|
||||
#endif
|
||||
|
||||
#include <command.h>
|
||||
|
||||
#if defined(CONFIG_FIT)
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
#define _LINUX_CRC32_H
|
||||
|
||||
#include <linux/types.h>
|
||||
//#include <linux/bitrev.h>
|
||||
/* #include <linux/bitrev.h> */
|
||||
|
||||
extern u32 crc32_le(u32 crc, unsigned char const *p, size_t len);
|
||||
//extern u32 crc32_be(u32 crc, unsigned char const *p, size_t len);
|
||||
/* extern u32 crc32_be(u32 crc, unsigned char const *p, size_t len); */
|
||||
|
||||
#define crc32(seed, data, length) crc32_le(seed, (unsigned char const *)data, length)
|
||||
|
||||
|
@ -21,7 +21,7 @@ extern u32 crc32_le(u32 crc, unsigned char const *p, size_t len);
|
|||
* is in bit nr 0], thus it must be reversed before use. Except for
|
||||
* nics that bit swap the result internally...
|
||||
*/
|
||||
//#define ether_crc(length, data) bitrev32(crc32_le(~0, data, length))
|
||||
//#define ether_crc_le(length, data) crc32_le(~0, data, length)
|
||||
/* #define ether_crc(length, data) bitrev32(crc32_le(~0, data, length)) */
|
||||
/* #define ether_crc_le(length, data) crc32_le(~0, data, length) */
|
||||
|
||||
#endif /* _LINUX_CRC32_H */
|
||||
|
|
|
@ -76,9 +76,9 @@ struct device;
|
|||
struct device_node;
|
||||
|
||||
int __devinit of_mtd_parse_partitions(struct device *dev,
|
||||
struct mtd_info *mtd,
|
||||
struct device_node *node,
|
||||
struct mtd_partition **pparts);
|
||||
struct mtd_info *mtd,
|
||||
struct device_node *node,
|
||||
struct mtd_partition **pparts);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef __LINUX_UBI_H__
|
||||
#define __LINUX_UBI_H__
|
||||
|
||||
//#include <asm/ioctl.h>
|
||||
/* #include <asm/ioctl.h> */
|
||||
#include <linux/types.h>
|
||||
#include <mtd/ubi-user.h>
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ do { \
|
|||
#define ubi_sysfs_close(...) do { } while (0)
|
||||
static inline int is_power_of_2(unsigned long n)
|
||||
{
|
||||
return (n != 0 && ((n & (n - 1)) == 0));
|
||||
return (n != 0 && ((n & (n - 1)) == 0));
|
||||
}
|
||||
|
||||
/* FIXME */
|
||||
|
|
|
@ -25,6 +25,7 @@ include $(TOPDIR)/config.mk
|
|||
|
||||
LIB = $(obj)libgeneric.a
|
||||
|
||||
COBJS-$(CONFIG_ADDR_MAP) += addr_map.o
|
||||
COBJS-y += bzlib.o
|
||||
COBJS-y += bzlib_crctable.o
|
||||
COBJS-y += bzlib_decompress.o
|
||||
|
|
81
lib_generic/addr_map.c
Normal file
81
lib_generic/addr_map.c
Normal file
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* Copyright 2008 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <addr_map.h>
|
||||
|
||||
static struct {
|
||||
phys_addr_t paddr;
|
||||
phys_size_t size;
|
||||
unsigned long vaddr;
|
||||
} address_map[CONFIG_SYS_NUM_ADDR_MAP];
|
||||
|
||||
phys_addr_t addrmap_virt_to_phys(void * vaddr)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < CONFIG_SYS_NUM_ADDR_MAP; i++) {
|
||||
u64 base, upper, addr;
|
||||
|
||||
if (address_map[i].size == 0)
|
||||
continue;
|
||||
|
||||
addr = (u64)((u32)vaddr);
|
||||
base = (u64)(address_map[i].vaddr);
|
||||
upper = (u64)(address_map[i].size) + base - 1;
|
||||
|
||||
if (addr >= base && addr <= upper) {
|
||||
return addr - address_map[i].vaddr + address_map[i].paddr;
|
||||
}
|
||||
}
|
||||
|
||||
return (phys_addr_t)(~0);
|
||||
}
|
||||
|
||||
unsigned long addrmap_phys_to_virt(phys_addr_t paddr)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < CONFIG_SYS_NUM_ADDR_MAP; i++) {
|
||||
u64 base, upper, addr;
|
||||
|
||||
if (address_map[i].size == 0)
|
||||
continue;
|
||||
|
||||
addr = (u64)paddr;
|
||||
base = (u64)(address_map[i].paddr);
|
||||
upper = (u64)(address_map[i].size) + base - 1;
|
||||
|
||||
if (addr >= base && addr <= upper) {
|
||||
return paddr - address_map[i].paddr + address_map[i].vaddr;
|
||||
}
|
||||
}
|
||||
|
||||
return (unsigned long)(~0);
|
||||
}
|
||||
|
||||
void addrmap_set_entry(unsigned long vaddr, phys_addr_t paddr,
|
||||
phys_size_t size, int idx)
|
||||
{
|
||||
if (idx > CONFIG_SYS_NUM_ADDR_MAP)
|
||||
return;
|
||||
|
||||
address_map[idx].vaddr = vaddr;
|
||||
address_map[idx].paddr = paddr;
|
||||
address_map[idx].size = size;
|
||||
}
|
|
@ -25,29 +25,27 @@
|
|||
#include <asm/cache.h>
|
||||
#include <watchdog.h>
|
||||
|
||||
void flush_cache (ulong start_addr, ulong size)
|
||||
void flush_cache(ulong start_addr, ulong size)
|
||||
{
|
||||
#ifndef CONFIG_5xx
|
||||
ulong addr, end_addr = start_addr + size;
|
||||
ulong addr, start, end;
|
||||
|
||||
if (CONFIG_SYS_CACHELINE_SIZE) {
|
||||
addr = start_addr & (CONFIG_SYS_CACHELINE_SIZE - 1);
|
||||
for (addr = start_addr;
|
||||
addr < end_addr;
|
||||
addr += CONFIG_SYS_CACHELINE_SIZE) {
|
||||
asm ("dcbst 0,%0": :"r" (addr));
|
||||
WATCHDOG_RESET();
|
||||
}
|
||||
asm ("sync"); /* Wait for all dcbst to complete on bus */
|
||||
start = start_addr & ~(CONFIG_SYS_CACHELINE_SIZE - 1);
|
||||
end = start_addr + size - 1;
|
||||
|
||||
for (addr = start_addr;
|
||||
addr < end_addr;
|
||||
addr += CONFIG_SYS_CACHELINE_SIZE) {
|
||||
asm ("icbi 0,%0": :"r" (addr));
|
||||
WATCHDOG_RESET();
|
||||
}
|
||||
for (addr = start; addr <= end; addr += CONFIG_SYS_CACHELINE_SIZE) {
|
||||
asm volatile("dcbst 0,%0" : : "r" (addr) : "memory");
|
||||
WATCHDOG_RESET();
|
||||
}
|
||||
asm ("sync"); /* Always flush prefetch queue in any case */
|
||||
asm ("isync");
|
||||
/* wait for all dcbst to complete on bus */
|
||||
asm volatile("sync" : : : "memory");
|
||||
|
||||
for (addr = start; addr <= end; addr += CONFIG_SYS_CACHELINE_SIZE) {
|
||||
asm volatile("icbi 0,%0" : : "r" (addr) : "memory");
|
||||
WATCHDOG_RESET();
|
||||
}
|
||||
asm volatile("sync" : : : "memory");
|
||||
/* flush prefetch queue */
|
||||
asm volatile("isync" : : : "memory");
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -27,9 +27,13 @@ LIB = $(obj)libfdt.a
|
|||
|
||||
SOBJS =
|
||||
|
||||
COBJS-$(CONFIG_OF_LIBFDT) += fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_sw.o fdt_wip.o
|
||||
COBJS-libfdt += fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_sw.o fdt_wip.o
|
||||
|
||||
COBJS := $(COBJS-y)
|
||||
COBJS-$(CONFIG_OF_LIBFDT) += $(COBJS-libfdt)
|
||||
COBJS-$(CONFIG_FIT) += $(COBJS-libfdt)
|
||||
|
||||
|
||||
COBJS := $(sort $(COBJS-y))
|
||||
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
||||
|
||||
|
|
|
@ -47,12 +47,17 @@ LIB := $(obj)$(LIB)
|
|||
|
||||
all: $(LIB)
|
||||
|
||||
postdeps:
|
||||
@for lib in $(SPLIB-y) ; do \
|
||||
$(MAKE) -C `dirname $$lib` all ; \
|
||||
done
|
||||
|
||||
# generic POST library
|
||||
$(GPLIB): $(obj).depend $(OBJS)
|
||||
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||
|
||||
# specific POST libraries
|
||||
$(SPLIB): $(obj).depend
|
||||
$(SPLIB): $(obj).depend postdeps
|
||||
$(MAKE) -C $(dir $(subst $(obj),,$@))
|
||||
|
||||
# the POST lib archive
|
||||
|
|
2
tools/env/fw_env.config
vendored
2
tools/env/fw_env.config
vendored
|
@ -1,5 +1,5 @@
|
|||
# Configuration file for fw_(printenv/saveenv) utility.
|
||||
# Up to two entries are valid, in this case the redundand
|
||||
# Up to two entries are valid, in this case the redundant
|
||||
# environment sector is assumed present.
|
||||
# Notice, that the "Number of sectors" is ignored on NOR.
|
||||
|
||||
|
|
Loading…
Reference in a new issue