summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorWenlong Zhuang <daisen.zhuang@rock-chips.com>2019-01-23 11:50:43 +0800
committerTao Huang <huangtao@rock-chips.com>2019-01-25 14:21:21 +0800
commit5fb2a5cdd2529259863d4c43354fc51503645099 (patch)
treedf520f40538eba2053eb4e3dd6cf75335cff1d1e /drivers
parentaa34d0fe717d26c298595b083458099bc27e4560 (diff)
media/cif: ignore CSI error interrupt when CSI HOST work on DSI RX mode
Only remain PHY error and crc error interrupt. Change-Id: I8b2690e25c76728c7d3356d9ae69719b56754b55 Signed-off-by: Wenlong Zhuang <daisen.zhuang@rock-chips.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/rockchip/cif/capture.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c
index ea2636eb46e2..8682ea5d7384 100644
--- a/drivers/media/platform/rockchip/cif/capture.c
+++ b/drivers/media/platform/rockchip/cif/capture.c
@@ -520,6 +520,8 @@ static void rkcif_csihost_disable(struct rkcif_device *dev)
void __iomem *base = dev->csi_base;
write_csihost_reg(base, CSIHOST_RESETN, 0);
+ write_csihost_reg(base, CSIHOST_MSK1, 0xffffffff);
+ write_csihost_reg(base, CSIHOST_MSK2, 0xffffffff);
v4l2_info(&dev->v4l2_dev, "mipi csi host disable\n");
}
@@ -536,9 +538,14 @@ static void rkcif_csihost_enable(struct rkcif_device *dev,
SW_CPHY_EN(0) | SW_DSI_EN(1) |
SW_DATATYPE_FS(0x01) | SW_DATATYPE_FE(0x11) |
SW_DATATYPE_LS(0x21) | SW_DATATYPE_LE(0x31));
+ /* Disable some error interrupt when HOST work on DSI RX mode */
+ write_csihost_reg(base, CSIHOST_MSK1, 0xe00000f0);
+ write_csihost_reg(base, CSIHOST_MSK2, 0xff00);
} else {
write_csihost_reg(base, CSIHOST_CONTROL,
SW_CPHY_EN(0) | SW_DSI_EN(0));
+ write_csihost_reg(base, CSIHOST_MSK1, 0);
+ write_csihost_reg(base, CSIHOST_MSK2, 0);
}
write_csihost_reg(base, CSIHOST_RESETN, 1);