am335x: Add second musb instance for USB host

Based on a hacky patch from
Pantelis Antoniou <panto@antoniou-consulting.com>

Signed-off-by: Alexander Holler <holler@ahsoftware.de>
musb: host: allow suspend while active

Based on a hacky patch from
Pantelis Antoniou <panto@antoniou-consulting.com>

Signed-off-by: Alexander Holler <holler@ahsoftware.de>
make sure we register/unregister the NOP xceiver only once

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
usb: musb: avoid stopping the session in host mode

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
gpu:drm:tilcdc: get preferred_bpp value from DT

The preferred_bpp value in currently hard-coded to 16.
This causes color corruption on the am335x-evm lcd panel which
requires 32 bpp instead. This changes attempts to use the configured
bpp value from the DT or built-in panel-info struct.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drm/tilcdc fixing i2c/slave initialization race

In certain senarios drm will initialize before i2c this means that i2c
slave devices like the nxp tda998x will fail to be probed.  This patch
detects this condition then defers the probe of the slave device and
the tilcdc main driver.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drm/i2c: nxp-tda998x: fix EDID reading on TDA19988 devices

TDA19988 devices need their RAM enabled in order to read EDID
information.  Add support for this.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/i2c: nxp-tda998x: ensure VIP output mux is properly set

When switching between various drivers for this device, it's possible
that some critical registers are left containing values which affect
the device operation.  One such case encountered is the VIP output
mux register.  This defaults to 0x24 on powerup, but other drivers may
set this to 0x12.  This results in incorrect colours.

Fix this by ensuring that the register is always set to the power on
default setting.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/i2c: nxp-tda998x: fix npix/nline programming

The npix/nline registers are supposed to be programmed with the total
number of pixels/lines, not the displayed pixels/lines, and not minus
one either.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/i2c: nxp-tda998x: prepare for video input configuration

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/i2c: nxp-tda998x: add video and audio input configuration

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
DRM: tda998x: add missing include

The RFC sent by Russell King was missing an include for tda998x. This
is just a compatible clone to remember Russell to add that later.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/i2c: tda998x: fix sync generation and calculation

This fixes the wrong sync generation and sync calculation. It has only
been tested for progressive and interlaced modes. Sync timings for a
bunch of modes have also been verified with an oscilloscope near-end
(TDA998x input) and far-end (DVI receiver output).

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/tilcdc increase allowable supported resolution

1680x1050 appears to also be within the bandwidth capabilities
of the device and memory infrastructure.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/i2c/tda998x prepare for tilcdc sync workaround

Add necessary support for flipping the hsync signal and shifting
the display to the right by a certain number of pixels.  Changes
only take effect if adjusted_mode is changed in fixup function.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm/tilcdc fixup mode to workaound sync for tda998x

Add a fixup function that will flip the hsync priority and
add a hskew value that is used to shift the tda998x to the
right by a variable number of pixels depending on the mode.
This works around an issue with the sync timings that tilcdc
is outputing.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
drm: tilcdc: Fix scheduling while atomic from irq handler.

Fix the crash by not making pm_runtime calls while in the irq.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
tilcdc: Slave panel settings read from DT now

Turns out that we really need those panel settings.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Merge branch 'lcdc-fixes'