ar71xx: add kernel support for the OpenMesh A40 board
authorSven Eckelmann <sven.eckelmann@open-mesh.com>
Fri, 23 Sep 2016 07:36:10 +0000 (09:36 +0200)
committerJohn Crispin <john@phrozen.org>
Wed, 15 Feb 2017 08:35:51 +0000 (09:35 +0100)
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c
target/linux/ar71xx/files/arch/mips/ath79/machtypes.h

index bba4250..894367f 100644 (file)
@@ -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
index 73fba1e..2f0a75f 100644 (file)
 
 #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);
index 598c0ef..b9a8e3e 100644 (file)
@@ -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 */