defconfig: Remove TWL4030_PWRBUTTON
-may be the cause of the double tap issue
Fix for white flash when screen is turned on
ARM: OMAP3xxx: clockdomain: fix software supervised wakeup/sleep

Commit 4da71ae6 ("OMAP: clockdomain: Arch specific funcs for
clkdm_clk_enable/disable") called the OMAP2xxx-specific functions for
clockdomain wakeup and sleep.  This would probably have broken
software-supervised clockdomain wakeup and sleep on OMAP3.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Jon Hunter <jon-hunter@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
[steven@steven676.net: make apply to p-android-omap3-3.0]
ARM: OMAP2+: clockdomain/hwmod: add workaround for EMU clockdomain idle problems

The idle status of the IP blocks and clocks inside the EMU clockdomain
isn't taken into account by the PRCM hardware when deciding whether
the clockdomain is idle.  Add a workaround flag in the clockdomain
code, CLKDM_MISSING_IDLE_REPORTING, to deal with this problem, and add
the code necessary to support it.

If CLKDM_MISSING_IDLE_REPORTING is set on a clockdomain, the
clockdomain will be forced active whenever an IP block inside that
clockdomain is in use, even if the clockdomain supports
hardware-supervised idle.  When the kernel indicates that the last
active IP block inside the clockdomain is no longer used, the
clockdomain will be forced idle, or, if that mode is not supported in
the hardware, it will be placed into hardware-supervised idle.

This patch is an equal collaboration with Jon Hunter
<jon-hunter@ti.com>.  Ming Lei <ming.lei@canonical.com>, Will Deacon
<will.deacon@arm.com>, Madhav Vij <mvij@ti.com>, Kevin Hilman
<khilman@ti.com>, Benoît Cousson <b-cousson@ti.com>, and Santosh
Shilimkar <santosh.shilimkar@ti.com> all made essential contributions
to the understanding of EMU clockdomain power management on OMAP.

[steven@steven676.net: squash in cf956d9 ("ARM: OMAP3: fix workaround
for EMU clockdomain")]

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Jon Hunter <jon-hunter@ti.com>
Cc: Ming Lei <ming.lei@canonical.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Madhav Vij <mvij@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Jon Hunter <jon-hunter@ti.com>
[steven@steven676.net: backport to p-android-omap3-3.0]
GPIO: OMAP: Fix the sequence to clear the IRQ status

The recommended way to clear the GPIO IRQ status is to:

- Enable the IRQ
- clear the status

If this above sequence is not followed, i.e., if the status
is cleared after disabling the IRQ then sWAKEUP will not be
cleared and gates the module transition.

Change-Id: I8bd1b820ac8be70530cd6430f26ce541bfd3f9d9
Signed-off-by: Huzefa Kankroliwala <huzefank@ti.com>
Signed-off-by: Girish S G <girishsg@ti.com>
Signed-off-by: Andrii Anisov <andrii.anisov@ti.com>
OMAP3: abort suspend if omap2_gpio_prepare_for_idle() reports failure

Otherwise, since d40caba... ("ARM: omap4: gpio: abort suspend if a level
wake interrupt is pending") and 05647ea... ("OMAP3: PM: Fix compile
after gpio wakeup API change"), we end up going into suspend with GPIOs
in an inconsistent state.
Update arch/arm/boot/compressed/.gitignore for XZ compression changes

These were part of the upstream patch a7f464f... ("ARM: 7001/2: Wire up
support for the XZ decompressor"), but somehow didn't make it into our
kernel.
wake w/ N key
Merge branch 'encore-omap3-3' into encore-omap3-3.0.y
hynix-h8mbx00u0mer: change values to match .32
Cleanup source files
I2C: OMAP: Fix timeout problem during suspend.

On a board with OMAP3 processor and TWL4030 Power management,
we need to talk to the TWL4030 during late suspend but cannot
because the I2C interrupt is disabled (as late suspend disables
interrupt).

e.g. I get messages like:

[   62.161102] musb-omap2430 musb-omap2430: LATE power domain suspend
[   63.167205] omap_i2c omap_i2c.1: controller timed out
[   63.183044] twl: i2c_read failed to transfer all messages
[   64.182861] omap_i2c omap_i2c.1: controller timed out
[   64.198455] twl: i2c_write failed to transfer all messages
[   65.198455] omap_i2c omap_i2c.1: controller timed out
[   65.203765] twl: i2c_write failed to transfer all messages

The stack shows omap2430_runtime_suspend calling twl4030_set_suspend
which tries to power-down the USB PHY (twl4030_phy_suspend ->
twl4030_phy_power -> __twl4030_phy_power which as a nice WARN_ON
that helps).

Then we get the same in resume:

[   69.603912] musb-omap2430 musb-omap2430: EARLY power domain resume
[   70.610473] omap_i2c omap_i2c.1: controller timed out
[   70.626129] twl: i2c_write failed to transfer all messages
etc.

So don't disable interrupts for I2C.

Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
kxtf9: updated driver from Nook HD
cyttsp: revert back to the 3.4 driver
Tweak wake on N key
max8903: updated driver from Nook HD
Remove stray minus sign in pm34xx.c
encore: use "testing" nvalues from 2.6.32 for SmartReflex at OPP4/5

OMAP3621 doesn't have fused-in values for these OPPs, since it ships
from the factory with an 800 MHz max MPU clock speed.  Deal with this by
using testing nvalues from 2.6.32 for those OPPs if they're present in
the OPP table.

Based on work by dalingrin on the Nook Color 2.6.32 kernel:
https://github.com/keyodi/nook_kernel/commit/aa015b1fa4b1ca407ff4403c678495041bf492ce
OMAP3630: add margins to SmartReflex-calculated voltages

Add 37500 uV to SmartReflex-calculated values for OPP1-3 and 62500 uV
for OPP4-5; this improves stability when SR is enabled on OMAP3630.

Details gleaned from commit 3df0d76... ("OMAP3:PM:SR add additional
steps for vdd1 OPP's for 3630SOM") on the p-android-omap-2.6.32 branch.
Merge branch 'encore-omap3-3' into encore-omap3-3.0.y