summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Trumtrar <s.trumtrar@pengutronix.de>2013-03-08 00:15:44 +0100
committerSteffen Trumtrar <s.trumtrar@pengutronix.de>2013-03-25 10:24:30 +0100
commit8ff9524f36fa15a99fe2fcd6548eea862de2e4f1 (patch)
treef84dc1e62e0f815cc209bdafceb939e1409c4c6a
parentd7c9d8cd84d6fe9c649a9547cd132a2d19b8de06 (diff)
downloadbarebox-v2013.03.0/zynq/topic/gem.tar.gz
barebox-v2013.03.0/zynq/topic/gem.tar.xz
ARM: zedboard: add ethernet devicev2013.03.0/zynq/topic/gem
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
-rw-r--r--arch/arm/boards/avnet-zedboard/board.c13
-rw-r--r--arch/arm/boards/avnet-zedboard/lowlevel.c11
2 files changed, 23 insertions, 1 deletions
diff --git a/arch/arm/boards/avnet-zedboard/board.c b/arch/arm/boards/avnet-zedboard/board.c
index 4e3d5a58c..7b9575469 100644
--- a/arch/arm/boards/avnet-zedboard/board.c
+++ b/arch/arm/boards/avnet-zedboard/board.c
@@ -29,6 +29,19 @@ static int zedboard_mem_init(void)
}
mem_initcall(zedboard_mem_init);
+static struct macb_platform_data macb_pdata = {
+ .phy_interface = PHY_INTERFACE_MODE_RGMII,
+ .phy_addr = 0x0,
+};
+
+static int zedboard_device_init(void)
+{
+ zynq_add_eth0(&macb_pdata);
+
+ return 0;
+}
+device_initcall(zedboard_device_init);
+
static int zedboard_console_init(void)
{
zynq_add_uart1();
diff --git a/arch/arm/boards/avnet-zedboard/lowlevel.c b/arch/arm/boards/avnet-zedboard/lowlevel.c
index b50886ebc..fb05ef895 100644
--- a/arch/arm/boards/avnet-zedboard/lowlevel.c
+++ b/arch/arm/boards/avnet-zedboard/lowlevel.c
@@ -233,14 +233,23 @@ void __naked barebox_arm_reset_vector(void)
/* poor mans clkctrl */
writel(0x00001403, ZYNQ_CLOCK_CTRL_BASE + ZYNQ_UART_CLK_CTRL);
+ /* GEM0 */
writel(0x00000001, 0xf8000138);
- writel(0x00100801, 0xf8000140);
+ writel(0x00500801, 0xf8000140);
writel(0x00000302, 0xf8000740);
writel(0x00000302, 0xf8000744);
writel(0x00000302, 0xf8000748);
writel(0x00000302, 0xf800074C);
writel(0x00000302, 0xf8000750);
writel(0x00000302, 0xf8000754);
+ writel(0x00001303, 0xf8000758);
+ writel(0x00001303, 0xf800075C);
+ writel(0x00001303, 0xf8000760);
+ writel(0x00001303, 0xf8000764);
+ writel(0x00001303, 0xf8000768);
+ writel(0x00001303, 0xf800076C);
+ writel(0x00001280, 0xf80007D0);
+ writel(0x00001280, 0xf80007D4);
writel(0x00000001, 0xf8000B00);