diff options
Diffstat (limited to 'arch/arm/boards/pm9g45')
-rw-r--r-- | arch/arm/boards/pm9g45/env/config | 13 | ||||
-rw-r--r-- | arch/arm/boards/pm9g45/init.c | 29 |
2 files changed, 32 insertions, 10 deletions
diff --git a/arch/arm/boards/pm9g45/env/config b/arch/arm/boards/pm9g45/env/config index 5f05e6f04f..18ac565d49 100644 --- a/arch/arm/boards/pm9g45/env/config +++ b/arch/arm/boards/pm9g45/env/config @@ -2,7 +2,8 @@ # use 'dhcp' to do dhcp in barebox and in kernel # use 'none' if you want to skip kernel ip autoconfiguration -ip=dhcp +ip=dhcp-barebox +global.dhcp.vendor_id=barebox-pm9g45 # or set your networking parameters here #eth0.ipaddr=a.b.c.d @@ -11,16 +12,18 @@ ip=dhcp #eth0.serverip=a.b.c.d # can be either 'nfs', 'tftp' or 'nand' -kernel_loc=nand +kernel_loc=nfs # can be either 'net', 'nand' or 'initrd' -rootfs_loc=nand +rootfs_loc=net +# can be either 'nfs', 'tftp', 'nand' or empty +oftree_loc=nfs # can be either 'jffs2' or 'ubifs' rootfs_type=ubifs rootfsimage=root.$rootfs_type -#kernelimage=zImage -kernelimage=uImage +kernelimage=zImage +#kernelimage=uImage #kernelimage=Image #kernelimage=Image.lzo diff --git a/arch/arm/boards/pm9g45/init.c b/arch/arm/boards/pm9g45/init.c index 17b38d4b59..675ebe8515 100644 --- a/arch/arm/boards/pm9g45/init.c +++ b/arch/arm/boards/pm9g45/init.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com> + * Copyright (C) 2009-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com> * * Copyright (C) 2007 Sascha Hauer, Pengutronix * @@ -35,6 +35,13 @@ #include <mach/io.h> #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_PA31, + .is_open_drain = 0, +}; static struct atmel_nand_data nand_pdata = { .ale = 21, @@ -43,6 +50,7 @@ static struct atmel_nand_data nand_pdata = { .rdy_pin = AT91_PIN_PD3, .enable_pin = AT91_PIN_PC14, .bus_width_16 = 0, + .on_flash_bbt = 1, }; static struct sam9_smc_config pm_nand_smc_config = { @@ -121,6 +129,13 @@ static void pm9g45_phy_init(void) at91_set_gpio_value(AT91_PIN_PD2, 1); } +static void pm9g45_add_device_eth(void) +{ + w1_local_mac_address_register(0, "ron", "w1-1-0"); + pm9g45_phy_init(); + at91_add_device_eth(0, &macb_pdata); +} + static int pm9g45_mem_init(void) { at91_add_device_sdram(128 * 1024 * 1024); @@ -131,15 +146,19 @@ mem_initcall(pm9g45_mem_init); static int pm9g45_devices_init(void) { + at91_set_gpio_input(w1_pdata.pin, 0); + add_generic_device_res("w1-gpio", DEVICE_ID_SINGLE, NULL, 0, &w1_pdata); + pm_add_device_nand(); pm9g45_add_device_mci(); - pm9g45_phy_init(); - at91_add_device_eth(0, &macb_pdata); + pm9g45_add_device_eth(); pm9g45_add_device_usbh(); - devfs_add_partition("nand0", 0x00000, 0x80000, DEVFS_PARTITION_FIXED, "self_raw"); + devfs_add_partition("nand0", 0x00000, SZ_128K, DEVFS_PARTITION_FIXED, "at91bootstrap_raw"); + dev_add_bb_dev("at91bootstrap_raw", "at91bootstrap"); + devfs_add_partition("nand0", SZ_128K, SZ_256K, DEVFS_PARTITION_FIXED, "self_raw"); dev_add_bb_dev("self_raw", "self0"); - devfs_add_partition("nand0", 0x40000, 0x40000, DEVFS_PARTITION_FIXED, "env_raw"); + devfs_add_partition("nand0", SZ_256K + SZ_128K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw"); dev_add_bb_dev("env_raw", "env0"); armlinux_set_bootparams((void *)(AT91_CHIPSELECT_6 + 0x100)); |