From 114410cc27fd0518e32e294c21f96cfc590cdbf8 Mon Sep 17 00:00:00 2001 From: juhosg Date: Tue, 17 Mar 2009 18:48:00 +0000 Subject: [ar71xx] ap81: register SPI flash, and add default MTD partitions git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14924 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ar71xx/files/arch/mips/ar71xx/mach-ap81.c | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'target/linux') diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c index 5a48dffa4d..98a319aa7a 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c @@ -9,6 +9,11 @@ * by the Free Software Foundation. */ +#include +#include +#include +#include +#include #include #include @@ -21,6 +26,51 @@ #define AP81_BUTTONS_POLL_INTERVAL 20 +#ifdef CONFIG_MTD_PARTITIONS +static struct mtd_partition ap81_partitions[] = { + { + .name = "u-boot", + .offset = 0, + .size = 0x040000, + .mask_flags = MTD_WRITEABLE, + } , { + .name = "u-boot-env", + .offset = 0x040000, + .size = 0x010000, + } , { + .name = "rootfs", + .offset = 0x050000, + .size = 0x500000, + } , { + .name = "uImage", + .offset = 0x550000, + .size = 0x100000, + } , { + .name = "ART", + .offset = 0x650000, + .size = 0x1b0000, + .mask_flags = MTD_WRITEABLE, + } +}; +#endif /* CONFIG_MTD_PARTITIONS */ + +static struct flash_platform_data ap81_flash_data = { +#ifdef CONFIG_MTD_PARTITIONS + .parts = ap81_partitions, + .nr_parts = ARRAY_SIZE(ap81_partitions), +#endif +}; + +static struct spi_board_info ap81_spi_info[] = { + { + .bus_num = 0, + .chip_select = 0, + .max_speed_hz = 25000000, + .modalias = "m25p80", + .platform_data = &ap81_flash_data, + } +}; + static struct gpio_button ap81_gpio_buttons[] __initdata = { { .desc = "sw1", @@ -57,6 +107,9 @@ static void __init ap81_setup(void) ar71xx_add_device_usb(); + ar71xx_add_device_spi(NULL, ap81_spi_info, + ARRAY_SIZE(ap81_spi_info)); + ar71xx_add_device_gpio_buttons(-1, AP81_BUTTONS_POLL_INTERVAL, ARRAY_SIZE(ap81_gpio_buttons), ap81_gpio_buttons); -- cgit v1.2.3