summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx
diff options
context:
space:
mode:
authorSven Eckelmann <sven.eckelmann@open-mesh.com>2016-09-23 09:36:10 +0200
committerJohn Crispin <john@phrozen.org>2017-02-15 09:35:51 +0100
commit14add3f724b6b768eed62d30bafe8ca2d305fab0 (patch)
treeb9ffe123a9f819da8be272527a7476f0d424ca54 /target/linux/ar71xx
parentb194b3d97f288e9603d3300c7493dc217aa91f1a (diff)
downloadmtk-20170518-14add3f724b6b768eed62d30bafe8ca2d305fab0.zip
mtk-20170518-14add3f724b6b768eed62d30bafe8ca2d305fab0.tar.gz
mtk-20170518-14add3f724b6b768eed62d30bafe8ca2d305fab0.tar.bz2
ar71xx: add kernel support for the OpenMesh A40 board
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
Diffstat (limited to 'target/linux/ar71xx')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt2
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-a60.c21
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/machtypes.h1
3 files changed, 23 insertions, 1 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
index bba4250..894367f 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 73fba1e..2f0a75f 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 598c0ef..b9a8e3e 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 */