From d4ef5de6043feb3cb12bdc56fdc9d37d2ccb3db8 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Thu, 25 Oct 2012 15:50:47 +0000
Subject: [PATCH] kernel: add PCI id 14e4:4350 to ssb

* 14e4:4350 is found on a Broadcom BCM43222.
* remove some warnings when using a BCM43222.

SVN-Revision: 33929
---
 .../021-ssb-add-PCI-ID-0x4350.patch           | 10 ++++++++++
 .../022-ssb-handle-BCM43222-in-pmu-code.patch | 19 +++++++++++++++++++
 .../021-ssb-add-PCI-ID-0x4350.patch           | 10 ++++++++++
 .../022-ssb-handle-BCM43222-in-pmu-code.patch | 19 +++++++++++++++++++
 4 files changed, 58 insertions(+)
 create mode 100644 target/linux/generic/patches-3.3/021-ssb-add-PCI-ID-0x4350.patch
 create mode 100644 target/linux/generic/patches-3.3/022-ssb-handle-BCM43222-in-pmu-code.patch
 create mode 100644 target/linux/generic/patches-3.6/021-ssb-add-PCI-ID-0x4350.patch
 create mode 100644 target/linux/generic/patches-3.6/022-ssb-handle-BCM43222-in-pmu-code.patch

diff --git a/target/linux/generic/patches-3.3/021-ssb-add-PCI-ID-0x4350.patch b/target/linux/generic/patches-3.3/021-ssb-add-PCI-ID-0x4350.patch
new file mode 100644
index 0000000000..e0be83980f
--- /dev/null
+++ b/target/linux/generic/patches-3.3/021-ssb-add-PCI-ID-0x4350.patch
@@ -0,0 +1,10 @@
+--- a/drivers/ssb/b43_pci_bridge.c
++++ b/drivers/ssb/b43_pci_bridge.c
+@@ -37,6 +37,7 @@ static const struct pci_device_id b43_pc
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4329) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432b) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432c) },
++	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4350) },
+ 	{ 0, },
+ };
+ MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl);
diff --git a/target/linux/generic/patches-3.3/022-ssb-handle-BCM43222-in-pmu-code.patch b/target/linux/generic/patches-3.3/022-ssb-handle-BCM43222-in-pmu-code.patch
new file mode 100644
index 0000000000..fe7a5120af
--- /dev/null
+++ b/target/linux/generic/patches-3.3/022-ssb-handle-BCM43222-in-pmu-code.patch
@@ -0,0 +1,19 @@
+--- a/drivers/ssb/driver_chipcommon_pmu.c
++++ b/drivers/ssb/driver_chipcommon_pmu.c
+@@ -346,6 +346,8 @@ static void ssb_pmu_pll_init(struct ssb_
+ 			chipco_write32(cc, SSB_CHIPCO_PLLCTL_DATA, 0x380005C0);
+ 		}
+ 		break;
++	case 43222:
++		break;
+ 	default:
+ 		ssb_printk(KERN_ERR PFX
+ 			   "ERROR: PLL init unknown for device %04X\n",
+@@ -434,6 +436,7 @@ static void ssb_pmu_resources_init(struc
+ 		 min_msk = 0xCBB;
+ 		 break;
+ 	case 0x4322:
++	case 43222:
+ 		/* We keep the default settings:
+ 		 * min_msk = 0xCBB
+ 		 * max_msk = 0x7FFFF
diff --git a/target/linux/generic/patches-3.6/021-ssb-add-PCI-ID-0x4350.patch b/target/linux/generic/patches-3.6/021-ssb-add-PCI-ID-0x4350.patch
new file mode 100644
index 0000000000..e0be83980f
--- /dev/null
+++ b/target/linux/generic/patches-3.6/021-ssb-add-PCI-ID-0x4350.patch
@@ -0,0 +1,10 @@
+--- a/drivers/ssb/b43_pci_bridge.c
++++ b/drivers/ssb/b43_pci_bridge.c
+@@ -37,6 +37,7 @@ static const struct pci_device_id b43_pc
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4329) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432b) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x432c) },
++	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4350) },
+ 	{ 0, },
+ };
+ MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl);
diff --git a/target/linux/generic/patches-3.6/022-ssb-handle-BCM43222-in-pmu-code.patch b/target/linux/generic/patches-3.6/022-ssb-handle-BCM43222-in-pmu-code.patch
new file mode 100644
index 0000000000..fe7a5120af
--- /dev/null
+++ b/target/linux/generic/patches-3.6/022-ssb-handle-BCM43222-in-pmu-code.patch
@@ -0,0 +1,19 @@
+--- a/drivers/ssb/driver_chipcommon_pmu.c
++++ b/drivers/ssb/driver_chipcommon_pmu.c
+@@ -346,6 +346,8 @@ static void ssb_pmu_pll_init(struct ssb_
+ 			chipco_write32(cc, SSB_CHIPCO_PLLCTL_DATA, 0x380005C0);
+ 		}
+ 		break;
++	case 43222:
++		break;
+ 	default:
+ 		ssb_printk(KERN_ERR PFX
+ 			   "ERROR: PLL init unknown for device %04X\n",
+@@ -434,6 +436,7 @@ static void ssb_pmu_resources_init(struc
+ 		 min_msk = 0xCBB;
+ 		 break;
+ 	case 0x4322:
++	case 43222:
+ 		/* We keep the default settings:
+ 		 * min_msk = 0xCBB
+ 		 * max_msk = 0x7FFFF
-- 
2.30.2