2010-03-26 22:29:25 +08:00
|
|
|
--- a/drivers/ifx_sw.c
|
|
|
|
+++ b/drivers/ifx_sw.c
|
|
|
|
@@ -118,7 +118,7 @@ int danube_switch_initialize(bd_t * bis)
|
2010-03-25 02:28:07 +08:00
|
|
|
{
|
|
|
|
struct eth_device *dev;
|
|
|
|
unsigned short chipid;
|
|
|
|
-
|
|
|
|
+ int i;
|
|
|
|
#if 0
|
|
|
|
printf("Entered danube_switch_initialize()\n");
|
|
|
|
#endif
|
2010-03-26 22:29:25 +08:00
|
|
|
@@ -130,6 +130,19 @@ int danube_switch_initialize(bd_t * bis)
|
2010-03-25 02:28:07 +08:00
|
|
|
}
|
|
|
|
memset(dev, 0, sizeof(*dev));
|
|
|
|
|
|
|
|
+#ifdef A800_SWITCH
|
|
|
|
+ printf ("bring up a800 switch and leds\n");
|
|
|
|
+ *EBU_CON_1 = 0x1e7ff;
|
|
|
|
+ *EBU_ADDR_SEL_1 = 0x14000001;
|
|
|
|
+
|
|
|
|
+ *((volatile u16*)0xb4000000) = 0x0;
|
|
|
|
+ for(i = 0; i < 1000; i++)
|
|
|
|
+ udelay(1000);
|
|
|
|
+ *((volatile u16*)0xb4000000) = (1 << 10);
|
|
|
|
+ *EBU_CON_1 = 0x8001e7ff;
|
|
|
|
+#define CLK_OUT2_25MHZ
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
danube_dma_init();
|
|
|
|
danube_init_switch_chip(REV_MII_MODE);
|
|
|
|
|