diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-10-30 22:00:20 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-11-15 20:20:28 +0100 |
commit | 47f0e3cab6a0b8047ad7970c92d7b3255593856a (patch) | |
tree | 833da85d2cb02d8b611289a34f1f5e76830bf38e /arch/arm/boards/pm9263 | |
parent | d741f1bbba0ec844c7861746297e0847025d1441 (diff) | |
download | barebox-47f0e3cab6a0b8047ad7970c92d7b3255593856a.tar.gz barebox-47f0e3cab6a0b8047ad7970c92d7b3255593856a.tar.xz |
pm9263: use w1 serial number to generate local mac address
The OUI will be 'ron' => 72:6F:6E
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/pm9263')
-rw-r--r-- | arch/arm/boards/pm9263/init.c | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/arch/arm/boards/pm9263/init.c b/arch/arm/boards/pm9263/init.c index 1d13e03791..14e821fd1b 100644 --- a/arch/arm/boards/pm9263/init.c +++ b/arch/arm/boards/pm9263/init.c @@ -37,6 +37,7 @@ #include <mach/at91sam9_smc.h> #include <mach/sam9_smc.h> #include <linux/w1-gpio.h> +#include <w1_mac_address.h> struct w1_gpio_platform_data w1_pdata = { .pin = AT91_PIN_PB31, @@ -93,6 +94,24 @@ static struct at91_ether_platform_data macb_pdata = { .phy_addr = 0, }; +static void pm9263_phy_init(void) +{ + /* + * PB27 enables the 50MHz oscillator for Ethernet PHY + * 1 - enable + * 0 - disable + */ + at91_set_gpio_output(AT91_PIN_PB27, 1); + at91_set_gpio_value(AT91_PIN_PB27, 1); /* 1- enable, 0 - disable */ +} + +static void pm9263_add_device_eth(void) +{ + w1_local_mac_address_register(0, "ron", "w1-1-0"); + pm9263_phy_init(); + at91_add_device_eth(0, &macb_pdata); +} + static int pm9263_mem_init(void) { at91_add_device_sdram(64 * 1024 * 1024); @@ -106,16 +125,8 @@ static int pm9263_devices_init(void) at91_set_gpio_input(w1_pdata.pin, 0); add_generic_device_res("w1-gpio", DEVICE_ID_SINGLE, NULL, 0, &w1_pdata); - /* - * PB27 enables the 50MHz oscillator for Ethernet PHY - * 1 - enable - * 0 - disable - */ - at91_set_gpio_output(AT91_PIN_PB27, 1); - at91_set_gpio_value(AT91_PIN_PB27, 1); /* 1- enable, 0 - disable */ - pm_add_device_nand(); - at91_add_device_eth(0, &macb_pdata); + pm9263_add_device_eth(); add_cfi_flash_device(0, AT91_CHIPSELECT_0, 4 * 1024 * 1024, 0); devfs_add_partition("nor0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self0"); |