ASoC: Tuna: Reduce S/PDIF power down time

Reduce S/PDIF pmdown_time in order to prevent S/PDIF's power-down
to affect audio paths that ignore suspend during voice call.

Change-Id: I5fe32ed315e3bdbffb995a400646871fb4bcdf1c
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
serial: omap: disable serial port irq during suspend

If the serial port interrupt is left enabled during suspend, it
can fire during uart_resume_port, while the uart is in an
undefined state and the port lock is not held.

Disable the interrupt in serial_omap_suspend, and enable it in
serial_omap_resume.  This also requires moving the request_irq
into probe, instead of startup, so that the irq is always
available to disable.

Change-Id: Iaa88fa527b056828303fe1fbad6883b720278440
Signed-off-by: Colin Cross <ccross@android.com>
Revert "Revert "mmc: Set suspend/resume bus operations if CONFIG_PM_RUNTIME is used""

This reverts commit 3ace7831ab80ee38d3d387337ed4e20f98cd53a0.

Change-Id: I1afd0e0c09812619b2f4e1c472ccc65c58e712e3
Signed-off-by: Todd Poynor <toddpoynor@google.com>
mmc: omap_hsmmc: Prevent calling mmc_host_lazy_disable() on suspend path

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
ARM: omap4: tuna: Add panel configration for SM2A2 Line support.

change list.
 -. SM2A2 Panel Id value is '0xA2'.
 -. Add factory info for SM2A2 line panel.
 -. Add panel data for SM2A2.

Change-Id: I82addbf29bab4533845caf632676592d11d9950d
Signed-off-by: swin.kim <swin.kim@samsung.com>
DEBUG: rtc: twl: add register dump if RTC did not fire on time

If on waking up from suspend, we can expect an ALARM event. However,
in such a scenario, if RTC current time is greater than alarm time +
60 seconds, it could indicate an missed event notification to
users of twl rtc, so dump registers to provide better debug
information.

Change-Id: If89a92b147857ef23726d1eabfe36939e8371779
Signed-off-by: Nishanth Menon <nm@ti.com>
OMAP4: HSI: Fix for back to back CAWAKE interrupts

If a CAWAKE interrupt occurs while previous CAWAKE is still being
processed, the end of first CAWAKE processing will clear interrupt
status bit for 1st CAWAKE interrupt, but also for second interrupt.
So 2nd CAWAKE interrupt is missed.

