bcma: extend workaround for bcm4331
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 29 Jun 2012 23:44:37 +0000 (01:44 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Jul 2012 20:36:02 +0000 (16:36 -0400)
This patch is based on a recent version of the Broadcom SDK.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/bcma/driver_chipcommon_pmu.c
include/linux/bcma/bcma_driver_chipcommon.h

index 61ce4054b3c33b3ed70e0de39d0e19a9f5167cf0..f18df1f392ecda2987e0d66a88aeb64aa49d3cdd 100644 (file)
@@ -123,8 +123,11 @@ void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable)
                val |= BCMA_CHIPCTL_4331_EXTPA_EN;
                if (bus->chipinfo.pkg == 9 || bus->chipinfo.pkg == 11)
                        val |= BCMA_CHIPCTL_4331_EXTPA_ON_GPIO2_5;
+               else if (bus->chipinfo.rev > 0)
+                       val |= BCMA_CHIPCTL_4331_EXTPA_EN2;
        } else {
                val &= ~BCMA_CHIPCTL_4331_EXTPA_EN;
+               val &= ~BCMA_CHIPCTL_4331_EXTPA_EN2;
                val &= ~BCMA_CHIPCTL_4331_EXTPA_ON_GPIO2_5;
        }
        bcma_cc_write32(cc, BCMA_CC_CHIPCTL, val);
index 8bbfe31fbac864db2fa60e9edeef149097d3a32e..1e523cc618606f64d4a5c3d6848b3277c28d175c 100644 (file)
 #define BCMA_CHIPCTL_4331_OVR_PIPEAUXPWRDOWN   BIT(9)  /* override core control on pipe_AuxPowerDown */
 #define BCMA_CHIPCTL_4331_PCIE_AUXCLKEN                BIT(10) /* pcie_auxclkenable */
 #define BCMA_CHIPCTL_4331_PCIE_PIPE_PLLDOWN    BIT(11) /* pcie_pipe_pllpowerdown */
+#define BCMA_CHIPCTL_4331_EXTPA_EN2            BIT(12) /* 0 ext pa disable, 1 ext pa enabled */
 #define BCMA_CHIPCTL_4331_BT_SHD0_ON_GPIO4     BIT(16) /* enable bt_shd0 at gpio4 */
 #define BCMA_CHIPCTL_4331_BT_SHD1_ON_GPIO5     BIT(17) /* enable bt_shd1 at gpio5 */