summaryrefslogtreecommitdiffstats
path: root/drivers/ssb
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-04-24 11:04:19 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-04-25 14:50:20 -0400
commit9835a30e980561082beb02ce724f6e555787bc19 (patch)
treeed934f465f29125162c795e973e9afc741c70f71 /drivers/ssb
parent6dde1aabf6759848512f19d76b89ee473584c46a (diff)
downloadlinux-stable-9835a30e980561082beb02ce724f6e555787bc19.tar.gz
linux-stable-9835a30e980561082beb02ce724f6e555787bc19.tar.bz2
linux-stable-9835a30e980561082beb02ce724f6e555787bc19.zip
ssb: cc: clear GPIOPULL registers on init
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/ssb')
-rw-r--r--drivers/ssb/driver_chipcommon.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ssb/driver_chipcommon.c b/drivers/ssb/driver_chipcommon.c
index 7c031fdc8205..b4b3733aefcf 100644
--- a/drivers/ssb/driver_chipcommon.c
+++ b/drivers/ssb/driver_chipcommon.c
@@ -260,6 +260,12 @@ void ssb_chipcommon_init(struct ssb_chipcommon *cc)
if (cc->dev->id.revision >= 11)
cc->status = chipco_read32(cc, SSB_CHIPCO_CHIPSTAT);
ssb_dprintk(KERN_INFO PFX "chipcommon status is 0x%x\n", cc->status);
+
+ if (cc->dev->id.revision >= 20) {
+ chipco_write32(cc, SSB_CHIPCO_GPIOPULLUP, 0);
+ chipco_write32(cc, SSB_CHIPCO_GPIOPULLDOWN, 0);
+ }
+
ssb_pmu_init(cc);
chipco_powercontrol_init(cc);
ssb_chipco_set_clockmode(cc, SSB_CLKMODE_FAST);