bcm63xx: Enable LED pin support for ath9k pci fixup.

Some boards need specifying LED pin in order to get it working.
For example, in board HW556 (Huawei HG556a) "led_pin" must be "2".
By default led_pin is "0", so dsl_274xb_rev_f is changed to "-1".

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 34321
This commit is contained in:
Jonas Gorski 2012-11-24 14:19:16 +00:00
parent 1baeede939
commit 746b4cec06
30 changed files with 146 additions and 46 deletions

View file

@ -0,0 +1,49 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -939,7 +939,7 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)
pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
- board.caldata[i].endian_check);
+ board.caldata[i].endian_check, board.caldata[i].led_pin);
return 0;
}
--- a/arch/mips/bcm63xx/pci-ath9k-fixup.c
+++ b/arch/mips/bcm63xx/pci-ath9k-fixup.c
@@ -173,13 +173,14 @@ static void ath9k_pci_fixup(struct pci_d
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATHEROS, PCI_ANY_ID, ath9k_pci_fixup);
void __init pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check)
+ unsigned endian_check, int led_pin)
{
if (ath9k_num_fixups >= ARRAY_SIZE(ath9k_fixups))
return;
ath9k_fixups[ath9k_num_fixups].slot = slot;
ath9k_fixups[ath9k_num_fixups].pdata.endian_check = endian_check;
+ ath9k_fixups[ath9k_num_fixups].pdata.led_pin = led_pin;
if (!bcm63xx_read_eeprom(ath9k_fixups[ath9k_num_fixups].pdata.eeprom_data, offset))
return;
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -19,6 +19,7 @@ struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
unsigned int endian_check:1;
+ int led_pin;
};
/*
--- a/arch/mips/include/asm/mach-bcm63xx/pci_ath9k_fixup.h
+++ b/arch/mips/include/asm/mach-bcm63xx/pci_ath9k_fixup.h
@@ -3,6 +3,6 @@
void pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check) __init;
+ unsigned endian_check, int led_pin) __init;
#endif /* _PCI_ATH9K_FIXUP */

View file

@ -10,7 +10,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -195,6 +195,109 @@ static struct board_info __initdata boar
@@ -195,6 +195,110 @@ static struct board_info __initdata boar
},
};
@ -27,6 +27,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ {
+ .caldata_offset = 0x7d1000,
+ .slot = 0,
+ .led_pin = -1,
+ },
+ },
+
@ -120,7 +121,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif
/*
@@ -2393,6 +2496,7 @@ static const struct board_info __initdat
@@ -2393,6 +2497,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1334,6 +1334,57 @@ static struct board_info __initdata boar
@@ -1335,6 +1335,57 @@ static struct board_info __initdata boar
},
};
@ -58,7 +58,7 @@
#endif
/*
@@ -2526,6 +2577,7 @@ static const struct board_info __initdat
@@ -2527,6 +2578,7 @@ static const struct board_info __initdat
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,

View file

@ -14,7 +14,7 @@
static struct board_info board;
/*
@@ -2261,6 +2268,111 @@ static struct board_info __initdata boar
@@ -2262,6 +2269,111 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
@ -126,7 +126,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
@@ -2592,6 +2704,7 @@ static const struct board_info __initdat
@@ -2593,6 +2705,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2512,6 +2512,71 @@ static struct board_info __initdata boar
@@ -2513,6 +2513,71 @@ static struct board_info __initdata boar
},
}
};
@ -72,7 +72,7 @@
#endif
/*
@@ -2707,6 +2772,7 @@ static const struct board_info __initdat
@@ -2708,6 +2773,7 @@ static const struct board_info __initdat
&board_ct6373_1,
&board_HW553,
&board_spw303v,

View file

@ -17,7 +17,7 @@
#define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64
@@ -2579,6 +2582,103 @@ static struct board_info __initdata boar
@@ -2580,6 +2583,103 @@ static struct board_info __initdata boar
};
#endif
@ -121,7 +121,7 @@
/*
* known 6368 boards
*/
@@ -2775,6 +2875,10 @@ static const struct board_info __initdat
@@ -2776,6 +2876,10 @@ static const struct board_info __initdat
&board_DVAG3810BN,
#endif
@ -132,7 +132,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -2842,6 +2946,11 @@ static void __init boardid_fixup(u8 *boo
@@ -2843,6 +2947,11 @@ static void __init boardid_fixup(u8 *boo
}
}

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1010,6 +1010,55 @@ static struct board_info __initdata boar
@@ -1011,6 +1011,55 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@ -56,7 +56,7 @@
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
@@ -2843,6 +2892,7 @@ static const struct board_info __initdat
@@ -2844,6 +2893,7 @@ static const struct board_info __initdat
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,

