mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
media: i2c: rk628: DSI mode add 4096x2160 res support
1.mipi date rate need to set 1850Mbps 2.DSI RGB output need to set skip first frames Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com> Change-Id: I0a339e339bd94dae66be682a4481a4b0cef8ff99
This commit is contained in:
@@ -114,7 +114,7 @@ void rk628_txphy_set_mode(struct rk628 *rk628, enum phy_mode mode)
|
||||
unsigned int flags = bus_width & 0xff;
|
||||
|
||||
fhsc = fin * (fhsc / fin);
|
||||
if (fhsc < 80 || fhsc > 1800)
|
||||
if (fhsc < 80 || fhsc > 2000)
|
||||
return;
|
||||
else if (fhsc < 375)
|
||||
txphy->rate_div = 4;
|
||||
|
||||
@@ -113,4 +113,6 @@
|
||||
#define CSITX1_DPHY_CTRL (CSITX1_BASE + 0x00b0)
|
||||
#define CSI1_MAX_REGISTER CSITX1_DPHY_CTRL
|
||||
|
||||
#define CSI_SKIP_FRAME_NORMAL 1
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2557,6 +2557,12 @@ static long rk628_csi_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
|
||||
v4l2_info(sd, "user set color range: %d\n", csi->user_color_range);
|
||||
rk628_csi_set_color_range(sd);
|
||||
break;
|
||||
case RKMODULE_GET_SKIP_FRAME:
|
||||
if (csi->plat_data->tx_mode == DSI_MODE)
|
||||
*(int *)arg = CSI_SKIP_FRAME_NORMAL;
|
||||
else
|
||||
*(int *)arg = 0;
|
||||
break;
|
||||
default:
|
||||
ret = -ENOIOCTLCMD;
|
||||
break;
|
||||
|
||||
@@ -302,6 +302,9 @@ u32 rk628_dsi_get_lane_rate_mbps(struct rk628_dsi *dsi)
|
||||
else
|
||||
lane_rate = 700;
|
||||
|
||||
if (dsi->timings.bt.width == 4096 && lane_rate > 1300)
|
||||
lane_rate = 1850;
|
||||
|
||||
return lane_rate;
|
||||
}
|
||||
EXPORT_SYMBOL(rk628_dsi_get_lane_rate_mbps);
|
||||
|
||||
Reference in New Issue
Block a user