summaryrefslogtreecommitdiffstats
path: root/board
diff options
context:
space:
mode:
authorJuergen Beisert <j.beisert@pengutronix.de>2007-11-05 12:26:29 +0100
committerJuergen Beisert <j.beisert@pengutronix.de>2007-11-05 12:26:29 +0100
commit1cb70626537e37b712bf2474b547431b5f53e403 (patch)
treeed656ca671207a7191fcd74fbbdff634b63d2754 /board
parent092a4a3b4bd70672596c4c771e32c31ec4100b91 (diff)
downloadbarebox-1cb70626537e37b712bf2474b547431b5f53e403.tar.gz
barebox-1cb70626537e37b712bf2474b547431b5f53e403.tar.xz
integrating sha's changes into jbe's branch
Diffstat (limited to 'board')
-rw-r--r--board/phycore_pcm038/lowlevel_init.S15
-rw-r--r--board/phycore_pcm038/pcm038.c35
2 files changed, 30 insertions, 20 deletions
diff --git a/board/phycore_pcm038/lowlevel_init.S b/board/phycore_pcm038/lowlevel_init.S
index 0c47c3a34c..fc65b902b6 100644
--- a/board/phycore_pcm038/lowlevel_init.S
+++ b/board/phycore_pcm038/lowlevel_init.S
@@ -50,6 +50,9 @@ board_init_lowlevel:
writel(0x130410c3, PCDR0)
writel(0x09030913, PCDR1)
+ /* skip sdram setup for debugging */
+ mov pc,r10
+
/* Skip SDRAM initialization if we run from RAM */
cmp pc, #0xa0000000
bls 1f
@@ -69,9 +72,9 @@ board_init_lowlevel:
writel(0x00005005, 0x10027838)
writel(0x15555555, 0x1002783C)
writel(0x00000004, 0xD8001010)
- writel(0x00795729, 0xD8001004)
+ writel(0x006ac73a, 0xD8001004)
writel(0x92100000, 0xD8001000)
- writel(0x00000000, 0xA0000F00)
+ writel(0x00000000, 0xA0000F00)
writel(0xA2100000, 0xD8001000)
writel(0x00000000, 0xA0000F00)
writel(0x00000000, 0xA0000F00)
@@ -82,14 +85,14 @@ board_init_lowlevel:
writel(0x00000000, 0xA0000F00)
writel(0x00000000, 0xA0000F00)
writel(0x00000000, 0xA0000F00)
- writel(0xB2126080, 0xD8001000)
+ writel(0xb2100000, 0xD8001000)
ldr r0, =0xA0000033
- mov r1, #0x0
+ mov r1, #0xda
strb r1, [r0]
ldr r0, =0xA1000000
- mov r1, #0x0
+ mov r1, #0xff
strb r1, [r0]
- writel(0x82126080, 0xD8001000)
+ writel(0x82226080, 0xD8001000)
mov pc,r10
diff --git a/board/phycore_pcm038/pcm038.c b/board/phycore_pcm038/pcm038.c
index 092abd1a7b..9b1f0e3761 100644
--- a/board/phycore_pcm038/pcm038.c
+++ b/board/phycore_pcm038/pcm038.c
@@ -24,6 +24,7 @@
#include <init.h>
#include <environment.h>
#include <asm/arch/imx-regs.h>
+#include <asm-ppc/arch-mpc5200/fec.h>
#include <asm/arch/gpio.h>
#include <partition.h>
#include <fs.h>
@@ -42,45 +43,51 @@ static struct device_d sdram_dev = {
.id = "ram0",
.map_base = 0xa0000000,
- .size = 32 * 1024 * 1024,
+ .size = 128 * 1024 * 1024,
.type = DEVICE_TYPE_DRAM,
};
+static struct mpc5xxx_fec_platform_data fec_info = {
+ .xcv_type = MII100,
+};
+
static struct device_d fec_dev = {
- .name = "fec_imx27",
+ .name = "fec_mpc5xxx",
.id = "eth0",
-
+ .map_base = 0x1002b000,
+ .platform_data = &fec_info,
.type = DEVICE_TYPE_ETHER,
};
static int pcm038_devices_init(void)
{
int i;
- unsigned short mode[] = {
- PD12_AOUT_FEC_RXD0,
- PD5_AOUT_FEC_RXD1,
- PD6_AOUT_FEC_RXD2,
- PD7_AOUT_FEC_RXD3,
- PD4_AOUT_FEC_RX_ER,
- PD13_AOUT_FEC_RX_DV,
+ unsigned int mode[] = {
PD0_AIN_FEC_TXD0,
PD1_AIN_FEC_TXD1,
PD2_AIN_FEC_TXD2,
PD3_AIN_FEC_TXD3,
- PD11_AOUT_FEC_TX_CLK,
- PF23_AIN_FEC_TX_EN,
+ PD4_AOUT_FEC_RX_ER,
+ PD5_AOUT_FEC_RXD1,
+ PD6_AOUT_FEC_RXD2,
+ PD7_AOUT_FEC_RXD3,
PD8_AF_FEC_MDIO,
- PD9_AIN_FEC_MDC,
+ PD9_AIN_FEC_MDC | GPIO_PUEN,
+ PD10_AOUT_FEC_CRS,
+ PD11_AOUT_FEC_TX_CLK,
+ PD12_AOUT_FEC_RXD0,
+ PD13_AOUT_FEC_RX_DV,
PD14_AOUT_FEC_CLR,
PD15_AOUT_FEC_COL,
PD16_AIN_FEC_TX_ER,
+ PF23_AIN_FEC_TX_EN,
PE12_PF_UART1_TXD,
PE13_PF_UART1_RXD,
PE14_PF_UART1_CTS,
PE15_PF_UART1_RTS };
- for (i = 0; i < sizeof(mode) / sizeof(short); i ++)
+ for (i = 0; i < sizeof(mode) / sizeof(int); i++)
imx_gpio_mode(mode[i]);
register_device(&cfi_dev);