#include <linux/platform_device.h>
#include <linux/ar8216_platform.h>
+#include <linux/gpio.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/nand.h>
#include <linux/platform/ar934x_nfc.h>
#define NBG6716_GPIO_BTN_USB2 14
#define NBG6716_GPIO_BTN_WPS 22
+#define NBG6716_GPIO_USB_POWER 16
+
#define NBG6716_KEYS_POLL_INTERVAL 20 /* msecs */
#define NBG6716_KEYS_DEBOUNCE_INTERVAL (3 * NBG6716_KEYS_POLL_INTERVAL)
},
{
.desc = "RFKILL button",
- .type = EV_KEY,
+ .type = EV_SW,
.code = KEY_RFKILL,
.debounce_interval = NBG6716_KEYS_DEBOUNCE_INTERVAL,
.gpio = NBG6716_GPIO_BTN_RFKILL,
- .active_low = 1,
+ .active_low = 0,
},
{
.desc = "USB1 eject button",
ath79_nfc_set_ecc_mode(AR934X_NFC_ECC_HW);
ath79_register_nfc();
+ gpio_request_one(NBG6716_GPIO_USB_POWER,
+ GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+ "USB power");
+
ath79_register_usb();
nbg6716_get_mac("ethaddr=", tmpmac);
nbg6716_ar8327_pad0_cfg.rxclk_delay_en = true;
nbg6716_ar8327_pad0_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
nbg6716_ar8327_pad0_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
+ nbg6716_ar8327_pad0_cfg.mac06_exchange_en = true;
/* GMAC6 of the AR8337 switch is connected to GMAC1 via SGMII */
nbg6716_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_SGMII;