don't hardcode the cpu frequency for bcm47xx in linux 2.6
authorFelix Fietkau <nbd@openwrt.org>
Sun, 15 Oct 2006 21:55:51 +0000 (21:55 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 15 Oct 2006 21:55:51 +0000 (21:55 +0000)
SVN-Revision: 5133

target/linux/brcm-2.6/patches/001-bcm947xx.patch

index be3ac9429c1d3e44c534097646da89a92ff68dce..380e8190ed52ba10207da96196a3fbfeee4d5402 100644 (file)
@@ -1,6 +1,6 @@
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/bcmsrom.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/bcmsrom.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/bcmsrom.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/bcmsrom.c    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/bcmsrom.c linux.dev/arch/mips/bcm947xx/broadcom/bcmsrom.c
+--- linux.old/arch/mips/bcm947xx/broadcom/bcmsrom.c    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/bcmsrom.c    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,481 @@
 +/*
 + *  Misc useful routines to access NIC SROM/OTP .
@@ -483,9 +483,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/bcmsrom.c linux-2.6.17-owrt/a
 +      return err;
 +}
 +
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/bcmutils.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/bcmutils.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/bcmutils.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/bcmutils.c   2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/bcmutils.c linux.dev/arch/mips/bcm947xx/broadcom/bcmutils.c
+--- linux.old/arch/mips/bcm947xx/broadcom/bcmutils.c   1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/bcmutils.c   2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,356 @@
 +/*
 + * Misc useful OS-independent routines.
@@ -843,9 +843,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/bcmutils.c linux-2.6.17-owrt/
 +#define CNBUFS                5
 +
 +#endif
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/cfe_env.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/cfe_env.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/cfe_env.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/cfe_env.c    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/cfe_env.c linux.dev/arch/mips/bcm947xx/broadcom/cfe_env.c
+--- linux.old/arch/mips/bcm947xx/broadcom/cfe_env.c    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/cfe_env.c    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,234 @@
 +/*
 + * NVRAM variable manipulation (Linux kernel half)
@@ -1081,9 +1081,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/cfe_env.c linux-2.6.17-owrt/a
 +
 +}
 +
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/linux_osl.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/linux_osl.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/linux_osl.c       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/linux_osl.c  2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/linux_osl.c linux.dev/arch/mips/bcm947xx/broadcom/linux_osl.c
+--- linux.old/arch/mips/bcm947xx/broadcom/linux_osl.c  1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/linux_osl.c  2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,102 @@
 +/*
 + * Linux OS Independent Layer
@@ -1187,9 +1187,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/linux_osl.c linux-2.6.17-owrt
 +      }
 +}
 +
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/Makefile linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/Makefile
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/Makefile  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/Makefile     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/Makefile linux.dev/arch/mips/bcm947xx/broadcom/Makefile
+--- linux.old/arch/mips/bcm947xx/broadcom/Makefile     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/Makefile     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,6 @@
 +#
 +# Makefile for the BCM47xx specific kernel interface routines
@@ -1197,9 +1197,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/Makefile linux-2.6.17-owrt/ar
 +#
 + 
 +obj-y := sbutils.o linux_osl.o bcmsrom.o bcmutils.o sbmips.o sbpci.o sflash.o nvram.o cfe_env.o
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/nvram.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/nvram.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/nvram.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/nvram.c      2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/nvram.c linux.dev/arch/mips/bcm947xx/broadcom/nvram.c
+--- linux.old/arch/mips/bcm947xx/broadcom/nvram.c      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/nvram.c      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,192 @@
 +/*
 + * NVRAM variable manipulation (Linux kernel half)
@@ -1393,10 +1393,10 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/nvram.c linux-2.6.17-owrt/arc
 +}
 +
 +EXPORT_SYMBOL(nvram_get);
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sbmips.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sbmips.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/sbmips.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sbmips.c     2006-06-18 15:29:23.000000000 +0200
-@@ -0,0 +1,1055 @@
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm947xx/broadcom/sbmips.c
+--- linux.old/arch/mips/bcm947xx/broadcom/sbmips.c     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/sbmips.c     2006-10-15 23:46:15.000000000 +0200
+@@ -0,0 +1,1115 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane MIPS core routines
 + *
@@ -2452,9 +2452,69 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sbmips.c linux-2.6.17-owrt/ar
 +      return ret;
 +}
 +
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sbpci.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sbpci.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/sbpci.c   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sbpci.c      2006-06-18 15:29:23.000000000 +0200
++uint32
++BCMINITFN(sb_cpu_clock)(sb_t *sbh)
++{
++      extifregs_t *eir;
++      chipcregs_t *cc;
++      uint32 n, m;
++      uint idx;
++      uint32 pll_type, rate = 0;
++
++      /* get index of the current core */
++      idx = sb_coreidx(sbh);
++      pll_type = PLL_TYPE1;
++
++      /* switch to extif or chipc core */
++      if ((eir = (extifregs_t *) sb_setcore(sbh, SB_EXTIF, 0))) {
++              n = R_REG(&eir->clockcontrol_n);
++              m = R_REG(&eir->clockcontrol_sb);
++      } else if ((cc = (chipcregs_t *) sb_setcore(sbh, SB_CC, 0))) {
++              pll_type = R_REG(&cc->capabilities) & CAP_PLL_MASK;
++              n = R_REG(&cc->clockcontrol_n);
++              if ((pll_type == PLL_TYPE2) ||
++                  (pll_type == PLL_TYPE4) ||
++                  (pll_type == PLL_TYPE6) ||
++                  (pll_type == PLL_TYPE7))
++                      m = R_REG(&cc->clockcontrol_mips);
++              else if (pll_type == PLL_TYPE5) {
++                      rate = 200000000;
++                      goto out;
++              }
++              else if (pll_type == PLL_TYPE3) {
++                      if (sb_chip(sbh) == 0x5365) {
++                              rate = 200000000;
++                              goto out;
++                      }
++                      /* 5350 uses m2 to control mips */
++                      else
++                              m = R_REG(&cc->clockcontrol_m2);
++              } else
++                      m = R_REG(&cc->clockcontrol_sb);
++      } else
++              goto out;
++
++
++      /* calculate rate */
++      if (BCMINIT(sb_chip)(sbh) == 0x5365)
++              rate = 100000000;
++      else
++              rate = sb_clock_rate(pll_type, n, m);
++
++      if (pll_type == PLL_TYPE6)
++              rate = SB2MIPS_T6(rate);
++
++out:
++      /* switch back to previous core */
++      sb_setcoreidx(sbh, idx);
++
++      return rate;
++}
++
++
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbpci.c linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c
+--- linux.old/arch/mips/bcm947xx/broadcom/sbpci.c      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,534 @@
 +/*
 + * Low-Level PCI and SB support for BCM47xx
@@ -2990,9 +3050,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sbpci.c linux-2.6.17-owrt/arc
 +      return 0;
 +}
 +
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sbutils.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sbutils.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/sbutils.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sbutils.c    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbutils.c linux.dev/arch/mips/bcm947xx/broadcom/sbutils.c
+--- linux.old/arch/mips/bcm947xx/broadcom/sbutils.c    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/sbutils.c    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,2370 @@
 +/*
 + * Misc utility routines for accessing chip-specific features
@@ -5364,9 +5424,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sbutils.c linux-2.6.17-owrt/a
 +EXPORT_SYMBOL(sb_gpiosetcore);
 +EXPORT_SYMBOL(sb_gpiotimerval);
 +EXPORT_SYMBOL(sb_watchdog);
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sflash.c linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sflash.c
---- linux-2.6.17/arch/mips/bcm947xx/broadcom/sflash.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/broadcom/sflash.c     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/broadcom/sflash.c linux.dev/arch/mips/bcm947xx/broadcom/sflash.c
+--- linux.old/arch/mips/bcm947xx/broadcom/sflash.c     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/broadcom/sflash.c     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,418 @@
 +/*
 + * Broadcom SiliconBackplane chipcommon serial flash interface
@@ -5786,9 +5846,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/broadcom/sflash.c linux-2.6.17-owrt/ar
 +      return ret;
 +}
 +
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmdevs.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmdevs.h
---- linux-2.6.17/arch/mips/bcm947xx/include/bcmdevs.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmdevs.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/bcmdevs.h linux.dev/arch/mips/bcm947xx/include/bcmdevs.h
+--- linux.old/arch/mips/bcm947xx/include/bcmdevs.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/bcmdevs.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,391 @@
 +/*
 + * Broadcom device-specific manifest constants.
@@ -6181,9 +6241,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmdevs.h linux-2.6.17-owrt/ar
 +#define GPIO_NUMPINS          16
 +
 +#endif /* _BCMDEVS_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmendian.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmendian.h
---- linux-2.6.17/arch/mips/bcm947xx/include/bcmendian.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmendian.h   2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/bcmendian.h linux.dev/arch/mips/bcm947xx/include/bcmendian.h
+--- linux.old/arch/mips/bcm947xx/include/bcmendian.h   1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/bcmendian.h   2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,152 @@
 +/*
 + * local version of endian.h - byte order defines
@@ -6337,9 +6397,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmendian.h linux-2.6.17-owrt/
 +)
 +
 +#endif /* _BCMENDIAN_H_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmnvram.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmnvram.h
---- linux-2.6.17/arch/mips/bcm947xx/include/bcmnvram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmnvram.h    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/bcmnvram.h linux.dev/arch/mips/bcm947xx/include/bcmnvram.h
+--- linux.old/arch/mips/bcm947xx/include/bcmnvram.h    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/bcmnvram.h    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,95 @@
 +/*
 + * NVRAM variable manipulation
@@ -6436,9 +6496,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmnvram.h linux-2.6.17-owrt/a
 +#define NVRAM_MAX_PARAM_LEN 64
 +
 +#endif /* _bcmnvram_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmsrom.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmsrom.h
---- linux-2.6.17/arch/mips/bcm947xx/include/bcmsrom.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmsrom.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/bcmsrom.h linux.dev/arch/mips/bcm947xx/include/bcmsrom.h
+--- linux.old/arch/mips/bcm947xx/include/bcmsrom.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/bcmsrom.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,23 @@
 +/*
 + * Misc useful routines to access NIC local SROM/OTP .
@@ -6463,9 +6523,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmsrom.h linux-2.6.17-owrt/ar
 +extern int srom_write(uint bus, void *curmap, osl_t *osh, uint byteoff, uint nbytes, uint16 *buf);
 +
 +#endif        /* _bcmsrom_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmutils.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmutils.h
---- linux-2.6.17/arch/mips/bcm947xx/include/bcmutils.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/bcmutils.h    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/bcmutils.h linux.dev/arch/mips/bcm947xx/include/bcmutils.h
+--- linux.old/arch/mips/bcm947xx/include/bcmutils.h    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/bcmutils.h    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,308 @@
 +/*
 + * Misc useful os-independent macros and functions.
@@ -6775,9 +6835,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bcmutils.h linux-2.6.17-owrt/a
 +extern uint bcm_mkiovar(char *name, char *data, uint datalen, char *buf, uint len);
 +
 +#endif        /* _bcmutils_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bitfuncs.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/bitfuncs.h
---- linux-2.6.17/arch/mips/bcm947xx/include/bitfuncs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/bitfuncs.h    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/bitfuncs.h linux.dev/arch/mips/bcm947xx/include/bitfuncs.h
+--- linux.old/arch/mips/bcm947xx/include/bitfuncs.h    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/bitfuncs.h    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,85 @@
 +/*
 + * bit manipulation utility functions
@@ -6864,9 +6924,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/bitfuncs.h linux-2.6.17-owrt/a
 +#endif
 +
 +#endif /* _BITFUNCS_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/flash.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/flash.h
---- linux-2.6.17/arch/mips/bcm947xx/include/flash.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/flash.h       2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/flash.h linux.dev/arch/mips/bcm947xx/include/flash.h
+--- linux.old/arch/mips/bcm947xx/include/flash.h       1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/flash.h       2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,188 @@
 +/*
 + * flash.h: Common definitions for flash access.
@@ -7056,9 +7116,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/flash.h linux-2.6.17-owrt/arch
 +extern flash_desc_t flashes[];
 +
 +#endif
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/flashutl.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/flashutl.h
---- linux-2.6.17/arch/mips/bcm947xx/include/flashutl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/flashutl.h    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/flashutl.h linux.dev/arch/mips/bcm947xx/include/flashutl.h
+--- linux.old/arch/mips/bcm947xx/include/flashutl.h    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/flashutl.h    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,27 @@
 +/*
 + * BCM47XX FLASH driver interface
@@ -7087,9 +7147,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/flashutl.h linux-2.6.17-owrt/a
 +#endif        /* _LANGUAGE_ASSEMBLY */
 +
 +#endif /* _flashutl_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/hndmips.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/hndmips.h
