openwrt/package/uboot-ifxmips/patches/130-a800.patch

32 lines
713 B
Diff

--- a/drivers/ifx_sw.c
+++ b/drivers/ifx_sw.c
@@ -118,7 +118,7 @@ int danube_switch_initialize(bd_t * bis)
{
struct eth_device *dev;
unsigned short chipid;
-
+ int i;
#if 0
printf("Entered danube_switch_initialize()\n");
#endif
@@ -130,6 +130,19 @@ int danube_switch_initialize(bd_t * bis)
}
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);