wandboard_defconfig: Add feature support in defconfig

Add support for the Fusion touchscreen, Sunplus wireless HID keyboard, and
some USB to serial devices.
ENGR00309838 ARM: imx6sl: gpc: add chip revision check for dispmix

The dispmix feature works without problem since TO1.2.
This patch adds the back-compatibility for older chip.

Signed-off-by: Robby Cai <r63905@freescale.com>
(cherry picked from commit a187b916d55052fed10de1797009250095b598fb)
regulator: pfuze100: Fix address of FABID

According to the datasheet, the address of FABID is 0x4. Fix it.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
(cherry picked from commit c07a24939f36fb6de522a9726369ea64eee5d98d)
(cherry picked from commit cfec286ff9f375c2c289072d63cedbb0c7917a48)
regulator: pfuze100: add pfuze200 support

support pfuze200 chip which remove SW1C and SW4 based on pfuze100.

Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit f2518480c7b744296a5587990a54e3a284d932b8)

Conflicts:

	drivers/regulator/pfuze100-regulator.c
(cherry picked from commit f9e62732cfb59ff68fed303bbbb3913d2f1002bf)
regulator: pfuze100: Add terminate entry for [i2c|of]_device_id tables

Also remove PFUZE_NUM to avoid below build warnings:

  CC [M]  drivers/regulator/pfuze100-regulator.o
drivers/regulator/pfuze100-regulator.c:86:2: warning: excess elements in array initializer [enabled by default]
drivers/regulator/pfuze100-regulator.c:86:2: warning: (near initialization for 'pfuze_device_id') [enabled by default]
drivers/regulator/pfuze100-regulator.c:93:2: warning: excess elements in array initializer [enabled by default]
drivers/regulator/pfuze100-regulator.c:93:2: warning: (near initialization for 'pfuze_dt_ids') [enabled by default]

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit e6c4c3378d82c5eeb136ed06b1a23651bcdaf739)
(cherry picked from commit 12c7dd7c396378fd6dc907903a4ae540a75b31f5)
regulator: pfuze100: Add PFUZE200 support to Kconfig and module description

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 2cee2121db44cfeee206d0854bedd52344eea444)

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 88236aaba4ed9b89a7873b30fc1ca9cdcb6b407d)
regulator: pfuze100: Use of_get_child_by_name

of_find_node_by_name walks the allnodes list, and can thus walk
outside of the parent node. Use of_get_child_by_name instead.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 4d286178d55cc5811d50750a44eb729252adef11)
pfuze100-regulator: Fix of_node_get() parameter

Since commit d7857c42 (regulator: pfuze100: Use of_get_child_by_name) we get
the following probe failure:

pfuze100-regulator 1-0008: Full layer: 1, Metal layer: 0
pfuze100-regulator 1-0008: FAB: 0, FIN: 0
pfuze100-regulator 1-0008: regulators node not found
pfuze100-regulator: probe of 1-0008 failed with error -22

Now that of_get_child_by_name() is used we should adjust the device_node pointer
'np' to not get the parent node anymore.

Suggested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 0780208ff201feb45e12ebecb39ecac4740b1244)
ENGR00301078-1: ARM: dts: imx6dl-sabresd: add support for pfuze200 on mx6dl-sabresd

move pmic device node from imx6qdl-sabresd.dtsi to up-level, and add
another layer on imx6dl-sabresd to diff pfuze100 or pfuze200. Meanwhile
only work in ldo-enable mode if using pfuze200,since 'SW1C' switch
regulator is cut for cost-down which means VDDARM_IN and VDDSOC_IN have
to share the same switch regulator

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 32e4e161b087bfdcea74bd80f0b24c341092c96b)
ENGR00301078-2: ARM: dts: imx6sl-evk: add support for pfuze200 on imx6sl-evk

move pmic device node from imx6sl-evk.dtsi to upper-level, and add
another layer on imx6sl-evk to diff pfuze100 or pfuze200. Meanwhile
only works in ldo-enable mode if using pfuze200, since 'SW1C' switch
regulator is cut for cost-down which means VDDARM_IN and VDDSOC_IN have
to share the same switch regulator

Signed-off-by: Robin Gong <b38343@freescale.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)