---- linux-2.6.17/arch/mips/bcm947xx/include/hndmips.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/hndmips.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/hndmips.h linux.dev/arch/mips/bcm947xx/include/hndmips.h
+--- linux.old/arch/mips/bcm947xx/include/hndmips.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/hndmips.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,16 @@
 +/*
 + * Alternate include file for HND sbmips.h since CFE also ships with
@@ -7107,9 +7167,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/hndmips.h linux-2.6.17-owrt/ar
 + */
 +
 +#include "sbmips.h"
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/linux_osl.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/linux_osl.h
---- linux-2.6.17/arch/mips/bcm947xx/include/linux_osl.h        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/linux_osl.h   2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/linux_osl.h linux.dev/arch/mips/bcm947xx/include/linux_osl.h
+--- linux.old/arch/mips/bcm947xx/include/linux_osl.h   1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/linux_osl.h   2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,331 @@
 +/*
 + * Linux OS Independent Layer
@@ -7442,9 +7502,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/linux_osl.h linux-2.6.17-owrt/
 +#define       PKTBUFSZ        2048
 +
 +#endif        /* _linux_osl_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/linuxver.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/linuxver.h
---- linux-2.6.17/arch/mips/bcm947xx/include/linuxver.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/linuxver.h    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/linuxver.h linux.dev/arch/mips/bcm947xx/include/linuxver.h
+--- linux.old/arch/mips/bcm947xx/include/linuxver.h    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/linuxver.h    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,389 @@
 +/*
 + * Linux-specific abstractions to gain some independence from linux kernel versions.
@@ -7835,9 +7895,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/linuxver.h linux-2.6.17-owrt/a
 +#endif
 +
 +#endif /* _linuxver_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/mipsinc.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/mipsinc.h
---- linux-2.6.17/arch/mips/bcm947xx/include/mipsinc.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/mipsinc.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/mipsinc.h linux.dev/arch/mips/bcm947xx/include/mipsinc.h
+--- linux.old/arch/mips/bcm947xx/include/mipsinc.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/mipsinc.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,552 @@
 +/*
 + * HND Run Time Environment for standalone MIPS programs.
@@ -8391,9 +8451,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/mipsinc.h linux-2.6.17-owrt/ar
 +#endif /* !_LANGUAGE_ASSEMBLY */
 +
 +#endif        /* _MISPINC_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/osl.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/osl.h
---- linux-2.6.17/arch/mips/bcm947xx/include/osl.h      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/osl.h 2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/osl.h linux.dev/arch/mips/bcm947xx/include/osl.h
+--- linux.old/arch/mips/bcm947xx/include/osl.h 1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/osl.h 2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,42 @@
 +/*
 + * OS Abstraction Layer
@@ -8437,9 +8497,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/osl.h linux-2.6.17-owrt/arch/m
 +#define       MAXPRIO         7       /* 0-7 */
 +
 +#endif        /* _osl_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/pcicfg.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/pcicfg.h
---- linux-2.6.17/arch/mips/bcm947xx/include/pcicfg.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/pcicfg.h      2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/pcicfg.h linux.dev/arch/mips/bcm947xx/include/pcicfg.h
+--- linux.old/arch/mips/bcm947xx/include/pcicfg.h      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/pcicfg.h      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,398 @@
 +/*
 + * pcicfg.h: PCI configuration  constants and structures.
@@ -8839,9 +8899,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/pcicfg.h linux-2.6.17-owrt/arc
 +#define PCI_CFG_CMD_STAT_TA   0x08000000      /* target abort status */
 +
 +#endif
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/proto/ethernet.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/proto/ethernet.h
---- linux-2.6.17/arch/mips/bcm947xx/include/proto/ethernet.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/proto/ethernet.h      2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/proto/ethernet.h linux.dev/arch/mips/bcm947xx/include/proto/ethernet.h
+--- linux.old/arch/mips/bcm947xx/include/proto/ethernet.h      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/proto/ethernet.h      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,145 @@
 +/*******************************************************************************
 + * $Id$
@@ -8988,9 +9048,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/proto/ethernet.h linux-2.6.17-
 +#undef PACKED
 +
 +#endif /* _NET_ETHERNET_H_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/s5.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/s5.h
---- linux-2.6.17/arch/mips/bcm947xx/include/s5.h       1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/s5.h  2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/s5.h linux.dev/arch/mips/bcm947xx/include/s5.h
+--- linux.old/arch/mips/bcm947xx/include/s5.h  1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/s5.h  2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,103 @@
 +#ifndef _S5_H_
 +#define _S5_H_
@@ -9095,9 +9155,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/s5.h linux-2.6.17-owrt/arch/mi
 +
 +
 +#endif /*!_S5_H_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbchipc.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbchipc.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbchipc.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbchipc.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sbchipc.h linux.dev/arch/mips/bcm947xx/include/sbchipc.h
+--- linux.old/arch/mips/bcm947xx/include/sbchipc.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbchipc.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,440 @@
 +/*
 + * SiliconBackplane Chipcommon core hardware definitions.
@@ -9539,9 +9599,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbchipc.h linux-2.6.17-owrt/ar
 +#define       OTP_MAGIC       0x4e56
 +
 +#endif        /* _SBCHIPC_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbconfig.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbconfig.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbconfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbconfig.h    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sbconfig.h linux.dev/arch/mips/bcm947xx/include/sbconfig.h
+--- linux.old/arch/mips/bcm947xx/include/sbconfig.h    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbconfig.h    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,342 @@
 +/*
 + * Broadcom SiliconBackplane hardware register definitions.
@@ -9885,9 +9945,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbconfig.h linux-2.6.17-owrt/a
 +#define BISZ_SIZE             7               /* descriptor size in 32-bit intergers */
 +
 +#endif        /* _SBCONFIG_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbextif.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbextif.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbextif.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbextif.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sbextif.h linux.dev/arch/mips/bcm947xx/include/sbextif.h
+--- linux.old/arch/mips/bcm947xx/include/sbextif.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbextif.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,242 @@
 +/*
 + * Hardware-specific External Interface I/O core definitions
@@ -10131,9 +10191,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbextif.h linux-2.6.17-owrt/ar
 +#define       CC_CLOCK_BASE   24000000        /* Half the clock freq. in the 4710 */
 +
 +#endif        /* _SBEXTIF_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbmemc.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbmemc.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbmemc.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbmemc.h      2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sbmemc.h linux.dev/arch/mips/bcm947xx/include/sbmemc.h
+--- linux.old/arch/mips/bcm947xx/include/sbmemc.h      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbmemc.h      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,148 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane DDR/SDRAM controller core hardware definitions.
@@ -10283,10 +10343,10 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbmemc.h linux-2.6.17-owrt/arc
 +#define MEMC_CONFIG_DDR               0x00000001
 +
 +#endif        /* _SBMEMC_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbmips.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbmips.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbmips.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbmips.h      2006-06-18 15:29:23.000000000 +0200
-@@ -0,0 +1,62 @@
+diff -urN linux.old/arch/mips/bcm947xx/include/sbmips.h linux.dev/arch/mips/bcm947xx/include/sbmips.h
+--- linux.old/arch/mips/bcm947xx/include/sbmips.h      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbmips.h      2006-10-15 23:37:15.000000000 +0200
+@@ -0,0 +1,63 @@
 +/*
 + * Broadcom SiliconBackplane MIPS definitions
 + *
@@ -10344,14 +10404,15 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbmips.h linux-2.6.17-owrt/arc
 +extern bool BCMINIT(sb_mips_setclock)(sb_t *sbh, uint32 mipsclock, uint32 sbclock, uint32 pciclock);
 +extern void BCMINIT(enable_pfc)(uint32 mode);
 +extern uint32 BCMINIT(sb_memc_get_ncdl)(sb_t *sbh);
++extern uint32 BCMINIT(sb_cpu_clock)(sb_t *sbh);
 +
 +
 +#endif /* _LANGUAGE_ASSEMBLY */
 +
 +#endif        /* _SBMIPS_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbpci.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbpci.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbpci.h    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbpci.h       2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sbpci.h linux.dev/arch/mips/bcm947xx/include/sbpci.h
+--- linux.old/arch/mips/bcm947xx/include/sbpci.h       1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbpci.h       2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,122 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane PCI core hardware definitions.
@@ -10475,9 +10536,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbpci.h linux-2.6.17-owrt/arch
 +#endif /* !_LANGUAGE_ASSEMBLY */
 +
 +#endif        /* _SBPCI_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbsdram.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbsdram.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbsdram.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbsdram.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sbsdram.h linux.dev/arch/mips/bcm947xx/include/sbsdram.h
+--- linux.old/arch/mips/bcm947xx/include/sbsdram.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbsdram.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,75 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane SDRAM controller core hardware definitions.
@@ -10554,9 +10615,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbsdram.h linux-2.6.17-owrt/ar
 +#define MEM8MX16X2    0xc29   /* 32 MB */
 +
 +#endif        /* _SBSDRAM_H */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbutils.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbutils.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sbutils.h  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sbutils.h     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sbutils.h linux.dev/arch/mips/bcm947xx/include/sbutils.h
+--- linux.old/arch/mips/bcm947xx/include/sbutils.h     1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sbutils.h     2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,136 @@
 +/*
 + * Misc utility routines for accessing chip-specific features
@@ -10694,9 +10755,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sbutils.h linux-2.6.17-owrt/ar
 +#define SB_DEVPATH_BUFSZ      16      /* min buffer size in bytes */
 +
 +#endif        /* _sbutils_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sflash.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/sflash.h
---- linux-2.6.17/arch/mips/bcm947xx/include/sflash.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/sflash.h      2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/sflash.h linux.dev/arch/mips/bcm947xx/include/sflash.h
+--- linux.old/arch/mips/bcm947xx/include/sflash.h      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/sflash.h      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,36 @@
 +/*
 + * Broadcom SiliconBackplane chipcommon serial flash interface
@@ -10734,9 +10795,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/sflash.h linux-2.6.17-owrt/arc
 +extern struct sflash * sflash_init(chipcregs_t *cc);
 +
 +#endif /* _sflash_h_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/trxhdr.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/trxhdr.h
---- linux-2.6.17/arch/mips/bcm947xx/include/trxhdr.h   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/trxhdr.h      2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/trxhdr.h linux.dev/arch/mips/bcm947xx/include/trxhdr.h
+--- linux.old/arch/mips/bcm947xx/include/trxhdr.h      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/trxhdr.h      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,33 @@
 +/*
 + * TRX image file header format.
@@ -10771,9 +10832,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/trxhdr.h linux-2.6.17-owrt/arc
 +
 +/* Compatibility */
 +typedef struct trx_header TRXHDR, *PTRXHDR;
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/typedefs.h linux-2.6.17-owrt/arch/mips/bcm947xx/include/typedefs.h
---- linux-2.6.17/arch/mips/bcm947xx/include/typedefs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/include/typedefs.h    2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/include/typedefs.h linux.dev/arch/mips/bcm947xx/include/typedefs.h
+--- linux.old/arch/mips/bcm947xx/include/typedefs.h    1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/include/typedefs.h    2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,326 @@
 +/*
 + * Copyright 2005, Broadcom Corporation      
@@ -11101,9 +11162,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/include/typedefs.h linux-2.6.17-owrt/a
 +#endif /* USE_TYPEDEF_DEFAULTS */
 +
 +#endif /* _TYPEDEFS_H_ */
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/irq.c linux-2.6.17-owrt/arch/mips/bcm947xx/irq.c
---- linux-2.6.17/arch/mips/bcm947xx/irq.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/irq.c 2006-06-18 15:32:25.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/irq.c linux.dev/arch/mips/bcm947xx/irq.c
+--- linux.old/arch/mips/bcm947xx/irq.c 1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/irq.c 2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,64 @@
 +/*
 + *  Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
@@ -11169,9 +11230,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/irq.c linux-2.6.17-owrt/arch/mips/bcm9
 +{
 +      mips_cpu_irq_init(0);
 +}
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/Makefile linux-2.6.17-owrt/arch/mips/bcm947xx/Makefile
---- linux-2.6.17/arch/mips/bcm947xx/Makefile   1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/Makefile      2006-06-18 15:33:03.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/Makefile linux.dev/arch/mips/bcm947xx/Makefile
+--- linux.old/arch/mips/bcm947xx/Makefile      1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/Makefile      2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,6 @@
 +#
 +# Makefile for the BCM47xx specific kernel interface routines
@@ -11179,9 +11240,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/Makefile linux-2.6.17-owrt/arch/mips/b
 +#
 +
 +obj-y := irq.o prom.o setup.o time.o pci.o
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/pci.c linux-2.6.17-owrt/arch/mips/bcm947xx/pci.c
---- linux-2.6.17/arch/mips/bcm947xx/pci.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/pci.c 2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/pci.c linux.dev/arch/mips/bcm947xx/pci.c
+--- linux.old/arch/mips/bcm947xx/pci.c 1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/pci.c 2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,215 @@
 +#include <linux/kernel.h>
 +#include <linux/init.h>
@@ -11398,9 +11459,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/pci.c linux-2.6.17-owrt/arch/mips/bcm9
 +}
 +
 +DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, bcm47xx_fixup_bridge);
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/prom.c linux-2.6.17-owrt/arch/mips/bcm947xx/prom.c
---- linux-2.6.17/arch/mips/bcm947xx/prom.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/prom.c        2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/prom.c linux.dev/arch/mips/bcm947xx/prom.c
+--- linux.old/arch/mips/bcm947xx/prom.c        1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/prom.c        2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,59 @@
 +/*
 + *  Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
@@ -11461,9 +11522,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/prom.c linux-2.6.17-owrt/arch/mips/bcm
 +{
 +      return 0;
 +}
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/setup.c linux-2.6.17-owrt/arch/mips/bcm947xx/setup.c
---- linux-2.6.17/arch/mips/bcm947xx/setup.c    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/setup.c       2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/bcm947xx/setup.c linux.dev/arch/mips/bcm947xx/setup.c
+--- linux.old/arch/mips/bcm947xx/setup.c       1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/setup.c       2006-10-15 23:29:14.000000000 +0200
 @@ -0,0 +1,158 @@
 +/*
 + *  Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
@@ -11623,10 +11684,10 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/setup.c linux-2.6.17-owrt/arch/mips/bc
 +EXPORT_SYMBOL(sbh);
 +EXPORT_SYMBOL(sbh_lock);
 +EXPORT_SYMBOL(boardflags);
-diff -Nur linux-2.6.17/arch/mips/bcm947xx/time.c linux-2.6.17-owrt/arch/mips/bcm947xx/time.c
---- linux-2.6.17/arch/mips/bcm947xx/time.c     1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.17-owrt/arch/mips/bcm947xx/time.c        2006-06-18 15:29:23.000000000 +0200
-@@ -0,0 +1,59 @@
+diff -urN linux.old/arch/mips/bcm947xx/time.c linux.dev/arch/mips/bcm947xx/time.c
+--- linux.old/arch/mips/bcm947xx/time.c        1970-01-01 01:00:00.000000000 +0100
++++ linux.dev/arch/mips/bcm947xx/time.c        2006-10-15 23:38:36.000000000 +0200
+@@ -0,0 +1,65 @@
 +/*
 + *  Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org)
 + *
@@ -11660,6 +11721,12 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/time.c linux-2.6.17-owrt/arch/mips/bcm
 +#include <asm/addrspace.h>
 +#include <asm/io.h>
 +#include <asm/time.h>
++#include <typedefs.h>
++#include <osl.h>
++#include <sbutils.h>
++#include <sbmips.h>
++
++extern sb_t *sbh;
 +
 +void __init
 +bcm47xx_time_init(void)
@@ -11673,7 +11740,7 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/time.c linux-2.6.17-owrt/arch/mips/bcm
 +      write_c0_count(0);
 +      write_c0_compare(0xffff);
 +
-+      hz = 200 * 1000 * 1000;
++      hz = sb_cpu_clock(sbh);
 +
 +      /* Set MIPS counter frequency for fixed_rate_gettimeoffset() */
 +      mips_hpt_frequency = hz / 2;
