fbdev: sh_mipi_dsi: add sync_pulses/sync_events/burst mode
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
This commit is contained in:
Родитель
26c3d7ac21
Коммит
f832906a56
|
@ -327,7 +327,8 @@ static struct sh_mipi_dsi_info mipidsi0_info = {
|
||||||
.lane = 2,
|
.lane = 2,
|
||||||
.vsynw_offset = 20,
|
.vsynw_offset = 20,
|
||||||
.clksrc = 1,
|
.clksrc = 1,
|
||||||
.flags = SH_MIPI_DSI_HSABM,
|
.flags = SH_MIPI_DSI_HSABM |
|
||||||
|
SH_MIPI_DSI_SYNC_PULSES_MODE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device mipidsi0_device = {
|
static struct platform_device mipidsi0_device = {
|
||||||
|
|
|
@ -582,6 +582,7 @@ static struct sh_mipi_dsi_info mipidsi0_info = {
|
||||||
.lcd_chan = &lcdc_info.ch[0],
|
.lcd_chan = &lcdc_info.ch[0],
|
||||||
.lane = 2,
|
.lane = 2,
|
||||||
.vsynw_offset = 17,
|
.vsynw_offset = 17,
|
||||||
|
.flags = SH_MIPI_DSI_SYNC_PULSES_MODE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device mipidsi0_device = {
|
static struct platform_device mipidsi0_device = {
|
||||||
|
|
|
@ -152,7 +152,7 @@ static int __init sh_mipi_setup(struct sh_mipi *mipi,
|
||||||
{
|
{
|
||||||
void __iomem *base = mipi->base;
|
void __iomem *base = mipi->base;
|
||||||
struct sh_mobile_lcdc_chan_cfg *ch = pdata->lcd_chan;
|
struct sh_mobile_lcdc_chan_cfg *ch = pdata->lcd_chan;
|
||||||
u32 pctype, datatype, pixfmt, linelength, vmctr2 = 0x00e00000;
|
u32 pctype, datatype, pixfmt, linelength, vmctr2;
|
||||||
bool yuv;
|
bool yuv;
|
||||||
u32 tmp;
|
u32 tmp;
|
||||||
|
|
||||||
|
@ -324,6 +324,13 @@ static int __init sh_mipi_setup(struct sh_mipi *mipi,
|
||||||
* Non-burst mode with sync pulses: VSE and HSE are output,
|
* Non-burst mode with sync pulses: VSE and HSE are output,
|
||||||
* HSA period allowed, no commands in LP
|
* HSA period allowed, no commands in LP
|
||||||
*/
|
*/
|
||||||
|
vmctr2 = 0;
|
||||||
|
if (pdata->flags & SH_MIPI_DSI_VSEE)
|
||||||
|
vmctr2 |= 1 << 23;
|
||||||
|
if (pdata->flags & SH_MIPI_DSI_HSEE)
|
||||||
|
vmctr2 |= 1 << 22;
|
||||||
|
if (pdata->flags & SH_MIPI_DSI_HSAE)
|
||||||
|
vmctr2 |= 1 << 21;
|
||||||
if (pdata->flags & SH_MIPI_DSI_BL2E)
|
if (pdata->flags & SH_MIPI_DSI_BL2E)
|
||||||
vmctr2 |= 1 << 17;
|
vmctr2 |= 1 << 17;
|
||||||
if (pdata->flags & SH_MIPI_DSI_HSABM)
|
if (pdata->flags & SH_MIPI_DSI_HSABM)
|
||||||
|
|
|
@ -31,6 +31,15 @@ struct sh_mobile_lcdc_chan_cfg;
|
||||||
#define SH_MIPI_DSI_HBPBM (1 << 1)
|
#define SH_MIPI_DSI_HBPBM (1 << 1)
|
||||||
#define SH_MIPI_DSI_HFPBM (1 << 2)
|
#define SH_MIPI_DSI_HFPBM (1 << 2)
|
||||||
#define SH_MIPI_DSI_BL2E (1 << 3)
|
#define SH_MIPI_DSI_BL2E (1 << 3)
|
||||||
|
#define SH_MIPI_DSI_VSEE (1 << 4)
|
||||||
|
#define SH_MIPI_DSI_HSEE (1 << 5)
|
||||||
|
#define SH_MIPI_DSI_HSAE (1 << 6)
|
||||||
|
|
||||||
|
#define SH_MIPI_DSI_SYNC_PULSES_MODE (SH_MIPI_DSI_VSEE | \
|
||||||
|
SH_MIPI_DSI_HSEE | \
|
||||||
|
SH_MIPI_DSI_HSAE)
|
||||||
|
#define SH_MIPI_DSI_SYNC_EVENTS_MODE (0)
|
||||||
|
#define SH_MIPI_DSI_SYNC_BURST_MODE (SH_MIPI_DSI_BL2E)
|
||||||
|
|
||||||
struct sh_mipi_dsi_info {
|
struct sh_mipi_dsi_info {
|
||||||
enum sh_mipi_dsi_data_fmt data_format;
|
enum sh_mipi_dsi_data_fmt data_format;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче