Forráskód Böngészése

add model support for broadcom devices

Waldemar Brodkorb 13 éve
szülő
commit
c7329ac035

+ 8 - 0
mk/kernel-vars.mk

@@ -7,3 +7,11 @@ KERNEL_MAKE_OPTS+=	CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \
 			CC="$(TARGET_CC)" HOSTCC="${CC_FOR_BUILD}" \
 			HOSTCFLAGS='${CFLAGS_FOR_BUILD}'
 endif
+ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G},y)
+ADK_KCPPFLAGS+=		-DBCM47XX_OVERRIDE_FLASHSIZE=0x400000
+endif
+ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS},y)
+ADK_KCPPFLAGS+=		-DBCM47XX_OVERRIDE_FLASHSIZE=0x800000
+endif
+
+KERNEL_MAKE_ENV+=	KCPPFLAGS='${ADK_KCPPFLAGS}'

+ 12 - 0
target/config/Config.in

@@ -80,6 +80,18 @@ config ADK_TARGET_ABI_N64
 
 endchoice
 
+choice 
+prompt "Broadcom BCM47xx Model"
+depends on ADK_TARGET_SYSTEM_BROADCOM_BCM47XX
+
+config ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G
+	boolean "Linksys WRT54g"
+	
+config ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS
+	boolean "Linksys WRT54gs"
+
+endchoice
+
 if ADK_LINUX_NATIVE
 source "target/config/Config.in.native"
 endif

+ 2 - 2
target/config/Config.in.tools

@@ -1,5 +1,5 @@
 config ADK_TOOLS_ADDPATTERN_ARGS
 	string
-	default "-p W54G -v v4.20.6" if ADK_TARGET_SYSTEM_LINKSYS_WRT54G
-	default "-p W54S -v v4.70.6" if ADK_TARGET_SYSTEM_LINKSYS_WRT54GS
+	default "-p W54G -v v4.20.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G
+	default "-p W54S -v v4.70.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS
 	default ""

+ 1 - 1
target/linux/config/Config.in.flash

@@ -44,7 +44,7 @@ config ADK_KERNEL_MTD_AR7_PARTS
 
 config ADK_KERNEL_MTD_CFI_INTELEXT
 	boolean
-	default y if ADK_TARGET_SYSTEM_LINKSYS_WRT54G
+	default y if ADK_TARGET_SYSTEM_BROADCOM_BCM47XX
 	default n
 
 config ADK_TARGET_NAND

+ 2 - 2
target/linux/config/Config.in.netdevice

@@ -115,8 +115,7 @@ config ADK_KERNEL_B44
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
-	default y if ADK_TARGET_SYSTEM_LINKSYS_WRT54G
-	default y if ADK_TARGET_SYSTEM_LINKSYS_WRT54GS
+	default y if ADK_TARGET_SYSTEM_BROADCOM_BCM47XX
 	default n
 	help
 
@@ -345,6 +344,7 @@ config ADK_KPACKAGE_KMOD_B43
 	prompt "kmod-b43..................... Broadcom B43xx wireless cards"
 	tristate
 	select ADK_KPACKAGE_KMOD_FW_LOADER
+	select ADK_KPACKAGE_KMOD_MAC80211
 	depends on ADK_TARGET_WITH_SSB || ADK_TARGET_WITH_MINIPCI
 	default n
 	help

+ 12 - 4
target/linux/patches/2.6.37/brcm.patch

@@ -9,8 +9,8 @@ diff -Nur linux-2.6.37.orig/arch/mips/bcm47xx/Makefile linux-2.6.37/arch/mips/bc
 +obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o platform.o
 diff -Nur linux-2.6.37.orig/arch/mips/bcm47xx/platform.c linux-2.6.37/arch/mips/bcm47xx/platform.c
 --- linux-2.6.37.orig/arch/mips/bcm47xx/platform.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.37/arch/mips/bcm47xx/platform.c	2011-04-26 20:26:19.917673199 +0200
