Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Librem5
uboot-imx
Commits
c57c7980
Commit
c57c7980
authored
Aug 11, 2005
by
Stefan Roese
Browse files
Add NAND FLASH support for AMCC Bamboo 440EP eval board
Patch by Stefan Roese, 11 Aug 2005
parent
eece159c
Changes
6
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
c57c7980
...
...
@@ -2,6 +2,9 @@
Changes for U-Boot 1.1.3:
======================================================================
* Add NAND FLASH support for AMCC Bamboo 440EP eval board
Patch by Stefan Roese, 11 Aug 2005
* Fix CompactFlash problem on HMI1001 board
* Make new "mtdparts" code build with older compilers
...
...
board/amcc/bamboo/bamboo.c
View file @
c57c7980
...
...
@@ -29,6 +29,7 @@
void
ext_bus_cntlr_init
(
void
);
void
configure_ppc440ep_pins
(
void
);
int
is_nand_selected
(
void
);
gpio_param_s
gpio_tab
[
GPIO_GROUP_MAX
][
GPIO_MAX
];
#if 0
...
...
@@ -132,10 +133,10 @@ gpio_param_s gpio_tab[GPIO_GROUP_MAX][GPIO_MAX];
EBC0_BNCR_BW_8BIT
#define EBC0_BNCR_SMALL_FLASH_CS4 \
EBC0_BNCR_BAS_ENCODE(0x87
8
00000) | \
EBC0_BNCR_BS_
8
MB | \
EBC0_BNCR_BAS_ENCODE(0x87
F
00000) | \
EBC0_BNCR_BS_
1
MB | \
EBC0_BNCR_BU_RW | \
EBC0_BNCR_BW_
16
BIT
EBC0_BNCR_BW_
8
BIT
/* Large Flash or SRAM */
#define EBC0_BNAP_LARGE_FLASH_OR_SRAM \
...
...
@@ -273,6 +274,87 @@ int board_early_init_f(void)
return
0
;
}
#if (CONFIG_COMMANDS & CFG_CMD_NAND)
#include
<linux/mtd/nand.h>
extern
struct
nand_chip
nand_dev_desc
[
CFG_MAX_NAND_DEVICE
];
/*----------------------------------------------------------------------------+
| nand_reset.
| Reset Nand flash
| This routine will abort previous cmd
+----------------------------------------------------------------------------*/
int
nand_reset
(
ulong
addr
)
{
int
wait
=
0
,
stat
=
0
;
out8
(
addr
+
NAND_CMD_REG
,
NAND0_CMD_RESET
);
out8
(
addr
+
NAND_CMD_REG
,
NAND0_CMD_READ_STATUS
);
while
((
stat
!=
0xc0
)
&&
(
wait
!=
0xffff
))
{
stat
=
in8
(
addr
+
NAND_DATA_REG
);
wait
++
;
}
if
(
stat
==
0xc0
)
{
return
0
;
}
else
{
printf
(
"NAND Reset timeout.
\n
"
);
return
-
1
;
}
}
void
board_nand_set_device
(
int
cs
,
ulong
addr
)
{
/* Set NandFlash Core Configuration Register */
out32
(
addr
+
NAND_CCR_REG
,
0x00001000
|
(
cs
<<
24
));
switch
(
cs
)
{
case
1
:
/* -------
* NAND0
* -------
* K9F1208U0A : 4 addr cyc, 1 col + 3 Row
* Set NDF1CR - Enable External CS1 in NAND FLASH controller
*/
out32
(
addr
+
NAND_CR1_REG
,
0x80002222
);
break
;
case
2
:
/* -------
* NAND1
* -------
* K9K2G0B : 5 addr cyc, 2 col + 3 Row
* Set NDF2CR : Enable External CS2 in NAND FLASH controller
*/
out32
(
addr
+
NAND_CR2_REG
,
0xC0007777
);
break
;
}
/* Perform Reset Command */
if
(
nand_reset
(
addr
)
!=
0
)
return
;
}
void
nand_init
(
void
)
{
board_nand_set_device
(
1
,
CFG_NAND_ADDR
);
nand_probe
(
CFG_NAND_ADDR
);
if
(
nand_dev_desc
[
0
].
ChipID
!=
NAND_ChipID_UNKNOWN
)
{
print_size
(
nand_dev_desc
[
0
].
totlen
,
"
\n
"
);
}
#if 0 /* NAND1 not supported yet */
board_nand_set_device(2, CFG_NAND2_ADDR);
nand_probe(CFG_NAND2_ADDR);
if (nand_dev_desc[0].ChipID != NAND_ChipID_UNKNOWN) {
print_size(nand_dev_desc[0].totlen, "\n");
}
#endif
}
#endif
/* (CONFIG_COMMANDS & CFG_CMD_NAND) */
int
checkboard
(
void
)
{
sys_info_t
sysinfo
;
...
...
@@ -585,7 +667,11 @@ int is_powerpc440ep_pass1(void)
+----------------------------------------------------------------------------*/
int
is_nand_selected
(
void
)
{
return
FALSE
;
/* test-only */
#ifdef CONFIG_BAMBOO_NAND
return
TRUE
;
#else
return
FALSE
;
#endif
}
/*----------------------------------------------------------------------------+
...
...
@@ -829,12 +915,8 @@ void ext_bus_cntlr_init(void)
/* NAND Flash */
ebc0_cs1_bnap_value
=
EBC0_BNAP_NAND_FLASH
;
ebc0_cs1_bncr_value
=
EBC0_BNCR_NAND_FLASH_CS1
;
/*ebc0_cs2_bnap_value = EBC0_BNAP_NAND_FLASH;
ebc0_cs2_bncr_value = EBC0_BNCR_NAND_FLASH_CS2;
ebc0_cs3_bnap_value = EBC0_BNAP_NAND_FLASH;
ebc0_cs3_bncr_value = EBC0_BNCR_NAND_FLASH_CS3;*/
ebc0_cs2_bnap_value
=
0
;
ebc0_cs2_bncr_value
=
0
;
ebc0_cs2_bnap_value
=
EBC0_BNAP_NAND_FLASH
;
ebc0_cs2_bncr_value
=
EBC0_BNCR_NAND_FLASH_CS2
;
ebc0_cs3_bnap_value
=
0
;
ebc0_cs3_bncr_value
=
0
;
}
else
{
...
...
@@ -985,7 +1067,7 @@ void ext_bus_cntlr_init(void)
+----------------------------------------------------------------------------*/
uart_config_nb_t
get_uart_configuration
(
void
)
{
return
(
L4
);
/* test-only */
return
(
L4
);
}
/*----------------------------------------------------------------------------+
...
...
@@ -1132,8 +1214,7 @@ void ndfc_selection_in_fpga(void)
fpga_selection_1_reg
=
in8
(
FPGA_SELECTION_1_REG
)
&~
FPGA_SEL_1_REG_NF_SELEC_MASK
;
fpga_selection_1_reg
|=
FPGA_SEL_1_REG_NF0_SEL_BY_NFCS1
;
/*fpga_selection_1_reg |= FPGA_SEL_1_REG_NF1_SEL_BY_NFCS2; */
/*fpga_selection_1_reg |= FPGA_SEL_1_REG_NF1_SEL_BY_NFCS3; */
fpga_selection_1_reg
|=
FPGA_SEL_1_REG_NF1_SEL_BY_NFCS2
;
out8
(
FPGA_SELECTION_1_REG
,
fpga_selection_1_reg
);
}
...
...
@@ -1725,11 +1806,15 @@ void force_bup_core_selection(core_selection_t *core_select_P, config_validity_t
*
(
core_select_P
+
UIC_0_3
)
=
CORE_SELECTED
;
*
(
core_select_P
+
UIC_4_9
)
=
CORE_SELECTED
;
*
(
core_select_P
+
SCP_CORE
)
=
CORE_SELECTED
;
*
(
core_select_P
+
DMA_CHANNEL_CD
)
=
CORE_SELECTED
;
*
(
core_select_P
+
PACKET_REJ_FUNC_AVAIL
)
=
CORE_SELECTED
;
*
(
core_select_P
+
SCP_CORE
)
=
CORE_SELECTED
;
*
(
core_select_P
+
DMA_CHANNEL_CD
)
=
CORE_SELECTED
;
*
(
core_select_P
+
PACKET_REJ_FUNC_AVAIL
)
=
CORE_SELECTED
;
*
(
core_select_P
+
USB1_DEVICE
)
=
CORE_SELECTED
;
if
(
is_nand_selected
())
{
*
(
core_select_P
+
NAND_FLASH
)
=
CORE_SELECTED
;
}
*
config_val_P
=
CONFIG_IS_VALID
;
}
...
...
@@ -1901,9 +1986,8 @@ void configure_ppc440ep_pins(void)
SDR0_CUST0_NDFC_ENABLE
|
SDR0_CUST0_NDFC_BW_8_BIT
|
SDR0_CUST0_NDFC_ARE_MASK
|
SDR0_CUST0_CHIPSELGAT_EN1
);
/*SDR0_CUST0_CHIPSELGAT_EN2 ); */
/*SDR0_CUST0_CHIPSELGAT_EN3 ); */
SDR0_CUST0_CHIPSELGAT_EN1
|
SDR0_CUST0_CHIPSELGAT_EN2
);
ndfc_selection_in_fpga
();
}
...
...
board/amcc/bamboo/flash.c
View file @
c57c7980
...
...
@@ -50,15 +50,16 @@ flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips */
/*
* Mark big flash bank (16 bit instead of 8 bit access) in address with bit 0
*/
static
unsigned
long
flash_addr_table
[
8
][
CFG_MAX_FLASH_BANKS
]
=
{
static
unsigned
long
flash_addr_table
[][
CFG_MAX_FLASH_BANKS
]
=
{
{
0x87800001
,
0xFFF00000
,
0xFFF80000
},
/* 0:boot from small flash */
{
0x00000000
,
0x00000000
,
0x00000000
},
/* 1:boot from pci 66 */
{
0x00000000
,
0x00000000
,
0x00000000
},
/* 2:boot from nand flash */
{
0x87
8
00000
,
0x87
8
80000
,
0xFF
8
00001
},
/* 3:boot from big flash 33*/
{
0x87
8
00000
,
0x87
8
80000
,
0xFF
8
00001
},
/* 4:boot from big flash 66*/
{
0x87
F
00000
,
0x87
F
80000
,
0xFF
C
00001
},
/* 3:boot from big flash 33*/
{
0x87
F
00000
,
0x87
F
80000
,
0xFF
C
00001
},
/* 4:boot from big flash 66*/
{
0x00000000
,
0x00000000
,
0x00000000
},
/* 5:boot from */
{
0x00000000
,
0x00000000
,
0x00000000
},
/* 6:boot from pci 66 */
{
0x00000000
,
0x00000000
,
0x00000000
},
/* 7:boot from */
{
0x87C00001
,
0xFFF00000
,
0xFFF80000
},
/* 0:boot from small flash */
};
/*
...
...
@@ -117,6 +118,10 @@ unsigned long flash_init(void)
index
=
2
;
break
;
}
}
else
if
(
index
==
0
)
{
if
(
in8
(
FPGA_SETTING_REG
)
&
FPGA_SET_REG_OP_CODE_FLASH_ABOVE
)
{
index
=
8
;
/* sram below op code flash -> new index 8 */
}
}
DEBUGF
(
"
\n
"
);
...
...
board/amcc/bamboo/init.S
View file @
c57c7980
...
...
@@ -86,14 +86,20 @@
tlbtab
:
tlbtab_start
/
*
0
xf0000000
must
be
first
,
before
relocation
SA_I
must
be
off
to
use
the
dcache
as
stack
.
It
is
patched
after
relocation
to
enable
SA_I
*/
tlbentry
(
0xf0000000
,
SZ_256M
,
0xf0000000
,
0
,
AC_R|AC_W|AC_X|SA_G/*|SA_I
*/)
tlbentry
(
CFG_SDRAM_BASE
,
SZ_256M
,
0x00000000
,
0
,
AC_R|AC_W|AC_X|SA_G|SA_I
)
tlbentry
(
CFG_PCI_BASE
,
SZ_256M
,
0xE0000000
,
0
,
AC_R|AC_W|SA_G
|
SA_I
)
tlbentry
(
CFG_NVRAM_BASE_ADDR
,
SZ_256M
,
0x80000000
,
0
,
AC_R|AC_W|AC_X|SA_W|SA_I
)
/
*
*
BOOT_CS
(
FLASH
)
must
be
first
.
Before
relocation
SA_I
can
be
off
to
use
the
*
speed
up
boot
process
.
It
is
patched
after
relocation
to
enable
SA_I
*/
tlbentry
(
CFG_BOOT_BASE_ADDR
,
SZ_256M
,
CFG_BOOT_BASE_ADDR
,
0
,
AC_R|AC_W|AC_X|SA_G/*|SA_I
*/)
/
*
TLB
-
entry
for
init
-
ram
in
dcache
(
SA_I
must
be
turned
off
!)
*/
tlbentry
(
CFG_INIT_RAM_ADDR
,
SZ_64K
,
CFG_INIT_RAM_ADDR
,
0
,
AC_R|AC_W|AC_X
|
SA_G
)
tlbentry
(
CFG_SDRAM_BASE
,
SZ_256M
,
CFG_SDRAM_BASE
,
0
,
AC_R|AC_W|AC_X|SA_G|SA_I
)
tlbentry
(
CFG_PCI_BASE
,
SZ_256M
,
CFG_PCI_BASE
,
0
,
AC_R|AC_W|SA_G
|
SA_I
)
tlbentry
(
CFG_NVRAM_BASE_ADDR
,
SZ_256M
,
CFG_NVRAM_BASE_ADDR
,
0
,
AC_R|AC_W|AC_X|SA_W|SA_I
)
tlbentry
(
CFG_NAND_ADDR
,
SZ_256M
,
CFG_NAND_ADDR
,
0
,
AC_R|AC_W|AC_X|SA_W|SA_I
)
/
*
PCI
*/
tlbentry
(
CFG_PCI_MEMBASE
,
SZ_256M
,
CFG_PCI_MEMBASE
,
0
,
AC_R|AC_W|SA_G
|
SA_I
)
...
...
@@ -102,6 +108,6 @@ tlbtab:
tlbentry
(
CFG_PCI_MEMBASE3
,
SZ_256M
,
CFG_PCI_MEMBASE3
,
0
,
AC_R|AC_W|SA_G
|
SA_I
)
/
*
USB
2
.0
Device
*/
tlbentry
(
CFG_USB_DEVICE
,
SZ_1K
,
0x50000000
,
0
,
AC_R|AC_W|SA_G
|
SA_I
)
tlbentry
(
CFG_USB_DEVICE
,
SZ_1K
,
CFG_USB_DEVICE
,
0
,
AC_R|AC_W|SA_G
|
SA_I
)
tlbtab_end
cpu/ppc4xx/440gx_enet.c
View file @
c57c7980
...
...
@@ -375,8 +375,8 @@ static int ppc_440x_eth_init (struct eth_device *dev, bd_t * bis)
out32
(
RGMII_FER
,
((
RGMII_FER_RGMII
<<
RGMII_FER_V
(
2
))
|
(
RGMII_FER_RGMII
<<
RGMII_FER_V
(
3
))));
}
#endif
out32
(
ZMII_SSR
,
ZMII_SSR_SP
<<
ZMII_SSR_V
(
devnum
));
__asm__
volatile
(
"eieio"
);
...
...
@@ -521,13 +521,13 @@ static int ppc_440x_eth_init (struct eth_device *dev, bd_t * bis)
}
mtsdr
(
sdr_mfr
,
reg
);
#endif
/* Set ZMII/RGMII speed according to the phy link speed */
reg
=
in32
(
ZMII_SSR
);
if
(
(
speed
==
100
)
||
(
speed
==
1000
)
)
out32
(
ZMII_SSR
,
reg
|
(
ZMII_SSR_SP
<<
ZMII_SSR_V
(
devnum
)));
else
out32
(
ZMII_SSR
,
reg
&
(
~
(
ZMII_SSR_SP
<<
ZMII_SSR_V
(
devnum
))));
out32
(
ZMII_SSR
,
reg
&
(
~
(
ZMII_SSR_SP
<<
ZMII_SSR_V
(
devnum
))));
if
((
devnum
==
2
)
||
(
devnum
==
3
))
{
if
(
speed
==
1000
)
...
...
@@ -672,7 +672,7 @@ static int ppc_440x_eth_init (struct eth_device *dev, bd_t * bis)
/* set RX buffer size */
mtdcr
(
malrcbs3
,
ENET_MAX_MTU_ALIGNED
/
16
);
break
;
#endif
/*CONFIG_440GX */
#endif
/*
CONFIG_440GX */
case
0
:
default:
/* setup MAL tx & rx channel pointers */
...
...
include/configs/bamboo.h
View file @
c57c7980
...
...
@@ -32,11 +32,18 @@
*----------------------------------------------------------------------*/
#define CONFIG_BAMBOO 1
/* Board is BAMBOO */
#define CONFIG_440EP 1
/* Specific PPC440EP support */
#define CONFIG_4xx 1
/* ... PPC4xx family */
#define CONFIG_BOARD_EARLY_INIT_F 1
/* Call board_early_init_f */
#define CONFIG_SYS_CLK_FREQ 33333333
/* external freq to pll */
#define CONFIG_BOARD_EARLY_INIT_F 1
/* Call board_early_init_f */
/*
* Please note that, if NAND support is enabled, the 2nd ethernet port
* can't be used because of pin multiplexing. So, if you want to use the
* 2nd ethernet port you have to "undef" the following define.
*/
#define CONFIG_BAMBOO_NAND 1
/* enable nand flash support */
/*-----------------------------------------------------------------------
* Base addresses -- Note these are effective addresses where the
* actual resources get mapped (not physical addresses)
...
...
@@ -58,13 +65,15 @@
#define CFG_USB_DEVICE 0x50000000
#define CFG_NVRAM_BASE_ADDR 0x80000000
#define CFG_BCSR_BASE (CFG_NVRAM_BASE_ADDR | 0x2000)
#define CFG_BOOT_BASE_ADDR 0xf0000000
#define CFG_NAND_ADDR 0x90000000
#define CFG_NAND2_ADDR 0x94000000
/*-----------------------------------------------------------------------
* Initial RAM & stack pointer (placed in SDRAM)
*----------------------------------------------------------------------*/
#define CFG_INIT_RAM_ADDR 0x
f
0000000
/* DCache */
#define CFG_INIT_RAM_END
0x1000
#define CFG_INIT_RAM_ADDR 0x
7
0000000
/* DCache */
#define CFG_INIT_RAM_END
(8 << 10)
#define CFG_GBL_DATA_SIZE 256
/* num bytes initial data */
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
...
...
@@ -88,7 +97,7 @@
* The DS1558 code assumes this condition
*
*----------------------------------------------------------------------*/
#define CFG_NVRAM_SIZE (0x2000 - 0x10)
/* NVRAM size(8k)- RTC regs */
#define CFG_NVRAM_SIZE
(0x2000 - 0x10)
/* NVRAM size(8k)- RTC regs
*/
#define CONFIG_RTC_DS1556 1
/* DS1556 RTC */
/*-----------------------------------------------------------------------
...
...
@@ -118,21 +127,80 @@
#define CFG_FLASH_ADDR1 0x2aa
#define CFG_FLASH_WORD_SIZE unsigned char
#define CFG_FLASH_2ND_16BIT_DEV 1
/* bamboo has 8 and 16bit device */
#define CFG_FLASH_2ND_ADDR 0x87800000
/* bamboo has 8 and 16bit device
*/
#define CFG_FLASH_2ND_16BIT_DEV 1
/* bamboo has 8 and 16bit device
*/
#define CFG_FLASH_2ND_ADDR 0x87800000
/* bamboo has 8 and 16bit device */
#ifdef CFG_ENV_IS_IN_FLASH
#define CFG_ENV_SECT_SIZE 0x10000
/* size of one complete sector */
#define CFG_ENV_ADDR (CFG_MONITOR_BASE-CFG_ENV_SECT_SIZE)
#define CFG_ENV_SIZE 0x
4
000
/* Total Size of Environment Sector */
#define CFG_ENV_SIZE 0x
2
000
/* Total Size of Environment Sector */
#if 0 /* test-only */
/* Address and size of Redundant Environment Sector */
#define CFG_ENV_ADDR_REDUND (CFG_ENV_ADDR-CFG_ENV_SECT_SIZE)
#define CFG_ENV_SIZE_REDUND (CFG_ENV_SIZE)
#endif
#endif
/* CFG_ENV_IS_IN_FLASH */
/*-----------------------------------------------------------------------
* NAND-FLASH related
*----------------------------------------------------------------------*/
#define NAND_CMD_REG (0x00)
/* NandFlash Command Register */
#define NAND_ADDR_REG (0x04)
/* NandFlash Address Register */
#define NAND_DATA_REG (0x08)
/* NandFlash Data Register */
#define NAND_ECC0_REG (0x10)
/* NandFlash ECC Register0 */
#define NAND_ECC1_REG (0x14)
/* NandFlash ECC Register1 */
#define NAND_ECC2_REG (0x18)
/* NandFlash ECC Register2 */
#define NAND_ECC3_REG (0x1C)
/* NandFlash ECC Register3 */
#define NAND_ECC4_REG (0x20)
/* NandFlash ECC Register4 */
#define NAND_ECC5_REG (0x24)
/* NandFlash ECC Register5 */
#define NAND_ECC6_REG (0x28)
/* NandFlash ECC Register6 */
#define NAND_ECC7_REG (0x2C)
/* NandFlash ECC Register7 */
#define NAND_CR0_REG (0x30)
/* NandFlash Device Bank0 Config Register */
#define NAND_CR1_REG (0x34)
/* NandFlash Device Bank1 Config Register */
#define NAND_CR2_REG (0x38)
/* NandFlash Device Bank2 Config Register */
#define NAND_CR3_REG (0x3C)
/* NandFlash Device Bank3 Config Register */
#define NAND_CCR_REG (0x40)
/* NandFlash Core Configuration Register */
#define NAND_STAT_REG (0x44)
/* NandFlash Device Status Register */
#define NAND_HWCTL_REG (0x48)
/* NandFlash Direct Hwd Control Register */
#define NAND_REVID_REG (0x50)
/* NandFlash Core Revision Id Register */
/* Nand Flash K9F1208U0A Command Set => Nand Flash 0 */
#define NAND0_CMD_READ1_HALF1 0x00
/* Starting addr for 1rst half of registers */
#define NAND0_CMD_READ1_HALF2 0x01
/* Starting addr for 2nd half of registers */
#define NAND0_CMD_READ2 0x50
#define NAND0_CMD_READ_ID 0x90
#define NAND0_CMD_READ_STATUS 0x70
#define NAND0_CMD_RESET 0xFF
#define NAND0_CMD_PAGE_PROG 0x80
#define NAND0_CMD_PAGE_PROG_TRUE 0x10
#define NAND0_CMD_PAGE_PROG_DUMMY 0x11
#define NAND0_CMD_BLOCK_ERASE 0x60
#define NAND0_CMD_BLOCK_ERASE_END 0xD0
#define CFG_MAX_NAND_DEVICE 1
/* Max number of NAND devices */
#define SECTORSIZE 512
#define ADDR_COLUMN 1
#define ADDR_PAGE 2
#define ADDR_COLUMN_PAGE 3
#define NAND_ChipID_UNKNOWN 0x00
#define NAND_MAX_FLOORS 1
#define NAND_MAX_CHIPS 1
#define WRITE_NAND_COMMAND(d, adr) do {*(volatile u8 *)((ulong)adr+NAND_CMD_REG) = d;} while(0)
#define WRITE_NAND_ADDRESS(d, adr) do {*(volatile u8 *)((ulong)adr+NAND_ADDR_REG) = d;} while(0)
#define WRITE_NAND(d, adr) do {*(volatile u8 *)((ulong)adr+NAND_DATA_REG) = d;} while(0)
#define READ_NAND(adr) (*(volatile u8 *)((ulong)adr+NAND_DATA_REG))
#define NAND_WAIT_READY(nand) while (!(*(volatile u8 *)((ulong)nand->IO_ADDR+NAND_STAT_REG) & 0x01))
/* not needed with 440EP NAND controller */
#define NAND_CTL_CLRALE(nandptr)
#define NAND_CTL_SETALE(nandptr)
#define NAND_CTL_CLRCLE(nandptr)
#define NAND_CTL_SETCLE(nandptr)
#define NAND_DISABLE_CE(nand)
#define NAND_ENABLE_CE(nand)
/*-----------------------------------------------------------------------
* DDR SDRAM
*----------------------------------------------------------------------------- */
...
...
@@ -206,10 +274,14 @@
#define CFG_LOADS_BAUD_CHANGE 1
/* allow baudrate change */
#define CONFIG_MII 1
/* MII PHY management */
#define CONFIG_NET_MULTI 1
/* required for netconsole */
#define CONFIG_PHY_ADDR 0
/* PHY address, See schematics */
#ifndef CONFIG_BAMBOO_NAND
#define CONFIG_NET_MULTI 1
/* required for netconsole */
#define CONFIG_PHY1_ADDR 1
#define CONFIG_HAS_ETH1 1
/* add support for "eth1addr" */
#endif
/* CONFIG_BAMBOO_NAND */
#define CONFIG_NO_PHY_RESET 1
/* no PHY reset on bamboo!!! */
#define CFG_RX_ETH_BUFFER 32
/* Number of ethernet rx buffers & descriptors */
...
...
@@ -228,8 +300,15 @@
#define USB_2_0_DEVICE
#endif
/*CONFIG_440EP*/
#ifdef CONFIG_BAMBOO_NAND
#define _CFG_CMD_NAND CFG_CMD_NAND
#else
#define _CFG_CMD_NAND 0
#endif
/* CONFIG_BAMBOO_NAND */
#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \
CFG_CMD_ASKENV | \
CFG_CMD_EEPROM | \
CFG_CMD_DATE | \
CFG_CMD_DHCP | \
CFG_CMD_DIAG | \
...
...
@@ -244,6 +323,7 @@
CFG_CMD_REGINFO | \
CFG_CMD_SDRAM | \
CFG_CMD_USB | \
_CFG_CMD_NAND | \
CFG_CMD_SNTP )
/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
...
...
@@ -253,42 +333,42 @@
* Miscellaneous configurable options
*/
#define CFG_LONGHELP
/* undef to save memory */
#define CFG_PROMPT "=> "
/* Monitor Command Prompt */
#define CFG_PROMPT
"=> "
/* Monitor Command Prompt */
#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
#define CFG_CBSIZE 1024
/* Console I/O Buffer Size */
#define CFG_CBSIZE
1024
/* Console I/O Buffer Size */
#else
#define CFG_CBSIZE 256
/* Console I/O Buffer Size */
#define CFG_CBSIZE
256
/* Console I/O Buffer Size */
#endif
#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)
/* Print Buffer Size */
#define CFG_MAXARGS 16
/* max number of command args */
#define CFG_BARGSIZE CFG_CBSIZE
/* Boot Argument Buffer Size */
#define CFG_PBSIZE
(CFG_CBSIZE+sizeof(CFG_PROMPT)+16)
/* Print Buffer Size */
#define CFG_MAXARGS
16
/* max number of command args */
#define CFG_BARGSIZE
CFG_CBSIZE
/* Boot Argument Buffer Size */
#define CFG_MEMTEST_START 0x0400000
/* memtest works on */
#define CFG_MEMTEST_END 0x0C00000
/* 4 ... 12 MB in DRAM */
#define CFG_MEMTEST_START 0x0400000
/* memtest works on
*/
#define CFG_MEMTEST_END 0x0C00000
/* 4 ... 12 MB in DRAM */
#define CFG_LOAD_ADDR 0x100000
/* default load address */
#define CFG_EXTBDINFO
1
/* To use extended board_into (bd_t) */
#define CONFIG_LYNXKDI 1
/* support kdi files */
#define CFG_EXTBDINFO 1
/* To use extended board_into (bd_t) */
#define CONFIG_LYNXKDI 1
/* support kdi files
*/
#define CFG_HZ 1000
/* decrementer freq: 1 ms ticks */
#define CFG_HZ
1000
/* decrementer freq: 1 ms ticks */
/*-----------------------------------------------------------------------
* PCI stuff
*-----------------------------------------------------------------------
*/
/* General PCI */
#define CONFIG_PCI
/* include pci support */
#undef CONFIG_PCI_PNP
/* do (not) pci plug-and-play
*/
#define CONFIG_PCI
/* include pci support */
#undef CONFIG_PCI_PNP
/* do (not) pci plug-and-play */
#define CONFIG_PCI_SCAN_SHOW
/* show pci devices on startup */
#define CFG_PCI_TARGBASE 0x80000000
/* PCIaddr mapped to CFG_PCI_MEMBASE
*/
#define CFG_PCI_TARGBASE
0x80000000
/* PCIaddr mapped to CFG_PCI_MEMBASE*/
/* Board-specific PCI */
#define CFG_PCI_PRE_INIT
/* enable board pci_pre_init() */
#define CFG_PCI_TARGET_INIT
#define CFG_PCI_MASTER_INIT
#define CFG_PCI_SUBSYS_VENDORID 0x10
14
/* IBM
*/
#define CFG_PCI_SUBSYS_ID
0xcafe
/* Whatever */
#define CFG_PCI_SUBSYS_VENDORID 0x10
e8
/* AMCC
*/
#define CFG_PCI_SUBSYS_ID
0xcafe
/* Whatever */
/*
* For booting Linux, the board info and command line data
...
...
@@ -300,7 +380,7 @@
/*-----------------------------------------------------------------------
* Cache Configuration
*/
#define CFG_DCACHE_SIZE 32
768
/* For IBM 440 CPUs */
#define CFG_DCACHE_SIZE
(
32
<<10)
/* For IBM 440 CPUs */
#define CFG_CACHELINE_SIZE 32
/* ... */
#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
#define CFG_CACHELINE_SHIFT 5
/* log base 2 of the above value */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment