summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorxvatnag <vathsala.nagaraju@stericsson.com>2011-08-24 16:17:54 +0530
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 16:00:18 +0200
commit83021c024e33cc92a22fe50241522cff909c29c3 (patch)
tree6bdb14a9794eaa90f1ac5f4c2ef4c4352d4c7627 /drivers/video
parent377b40b3261f6429ef4a5a882e49d8058bb3fd98 (diff)
video: HDMI: HDMI support for v2 board for DB5500
HDMI formId changed from 2 to 1 for CTRLB register ST-Ericsson ID: 355893 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I32759a5f3733134732a520847b046d15f27ca0e3 Signed-off-by: xvatnag <vathsala.nagaraju@stericsson.com> Signed-off-by: xjosevp <joseph.vp@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29381 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Nils CALMSUND <nils.calmsund@stericsson.com> Reviewed-by: QATEST Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29641 Reviewed-by: Rajagopala VENKATARAVANAPPA X <rajagopala.v@stericsson.com> Tested-by: Rajagopala VENKATARAVANAPPA X <rajagopala.v@stericsson.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/mcde/mcde_hw.c44
1 files changed, 27 insertions, 17 deletions
diff --git a/drivers/video/mcde/mcde_hw.c b/drivers/video/mcde/mcde_hw.c
index 4653f148b7f..8cf48ecad4b 100644
--- a/drivers/video/mcde/mcde_hw.c
+++ b/drivers/video/mcde/mcde_hw.c
@@ -866,18 +866,25 @@ static u32 get_output_fifo_size(enum mcde_fifo fifo)
static u8 get_dsi_formid(const struct mcde_port *port)
{
- if (port->ifc == DSI_VIDEO_MODE && port->link == 0)
- return MCDE_CTRLA_FORMID_DSI0VID;
- else if (port->ifc == DSI_VIDEO_MODE && port->link == 1)
- return MCDE_CTRLA_FORMID_DSI1VID;
- else if (port->ifc == DSI_VIDEO_MODE && port->link == 2)
- return MCDE_CTRLA_FORMID_DSI2VID;
- else if (port->ifc == DSI_CMD_MODE && port->link == 0)
- return MCDE_CTRLA_FORMID_DSI0CMD;
- else if (port->ifc == DSI_CMD_MODE && port->link == 1)
- return MCDE_CTRLA_FORMID_DSI1CMD;
- else if (port->ifc == DSI_CMD_MODE && port->link == 2)
- return MCDE_CTRLA_FORMID_DSI2CMD;
+ if (hardware_version == MCDE_CHIP_VERSION_4_0_4) {
+ if (port->link == 0)
+ return MCDE_CTRLA_FORMID_DSI0VID;
+ if (port->link == 1)
+ return MCDE_CTRLA_FORMID_DSI0CMD;
+ } else {
+ if (port->ifc == DSI_VIDEO_MODE && port->link == 0)
+ return MCDE_CTRLA_FORMID_DSI0VID;
+ else if (port->ifc == DSI_VIDEO_MODE && port->link == 1)
+ return MCDE_CTRLA_FORMID_DSI1VID;
+ else if (port->ifc == DSI_VIDEO_MODE && port->link == 2)
+ return MCDE_CTRLA_FORMID_DSI2VID;
+ else if (port->ifc == DSI_CMD_MODE && port->link == 0)
+ return MCDE_CTRLA_FORMID_DSI0CMD;
+ else if (port->ifc == DSI_CMD_MODE && port->link == 1)
+ return MCDE_CTRLA_FORMID_DSI1CMD;
+ else if (port->ifc == DSI_CMD_MODE && port->link == 2)
+ return MCDE_CTRLA_FORMID_DSI2CMD;
+ }
return 0;
}
@@ -1283,8 +1290,9 @@ static int update_channel_static_registers(struct mcde_chnl_state *chnl)
}
}
- if (hardware_version == MCDE_CHIP_VERSION_1_0_4)
- idx = chnl->id;
+ if (hardware_version == MCDE_CHIP_VERSION_1_0_4 ||
+ hardware_version == MCDE_CHIP_VERSION_4_0_4)
+ idx = port->link;
else
idx = 2 * port->link + port->ifc;
@@ -1994,8 +2002,9 @@ void update_channel_registers(enum mcde_chnl chnl_id, struct chnl_regs *regs,
u32 dsi_delay0 = 0;
u32 screen_ppl, screen_lpf;
- if (hardware_version == MCDE_CHIP_VERSION_1_0_4)
- fidx = chnl_id;
+ if (hardware_version == MCDE_CHIP_VERSION_1_0_4 ||
+ hardware_version == MCDE_CHIP_VERSION_4_0_4)
+ fidx = port->link;
else
fidx = 2 * port->link + port->ifc;
@@ -3542,7 +3551,8 @@ static int __devinit mcde_probe(struct platform_device *pdev)
for (i = 0; i < num_overlays; i++)
overlays[i].idx = i;
- if (hardware_version == MCDE_CHIP_VERSION_1_0_4) {
+ if (hardware_version == MCDE_CHIP_VERSION_1_0_4 ||
+ hardware_version == MCDE_CHIP_VERSION_4_0_4) {
channels[0].ovly0 = &overlays[0];
channels[0].ovly1 = &overlays[1];
channels[1].ovly0 = &overlays[2];