Added a backup CAWAKE interrupt (HSI_Pp_M_IRQrU_STATUS.HSR_WAKE) to take over
the regular CAWAKE interrupt ((HSI_Pp_M_IRQr_STATUS.HSR_WAKE) while it is being
processed.
This CAWAKE backup interrupt will catch the second interrupt if it occurs.
It guaranty we don't miss a CAWAKE interrupt while clearing the previous
regular one.

Bug: 5956850
Change-Id: I915cb9ec555cf4bc6deab3d5ddfb592dce7bfa24
Signed-off-by: Djamil Elaidi <d-elaidi@ti.com>
Reported-by: Cedric Poignet <a0919860@ti.com>
Signed-off-by: wonhee <wonhee48.seo@samsung.com>
OMAP4: HSI: Add HW errata platform data

Created a platform data field to pass errata ids to HSI driver.

Supported erratum are :
HSI-C1BUG00088: i696: HSI: Issue with SW reset
HSI-C1BUG00085: ixxx: HSI wakeup issue in 3 wires mode
HSI-OMAP4430-2.2BUG00055: i702: DSP Swakeup generated is the same than MPU Swakeup.

fix missing errata initialization :
Errata variable was not initialized.
Collapsed all OMAP4 errata.

Bug: 5956850
Change-Id: Iaf55a5baa6474fe7bed2b402f2ea7ca14af191fa
Signed-off-by: Djamil Elaidi <d-elaidi@ti.com>
Signed-off-by: wonhee <wonhee48.seo@samsung.com>
OMAP4+: HSI: fix for spurious CAWAKE event while processing RX/TX

When a CAWAKE event occurs while processing a RX or TX interrupt, the backup
interrupt status is set along with normal interrupt status bit.
So HSI driver detects this as a new CAWAKE interrupt and process it.
But because normal HSI interrupt has also been set, the tasklet is rescheduled
and the same CAWAKE event is processed again, causing spurious CAWAKE
notifications.

Fix consists in adding a check to process a new CAWAKE event as a double
interrupt only if normal CAWAKE interrupt is currently being processed.
Otherwise, let the taslket be rescheduled to process new interrupt.

Bug: 5956850, 5975406
Change-Id: Ia474ea1bc30da12469cad1f4aea2547b1cf9d244
Signed-off-by: Djamil Elaidi <d-elaidi@ti.com
Signed-off-by: wonhee <wonhee48.seo@samsung.com>
MFD: TWL 6030: clear IRQ status register only once

TWL6030 family of PMIC use a shadow interrupt status register
while kernel processes the current interrupt event.
However, any write(0 or 1) to register INT_STS_A, INT_STS_B or
INT_STS_C clears all 3 interrupt status registers.

Since clear of the interrupt is done on 32k clk, depending on I2C
bus speed, we could in-adverently clear the status of a interrupt
status pending on shadow register in the current implementation.
This is due to the fact that multi-byte i2c write operation into
three seperate status register could result in multiple load
and clear of status and result in lost interrupts.

Instead, doing a single byte write to INT_STS_A register with 0x0
will clear all three interrupt status registers without the related
risk.

Change-Id: Iba62dd1caeabf8c2db21d1b6c9fd62455f73205e
Signed-off-by: Nishanth Menon <nm@ti.com>
net: wireless: bcmdhd: Add SET_RANDOM_MAC_SOFTAP option

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
arch: arm: modems: remove pull_up setting for phone active input pin

1. Remove PULL_UP padconf for phone_active_pin.
	- this PULL_UP makes phone_active_pin unstable after cp panic

Bug: 5987304
Change-Id: Ie1b4390ba34c48cc07a8f656b3eee7b60ca010ef
Signed-off-by: wonhee <wonhee48.seo@samsung.com>
[MMC] Patch the firmware of certain Samsung emmc parts to fix a bug

Patch the firmware in certain Samsung emmc chips after every power-on
to workaround a bug in the wear leveling code.  Patch provided by Samsung
Semiconductor, and the code to apply the patch was originally written
by Jeonghwan Min of Samsung.

Change-Id: Id40cfb8f68842fc4a47f60ae032f1b49c0fcb65e
Signed-off-by: Ken Sumrall <ksumrall@android.com>
OMAP4: trim_quirks: Fix wrong implementation of erratum i684

OMAP4430 erratum i684:
Due to trimming program issue and a related architectural issue,
the LPDDR I/O and Smart I/O was not trimmed correctly on certain
OMAP4430 revisions. The default value in CONTROL_EFUSE_2 is not
correct and requires to be over-ridden by software.
Units with ProdID[51:50]=11 are not impacted by this issue.

Workaround:
For all affected OMAP4430 units, the value of CONTROL_EFUSE_2 must
be overwritten with 0x004E4000.

Current implementation impacts all OMAP4, hence the fix
restricts to implement the WA only for OMAP4430 affected units. The
wrong value overriden to SoCs not impacted such as OMAP4460 can
cause memory instability in samples as the override
trim value was purposed purely for erratum impacted samples.

Change-Id: I747181ce25eb2574e2b91b5a0a102c538f43b632
Signed-off-by: Konstantin Shlyakhovoy <x0155534@ti.com>
ARM: 7296/1: proc-v7.S: remove HARVARD_CACHE preprocessor guards

commit 612539e81f655f6ac73c7af1da8701c1ee618aee upstream.

On v7, we use the same cache maintenance instructions for data lines
as for unified lines. This was not the case for v6, where HARVARD_CACHE
was defined to indicate the L1 cache topology.

This patch removes the erroneous compile-time check for HARVARD_CACHE in
proc-v7.S, ensuring that we perform I-side invalidation at boot.

Reported-and-Acked-by: Shawn Guo <shawn.guo@linaro.org>

Acked-by: Catalin Marinas <Catalin.Marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net: wireless: bcmdhd: Fix mac setting from platform hook

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Merge branch 'stock' into wheatley