From ba54356d49e483d353296c4d1343a6a61d6977f8 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sat, 12 Jul 2014 15:39:31 +0000
Subject: [PATCH] brcm47xx: deactivate ssb and old phy code for new devices

This deactivates ssb and G-PHY code in b43 for the mips74k profile in
brcm47xx.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 41594
---
 package/kernel/linux/modules/netdevices.mk   |  2 +-
 package/kernel/mac80211/Makefile             | 22 ++++++++++++++++++--
 target/linux/brcm47xx/mips74k/config-default |  3 +++
 target/linux/brcm47xx/modules.mk             |  4 ++--
 4 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk
index 221eb2fe70..ea368a890c 100644
--- a/package/kernel/linux/modules/netdevices.mk
+++ b/package/kernel/linux/modules/netdevices.mk
@@ -446,7 +446,7 @@ $(eval $(call KernelPackage,e1000e))
 define KernelPackage/b44
   TITLE:=Broadcom 44xx driver
   KCONFIG:=CONFIG_B44
-  DEPENDS:=@PCI_SUPPORT +!TARGET_brcm47xx:kmod-ssb +kmod-mii +LINUX_3_14:kmod-libphy
+  DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx_mips74k +!TARGET_brcm47xx:kmod-ssb +kmod-mii +LINUX_3_14:kmod-libphy
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/b44.ko
   AUTOLOAD:=$(call AutoLoad,19,b44,1)
diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index 20da959238..4e1bceee43 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -1200,7 +1200,8 @@ config PACKAGE_B43_USE_BCMA
 		string "Core revisions to include"
 		depends on B43_FW_SQUASH
 		default "5,6,7,8,9,10,11,13,15" if TARGET_brcm47xx_legacy
-		default "5,6,7,8,9,10,11,13,15,16,29"
+		default "16,28,29" if TARGET_brcm47xx_mips74k
+		default "5,6,7,8,9,10,11,13,15,16,28,29"
 		help
 		  This is a comma seperated list of core revision numbers.
 
@@ -1214,6 +1215,7 @@ config PACKAGE_B43_USE_BCMA
 		string "PHY types to include"
 		depends on B43_FW_SQUASH
 		default "G,LP" if TARGET_brcm47xx_legacy
+		default "N,HT" if TARGET_brcm47xx_mips74k
 		default "G,LP,N,HT"
 		help
 		  This is a comma seperated list of PHY types:
@@ -1224,6 +1226,8 @@ config PACKAGE_B43_USE_BCMA
 		    N  => N-PHY
 		    HT  => HT-PHY
 		    LCN  => LCN-PHY
+		    LCN40  => LCN40-PHY
+		    AC  => AC-PHY
 
 		  Example (keep files for G-PHY only):
 		    G
@@ -1238,7 +1242,7 @@ config PACKAGE_B43_USE_BCMA
 		  This allows choosing buses that b43 should support.
 
 	config PACKAGE_B43_BUSES_BCMA_AND_SSB
-		depends on !TARGET_brcm47xx_legacy
+		depends on !TARGET_brcm47xx_legacy && !TARGET_brcm47xx_mips74k
 		bool "BCMA and SSB"
 
 	config PACKAGE_B43_BUSES_BCMA
@@ -1246,6 +1250,7 @@ config PACKAGE_B43_USE_BCMA
 		bool "BCMA only"
 
 	config PACKAGE_B43_BUSES_SSB
+		depends on !TARGET_brcm47xx_mips74k
 		bool "SSB only"
 
 	endchoice
@@ -1268,6 +1273,17 @@ config PACKAGE_B43_USE_BCMA
 
 		  If unsure, say N.
 
+	config PACKAGE_B43_PHY_G
+		bool "Enable support for G-PHYs"
+		default n if TARGET_brcm47xx_mips74k
+		default y
+		help
+		  Enable support for G-PHY. This includes support for the following devices:
+		  PCI: BCM4306, BCM4311, BCM4318
+		  SoC: BCM5352E, BCM4712
+
+		  If unsure, say Y.
+
 	config PACKAGE_B43_PHY_N
 		bool "Enable support for N-PHYs"
 		default n if TARGET_brcm47xx_legacy
@@ -1283,6 +1299,7 @@ config PACKAGE_B43_USE_BCMA
 
 	config PACKAGE_B43_PHY_LP
 		bool "Enable support for LP-PHYs"
+		default n if TARGET_brcm47xx_mips74k
 		default y
 		help
 		  Enable support for LP-PHY. This includes support for the following devices:
@@ -1505,6 +1522,7 @@ config-$(call config_package,b43) += B43
 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA_AND_SSB) += B43_BUSES_BCMA_AND_SSB
 config-$(CONFIG_PACKAGE_B43_BUSES_BCMA) += B43_BUSES_BCMA
 config-$(CONFIG_PACKAGE_B43_BUSES_SSB) += B43_BUSES_SSB
+config-$(CONFIG_PACKAGE_B43_PHY_G) += B43_PHY_G
 config-$(CONFIG_PACKAGE_B43_PHY_N) += B43_PHY_N
 config-$(CONFIG_PACKAGE_B43_PHY_LP) += B43_PHY_LP
 config-$(CONFIG_PACKAGE_B43_PHY_HT) += B43_PHY_HT
diff --git a/target/linux/brcm47xx/mips74k/config-default b/target/linux/brcm47xx/mips74k/config-default
index a29b477317..e722a9b4f6 100644
--- a/target/linux/brcm47xx/mips74k/config-default
+++ b/target/linux/brcm47xx/mips74k/config-default
@@ -1,6 +1,9 @@
 # CONFIG_ADM6996_PHY is not set
 # CONFIG_BCM47XX_SSB is not set
+CONFIG_BGMAC=y
 # CONFIG_FIXED_PHY is not set
+# CONFIG_GPIO_WDT is not set
+# CONFIG_SSB is not set
 # CONFIG_SSB_DRIVER_EXTIF is not set
 # CONFIG_SSB_DRIVER_GIGE is not set
 # CONFIG_SSB_DRIVER_MIPS is not set
diff --git a/target/linux/brcm47xx/modules.mk b/target/linux/brcm47xx/modules.mk
index 5738d6aa0d..94bc662666 100644
--- a/target/linux/brcm47xx/modules.mk
+++ b/target/linux/brcm47xx/modules.mk
@@ -26,7 +26,7 @@ $(eval $(call KernelPackage,usb-brcm47xx))
 
 define KernelPackage/ocf-ubsec-ssb
   TITLE:=BCM5365P IPSec Core driver
-  DEPENDS:=@TARGET_brcm47xx +kmod-crypto-ocf
+  DEPENDS:=@TARGET_brcm47xx @!TARGET_brcm47xx_mips74k +kmod-crypto-ocf
   KCONFIG:=CONFIG_OCF_UBSEC_SSB
   FILES:=$(LINUX_DIR)/crypto/ocf/ubsec_ssb/ubsec_ssb.ko
   AUTOLOAD:=$(call AutoLoad,10,ubsec_ssb)
@@ -42,7 +42,7 @@ $(eval $(call KernelPackage,ocf-ubsec-ssb))
 define KernelPackage/bgmac
   TITLE:=Broadcom bgmac driver
   KCONFIG:=CONFIG_BGMAC
-  DEPENDS:=@TARGET_brcm47xx
+  DEPENDS:=@TARGET_brcm47xx @!TARGET_brcm47xx_legacy
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/bgmac.ko
   AUTOLOAD:=$(call AutoLoad,19,bgmac,1)
-- 
GitLab