ARM: i.MX6: cm-fx6: vmmc: use cm_fx6 namespace

Switch vmmc related code to use cm_fx6 namespace.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: fix vmmc supplies

cm-fx6 related products use only SDHCI 0 and 2.
Fix regulator supplies to be only for SDHCI 0 and 2.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: add power-off handler

With no power-off handler, the default for power-off would be halt.
Add power-off handler, so the machine will actually power off.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: fix uart2 board support

Fix incorrect pin muxes configuration.
Remove the uart private data with wrong flags.

Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
mtd: m25p80: add support for m25px16

Although the m25px16 spi flash chip is JEDEC complient and can be used
with the m25p80 driver, the support for it was missing.
Add support for the m25px16 spi flash chip.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: pcie: fix compile warning

Fix the below warning:
arch/arm/mach-mx6/pcie.c: In function 'imx_pcie_regions_setup':
arch/arm/mach-mx6/pcie.c:308: warning: unused variable 'i'

i is only used if CONFIG_PCI_MSI is enabled, so move it under the
relevant #ifdef.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: restrict cm_fx6_init_late()

device_initcall_sync() is called on every architecture/platform.
Condition the cm-fx6 specific setting to only cm-fx6.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: report the base board name

After identification of the base board, report its name.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: rework the MMC/SD support

Apparently, some SD cards do not work well if the pad settings of the
pads used by the MMC bus are adjusted during the clock change.
Moreover, cm-fx6 does not need any such adjustments and performs fine
with only one time MMC bus pads configuration during the boot process.

Given the above facts, remove the runtime adjustment of the MMC related
pads and use one time configuration during the boot process, thus fixing
the SD cards problem.

While on this, split the pad configuration to half (4 bit) and
full (8 bit) MMC bus width.
Do not configure the pins that are not in use.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: tag kernel version -cm-fx6-4.1

Tag kernel vestion with -cm-fx6-4.1.
This is a bug fix release.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
video: mxc_hdmi: loosen the requirement for CEA

Increase the amount of EDID modes that are accepted by i.MX6 HDMI
driver. For particular displays this increase might appear quite large.

According to Freescale, i.MX6 does not support non-CEA modes.
According to BoundaryDevices, this restriction does not appear
necessary.
According to our observations, tweaking with kernel bootargs might be
required, e.g. for Baanto display, use the non-Android style
video=mxcfb0:dev=hdmi,if=RGB24,1280x1024M@60

References:
[1] https://community.freescale.com/thread/305063
[2] http://boundarydevices.com/hdmi-cea-mode/

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: utilite: add defconfig

Add default configuration file for Utilite.

Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ARM: i.MX6: cm-fx6: utilite: update defconfig

Add nfsd and devtmpfs.

Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
ASoC: wm8731: report only stereo operating mode

Report stereo as the only supported	playback / capture mode.
To my understanding, wm8731 has no concept of mono, it always operates
on multiplexed (left/right) I2S data. As a result, an attempt to send
it monaural data is doomed to failure.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Revert "Workaround 2 limitations of SSI playback:"

This reverts commit ae39701dbedf03db44f3a17ef682fcbbe43eb959.

SSI supports the modes that were masked off by the commit above.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ASoC: cm-fx6: revisit ASoC driver for cm-fx6

Fixes applied:
1. Audmux configuration
	Due to misconfigured mode, very low rate oversampling clock was
	supplied to the audio codec, severely limiting audio BW.
2. Master clock (a.k.a. sysclock) division
	The master clock has to be divided in a single place for both
	playback and capture. Otherwise, the recording would occasionally
	be severely distorted.
	Ref: i.MX6 processor reference manual - SSIx_SSI_STCCR

Note:
The fixes regard mainly slave-mode audio codec.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
ASoC: cm-fx6: clean up the source

Remove excessive verbosity from the license statement.
Remove unrequired header files.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
video: mxc_hdmi: improve debug message

Improve the "video mode changed" debug message.
Add refresh rate and pixclock to the output.

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Revert "video: mxc_hdmi: loosen the requirement for CEA"

This reverts commit 8233583c5ac534e88e4c8c64fb43491e85c65089.
The commit in subject introduces a regression on some displays and
therefore should be reverted.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
video: mxc_hdmi: enable non-CEA video modes support

To be more precise on proper support of non-CEA video modes,
we reject those non-CEA modes that have a CEA match.
This is done in order to eliminate selection of unsupported
modes when there are just as good supported modes.

According to Freescale, they do not support non-CEA modes.
According to BoundaryDevices, this restriction does not appear necessary.
According to our observations, this fix quite increases the amount of
EDID modes that are accepted by i.MX6 graphics.

Reference:
[1] https://community.freescale.com/thread/305063
[2] http://boundarydevices.com/hdmi-cea-mode/

Signed-off-by: Andrey Gelman <andrey.gelman@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>