@@ -11686,9 +11753,9 @@ diff -Nur linux-2.6.17/arch/mips/bcm947xx/time.c linux-2.6.17-owrt/arch/mips/bcm
 +      /* Enable the timer interrupt */
 +      setup_irq(7, irq);
 +}
-diff -Nur linux-2.6.17/arch/mips/Kconfig linux-2.6.17-owrt/arch/mips/Kconfig
---- linux-2.6.17/arch/mips/Kconfig     2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/arch/mips/Kconfig        2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig
+--- linux.old/arch/mips/Kconfig        2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/arch/mips/Kconfig        2006-10-15 23:29:14.000000000 +0200
 @@ -245,6 +245,17 @@
         Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
         Olivetti M700-10 workstations.
@@ -11707,9 +11774,9 @@ diff -Nur linux-2.6.17/arch/mips/Kconfig linux-2.6.17-owrt/arch/mips/Kconfig
  config LASAT
        bool "LASAT Networks platforms"
        select DMA_NONCOHERENT
-diff -Nur linux-2.6.17/arch/mips/kernel/cpu-probe.c linux-2.6.17-owrt/arch/mips/kernel/cpu-probe.c
---- linux-2.6.17/arch/mips/kernel/cpu-probe.c  2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/arch/mips/kernel/cpu-probe.c     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/kernel/cpu-probe.c linux.dev/arch/mips/kernel/cpu-probe.c
+--- linux.old/arch/mips/kernel/cpu-probe.c     2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/arch/mips/kernel/cpu-probe.c     2006-10-15 23:29:14.000000000 +0200
 @@ -691,6 +691,28 @@
  }
  
@@ -11749,9 +11816,9 @@ diff -Nur linux-2.6.17/arch/mips/kernel/cpu-probe.c linux-2.6.17-owrt/arch/mips/
        case PRID_COMP_SANDCRAFT:
                cpu_probe_sandcraft(c);
                break;
-diff -Nur linux-2.6.17/arch/mips/kernel/head.S linux-2.6.17-owrt/arch/mips/kernel/head.S
---- linux-2.6.17/arch/mips/kernel/head.S       2006-06-18 12:54:51.000000000 +0200
-+++ linux-2.6.17-owrt/arch/mips/kernel/head.S  2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/kernel/head.S linux.dev/arch/mips/kernel/head.S
+--- linux.old/arch/mips/kernel/head.S  2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/arch/mips/kernel/head.S  2006-10-15 23:29:14.000000000 +0200
 @@ -133,6 +133,11 @@
        j kernel_entry
        nop
@@ -11764,9 +11831,9 @@ diff -Nur linux-2.6.17/arch/mips/kernel/head.S linux-2.6.17-owrt/arch/mips/kerne
        /*
         * Reserved space for exception handlers.
         * Necessary for machines which link their kernels at KSEG0.
-diff -Nur linux-2.6.17/arch/mips/kernel/proc.c linux-2.6.17-owrt/arch/mips/kernel/proc.c
---- linux-2.6.17/arch/mips/kernel/proc.c       2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/arch/mips/kernel/proc.c  2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/kernel/proc.c linux.dev/arch/mips/kernel/proc.c
+--- linux.old/arch/mips/kernel/proc.c  2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/arch/mips/kernel/proc.c  2006-10-15 23:29:14.000000000 +0200
 @@ -84,6 +84,8 @@
        [CPU_VR4181]    = "NEC VR4181",
        [CPU_VR4181A]   = "NEC VR4181A",
@@ -11776,9 +11843,9 @@ diff -Nur linux-2.6.17/arch/mips/kernel/proc.c linux-2.6.17-owrt/arch/mips/kerne
        [CPU_PR4450]    = "Philips PR4450",
  };
  
-diff -Nur linux-2.6.17/arch/mips/Makefile linux-2.6.17-owrt/arch/mips/Makefile
---- linux-2.6.17/arch/mips/Makefile    2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/arch/mips/Makefile       2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile
+--- linux.old/arch/mips/Makefile       2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/arch/mips/Makefile       2006-10-15 23:29:14.000000000 +0200
 @@ -565,6 +565,13 @@
  load-$(CONFIG_SIBYTE_BIGSUR)  := 0xffffffff80100000
  
@@ -11793,9 +11860,9 @@ diff -Nur linux-2.6.17/arch/mips/Makefile linux-2.6.17-owrt/arch/mips/Makefile
  # SNI RM200 PCI
  #
  core-$(CONFIG_SNI_RM200_PCI)  += arch/mips/sni/
-diff -Nur linux-2.6.17/arch/mips/mm/tlbex.c linux-2.6.17-owrt/arch/mips/mm/tlbex.c
---- linux-2.6.17/arch/mips/mm/tlbex.c  2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/arch/mips/mm/tlbex.c     2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/arch/mips/mm/tlbex.c linux.dev/arch/mips/mm/tlbex.c
+--- linux.old/arch/mips/mm/tlbex.c     2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/arch/mips/mm/tlbex.c     2006-10-15 23:31:06.000000000 +0200
 @@ -882,6 +882,8 @@
        case CPU_4KSC:
        case CPU_20KC:
@@ -11805,9 +11872,9 @@ diff -Nur linux-2.6.17/arch/mips/mm/tlbex.c linux-2.6.17-owrt/arch/mips/mm/tlbex
                tlbw(p);
                break;
  
-diff -Nur linux-2.6.17/include/asm-mips/bootinfo.h linux-2.6.17-owrt/include/asm-mips/bootinfo.h
---- linux-2.6.17/include/asm-mips/bootinfo.h   2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/include/asm-mips/bootinfo.h      2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h
+--- linux.old/include/asm-mips/bootinfo.h      2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/include/asm-mips/bootinfo.h      2006-10-15 23:29:14.000000000 +0200
 @@ -218,6 +218,12 @@
  #define MACH_GROUP_TITAN       22     /* PMC-Sierra Titan             */
  #define  MACH_TITAN_YOSEMITE  1       /* PMC-Sierra Yosemite          */
@@ -11821,9 +11888,9 @@ diff -Nur linux-2.6.17/include/asm-mips/bootinfo.h linux-2.6.17-owrt/include/asm
  #define CL_SIZE                       COMMAND_LINE_SIZE
  
  const char *get_system_type(void);
-diff -Nur linux-2.6.17/include/asm-mips/cpu.h linux-2.6.17-owrt/include/asm-mips/cpu.h
---- linux-2.6.17/include/asm-mips/cpu.h        2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/include/asm-mips/cpu.h   2006-06-18 15:30:53.000000000 +0200
+diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h
+--- linux.old/include/asm-mips/cpu.h   2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/include/asm-mips/cpu.h   2006-10-15 23:29:14.000000000 +0200
 @@ -104,6 +104,13 @@
  #define PRID_IMP_SR71000        0x0400
  
@@ -11849,9 +11916,9 @@ diff -Nur linux-2.6.17/include/asm-mips/cpu.h linux-2.6.17-owrt/include/asm-mips
  
  /*
   * ISA Level encodings
-diff -Nur linux-2.6.17/include/linux/pci_ids.h linux-2.6.17-owrt/include/linux/pci_ids.h
---- linux-2.6.17/include/linux/pci_ids.h       2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17-owrt/include/linux/pci_ids.h  2006-06-18 15:29:23.000000000 +0200
+diff -urN linux.old/include/linux/pci_ids.h linux.dev/include/linux/pci_ids.h
+--- linux.old/include/linux/pci_ids.h  2006-10-15 23:32:44.000000000 +0200
++++ linux.dev/include/linux/pci_ids.h  2006-10-15 23:29:14.000000000 +0200
 @@ -1906,6 +1906,7 @@
  #define PCI_DEVICE_ID_TIGON3_5901_2   0x170e
  #define PCI_DEVICE_ID_BCM4401         0x4401