mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 23:26:45 +07:00
a2e6297153
SH MIPI manual explains the calculation method of HBP/HFP. it is based on HSbyteCLK settings. SH73a0 chip can use HS6divCLK/HS4divCLK for it. This patch has compatibility to SH7372 mipi 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>
61 lines
1.4 KiB
C
61 lines
1.4 KiB
C
/*
|
|
* Public SH-mobile MIPI DSI header
|
|
*
|
|
* Copyright (C) 2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
#ifndef VIDEO_SH_MIPI_DSI_H
|
|
#define VIDEO_SH_MIPI_DSI_H
|
|
|
|
enum sh_mipi_dsi_data_fmt {
|
|
MIPI_RGB888,
|
|
MIPI_RGB565,
|
|
MIPI_RGB666_LP,
|
|
MIPI_RGB666,
|
|
MIPI_BGR888,
|
|
MIPI_BGR565,
|
|
MIPI_BGR666_LP,
|
|
MIPI_BGR666,
|
|
MIPI_YUYV,
|
|
MIPI_UYVY,
|
|
MIPI_YUV420_L,
|
|
MIPI_YUV420,
|
|
};
|
|
|
|
struct sh_mobile_lcdc_chan_cfg;
|
|
|
|
#define SH_MIPI_DSI_HSABM (1 << 0)
|
|
#define SH_MIPI_DSI_HBPBM (1 << 1)
|
|
#define SH_MIPI_DSI_HFPBM (1 << 2)
|
|
#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_HSbyteCLK (1 << 24)
|
|
#define SH_MIPI_DSI_HS6divCLK (1 << 25)
|
|
#define SH_MIPI_DSI_HS4divCLK (1 << 26)
|
|
|
|
#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 {
|
|
enum sh_mipi_dsi_data_fmt data_format;
|
|
struct sh_mobile_lcdc_chan_cfg *lcd_chan;
|
|
int lane;
|
|
unsigned long flags;
|
|
u32 clksrc;
|
|
unsigned int vsynw_offset;
|
|
int (*set_dot_clock)(struct platform_device *pdev,
|
|
void __iomem *base,
|
|
int enable);
|
|
};
|
|
|
|
#endif
|