Merge branch 'master' of git://git.denx.de/u-boot-video
[oweals/u-boot.git] / board / csb226 / csb226.c
index 80caf8b464e17e5bda816760a9248a799845454b..6eed9ad676f6593da1aa9f747ae74ab395a48d5a 100644 (file)
@@ -24,7 +24,9 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <asm/arch/pxa-regs.h>
+#include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -107,23 +109,23 @@ void csb226_set_led(int led, int state)
        switch(led) {
 
                case 0: if (state==1) {
-                               GPCR0 |= CSB226_USER_LED0;
+                               writel(readl(GPCR0) | CSB226_USER_LED0, GPCR0);
                        } else if (state==0) {
-                               GPSR0 |= CSB226_USER_LED0;
+                               writel(readl(GPSR0) | CSB226_USER_LED0, GPSR0);
                        }
                        break;
 
                case 1: if (state==1) {
-                               GPCR0 |= CSB226_USER_LED1;
+                               writel(readl(GPCR0) | CSB226_USER_LED1, GPCR0);
                        } else if (state==0) {
-                               GPSR0 |= CSB226_USER_LED1;
+                               writel(readl(GPSR0) | CSB226_USER_LED1, GPSR0);
                        }
                        break;
 
                case 2: if (state==1) {
-                               GPCR0 |= CSB226_USER_LED2;
+                               writel(readl(GPCR0) | CSB226_USER_LED2, GPCR0);
                        } else if (state==0) {
-                               GPSR0 |= CSB226_USER_LED2;
+                               writel(readl(GPSR0) | CSB226_USER_LED2, GPSR0);
                        }
                        break;
        }
@@ -151,3 +153,14 @@ void show_boot_progress (int status)
 
        return;
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+       int rc = 0;
+#ifdef CONFIG_CS8900
+       rc = cs8900_initialize(0, CONFIG_CS8900_BASE);
+#endif
+       return rc;
+}
+#endif