]>
Commit | Line | Data |
---|---|---|
645da510 WD |
1 | /* |
2 | * (C) Copyright 2005 REA Elektronik GmbH <www.rea.de> | |
3 | * Anders Larsen <alarsen@rea.de> | |
4 | * | |
5 | * See file CREDITS for list of people who contributed to this | |
6 | * project. | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or | |
9 | * modify it under the terms of the GNU General Public License as | |
10 | * published by the Free Software Foundation; either version 2 of | |
11 | * the License, or (at your option) any later version. | |
12 | * | |
13 | * This program is distributed in the hope that it will be useful, | |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | * GNU General Public License for more details. | |
17 | * | |
18 | * You should have received a copy of the GNU General Public License | |
19 | * along with this program; if not, write to the Free Software | |
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
21 | * MA 02111-1307 USA | |
22 | */ | |
23 | ||
24 | #include <common.h> | |
25 | #include <asm/arch/AT91RM9200.h> | |
c041e9d2 JS |
26 | #include <netdev.h> |
27 | #include <asm/io.h> | |
28 | #if defined(CONFIG_DRIVER_ETHER) | |
645da510 WD |
29 | #include <at91rm9200_net.h> |
30 | #include <bcm5221.h> | |
c041e9d2 | 31 | #endif |
645da510 | 32 | |
d87080b7 WD |
33 | DECLARE_GLOBAL_DATA_PTR; |
34 | ||
645da510 WD |
35 | /* ------------------------------------------------------------------------- */ |
36 | /* | |
37 | * Miscelaneous platform dependent initialisations | |
38 | */ | |
39 | ||
40 | int board_init (void) | |
41 | { | |
645da510 WD |
42 | /* Enable Ctrlc */ |
43 | console_init_f (); | |
44 | ||
45 | /* memory and cpu-speed are setup before relocation */ | |
46 | /* so we do _nothing_ here */ | |
47 | ||
f5c254d7 WD |
48 | /* arch number of CSB637-Board */ |
49 | gd->bd->bi_arch_number = MACH_TYPE_CSB637; | |
645da510 WD |
50 | /* adress of boot parameters */ |
51 | gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; | |
52 | ||
53 | return 0; | |
54 | } | |
55 | ||
56 | int dram_init (void) | |
57 | { | |
645da510 WD |
58 | gd->bd->bi_dram[0].start = PHYS_SDRAM; |
59 | gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE; | |
60 | return 0; | |
61 | } | |
62 | ||
63 | #ifdef CONFIG_DRIVER_ETHER | |
fcec2eb9 | 64 | #if defined(CONFIG_CMD_NET) |
645da510 WD |
65 | |
66 | /* | |
67 | * Name: | |
68 | * at91rm9200_GetPhyInterface | |
69 | * Description: | |
70 | * Initialise the interface functions to the PHY | |
71 | * Arguments: | |
72 | * None | |
73 | * Return value: | |
74 | * None | |
75 | */ | |
76 | void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops) | |
77 | { | |
78 | p_phyops->Init = bcm5221_InitPhy; | |
79 | p_phyops->IsPhyConnected = bcm5221_IsPhyConnected; | |
80 | p_phyops->GetLinkSpeed = bcm5221_GetLinkSpeed; | |
81 | p_phyops->AutoNegotiate = bcm5221_AutoNegotiate; | |
82 | } | |
83 | ||
fcec2eb9 | 84 | #endif |
645da510 | 85 | #endif /* CONFIG_DRIVER_ETHER */ |
c041e9d2 JS |
86 | |
87 | #ifdef CONFIG_DRIVER_AT91EMAC | |
88 | int board_eth_init(bd_t *bis) | |
89 | { | |
90 | int rc = 0; | |
91 | rc = at91emac_register(bis, 0); | |
92 | return rc; | |
93 | } | |
94 | #endif |