View file

@ -126,7 +126,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
@@ -2873,6 +2992,7 @@ static const struct board_info __initdat
@@ -2874,6 +2993,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,

View file

@ -79,7 +79,7 @@
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
@@ -2991,6 +3063,7 @@ static struct board_info __initdata boar
@@ -2992,6 +3064,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,

View file

@ -73,7 +73,7 @@
static struct board_info __initdata board_96328A_1441N1 = {
.name = "96328A-1441N1",
.expected_cpu_id = 0x6328,
@@ -3063,6 +3129,7 @@ static struct board_info __initdata boar
@@ -3064,6 +3130,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1918,6 +1918,99 @@ static struct board_info __initdata boar
@@ -1919,6 +1919,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1375,6 +1375,19 @@ static struct board_info __initdata boar
@@ -1376,6 +1376,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -843,6 +843,17 @@ static struct board_info __initdata boar
@@ -844,6 +844,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -735,6 +735,53 @@ static struct board_info __initdata boar
@@ -736,6 +736,53 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
@ -54,7 +54,7 @@
#endif
/*
@@ -3260,6 +3307,7 @@ static const struct board_info __initdat
@@ -3261,6 +3308,7 @@ static const struct board_info __initdat
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,

View file

@ -8,7 +8,7 @@
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h>
@@ -3365,7 +3366,7 @@ static const struct board_info __initdat
@@ -3366,7 +3367,7 @@ static const struct board_info __initdat
* bcm4318 WLAN work
*/
#ifdef CONFIG_SSB_PCIHOST
@ -17,7 +17,7 @@
.revision = 0x02,
.board_rev = 0x17,
.country_code = 0x0,
@@ -3385,6 +3386,7 @@ static struct ssb_sprom bcm63xx_sprom =
@@ -3386,6 +3387,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848,
.boardflags_hi = 0x0000,
};

View file

@ -0,0 +1,49 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -984,7 +984,7 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)
pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
- board.caldata[i].endian_check);
+ board.caldata[i].endian_check, board.caldata[i].led_pin);
return 0;
}
--- a/arch/mips/bcm63xx/pci-ath9k-fixup.c
+++ b/arch/mips/bcm63xx/pci-ath9k-fixup.c
@@ -173,13 +173,14 @@ static void ath9k_pci_fixup(struct pci_d
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATHEROS, PCI_ANY_ID, ath9k_pci_fixup);
void __init pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check)
+ unsigned endian_check, int led_pin)
{
if (ath9k_num_fixups >= ARRAY_SIZE(ath9k_fixups))
return;
ath9k_fixups[ath9k_num_fixups].slot = slot;
ath9k_fixups[ath9k_num_fixups].pdata.endian_check = endian_check;
+ ath9k_fixups[ath9k_num_fixups].pdata.led_pin = led_pin;
if (!bcm63xx_read_eeprom(ath9k_fixups[ath9k_num_fixups].pdata.eeprom_data, offset))
return;
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -19,6 +19,7 @@ struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
unsigned int endian_check:1;
+ int led_pin;
};
/*
--- a/arch/mips/include/asm/mach-bcm63xx/pci_ath9k_fixup.h
+++ b/arch/mips/include/asm/mach-bcm63xx/pci_ath9k_fixup.h
@@ -3,6 +3,6 @@
void pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check) __init;
+ unsigned endian_check, int led_pin) __init;
#endif /* _PCI_ATH9K_FIXUP */

View file

