diff options
author | Rickard Andersson <rickard.andersson@stericsson.com> | 2011-03-22 11:50:07 +0100 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 15:15:00 +0200 |
commit | f31be4371a26be91cdd38c02d0d161ed8df2bbe6 (patch) | |
tree | 2300c1b6e69ec3597b366448e3668dcfcad94ec2 | |
parent | 9d2b53909e243f00f20388a70845a58d0cf9842d (diff) |
mach-ux500: Control bluetooth pins correctly
This patch fixes a problem with the configuration of
bluetooth pins during suspend.
ST-Ericsson Linux next: -
ST-Ericsson ID:328950
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ic3ab0ea5afb7d79612d8ada58385b21f3b72b8f6
Signed-off-by: Rickard Andersson <rickard.andersson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/18623
Reviewed-by: Par-Gunnar HJALMDAHL <par-gunnar.p.hjalmdahl@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-pins.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c index d804f516bd9..6d69cb0f081 100644 --- a/arch/arm/mach-ux500/board-mop500-pins.c +++ b/arch/arm/mach-ux500/board-mop500-pins.c @@ -377,7 +377,7 @@ void mop500_pins_suspend_force(void) mask |= 0x10; writel(0x409C702A & ~w_imsc & ~mask, bankaddr + NMK_GPIO_DIR); - writel(0x001C002A & ~w_imsc & ~mask, bankaddr + NMK_GPIO_DATS); + writel(0x001C0022 & ~w_imsc & ~mask, bankaddr + NMK_GPIO_DATS); writel(0x807000 & ~w_imsc & ~mask, bankaddr + NMK_GPIO_DATC); writel(0x5FFFFFFF & ~w_imsc & ~imsc & ~mask, bankaddr + NMK_GPIO_PDIS); writel(readl(bankaddr + NMK_GPIO_SLPC) & mask, @@ -458,9 +458,14 @@ void mop500_pins_suspend_force(void) imsc = readl(bankaddr + NMK_GPIO_RIMSC) | readl(bankaddr + NMK_GPIO_FIMSC); + + if (machine_is_hrefv60()) { + /* Make sure that camera pin 170 "XENON_CHARGE" is low */ + writel(0x400 & ~w_imsc, bankaddr + NMK_GPIO_DIRS); + writel(0x400 & ~w_imsc, bankaddr + NMK_GPIO_DATC); + } + writel(0x3FF , bankaddr + NMK_GPIO_DIRC); - writel(0xC00 & ~w_imsc, bankaddr + NMK_GPIO_DIRS); - writel(0xC00 & ~w_imsc, bankaddr + NMK_GPIO_DATC); writel(0xFFFFFFFF & ~w_imsc & ~imsc, bankaddr + NMK_GPIO_PDIS); writel(0 , bankaddr + NMK_GPIO_SLPC); |