.debounce_interval = WDR4300_KEYS_DEBOUNCE_INTERVAL, .gpio = WDR4300_GPIO_BTN_WPS, .active_low = 1, }, { .desc = "RFKILL switch", .type = EV_SW, .code = KEY_RFKILL, .debounce_interval = WDR4300_KEYS_DEBOUNCE_INTERVAL, .gpio = WDR4300_GPIO_BTN_RFKILL, .active_low = 1, }, }; static const struct ar8327_led_info wdr4300_leds_ar8327[] __initconst = { AR8327_LED_INFO(PHY0_0, HW, "tp-link:blue:wan"), AR8327_LED_INFO(PHY1_0, HW, "tp-link:blue:lan1"), AR8327_LED_INFO(PHY2_0, HW, "tp-link:blue:lan2"), AR8327_LED_INFO(PHY3_0, HW, "tp-link:blue:lan3"), AR8327_LED_INFO(PHY4_0, HW, "tp-link:blue:lan4"), }; static struct ar8327_pad_cfg wdr4300_ar8327_pad0_cfg = { .mode = AR8327_PAD_MAC_RGMII, .txclk_delay_en = true, .rxclk_delay_en = true, .txclk_delay_sel = AR8327_CLK_DELAY_SEL1, .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2, }; static struct ar8327_led_cfg wdr4300_ar8327_led_cfg = {
#define RB962_GPIO_POE_STATUS 2 #define RB962_GPIO_POE_POWER 3 #define RB962_GPIO_LED_USER 12 #define RB962_GPIO_USB_PWROFF 13 #define RB962_GPIO_BTN_RESET 20 static struct gpio_led rb962_leds_gpio[] __initdata = { { .name = "rb:green:user", .gpio = RB962_GPIO_LED_USER, .active_low = 1, }, }; static const struct ar8327_led_info rb962_leds_ar8327[] = { AR8327_LED_INFO(PHY0_0, HW, "rb:green:port1"), AR8327_LED_INFO(PHY1_0, HW, "rb:green:port2"), AR8327_LED_INFO(PHY2_0, HW, "rb:green:port3"), AR8327_LED_INFO(PHY3_0, HW, "rb:green:port4"), AR8327_LED_INFO(PHY4_0, HW, "rb:green:port5"), }; static struct ar8327_pad_cfg rb962_ar8327_pad0_cfg = { .mode = AR8327_PAD_MAC_RGMII, .txclk_delay_en = true, .rxclk_delay_en = true, .txclk_delay_sel = AR8327_CLK_DELAY_SEL1, .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2, .mac06_exchange_dis = true, };
.rxclk_delay_sel = AR8327_CLK_DELAY_SEL0, }; static struct ar8327_pad_cfg rb2011_ar8327_pad6_cfg; static struct ar8327_sgmii_cfg rb2011_ar8327_sgmii_cfg; static struct ar8327_led_cfg rb2011_ar8327_led_cfg = { .led_ctrl0 = 0xc731c731, .led_ctrl1 = 0x00000000, .led_ctrl2 = 0x00000000, .led_ctrl3 = 0x0030c300, .open_drain = false, }; static const struct ar8327_led_info rb2011_ar8327_leds[] __initconst = { AR8327_LED_INFO(PHY0_0, HW, "rb:green:eth1"), AR8327_LED_INFO(PHY1_0, HW, "rb:green:eth2"), AR8327_LED_INFO(PHY2_0, HW, "rb:green:eth3"), AR8327_LED_INFO(PHY3_0, HW, "rb:green:eth4"), AR8327_LED_INFO(PHY4_0, HW, "rb:green:eth5"), AR8327_LED_INFO(PHY0_1, SW, "rb:green:eth6"), AR8327_LED_INFO(PHY1_1, SW, "rb:green:eth7"), AR8327_LED_INFO(PHY2_1, SW, "rb:green:eth8"), AR8327_LED_INFO(PHY3_1, SW, "rb:green:eth9"), AR8327_LED_INFO(PHY4_1, SW, "rb:green:eth10"), AR8327_LED_INFO(PHY4_2, SW, "rb:green:usr"), }; static struct ar8327_platform_data rb2011_ar8327_data = { .pad0_cfg = &rb2011_ar8327_pad0_cfg, .port0_cfg = {
.debounce_interval = MYNET_N750_KEYS_DEBOUNCE_INTERVAL, .gpio = MYNET_N750_GPIO_BTN_RESET, .active_low = 1, }, { .desc = "WPS button", .type = EV_KEY, .code = KEY_WPS_BUTTON, .debounce_interval = MYNET_N750_KEYS_DEBOUNCE_INTERVAL, .gpio = MYNET_N750_GPIO_BTN_WPS, .active_low = 1, }, }; static const struct ar8327_led_info mynet_n750_leds_ar8327[] __initconst = { AR8327_LED_INFO(PHY0_0, HW, "wd:green:lan1"), AR8327_LED_INFO(PHY1_0, HW, "wd:green:lan2"), AR8327_LED_INFO(PHY2_0, HW, "wd:green:lan3"), AR8327_LED_INFO(PHY3_0, HW, "wd:green:lan4"), AR8327_LED_INFO(PHY4_0, HW, "wd:green:wan"), AR8327_LED_INFO(PHY0_1, HW, "wd:yellow:lan1"), AR8327_LED_INFO(PHY1_1, HW, "wd:yellow:lan2"), AR8327_LED_INFO(PHY2_1, HW, "wd:yellow:lan3"), AR8327_LED_INFO(PHY3_1, HW, "wd:yellow:lan4"), AR8327_LED_INFO(PHY4_1, HW, "wd:yellow:wan"), }; static struct ar8327_pad_cfg mynet_n750_ar8327_pad0_cfg = { .mode = AR8327_PAD_MAC_RGMII, .txclk_delay_en = true, .rxclk_delay_en = true,
.debounce_interval = WZR_450HP2_KEYS_DEBOUNCE_INTERVAL, .gpio = 17, .active_low = 1, }, { .desc = "RFKILL button", .type = EV_KEY, .code = KEY_RFKILL, .debounce_interval = WZR_450HP2_KEYS_DEBOUNCE_INTERVAL, .gpio = 21, .active_low = 1, }, }; static const struct ar8327_led_info wzr_450hp2_leds_ar8327[] = { AR8327_LED_INFO(PHY0_0, HW, "buffalo:green:lan1"), AR8327_LED_INFO(PHY1_0, HW, "buffalo:green:lan2"), AR8327_LED_INFO(PHY2_0, HW, "buffalo:green:lan3"), AR8327_LED_INFO(PHY3_0, HW, "buffalo:green:lan4"), AR8327_LED_INFO(PHY4_0, HW, "buffalo:green:wan"), }; /* GMAC0 of the AR8327 switch is connected to the QCA9558 SoC via SGMII */ static struct ar8327_pad_cfg wzr_450hp2_ar8327_pad0_cfg = { .mode = AR8327_PAD_MAC_SGMII, .sgmii_delay_en = true, }; /* GMAC6 of the AR8327 switch is connected to the QCA9558 SoC via RGMII */ static struct ar8327_pad_cfg wzr_450hp2_ar8327_pad6_cfg = { .mode = AR8327_PAD_MAC_RGMII,
.active_low = 1, }, { .name = "jwap230:green:led2", .gpio = JWAP230_GPIO_LED_LED2, .active_low = 1, }, { .name = "jwap230:green:led3", .gpio = JWAP230_GPIO_LED_LED3, .active_low = 1, } }; static const struct ar8327_led_info jwap230_leds_qca8337[] = { AR8327_LED_INFO(PHY0_0, HW, "jwap230:green:lan"), AR8327_LED_INFO(PHY4_0, HW, "jwap230:green:wan"), }; /* Blink rate: 1 Gbps -> 8 hz, 100 Mbs -> 4 Hz, 10 Mbps -> 2 Hz */ static struct ar8327_led_cfg jwap230_qca8337_led_cfg = { .led_ctrl0 = 0xcf37cf37, .led_ctrl1 = 0xcf37cf37, .led_ctrl2 = 0xcf37cf37, .led_ctrl3 = 0x0, .open_drain = true, }; /* QCA8337 GMAC0 is connected with QCA9558 over RGMII */ static struct ar8327_pad_cfg jwap230_qca8337_pad0_cfg = { .mode = AR8327_PAD_MAC_RGMII,