@ -10,7 +10,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -195,6 +195,109 @@ static struct board_info __initdata boar
@@ -195,6 +195,110 @@ static struct board_info __initdata boar
},
};
@ -27,6 +27,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ {
+ .caldata_offset = 0x7d1000,
+ .slot = 0,
+ .led_pin = -1,
+ },
+ },
+
@ -120,7 +121,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif
/*
@@ -2393,6 +2496,7 @@ static const struct board_info __initdat
@@ -2393,6 +2497,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1334,6 +1334,57 @@ static struct board_info __initdata boar
@@ -1335,6 +1335,57 @@ static struct board_info __initdata boar
},
};
@ -58,7 +58,7 @@
#endif
/*
@@ -2526,6 +2577,7 @@ static const struct board_info __initdat
@@ -2527,6 +2578,7 @@ static const struct board_info __initdat
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,

View file

@ -14,7 +14,7 @@
static struct board_info board;
/*
@@ -2261,6 +2268,111 @@ static struct board_info __initdata boar
@@ -2262,6 +2269,111 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
@ -126,7 +126,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
@@ -2592,6 +2704,7 @@ static const struct board_info __initdat
@@ -2593,6 +2705,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2512,6 +2512,71 @@ static struct board_info __initdata boar
@@ -2513,6 +2513,71 @@ static struct board_info __initdata boar
},
}
};
@ -72,7 +72,7 @@
#endif
/*
@@ -2707,6 +2772,7 @@ static const struct board_info __initdat
@@ -2708,6 +2773,7 @@ static const struct board_info __initdat
&board_ct6373_1,
&board_HW553,
&board_spw303v,

View file

@ -17,7 +17,7 @@
#define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64
@@ -2579,6 +2582,103 @@ static struct board_info __initdata boar
@@ -2580,6 +2583,103 @@ static struct board_info __initdata boar
};
#endif
@ -121,7 +121,7 @@
/*
* known 6368 boards
*/
@@ -2775,6 +2875,10 @@ static const struct board_info __initdat
@@ -2776,6 +2876,10 @@ static const struct board_info __initdat
&board_DVAG3810BN,
#endif
@ -132,7 +132,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@@ -2842,6 +2946,11 @@ static void __init boardid_fixup(u8 *boo
@@ -2843,6 +2947,11 @@ static void __init boardid_fixup(u8 *boo
}
}

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1010,6 +1010,55 @@ static struct board_info __initdata boar
@@ -1011,6 +1011,55 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
@ -56,7 +56,7 @@
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
@@ -2843,6 +2892,7 @@ static const struct board_info __initdat
@@ -2844,6 +2893,7 @@ static const struct board_info __initdat
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,

View file

@ -126,7 +126,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
@@ -2873,6 +2992,7 @@ static const struct board_info __initdat
@@ -2874,6 +2993,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,

View file

@ -79,7 +79,7 @@
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
@@ -2991,6 +3063,7 @@ static struct board_info __initdata boar
@@ -2992,6 +3064,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,

View file

@ -73,7 +73,7 @@
static struct board_info __initdata board_96328A_1441N1 = {
.name = "96328A-1441N1",
.expected_cpu_id = 0x6328,
@@ -3063,6 +3129,7 @@ static struct board_info __initdata boar
@@ -3064,6 +3130,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1918,6 +1918,99 @@ static struct board_info __initdata boar
@@ -1919,6 +1919,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1375,6 +1375,19 @@ static struct board_info __initdata boar
@@ -1376,6 +1376,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -843,6 +843,17 @@ static struct board_info __initdata boar
@@ -844,6 +844,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -735,6 +735,53 @@ static struct board_info __initdata boar
@@ -736,6 +736,53 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
@ -54,7 +54,7 @@
#endif
/*
@@ -3260,6 +3307,7 @@ static const struct board_info __initdat
@@ -3261,6 +3308,7 @@ static const struct board_info __initdat
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,

View file

@ -8,7 +8,7 @@
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h>
@@ -3365,7 +3366,7 @@ static const struct board_info __initdat
@@ -3366,7 +3367,7 @@ static const struct board_info __initdat
* bcm4318 WLAN work
*/
#ifdef CONFIG_SSB_PCIHOST
@ -17,7 +17,7 @@
.revision = 0x02,
.board_rev = 0x17,
.country_code = 0x0,
@@ -3385,6 +3386,7 @@ static struct ssb_sprom bcm63xx_sprom =
@@ -3386,6 +3387,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848,
.boardflags_hi = 0x0000,
};