ASoC: sgtl5000: Fix the cache handling

Since commit e5d80e82e32e (ASoC: sgtl5000: Convert to use regmap directly) a
kernel oops is observed after a suspend/resume sequence.

The kernel oops happens inside sgtl5000_restore_regs() as codec->reg_cache is no
longer a valid pointer.

Add the remaining register entries into sgtl5000_reg_defaults[] and remove
sgtl5000_restore_regs() completely, which allows suspend/resume to work fine and
make the code simpler.

Tested on a im53-qsb board.

Reported-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 29aa37cddfb9b721013ff28608200d73a9426368)

Conflicts (resolved):

	sound/soc/codecs/sgtl5000.c
wandboard: Fix bluetooth

Fix uart3 dts pins
Add minimal bluetooth to default config
touchscreen: Add fusion touchscreen driver
wandboard/dts: add fusion touchscreen to devicetree
wandboard/dts: Enable lcdif in devicetree
wandboard/dts: change EDM gpio to open drain

By default the EDM GPIO are set to the default register setting
which is an active push-pull signal.  Change it to an open drain
signal, and enable hysteresis and 100K pullup.
ft5x06: free GPIO in _remove

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: add support for ABS_MT_TRACKING_ID

Without this, the kernel seems to choke on > 4 concurrent touches.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: set MAX_TOUCHES to 12

As a practical matter, the ft5x06 only appears to produce
up to 10, but we can let the controller define that.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: respect/return tracking id from controller

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
wandboard: add revision detect pin to rfkill driver
brcmfmac: Use fw filename and nvram based of devid for sdio.

SDIO firmware download routines uses one name for firmware file
and nvram file for all sdio devices. This is not user friendly.
Use fw filename and nvram filename based upon chip id and revision.

Reported-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
ENGR00318392 ARM:imx6x: Save/restore SCU and some CP15 registers across suspend/resume

This patch ensures that the SCU and certain A9 CP15 registers state are maintained across
a suspend/resume cycle:
1. Need to ensure that SCU standby bit is set again after suspend/resume cycle, else
the system will never WAIT mode after a suspend/resume cycle. This bit should be enabled
on all SMP systems immaterial of whether CPUIDLE is enabled or not.
2. Several A9 errata workarounds involve setting bits in the ARM diagnostic register.
Save/restore this register across a suspend/resume cycle.
3. Save and restore the A9 power control register also.

Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>
(cherry picked from commit 7b5b4ef5b3cdc65c0576f87cfa52bcca1bda8b33)
net: fec: iMX6 FEC does not support half-duplex gigabit

See http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/270174.html

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
nit*_defconfig: add CONFIG_USB_FUNCTIONFS=m

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
nit*_defconfig: add CONFIG_USB_SERIAL_GENERIC

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
wandboard: dts: Add alternate pin support for rev C1

Wandboard rev C1 uses a BCM4330 instead of BCM4329, and with that change
also comes some changes to the GPIO used to control the wireless chip. This
change adds alternate pin declarations for rev C1 within the rfkill driver
as well as defines pinctrl for these new GPIO.

Identified by: PLyttle
wand-rfkill: Change gpio depending on wandboard revision

Wandboard rev C1 uses different GPIO for certain wireless control functions.
Use the revision sense gpio to determine which gpio to use depending on
revision.
wandboard/dts: Fix USB OTG

 - Corrected pin assignment to use GPIO3_IO22.
 - Corrected iomux to use USB_OTG_POWER.
 - Changed USB mode from 'peripheral' to 'otg'.  USB OTG will now work in both host and client modes.
wandboard_defconfig: Enable CONFIG_USB_OTG