Просмотр исходного кода

add preliminary support for the Planex MZK-W300NH board

SVN-Revision: 13863
Gabor Juhos 17 лет назад
Родитель
Сommit
bd38281dba

+ 1 - 0
target/linux/ar71xx/config-2.6.26

@@ -7,6 +7,7 @@ CONFIG_AG71XX=y
 CONFIG_AR71XX_MACH_AP83=y
 CONFIG_AR71XX_MACH_AW_NR580=y
 CONFIG_AR71XX_MACH_GENERIC=y
+CONFIG_AR71XX_MACH_MZK_W300NH=y
 CONFIG_AR71XX_MACH_PB42=y
 CONFIG_AR71XX_MACH_RB_4XX=y
 CONFIG_AR71XX_MACH_TEW_632BRP=y

+ 1 - 0
target/linux/ar71xx/config-2.6.27

@@ -7,6 +7,7 @@ CONFIG_AG71XX=y
 CONFIG_AR71XX_MACH_AP83=y
 CONFIG_AR71XX_MACH_AW_NR580=y
 CONFIG_AR71XX_MACH_GENERIC=y
+CONFIG_AR71XX_MACH_MZK_W300NH=y
 CONFIG_AR71XX_MACH_PB42=y
 CONFIG_AR71XX_MACH_RB_4XX=y
 CONFIG_AR71XX_MACH_TEW_632BRP=y

+ 1 - 0
target/linux/ar71xx/config-2.6.28

@@ -7,6 +7,7 @@ CONFIG_AG71XX=y
 CONFIG_AR71XX_MACH_AP83=y
 CONFIG_AR71XX_MACH_AW_NR580=y
 CONFIG_AR71XX_MACH_GENERIC=y
+CONFIG_AR71XX_MACH_MZK_W300NH=y
 CONFIG_AR71XX_MACH_PB42=y
 CONFIG_AR71XX_MACH_RB_4XX=y
 CONFIG_AR71XX_MACH_TEW_632BRP=y

+ 1 - 1
target/linux/ar71xx/files-2.6.28/arch/mips/include/asm/mach-ar71xx/ar71xx.h

@@ -121,7 +121,7 @@ extern unsigned long ar71xx_mach_type;
 #define AR71XX_MACH_UBNT_LSX	10	/* Ubiquiti LSX */
 #define AR71XX_MACH_WNR2000	11	/* NETGEAR WNR2000 */
 #define AR71XX_MACH_PB42	12	/* Atheros PB42 */
-
+#define AR71XX_MACH_MZK_W300NH	13	/* Planex MZK-W300NH */
 
 /*
  * PLL block

+ 4 - 0
target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig

@@ -35,6 +35,10 @@ config AR71XX_MACH_WNR2000
 	bool "NETGEAR WNR2000 board support"
 	default y
 
+config AR71XX_MACH_MZK_W300NH
+	bool "Planex MZK-W300NH board support"
+	default y
+
 config AR71XX_MACH_TEW_632BRP
 	bool "TRENDnet TEW-632BRP support"
 	default y

+ 1 - 0
target/linux/ar71xx/files/arch/mips/ar71xx/Makefile

@@ -13,6 +13,7 @@ obj-y	:= prom.o irq.o setup.o platform.o gpio.o ar71xx.o
 obj-$(CONFIG_AR71XX_MACH_AP83)		+= mach-ap83.o
 obj-$(CONFIG_AR71XX_MACH_AW_NR580)	+= mach-aw-nr580.o
 obj-$(CONFIG_AR71XX_MACH_GENERIC)	+= mach-generic.o
+obj-$(CONFIG_AR71XX_MACH_MZK_W300NH)	+= mach-mzk-w300nh.o
 obj-$(CONFIG_AR71XX_MACH_PB42)		+= mach-pb42.o
 obj-$(CONFIG_AR71XX_MACH_RB_4XX)	+= mach-rb-4xx.o
 obj-$(CONFIG_AR71XX_MACH_TEW_632BRP)	+= mach-tew-632brp.o

+ 80 - 0
target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w300nh.c

@@ -0,0 +1,80 @@
+/*
+ *  Planex MZK-W300NH board support
+ *
+ *  Copyright (C) 2008 Gabor Juhos <[email protected]>
+ *  Copyright (C) 2008 Imre Kaloz <[email protected]>
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#include <linux/platform_device.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
+#include <linux/spi/spi.h>
+#include <linux/spi/flash.h>
+
+#include <asm/mips_machine.h>
+
+#include <asm/mach-ar71xx/ar71xx.h>
+#include <asm/mach-ar71xx/platform.h>
+
+#ifdef CONFIG_MTD_PARTITIONS
+static struct mtd_partition mzk_w300nh_partitions[] = {
+	{
+		.name		= "u-boot",
+		.offset		= 0,
+		.size		= 0x040000,
+		.mask_flags	= MTD_WRITEABLE,
+	} , {
+		.name		= "u-boot-env",
+		.offset		= 0x040000,
+		.size		= 0x010000,
+	} , {
+		.name		= "uImage",
+		.offset		= 0x050000,
+		.size		= 0x160000,
+	} , {
+		.name		= "rootfs",
+		.offset		= 0x1b0000,
+		.size		= 0x610000,
+	} , {
+		.name		= "config",
+		.offset		= 0x7c0000,
+		.size		= 0x020000,
+	} , {
+		.name		= "art",
+		.offset		= 0x7e0000,
+		.size		= 0x020000,
+		.mask_flags	= MTD_WRITEABLE,
+	}
+};
+#endif /* CONFIG_MTD_PARTITIONS */
+
+static struct flash_platform_data mzk_w300nh_flash_data = {
+#ifdef CONFIG_MTD_PARTITIONS
+        .parts          = mzk_w300nh_partitions,
+        .nr_parts       = ARRAY_SIZE(mzk_w300nh_partitions),
+#endif
+};
+
+static struct spi_board_info mzk_w300nh_spi_info[] = {
+	{
+		.bus_num	= 0,
+		.chip_select	= 0,
+		.max_speed_hz	= 25000000,
+		.modalias	= "m25p80",
+		.platform_data  = &mzk_w300nh_flash_data,
+	}
+};
+
+static void __init mzk_w300nh_setup(void)
+{
+	ar71xx_add_device_spi(NULL, mzk_w300nh_spi_info,
+					ARRAY_SIZE(mzk_w300nh_spi_info));
+
+	ar91xx_add_device_wmac();
+}
+
+MIPS_MACHINE(AR71XX_MACH_MZK_W300NH, "Planex MZK-W300NH", mzk_w300nh_setup);

+ 3 - 0
target/linux/ar71xx/files/arch/mips/ar71xx/prom.c

@@ -64,6 +64,9 @@ static struct board_rec boards[] __initdata = {
 	}, {
 		.name		= "PB42",
 		.mach_type	= AR71XX_MACH_PB42,
+	}, {
+		.name		= "MZK-W300NH",
+		.mach_type	= AR71XX_MACH_MZK_W300NH,
 	}
 };
 

+ 1 - 0
target/linux/ar71xx/files/include/asm-mips/mach-ar71xx/ar71xx.h

@@ -121,6 +121,7 @@ extern unsigned long ar71xx_mach_type;
 #define AR71XX_MACH_UBNT_LSX	10	/* Ubiquiti LSX */
 #define AR71XX_MACH_WNR2000	11	/* NETGEAR WNR2000 */
 #define AR71XX_MACH_PB42	12	/* Atheros PB42 */
+#define AR71XX_MACH_MZK_W300NH	13	/* Planex MZK-W300NH */
 
 /*
  * PLL block