clocksource: exynos_mct: fix exynos4_mct_write

EXYNOS4_MCT_L_MASK is defined as 0xffffff00, so applying this bitmask
produces a number outside the range 0x00 to 0xff, which always results
in execution of the default switch statement.

Obviously this is wrong and git history shows that the bitmask inversion
was incorrectly set during a refactoring of the MCT code.

Fix this by putting the inversion at the correct position again.

Reported-by: GP Orcullo <kinsamanka@gmail.com>
HACK: mmc: dw_mmc-exynos: implementing hwreset on shutdown for eMMC

Use GPIO to issue a hwreset of the eMMC on system shutdown/reboot, so
that the eMMC stays useable once the systems comes up again.
Needed for the Hardkernel ODROID-X2/U2/U3.
HACK: ARM: dts: exynos4412-odroid: add eMMC reset GPIO spec

Add the hwreset GPIO property, so that the Exynos4412 based
ODROID-X2/U2/U3 boards properly detect the eMMC after a reboot.
ARM: dts: add exynos4412-prime dtsi

The Exynos4412 Prime is identical to the Exynos4412 except for
the ability to reach higher clocking rates.
This also moves the operating points out of the exynos-4x12 dtsi.
ARM: dts: exynos4412-odroid: split X/X2 dts

The ODROID-X features a regular Exynos4412 SoC, while the X2 has
the Prime variant, which supports higher operating frequencies.

As of now, the X dts was included in the X2 dts. Do a complete
split of the dts.
ARM: dts: exynos4412-odroid: fix freeze when reading clk_summary

Set the ISP power domain to always-on to avoid a lockup when
reading the 'clk_summary' debugfs entry on an ODROID-U2/U3/X/X2.
mmc: sdhci: don't read cd-gpio while holding spinlock

sdhci_request() and sdhci_card_event() read the cd-gpio via
mmc_gpio_get_cd(), which can sleep, while holding host->lock.
This may result in the following BUG:

  BUG: spinlock wrong CPU on CPU#2, kworker/u8:16/4296
  lock: 0xea6b9c80, .magic: dead4ead, .owner: kworker/u8:16/4296, .owner_cpu: 0
  CPU: 2 PID: 4296 Comm: kworker/u8:16 Tainted: G         C   3.10.18 #137
  Workqueue: kmmcd mmc_rescan
  [<8020cf8c>] (unwind_backtrace+0x0/0x118) from [<8020a0c8>] (show_stack+0x20/0x24)
  [<8020a0c8>] (show_stack+0x20/0x24) from [<8075e5b8>] (dump_stack+0x20/0x28)
  [<8075e5b8>] (dump_stack+0x20/0x28) from [<804184a8>] (spin_dump+0x80/0x94)
  [<804184a8>] (spin_dump+0x80/0x94) from [<804184e8>] (spin_bug+0x2c/0x30)
  [<804184e8>] (spin_bug+0x2c/0x30) from [<80418790>] (do_raw_spin_unlock+0x94/0xd4)
  [<80418790>] (do_raw_spin_unlock+0x94/0xd4) from [<80761a44>] (_raw_spin_unlock_irqrestore+0x1c/0x24)
  [<80761a44>] (_raw_spin_unlock_irqrestore+0x1c/0x24) from [<805ff66c>] (sdhci_request+0x1c8/0x1d0)
  [<805ff66c>] (sdhci_request+0x1c8/0x1d0) from [<805ebb5c>] (mmc_start_request+0xec/0xf4)
  [<805ebb5c>] (mmc_start_request+0xec/0xf4) from [<805ebcbc>] (mmc_wait_for_req+0x80/0xf4)
  ...

Read the cd-gpio before acquiring the spinlock instead.

[dsd: needed to avoid various sleep-while-atomic warnings during boot when
 GPIO debugging is enabled]

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
ASoC: samsung: ODROID-U2/U3 has no speaker but a DMIC

Setup the audio-routing input path to:
"DMIC{L/R}" --> "DMIC" --> "IN{1/2}"
ARM: dts: exynos4412-odroid: add more regulator nodes

TODO: Probably most of these nodes are specific to the ODROID-X/X2.
ARM: dts: exynos4412-odroid: add regulator topology information

TODO: Check with Hardkernel hardware team if the supply
routing info is correct.
ARM: dts: exynos4412-odroidx2: add FIMD and related nodes
Add mini-documentation describing the purpose...

...and status of the tree.