Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx
[platform/kernel/u-boot.git] / board / MAI / AmigaOneG3SE / AmigaOneG3SE.c
index 0cf5388..4d44001 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * (C) Copyright 2002
  * Hyperion Entertainment, ThomasF@hyperion-entertainment.com
+ * (C) Copyright 2006
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -13,7 +14,7 @@
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
 #include <common.h>
 #include <command.h>
 #include <pci.h>
+#include <netdev.h>
 #include "articiaS.h"
 #include "memio.h"
 #include "via686.h"
 
-__asm(" .globl send_kb                                      \n
-        send_kb:                                            \n
-                lis     r9, 0xfe00                          \n
-                                                            \n
-                li      r4, 0x10        # retries           \n
-                mtctr   r4                                  \n
-                                                            \n
-        idle:                                               \n
-                lbz     r4, 0x64(r9)                        \n
-                andi.   r4, r4, 0x02                        \n
-                bne     idle                                \n
-                                                            \n
-        ready:                                              \n
-                stb     r3, 0x60(r9)                        \n
-                                                            \n
-        check:                                              \n
-                lbz     r4, 0x64(r9)                        \n
-                andi.   r4, r4, 0x01                        \n
-                beq     check                               \n
-                                                            \n
-                lbz     r4, 0x60(r9)                        \n
-                cmpwi   r4, 0xfa                            \n
-                beq     done                                \n
-                                                            \n
-                bdnz    idle                                \n
-                                                            \n
-                li      r3, 0                               \n
-                blr                                         \n
-                                                            \n
-        done:                                               \n
-                li      r3, 1                               \n
-                blr                                         \n
-                                                            \n
-        .globl test_kb                                      \n
-        test_kb:                                            \n
-                mflr    r10                                 \n
-               li      r3, 0xed                            \n
-                bl      send_kb                             \n
-                li      r3, 0x01                            \n
-                bl      send_kb                             \n
-                mtlr    r10                                 \n
-                blr                                         \n
-");
+__asm__(" .globl send_kb                               \n "
+       "send_kb:                                       \n "
+       "       lis     r9, 0xfe00                      \n "
+       "                                               \n "
+       "       li      r4, 0x10        # retries       \n "
+       "       mtctr   r4                              \n "
+       "                                               \n "
+       "idle:                                          \n "
+       "       lbz     r4, 0x64(r9)                    \n "
+       "       andi.   r4, r4, 0x02                    \n "
+       "       bne     idle                            \n "
+
+       "ready:                                         \n "
+       "       stb     r3, 0x60(r9)                    \n "
+       "                                               \n "
+       "check:                                         \n "
+       "       lbz     r4, 0x64(r9)                    \n "
+       "       andi.   r4, r4, 0x01                    \n "
+       "       beq     check                           \n "
+       "                                               \n "
+       "       lbz     r4, 0x60(r9)                    \n "
+       "       cmpwi   r4, 0xfa                        \n "
+       "       beq     done                            \n "
+
+       "       bdnz    idle                            \n "
+
+       "       li      r3, 0                           \n "
+       "       blr                                     \n "
+
+       "done:                                          \n "
+       "       li      r3, 1                           \n "
+       "       blr                                     \n "
+
+       ".globl test_kb                                 \n "
+       "test_kb:                                       \n "
+       "       mflr    r10                             \n "
+       "       li      r3, 0xed                        \n "
+       "       bl      send_kb                         \n "
+       "       li      r3, 0x01                        \n "
+       "       bl      send_kb                         \n "
+       "       mtlr    r10                             \n "
+       "       blr                                     \n "
+);
 
 
 int checkboard (void)
 {
-       printf ("AmigaOneG3SE\n");
-
-       return 1;
+       printf ("Board: AmigaOneG3SE\n");
+       return 0;
 }
 
-long initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
        return articiaS_ram_init ();
 }
 
 
-
-void after_reloc (ulong dest_addr)
+void after_reloc (ulong dest_addr, gd_t *gd)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
        board_init_r (gd, dest_addr);
 }
 
@@ -108,9 +106,17 @@ int misc_init_r (void)
 }
 
 
-void pci_init (void)
+void pci_init_board (void)
 {
 #ifndef CONFIG_RAMBOOT
        articiaS_pci_init ();
 #endif
 }
+
+int board_eth_init(bd_t *bis)
+{
+#if defined(CONFIG_3COM)
+       eth_3com_initialize(bis);
+#endif
+       return 0;
+}