ar71xx: add support for MikroTik hAP ac
[openwrt/openwrt.git] / target / linux / ar71xx / files / arch / mips / ath79 / mach-dir-825-c1.c
index 3ab16e04c36da8a54a846330d7c427917668c792..9c4c1a8b3f59312fef1924fbf2d30f07f3e090d6 100644 (file)
 #include "machtypes.h"
 
 #define DIR825C1_GPIO_LED_BLUE_USB             11
-#define DIR825C1_GPIO_LED_ORANGE_POWER         14
+#define DIR825C1_GPIO_LED_AMBER_POWER          14
 #define DIR825C1_GPIO_LED_BLUE_POWER           22
 #define DIR825C1_GPIO_LED_BLUE_WPS             15
-#define DIR825C1_GPIO_LED_ORANGE_PLANET                19
+#define DIR825C1_GPIO_LED_AMBER_PLANET         19
 #define DIR825C1_GPIO_LED_BLUE_PLANET          18
-#define DIR825C1_GPIO_LED_WIFI_BGN             13
+#define DIR825C1_GPIO_LED_WLAN_2G              13
+
+#define DIR825C1_GPIO_WAN_LED_ENABLE           20
 
 #define DIR825C1_GPIO_BTN_RESET                        17
 #define DIR825C1_GPIO_BTN_WPS                  16
@@ -54,8 +56,8 @@ static struct gpio_led dir825c1_leds_gpio[] __initdata = {
                .active_low     = 1,
        },
        {
-               .name           = "d-link:orange:power",
-               .gpio           = DIR825C1_GPIO_LED_ORANGE_POWER,
+               .name           = "d-link:amber:power",
+               .gpio           = DIR825C1_GPIO_LED_AMBER_POWER,
                .active_low     = 1,
        },
        {
@@ -69,25 +71,21 @@ static struct gpio_led dir825c1_leds_gpio[] __initdata = {
                .active_low     = 1,
        },
        {
-               .name           = "d-link:orange:planet",
-               .gpio           = DIR825C1_GPIO_LED_ORANGE_PLANET,
+               .name           = "d-link:amber:planet",
+               .gpio           = DIR825C1_GPIO_LED_AMBER_PLANET,
                .active_low     = 1,
        },
        {
-               .name           = "d-link:blue:planet",
-               .gpio           = DIR825C1_GPIO_LED_BLUE_PLANET,
-               .active_low     = 1,
-       }, {
-               .name           = "d-link:blue:wifi_bgn",
-               .gpio           = DIR825C1_GPIO_LED_WIFI_BGN,
+               .name           = "d-link:blue:wlan2g",
+               .gpio           = DIR825C1_GPIO_LED_WLAN_2G,
                .active_low     = 1,
        },
 };
 
 static struct gpio_led dir835a1_leds_gpio[] __initdata = {
        {
-               .name           = "d-link:orange:power",
-               .gpio           = DIR825C1_GPIO_LED_ORANGE_POWER,
+               .name           = "d-link:amber:power",
+               .gpio           = DIR825C1_GPIO_LED_AMBER_POWER,
                .active_low     = 1,
        },
        {
@@ -101,8 +99,8 @@ static struct gpio_led dir835a1_leds_gpio[] __initdata = {
                .active_low     = 1,
        },
        {
-               .name           = "d-link:orange:planet",
-               .gpio           = DIR825C1_GPIO_LED_ORANGE_PLANET,
+               .name           = "d-link:amber:planet",
+               .gpio           = DIR825C1_GPIO_LED_AMBER_PLANET,
                .active_low     = 1,
        },
        {
@@ -114,7 +112,7 @@ static struct gpio_led dir835a1_leds_gpio[] __initdata = {
 
 static struct gpio_keys_button dir825c1_gpio_keys[] __initdata = {
        {
-               .desc           = "reset",
+               .desc           = "Soft reset",
                .type           = EV_KEY,
                .code           = KEY_RESTART,
                .debounce_interval = DIR825C1_KEYS_DEBOUNCE_INTERVAL,
@@ -122,7 +120,7 @@ static struct gpio_keys_button dir825c1_gpio_keys[] __initdata = {
                .active_low     = 1,
        },
        {
-               .desc           = "wps",
+               .desc           = "WPS button",
                .type           = EV_KEY,
                .code           = KEY_WPS_BUTTON,
                .debounce_interval = DIR825C1_KEYS_DEBOUNCE_INTERVAL,
@@ -140,11 +138,11 @@ static struct ar8327_pad_cfg dir825c1_ar8327_pad0_cfg = {
 };
 
 static struct ar8327_led_cfg dir825c1_ar8327_led_cfg = {
-       .led_ctrl0 = 0xc737c737,
-       .led_ctrl1 = 0x00000000,
+       .led_ctrl0 = 0x00000000,
+       .led_ctrl1 = 0xc737c737,
        .led_ctrl2 = 0x00000000,
-       .led_ctrl3 = 0x0030c300,
-       .open_drain = false,
+       .led_ctrl3 = 0x00c30c00,
+       .open_drain = true,
 };
 
 static struct ar8327_platform_data dir825c1_ar8327_data = {
@@ -213,11 +211,13 @@ static void __init dir825c1_setup(void)
        ath79_gpio_output_select(DIR825C1_GPIO_LED_BLUE_USB,
                                 AR934X_GPIO_OUT_GPIO);
 
+       gpio_request_one(DIR825C1_GPIO_WAN_LED_ENABLE,
+                        GPIOF_OUT_INIT_LOW, "WAN LED enable");
+
        ath79_register_leds_gpio(-1, ARRAY_SIZE(dir825c1_leds_gpio),
                                 dir825c1_leds_gpio);
 
-       ap9x_pci_setup_wmac_led_pin(0, 13);
-       ap9x_pci_setup_wmac_led_pin(1, 32);
+       ap9x_pci_setup_wmac_led_pin(0, 0);
 
        dir825c1_generic_setup();
 }