bcm63xx: Add a fixup for rt2x00 devices.
authorJonas Gorski <jogo@openwrt.org>
Sat, 24 Nov 2012 14:19:22 +0000 (14:19 +0000)
committerJonas Gorski <jogo@openwrt.org>
Sat, 24 Nov 2012 14:19:22 +0000 (14:19 +0000)
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

75 files changed:
target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom [new file with mode: 0644]
target/linux/brcm63xx/patches-3.3/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.3/500-board-D4PW.patch
target/linux/brcm63xx/patches-3.3/501-board-NB4.patch
target/linux/brcm63xx/patches-3.3/502-board-96338W2_E7T.patch
target/linux/brcm63xx/patches-3.3/503-board-CPVA642.patch
target/linux/brcm63xx/patches-3.3/504-board_dsl_274xb_rev_c.patch
target/linux/brcm63xx/patches-3.3/505-board_spw500v.patch
target/linux/brcm63xx/patches-3.3/506-board_gw6200_gw6000.patch
target/linux/brcm63xx/patches-3.3/507-board-MAGIC.patch
target/linux/brcm63xx/patches-3.3/508-board_hw553.patch
target/linux/brcm63xx/patches-3.3/509-board_rta1320_16m.patch
target/linux/brcm63xx/patches-3.3/510-board_spw303v.patch
target/linux/brcm63xx/patches-3.3/511-board_V2500V.patch
target/linux/brcm63xx/patches-3.3/512-board_BTV2110.patch
target/linux/brcm63xx/patches-3.3/514-board_ct536_ct5621.patch
target/linux/brcm63xx/patches-3.3/515-board_DWV-S0_fixes.patch
target/linux/brcm63xx/patches-3.3/516-board_96348A-122.patch
target/linux/brcm63xx/patches-3.3/517-RTA1205W_16_uart_fixes.patch
target/linux/brcm63xx/patches-3.3/519_board_CPVA502plus.patch
target/linux/brcm63xx/patches-3.3/520-bcm63xx-add-support-for-96368MVWG-board.patch
target/linux/brcm63xx/patches-3.3/521-bcm63xx-add-support-for-96368MVNgr-board.patch
target/linux/brcm63xx/patches-3.3/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
target/linux/brcm63xx/patches-3.3/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
target/linux/brcm63xx/patches-3.3/524-board_dsl_274xb_rev_f.patch
target/linux/brcm63xx/patches-3.3/525-board_96348w3.patch
target/linux/brcm63xx/patches-3.3/526-board_CT6373-1.patch
target/linux/brcm63xx/patches-3.3/527-board_dva-g3810bn-tl-1.patch
target/linux/brcm63xx/patches-3.3/528-board_nb6.patch
target/linux/brcm63xx/patches-3.3/529-board_fast2604.patch
target/linux/brcm63xx/patches-3.3/530-board_963281T_TEF.patch
target/linux/brcm63xx/patches-3.3/531-board_96328A-1441N1.patch
target/linux/brcm63xx/patches-3.3/532-board_96328a-1241N.patch
target/linux/brcm63xx/patches-3.3/550-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.3/551-96348gw_a_leds.patch
target/linux/brcm63xx/patches-3.3/552-board_96348gw-10_reset_button.patch
target/linux/brcm63xx/patches-3.3/553-board_rta770bw.patch
target/linux/brcm63xx/patches-3.3/801-ssb_export_fallback_sprom.patch
target/linux/brcm63xx/patches-3.6/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch [new file with mode: 0644]
target/linux/brcm63xx/patches-3.6/500-board-D4PW.patch
target/linux/brcm63xx/patches-3.6/501-board-NB4.patch
target/linux/brcm63xx/patches-3.6/502-board-96338W2_E7T.patch
target/linux/brcm63xx/patches-3.6/503-board-CPVA642.patch
target/linux/brcm63xx/patches-3.6/504-board_dsl_274xb_rev_c.patch
target/linux/brcm63xx/patches-3.6/505-board_spw500v.patch
target/linux/brcm63xx/patches-3.6/506-board_gw6200_gw6000.patch
target/linux/brcm63xx/patches-3.6/507-board-MAGIC.patch
target/linux/brcm63xx/patches-3.6/508-board_hw553.patch
target/linux/brcm63xx/patches-3.6/509-board_rta1320_16m.patch
target/linux/brcm63xx/patches-3.6/510-board_spw303v.patch
target/linux/brcm63xx/patches-3.6/511-board_V2500V.patch
target/linux/brcm63xx/patches-3.6/512-board_BTV2110.patch
target/linux/brcm63xx/patches-3.6/514-board_ct536_ct5621.patch
target/linux/brcm63xx/patches-3.6/515-board_DWV-S0_fixes.patch
target/linux/brcm63xx/patches-3.6/516-board_96348A-122.patch
target/linux/brcm63xx/patches-3.6/517-RTA1205W_16_uart_fixes.patch
target/linux/brcm63xx/patches-3.6/519_board_CPVA502plus.patch
target/linux/brcm63xx/patches-3.6/520-bcm63xx-add-support-for-96368MVWG-board.patch
target/linux/brcm63xx/patches-3.6/521-bcm63xx-add-support-for-96368MVNgr-board.patch
target/linux/brcm63xx/patches-3.6/522-MIPS-BCM63XX-add-96328avng-reference-board.patch
target/linux/brcm63xx/patches-3.6/523-MIPS-BCM63XX-add-963281TAN-reference-board.patch
target/linux/brcm63xx/patches-3.6/524-board_dsl_274xb_rev_f.patch
target/linux/brcm63xx/patches-3.6/525-board_96348w3.patch
target/linux/brcm63xx/patches-3.6/526-board_CT6373-1.patch
target/linux/brcm63xx/patches-3.6/527-board_dva-g3810bn-tl-1.patch
target/linux/brcm63xx/patches-3.6/528-board_nb6.patch
target/linux/brcm63xx/patches-3.6/529-board_fast2604.patch
target/linux/brcm63xx/patches-3.6/530-board_963281T_TEF.patch
target/linux/brcm63xx/patches-3.6/531-board_96328A-1441N1.patch
target/linux/brcm63xx/patches-3.6/532-board_96328a-1241N.patch
target/linux/brcm63xx/patches-3.6/550-alice_gate2_leds.patch
target/linux/brcm63xx/patches-3.6/551-96348gw_a_leds.patch
target/linux/brcm63xx/patches-3.6/552-board_96348gw-10_reset_button.patch
target/linux/brcm63xx/patches-3.6/553-board_rta770bw.patch
target/linux/brcm63xx/patches-3.6/801-ssb_export_fallback_sprom.patch

