mpc83xx: add QE ethernet support

this patch adds support for the QUICC Engine based UCC gigabit ethernet device.
diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h
index 418315b..8bc61b6 100644
--- a/include/asm-ppc/global_data.h
+++ b/include/asm-ppc/global_data.h
@@ -69,6 +69,8 @@
 #if defined(CONFIG_QE)
 	u32 qe_clk;
 	u32 brg_clk;
+	uint mp_alloc_base;
+	uint mp_alloc_top;
 #endif /* CONFIG_QE */
 #if defined (CONFIG_MPC8360)
 	u32  ddr_sec_clk;
diff --git a/include/configs/MPC8360EMDS.h b/include/configs/MPC8360EMDS.h
index 0ae6061..330c307 100644
--- a/include/configs/MPC8360EMDS.h
+++ b/include/configs/MPC8360EMDS.h
@@ -364,6 +364,35 @@
 #endif
 
 /*
+ * QE UEC ethernet configuration
+ */
+#define CONFIG_UEC_ETH
+#define CONFIG_ETHPRIME		"Freescale GETH"
+#define CONFIG_PHY_MODE_NEED_CHANGE
+
+#define CONFIG_UEC_ETH1		/* GETH1 */
+
+#ifdef CONFIG_UEC_ETH1
+#define CFG_UEC1_UCC_NUM	0	/* UCC1 */
+#define CFG_UEC1_RX_CLK		QE_CLK_NONE
+#define CFG_UEC1_TX_CLK		QE_CLK9
+#define CFG_UEC1_ETH_TYPE	GIGA_ETH
+#define CFG_UEC1_PHY_ADDR	0
+#define CFG_UEC1_INTERFACE_MODE	ENET_1000_GMII
+#endif
+
+#define CONFIG_UEC_ETH2		/* GETH2 */
+
+#ifdef CONFIG_UEC_ETH2
+#define CFG_UEC2_UCC_NUM	1	/* UCC2 */
+#define CFG_UEC2_RX_CLK		QE_CLK_NONE
+#define CFG_UEC2_TX_CLK		QE_CLK4
+#define CFG_UEC2_ETH_TYPE	GIGA_ETH
+#define CFG_UEC2_PHY_ADDR	1
+#define CFG_UEC2_INTERFACE_MODE	ENET_1000_GMII
+#endif
+
+/*
  * Environment
  */
 
diff --git a/include/ioports.h b/include/ioports.h
index d7e19e1..91ca6fb 100644
--- a/include/ioports.h
+++ b/include/ioports.h
@@ -53,3 +53,14 @@
  * like the table in the 8260UM (and in the hymod manuals).
  */
 extern const iop_conf_t iop_conf_tab[4][32];
+
+typedef struct {
+	unsigned char	port;
+	unsigned char	pin;
+	int		dir;
+	int		open_drain;
+	int		assign;
+} qe_iop_conf_t;
+
+#define QE_IOP_TAB_END	(-1)
+