bcm63xx: Add a fixup for rt2x00 devices.

This patch adds support for defining rt2x00 eeprom data.
This eeprom data can be extracted from flash or loaded directly from a firmware file.

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

SVN-Revision: 34322
This commit is contained in:
Jonas Gorski 2012-11-24 14:19:22 +00:00
parent 746b4cec06
commit 60e0e0d6e6
75 changed files with 567 additions and 150 deletions

View file

@ -0,0 +1,39 @@
#!/bin/sh
# Based on gabors ralink wisoc implementation.
rt2x00_eeprom_die() {
echo "rt2x00 eeprom: " "$*"
exit 1
}
rt2x00_eeprom_extract() {
local part=$1
local offset=$2
local count=$3
local mtd
. /etc/functions.sh
mtd=$(find_mtd_part $part)
[ -n "$mtd" ] || \
rt2x00_eeprom_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count || \
rt2x00_eeprom_die "failed to extract from $mtd"
}
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/brcm63xx.sh
board=$board_name
case "$FIRMWARE" in
"RT3062.eeprom" )
case $board in
*)
rt2x00_eeprom_die "board $board is not supported yet"
;;
esac
;;
esac

View file

@ -0,0 +1,188 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -34,6 +34,7 @@
#include <board_bcm963xx.h>
#include <linux/bcm963xx_tag.h>
#include <pci_ath9k_fixup.h>
+#include <pci_rt2x00_fixup.h>
#define PFX "board_bcm963xx: "
@@ -937,9 +938,19 @@ 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].led_pin);
+ for (i = 0; i < board.has_caldata; i++) {
+ switch (board.caldata[i].vendor) {
+ case PCI_VENDOR_ID_ATHEROS:
+ pci_enable_ath9k_fixup(board.caldata[i].slot,
+ board.caldata[i].caldata_offset, board.caldata[i].endian_check,
+ board.caldata[i].led_pin);
+ break;
+ case PCI_VENDOR_ID_RALINK:
+ pci_enable_rt2x00_fixup(board.caldata[i].slot,
+ board.caldata[i].eeprom);
+ break;
+ }
+ }
return 0;
}
--- a/arch/mips/bcm63xx/dev-flash.c
+++ b/arch/mips/bcm63xx/dev-flash.c
@@ -146,7 +146,7 @@ static int __init bcm63xx_detect_flash_t
return 0;
}
-int __init bcm63xx_flash_register(int num_caldata, struct ath9k_caldata *caldata)
+int __init bcm63xx_flash_register(int num_caldata, struct bcm63xx_caldata *caldata)
{
u32 val;
unsigned int i;
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,7 +1,8 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o setup.o \
timer.o dev-dsp.o dev-enet.o dev-flash.o dev-hsspi.o \
dev-pcmcia.o dev-rng.o dev-spi.o dev-uart.o dev-usb-ehci.o \
- dev-usb-ohci.o dev-wdt.o pci-ath9k-fixup.o
+ dev-usb-ohci.o dev-wdt.o pci-ath9k-fixup.o \
+ pci-rt2x00-fixup.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- /dev/null
+++ b/arch/mips/bcm63xx/pci-rt2x00-fixup.c
@@ -0,0 +1,71 @@
+/*
+ * Broadcom BCM63XX RT2x00 EEPROM fixup helper.
+ *
+ * Copyright (C) 2012 Álvaro Fernández Rojas <noltari@gmail.com>
+ *
+ * Based on
+ *
+ * Broadcom BCM63XX Ath9k EEPROM fixup helper.
+ *
+ * Copyright (C) 2012 Jonas Gorski <jonas.gorski@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ */
+
+#include <linux/pci.h>
+#include <linux/platform_device.h>
+#include <linux/rt2x00_platform.h>
+
+#include <bcm63xx_nvram.h>
+#include <pci_rt2x00_fixup.h>
+
+struct rt2x00_fixup {
+ unsigned slot;
+ u8 mac[ETH_ALEN];
+ struct rt2x00_platform_data pdata;
+};
+
+static int rt2x00_num_fixups;
+static struct rt2x00_fixup rt2x00_fixups[2] = {
+ {
+ .slot = 255,
+ },
+ {
+ .slot = 255,
+ },
+};
+
+static void rt2x00_pci_fixup(struct pci_dev *dev)
+{
+ unsigned i;
+ struct rt2x00_platform_data *pdata = NULL;
+
+ for (i = 0; i < rt2x00_num_fixups; i++) {
+ if (rt2x00_fixups[i].slot != PCI_SLOT(dev->devfn))
+ continue;
+
+ pdata = &rt2x00_fixups[i].pdata;
+ break;
+ }
+
+ dev->dev.platform_data = pdata;
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_RALINK, PCI_ANY_ID, rt2x00_pci_fixup);
+
+void __init pci_enable_rt2x00_fixup(unsigned slot, char* eeprom)
+{
+ if (rt2x00_num_fixups >= ARRAY_SIZE(rt2x00_fixups))
+ return;
+
+ rt2x00_fixups[rt2x00_num_fixups].slot = slot;
+ rt2x00_fixups[rt2x00_num_fixups].pdata.eeprom_file_name = kstrdup(eeprom, GFP_KERNEL);
+
+ if (bcm63xx_nvram_get_mac_address(rt2x00_fixups[rt2x00_num_fixups].mac))
+ return;
+
+ rt2x00_fixups[rt2x00_num_fixups].pdata.mac_address = rt2x00_fixups[rt2x00_num_fixups].mac;
+ rt2x00_num_fixups++;
+}
+
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h
@@ -11,6 +11,6 @@ enum {
extern int bcm63xx_attached_flash;
-int __init bcm63xx_flash_register(int num_caldata, struct ath9k_caldata *caldata);
+int __init bcm63xx_flash_register(int num_caldata, struct bcm63xx_caldata *caldata);
#endif /* __BCM63XX_FLASH_H */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -8,6 +8,7 @@
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_dsp.h>
#include <pci_ath9k_fixup.h>
+#include <pci_rt2x00_fixup.h>
/*
* flash mapping
@@ -15,11 +16,15 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
-struct ath9k_caldata {
+struct bcm63xx_caldata {
+ unsigned int vendor;
unsigned int slot;
u32 caldata_offset;
+ /* Atheros */
unsigned int endian_check:1;
int led_pin;
+ /* Ralink */
+ char* eeprom;
};
/*
@@ -43,7 +48,7 @@ struct board_info {
unsigned int has_caldata:2;
/* wifi calibration data config */
- struct ath9k_caldata caldata[2];
+ struct bcm63xx_caldata caldata[2];
/* ethernet config */
struct bcm63xx_enet_platform_data enet0;
--- /dev/null
+++ b/arch/mips/include/asm/mach-bcm63xx/pci_rt2x00_fixup.h
@@ -0,0 +1,9 @@
+#ifndef _PCI_RT2X00_FIXUP
+#define _PCI_RT2X00_FIXUP
+
+#define PCI_VENDOR_ID_RALINK 0x1814
+
+void pci_enable_rt2x00_fixup(unsigned slot, char* eeprom) __init;
+
+#endif /* _PCI_RT2X00_FIXUP */
+

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -469,6 +469,54 @@ static struct board_info __initdata boar @@ -470,6 +470,54 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
}; };
@ -55,7 +55,7 @@
#endif #endif
/* /*
@@ -640,6 +688,7 @@ static const struct board_info __initdat @@ -641,6 +689,7 @@ static const struct board_info __initdat
&board_DV201AMR, &board_DV201AMR,
&board_96348gw_a, &board_96348gw_a,
&board_rta1025w_16, &board_rta1025w_16,

View file

@ -9,7 +9,7 @@
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <bcm63xx_board.h> #include <bcm63xx_board.h>
#include <bcm63xx_cpu.h> #include <bcm63xx_cpu.h>
@@ -43,6 +45,12 @@ @@ -44,6 +46,12 @@
#define CFE_OFFSET_64K 0x10000 #define CFE_OFFSET_64K 0x10000
#define CFE_OFFSET_128K 0x20000 #define CFE_OFFSET_128K 0x20000
@ -22,7 +22,7 @@
static struct board_info board; static struct board_info board;
/* /*
@@ -666,6 +674,586 @@ static struct board_info __initdata boar @@ -667,6 +675,586 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
}; };
@ -609,7 +609,7 @@
#endif #endif
/* /*
@@ -696,6 +1284,11 @@ static const struct board_info __initdat @@ -697,6 +1285,11 @@ static const struct board_info __initdat
&board_96358vw2, &board_96358vw2,
&board_AGPFS0, &board_AGPFS0,
&board_DWVS0, &board_DWVS0,
@ -621,7 +621,7 @@
#endif #endif
}; };
@@ -750,6 +1343,16 @@ static void __init boardid_fixup(u8 *boo @@ -751,6 +1344,16 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name(); char *board_name = (char *)bcm63xx_nvram_get_name();

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -140,6 +140,38 @@ static struct board_info __initdata boar @@ -141,6 +141,38 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -39,7 +39,7 @@
#endif #endif
/* /*
@@ -1263,6 +1295,7 @@ static const struct board_info __initdat @@ -1264,6 +1296,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6338 #ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw, &board_96338gw,
&board_96338w, &board_96338w,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -663,6 +663,96 @@ static struct board_info __initdata boar @@ -664,6 +664,96 @@ static struct board_info __initdata boar
}, },
}; };
@ -97,7 +97,7 @@
static struct board_info __initdata board_AGPFS0 = { static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0", .name = "AGPF-S0",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@@ -1316,6 +1406,7 @@ static const struct board_info __initdat @@ -1317,6 +1407,7 @@ static const struct board_info __initdat
&board_96358vw, &board_96358vw,
&board_96358vw2, &board_96358vw2,
&board_AGPFS0, &board_AGPFS0,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -797,6 +797,59 @@ static struct board_info __initdata boar @@ -798,6 +798,59 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
}; };
@ -60,7 +60,7 @@
struct spi_gpio_platform_data nb4_spi_gpio_data = { struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK, .sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI, .mosi = NB4_SPI_GPIO_MOSI,
@@ -1408,6 +1461,7 @@ static const struct board_info __initdat @@ -1409,6 +1462,7 @@ static const struct board_info __initdat
&board_AGPFS0, &board_AGPFS0,
&board_CPVA642, &board_CPVA642,
&board_DWVS0, &board_DWVS0,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -557,6 +557,67 @@ static struct board_info __initdata boar @@ -558,6 +558,67 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -68,7 +68,7 @@
#endif #endif
/* /*
@@ -1453,6 +1514,7 @@ static const struct board_info __initdat @@ -1454,6 +1515,7 @@ static const struct board_info __initdat
&board_96348gw_a, &board_96348gw_a,
&board_rta1025w_16, &board_rta1025w_16,
&board_96348_D4PW, &board_96348_D4PW,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -426,6 +426,112 @@ static struct board_info __initdata boar @@ -427,6 +427,112 @@ static struct board_info __initdata boar
}, },
}; };
@ -113,7 +113,7 @@
static struct board_info __initdata board_FAST2404 = { static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404", .name = "F@ST2404",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1507,6 +1613,8 @@ static const struct board_info __initdat @@ -1508,6 +1614,8 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6348 #ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r, &board_96348r,
&board_96348gw, &board_96348gw,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -724,6 +724,76 @@ static struct board_info __initdata boar @@ -725,6 +725,76 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -77,7 +77,7 @@
#endif #endif
/* /*
@@ -1623,6 +1693,7 @@ static const struct board_info __initdat @@ -1624,6 +1694,7 @@ static const struct board_info __initdat
&board_rta1025w_16, &board_rta1025w_16,
&board_96348_D4PW, &board_96348_D4PW,
&board_spw500v, &board_spw500v,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1666,6 +1666,80 @@ static struct board_info __initdata boar @@ -1667,6 +1667,80 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices, .spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices), .num_spis = ARRAY_SIZE(nb4_spi_devices),
}; };
@ -81,7 +81,7 @@
#endif #endif
/* /*
@@ -1708,6 +1782,7 @@ static const struct board_info __initdat @@ -1709,6 +1783,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2, &board_nb4_ser_r2,
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -172,6 +172,43 @@ static struct board_info __initdata boar @@ -173,6 +173,43 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -44,7 +44,7 @@
#endif #endif
/* /*
@@ -1750,6 +1787,7 @@ static const struct board_info __initdat @@ -1751,6 +1788,7 @@ static const struct board_info __initdat
&board_96338gw, &board_96338gw,
&board_96338w, &board_96338w,
&board_96338w2_e7t, &board_96338w2_e7t,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1777,6 +1777,72 @@ static struct board_info __initdata boar @@ -1778,6 +1778,72 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -73,7 +73,7 @@
#endif #endif
/* /*
@@ -1821,6 +1887,7 @@ static const struct board_info __initdat @@ -1822,6 +1888,7 @@ static const struct board_info __initdat
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,
&board_HW553, &board_HW553,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -831,6 +831,63 @@ static struct board_info __initdata boar @@ -832,6 +832,63 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -64,7 +64,7 @@
#endif #endif
/* /*
@@ -1872,6 +1929,7 @@ static const struct board_info __initdat @@ -1873,6 +1930,7 @@ static const struct board_info __initdat
&board_96348_D4PW, &board_96348_D4PW,
&board_spw500v, &board_spw500v,
&board_96348sv, &board_96348sv,
@ -72,7 +72,7 @@
#endif #endif
#ifdef CONFIG_BCM63XX_CPU_6358 #ifdef CONFIG_BCM63XX_CPU_6358
@@ -1992,6 +2050,23 @@ void __init board_prom_init(void) @@ -1993,6 +2051,23 @@ void __init board_prom_init(void)
val &= MPI_CSBASE_BASE_MASK; val &= MPI_CSBASE_BASE_MASK;
} }
boot_addr = (u8 *)KSEG1ADDR(val); boot_addr = (u8 *)KSEG1ADDR(val);

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -395,6 +395,62 @@ static struct board_info __initdata boar @@ -396,6 +396,62 @@ static struct board_info __initdata boar
}, },
}; };
@ -63,7 +63,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1930,6 +1986,7 @@ static const struct board_info __initdat @@ -1931,6 +1987,7 @@ static const struct board_info __initdat
&board_spw500v, &board_spw500v,
&board_96348sv, &board_96348sv,
&board_V2500V_BB, &board_V2500V_BB,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -451,6 +451,49 @@ static struct board_info __initdata boar @@ -452,6 +452,49 @@ static struct board_info __initdata boar
}; };
@ -50,7 +50,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1987,6 +2030,7 @@ static const struct board_info __initdat @@ -1988,6 +2031,7 @@ static const struct board_info __initdat
&board_96348sv, &board_96348sv,
&board_V2500V_BB, &board_V2500V_BB,
&board_V2110, &board_V2110,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1210,6 +1210,8 @@ static struct board_info __initdata boar @@ -1211,6 +1211,8 @@ static struct board_info __initdata boar
.name = "DWV-S0", .name = "DWV-S0",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@ -9,7 +9,7 @@
.has_enet0 = 1, .has_enet0 = 1,
.has_enet1 = 1, .has_enet1 = 1,
.has_pci = 1, .has_pci = 1,
@@ -1225,6 +1227,7 @@ static struct board_info __initdata boar @@ -1226,6 +1228,7 @@ static struct board_info __initdata boar
}, },
.has_ohci0 = 1, .has_ohci0 = 1,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -494,6 +494,67 @@ static struct board_info __initdata boar @@ -495,6 +495,67 @@ static struct board_info __initdata boar
}, },
}; };
@ -68,7 +68,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -2034,6 +2095,7 @@ static const struct board_info __initdat @@ -2035,6 +2096,7 @@ static const struct board_info __initdat
&board_V2500V_BB, &board_V2500V_BB,
&board_V2110, &board_V2110,
&board_ct536_ct5621, &board_ct536_ct5621,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -757,6 +757,7 @@ static struct board_info __initdata boar @@ -758,6 +758,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16", .name = "RTA1025W_16",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1049,6 +1049,44 @@ static struct board_info __initdata boar @@ -1050,6 +1050,44 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -45,7 +45,7 @@
#endif #endif
/* /*
@@ -2097,6 +2135,7 @@ static const struct board_info __initdat @@ -2098,6 +2136,7 @@ static const struct board_info __initdat
&board_V2110, &board_V2110,
&board_ct536_ct5621, &board_ct536_ct5621,
&board_96348A_122, &board_96348A_122,

View file

@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2105,6 +2105,78 @@ static struct board_info __initdata boar @@ -2106,6 +2106,78 @@ static struct board_info __initdata boar
#endif #endif
/* /*
@ -89,7 +89,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
* all boards * all boards
*/ */
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
@@ -2153,6 +2225,10 @@ static const struct board_info __initdat @@ -2154,6 +2226,10 @@ static const struct board_info __initdat
&board_HW553, &board_HW553,
&board_spw303v, &board_spw303v,
#endif #endif
@ -100,7 +100,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
}; };
/* /*
@@ -2324,12 +2400,25 @@ void __init board_prom_init(void) @@ -2325,12 +2401,25 @@ void __init board_prom_init(void)
bcm63xx_pci_enabled = 1; bcm63xx_pci_enabled = 1;
if (BCMCPU_IS_6348()) if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI; val |= GPIO_MODE_6348_G2_PCI;

View file

@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2174,6 +2174,72 @@ static struct board_info __initdata boar @@ -2175,6 +2175,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
.has_ehci0 = 1, .has_ehci0 = 1,
}; };
@ -82,7 +82,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
#endif #endif
/* /*
@@ -2228,6 +2294,7 @@ static const struct board_info __initdat @@ -2229,6 +2295,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6368 #ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg, &board_96368mvwg,

View file

@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -54,6 +54,80 @@ @@ -55,6 +55,80 @@
static struct board_info board; static struct board_info board;
/* /*
@ -90,7 +90,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
* known 6338 boards * known 6338 boards
*/ */
#ifdef CONFIG_BCM63XX_CPU_6338 #ifdef CONFIG_BCM63XX_CPU_6338
@@ -2246,6 +2320,9 @@ static struct board_info __initdata boar @@ -2247,6 +2321,9 @@ static struct board_info __initdata boar
* all boards * all boards
*/ */
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {

View file

@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -125,6 +125,76 @@ static struct board_info __initdata boar @@ -126,6 +126,76 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -86,7 +86,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
#endif #endif
/* /*
@@ -2322,6 +2392,7 @@ static struct board_info __initdata boar @@ -2323,6 +2393,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,

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 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -195,6 +195,110 @@ static struct board_info __initdata boar @@ -196,6 +196,111 @@ static struct board_info __initdata boar
}, },
}; };
@ -25,6 +25,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ .has_caldata = 1, + .has_caldata = 1,
+ .caldata = { + .caldata = {
+ { + {
+ .vendor = PCI_VENDOR_ID_ATHEROS,
+ .caldata_offset = 0x7d1000, + .caldata_offset = 0x7d1000,
+ .slot = 0, + .slot = 0,
+ .led_pin = -1, + .led_pin = -1,
@ -121,7 +122,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif #endif
/* /*
@@ -2393,6 +2497,7 @@ static const struct board_info __initdat @@ -2394,6 +2499,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,
&board_963281TAN, &board_963281TAN,

View file

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

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -51,6 +51,13 @@ @@ -52,6 +52,13 @@
#define NB4_SPI_GPIO_CLK 6 #define NB4_SPI_GPIO_CLK 6
#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X)) #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
@ -14,7 +14,7 @@
static struct board_info board; static struct board_info board;
/* /*
@@ -2262,6 +2269,111 @@ static struct board_info __initdata boar @@ -2264,6 +2271,111 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices), .num_spis = ARRAY_SIZE(nb4_spi_devices),
}; };
@ -126,7 +126,7 @@
static struct board_info __initdata board_HW553 = { static struct board_info __initdata board_HW553 = {
.name = "HW553", .name = "HW553",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@@ -2593,6 +2705,7 @@ static const struct board_info __initdat @@ -2595,6 +2707,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2, &board_nb4_ser_r2,
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,

View file

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

View file

@ -8,7 +8,7 @@
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <bcm63xx_board.h> #include <bcm63xx_board.h>
#include <bcm63xx_cpu.h> #include <bcm63xx_cpu.h>
@@ -50,6 +51,8 @@ @@ -51,6 +52,8 @@
#define NB4_SPI_GPIO_MOSI 7 #define NB4_SPI_GPIO_MOSI 7
#define NB4_SPI_GPIO_CLK 6 #define NB4_SPI_GPIO_CLK 6
#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X)) #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
@ -17,7 +17,7 @@
#define CT6373_PID_OFFSET 0xff80 #define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64 #define CT6373_74X164_GPIO_BASE 64
@@ -2580,6 +2583,103 @@ static struct board_info __initdata boar @@ -2582,6 +2585,103 @@ static struct board_info __initdata boar
}; };
#endif #endif
@ -121,7 +121,7 @@
/* /*
* known 6368 boards * known 6368 boards
*/ */
@@ -2776,6 +2876,10 @@ static const struct board_info __initdat @@ -2778,6 +2878,10 @@ static const struct board_info __initdat
&board_DVAG3810BN, &board_DVAG3810BN,
#endif #endif
@ -132,7 +132,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368 #ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg, &board_96368mvwg,
&board_96368mvngr, &board_96368mvngr,
@@ -2843,6 +2947,11 @@ static void __init boardid_fixup(u8 *boo @@ -2845,6 +2949,11 @@ static void __init boardid_fixup(u8 *boo
} }
} }

View file

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

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -206,6 +206,125 @@ static struct board_info __initdata boar @@ -207,6 +207,125 @@ static struct board_info __initdata boar
}, },
}; };
@ -126,7 +126,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = { static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U", .name = "AW4339U",
.expected_cpu_id = 0x6328, .expected_cpu_id = 0x6328,
@@ -2874,6 +2993,7 @@ static const struct board_info __initdat @@ -2876,6 +2995,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,
&board_963281TAN, &board_963281TAN,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -136,6 +136,78 @@ static struct board_info __initdata boar @@ -137,6 +137,78 @@ static struct board_info __initdata boar
}, },
}; };
@ -79,7 +79,7 @@
static struct board_info __initdata board_963281TAN = { static struct board_info __initdata board_963281TAN = {
.name = "963281TAN", .name = "963281TAN",
.expected_cpu_id = 0x6328, .expected_cpu_id = 0x6328,
@@ -2992,6 +3064,7 @@ static struct board_info __initdata boar @@ -2994,6 +3066,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -136,6 +136,72 @@ static struct board_info __initdata boar @@ -137,6 +137,72 @@ static struct board_info __initdata boar
}, },
}; };
@ -73,7 +73,7 @@
static struct board_info __initdata board_96328A_1441N1 = { static struct board_info __initdata board_96328A_1441N1 = {
.name = "96328A-1441N1", .name = "96328A-1441N1",
.expected_cpu_id = 0x6328, .expected_cpu_id = 0x6328,
@@ -3064,6 +3130,7 @@ static struct board_info __initdata boar @@ -3066,6 +3132,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,188 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -34,6 +34,7 @@
#include <board_bcm963xx.h>
#include <linux/bcm963xx_tag.h>
#include <pci_ath9k_fixup.h>
+#include <pci_rt2x00_fixup.h>
#define PFX "board_bcm963xx: "
@@ -982,9 +983,19 @@ 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].led_pin);
+ for (i = 0; i < board.has_caldata; i++) {
+ switch (board.caldata[i].vendor) {
+ case PCI_VENDOR_ID_ATHEROS:
+ pci_enable_ath9k_fixup(board.caldata[i].slot,
+ board.caldata[i].caldata_offset, board.caldata[i].endian_check,
+ board.caldata[i].led_pin);
+ break;
+ case PCI_VENDOR_ID_RALINK:
+ pci_enable_rt2x00_fixup(board.caldata[i].slot,
+ board.caldata[i].eeprom);
+ break;
+ }
+ }
return 0;
}
--- a/arch/mips/bcm63xx/dev-flash.c
+++ b/arch/mips/bcm63xx/dev-flash.c
@@ -146,7 +146,7 @@ static int __init bcm63xx_detect_flash_t
return 0;
}
-int __init bcm63xx_flash_register(int num_caldata, struct ath9k_caldata *caldata)
+int __init bcm63xx_flash_register(int num_caldata, struct bcm63xx_caldata *caldata)
{
u32 val;
unsigned int i;
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,7 +1,8 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o setup.o \
timer.o dev-dsp.o dev-enet.o dev-flash.o dev-hsspi.o \
dev-pcmcia.o dev-rng.o dev-spi.o dev-uart.o dev-usb-ehci.o \
- dev-usb-ohci.o dev-wdt.o pci-ath9k-fixup.o
+ dev-usb-ohci.o dev-wdt.o pci-ath9k-fixup.o \
+ pci-rt2x00-fixup.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- /dev/null
+++ b/arch/mips/bcm63xx/pci-rt2x00-fixup.c
@@ -0,0 +1,71 @@
+/*
+ * Broadcom BCM63XX RT2x00 EEPROM fixup helper.
+ *
+ * Copyright (C) 2012 Álvaro Fernández Rojas <noltari@gmail.com>
+ *
+ * Based on
+ *
+ * Broadcom BCM63XX Ath9k EEPROM fixup helper.
+ *
+ * Copyright (C) 2012 Jonas Gorski <jonas.gorski@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ */
+
+#include <linux/pci.h>
+#include <linux/platform_device.h>
+#include <linux/rt2x00_platform.h>
+
+#include <bcm63xx_nvram.h>
+#include <pci_rt2x00_fixup.h>
+
+struct rt2x00_fixup {
+ unsigned slot;
+ u8 mac[ETH_ALEN];
+ struct rt2x00_platform_data pdata;
+};
+
+static int rt2x00_num_fixups;
+static struct rt2x00_fixup rt2x00_fixups[2] = {
+ {
+ .slot = 255,
+ },
+ {
+ .slot = 255,
+ },
+};
+
+static void rt2x00_pci_fixup(struct pci_dev *dev)
+{
+ unsigned i;
+ struct rt2x00_platform_data *pdata = NULL;
+
+ for (i = 0; i < rt2x00_num_fixups; i++) {
+ if (rt2x00_fixups[i].slot != PCI_SLOT(dev->devfn))
+ continue;
+
+ pdata = &rt2x00_fixups[i].pdata;
+ break;
+ }
+
+ dev->dev.platform_data = pdata;
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_RALINK, PCI_ANY_ID, rt2x00_pci_fixup);
+
+void __init pci_enable_rt2x00_fixup(unsigned slot, char* eeprom)
+{
+ if (rt2x00_num_fixups >= ARRAY_SIZE(rt2x00_fixups))
+ return;
+
+ rt2x00_fixups[rt2x00_num_fixups].slot = slot;
+ rt2x00_fixups[rt2x00_num_fixups].pdata.eeprom_file_name = kstrdup(eeprom, GFP_KERNEL);
+
+ if (bcm63xx_nvram_get_mac_address(rt2x00_fixups[rt2x00_num_fixups].mac))
+ return;
+
+ rt2x00_fixups[rt2x00_num_fixups].pdata.mac_address = rt2x00_fixups[rt2x00_num_fixups].mac;
+ rt2x00_num_fixups++;
+}
+
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_flash.h
@@ -11,6 +11,6 @@ enum {
extern int bcm63xx_attached_flash;
-int __init bcm63xx_flash_register(int num_caldata, struct ath9k_caldata *caldata);
+int __init bcm63xx_flash_register(int num_caldata, struct bcm63xx_caldata *caldata);
#endif /* __BCM63XX_FLASH_H */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -8,6 +8,7 @@
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_dsp.h>
#include <pci_ath9k_fixup.h>
+#include <pci_rt2x00_fixup.h>
/*
* flash mapping
@@ -15,11 +16,15 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
-struct ath9k_caldata {
+struct bcm63xx_caldata {
+ unsigned int vendor;
unsigned int slot;
u32 caldata_offset;
+ /* Atheros */
unsigned int endian_check:1;
int led_pin;
+ /* Ralink */
+ char* eeprom;
};
/*
@@ -43,7 +48,7 @@ struct board_info {
unsigned int has_caldata:2;
/* wifi calibration data config */
- struct ath9k_caldata caldata[2];
+ struct bcm63xx_caldata caldata[2];
/* ethernet config */
struct bcm63xx_enet_platform_data enet0;
--- /dev/null
+++ b/arch/mips/include/asm/mach-bcm63xx/pci_rt2x00_fixup.h
@@ -0,0 +1,9 @@
+#ifndef _PCI_RT2X00_FIXUP
+#define _PCI_RT2X00_FIXUP
+
+#define PCI_VENDOR_ID_RALINK 0x1814
+
+void pci_enable_rt2x00_fixup(unsigned slot, char* eeprom) __init;
+
+#endif /* _PCI_RT2X00_FIXUP */
+

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -511,6 +511,54 @@ static struct board_info __initdata boar @@ -512,6 +512,54 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
}; };
@ -55,7 +55,7 @@
#endif #endif
/* /*
@@ -685,6 +733,7 @@ static const struct board_info __initdat @@ -686,6 +734,7 @@ static const struct board_info __initdat
&board_DV201AMR, &board_DV201AMR,
&board_96348gw_a, &board_96348gw_a,
&board_rta1025w_16, &board_rta1025w_16,

View file

@ -9,7 +9,7 @@
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <bcm63xx_board.h> #include <bcm63xx_board.h>
#include <bcm63xx_cpu.h> #include <bcm63xx_cpu.h>
@@ -43,6 +45,12 @@ @@ -44,6 +46,12 @@
#define CFE_OFFSET_64K 0x10000 #define CFE_OFFSET_64K 0x10000
#define CFE_OFFSET_128K 0x20000 #define CFE_OFFSET_128K 0x20000
@ -22,7 +22,7 @@
static struct board_info board; static struct board_info board;
/* /*
@@ -708,6 +716,586 @@ static struct board_info __initdata boar @@ -709,6 +717,586 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
}; };
@ -609,7 +609,7 @@
#endif #endif
/* /*
@@ -741,6 +1329,11 @@ static const struct board_info __initdat @@ -742,6 +1330,11 @@ static const struct board_info __initdat
&board_96358vw2, &board_96358vw2,
&board_AGPFS0, &board_AGPFS0,
&board_DWVS0, &board_DWVS0,
@ -621,7 +621,7 @@
#endif #endif
}; };
@@ -795,6 +1388,16 @@ static void __init boardid_fixup(u8 *boo @@ -796,6 +1389,16 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name(); char *board_name = (char *)bcm63xx_nvram_get_name();

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -182,6 +182,38 @@ static struct board_info __initdata boar @@ -183,6 +183,38 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -39,7 +39,7 @@
#endif #endif
/* /*
@@ -1308,6 +1340,7 @@ static const struct board_info __initdat @@ -1309,6 +1341,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6338 #ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw, &board_96338gw,
&board_96338w, &board_96338w,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -705,6 +705,96 @@ static struct board_info __initdata boar @@ -706,6 +706,96 @@ static struct board_info __initdata boar
}, },
}; };
@ -97,7 +97,7 @@
static struct board_info __initdata board_AGPFS0 = { static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0", .name = "AGPF-S0",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@@ -1361,6 +1451,7 @@ static const struct board_info __initdat @@ -1362,6 +1452,7 @@ static const struct board_info __initdat
&board_96358vw, &board_96358vw,
&board_96358vw2, &board_96358vw2,
&board_AGPFS0, &board_AGPFS0,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -839,6 +839,59 @@ static struct board_info __initdata boar @@ -840,6 +840,59 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
}; };
@ -60,7 +60,7 @@
struct spi_gpio_platform_data nb4_spi_gpio_data = { struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK, .sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI, .mosi = NB4_SPI_GPIO_MOSI,
@@ -1453,6 +1506,7 @@ static const struct board_info __initdat @@ -1454,6 +1507,7 @@ static const struct board_info __initdat
&board_AGPFS0, &board_AGPFS0,
&board_CPVA642, &board_CPVA642,
&board_DWVS0, &board_DWVS0,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -599,6 +599,67 @@ static struct board_info __initdata boar @@ -600,6 +600,67 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -68,7 +68,7 @@
#endif #endif
/* /*
@@ -1498,6 +1559,7 @@ static const struct board_info __initdat @@ -1499,6 +1560,7 @@ static const struct board_info __initdat
&board_96348gw_a, &board_96348gw_a,
&board_rta1025w_16, &board_rta1025w_16,
&board_96348_D4PW, &board_96348_D4PW,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -468,6 +468,112 @@ static struct board_info __initdata boar @@ -469,6 +469,112 @@ static struct board_info __initdata boar
}, },
}; };
@ -113,7 +113,7 @@
static struct board_info __initdata board_FAST2404 = { static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404", .name = "F@ST2404",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1552,6 +1658,8 @@ static const struct board_info __initdat @@ -1553,6 +1659,8 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6348 #ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r, &board_96348r,
&board_96348gw, &board_96348gw,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -766,6 +766,76 @@ static struct board_info __initdata boar @@ -767,6 +767,76 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -77,7 +77,7 @@
#endif #endif
/* /*
@@ -1668,6 +1738,7 @@ static const struct board_info __initdat @@ -1669,6 +1739,7 @@ static const struct board_info __initdat
&board_rta1025w_16, &board_rta1025w_16,
&board_96348_D4PW, &board_96348_D4PW,
&board_spw500v, &board_spw500v,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1708,6 +1708,80 @@ static struct board_info __initdata boar @@ -1709,6 +1709,80 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices, .spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices), .num_spis = ARRAY_SIZE(nb4_spi_devices),
}; };
@ -81,7 +81,7 @@
#endif #endif
/* /*
@@ -1753,6 +1827,7 @@ static const struct board_info __initdat @@ -1754,6 +1828,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2, &board_nb4_ser_r2,
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -214,6 +214,43 @@ static struct board_info __initdata boar @@ -215,6 +215,43 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -44,7 +44,7 @@
#endif #endif
/* /*
@@ -1795,6 +1832,7 @@ static const struct board_info __initdat @@ -1796,6 +1833,7 @@ static const struct board_info __initdat
&board_96338gw, &board_96338gw,
&board_96338w, &board_96338w,
&board_96338w2_e7t, &board_96338w2_e7t,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1819,6 +1819,72 @@ static struct board_info __initdata boar @@ -1820,6 +1820,72 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -73,7 +73,7 @@
#endif #endif
/* /*
@@ -1866,6 +1932,7 @@ static const struct board_info __initdat @@ -1867,6 +1933,7 @@ static const struct board_info __initdat
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,
&board_HW553, &board_HW553,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -873,6 +873,63 @@ static struct board_info __initdata boar @@ -874,6 +874,63 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -64,7 +64,7 @@
#endif #endif
/* /*
@@ -1917,6 +1974,7 @@ static const struct board_info __initdat @@ -1918,6 +1975,7 @@ static const struct board_info __initdat
&board_96348_D4PW, &board_96348_D4PW,
&board_spw500v, &board_spw500v,
&board_96348sv, &board_96348sv,
@ -72,7 +72,7 @@
#endif #endif
#ifdef CONFIG_BCM63XX_CPU_6358 #ifdef CONFIG_BCM63XX_CPU_6358
@@ -2037,6 +2095,23 @@ void __init board_prom_init(void) @@ -2038,6 +2096,23 @@ void __init board_prom_init(void)
val &= MPI_CSBASE_BASE_MASK; val &= MPI_CSBASE_BASE_MASK;
} }
boot_addr = (u8 *)KSEG1ADDR(val); boot_addr = (u8 *)KSEG1ADDR(val);

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -437,6 +437,62 @@ static struct board_info __initdata boar @@ -438,6 +438,62 @@ static struct board_info __initdata boar
}, },
}; };
@ -63,7 +63,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -1975,6 +2031,7 @@ static const struct board_info __initdat @@ -1976,6 +2032,7 @@ static const struct board_info __initdat
&board_spw500v, &board_spw500v,
&board_96348sv, &board_96348sv,
&board_V2500V_BB, &board_V2500V_BB,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -493,6 +493,49 @@ static struct board_info __initdata boar @@ -494,6 +494,49 @@ static struct board_info __initdata boar
}; };
@ -50,7 +50,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -2032,6 +2075,7 @@ static const struct board_info __initdat @@ -2033,6 +2076,7 @@ static const struct board_info __initdat
&board_96348sv, &board_96348sv,
&board_V2500V_BB, &board_V2500V_BB,
&board_V2110, &board_V2110,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1252,6 +1252,8 @@ static struct board_info __initdata boar @@ -1253,6 +1253,8 @@ static struct board_info __initdata boar
.name = "DWV-S0", .name = "DWV-S0",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@ -9,7 +9,7 @@
.has_enet0 = 1, .has_enet0 = 1,
.has_enet1 = 1, .has_enet1 = 1,
.has_pci = 1, .has_pci = 1,
@@ -1267,6 +1269,7 @@ static struct board_info __initdata boar @@ -1268,6 +1270,7 @@ static struct board_info __initdata boar
}, },
.has_ohci0 = 1, .has_ohci0 = 1,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -536,6 +536,67 @@ static struct board_info __initdata boar @@ -537,6 +537,67 @@ static struct board_info __initdata boar
}, },
}; };
@ -68,7 +68,7 @@
static struct board_info __initdata board_96348gw = { static struct board_info __initdata board_96348gw = {
.name = "96348GW", .name = "96348GW",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,
@@ -2079,6 +2140,7 @@ static const struct board_info __initdat @@ -2080,6 +2141,7 @@ static const struct board_info __initdat
&board_V2500V_BB, &board_V2500V_BB,
&board_V2110, &board_V2110,
&board_ct536_ct5621, &board_ct536_ct5621,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -799,6 +799,7 @@ static struct board_info __initdata boar @@ -800,6 +800,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16", .name = "RTA1025W_16",
.expected_cpu_id = 0x6348, .expected_cpu_id = 0x6348,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1091,6 +1091,44 @@ static struct board_info __initdata boar @@ -1092,6 +1092,44 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -45,7 +45,7 @@
#endif #endif
/* /*
@@ -2142,6 +2180,7 @@ static const struct board_info __initdat @@ -2143,6 +2181,7 @@ static const struct board_info __initdat
&board_V2110, &board_V2110,
&board_ct536_ct5621, &board_ct536_ct5621,
&board_96348A_122, &board_96348A_122,

View file

@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2147,6 +2147,78 @@ static struct board_info __initdata boar @@ -2148,6 +2148,78 @@ static struct board_info __initdata boar
#endif #endif
/* /*
@ -89,7 +89,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
* all boards * all boards
*/ */
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
@@ -2198,6 +2270,10 @@ static const struct board_info __initdat @@ -2199,6 +2271,10 @@ static const struct board_info __initdat
&board_HW553, &board_HW553,
&board_spw303v, &board_spw303v,
#endif #endif
@ -100,7 +100,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
}; };
/* /*
@@ -2369,12 +2445,25 @@ void __init board_prom_init(void) @@ -2370,12 +2446,25 @@ void __init board_prom_init(void)
bcm63xx_pci_enabled = 1; bcm63xx_pci_enabled = 1;
if (BCMCPU_IS_6348()) if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI; val |= GPIO_MODE_6348_G2_PCI;

View file

@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2216,6 +2216,72 @@ static struct board_info __initdata boar @@ -2217,6 +2217,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1, .has_ohci0 = 1,
.has_ehci0 = 1, .has_ehci0 = 1,
}; };
@ -82,7 +82,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
#endif #endif
/* /*
@@ -2273,6 +2339,7 @@ static const struct board_info __initdat @@ -2274,6 +2340,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6368 #ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg, &board_96368mvwg,

View file

@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -64,13 +64,45 @@ static struct board_info __initdata boar @@ -65,13 +65,45 @@ static struct board_info __initdata boar
.has_uart0 = 1, .has_uart0 = 1,
.has_pci = 1, .has_pci = 1,
@ -56,7 +56,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
.name = "96328avng::power", .name = "96328avng::power",
.gpio = 4, .gpio = 4,
.active_low = 1, .active_low = 1,
@@ -87,7 +119,7 @@ static struct board_info __initdata boar @@ -88,7 +120,7 @@ static struct board_info __initdata boar
.active_low = 1, .active_low = 1,
}, },
{ {

View file

@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -125,6 +125,76 @@ static struct board_info __initdata boar @@ -126,6 +126,76 @@ static struct board_info __initdata boar
}, },
}, },
}; };
@ -86,7 +86,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
#endif #endif
/* /*
@@ -2322,6 +2392,7 @@ static struct board_info __initdata boar @@ -2323,6 +2393,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,

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 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -195,6 +195,110 @@ static struct board_info __initdata boar @@ -196,6 +196,111 @@ static struct board_info __initdata boar
}, },
}; };
@ -25,6 +25,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ .has_caldata = 1, + .has_caldata = 1,
+ .caldata = { + .caldata = {
+ { + {
+ .vendor = PCI_VENDOR_ID_ATHEROS,
+ .caldata_offset = 0x7d1000, + .caldata_offset = 0x7d1000,
+ .slot = 0, + .slot = 0,
+ .led_pin = -1, + .led_pin = -1,
@ -121,7 +122,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#endif #endif
/* /*
@@ -2393,6 +2497,7 @@ static const struct board_info __initdat @@ -2394,6 +2499,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,
&board_963281TAN, &board_963281TAN,

View file

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

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -51,6 +51,13 @@ @@ -52,6 +52,13 @@
#define NB4_SPI_GPIO_CLK 6 #define NB4_SPI_GPIO_CLK 6
#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X)) #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
@ -14,7 +14,7 @@
static struct board_info board; static struct board_info board;
/* /*
@@ -2262,6 +2269,111 @@ static struct board_info __initdata boar @@ -2264,6 +2271,111 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices), .num_spis = ARRAY_SIZE(nb4_spi_devices),
}; };
@ -126,7 +126,7 @@
static struct board_info __initdata board_HW553 = { static struct board_info __initdata board_HW553 = {
.name = "HW553", .name = "HW553",
.expected_cpu_id = 0x6358, .expected_cpu_id = 0x6358,
@@ -2593,6 +2705,7 @@ static const struct board_info __initdat @@ -2595,6 +2707,7 @@ static const struct board_info __initdat
&board_nb4_ser_r2, &board_nb4_ser_r2,
&board_nb4_fxc_r1, &board_nb4_fxc_r1,
&board_nb4_fxc_r2, &board_nb4_fxc_r2,

View file

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

View file

@ -8,7 +8,7 @@
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <bcm63xx_board.h> #include <bcm63xx_board.h>
#include <bcm63xx_cpu.h> #include <bcm63xx_cpu.h>
@@ -50,6 +51,8 @@ @@ -51,6 +52,8 @@
#define NB4_SPI_GPIO_MOSI 7 #define NB4_SPI_GPIO_MOSI 7
#define NB4_SPI_GPIO_CLK 6 #define NB4_SPI_GPIO_CLK 6
#define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X)) #define NB4_74HC64_GPIO(X) (NB4_74X164_GPIO_BASE + (X))
@ -17,7 +17,7 @@
#define CT6373_PID_OFFSET 0xff80 #define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64 #define CT6373_74X164_GPIO_BASE 64
@@ -2580,6 +2583,103 @@ static struct board_info __initdata boar @@ -2582,6 +2585,103 @@ static struct board_info __initdata boar
}; };
#endif #endif
@ -121,7 +121,7 @@
/* /*
* known 6368 boards * known 6368 boards
*/ */
@@ -2776,6 +2876,10 @@ static const struct board_info __initdat @@ -2778,6 +2878,10 @@ static const struct board_info __initdat
&board_DVAG3810BN, &board_DVAG3810BN,
#endif #endif
@ -132,7 +132,7 @@
#ifdef CONFIG_BCM63XX_CPU_6368 #ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg, &board_96368mvwg,
&board_96368mvngr, &board_96368mvngr,
@@ -2843,6 +2947,11 @@ static void __init boardid_fixup(u8 *boo @@ -2845,6 +2949,11 @@ static void __init boardid_fixup(u8 *boo
} }
} }

View file

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

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -206,6 +206,125 @@ static struct board_info __initdata boar @@ -207,6 +207,125 @@ static struct board_info __initdata boar
}, },
}; };
@ -126,7 +126,7 @@
static struct board_info __initdata board_dsl_274xb_f1 = { static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U", .name = "AW4339U",
.expected_cpu_id = 0x6328, .expected_cpu_id = 0x6328,
@@ -2874,6 +2993,7 @@ static const struct board_info __initdat @@ -2876,6 +2995,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,
&board_963281TAN, &board_963281TAN,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -136,6 +136,78 @@ static struct board_info __initdata boar @@ -137,6 +137,78 @@ static struct board_info __initdata boar
}, },
}; };
@ -79,7 +79,7 @@
static struct board_info __initdata board_963281TAN = { static struct board_info __initdata board_963281TAN = {
.name = "963281TAN", .name = "963281TAN",
.expected_cpu_id = 0x6328, .expected_cpu_id = 0x6328,
@@ -2992,6 +3064,7 @@ static struct board_info __initdata boar @@ -2994,6 +3066,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -136,6 +136,72 @@ static struct board_info __initdata boar @@ -137,6 +137,72 @@ static struct board_info __initdata boar
}, },
}; };
@ -73,7 +73,7 @@
static struct board_info __initdata board_96328A_1441N1 = { static struct board_info __initdata board_96328A_1441N1 = {
.name = "96328A-1441N1", .name = "96328A-1441N1",
.expected_cpu_id = 0x6328, .expected_cpu_id = 0x6328,
@@ -3064,6 +3130,7 @@ static struct board_info __initdata boar @@ -3066,6 +3132,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = { static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328 #ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng, &board_96328avng,

View file

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

View file

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

View file

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

View file

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

View file

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