diff --git a/target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/brcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
new file mode 100644 (file)
index 0000000..46be9d3
--- /dev/null
@@ -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
diff --git a/target/linux/brcm63xx/patches-3.3/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch b/target/linux/brcm63xx/patches-3.3/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
new file mode 100644 (file)
index 0000000..acda590
--- /dev/null
@@ -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 */
++
index d3d35d7a724c1fa91a746a95d7c5c55a8bbf6cf2..278f4267127dda495c5317e6ac1f66ef9d16a3ae 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
@@ -55,7 +55,7 @@
  #endif
  
  /*
-@@ -640,6 +688,7 @@ static const struct board_info __initdat
+@@ -641,6 +689,7 @@ static const struct board_info __initdat
        &board_DV201AMR,
        &board_96348gw_a,
        &board_rta1025w_16,
index 0f4c26a0b71479fb82dd2e4685c76bed4321ab99..61fc79343882e91402dfc3d0139d9a2faa418ebb 100644 (file)
@@ -9,7 +9,7 @@
  #include <asm/addrspace.h>
  #include <bcm63xx_board.h>
  #include <bcm63xx_cpu.h>
-@@ -43,6 +45,12 @@
+@@ -44,6 +46,12 @@
  #define CFE_OFFSET_64K                0x10000
  #define CFE_OFFSET_128K               0x20000
  
@@ -22,7 +22,7 @@
  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,
  };
  #endif
  
  /*
-@@ -696,6 +1284,11 @@ static const struct board_info __initdat
+@@ -697,6 +1285,11 @@ static const struct board_info __initdat
        &board_96358vw2,
        &board_AGPFS0,
        &board_DWVS0,
  #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);
        char *board_name = (char *)bcm63xx_nvram_get_name();
  
index 12c7ac4f120a10dd5f809d4a93c1a9f51ce0a0d8..e5a5a13eae263d27b555baa2ad9c136cb87bf786 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -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
        &board_96338gw,
        &board_96338w,
index 98c9375d8fe6a199dd459fe84341384237cb35c2..1b88865aa77f27e36254584922cfa1b5a8c72843 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "AGPF-S0",
        .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_96358vw2,
        &board_AGPFS0,
index ea8ba59800cf89ebdec0628bc28c7f03d418ea77..0384738ad5b180b9495639bbbae75824bca19780 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
  
@@ -60,7 +60,7 @@
  struct spi_gpio_platform_data nb4_spi_gpio_data = {
        .sck            = NB4_SPI_GPIO_CLK,
        .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_CPVA642,
        &board_DWVS0,
index 584efd1e904d03712608f382483244814f31b189..cea37300ffec2b8db842ca6b2885072dbffbe962 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1453,6 +1514,7 @@ static const struct board_info __initdat
+@@ -1454,6 +1515,7 @@ static const struct board_info __initdat
        &board_96348gw_a,
        &board_rta1025w_16,
        &board_96348_D4PW,
index 78e06d842f03a6bdf471931444940ca95dc03336..7b90e29c75c7a505e853252f6c00a4bad94da8df 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
        },
  };
  
  static struct board_info __initdata board_FAST2404 = {
        .name                           = "F@ST2404",
        .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
        &board_96348r,
        &board_96348gw,
index 7b96f32110956bc77212d14083a7ac3a1036afba..cdde0268643df245ccb00bea499e2d03343b4482 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1623,6 +1693,7 @@ static const struct board_info __initdat
+@@ -1624,6 +1694,7 @@ static const struct board_info __initdat
        &board_rta1025w_16,
        &board_96348_D4PW,
        &board_spw500v,
index dc9a744ef4dafb9708bdb3194ff55d0f528318a4..9b2d34d5c7fa88431cb63e9a5875b3145afc0874 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
        .num_spis = ARRAY_SIZE(nb4_spi_devices),
  };
@@ -81,7 +81,7 @@
  #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_fxc_r1,
        &board_nb4_fxc_r2,
index 11c0903a90ab2a9378ee969c44ebc7e09e067e94..9301e143844cd30c27ce4cb92024151064fc3125 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1750,6 +1787,7 @@ static const struct board_info __initdat
+@@ -1751,6 +1788,7 @@ static const struct board_info __initdat
        &board_96338gw,
        &board_96338w,
        &board_96338w2_e7t,
index 2ff60a4bc19f6bafb2882d65a1f19442f2f3e8b7..6ec55a50d8459de8f19ef0c92b28931217dfee3d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -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_r2,
        &board_HW553,
index ff52497d4137fdc3e61aabdb7f923c337d5dc5cd..86b7fe1eb8439f9f41a193a0dbb00c13c3351c09 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1872,6 +1929,7 @@ static const struct board_info __initdat
+@@ -1873,6 +1930,7 @@ static const struct board_info __initdat
        &board_96348_D4PW,
        &board_spw500v,
        &board_96348sv,
@@ -72,7 +72,7 @@
  #endif
  
  #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;
        }
        boot_addr = (u8 *)KSEG1ADDR(val);
index 03d9b41444cc547994e28427f11ee62d661daa20..a123e247277dd2314c06e2ea9e18685dfe71bab6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "96348GW",
        .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_96348sv,
        &board_V2500V_BB,
index 41e37c8284fde0d0ebbd0e8886dc994e13b4b941..43a5a490f7efa786a1d95fdd528ec802b4f5d583 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "96348GW",
        .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_V2500V_BB,
        &board_V2110,
index 22d7a183645472828e999034dbbdec1f038c95cc..9c73e91567ce75e75e0d5aecc017858fe8f97dce 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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",
        .expected_cpu_id                = 0x6358,
  
@@ -9,7 +9,7 @@
        .has_enet0                      = 1,
        .has_enet1                      = 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,
index dbc9aeb33b4111b082b22517ddff3e352845e40e..f3a9bfc456500271a33ede795b7312620fd7cf18 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "96348GW",
        .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_V2110,
        &board_ct536_ct5621,
index 63eccd26cfff00633db12f642f6d6703203ec9f4..95082c8b8f0bb2517213e529cd35c5efcd64b45b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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",
        .expected_cpu_id                = 0x6348,
  
index 07adb376f899f217184e45cc6c2f870c0295eca5..3da5602fc818a1bc8b4669164dba3f10cb5c0d77 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -2097,6 +2135,7 @@ static const struct board_info __initdat
+@@ -2098,6 +2136,7 @@ static const struct board_info __initdat
        &board_V2110,
        &board_ct536_ct5621,
        &board_96348A_122,
index f2e5dba04da9c19da47dad14aacd7c45fac0debd..2e315e564c9e6b8f29da21ed93550dd0d9caede5 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
 
 --- a/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
  
  /*
@@ -89,7 +89,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
   * all 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_spw303v,
  #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;
                if (BCMCPU_IS_6348())
                        val |= GPIO_MODE_6348_G2_PCI;
index 8ddc6dbc542e0126371f96fe0329dec90d755372..45f3b0b0b6bb00317c2d7c06743e971dae3c309e 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
 
 --- a/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_ehci0 = 1,
  };
@@ -82,7 +82,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
  #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
        &board_96368mvwg,
index 59c6fe2853f045557769d1214c19429cea227346..8828ac13dc2216b0e3beb53f35d48b459d9fdcf1 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
 
 --- a/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;
  
  /*
@@ -90,7 +90,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
   * known 6338 boards
   */
  #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
   */
  static const struct board_info __initdata *bcm963xx_boards[] = {
index 1b5d369e8fa436e9094f6a022ac8257f1b43d243..e3bc61e686c29082449675fc915111191a0946fc 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
 
 --- a/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
  
  /*
-@@ -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[] = {
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index a3b630eeb5b5aa357798d55b81a44bbf02edd6c3..ec0efca9467140a883196a90d34d4171373fcdf6 100644 (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,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,
 +      .caldata = {
 +              {
++                      .vendor         = PCI_VENDOR_ID_ATHEROS,
 +                      .caldata_offset = 0x7d1000,
 +                      .slot           = 0,
 +                      .led_pin        = -1,
@@ -121,7 +122,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
  #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
        &board_96328avng,
        &board_963281TAN,
index 837b70a103dd82374d6ac01c4a9ebea63527741b..2e249f0f94be5ef9a5f4513cce0176d15c17c85a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -2527,6 +2578,7 @@ static const struct board_info __initdat
+@@ -2529,6 +2580,7 @@ static const struct board_info __initdat
        &board_ct536_ct5621,
        &board_96348A_122,
        &board_CPVA502plus,
index e399cff618a80677d581654ccd40f426b12d5aee..20ef1e5be41765aede981083f0cdded7fcb688f7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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_74HC64_GPIO(X)    (NB4_74X164_GPIO_BASE + (X))
  
@@ -14,7 +14,7 @@
  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),
  };
  
  static struct board_info __initdata board_HW553 = {
        .name                           = "HW553",
        .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_fxc_r1,
        &board_nb4_fxc_r2,
index cd9ab7996c3fdb5266f505bd0c04679bb1cc893f..19ffc13ad77f02eb7b8f7e661c1bb2184c1b9858 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -2708,6 +2773,7 @@ static const struct board_info __initdat
+@@ -2710,6 +2775,7 @@ static const struct board_info __initdat
        &board_ct6373_1,
        &board_HW553,
        &board_spw303v,
index c9ff9178558c5bbc46e76df7a41db40db88798de..297759f109ed22c9001cba92367fabd6c631c917 100644 (file)
@@ -8,7 +8,7 @@
  #include <asm/addrspace.h>
  #include <bcm63xx_board.h>
  #include <bcm63xx_cpu.h>
-@@ -50,6 +51,8 @@
+@@ -51,6 +52,8 @@
  #define NB4_SPI_GPIO_MOSI     7
  #define NB4_SPI_GPIO_CLK      6
  #define NB4_74HC64_GPIO(X)    (NB4_74X164_GPIO_BASE + (X))
@@ -17,7 +17,7 @@
  
  #define CT6373_PID_OFFSET             0xff80
  #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
  
  /*
   * 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,
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
-@@ -2843,6 +2947,11 @@ static void __init boardid_fixup(u8 *boo
+@@ -2845,6 +2949,11 @@ static void __init boardid_fixup(u8 *boo
                }
        }
  
index f965f7b523c09d451b0a9bef42cf84bd2d9738e0..c09e07f0ea10367ef8d9e5f5753aa5a6cf96fa7d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
  
@@ -56,7 +56,7 @@
  static struct board_info __initdata board_rta1025w_16 = {
        .name                           = "RTA1025W_16",
        .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_11,
        &board_FAST2404,
index 080aa44a4610bc401dde8000532eefcfc4b344ee..acd4ca49b1cdd7a87cd776f868990774f91e4f69 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
        },
  };
  
  static struct board_info __initdata board_dsl_274xb_f1 = {
        .name                           = "AW4339U",
        .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
        &board_96328avng,
        &board_963281TAN,
index 7c93af8aaf13ed725f2a53800f04d499405dd601..82800a7bdabd6c5e4590779ab7a71962d978f21b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "963281TAN",
        .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[] = {
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index 2516e09911d5c4026f15e2ee010e372a19949d18..39daedf6002fe07079fa9671a5fd2fe59b6271fc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                                   = "96328A-1441N1",
        .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[] = {
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index eb5ca0893832af91ba080eb912c4b0afca1f9250..382e98e542b3d8b98158a21bba40b4b1322a7613 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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_ehci0 = 1,
index 5060a9078350cd2ca2457a64d1a9479f9fecce1f..37d838b190881bb6464cf618eb6ec18f3298927d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
index e5663b0f3122a50d63c055654f786e193a564f49..9a551d9654e67c861d7606324f454d0f1e491b6f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
                },
        },
index 2edae51e399d25ff386389d1004cb8b19bc185ad..9de099767435a8945a5eb84ce6567953e7fef16c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
@@ -54,7 +54,7 @@
  #endif
  
  /*
-@@ -3261,6 +3308,7 @@ static const struct board_info __initdat
+@@ -3263,6 +3310,7 @@ static const struct board_info __initdat
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6345
        &board_96345gw2,
index ab1f5440a900bc7f48359b8e18b87f1763ea1211..c517fb46f22309f3d910a8aee323a96ac244945f 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/spi/spi.h>
  #include <linux/spi/spi_gpio.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
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -17,7 +17,7 @@
        .revision               = 0x02,
        .board_rev              = 0x17,
        .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_hi          = 0x0000,
  };
diff --git a/target/linux/brcm63xx/patches-3.6/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch b/target/linux/brcm63xx/patches-3.6/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
new file mode 100644 (file)
index 0000000..34ccc04
--- /dev/null
@@ -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 */
++
index 4e3993323c88f0c7e44c3b1bf9a5c7816a65be77..18ba06c52c0d1632d11a0221ce575aa538f967fb 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
@@ -55,7 +55,7 @@
  #endif
  
  /*
-@@ -685,6 +733,7 @@ static const struct board_info __initdat
+@@ -686,6 +734,7 @@ static const struct board_info __initdat
        &board_DV201AMR,
        &board_96348gw_a,
        &board_rta1025w_16,
index e1b7f0e31bbfd1d952076c6e630d181e04ba8753..21ed4422e5be4607193062bdcc90324ce211f68a 100644 (file)
@@ -9,7 +9,7 @@
  #include <asm/addrspace.h>
  #include <bcm63xx_board.h>
  #include <bcm63xx_cpu.h>
-@@ -43,6 +45,12 @@
+@@ -44,6 +46,12 @@
  #define CFE_OFFSET_64K                0x10000
  #define CFE_OFFSET_128K               0x20000
  
@@ -22,7 +22,7 @@
  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,
  };
  #endif
  
  /*
-@@ -741,6 +1329,11 @@ static const struct board_info __initdat
+@@ -742,6 +1330,11 @@ static const struct board_info __initdat
        &board_96358vw2,
        &board_AGPFS0,
        &board_DWVS0,
  #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);
        char *board_name = (char *)bcm63xx_nvram_get_name();
  
index 748b19518043fe2031afa73f92126c67ca12582b..cbeb31b16335d0bb3df9ca937492473ed68ac83e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -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
        &board_96338gw,
        &board_96338w,
index f87252bb9f809a58e8127e53fa5969053a4288fa..c20c5bcb562489670a5ff1cc08cfbbcf31a3fe5d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "AGPF-S0",
        .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_96358vw2,
        &board_AGPFS0,
index 890847ed4d905080056902b14c6a3895766dd825..de504ec7aca420244bc864d37840dc53b77e3bec 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
  
@@ -60,7 +60,7 @@
  struct spi_gpio_platform_data nb4_spi_gpio_data = {
        .sck            = NB4_SPI_GPIO_CLK,
        .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_CPVA642,
        &board_DWVS0,
index 3c9cae4e2c37c51cf1f78708fe29380c4159a9c6..277210b3987a6a9137b77e7415ca0da549433f36 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1498,6 +1559,7 @@ static const struct board_info __initdat
+@@ -1499,6 +1560,7 @@ static const struct board_info __initdat
        &board_96348gw_a,
        &board_rta1025w_16,
        &board_96348_D4PW,
index a265249ec2a5ba1815d7a31ebb083665df908e5e..35cc222b5303d1365ec16db8db2b729f3bdaa8b0 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
        },
  };
  
  static struct board_info __initdata board_FAST2404 = {
        .name                           = "F@ST2404",
        .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
        &board_96348r,
        &board_96348gw,
index 2fa0bfea7200b530cb3e49eba5c36d86261b1e55..bbb163cb3f8b13adf1ab5c33a2aa6ec87b32db28 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1668,6 +1738,7 @@ static const struct board_info __initdat
+@@ -1669,6 +1739,7 @@ static const struct board_info __initdat
        &board_rta1025w_16,
        &board_96348_D4PW,
        &board_spw500v,
index 451cf412cb5af82c4601af652d92d0161146d62d..ff7d1c2c5a6d0ece4da23a14c1797e63ec32663a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
        .num_spis = ARRAY_SIZE(nb4_spi_devices),
  };
@@ -81,7 +81,7 @@
  #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_fxc_r1,
        &board_nb4_fxc_r2,
index a0a2e961dae11231fa56f92e5f6d8b8c194a5dfe..7bc815e34e4060d1bc554b1362b8e2cdf2bd6732 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1795,6 +1832,7 @@ static const struct board_info __initdat
+@@ -1796,6 +1833,7 @@ static const struct board_info __initdat
        &board_96338gw,
        &board_96338w,
        &board_96338w2_e7t,
index 188444af8afe1133182f3898ac982c07922a8e7c..4af8a6f53ba5ce20b1aacadb7e41e34f4c0c6a39 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -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_r2,
        &board_HW553,
index 1bd713a8201de12bcd63d25d7d3b6f07c26c7caa..87341380163b23b4dadb30764c35ad572f75ff64 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -1917,6 +1974,7 @@ static const struct board_info __initdat
+@@ -1918,6 +1975,7 @@ static const struct board_info __initdat
        &board_96348_D4PW,
        &board_spw500v,
        &board_96348sv,
@@ -72,7 +72,7 @@
  #endif
  
  #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;
        }
        boot_addr = (u8 *)KSEG1ADDR(val);
index 67eeb7a121d7e1d33f2afaba4c56d6ecaf510399..f05385a64f29ef48e066ced8089637f1a1d84d74 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "96348GW",
        .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_96348sv,
        &board_V2500V_BB,
index bee908ad44b716571745f457928622d67322d097..446c9da4c560d1c3691057de46d20055a54abe2d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "96348GW",
        .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_V2500V_BB,
        &board_V2110,
index 34b8e1b7654c7bbe6a35bbaad86392f78f0ed97f..8c802e0a7cfedcb33846de17d7675fa034fc7679 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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",
        .expected_cpu_id                = 0x6358,
  
@@ -9,7 +9,7 @@
        .has_enet0                      = 1,
        .has_enet1                      = 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,
index b53e3a7d39e4dec563936e19ea39333e2194d2be..fd8ac19c616b363985358d81150991502d0c50a8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "96348GW",
        .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_V2110,
        &board_ct536_ct5621,
index b8223c7745e88d4f3d54fdf616e1b0413db588b0..01c16baf57f7f6f73de21a0a66a16a424d31684d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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",
        .expected_cpu_id                = 0x6348,
  
index 38f4100b7a040109f9ce61f9ecca2a7b0aec74af..c6237a6d5778ef0f82be298322e60b28fceb2996 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -2142,6 +2180,7 @@ static const struct board_info __initdat
+@@ -2143,6 +2181,7 @@ static const struct board_info __initdat
        &board_V2110,
        &board_ct536_ct5621,
        &board_96348A_122,
index 6dc5ef34728243587129fb7a053dc4244ca8c3df..85e275303a7d052e4dbb1d4ae3ee1c56c2768174 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
 
 --- a/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
  
  /*
@@ -89,7 +89,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
   * all 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_spw303v,
  #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;
                if (BCMCPU_IS_6348())
                        val |= GPIO_MODE_6348_G2_PCI;
index 4b45fdf22e4223567b698f268f704010d5be083b..f7b97625544c38f77da9723dc319c1f0328f7566 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
 
 --- a/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_ehci0 = 1,
  };
@@ -82,7 +82,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
  #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
        &board_96368mvwg,
index 7e04614803b558662dc8b5722e8c7cc360660adb..6d4a101ecda75e37c2fa00333d30de3c235b82f9 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
 
 --- a/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_pci                        = 1,
  
@@ -56,7 +56,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
                        .name           = "96328avng::power",
                        .gpio           = 4,
                        .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,
                },
                {
index 1b5d369e8fa436e9094f6a022ac8257f1b43d243..e3bc61e686c29082449675fc915111191a0946fc 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
 
 --- a/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
  
  /*
-@@ -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[] = {
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index a3b630eeb5b5aa357798d55b81a44bbf02edd6c3..ec0efca9467140a883196a90d34d4171373fcdf6 100644 (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,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,
 +      .caldata = {
 +              {
++                      .vendor         = PCI_VENDOR_ID_ATHEROS,
 +                      .caldata_offset = 0x7d1000,
 +                      .slot           = 0,
 +                      .led_pin        = -1,
@@ -121,7 +122,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
  #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
        &board_96328avng,
        &board_963281TAN,
index 837b70a103dd82374d6ac01c4a9ebea63527741b..2e249f0f94be5ef9a5f4513cce0176d15c17c85a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -2527,6 +2578,7 @@ static const struct board_info __initdat
+@@ -2529,6 +2580,7 @@ static const struct board_info __initdat
        &board_ct536_ct5621,
        &board_96348A_122,
        &board_CPVA502plus,
index e399cff618a80677d581654ccd40f426b12d5aee..20ef1e5be41765aede981083f0cdded7fcb688f7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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_74HC64_GPIO(X)    (NB4_74X164_GPIO_BASE + (X))
  
@@ -14,7 +14,7 @@
  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),
  };
  
  static struct board_info __initdata board_HW553 = {
        .name                           = "HW553",
        .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_fxc_r1,
        &board_nb4_fxc_r2,
index cd9ab7996c3fdb5266f505bd0c04679bb1cc893f..19ffc13ad77f02eb7b8f7e661c1bb2184c1b9858 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
  
  /*
-@@ -2708,6 +2773,7 @@ static const struct board_info __initdat
+@@ -2710,6 +2775,7 @@ static const struct board_info __initdat
        &board_ct6373_1,
        &board_HW553,
        &board_spw303v,
index c9ff9178558c5bbc46e76df7a41db40db88798de..297759f109ed22c9001cba92367fabd6c631c917 100644 (file)
@@ -8,7 +8,7 @@
  #include <asm/addrspace.h>
  #include <bcm63xx_board.h>
  #include <bcm63xx_cpu.h>
-@@ -50,6 +51,8 @@
+@@ -51,6 +52,8 @@
  #define NB4_SPI_GPIO_MOSI     7
  #define NB4_SPI_GPIO_CLK      6
  #define NB4_74HC64_GPIO(X)    (NB4_74X164_GPIO_BASE + (X))
@@ -17,7 +17,7 @@
  
  #define CT6373_PID_OFFSET             0xff80
  #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
  
  /*
   * 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,
  #endif
  
  #ifdef CONFIG_BCM63XX_CPU_6368
        &board_96368mvwg,
        &board_96368mvngr,
-@@ -2843,6 +2947,11 @@ static void __init boardid_fixup(u8 *boo
+@@ -2845,6 +2949,11 @@ static void __init boardid_fixup(u8 *boo
                }
        }
  
index f965f7b523c09d451b0a9bef42cf84bd2d9738e0..c09e07f0ea10367ef8d9e5f5753aa5a6cf96fa7d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
  
@@ -56,7 +56,7 @@
  static struct board_info __initdata board_rta1025w_16 = {
        .name                           = "RTA1025W_16",
        .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_11,
        &board_FAST2404,
index 080aa44a4610bc401dde8000532eefcfc4b344ee..acd4ca49b1cdd7a87cd776f868990774f91e4f69 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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
        },
  };
  
  static struct board_info __initdata board_dsl_274xb_f1 = {
        .name                           = "AW4339U",
        .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
        &board_96328avng,
        &board_963281TAN,
index 7c93af8aaf13ed725f2a53800f04d499405dd601..82800a7bdabd6c5e4590779ab7a71962d978f21b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                           = "963281TAN",
        .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[] = {
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index 2516e09911d5c4026f15e2ee010e372a19949d18..39daedf6002fe07079fa9671a5fd2fe59b6271fc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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 = {
        .name                                   = "96328A-1441N1",
        .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[] = {
  #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
index eb5ca0893832af91ba080eb912c4b0afca1f9250..382e98e542b3d8b98158a21bba40b4b1322a7613 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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_ehci0 = 1,
index 5060a9078350cd2ca2457a64d1a9479f9fecce1f..37d838b190881bb6464cf618eb6ec18f3298927d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
index e5663b0f3122a50d63c055654f786e193a564f49..9a551d9654e67c861d7606324f454d0f1e491b6f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
                },
        },
index 2edae51e399d25ff386389d1004cb8b19bc185ad..9de099767435a8945a5eb84ce6567953e7fef16c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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,
  };
@@ -54,7 +54,7 @@
  #endif
  
  /*
-@@ -3261,6 +3308,7 @@ static const struct board_info __initdat
+@@ -3263,6 +3310,7 @@ static const struct board_info __initdat
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6345
        &board_96345gw2,
index ab1f5440a900bc7f48359b8e18b87f1763ea1211..c517fb46f22309f3d910a8aee323a96ac244945f 100644 (file)
@@ -8,7 +8,7 @@
  #include <linux/spi/spi.h>
  #include <linux/spi/spi_gpio.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
   */
  #ifdef CONFIG_SSB_PCIHOST
@@ -17,7 +17,7 @@
        .revision               = 0x02,
        .board_rev              = 0x17,
        .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_hi          = 0x0000,
  };