Make SMP a subtarget, since it only supports BCM6362 and BCM6368.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 36527
ARCH:=mips
BOARD:=brcm63xx
BOARDNAME:=Broadcom BCM63xx
+SUBTARGETS:=generic smp
FEATURES:=squashfs jffs2 usb atm pci pcmcia
LINUX_VERSION:=3.8.11
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
CONFIG_B53_PHY_FIXUP=y
CONFIG_B53_SPI_DRIVER=y
CONFIG_BCM63XX=y
-CONFIG_BCM63XX_CPU_6328=y
-CONFIG_BCM63XX_CPU_6338=y
-CONFIG_BCM63XX_CPU_6345=y
-CONFIG_BCM63XX_CPU_6348=y
-CONFIG_BCM63XX_CPU_6358=y
-CONFIG_BCM63XX_CPU_6362=y
-CONFIG_BCM63XX_CPU_6368=y
CONFIG_BCM63XX_EHCI=y
CONFIG_BCM63XX_ENET=y
CONFIG_BCM63XX_OHCI=y
CONFIG_CPU_HAS_PREFETCH=y
CONFIG_CPU_HAS_SYNC=y
CONFIG_CPU_MIPS32=y
-CONFIG_CPU_MIPS32_R1=y
CONFIG_CPU_MIPSR1=y
CONFIG_CPU_R4K_CACHE_TLB=y
CONFIG_CPU_R4K_FPU=y
CONFIG_IP_PIMSM_V2=y
CONFIG_IRQ_CPU=y
CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_KEXEC=y
CONFIG_LEDS_GPIO=y
CONFIG_M25PXX_USE_FAST_READ=y
CONFIG_MDIO_BOARDINFO=y
--- /dev/null
+CONFIG_BCM63XX_CPU_6328=y
+CONFIG_BCM63XX_CPU_6338=y
+CONFIG_BCM63XX_CPU_6345=y
+CONFIG_BCM63XX_CPU_6348=y
+CONFIG_BCM63XX_CPU_6358=y
+CONFIG_BCM63XX_CPU_6362=y
+CONFIG_BCM63XX_CPU_6368=y
+CONFIG_CPU_MIPS32_R1=y
+CONFIG_KEXEC=y
--- /dev/null
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Broadcom
+ NAME:=Broadcom WiFi (default)
+ PACKAGES:=kmod-b43 wpad-mini
+endef
+
+define Profile/Broadcom/Description
+ Package set compatible with hardware using Broadcom WiFi cards
+endef
+$(eval $(call Profile,Broadcom))
+
--- /dev/null
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Broadcom-wl
+ NAME:=Broadcom BCM43xx WiFi (wl, proprietary)
+ PACKAGES:= kmod-brcm-wl wlc nas
+endef
+
+define Profile/Broadcom-wl/Description
+ Package set compatible with hardware using Broadcom BCM43xx cards
+ using the proprietary broadcom wireless "wl" driver.
+endef
+
+$(eval $(call Profile,Broadcom-wl))
+
--- /dev/null
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Atheros
+ NAME:=Atheros WiFi (default)
+ PACKAGES:=kmod-ath5k kmod-ath9k wpad-mini
+endef
+
+define Profile/Atheros/Description
+ Package set compatible with hardware using Atheros WiFi cards
+endef
+$(eval $(call Profile,Atheros))
+
--- /dev/null
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Ralink
+ NAME:=Ralink WiFi
+ PACKAGES:=kmod-rt61-pci wpad-mini
+endef
+$(eval $(call Profile,Ralink))
+
--- /dev/null
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/NoWiFi
+ NAME:=No WiFi (BCM6338)
+ PACKAGES:=
+endef
+
+define Profile/NoWiFi/description
+ Package set compatible with BCM63xx routers without Wi-Fi (e.g: BCM6338-based).
+endef
+
+$(eval $(call Profile,NoWiFi))
--- /dev/null
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Broadcom-brcmsmac
+ NAME:=Broadcom WiFi (brcmsmac)
+ PACKAGES:=kmod-brcmsmac wpad-mini
+endef
+
+define Profile/Broadcom-brcmsmac/Description
+ Package set compatible with hardware using Broadcom WiFi cards
+endef
+$(eval $(call Profile,Broadcom-brcmsmac))
+
--- /dev/null
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/GW6X00
+ NAME:=Tecom GW6X00
+ PACKAGES:=kmod-brcm-wl kmod-usb-core kmod-usb-ohci kmod-usb-storage \
+ kmod-fs-ext4 kmod-nls-cp437 kmod-nls-iso8859-1 e2fsprogs \
+ kmod-ipt-nathelper-extra wlc
+endef
+
+define Profile/GW6X00/Description
+ Package set compatible with the Tecom GW6000 and GW6200 based
+ on the BCM96348GW reference design.
+endef
+$(eval $(call Profile,GW6X00))
+
--- /dev/null
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/HW556
+ NAME:=HW556 WiFi
+ PACKAGES:=kmod-rt2800-pci kmod-ath9k wpad-mini
+endef
+
+define Profile/HW556/Description
+ Package set compatible with hardware using Atheros or Ralink WiFi cards (Huawei HG556a)
+endef
+$(eval $(call Profile,HW556))
+
--- /dev/null
+BOARDNAME:=generic
+
+define Target/Description
+ Build firmware images for BCM63XX boards without SMP support.
+endef
+
+
define Image/Build
dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
# Various routers
+ ifeq ($(CONFIG_TARGET_brcm63xx_generic),y)
$(call Image/Build/CFE,$(1),96328avng,6328,96328avng-4M-flash-generic,,--pad 2)
$(call Image/Build/CFE,$(1),96328avng,6328,96328avng-8M-flash-generic,,--pad 4)
$(call Image/Build/CFE,$(1),96328avng,6328,96328avng-16M-flash-generic,,--pad 8)
$(call Image/Build/CFE,$(1),96348A-122,6348,96348A-122-generic)
$(call Image/Build/CFE,$(1),96358VW,6358,96358VW-generic)
$(call Image/Build/CFE,$(1),96358VW2,6358,96358VW2-generic)
+ endif
$(call Image/Build/CFE,$(1),96368MVNgr,6368,96368MVNgr-generic)
$(call Image/Build/CFE,$(1),96368MVWG,6368,96368MVWG-generic)
+ ifeq ($(CONFIG_TARGET_brcm63xx_generic),y)
# BT Voyager V210_BTR
$(call Image/Build/CFE,$(1),V210_BB,6348,BTV210_BTR,,--layoutver 5)
# BT Voyager V210_ROI, V210_WB
$(call Image/Build/CFEFIXUP,$(1),96348GW,GW6200,6348,GW6200,$(shell printf '\x99'))
# Neufbox4
$(call Image/Build/CFE,$(1),96358VW,6358,NEUFBOX4,OpenWRT-$(REVISION))
+ endif
+
# Neufbox6
$(call Image/Build/CFE,$(1),NB6-SER-r0,6362,NEUFBOX6,OpenWRT-$(REVISION))
+
+ ifeq ($(CONFIG_TARGET_brcm63xx_generic),y)
# Comtrend 6373
$(call Image/Build/CFE,$(1),CT6373-1,6358,CT6373)
# Comtrend 536, 5621
# T-Com Speedport W 303V Typ B
$(call Image/Build/SPW303V,$(1),96358-502V,6358,SPW303V)
+ endif
endef
$(eval $(call BuildImage))
+++ /dev/null
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Broadcom
- NAME:=Broadcom WiFi (default)
- PACKAGES:=kmod-b43 wpad-mini
-endef
-
-define Profile/Broadcom/Description
- Package set compatible with hardware using Broadcom WiFi cards
-endef
-$(eval $(call Profile,Broadcom))
-
+++ /dev/null
-#
-# Copyright (C) 2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Broadcom-wl
- NAME:=Broadcom BCM43xx WiFi (wl, proprietary)
- PACKAGES:= kmod-brcm-wl wlc nas
-endef
-
-define Profile/Broadcom-wl/Description
- Package set compatible with hardware using Broadcom BCM43xx cards
- using the proprietary broadcom wireless "wl" driver.
-endef
-
-$(eval $(call Profile,Broadcom-wl))
-
+++ /dev/null
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Atheros
- NAME:=Atheros WiFi (default)
- PACKAGES:=kmod-ath5k kmod-ath9k wpad-mini
-endef
-
-define Profile/Atheros/Description
- Package set compatible with hardware using Atheros WiFi cards
-endef
-$(eval $(call Profile,Atheros))
-
+++ /dev/null
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Ralink
- NAME:=Ralink WiFi
- PACKAGES:=kmod-rt61-pci wpad-mini
-endef
-$(eval $(call Profile,Ralink))
-
+++ /dev/null
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/NoWiFi
- NAME:=No WiFi (BCM6338)
- PACKAGES:=
-endef
-
-define Profile/NoWiFi/description
- Package set compatible with BCM63xx routers without Wi-Fi (e.g: BCM6338-based).
-endef
-
-$(eval $(call Profile,NoWiFi))
+++ /dev/null
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/Broadcom-brcmsmac
- NAME:=Broadcom WiFi (brcmsmac)
- PACKAGES:=kmod-brcmsmac wpad-mini
-endef
-
-define Profile/Broadcom-brcmsmac/Description
- Package set compatible with hardware using Broadcom WiFi cards
-endef
-$(eval $(call Profile,Broadcom-brcmsmac))
-
+++ /dev/null
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/GW6X00
- NAME:=Tecom GW6X00
- PACKAGES:=kmod-brcm-wl kmod-usb-core kmod-usb-ohci kmod-usb-storage \
- kmod-fs-ext4 kmod-nls-cp437 kmod-nls-iso8859-1 e2fsprogs \
- kmod-ipt-nathelper-extra wlc
-endef
-
-define Profile/GW6X00/Description
- Package set compatible with the Tecom GW6000 and GW6200 based
- on the BCM96348GW reference design.
-endef
-$(eval $(call Profile,GW6X00))
-
+++ /dev/null
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/HW556
- NAME:=HW556 WiFi
- PACKAGES:=kmod-rt2800-pci kmod-ath9k wpad-mini
-endef
-
-define Profile/HW556/Description
- Package set compatible with hardware using Atheros or Ralink WiFi cards (Huawei HG556a)
-endef
-$(eval $(call Profile,HW556))
-
--- /dev/null
+# CONFIG_BCM63XX_CPU_6328 is not set
+# CONFIG_BCM63XX_CPU_6338 is not set
+# CONFIG_BCM63XX_CPU_6345 is not set
+# CONFIG_BCM63XX_CPU_6348 is not set
+# CONFIG_BCM63XX_CPU_6358 is not set
+CONFIG_BCM63XX_CPU_6362=y
+CONFIG_BCM63XX_CPU_6368=y
+CONFIG_CPU_BMIPS=y
+CONFIG_CPU_BMIPS4350=y
+# CONFIG_CPU_MIPS32_R1 is not set
+CONFIG_CPU_RMAP=y
+# CONFIG_KEXEC is not set
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_NR_CPUS=2
+CONFIG_RFS_ACCEL=y
+CONFIG_RPS=y
+CONFIG_SMP=y
+CONFIG_STOP_MACHINE=y
+CONFIG_SYS_HAS_CPU_BMIPS4350=y
+CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y
+CONFIG_SYS_SUPPORTS_SMP=y
+CONFIG_TREE_RCU=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_WEAK_ORDERING=y
+CONFIG_XPS=y
--- /dev/null
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Broadcom
+ NAME:=Broadcom WiFi (default)
+ PACKAGES:=kmod-b43 wpad-mini
+endef
+
+define Profile/Broadcom/Description
+ Package set compatible with hardware using Broadcom WiFi cards
+endef
+$(eval $(call Profile,Broadcom))
+
--- /dev/null
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Broadcom-wl
+ NAME:=Broadcom BCM43xx WiFi (wl, proprietary)
+ PACKAGES:= kmod-brcm-wl wlc nas
+endef
+
+define Profile/Broadcom-wl/Description
+ Package set compatible with hardware using Broadcom BCM43xx cards
+ using the proprietary broadcom wireless "wl" driver.
+endef
+
+$(eval $(call Profile,Broadcom-wl))
+
--- /dev/null
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Atheros
+ NAME:=Atheros WiFi (default)
+ PACKAGES:=kmod-ath5k kmod-ath9k wpad-mini
+endef
+
+define Profile/Atheros/Description
+ Package set compatible with hardware using Atheros WiFi cards
+endef
+$(eval $(call Profile,Atheros))
+
--- /dev/null
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Ralink
+ NAME:=Ralink WiFi
+ PACKAGES:=kmod-rt61-pci wpad-mini
+endef
+$(eval $(call Profile,Ralink))
+
--- /dev/null
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/NoWiFi
+ NAME:=No WiFi
+ PACKAGES:=
+endef
+
+define Profile/NoWiFi/description
+ Package set compatible with BCM63xx routers without Wi-Fi.
+endef
+
+$(eval $(call Profile,NoWiFi))
--- /dev/null
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Broadcom-brcmsmac
+ NAME:=Broadcom WiFi (brcmsmac)
+ PACKAGES:=kmod-brcmsmac wpad-mini
+endef
+
+define Profile/Broadcom-brcmsmac/Description
+ Package set compatible with hardware using Broadcom WiFi cards
+endef
+$(eval $(call Profile,Broadcom-brcmsmac))
+
--- /dev/null
+BOARDNAME:=smp
+
+define Target/Description
+ Build firmware images for BCM63XX boards with SMP support.
+ Currently only BCM6362 and BCM6368 supported.
+endef
+
+