-@@ -0,0 +1,139 @@
++++ linux-2.6.37/arch/mips/bcm47xx/platform.c	2011-04-26 21:54:17.727672777 +0200
+@@ -0,0 +1,147 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
@@ -29,7 +29,7 @@ diff -Nur linux-2.6.37.orig/arch/mips/bcm47xx/platform.c linux-2.6.37/arch/mips/
 +#include <asm/mach-bcm47xx/nvram.h>
 +
 +#define NVRAM_FLASH_SIZE 0x10000
-+#define CFGFS_FLASH_SIZE (64 * 1024)
++#define CFGFS_FLASH_SIZE (128 * 1024)
 +
 +static struct mtd_partition bcm47xx_partitions[] = {
 +#define SLOT_CFE 0
@@ -111,8 +111,16 @@ diff -Nur linux-2.6.37.orig/arch/mips/bcm47xx/platform.c linux-2.6.37/arch/mips/
 +	trx_hdr = (void *)KSEG1ADDR(mcore->flash_window + 0x40000);
 +
 +	/* devices might have 2, 4 or 8 MB flash size */
++#ifdef BCM47XX_OVERRIDE_FLASHSIZE
++	flash_size = BCM47XX_OVERRIDE_FLASHSIZE;
++	mcore->flash_window_size = flash_size;
++#define BCM47XX_OVERRODE_FLASHSIZE " (overridden)"
++#else
 +	flash_size = mcore->flash_window_size;
-+	printk(KERN_INFO "FLASH SIZE: 0x%x\n", flash_size);
++#define BCM47XX_OVERRODE_FLASHSIZE ""
++#endif
++	printk(KERN_INFO "FLASH SIZE%s: %x\n", BCM47XX_OVERRODE_FLASHSIZE,
++		flash_size);
 +
 +	left = flash_size - 0x40000;
 +	posn = flash_size;

+ 1 - 1
target/mips/Makefile

@@ -21,7 +21,7 @@ tools-compile:
 	$(MAKE) -C ../tools/srec2bin all
 	$(MAKE) -C ../tools/squashfs all
 
-ifeq ($(ADK_KERNEL_BCM47XX),y)
+ifeq ($(ADK_TARGET_SYSTEM_BROADCOM_BCM47XX),y)
 kernel-install: tools-compile
 	${TARGET_CROSS}objcopy ${OSTRIP} -S ${LINUX_DIR}/vmlinuz.elf \
 	    ${BUILD_DIR}/${TARGET_KERNEL}

+ 4 - 5
target/mips/sys-available/linksys-wrt54g → target/mips/sys-available/broadcom-bcm47xx

@@ -1,14 +1,13 @@
-config ADK_TARGET_SYSTEM_LINKSYS_WRT54G
-	bool "Linksys WRT54G"
+config ADK_TARGET_SYSTEM_BROADCOM_BCM47XX
+	bool "Broadcom BCM47XX"
 	select ADK_mips
 	select ADK_little
-	select ADK_linksys_wrt54g
+	select ADK_broadcom_bcm47xx
 	select ADK_KERNEL_BCM47XX
 	select ADK_KERNEL_KERNEL_LZMA
 	select ADK_TARGET_WITH_MTD
 	select ADK_TARGET_WITH_SSB
 	select ADK_TARGET_WITH_WATCHDOG
 	help
-	  Linksys WRT54G WLAN router.
-	  (Broadcom BCM47xx platform)
+	  Broadcom BCM47xx systems.
 

+ 0 - 14
target/mips/sys-available/linksys-wrt54gs

@@ -1,14 +0,0 @@
-config ADK_TARGET_SYSTEM_LINKSYS_WRT54GS
-	bool "Linksys WRT54GS"
-	select ADK_mips
-	select ADK_little
-	select ADK_linksys_wrt54gs
-	select ADK_KERNEL_BCM47XX
-	select ADK_KERNEL_KERNEL_LZMA
-	select ADK_TARGET_WITH_MTD
-	select ADK_TARGET_WITH_SSB
-	select ADK_TARGET_WITH_WATCHDOG
-	help
-	  Linksys WRT54GS WLAN router.
-	  (Broadcom BCM47xx platform)
-