diff options
Diffstat (limited to 'drivers/video/s6e8ax0.c')
| -rw-r--r-- | drivers/video/s6e8ax0.c | 17 | 
1 files changed, 16 insertions, 1 deletions
| diff --git a/drivers/video/s6e8ax0.c b/drivers/video/s6e8ax0.c index 02c5ccff5..176c5187a 100644 --- a/drivers/video/s6e8ax0.c +++ b/drivers/video/s6e8ax0.c @@ -28,6 +28,7 @@  static void s6e8ax0_panel_cond(struct mipi_dsim_device *dsim_dev)  {  	struct mipi_dsim_master_ops *ops = dsim_dev->master_ops; +	int reverse = dsim_dev->dsim_lcd_dev->reverse_panel;  	const unsigned char data_to_send[] = {  		0xf8, 0x3d, 0x35, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x4c,  		0x6e, 0x10, 0x27, 0x7d, 0x3f, 0x10, 0x00, 0x00, 0x20, @@ -36,8 +37,22 @@ static void s6e8ax0_panel_cond(struct mipi_dsim_device *dsim_dev)  		0xff, 0xff, 0xc8  	}; -	ops->cmd_write(dsim_dev, MIPI_DSI_DCS_LONG_WRITE, +	const unsigned char data_to_send_reverse[] = { +		0xf8, 0x19, 0x35, 0x00, 0x00, 0x00, 0x93, 0x00, 0x3c, +		0x7d, 0x08, 0x27, 0x7d, 0x3f, 0x00, 0x00, 0x00, 0x20, +		0x04, 0x08, 0x6e, 0x00, 0x00, 0x00, 0x02, 0x08, 0x08, +		0x23, 0x23, 0xc0, 0xc1, 0x01, 0x41, 0xc1, 0x00, 0xc1, +		0xf6, 0xf6, 0xc1 +	}; + +	if (reverse) { +		ops->cmd_write(dsim_dev, MIPI_DSI_DCS_LONG_WRITE, +			(unsigned int)data_to_send_reverse, +			ARRAY_SIZE(data_to_send_reverse)); +	} else { +		ops->cmd_write(dsim_dev, MIPI_DSI_DCS_LONG_WRITE,  			(unsigned int)data_to_send, ARRAY_SIZE(data_to_send)); +	}  }  static void s6e8ax0_display_cond(struct mipi_dsim_device *dsim_dev) |