/*
- * Generic RT305x machine setup
+ * Buffalo WHR-G300N board support
*
* Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
*
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h>
+#include <linux/leds.h>
#include <asm/mips_machine.h>
+#include <asm/mach-ralink/machine.h>
+#include <asm/mach-ralink/dev_gpio_leds.h>
+#include <asm/mach-ralink/rt305x.h>
+#include <asm/mach-ralink/rt305x_regs.h>
-#include "machine.h"
#include "devices.h"
+#define WHR_G300N_GPIO_LED_DIAG 7
+#define WHR_G300N_GPIO_LED_ROUTER 9
+#define WHR_G300N_GPIO_LED_SECURITY 14
+
#ifdef CONFIG_MTD_PARTITIONS
static struct mtd_partition whr_g300n_partitions[] = {
{
#endif
};
+static struct gpio_led whr_g300n_leds_gpio[] __initdata = {
+ {
+ .name = "whr-g300n:red:diag",
+ .gpio = WHR_G300N_GPIO_LED_DIAG,
+ .active_low = 1,
+ }, {
+ .name = "whr-g300n:green:router",
+ .gpio = WHR_G300N_GPIO_LED_ROUTER,
+ .active_low = 1,
+ }, {
+ .name = "whr-g300n:amber:security",
+ .gpio = WHR_G300N_GPIO_LED_SECURITY,
+ .active_low = 1,
+ }
+};
+
static void __init whr_g300n_init(void)
{
+ rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT);
+
rt305x_register_flash(0, &whr_g300n_flash_data);
+
+ ramips_register_gpio_leds(-1, ARRAY_SIZE(whr_g300n_leds_gpio),
+ whr_g300n_leds_gpio);
}
-MIPS_MACHINE(RT305X_MACH_WHR_G300N, "Buffalo WHR-G300N", whr_g300n_init);
+MIPS_MACHINE(RAMIPS_MACH_WHR_G300N, "Buffalo WHR-G300N", whr_g300n_init);