drm/rockchip: dsi: add support swap two channel data of MIPI

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: Ib9dd986da26bff9fb744e592522c332e721e03ac
This commit is contained in:
Zhibin Huang
2024-04-10 19:03:35 +08:00
committed by Tao Huang
parent 4f489b9d96
commit 6e287635a8

View File

@@ -310,6 +310,7 @@ struct dw_mipi_dsi_rockchip {
/* dual-channel */
bool is_slave;
struct dw_mipi_dsi_rockchip *slave;
bool data_swap;
/* optional external dphy */
bool phy_enabled;
@@ -835,6 +836,9 @@ dw_mipi_dsi_encoder_atomic_check(struct drm_encoder *encoder,
if (dsi->slave) {
s->output_flags |= ROCKCHIP_OUTPUT_DUAL_CHANNEL_LEFT_RIGHT_MODE;
s->output_if |= VOP_OUTPUT_IF_MIPI1;
if (dsi->data_swap)
s->output_flags |= ROCKCHIP_OUTPUT_DATA_SWAP;
}
/* dual link dsi for rk3399 */
@@ -961,6 +965,9 @@ static struct device
struct dw_mipi_dsi_rockchip *slave;
if (of_property_read_bool(dsi->dev->of_node, "rockchip,dual-channel")) {
dsi->data_swap = of_property_read_bool(dsi->dev->of_node,
"rockchip,data-swap");
slave = dw_mipi_dsi_rockchip_find_by_id(dsi->dev->driver, 1);
if (!slave)
return ERR_PTR(-EPROBE_DEFER);