From 14add3f724b6b768eed62d30bafe8ca2d305fab0 Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Fri, 23 Sep 2016 09:36:10 +0200 Subject: [PATCH] ar71xx: add kernel support for the OpenMesh A40 board Signed-off-by: Sven Eckelmann --- .../files/arch/mips/ath79/Kconfig.openwrt | 2 +- .../ar71xx/files/arch/mips/ath79/mach-a60.c | 21 +++++++++++++++++++ .../ar71xx/files/arch/mips/ath79/machtypes.h | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt index bba425094c..894367fbb9 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt +++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt @@ -1,5 +1,5 @@ config ATH79_MACH_A60 - bool "OpenMesh A60 board support" + bool "OpenMesh A40/A60 board support" select SOC_QCA955X select ATH79_DEV_AP9X_PCI if PCI select ATH79_DEV_ETH diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c index 73fba1e264..2f0a75f7bb 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c @@ -40,6 +40,19 @@ #define A60_WMAC_CALDATA_OFFSET 0x1000 +static struct gpio_led a40_leds_gpio[] __initdata = { + { + .name = "a40:red:status", + .gpio = A60_GPIO_LED_RED, + }, { + .name = "a40:green:status", + .gpio = A60_GPIO_LED_GREEN, + }, { + .name = "a40:blue:status", + .gpio = A60_GPIO_LED_BLUE, + } +}; + static struct gpio_led a60_leds_gpio[] __initdata = { { .name = "a60:red:status", @@ -151,6 +164,14 @@ static void __init a60_setup_common(void) ath79_register_pci(); } +static void __init a40_setup(void) +{ + ath79_register_leds_gpio(-1, ARRAY_SIZE(a40_leds_gpio), a40_leds_gpio); + a60_setup_common(); +} + +MIPS_MACHINE(ATH79_MACH_A40, "A40", "OpenMesh A40", a40_setup); + static void __init a60_setup(void) { ath79_register_leds_gpio(-1, ARRAY_SIZE(a60_leds_gpio), a60_leds_gpio); diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h index 598c0ef6aa..b9a8e3e4e0 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h @@ -17,6 +17,7 @@ enum ath79_mach_type { ATH79_MACH_GENERIC_OF = -1, /* Device tree board */ ATH79_MACH_GENERIC = 0, + ATH79_MACH_A40, /* OpenMesh A40 */ ATH79_MACH_A60, /* OpenMesh A60 */ ATH79_MACH_ALFA_AP120C, /* ALFA Network AP120C board */ ATH79_MACH_ALFA_AP96, /* ALFA Network AP96 board */