diff options
author | wdenk <wdenk> | 2004-02-22 23:46:08 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2004-02-22 23:46:08 +0000 |
commit | 3c74e32a98187c792edcea3e0e39150de5a8dda6 (patch) | |
tree | feb1a080a1332a3bfc383282ba9a6e4cfe6f8f4a /board/xpedite1k/xpedite1k.c | |
parent | cf56e1101957c09cb4aafcf28a89658c4649c511 (diff) | |
download | u-boot-imx-3c74e32a98187c792edcea3e0e39150de5a8dda6.zip u-boot-imx-3c74e32a98187c792edcea3e0e39150de5a8dda6.tar.gz u-boot-imx-3c74e32a98187c792edcea3e0e39150de5a8dda6.tar.bz2 |
* Patch by Travis Sawyer, 09 Feb 2004:
o 440GX:
- Fix PCI Indirect access for type 1 config cycles with ppc440.
- Add phymode for 440 enet
- fix pci pre init
o XPedite1K:
- Change board_pre_init to board_early_init_f
- Add user flash to bus controller setup
- Fix pci pre init
- Fix is_pci_host to check GPIO for monarch bit
- Force xpedite1k to pci conventional mode (via #define option)
* Patch by Brad Kemp, 4 Feb 2004:
- handle the machine check that is generated during the PCI scans
on 82xx processors.
- define the registers used in the IMMR by the PCI subsystem.
* Patch by Pierre Aubert, 03 Feb 2004:
cpu/mpc5xxx/start.S: copy MBAR into SPR311
* Patch by Jeff Angielski, 03 Feb 2004:
Fix copy & paste error in cpu/mpc8260/pci.c
* Patch by Reinhard Meyer, 24 Jan 2004:
Fix typo in cpu/mpc5xxx/pci_mpc5200.c
Diffstat (limited to 'board/xpedite1k/xpedite1k.c')
-rw-r--r-- | board/xpedite1k/xpedite1k.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/board/xpedite1k/xpedite1k.c b/board/xpedite1k/xpedite1k.c index c025c85..d6b30b9 100644 --- a/board/xpedite1k/xpedite1k.c +++ b/board/xpedite1k/xpedite1k.c @@ -32,7 +32,7 @@ long int fixed_sdram (void); -int board_pre_init (void) +int board_early_init_f(void) { unsigned long sdrreg; /* TBS: Setup the GPIO access for the user LEDs */ @@ -51,6 +51,8 @@ int board_pre_init (void) /* set the bus controller */ mtebc (pb0ap, 0x04055200); /* FLASH/SRAM */ mtebc (pb0cr, 0xfff18000); /* BAS=0xfff 1MB R/W 8-bit */ + mtebc (pb1ap, 0x04055200); /* FLASH/SRAM */ + mtebc (pb1cr, 0xfe098000); /* BAS=0xff8 16MB R/W 8-bit */ /*-------------------------------------------------------------------- * Setup the interrupt controller polarities, triggers, etc. @@ -217,17 +219,18 @@ long int fixed_sdram (void) int pci_pre_init(struct pci_controller * hose ) { unsigned long strap; - - /*--------------------------------------------------------------------------+ - * TBS: - * The xpedite1k is a PrPMC board, however for our purposes it is the host - *--------------------------------------------------------------------------*/ - strap = mfdcr(cpc0_strp1); - if( (strap & 0x00100000) == 0 ){ - printf("PCI: CPC0_STRP1[PAE] not set.\n"); - return 0; + /* See if we're supposed to setup the pci */ + mfsdr(sdr_sdstp1, strap); + if ((strap & 0x00010000) == 0) { + return (0); } +#if defined(CFG_PCI_FORCE_PCI_CONV) + /* Setup System Device Register PCIX0_XCR */ + mfsdr(sdr_xcr, strap); + strap &= 0x0f000000; + mtsdr(sdr_xcr, strap); +#endif return 1; } #endif /* defined(CONFIG_PCI) && defined(CFG_PCI_PRE_INIT) */ @@ -292,9 +295,7 @@ void pci_target_init(struct pci_controller * hose ) #if defined(CONFIG_PCI) int is_pci_host(struct pci_controller *hose) { - /* The ebony board is always configured as host. */ - /* TBS: The xpedite1k is not necessarily the host, however for our purposes, it is. */ - return(1); + return ((in32(CFG_GPIO_BASE + 0x1C) & 0x00000800) == 0); } #endif /* defined(CONFIG_PCI) */ |