ar71xx: add kernel support for dir-835-a1
[juhosg: - remove custom mdio bus info and platform data for ar8327, clear the .led_cfg field from dir835a1_setup instead, - remove arguments of dir835c1_generic_setup function, register the LEDs directly from the board specific setup instead] Signed-off-by: Alexander Stadler <sa.maillists@univie.ac.at> Patchwork: http://patchwork.openwrt.org/patch/3426/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 35957
This commit is contained in:
parent
bd6c9d6252
commit
a7525f5f5d
5 changed files with 63 additions and 13 deletions
|
@ -79,6 +79,34 @@ static struct gpio_led dir825c1_leds_gpio[] __initdata = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct gpio_led dir835a1_leds_gpio[] __initdata = {
|
||||
{
|
||||
.name = "d-link:orange:power",
|
||||
.gpio = DIR825C1_GPIO_LED_ORANGE_POWER,
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
.name = "d-link:green:power",
|
||||
.gpio = DIR825C1_GPIO_LED_BLUE_POWER,
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
.name = "d-link:blue:wps",
|
||||
.gpio = DIR825C1_GPIO_LED_BLUE_WPS,
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
.name = "d-link:orange:planet",
|
||||
.gpio = DIR825C1_GPIO_LED_ORANGE_PLANET,
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
.name = "d-link:green:planet",
|
||||
.gpio = DIR825C1_GPIO_LED_BLUE_PLANET,
|
||||
.active_low = 1,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpio_keys_button dir825c1_gpio_keys[] __initdata = {
|
||||
{
|
||||
.desc = "reset",
|
||||
|
@ -146,7 +174,7 @@ static void dir825c1_read_ascii_mac(u8 *dest, u8 *src)
|
|||
memset(dest, 0, ETH_ALEN);
|
||||
}
|
||||
|
||||
static void __init dir825c1_setup(void)
|
||||
static void __init dir825c1_generic_setup(void)
|
||||
{
|
||||
u8 *mac = (u8 *) KSEG1ADDR(0x1ffe0000);
|
||||
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
|
||||
|
@ -156,19 +184,12 @@ static void __init dir825c1_setup(void)
|
|||
dir825c1_read_ascii_mac(mac0, mac + DIR825C1_MAC0_OFFSET);
|
||||
dir825c1_read_ascii_mac(mac1, mac + DIR825C1_MAC1_OFFSET);
|
||||
|
||||
ath79_gpio_output_select(DIR825C1_GPIO_LED_BLUE_USB, AR934X_GPIO_OUT_GPIO);
|
||||
|
||||
ath79_register_m25p80(NULL);
|
||||
|
||||
ath79_register_leds_gpio(-1, ARRAY_SIZE(dir825c1_leds_gpio),
|
||||
dir825c1_leds_gpio);
|
||||
ath79_register_gpio_keys_polled(-1, DIR825C1_KEYS_POLL_INTERVAL,
|
||||
ARRAY_SIZE(dir825c1_gpio_keys),
|
||||
dir825c1_gpio_keys);
|
||||
|
||||
ap9x_pci_setup_wmac_led_pin(0, 13);
|
||||
ap9x_pci_setup_wmac_led_pin(1, 32);
|
||||
|
||||
ath79_init_mac(wmac0, mac0, 0);
|
||||
ath79_register_wmac(art + DIR825C1_WMAC_CALDATA_OFFSET, wmac0);
|
||||
|
||||
|
@ -194,6 +215,34 @@ static void __init dir825c1_setup(void)
|
|||
ath79_register_usb();
|
||||
}
|
||||
|
||||
static void __init dir825c1_setup(void)
|
||||
{
|
||||
ath79_gpio_output_select(DIR825C1_GPIO_LED_BLUE_USB,
|
||||
AR934X_GPIO_OUT_GPIO);
|
||||
|
||||
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);
|
||||
|
||||
dir825c1_generic_setup();
|
||||
}
|
||||
|
||||
static void __init dir835a1_setup(void)
|
||||
{
|
||||
dir825c1_ar8327_data.led_cfg = NULL;
|
||||
|
||||
ath79_register_leds_gpio(-1, ARRAY_SIZE(dir835a1_leds_gpio),
|
||||
dir835a1_leds_gpio);
|
||||
|
||||
dir825c1_generic_setup();
|
||||
}
|
||||
|
||||
MIPS_MACHINE(ATH79_MACH_DIR_825_C1, "DIR-825-C1",
|
||||
"D-Link DIR-825 rev. C1",
|
||||
dir825c1_setup);
|
||||
|
||||
MIPS_MACHINE(ATH79_MACH_DIR_835_A1, "DIR-835-A1",
|
||||
"D-Link DIR-835 rev. A1",
|
||||
dir835a1_setup);
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -39,6 +39,7 @@ enum ath79_mach_type {
|
||||
@@ -39,6 +39,8 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */
|
||||
ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */
|
||||
ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
|
||||
+ ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */
|
||||
+ ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */
|
||||
ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
|
||||
ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
|
||||
ATH79_MACH_EAP7660D, /* Senao EAP7660D */
|
||||
|
@ -15,7 +16,7 @@
|
|||
select ATH79_DEV_USB
|
||||
|
||||
+config ATH79_MACH_DIR_825_C1
|
||||
+ bool "D-Link DIR-825 rev. C1 board support"
|
||||
+ bool "D-Link DIR-825 rev. C1/DIR-835 rev. A1 board support"
|
||||
+ select SOC_AR934X
|
||||
+ select ATH79_DEV_AP9X_PCI if PCI
|
||||
+ select ATH79_DEV_ETH
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -84,6 +84,7 @@ enum ath79_mach_type {
|
||||
@@ -85,6 +85,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/
|
||||
ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
|
||||
ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -47,6 +47,7 @@ enum ath79_mach_type {
|
||||
@@ -48,6 +48,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
|
||||
ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
|
||||
ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -70,6 +70,7 @@ enum ath79_mach_type {
|
||||
@@ -71,6 +71,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
|
||||
ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
|
||||
ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
|
||||
|
|
Loading…
Reference in a new issue