ARM: tegra: add light sensor to Venice2 DT

FIXME: Initialization often fails with the errors below, but sometimes
succeeds. dmesg|grep -i isl:
[    1.765974] isl29018 1-0044: No cache defaults, reading back from HW
[    1.772624] isl29018 1-0044: regmap initialization failed: -121
[    1.778637] isl29018: probe of 1-0044 failed with error -121

Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: jetson-tk1: don't set mux func for GPIOs

When a Tegra pin is configured as a GPIO, the selected mux function is
irrelevant. Since we don't need to set the function for those pins,
don't do it!

Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: update Venice2 pinmux

This re-imports the entire Venice2 pinmux data from the board's master
spreadsheet, thus tieing it to the primary definition of what is correct
for this board.

This also applies the same change as the previous patch does for Jetson
TK1: When a Tegra pin is configured as a GPIO, the selected mux function
is irrelevant. Since we don't need to set the function for those pins,
don't do it!

Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: rebuild tegra_defconfig on next-20140520

This makes it easier to create isolated defconfig patches

Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: rebuild multi_v7_defconfig on next-20140611

Signed-off-by: Stephen Warren <swarren@nvidia.com>
LOCAL HACK: tegra_defconfig changes

Signed-off-by: Stephen Warren <swarren@nvidia.com>
WIP: ARM: tegra: venice2 WiFi

Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: Add the EC i2c tunnel to tegra124-venice2

This adds the EC i2c tunnel (and devices under it) to the
tegra124-venice2 device tree.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Tested-by: Andrew Bresticker <abrestic@chromium.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: defconfig updates for cros_ec SPI/I2C bridge

These devices exist on the Tegra Venice2 board, behind the recently
added SPI->EC->I2C bridge.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: multi_v7_defconfig: add some devices for Tegra

These devices exist on the Tegra Venice2 board, behind the recently
added SPI->EC->I2C bridge.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
clk: tegra124: Enable hda to hdmi clocks

Add the clocks used for HDMI audio played through the HDA controller.
Initialize the codec clock to 48Mhz and the HDA clock to 102MHz per
the TRM.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: Add Tegra124 HDA support

Add a device node for the HDA controller found on Tegra124.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
[swarren, fixed typo in clock/reset names]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: venice2 - Enable HDA

Turn on the HDA controller in Venice2, it is used for HDMI audio.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
ARM: tegra: enable HD-Audio controller in defconfig

The HD-audio controller provides HDMI audio support.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
drm/tegra: hdmi - calculate HDMI audio CTS/N/AVAL values

The current table-drive approach for determining the CTS/N/AVAL values
required for HDMI audio limits audio availability to a small set of pixel
clock frequencies. Allow audio in other cases by calculating the CTS and N
value dynamically.

FIXME: This stops hdmi->dvi being set to true due to audio failure, which
then enables a bunch of other code. This breaks at least some display modes.

Signed-off-by: Stephen Warren <swarren@nvidia.com>