diff options
author | Jimmy Rubin <jimmy.rubin@stericsson.com> | 2011-04-26 09:52:53 +0200 |
---|---|---|
committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-05-02 11:11:38 +0200 |
commit | dd1ef071f4644db133318e780849c241261f77f2 (patch) | |
tree | 2ea4757b00a075742e0f91ba9379f2f72bd7f7ef /drivers | |
parent | b66a99c66f76dea0b83301cb4de1007625a71965 (diff) |
video: av8100: Add HDMI support for U5500
This patch adds support for HDMI on S5500 devices.
Trig method I2SDAT3 is used.
ST-Ericsson ID: 254484
ST-Ericsson Linux next: Not tested, ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Iddda36e2c03bf09641800e652040aae104f27e27
Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/21580
Reviewed-by: QATOOLS
Reviewed-by: QATEST
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/av8100/av8100.c | 12 | ||||
-rw-r--r-- | drivers/video/mcde/mcde_hw.c | 13 |
2 files changed, 12 insertions, 13 deletions
diff --git a/drivers/video/av8100/av8100.c b/drivers/video/av8100/av8100.c index b2920f277ac..8cce4b23035 100644 --- a/drivers/video/av8100/av8100.c +++ b/drivers/video/av8100/av8100.c @@ -118,11 +118,6 @@ #define MCLK_RNG_76_93 13 #define MCLK_RNG_85_104 14 #define MCLK_RNG_94_115 15 -/* - * Until there is an API for obtaining the input master clock - * frequency, the register value is hard coded. - */ -#define MCLK_FREQ MCLK_RNG_31_38 DEFINE_MUTEX(av8100_hw_mutex); #define LOCK_AV8100_HW mutex_lock(&av8100_hw_mutex) @@ -1831,7 +1826,7 @@ static int av8100_powerup1(void) udelay(AV8100_WATTIME_100US); retval = av8100_reg_stby_w(AV8100_STANDBY_CPD_LOW, - AV8100_STANDBY_STBY_HIGH, MCLK_FREQ); + AV8100_STANDBY_STBY_HIGH, pdata->mclk_freq); if (retval) { dev_err(av8100dev, "%s reg_wr err 3\n", __func__); goto av8100_powerup1_err; @@ -1840,7 +1835,7 @@ static int av8100_powerup1(void) msleep(AV8100_WAITTIME_1MS); retval = av8100_reg_stby_w(AV8100_STANDBY_CPD_LOW, - AV8100_STANDBY_STBY_LOW, MCLK_FREQ); + AV8100_STANDBY_STBY_LOW, pdata->mclk_freq); if (retval) { dev_err(av8100dev, "%s reg_wr err 4\n", __func__); goto av8100_powerup1_err; @@ -1894,10 +1889,11 @@ av8100_powerup1_err: static int av8100_powerup2(void) { int retval; + struct av8100_platform_data *pdata = av8100dev->platform_data; /* Master clock timing, running, search for plug */ retval = av8100_reg_stby_w(AV8100_STANDBY_CPD_HIGH, - AV8100_STANDBY_STBY_HIGH, MCLK_FREQ); + AV8100_STANDBY_STBY_HIGH, pdata->mclk_freq); if (retval) { dev_err(av8100dev, "Failed to write the value to av8100 register\n"); diff --git a/drivers/video/mcde/mcde_hw.c b/drivers/video/mcde/mcde_hw.c index ab0138e67d9..596fe759fc9 100644 --- a/drivers/video/mcde/mcde_hw.c +++ b/drivers/video/mcde/mcde_hw.c @@ -2329,13 +2329,16 @@ static void chnl_update_continous(struct mcde_chnl_state *chnl) if (!chnl->continous_running) { if (chnl->transactionid_regs < chnl->transactionid) chnl_update_registers(chnl); - if (chnl->port.sync_src == MCDE_SYNCSRC_TE0) + if (chnl->port.sync_src == MCDE_SYNCSRC_TE0) { mcde_wfld(MCDE_CRC, SYCEN0, true); - else if (chnl->port.sync_src == MCDE_SYNCSRC_TE1) { - if (hardware_version == MCDE_CHIP_VERSION_3_0_8) + } else if (chnl->port.sync_src == MCDE_SYNCSRC_TE1) { + if (hardware_version == MCDE_CHIP_VERSION_3_0_8) { mcde_wfld(MCDE_VSCRC1, VSSEL, 1); - - mcde_wfld(MCDE_CRC, SYCEN1, true); + mcde_wfld(MCDE_CRC, SYCEN1, true); + } else { + mcde_wfld(MCDE_VSCRC1, VSSEL, 0); + mcde_wfld(MCDE_CRC, SYCEN0, true); + } } chnl->continous_running = true; |