[PATCH] ARM: AM33xx: pcm051: Add network support
Teresa Gámez
t.gamez at phytec.de
Wed Jun 19 03:11:22 EDT 2013
Signed-off-by: Teresa Gámez <t.gamez at phytec.de>
---
arch/arm/boards/pcm051/board.c | 28 ++++++++++++++++++++++++++++
arch/arm/configs/pcm051_defconfig | 5 +++++
2 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/pcm051/board.c b/arch/arm/boards/pcm051/board.c
index f0eaa01..0ad8cb4 100644
--- a/arch/arm/boards/pcm051/board.c
+++ b/arch/arm/boards/pcm051/board.c
@@ -19,13 +19,17 @@
#include <common.h>
#include <init.h>
+#include <io.h>
#include <sizes.h>
#include <ns16550.h>
#include <asm/armlinux.h>
#include <generated/mach-types.h>
+#include <linux/phy.h>
#include <mach/am33xx-devices.h>
+#include <mach/am33xx-generic.h>
#include <mach/am33xx-mux.h>
#include <mach/am33xx-silicon.h>
+#include <mach/cpsw.h>
#include <spi/spi.h>
#include <spi/flash.h>
@@ -73,6 +77,18 @@ static struct spi_board_info pcm051_spi_board_info[] = {
},
};
+static struct cpsw_slave_data cpsw_slaves[] = {
+ {
+ .phy_id = 0,
+ .phy_if = PHY_INTERFACE_MODE_RMII,
+ },
+};
+
+static struct cpsw_platform_data cpsw_data = {
+ .slave_data = cpsw_slaves,
+ .num_slaves = ARRAY_SIZE(cpsw_slaves),
+};
+
static void pcm051_spi_init(void)
{
int ret;
@@ -84,6 +100,17 @@ static void pcm051_spi_init(void)
am33xx_add_spi0();
}
+static void pcm051_eth_init(void)
+{
+ am33xx_register_ethaddr(0, 0);
+
+ writel(0x49, AM33XX_MAC_MII_SEL);
+
+ am33xx_enable_rmii1_pin_mux();
+
+ am33xx_add_cpsw(&cpsw_data);
+}
+
static int pcm051_devices_init(void)
{
pcm051_enable_mmc0_pin_mux();
@@ -91,6 +118,7 @@ static int pcm051_devices_init(void)
am33xx_add_mmc0(NULL);
pcm051_spi_init();
+ pcm051_eth_init();
devfs_add_partition("nor0", 0x00000, SZ_128K,
DEVFS_PARTITION_FIXED, "xload");
diff --git a/arch/arm/configs/pcm051_defconfig b/arch/arm/configs/pcm051_defconfig
index 90c2b50..804ca14 100644
--- a/arch/arm/configs/pcm051_defconfig
+++ b/arch/arm/configs/pcm051_defconfig
@@ -42,8 +42,13 @@ CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNCOMPRESS=y
+CONFIG_NET=y
+CONFIG_NET_DHCP=y
+CONFIG_NET_NFS=y
+CONFIG_NET_PING=y
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
+CONFIG_DRIVER_NET_CPSW=y
CONFIG_DRIVER_SPI_OMAP3=y
CONFIG_MTD=y
CONFIG_MTD_M25P80=y
--
1.7.0.4
More information about the barebox
mailing list