summaryrefslogtreecommitdiff
path: root/board/mpc8360emds
diff options
context:
space:
mode:
authorTony Li <tony.li@freescale.com>2007-08-17 10:35:59 +0800
committerKim Phillips <kim.phillips@freescale.com>2007-08-16 23:12:11 -0500
commit14778585d1389d86d5846efec29e5fce892680ce (patch)
tree29e9cb3245ee88798ad96cb62d7e675a7a5ca173 /board/mpc8360emds
parent35cc4e4823668e8745854899cfaedd4489beb0ef (diff)
downloadu-boot-imx-14778585d1389d86d5846efec29e5fce892680ce.zip
u-boot-imx-14778585d1389d86d5846efec29e5fce892680ce.tar.gz
u-boot-imx-14778585d1389d86d5846efec29e5fce892680ce.tar.bz2
mpc83xx: Split PIB init code from pci.c and add Qoc3 ATM card support
The patch split the PIB init code from pci.c to a single file board/freescale/common/pq-mds-pib.c And add Qoc3 ATM card support for MPC8360EMDS and MPC832XEMDS board. Signed-off-by Tony Li <tony.li@freescale.com>
Diffstat (limited to 'board/mpc8360emds')
-rw-r--r--board/mpc8360emds/Makefile2
-rw-r--r--board/mpc8360emds/mpc8360emds.c11
-rw-r--r--board/mpc8360emds/pci.c40
3 files changed, 12 insertions, 41 deletions
diff --git a/board/mpc8360emds/Makefile b/board/mpc8360emds/Makefile
index 5ec7a87..4da74b8 100644
--- a/board/mpc8360emds/Makefile
+++ b/board/mpc8360emds/Makefile
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(BOARD).a
-COBJS := $(BOARD).o pci.o
+COBJS := $(BOARD).o pci.o ../freescale/common/pq-mds-pib.o
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS))
diff --git a/board/mpc8360emds/mpc8360emds.c b/board/mpc8360emds/mpc8360emds.c
index 3861733..d6d0f4e 100644
--- a/board/mpc8360emds/mpc8360emds.c
+++ b/board/mpc8360emds/mpc8360emds.c
@@ -30,6 +30,9 @@
#elif defined(CONFIG_OF_LIBFDT)
#include <libfdt.h>
#endif
+#if defined(CONFIG_PQ_MDS_PIB)
+#include "../freescale/common/pq-mds-pib.h"
+#endif
const qe_iop_conf_t qe_iop_conf_tab[] = {
/* GETH1 */
@@ -106,6 +109,14 @@ int board_early_init_f(void)
return 0;
}
+int board_early_init_r(void)
+{
+#ifdef CONFIG_PQ_MDS_PIB
+ pib_init();
+#endif
+ return 0;
+}
+
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRC)
extern void ddr_enable_ecc(unsigned int dram_size);
#endif
diff --git a/board/mpc8360emds/pci.c b/board/mpc8360emds/pci.c
index 7981285..cf7ef90 100644
--- a/board/mpc8360emds/pci.c
+++ b/board/mpc8360emds/pci.c
@@ -131,7 +131,6 @@ void pci_init_board(void)
volatile pcictrl83xx_t *pci_ctrl;
volatile pciconf83xx_t *pci_conf;
- u8 val8, orig_i2c_bus;
u16 reg16;
u32 val32;
u32 dev;
@@ -200,43 +199,6 @@ void pci_init_board(void)
PIWAR_IWS_2G;
/*
- * Assign PIB PMC slot to desired PCI bus
- */
-
- /* Switch temporarily to I2C bus #2 */
- orig_i2c_bus = i2c_get_bus_num();
- i2c_set_bus_num(1);
-
- val8 = 0;
- i2c_write(0x23, 0x6, 1, &val8, 1);
- i2c_write(0x23, 0x7, 1, &val8, 1);
- val8 = 0xff;
- i2c_write(0x23, 0x2, 1, &val8, 1);
- i2c_write(0x23, 0x3, 1, &val8, 1);
-
- val8 = 0;
- i2c_write(0x26, 0x6, 1, &val8, 1);
- val8 = 0x34;
- i2c_write(0x26, 0x7, 1, &val8, 1);
-
- val8 = 0xf3; /*PMC1, PMC2, PMC3 slot to PCI bus */
- i2c_write(0x26, 0x2, 1, &val8, 1);
- val8 = 0xff;
- i2c_write(0x26, 0x3, 1, &val8, 1);
-
- val8 = 0;
- i2c_write(0x27, 0x6, 1, &val8, 1);
- i2c_write(0x27, 0x7, 1, &val8, 1);
- val8 = 0xff;
- i2c_write(0x27, 0x2, 1, &val8, 1);
- val8 = 0xef;
- i2c_write(0x27, 0x3, 1, &val8, 1);
- asm("eieio");
-
- /* Reset to original I2C bus */
- i2c_set_bus_num(orig_i2c_bus);
-
- /*
* Release PCI RST Output signal
*/
udelay(2000);
@@ -292,8 +254,6 @@ void pci_init_board(void)
pci_hose_write_config_byte(&hose[0], dev, PCI_LATENCY_TIMER, 0x80);
pci_hose_write_config_byte(&hose[0], dev, PCI_CACHE_LINE_SIZE, 0x08);
- printf("PCI 32bit bus on PMC1 & PMC2 & PMC3\n");
-
/*
* Hose scan.
*/