mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 13:43:28 +00:00
Code cleanup.
This commit is contained in:
parent
bea8e84b52
commit
efe2a4d5cf
37 changed files with 1850 additions and 1808 deletions
10
README
10
README
|
@ -835,7 +835,7 @@ The following options need to be configured:
|
|||
function struct part_info* jffs2_part_info(int part_num)
|
||||
|
||||
If you define only one JFFS2 partition you may also want to
|
||||
#define CFG_JFFS_SINGLE_PART 1
|
||||
#define CFG_JFFS_SINGLE_PART 1
|
||||
to disable the command chpart. This is the default when you
|
||||
have not defined a custom partition
|
||||
|
||||
|
@ -1978,7 +1978,7 @@ Low Level (hardware related) configuration options:
|
|||
initializations.
|
||||
|
||||
- CFG_IMMR: Physical address of the Internal Memory.
|
||||
DO NOT CHANGE unless you know exactly what you're
|
||||
DO NOT CHANGE unless you know exactly what you're
|
||||
doing! (11-4) [MPC8xx/82xx systems only]
|
||||
|
||||
- CFG_INIT_RAM_ADDR:
|
||||
|
@ -2118,13 +2118,13 @@ Low Level (hardware related) configuration options:
|
|||
"md/mw" commands.
|
||||
Examples:
|
||||
|
||||
=> mdc.b 10 4 500
|
||||
=> mdc.b 10 4 500
|
||||
This command will print 4 bytes (10,11,12,13) each 500 ms.
|
||||
|
||||
=> mwc.l 100 12345678 10
|
||||
=> mwc.l 100 12345678 10
|
||||
This command will write 12345678 to address 100 all 10 ms.
|
||||
|
||||
This only takes effect if the memory commands are activated
|
||||
This only takes effect if the memory commands are activated
|
||||
globally (CFG_CMD_MEM).
|
||||
|
||||
Building the Software:
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include <common.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
#undef DEBUG_FLASH
|
||||
#undef DEBUG_FLASH
|
||||
/*
|
||||
* This file implements a Common Flash Interface (CFI) driver for ppcboot.
|
||||
* The width of the port and the width of the chips are determined at initialization.
|
||||
|
@ -85,12 +85,8 @@
|
|||
#define FLASH_OFFSET_USER_PROTECTION 0x85
|
||||
#define FLASH_OFFSET_INTEL_PROTECTION 0x81
|
||||
|
||||
|
||||
#define FLASH_MAN_CFI 0x01000000
|
||||
|
||||
|
||||
|
||||
|
||||
typedef union {
|
||||
unsigned char c;
|
||||
unsigned short w;
|
||||
|
@ -107,13 +103,10 @@ typedef union {
|
|||
|
||||
flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Functions
|
||||
*/
|
||||
|
||||
|
||||
|
||||
static void flash_add_byte(flash_info_t *info, cfiword_t * cword, uchar c);
|
||||
static void flash_make_cmd(flash_info_t * info, uchar cmd, void * cmdbuf);
|
||||
static void flash_write_cmd(flash_info_t * info, int sect, uchar offset, uchar cmd);
|
||||
|
@ -249,7 +242,7 @@ int flash_erase (flash_info_t *info, int s_first, int s_last)
|
|||
flash_write_cmd(info, sect, 0, FLASH_CMD_CLEAR_STATUS);
|
||||
flash_write_cmd(info, sect, 0, FLASH_CMD_BLOCK_ERASE);
|
||||
flash_write_cmd(info, sect, 0, FLASH_CMD_ERASE_CONFIRM);
|
||||
|
||||
|
||||
if(flash_full_status_check(info, sect, info->erase_blk_tout, "erase")) {
|
||||
rcode = 1;
|
||||
} else
|
||||
|
@ -277,7 +270,7 @@ void flash_print_info (flash_info_t *info)
|
|||
info->size >> 20, info->sector_count);
|
||||
printf(" Erase timeout %ld ms, write timeout %ld ms, buffer write timeout %ld ms, buffer size %d\n",
|
||||
info->erase_blk_tout, info->write_tout, info->buffer_write_tout, info->buffer_size);
|
||||
|
||||
|
||||
printf (" Sector Start Addresses:");
|
||||
for (i=0; i<info->sector_count; ++i) {
|
||||
#ifdef CFG_FLASH_EMPTY_INFO
|
||||
|
@ -286,28 +279,28 @@ void flash_print_info (flash_info_t *info)
|
|||
int erased;
|
||||
volatile unsigned long *flash;
|
||||
|
||||
/*
|
||||
* Check if whole sector is erased
|
||||
*/
|
||||
if (i != (info->sector_count-1))
|
||||
size = info->start[i+1] - info->start[i];
|
||||
else
|
||||
size = info->start[0] + info->size - info->start[i];
|
||||
erased = 1;
|
||||
flash = (volatile unsigned long *)info->start[i];
|
||||
size = size >> 2; /* divide by 4 for longword access */
|
||||
for (k=0; k<size; k++)
|
||||
{
|
||||
if (*flash++ != 0xffffffff)
|
||||
{
|
||||
erased = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Check if whole sector is erased
|
||||
*/
|
||||
if (i != (info->sector_count-1))
|
||||
size = info->start[i+1] - info->start[i];
|
||||
else
|
||||
size = info->start[0] + info->size - info->start[i];
|
||||
erased = 1;
|
||||
flash = (volatile unsigned long *)info->start[i];
|
||||
size = size >> 2; /* divide by 4 for longword access */
|
||||
for (k=0; k<size; k++)
|
||||
{
|
||||
if (*flash++ != 0xffffffff)
|
||||
{
|
||||
erased = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((i % 5) == 0)
|
||||
printf ("\n ");
|
||||
/* print empty and read-only info */
|
||||
/* print empty and read-only info */
|
||||
printf (" %08lX%s%s",
|
||||
info->start[i],
|
||||
erased ? " E" : " ",
|
||||
|
@ -414,7 +407,7 @@ int flash_real_protect(flash_info_t *info, long sector, int prot)
|
|||
else
|
||||
flash_write_cmd(info, sector, 0, FLASH_CMD_PROTECT_CLEAR);
|
||||
|
||||
if((retcode = flash_full_status_check(info, sector, info->erase_blk_tout,
|
||||
if((retcode = flash_full_status_check(info, sector, info->erase_blk_tout,
|
||||
prot?"protect":"unprotect")) == 0) {
|
||||
|
||||
info->protect[sector] = prot;
|
||||
|
@ -464,7 +457,7 @@ static int flash_full_status_check(flash_info_t * info, ulong sector, ulong tout
|
|||
printf("Command Sequence Error.\n");
|
||||
} else if(flash_isset(info, sector, 0, FLASH_STATUS_ECLBS)){
|
||||
printf("Block Erase Error.\n");
|
||||
retcode = ERR_NOT_ERASED;
|
||||
retcode = ERR_NOT_ERASED;
|
||||
} else if (flash_isset(info, sector, 0, FLASH_STATUS_PSLBS)) {
|
||||
printf("Locking Error\n");
|
||||
}
|
||||
|
@ -733,7 +726,7 @@ static int find_sector(flash_info_t *info, ulong addr)
|
|||
{
|
||||
int sector;
|
||||
for(sector = info->sector_count - 1; sector >= 0; sector--) {
|
||||
if(addr >= info->start[sector])
|
||||
if(addr >= info->start[sector])
|
||||
break;
|
||||
}
|
||||
return sector;
|
||||
|
@ -741,7 +734,7 @@ static int find_sector(flash_info_t *info, ulong addr)
|
|||
|
||||
static int flash_write_cfibuffer(flash_info_t * info, ulong dest, uchar * cp, int len)
|
||||
{
|
||||
|
||||
|
||||
int sector;
|
||||
int cnt;
|
||||
int retcode;
|
||||
|
@ -789,8 +782,8 @@ static int flash_write_cfibuffer(flash_info_t * info, ulong dest, uchar * cp, in
|
|||
flash_write_cmd(info, sector, 0, FLASH_CMD_WRITE_BUFFER_CONFIRM);
|
||||
retcode = flash_full_status_check(info, sector, info->buffer_write_tout,
|
||||
"buffer write");
|
||||
}
|
||||
}
|
||||
flash_write_cmd(info, sector, 0, FLASH_CMD_CLEAR_STATUS);
|
||||
return retcode;
|
||||
}
|
||||
}
|
||||
#endif /* CFG_USE_FLASH_BUFFER_WRITE */
|
||||
|
|
|
@ -136,7 +136,7 @@ void lcd_init(uchar *lcd_reg, uchar *lcd_mem, S1D_REGS *regs, int reg_count,
|
|||
}
|
||||
s1dValue = regs[i].Value;
|
||||
lcd_reg[s1dReg] = s1dValue;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Decompress bmp image
|
||||
|
|
|
@ -68,4 +68,3 @@ typedef struct /**** BMP file info structure ****/
|
|||
unsigned int biClrUsed; /* Number of colors used */
|
||||
unsigned int biClrImportant; /* Number of important colors */
|
||||
} BITMAPINFOHEADER;
|
||||
|
||||
|
|
|
@ -123,4 +123,3 @@ static S1D_REGS regs_13806_1024_768_8bpp[] =
|
|||
{0x01F4,0x00}, /* CPU-to-Memory Access Watchdog Timer Register */
|
||||
{0x01FC,0x01}, /* Display Mode Register */
|
||||
};
|
||||
|
||||
|
|
|
@ -123,4 +123,3 @@ static S1D_REGS regs_13806_320_240_4bpp[] =
|
|||
{0x01F4,0x00}, /* CPU-to-Memory Access Watchdog Timer Register */
|
||||
{0x01FC,0x01}, /* Display Mode Register */
|
||||
};
|
||||
|
||||
|
|
|
@ -123,4 +123,3 @@ static S1D_REGS regs_13806_640_480_16bpp[] =
|
|||
{0x01F4,0x00}, /* CPU-to-Memory Access Watchdog Timer Register */
|
||||
{0x01FC,0x01}, /* Display Mode Register */
|
||||
};
|
||||
|
||||
|
|
|
@ -123,4 +123,3 @@ static S1D_REGS regs_13806_640_320_16bpp[] =
|
|||
{0x01F4,0x00}, /* CPU-to-Memory Access Watchdog Timer Register */
|
||||
{0x01FC,0x01}, /* Display Mode Register */
|
||||
};
|
||||
|
||||
|
|
|
@ -559,11 +559,11 @@ void ide_set_reset(int on)
|
|||
#ifdef CONFIG_CPCI405AB
|
||||
|
||||
#define ONE_WIRE_CLEAR (*(volatile unsigned short *)(CFG_FPGA_BASE_ADDR + CFG_FPGA_MODE) \
|
||||
|= CFG_FPGA_MODE_1WIRE_DIR)
|
||||
|= CFG_FPGA_MODE_1WIRE_DIR)
|
||||
#define ONE_WIRE_SET (*(volatile unsigned short *)(CFG_FPGA_BASE_ADDR + CFG_FPGA_MODE) \
|
||||
&= ~CFG_FPGA_MODE_1WIRE_DIR)
|
||||
&= ~CFG_FPGA_MODE_1WIRE_DIR)
|
||||
#define ONE_WIRE_GET (*(volatile unsigned short *)(CFG_FPGA_BASE_ADDR + CFG_FPGA_STATUS) \
|
||||
& CFG_FPGA_MODE_1WIRE)
|
||||
& CFG_FPGA_MODE_1WIRE)
|
||||
|
||||
/*
|
||||
* Generate a 1-wire reset, return 1 if no presence detect was found,
|
||||
|
|
|
@ -72,28 +72,28 @@ static void i2c_init (int speed, int slaveaddr)
|
|||
/* Setup bus */
|
||||
/* gtI2cReset */
|
||||
GT_REG_WRITE (I2C_SOFT_RESET, 0);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
GT_REG_WRITE (I2C_CONTROL, 0);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
|
||||
DP (puts ("set baudrate\n"));
|
||||
|
||||
GT_REG_WRITE (I2C_STATUS_BAUDE_RATE, (actualM << 3) | actualN);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
|
||||
DP (puts ("udelay...\n"));
|
||||
|
||||
udelay (I2C_DELAY);
|
||||
|
||||
GT_REG_WRITE (I2C_CONTROL, (0x1 << 2) | (0x1 << 6));
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
}
|
||||
|
||||
|
||||
static uchar i2c_select_device (uchar dev_addr, uchar read, int ten_bit)
|
||||
{
|
||||
unsigned int status, data, bits = 7;
|
||||
unsigned int control;
|
||||
unsigned int control;
|
||||
int count = 0;
|
||||
|
||||
DP (puts ("i2c_select_device\n"));
|
||||
|
@ -107,19 +107,19 @@ static uchar i2c_select_device (uchar dev_addr, uchar read, int ten_bit)
|
|||
GT_REG_READ (I2C_CONTROL, &control);
|
||||
control |= (0x1 << 2);
|
||||
GT_REG_WRITE (I2C_CONTROL, control);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
|
||||
GT_REG_READ (I2C_CONTROL, &control);
|
||||
control |= (0x1 << 5); /* generate the I2C_START_BIT */
|
||||
GT_REG_WRITE (I2C_CONTROL, control);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
RESET_REG_BITS (I2C_CONTROL, (0x01 << 3));
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
while ((status & 0x08) != 0x08) {
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
|
||||
|
||||
count = 0;
|
||||
|
@ -128,7 +128,7 @@ static uchar i2c_select_device (uchar dev_addr, uchar read, int ten_bit)
|
|||
while (((status & 0xff) != 0x08) && ((status & 0xff) != 0x10)){
|
||||
if (count > 200) {
|
||||
#ifdef DEBUG_I2C
|
||||
printf ("Failed to set startbit: 0x%02x\n", status);
|
||||
printf ("Failed to set startbit: 0x%02x\n", status);
|
||||
#endif
|
||||
GT_REG_WRITE (I2C_CONTROL, (0x1 << 4)); /*stop */
|
||||
asm(" sync");
|
||||
|
@ -146,21 +146,21 @@ static uchar i2c_select_device (uchar dev_addr, uchar read, int ten_bit)
|
|||
/* set the read bit */
|
||||
data |= read;
|
||||
GT_REG_WRITE (I2C_DATA, data);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
RESET_REG_BITS (I2C_CONTROL, BIT3);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
while ((status & 0x08) != 0x08) {
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
|
||||
GT_REG_READ (I2C_STATUS_BAUDE_RATE, &status);
|
||||
count = 0;
|
||||
while (((status & 0xff) != 0x40) && ((status & 0xff) != 0x18)) {
|
||||
if (count > 200) {
|
||||
#ifdef DEBUG_I2C
|
||||
printf ("Failed to write address: 0x%02x\n", status);
|
||||
printf ("Failed to write address: 0x%02x\n", status);
|
||||
#endif
|
||||
GT_REG_WRITE (I2C_CONTROL, (0x1 << 4)); /*stop */
|
||||
return (status);
|
||||
|
@ -195,15 +195,15 @@ static uchar i2c_get_data (uchar * return_data, int len)
|
|||
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
while ((status & 0x08) != 0x08) {
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
|
||||
GT_REG_READ (I2C_STATUS_BAUDE_RATE, &status);
|
||||
count++;
|
||||
while ((status & 0xff) != 0x50) {
|
||||
if (count > 20) {
|
||||
#ifdef DEBUG_I2C
|
||||
printf ("Failed to get data len status: 0x%02x\n", status);
|
||||
printf ("Failed to get data len status: 0x%02x\n", status);
|
||||
#endif
|
||||
GT_REG_WRITE (I2C_CONTROL, (0x1 << 4)); /*stop */
|
||||
asm(" sync");
|
||||
|
@ -219,13 +219,13 @@ static uchar i2c_get_data (uchar * return_data, int len)
|
|||
|
||||
}
|
||||
RESET_REG_BITS (I2C_CONTROL, BIT2 | BIT3);
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
count = 0;
|
||||
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
while ((status & 0x08) != 0x08) {
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
|
||||
while ((status & 0xff) != 0x58) {
|
||||
if (count > 2000) {
|
||||
|
@ -236,9 +236,9 @@ static uchar i2c_get_data (uchar * return_data, int len)
|
|||
count++;
|
||||
}
|
||||
GT_REG_WRITE (I2C_CONTROL, (0x1 << 4)); /* stop */
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
RESET_REG_BITS (I2C_CONTROL, (0x1 << 3));
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
@ -254,7 +254,7 @@ static uchar i2c_write_data (unsigned int *data, int len)
|
|||
DP (puts ("i2c_write_data\n"));
|
||||
|
||||
while (len) {
|
||||
count = 0;
|
||||
count = 0;
|
||||
temp = (unsigned int) (*temp_ptr);
|
||||
GT_REG_WRITE (I2C_DATA, temp);
|
||||
asm(" sync");
|
||||
|
@ -264,7 +264,7 @@ static uchar i2c_write_data (unsigned int *data, int len)
|
|||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
while ((status & 0x08) != 0x08) {
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
}
|
||||
|
||||
GT_REG_READ (I2C_STATUS_BAUDE_RATE, &status);
|
||||
count++;
|
||||
|
@ -294,7 +294,7 @@ static uchar i2c_write_byte (unsigned char *data, int len)
|
|||
DP (puts ("i2c_write_byte\n"));
|
||||
|
||||
while (len) {
|
||||
count = 0;
|
||||
count = 0;
|
||||
/* Set and assert the data */
|
||||
temp = *temp_ptr;
|
||||
GT_REG_WRITE (I2C_DATA, temp);
|
||||
|
@ -306,7 +306,7 @@ static uchar i2c_write_byte (unsigned char *data, int len)
|
|||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
while ((status & 0x08) != 0x08) {
|
||||
GT_REG_READ (I2C_CONTROL, &status);
|
||||
}
|
||||
}
|
||||
|
||||
GT_REG_READ (I2C_STATUS_BAUDE_RATE, &status);
|
||||
count++;
|
||||
|
@ -419,7 +419,7 @@ i2c_read (uchar dev_addr, unsigned int offset, int alen, uchar * data,
|
|||
void i2c_stop (void)
|
||||
{
|
||||
GT_REG_WRITE (I2C_CONTROL, (0x1 << 4));
|
||||
asm(" sync");
|
||||
asm(" sync");
|
||||
}
|
||||
|
||||
|
||||
|
@ -441,7 +441,7 @@ i2c_write (uchar dev_addr, unsigned int offset, int alen, uchar * data,
|
|||
status);
|
||||
#endif
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
status = i2c_write_byte (data, len); /* write the data */
|
||||
|
@ -450,7 +450,7 @@ i2c_write (uchar dev_addr, unsigned int offset, int alen, uchar * data,
|
|||
printf ("Data not written: 0x%02x\n", status);
|
||||
#endif
|
||||
return status;
|
||||
}
|
||||
}
|
||||
/* issue a stop bit */
|
||||
i2c_stop ();
|
||||
return 0;
|
||||
|
|
|
@ -32,41 +32,34 @@
|
|||
|
||||
extern ulong ide_bus_offset[CFG_IDE_MAXBUS];
|
||||
|
||||
int ide_preinit
|
||||
(
|
||||
void
|
||||
)
|
||||
{
|
||||
int status;
|
||||
pci_dev_t devbusfn;
|
||||
int l;
|
||||
int ide_preinit (void)
|
||||
{
|
||||
int status;
|
||||
pci_dev_t devbusfn;
|
||||
int l;
|
||||
|
||||
status = 1;
|
||||
for(l=0;l<CFG_IDE_MAXBUS;l++)
|
||||
{
|
||||
ide_bus_offset[l] = -ATA_STATUS;
|
||||
}
|
||||
devbusfn = pci_find_device(0x1103, 0x0004, 0);
|
||||
if (devbusfn != -1)
|
||||
{
|
||||
status = 0;
|
||||
status = 1;
|
||||
for (l = 0; l < CFG_IDE_MAXBUS; l++) {
|
||||
ide_bus_offset[l] = -ATA_STATUS;
|
||||
}
|
||||
devbusfn = pci_find_device (0x1103, 0x0004, 0);
|
||||
if (devbusfn != -1) {
|
||||
status = 0;
|
||||
|
||||
pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_0, (u32 *)&ide_bus_offset[0]);
|
||||
ide_bus_offset[0] &= 0xfffffffe;
|
||||
ide_bus_offset[0] += CFG_PCI0_IO_SPACE;
|
||||
pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_2, (u32 *)&ide_bus_offset[1]);
|
||||
ide_bus_offset[1] &= 0xfffffffe;
|
||||
ide_bus_offset[1] += CFG_PCI0_IO_SPACE;
|
||||
}
|
||||
return(status);
|
||||
}
|
||||
pci_read_config_dword (devbusfn, PCI_BASE_ADDRESS_0,
|
||||
(u32 *) & ide_bus_offset[0]);
|
||||
ide_bus_offset[0] &= 0xfffffffe;
|
||||
ide_bus_offset[0] += CFG_PCI0_IO_SPACE;
|
||||
pci_read_config_dword (devbusfn, PCI_BASE_ADDRESS_2,
|
||||
(u32 *) & ide_bus_offset[1]);
|
||||
ide_bus_offset[1] &= 0xfffffffe;
|
||||
ide_bus_offset[1] += CFG_PCI0_IO_SPACE;
|
||||
}
|
||||
return (status);
|
||||
}
|
||||
|
||||
void ide_set_reset
|
||||
(
|
||||
int flag
|
||||
)
|
||||
{
|
||||
return;
|
||||
}
|
||||
void ide_set_reset (int flag) {
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* of CONFIG_CMDS_IDE */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* (C) Copyright 2003
|
||||
* Ingo Assmus <ingo.assmus@keymile.com>
|
||||
* Ingo Assmus <ingo.assmus@keymile.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
|
@ -35,7 +35,7 @@
|
|||
|
||||
/* This tells PPCBoot that the config options are compiled in */
|
||||
/* #undef ENV_IS_EMBEDDED */
|
||||
/* Don't touch this! PPCBOOT figures this out based on other
|
||||
/* Don't touch this! PPCBOOT figures this out based on other
|
||||
* magic. */
|
||||
|
||||
/* Uncomment and define any of the below options */
|
||||
|
|
|
@ -158,13 +158,13 @@ board_asm_init:
|
|||
rlwinm r3, r3, 16, 16, 31
|
||||
lis r4, CFG_GT_REGS@h
|
||||
ori r4, r4, CFG_GT_REGS@l
|
||||
li r5, INTEGRATED_SRAM_BASE_ADDR
|
||||
stwbrx r3, r5, r4
|
||||
li r5, INTEGRATED_SRAM_BASE_ADDR
|
||||
stwbrx r3, r5, r4
|
||||
|
||||
2: lwbrx r6, r5, r4
|
||||
cmp cr0, r3, r6
|
||||
bne 2b
|
||||
|
||||
bne 2b
|
||||
|
||||
/* done! */
|
||||
blr
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* modified for marvell db64360 eval board by
|
||||
* Ingo Assmus <ingo.assmus@keymile.com>
|
||||
*
|
||||
*
|
||||
* modified for cpci750 board by
|
||||
* Reinhard Arlt <reinhard.arlt@esd-electronics.com>
|
||||
*
|
||||
|
|
|
@ -278,13 +278,13 @@ int misc_init_r (void)
|
|||
udelay(1000);
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) | CFG_TOUCH_RST);
|
||||
|
||||
/*
|
||||
* Enable power on PS/2 interface (with reset)
|
||||
*/
|
||||
*fpga_ctrl &= ~(CFG_FPGA_CTRL_PS2_PWR);
|
||||
for (i=0;i<500;i++)
|
||||
udelay(1000);
|
||||
*fpga_ctrl |= (CFG_FPGA_CTRL_PS2_PWR);
|
||||
/*
|
||||
* Enable power on PS/2 interface (with reset)
|
||||
*/
|
||||
*fpga_ctrl &= ~(CFG_FPGA_CTRL_PS2_PWR);
|
||||
for (i=0;i<500;i++)
|
||||
udelay(1000);
|
||||
*fpga_ctrl |= (CFG_FPGA_CTRL_PS2_PWR);
|
||||
|
||||
/*
|
||||
* Get contrast value from environment variable
|
||||
|
|
|
@ -86,7 +86,7 @@ int misc_init_r (void)
|
|||
*duart2_mcr = 0x08;
|
||||
*duart3_mcr = 0x08;
|
||||
|
||||
/*
|
||||
/*
|
||||
* Set RS232/RS422 control (RS232 = high on GPIO)
|
||||
*/
|
||||
val = in32(GPIO0_OR);
|
||||
|
|
|
@ -293,7 +293,7 @@ int misc_init_r (void)
|
|||
*/
|
||||
#define PCI0_BRDGOPT1 0x4a
|
||||
pci_write_config_word(PCIDEVID_405GP, PCI0_BRDGOPT1, 0x3f20);
|
||||
// pci_write_config_word(PCIDEVID_405GP, PCI0_BRDGOPT1, 0x3f60);
|
||||
/* pci_write_config_word(PCIDEVID_405GP, PCI0_BRDGOPT1, 0x3f60); */
|
||||
|
||||
#define plb0_acr 0x87
|
||||
/*
|
||||
|
@ -303,10 +303,10 @@ int misc_init_r (void)
|
|||
|
||||
#if 0 /* test-only */
|
||||
printf("CCR0=%08x\n", mfspr(ccr0)); /* test-only */
|
||||
// mtspr(ccr0, (mfspr(ccr0) & 0xff8fffff) | 0x00100000);
|
||||
/* mtspr(ccr0, (mfspr(ccr0) & 0xff8fffff) | 0x00100000); */
|
||||
mtspr(ccr0, (mfspr(ccr0) & 0xff8fffff) | 0x00000000);
|
||||
#endif
|
||||
// printf("CCR0=%08x\n", mfspr(ccr0)); /* test-only */
|
||||
/* printf("CCR0=%08x\n", mfspr(ccr0)); /* test-only */ */
|
||||
#endif
|
||||
|
||||
free(dst);
|
||||
|
|
|
@ -50,186 +50,174 @@
|
|||
write_without_sync:
|
||||
/*
|
||||
* Write one values to host via pci busmastering
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
*/
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
|
||||
start1:
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
|
||||
/*
|
||||
* Read one value back
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
*/
|
||||
|
||||
lwz r0,0(r31)
|
||||
lwz r0,0(r31)
|
||||
|
||||
/*
|
||||
* One pci config write
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
*/
|
||||
/* subsystem id */
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
|
||||
b start1
|
||||
b start1
|
||||
|
||||
blr /* never reached !!!! */
|
||||
|
||||
|
||||
|
||||
.globl write_with_sync
|
||||
write_with_sync:
|
||||
/*
|
||||
* Write one values to host via pci busmastering
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
*/
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
|
||||
start2:
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
|
||||
/*
|
||||
* Read one value back
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
*/
|
||||
|
||||
lwz r0,0(r31)
|
||||
lwz r0,0(r31)
|
||||
|
||||
/*
|
||||
* One pci config write
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
*/
|
||||
/* subsystem id */
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
sync
|
||||
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
sync
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
sync
|
||||
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
sync
|
||||
|
||||
b start2
|
||||
b start2
|
||||
|
||||
blr /* never reached !!!! */
|
||||
|
||||
|
||||
.globl write_with_less_sync
|
||||
write_with_less_sync:
|
||||
/*
|
||||
* Write one values to host via pci busmastering
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
*/
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
|
||||
start2b:
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
|
||||
/*
|
||||
* Read one value back
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
*/
|
||||
|
||||
lwz r0,0(r31)
|
||||
lwz r0,0(r31)
|
||||
|
||||
/*
|
||||
* One pci config write
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
*/
|
||||
/* subsystem id */
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
sync
|
||||
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
sync
|
||||
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
/* sync */
|
||||
|
||||
b start2b
|
||||
b start2b
|
||||
|
||||
blr /* never reached !!!! */
|
||||
|
||||
|
||||
.globl write_with_more_sync
|
||||
write_with_more_sync:
|
||||
/*
|
||||
* Write one values to host via pci busmastering
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
* ptr = 0xc0000000 -> 0x01000000 (PCI)
|
||||
* *ptr = 0x01234567;
|
||||
*/
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
addi r31,0,0
|
||||
lis r31,0xc000
|
||||
|
||||
start3:
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
sync
|
||||
lis r0,0x0123
|
||||
ori r0,r0,0x4567
|
||||
stw r0,0(r31)
|
||||
sync
|
||||
|
||||
/*
|
||||
* Read one value back
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
* ptr = (volatile unsigned long *)addr;
|
||||
* val = *ptr;
|
||||
*/
|
||||
|
||||
lwz r0,0(r31)
|
||||
sync
|
||||
lwz r0,0(r31)
|
||||
sync
|
||||
|
||||
/*
|
||||
* One pci config write
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
* ibmPciConfigWrite(0x2e, 2, 0x1234);
|
||||
*/
|
||||
/* subsystem id (PCIC0_SBSYSVID)*/
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
sync
|
||||
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
sync
|
||||
|
||||
li r4,0x002C
|
||||
oris r4,r4,0x8000
|
||||
lis r3,0xEEC0
|
||||
stwbrx r4,0,r3
|
||||
sync
|
||||
|
||||
li r5,0x1234
|
||||
ori r3,r3,0x4
|
||||
stwbrx r5,0,r3
|
||||
sync
|
||||
|
||||
b start3
|
||||
b start3
|
||||
|
||||
blr /* never reached !!!! */
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include <common.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
#undef DEBUG_FLASH
|
||||
#undef DEBUG_FLASH
|
||||
/*
|
||||
* This file implements a Common Flash Interface (CFI) driver for ppcboot.
|
||||
* The width of the port and the width of the chips are determined at initialization.
|
||||
|
@ -85,12 +85,8 @@
|
|||
#define FLASH_OFFSET_USER_PROTECTION 0x85
|
||||
#define FLASH_OFFSET_INTEL_PROTECTION 0x81
|
||||
|
||||
|
||||
#define FLASH_MAN_CFI 0x01000000
|
||||
|
||||
|
||||
|
||||
|
||||
typedef union {
|
||||
unsigned char c;
|
||||
unsigned short w;
|
||||
|
@ -107,13 +103,10 @@ typedef union {
|
|||
|
||||
flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Functions
|
||||
*/
|
||||
|
||||
|
||||
|
||||
static void flash_add_byte(flash_info_t *info, cfiword_t * cword, uchar c);
|
||||
static void flash_make_cmd(flash_info_t * info, uchar cmd, void * cmdbuf);
|
||||
static void flash_write_cmd(flash_info_t * info, int sect, uchar offset, uchar cmd);
|
||||
|
@ -249,7 +242,7 @@ int flash_erase (flash_info_t *info, int s_first, int s_last)
|
|||
flash_write_cmd(info, sect, 0, FLASH_CMD_CLEAR_STATUS);
|
||||
flash_write_cmd(info, sect, 0, FLASH_CMD_BLOCK_ERASE);
|
||||
flash_write_cmd(info, sect, 0, FLASH_CMD_ERASE_CONFIRM);
|
||||
|
||||
|
||||
if(flash_full_status_check(info, sect, info->erase_blk_tout, "erase")) {
|
||||
rcode = 1;
|
||||
} else
|
||||
|
@ -277,7 +270,7 @@ void flash_print_info (flash_info_t *info)
|
|||
info->size >> 20, info->sector_count);
|
||||
printf(" Erase timeout %ld ms, write timeout %ld ms, buffer write timeout %ld ms, buffer size %d\n",
|
||||
info->erase_blk_tout, info->write_tout, info->buffer_write_tout, info->buffer_size);
|
||||
|
||||
|
||||
printf (" Sector Start Addresses:");
|
||||
for (i=0; i<info->sector_count; ++i) {
|
||||
#ifdef CFG_FLASH_EMPTY_INFO
|
||||
|
@ -286,28 +279,28 @@ void flash_print_info (flash_info_t *info)
|
|||
int erased;
|
||||
volatile unsigned long *flash;
|
||||
|
||||
/*
|
||||
* Check if whole sector is erased
|
||||
*/
|
||||
if (i != (info->sector_count-1))
|
||||
size = info->start[i+1] - info->start[i];
|
||||
else
|
||||
size = info->start[0] + info->size - info->start[i];
|
||||
erased = 1;
|
||||
flash = (volatile unsigned long *)info->start[i];
|
||||
size = size >> 2; /* divide by 4 for longword access */
|
||||
for (k=0; k<size; k++)
|
||||
{
|
||||
if (*flash++ != 0xffffffff)
|
||||
{
|
||||
erased = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Check if whole sector is erased
|
||||
*/
|
||||
if (i != (info->sector_count-1))
|
||||
size = info->start[i+1] - info->start[i];
|
||||
else
|
||||
size = info->start[0] + info->size - info->start[i];
|
||||
erased = 1;
|
||||
flash = (volatile unsigned long *)info->start[i];
|
||||
size = size >> 2; /* divide by 4 for longword access */
|
||||
for (k=0; k<size; k++)
|
||||
{
|
||||
if (*flash++ != 0xffffffff)
|
||||
{
|
||||
erased = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((i % 5) == 0)
|
||||
printf ("\n ");
|
||||
/* print empty and read-only info */
|
||||
/* print empty and read-only info */
|
||||
printf (" %08lX%s%s",
|
||||
info->start[i],
|
||||
erased ? " E" : " ",
|
||||
|
@ -414,7 +407,7 @@ int flash_real_protect(flash_info_t *info, long sector, int prot)
|
|||
else
|
||||
flash_write_cmd(info, sector, 0, FLASH_CMD_PROTECT_CLEAR);
|
||||
|
||||
if((retcode = flash_full_status_check(info, sector, info->erase_blk_tout,
|
||||
if((retcode = flash_full_status_check(info, sector, info->erase_blk_tout,
|
||||
prot?"protect":"unprotect")) == 0) {
|
||||
|
||||
info->protect[sector] = prot;
|
||||
|
@ -464,7 +457,7 @@ static int flash_full_status_check(flash_info_t * info, ulong sector, ulong tout
|
|||
printf("Command Sequence Error.\n");
|
||||
} else if(flash_isset(info, sector, 0, FLASH_STATUS_ECLBS)){
|
||||
printf("Block Erase Error.\n");
|
||||
retcode = ERR_NOT_ERASED;
|
||||
retcode = ERR_NOT_ERASED;
|
||||
} else if (flash_isset(info, sector, 0, FLASH_STATUS_PSLBS)) {
|
||||
printf("Locking Error\n");
|
||||
}
|
||||
|
@ -733,7 +726,7 @@ static int find_sector(flash_info_t *info, ulong addr)
|
|||
{
|
||||
int sector;
|
||||
for(sector = info->sector_count - 1; sector >= 0; sector--) {
|
||||
if(addr >= info->start[sector])
|
||||
if(addr >= info->start[sector])
|
||||
break;
|
||||
}
|
||||
return sector;
|
||||
|
@ -741,7 +734,7 @@ static int find_sector(flash_info_t *info, ulong addr)
|
|||
|
||||
static int flash_write_cfibuffer(flash_info_t * info, ulong dest, uchar * cp, int len)
|
||||
{
|
||||
|
||||
|
||||
int sector;
|
||||
int cnt;
|
||||
int retcode;
|
||||
|
@ -789,8 +782,8 @@ static int flash_write_cfibuffer(flash_info_t * info, ulong dest, uchar * cp, in
|
|||
flash_write_cmd(info, sector, 0, FLASH_CMD_WRITE_BUFFER_CONFIRM);
|
||||
retcode = flash_full_status_check(info, sector, info->buffer_write_tout,
|
||||
"buffer write");
|
||||
}
|
||||
}
|
||||
flash_write_cmd(info, sector, 0, FLASH_CMD_CLEAR_STATUS);
|
||||
return retcode;
|
||||
}
|
||||
}
|
||||
#endif /* CFG_USE_FLASH_BUFFER_WRITE */
|
||||
|
|
|
@ -60,7 +60,7 @@ const unsigned char fpgadata[] =
|
|||
|
||||
int checkboard (void) {
|
||||
ulong val;
|
||||
uchar val8;
|
||||
uchar val8;
|
||||
|
||||
puts ("Board: ");
|
||||
puts("esd TASREG");
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include <asm/processor.h>
|
||||
#include <command.h>
|
||||
|
||||
|
||||
#define MEM_MCOPT1_INIT_VAL 0x00800000
|
||||
#define MEM_RTR_INIT_VAL 0x04070000
|
||||
#define MEM_PMIT_INIT_VAL 0x07c00000
|
||||
|
@ -34,11 +33,8 @@
|
|||
#define MEM_SDTR1_INIT_VAL 0x00854005
|
||||
#define SDRAM0_CFG_ENABLE 0x80000000
|
||||
|
||||
|
||||
|
||||
#define CFG_SDRAM_SIZE 0x04000000 /* 64 MB */
|
||||
|
||||
|
||||
int board_early_init_f (void)
|
||||
{
|
||||
#if 0 /* test-only */
|
||||
|
@ -119,19 +115,19 @@ int checkboard (void)
|
|||
long int init_sdram_static_settings(void)
|
||||
{
|
||||
#define mtsdram0(reg, data) mtdcr(memcfga,reg);mtdcr(memcfgd,data)
|
||||
/* disable memcontroller so updates work */
|
||||
mtsdram0( mem_mcopt1, MEM_MCOPT1_INIT_VAL );
|
||||
mtsdram0( mem_rtr , MEM_RTR_INIT_VAL );
|
||||
mtsdram0( mem_pmit , MEM_PMIT_INIT_VAL );
|
||||
mtsdram0( mem_mb0cf , MEM_MB0CF_INIT_VAL );
|
||||
mtsdram0( mem_mb1cf , MEM_MB1CF_INIT_VAL );
|
||||
mtsdram0( mem_sdtr1 , MEM_SDTR1_INIT_VAL );
|
||||
/* disable memcontroller so updates work */
|
||||
mtsdram0( mem_mcopt1, MEM_MCOPT1_INIT_VAL );
|
||||
mtsdram0( mem_rtr , MEM_RTR_INIT_VAL );
|
||||
mtsdram0( mem_pmit , MEM_PMIT_INIT_VAL );
|
||||
mtsdram0( mem_mb0cf , MEM_MB0CF_INIT_VAL );
|
||||
mtsdram0( mem_mb1cf , MEM_MB1CF_INIT_VAL );
|
||||
mtsdram0( mem_sdtr1 , MEM_SDTR1_INIT_VAL );
|
||||
|
||||
/* SDRAM have a power on delay, 500 micro should do */
|
||||
udelay(500);
|
||||
mtsdram0( mem_mcopt1, MEM_MCOPT1_INIT_VAL|SDRAM0_CFG_ENABLE );
|
||||
/* SDRAM have a power on delay, 500 micro should do */
|
||||
udelay(500);
|
||||
mtsdram0( mem_mcopt1, MEM_MCOPT1_INIT_VAL|SDRAM0_CFG_ENABLE );
|
||||
|
||||
return (CFG_SDRAM_SIZE); /* CFG_SDRAM_SIZE is in G2000.h */
|
||||
return (CFG_SDRAM_SIZE); /* CFG_SDRAM_SIZE is in G2000.h */
|
||||
}
|
||||
|
||||
|
||||
|
@ -141,9 +137,9 @@ long int initdram (int board_type)
|
|||
|
||||
/* flzt, we can still turn this on in the future */
|
||||
/* #ifdef CONFIG_SPD_EEPROM
|
||||
ret = spd_sdram ();
|
||||
ret = spd_sdram ();
|
||||
#else
|
||||
ret = init_sdram_static_settings();
|
||||
ret = init_sdram_static_settings();
|
||||
#endif
|
||||
*/
|
||||
|
||||
|
|
|
@ -85,12 +85,8 @@
|
|||
#define FLASH_OFFSET_USER_PROTECTION 0x85
|
||||
#define FLASH_OFFSET_INTEL_PROTECTION 0x81
|
||||
|
||||
|
||||
#define FLASH_MAN_CFI 0x01000000
|
||||
|
||||
|
||||
|
||||
|
||||
typedef union {
|
||||
unsigned char c;
|
||||
unsigned short w;
|
||||
|
@ -107,13 +103,10 @@ typedef union {
|
|||
|
||||
flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Functions
|
||||
*/
|
||||
|
||||
|
||||
|
||||
static void flash_add_byte(flash_info_t *info, cfiword_t * cword, uchar c);
|
||||
static void flash_make_cmd(flash_info_t * info, uchar cmd, void * cmdbuf);
|
||||
static void flash_write_cmd(flash_info_t * info, int sect, uchar offset, uchar cmd);
|
||||
|
@ -286,28 +279,28 @@ void flash_print_info (flash_info_t *info)
|
|||
int erased;
|
||||
volatile unsigned long *flash;
|
||||
|
||||
/*
|
||||
* Check if whole sector is erased
|
||||
*/
|
||||
if (i != (info->sector_count-1))
|
||||
size = info->start[i+1] - info->start[i];
|
||||
else
|
||||
size = info->start[0] + info->size - info->start[i];
|
||||
erased = 1;
|
||||
flash = (volatile unsigned long *)info->start[i];
|
||||
size = size >> 2; /* divide by 4 for longword access */
|
||||
for (k=0; k<size; k++)
|
||||
{
|
||||
if (*flash++ != 0xffffffff)
|
||||
{
|
||||
erased = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Check if whole sector is erased
|
||||
*/
|
||||
if (i != (info->sector_count-1))
|
||||
size = info->start[i+1] - info->start[i];
|
||||
else
|
||||
size = info->start[0] + info->size - info->start[i];
|
||||
erased = 1;
|
||||
flash = (volatile unsigned long *)info->start[i];
|
||||
size = size >> 2; /* divide by 4 for longword access */
|
||||
for (k=0; k<size; k++)
|
||||
{
|
||||
if (*flash++ != 0xffffffff)
|
||||
{
|
||||
erased = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((i % 5) == 0)
|
||||
printf ("\n ");
|
||||
/* print empty and read-only info */
|
||||
/* print empty and read-only info */
|
||||
printf (" %08lX%s%s",
|
||||
info->start[i],
|
||||
erased ? " E" : " ",
|
||||
|
@ -464,7 +457,7 @@ static int flash_full_status_check(flash_info_t * info, ulong sector, ulong tout
|
|||
printf("Command Sequence Error.\n");
|
||||
} else if(flash_isset(info, sector, 0, FLASH_STATUS_ECLBS)){
|
||||
printf("Block Erase Error.\n");
|
||||
retcode = ERR_NOT_ERASED;
|
||||
retcode = ERR_NOT_ERASED;
|
||||
} else if (flash_isset(info, sector, 0, FLASH_STATUS_PSLBS)) {
|
||||
printf("Locking Error\n");
|
||||
}
|
||||
|
|
|
@ -142,9 +142,9 @@ void flash_print_info (flash_info_t *info)
|
|||
}
|
||||
|
||||
switch (info->flash_id & FLASH_TYPEMASK) {
|
||||
case FLASH_AM116DB:
|
||||
printf ("AM29LV116DB (16Mbit, bottom boot sect)\n");
|
||||
break;
|
||||
case FLASH_AM116DB:
|
||||
printf ("AM29LV116DB (16Mbit, bottom boot sect)\n");
|
||||
break;
|
||||
case FLASH_AMLV128U:
|
||||
printf ("AM29LV128ML (128Mbit, uniform sector size)\n");
|
||||
break;
|
||||
|
@ -220,21 +220,21 @@ ulong flash_get_size (FPWV *addr, flash_info_t *info)
|
|||
|
||||
case (uchar)AMD_ID_LV116DB:
|
||||
debug ("Chip: AM29LV116DB\n");
|
||||
info->flash_id += FLASH_AM116DB;
|
||||
info->sector_count = 35;
|
||||
info->size = 0x00200000;
|
||||
/*
|
||||
* The first 4 sectors are 16 kB, 8 kB, 8 kB and 32 kB, all
|
||||
* the other ones are 64 kB
|
||||
*/
|
||||
info->start[0] = base + 0x00000000;
|
||||
info->start[1] = base + 0x00004000;
|
||||
info->start[2] = base + 0x00006000;
|
||||
info->start[3] = base + 0x00008000;
|
||||
for( i = 4; i < info->sector_count; i++ )
|
||||
info->start[i] =
|
||||
base + (i * (64 << 10)) - 0x00030000;
|
||||
break; /* => 2 MB */
|
||||
info->flash_id += FLASH_AM116DB;
|
||||
info->sector_count = 35;
|
||||
info->size = 0x00200000;
|
||||
/*
|
||||
* The first 4 sectors are 16 kB, 8 kB, 8 kB and 32 kB, all
|
||||
* the other ones are 64 kB
|
||||
*/
|
||||
info->start[0] = base + 0x00000000;
|
||||
info->start[1] = base + 0x00004000;
|
||||
info->start[2] = base + 0x00006000;
|
||||
info->start[3] = base + 0x00008000;
|
||||
for( i = 4; i < info->sector_count; i++ )
|
||||
info->start[i] =
|
||||
base + (i * (64 << 10)) - 0x00030000;
|
||||
break; /* => 2 MB */
|
||||
|
||||
case (FPW)AMD_ID_LV160B:
|
||||
debug ("Chip: AM29LV160MB\n");
|
||||
|
@ -377,8 +377,8 @@ int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt)
|
|||
|
||||
for (i = 0; i < cnt; i++)
|
||||
if ((rc = write_word_amd(info, (FPW *)(addr+i), src[i])) != 0) {
|
||||
return (rc);
|
||||
}
|
||||
return (rc);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -176,4 +176,3 @@ void flash_preinit(void)
|
|||
*/
|
||||
*(vu_long *)MPC5XXX_BOOTCS_CFG &= ~0x1; /* clear RO */
|
||||
}
|
||||
|
||||
|
|
|
@ -419,7 +419,7 @@ int last_stage_init (void)
|
|||
/* save origianl SRAM content */
|
||||
save = *(volatile u16 *)CFG_CS2_START;
|
||||
restore = 1;
|
||||
|
||||
|
||||
/* write test pattern to SRAM */
|
||||
*(volatile u16 *)CFG_CS2_START = 0xA5A5;
|
||||
__asm__ volatile ("sync");
|
||||
|
@ -430,7 +430,7 @@ int last_stage_init (void)
|
|||
tmp = *(volatile u16 *)CFG_FLASH_BASE;
|
||||
if (tmp == 0xA5A5)
|
||||
puts ("!! possible error in SRAM detection\n");
|
||||
|
||||
|
||||
if (*(volatile u16 *)CFG_CS2_START != 0xA5A5) {
|
||||
/* no SRAM at all, disable cs */
|
||||
*(vu_long *)MPC5XXX_ADDECR &= ~(1 << 18);
|
||||
|
@ -445,31 +445,31 @@ int last_stage_init (void)
|
|||
__asm__ volatile ("sync");
|
||||
if (*(volatile u16 *)(CFG_CS2_START + (1<<19)) == 0x1111) {
|
||||
/* SRAM size = 512 kByte */
|
||||
*(vu_long *)MPC5XXX_CS2_STOP = STOP_REG(CFG_CS2_START,
|
||||
*(vu_long *)MPC5XXX_CS2_STOP = STOP_REG(CFG_CS2_START,
|
||||
0x80000);
|
||||
__asm__ volatile ("sync");
|
||||
puts ("SRAM: 512 kB\n");
|
||||
}
|
||||
else
|
||||
puts ("!! possible error in SRAM detection\n");
|
||||
puts ("!! possible error in SRAM detection\n");
|
||||
}
|
||||
else {
|
||||
puts ("SRAM: 1 MB\n");
|
||||
puts ("SRAM: 1 MB\n");
|
||||
}
|
||||
/* restore origianl SRAM content */
|
||||
if (restore) {
|
||||
*(volatile u16 *)CFG_CS2_START = save;
|
||||
__asm__ volatile ("sync");
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
/*
|
||||
* Check for Grafic Controller
|
||||
*/
|
||||
|
||||
/* save origianl FB content */
|
||||
save = *(volatile u16 *)CFG_CS1_START;
|
||||
restore = 1;
|
||||
|
||||
|
||||
/* write test pattern to FB memory */
|
||||
*(volatile u16 *)CFG_CS1_START = 0xA5A5;
|
||||
__asm__ volatile ("sync");
|
||||
|
@ -480,7 +480,7 @@ int last_stage_init (void)
|
|||
tmp = *(volatile u16 *)CFG_FLASH_BASE;
|
||||
if (tmp == 0xA5A5)
|
||||
puts ("!! possible error in grafic controller detection\n");
|
||||
|
||||
|
||||
if (*(volatile u16 *)CFG_CS1_START != 0xA5A5) {
|
||||
/* no grafic controller at all, disable cs */
|
||||
*(vu_long *)MPC5XXX_ADDECR &= ~(1 << 17);
|
||||
|
@ -490,14 +490,14 @@ int last_stage_init (void)
|
|||
__asm__ volatile ("sync");
|
||||
}
|
||||
else {
|
||||
puts ("VGA: SMI501 (Voyager) with 8 MB\n");
|
||||
puts ("VGA: SMI501 (Voyager) with 8 MB\n");
|
||||
}
|
||||
/* restore origianl FB content */
|
||||
if (restore) {
|
||||
*(volatile u16 *)CFG_CS1_START = save;
|
||||
__asm__ volatile ("sync");
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_CS_AUTOCONF */
|
||||
|
|
|
@ -134,7 +134,7 @@ int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|||
/*shutdown the console to avoid strange chars during reset */
|
||||
us->US_CR = (AT91C_US_RSTRX | AT91C_US_RSTTX);
|
||||
|
||||
#ifdef CONFIG_AT91RM9200DK
|
||||
#ifdef CONFIG_AT91RM9200DK
|
||||
/* Clear PA19 to trigger the hard reset */
|
||||
pio->PIO_CODR = 0x00080000;
|
||||
pio->PIO_OER = 0x00080000;
|
||||
|
|
|
@ -163,7 +163,7 @@ void ps2ser_putc(int chr)
|
|||
|
||||
#ifdef CONFIG_MPC5xxx
|
||||
while (!(psc->psc_status & PSC_SR_TXRDY));
|
||||
|
||||
|
||||
psc->psc_buffer_8 = chr;
|
||||
#else
|
||||
while (!(ps2ser_in(UART_LSR) & UART_LSR_THRE));
|
||||
|
@ -259,7 +259,7 @@ static void ps2ser_interrupt(void *dev_id)
|
|||
printf ("ps2ser.c: buffer overflow\n");
|
||||
}
|
||||
#ifdef CONFIG_MPC5xxx
|
||||
} while (status & PSC_SR_RXRDY);
|
||||
} while (status & PSC_SR_RXRDY);
|
||||
#else
|
||||
} while (status & UART_IIR_RDI);
|
||||
#endif
|
||||
|
|
151
fs/ext2/dev.c
151
fs/ext2/dev.c
|
@ -34,109 +34,96 @@ static block_dev_desc_t *ext2fs_block_dev_desc;
|
|||
static disk_partition_t part_info;
|
||||
|
||||
#undef DEBUG
|
||||
int ext2fs_set_blk_dev
|
||||
(
|
||||
block_dev_desc_t *rbdd,
|
||||
int part
|
||||
)
|
||||
{
|
||||
ext2fs_block_dev_desc = rbdd;
|
||||
int ext2fs_set_blk_dev (block_dev_desc_t * rbdd, int part)
|
||||
{
|
||||
ext2fs_block_dev_desc = rbdd;
|
||||
|
||||
if (part == 0)
|
||||
{
|
||||
/* disk doesn't use partition table */
|
||||
part_info.start = 0;
|
||||
part_info.size = rbdd->lba;
|
||||
part_info.blksz = rbdd->blksz;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (get_partition_info (ext2fs_block_dev_desc, part, &part_info))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (part == 0) {
|
||||
/* disk doesn't use partition table */
|
||||
part_info.start = 0;
|
||||
part_info.size = rbdd->lba;
|
||||
part_info.blksz = rbdd->blksz;
|
||||
} else {
|
||||
if (get_partition_info
|
||||
(ext2fs_block_dev_desc, part, &part_info)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return (part_info.size);
|
||||
}
|
||||
return (part_info.size);
|
||||
}
|
||||
|
||||
|
||||
int ext2fs_devread
|
||||
(
|
||||
int sector,
|
||||
int byte_offset,
|
||||
int byte_len,
|
||||
char *buf
|
||||
)
|
||||
{
|
||||
char sec_buf[SECTOR_SIZE];
|
||||
unsigned block_len;
|
||||
int ext2fs_devread (int sector, int byte_offset, int byte_len, char *buf) {
|
||||
char sec_buf[SECTOR_SIZE];
|
||||
unsigned block_len;
|
||||
|
||||
/*
|
||||
* Check partition boundaries
|
||||
*/
|
||||
if ((sector < 0) || ((sector + ((byte_offset + byte_len - 1) >> SECTOR_BITS)) >= part_info.size))
|
||||
{
|
||||
/* errnum = ERR_OUTSIDE_PART; */
|
||||
printf (" ** ext2fs_devread() read outside partition sector %d\n", sector);
|
||||
return(0);
|
||||
if ((sector < 0)
|
||||
|| ((sector + ((byte_offset + byte_len - 1) >> SECTOR_BITS)) >=
|
||||
part_info.size)) {
|
||||
/* errnum = ERR_OUTSIDE_PART; */
|
||||
printf (" ** ext2fs_devread() read outside partition sector %d\n", sector);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the read to the beginning of a partition.
|
||||
*/
|
||||
sector += byte_offset >> SECTOR_BITS;
|
||||
byte_offset &= SECTOR_SIZE - 1;
|
||||
sector += byte_offset >> SECTOR_BITS;
|
||||
byte_offset &= SECTOR_SIZE - 1;
|
||||
|
||||
#if defined(DEBUG)
|
||||
printf (" <%d, %d, %d>\n", sector, byte_offset, byte_len);
|
||||
printf (" <%d, %d, %d>\n", sector, byte_offset, byte_len);
|
||||
#endif
|
||||
|
||||
if (ext2fs_block_dev_desc == NULL)
|
||||
{
|
||||
printf("** Invalid Block Device Descriptor (NULL)\n");
|
||||
return(0);
|
||||
if (ext2fs_block_dev_desc == NULL) {
|
||||
printf ("** Invalid Block Device Descriptor (NULL)\n");
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (byte_offset != 0)
|
||||
{
|
||||
/* read first part which isn't aligned with start of sector */
|
||||
if (ext2fs_block_dev_desc->block_read(ext2fs_block_dev_desc->dev, part_info.start+sector, 1, (unsigned long *)sec_buf) != 1)
|
||||
{
|
||||
printf (" ** ext2fs_devread() read error **\n");
|
||||
return(0);
|
||||
}
|
||||
memcpy(buf, sec_buf+byte_offset, min(SECTOR_SIZE-byte_offset, byte_len));
|
||||
buf+=min(SECTOR_SIZE-byte_offset, byte_len);
|
||||
byte_len-=min(SECTOR_SIZE-byte_offset, byte_len);
|
||||
sector++;
|
||||
if (byte_offset != 0) {
|
||||
/* read first part which isn't aligned with start of sector */
|
||||
if (ext2fs_block_dev_desc->
|
||||
block_read (ext2fs_block_dev_desc->dev,
|
||||
part_info.start + sector, 1,
|
||||
(unsigned long *) sec_buf) != 1) {
|
||||
printf (" ** ext2fs_devread() read error **\n");
|
||||
return (0);
|
||||
}
|
||||
memcpy (buf, sec_buf + byte_offset,
|
||||
min (SECTOR_SIZE - byte_offset, byte_len));
|
||||
buf += min (SECTOR_SIZE - byte_offset, byte_len);
|
||||
byte_len -= min (SECTOR_SIZE - byte_offset, byte_len);
|
||||
sector++;
|
||||
}
|
||||
|
||||
/* read sector aligned part */
|
||||
block_len = byte_len & ~(SECTOR_SIZE-1);
|
||||
if (ext2fs_block_dev_desc->block_read(ext2fs_block_dev_desc->dev,
|
||||
part_info.start+sector,
|
||||
block_len/SECTOR_SIZE,
|
||||
(unsigned long *)buf) != block_len/SECTOR_SIZE)
|
||||
{
|
||||
printf (" ** ext2fs_devread() read error - block\n");
|
||||
return(0);
|
||||
/* read sector aligned part */
|
||||
block_len = byte_len & ~(SECTOR_SIZE - 1);
|
||||
if (ext2fs_block_dev_desc->block_read (ext2fs_block_dev_desc->dev,
|
||||
part_info.start + sector,
|
||||
block_len / SECTOR_SIZE,
|
||||
(unsigned long *) buf) !=
|
||||
block_len / SECTOR_SIZE) {
|
||||
printf (" ** ext2fs_devread() read error - block\n");
|
||||
return (0);
|
||||
}
|
||||
buf+=block_len;
|
||||
byte_len-=block_len;
|
||||
sector+= block_len/SECTOR_SIZE;
|
||||
buf += block_len;
|
||||
byte_len -= block_len;
|
||||
sector += block_len / SECTOR_SIZE;
|
||||
|
||||
if (byte_len != 0)
|
||||
{
|
||||
/* read rest of data which are not in whole sector */
|
||||
if (ext2fs_block_dev_desc->block_read(ext2fs_block_dev_desc->dev,
|
||||
part_info.start+sector,
|
||||
1,
|
||||
(unsigned long *)sec_buf) != 1)
|
||||
{
|
||||
printf (" ** ext2fs_devread() read error - last part\n");
|
||||
return(0);
|
||||
}
|
||||
memcpy(buf, sec_buf, byte_len);
|
||||
if (byte_len != 0) {
|
||||
/* read rest of data which are not in whole sector */
|
||||
if (ext2fs_block_dev_desc->
|
||||
block_read (ext2fs_block_dev_desc->dev,
|
||||
part_info.start + sector, 1,
|
||||
(unsigned long *) sec_buf) != 1) {
|
||||
printf (" ** ext2fs_devread() read error - last part\n");
|
||||
return (0);
|
||||
}
|
||||
memcpy (buf, sec_buf, byte_len);
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
return (1);
|
||||
}
|
||||
#endif /* CFG_CMD_EXT2FS */
|
||||
|
|
906
fs/ext2/ext2fs.c
906
fs/ext2/ext2fs.c
File diff suppressed because it is too large
Load diff
|
@ -143,8 +143,6 @@
|
|||
|
||||
#define MCFSIM_PLLCR 0x180 /* PLL Control register */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Some symbol defines for the above...
|
||||
*/
|
||||
|
|
|
@ -130,8 +130,8 @@
|
|||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CFG_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CFG_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CFG_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
@ -163,7 +163,7 @@
|
|||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
|
@ -236,7 +236,7 @@
|
|||
#define CFG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CFG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CFG_ENV_SIZE 0x800 /* 2048 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC16 is 2048 bytes */
|
||||
/* total size of a CAT24WC16 is 2048 bytes */
|
||||
|
||||
#define CFG_NVRAM_BASE_ADDR 0xF0000500 /* NVRAM base address */
|
||||
#define CFG_NVRAM_SIZE 242 /* NVRAM size */
|
||||
|
@ -262,7 +262,7 @@
|
|||
* Cache Configuration
|
||||
*/
|
||||
#define CFG_DCACHE_SIZE 16384 /* For IBM 405 CPUs, older 405 ppc's */
|
||||
/* have only 8kB, 16kB is save here */
|
||||
/* have only 8kB, 16kB is save here */
|
||||
#define CFG_CACHELINE_SIZE 32 /* ... */
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
|
||||
#define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
|
|
|
@ -145,11 +145,11 @@
|
|||
| CFG_CMD_PCI \
|
||||
| CFG_CMD_ELF \
|
||||
| CFG_CMD_DATE \
|
||||
| CFG_CMD_NET \
|
||||
| CFG_CMD_PING \
|
||||
| CFG_CMD_IDE \
|
||||
| CFG_CMD_FAT \
|
||||
| CFG_CMD_EXT2 \
|
||||
| CFG_CMD_NET \
|
||||
| CFG_CMD_PING \
|
||||
| CFG_CMD_IDE \
|
||||
| CFG_CMD_FAT \
|
||||
| CFG_CMD_EXT2 \
|
||||
)
|
||||
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
@ -331,11 +331,11 @@
|
|||
#define CFG_DEV3_PAR 0x8FCFFFFF /* nvram/can */
|
||||
#define CFG_BOOT_PAR 0x8FDFFFFF /* 16 bit flash */
|
||||
|
||||
/* c 4 a 8 2 4 1 c */
|
||||
/* 33 22|2222|22 22|111 1|11 11|1 1 | | */
|
||||
/* 10 98|7654|32 10|987 6|54 32|1 098|7 654|3 210 */
|
||||
/* 11|00|0100|10 10|100|0 00|10 0|100 0|001 1|100 */
|
||||
/* 3| 0|.... ..| 2| 4 | 0 | 4 | 8 | 3 | 4 */
|
||||
/* c 4 a 8 2 4 1 c */
|
||||
/* 33 22|2222|22 22|111 1|11 11|1 1 | | */
|
||||
/* 10 98|7654|32 10|987 6|54 32|1 098|7 654|3 210 */
|
||||
/* 11|00|0100|10 10|100|0 00|10 0|100 0|001 1|100 */
|
||||
/* 3| 0|.... ..| 2| 4 | 0 | 4 | 8 | 3 | 4 */
|
||||
|
||||
|
||||
/* MPP Control MV64360 Appendix P P. 632*/
|
||||
|
@ -392,8 +392,6 @@
|
|||
#define CFG_PCI0_0_MEM_SPACE (CFG_PCI0_MEM_BASE)
|
||||
#define CFG_PCI1_0_MEM_SPACE (CFG_PCI1_MEM_BASE)
|
||||
|
||||
|
||||
|
||||
/* PCI I/O MAP section */
|
||||
#define CFG_PCI0_IO_BASE 0xfa000000
|
||||
#define CFG_PCI0_IO_SIZE _16M
|
||||
|
|
|
@ -51,9 +51,9 @@
|
|||
#undef CONFIG_MONITOR_IS_IN_RAM /* no pre-loader required!!! ;-) */
|
||||
|
||||
#define CONFIG_COMMANDS ((CONFIG_CMD_DFL | \
|
||||
CFG_CMD_BSP | \
|
||||
CFG_CMD_EEPROM | \
|
||||
CFG_CMD_I2C ) & \
|
||||
CFG_CMD_BSP | \
|
||||
CFG_CMD_EEPROM | \
|
||||
CFG_CMD_I2C ) & \
|
||||
~(CFG_CMD_NET))
|
||||
|
||||
/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
|
||||
|
|
|
@ -426,7 +426,7 @@
|
|||
* use PSC6:
|
||||
* on STK52xx:
|
||||
* use as UART. Pins PSC6_0 to PSC6_3 are used.
|
||||
Bits 9:11 (mask: 0x00700000):
|
||||
Bits 9:11 (mask: 0x00700000):
|
||||
* 101 -> PSC6 : Extended POST test is not available
|
||||
* on MINI-FAP and TQM5200_IB:
|
||||
* use PSC6_1 and PSC6_3 as GPIO: Bits 9:11 (mask: 0x00700000):
|
||||
|
|
|
@ -482,11 +482,11 @@
|
|||
PLL_FWDDIVA_3 | PLL_FWDDIVB_3 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
#define PLLMR0_266_66_33_33 (PLL_CPUDIV_1 | PLL_PLBDIV_4 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_2 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_2)
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_2 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_2)
|
||||
#define PLLMR1_266_66_33_33 (PLL_FBKDIV_8 | \
|
||||
PLL_FWDDIVA_3 | PLL_FWDDIVB_3 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
PLL_FWDDIVA_3 | PLL_FWDDIVB_3 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
|
||||
/*
|
||||
* PLL Voltage Controlled Oscillator (VCO) definitions
|
||||
|
|
|
@ -23,12 +23,10 @@
|
|||
#ifndef _universe_h
|
||||
#define _universe_h
|
||||
|
||||
|
||||
typedef struct _UNIVERSE UNIVERSE;
|
||||
typedef struct _SLAVE_IMAGE SLAVE_IMAGE;
|
||||
typedef struct _TDMA_CMD_PACKET TDMA_CMD_PACKET;
|
||||
|
||||
|
||||
struct _SLAVE_IMAGE {
|
||||
unsigned int ctl; /* Control */
|
||||
unsigned int bs; /* Base */
|
||||
|
@ -148,10 +146,3 @@ struct _TDMA_CMD_PACKET {
|
|||
#define PCI_MS_Mxx 0x03
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue