]> Pileus Git - ~andy/linux/blobdiff - drivers/bcma/driver_chipcommon.c
bcma: add support for BCM43142
[~andy/linux] / drivers / bcma / driver_chipcommon.c
index 036c6744b39bd390e2c6cafeddf3595cbbb89caa..b068f98920a8385446f03ee3e6fe32d369aedc3c 100644 (file)
@@ -140,8 +140,15 @@ void bcma_core_chipcommon_init(struct bcma_drv_cc *cc)
        bcma_core_chipcommon_early_init(cc);
 
        if (cc->core->id.rev >= 20) {
-               bcma_cc_write32(cc, BCMA_CC_GPIOPULLUP, 0);
-               bcma_cc_write32(cc, BCMA_CC_GPIOPULLDOWN, 0);
+               u32 pullup = 0, pulldown = 0;
+
+               if (cc->core->bus->chipinfo.id == BCMA_CHIP_ID_BCM43142) {
+                       pullup = 0x402e0;
+                       pulldown = 0x20500;
+               }
+
+               bcma_cc_write32(cc, BCMA_CC_GPIOPULLUP, pullup);
+               bcma_cc_write32(cc, BCMA_CC_GPIOPULLDOWN, pulldown);
        }
 
        if (cc->capabilities & BCMA_CC_CAP_PMU)