diff options
Diffstat (limited to 'board/at91sam9260ek/init.c')
-rw-r--r-- | board/at91sam9260ek/init.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/board/at91sam9260ek/init.c b/board/at91sam9260ek/init.c index 5f35b0e3e6..37c878e6d9 100644 --- a/board/at91sam9260ek/init.c +++ b/board/at91sam9260ek/init.c @@ -44,6 +44,8 @@ static struct atmel_nand_data nand_pdata = { .ale = 21, .cle = 22, /* .det_pin = ... not connected */ + .ecc_base = (void __iomem *)AT91C_BASE_HECC, + .ecc_mode = NAND_ECC_HW, .rdy_pin = NAND_READY_GPIO, .enable_pin = NAND_ENABLE_GPIO, #if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16) @@ -86,15 +88,26 @@ static struct device_d macb_dev = { static int at91sam9260ek_devices_init(void) { + struct device_d *nand, *dev; + register_device(&sdram_dev); + + gpio_direction_input(NAND_READY_GPIO); + gpio_direction_output(NAND_ENABLE_GPIO, 1); + register_device(&nand_dev); register_device(&macb_dev); armlinux_set_bootparams((void *)0x20000100); armlinux_set_architecture(MACH_TYPE_AT91SAM9260EK); - gpio_direction_input(NAND_READY_GPIO); - gpio_direction_output(NAND_ENABLE_GPIO, 1); + nand = get_device_by_path("/dev/nand0"); + dev = dev_add_partition(nand, 0x00000, 0x80000, PARTITION_FIXED, "self_raw"); + dev_add_bb_dev(dev, "self0"); + dev = dev_add_partition(nand, 0x40000, 0x40000, PARTITION_FIXED, "env_raw"); + dev_add_bb_dev(dev, "env0"); + dev_add_partition(nand, 0x00000, 0x80000, PARTITION_FIXED, "self"); + dev_add_partition(nand, 0x40000, 0x40000, PARTITION_FIXED, "env"); return 0; } |