📄 lcd_params.c
字号:
Nominal without going over Max Frequency
*/
#define LQ121S1DG31_MIN_FREQUENCY (30000000)
#define LQ121S1DG31_NOMINAL_FREQUENCY (40000000)
#define LQ121S1DG31_MAX_FREQUENCY (42000000)
/* compute PCD value and whether to set BCD at run-time */
/* do NOT invert pixel clock (panel clock) on this one */
#define LQ121S1DG31_LCDC_LCDTIMING2 ( \
(CLCDC_LCDTIMING2_IVS) | \
(CLCDC_LCDTIMING2_IHS) | \
(CLCDC_LCDTIMING2_CPL(LQ121S1DG31_DISP_WIDTH - 1 ) ) )
#define LQ121S1DG31_LCDC_LCDTIMING3 (0)
#define LQ121S1DG31_LCDC_LCDINTRENABLE (0)
/* this turns on the controller without turning on the power */
/* Bits per pixel is determined from the image at run-time */
#define LQ121S1DG31_LCDC_LCDCTRL ( \
CLCDC_LCDCTRL_ENABLE | \
CLCDC_LCDCTRL_BW_COLOR | \
CLCDC_LCDCTRL_TFT | \
CLCDC_LCDCTRL_VCOMP(CLCDC_LCDCTRL_VCOMP_VS) | \
CLCDC_LCDCTRL_WATERMARK)
#define LQ121S1DG31_LCDICP_LCDCONTROL (0)
#define LQ121S1DG31_LCDICP_LCDSETUP ( \
LCDICP_SETUP_EN | \
LCDICP_SETUP_PPL((LQ121S1DG31_DISP_WIDTH) - 1) | \
LCDICP_SETUP_MODE_BYPASS )
#define LQ121S1DG31_LCDICP_LCDTIMING1 (0)
#define LQ121S1DG31_LCDICP_LCDTIMING2 (0)
/* end of defines for LQ121S1DG31 */
/*
These settings are for the Sharp LM057QCTT03 5.7 CSTN QVGA display
driven by the lh7A400.
*/
#define LM057QCTT03_DISP_WIDTH (320)
#define LM057QCTT03_DISP_HEIGHT (240)
#define LM057QCTT03_DISP_PAL (256)
/*
horizontal timing
sync pulse = 6 (?)
back porch = 1
pixels per line = 320
front porch = 1
total = 40 clocks per line
Define to value + 1 because it will be subtracted in the macros.
*/
#define LM057QCTT03_HORIZONTAL_BACK_PORCH (1)
#define LM057QCTT03_HORIZONTAL_SYNC_WIDTH (6)
#define LM057QCTT03_HORIZONTAL_FRONT_PORCH (1)
#define LM057QCTT03_LCDC_LCDTIMING0 (\
CLCDC_LCDTIMING0_PPL(LM057QCTT03_DISP_WIDTH) | \
CLCDC_LCDTIMING0_HSW(LM057QCTT03_HORIZONTAL_SYNC_WIDTH) | \
CLCDC_LCDTIMING0_HFP(LM057QCTT03_HORIZONTAL_FRONT_PORCH) | \
CLCDC_LCDTIMING0_HBP(LM057QCTT03_HORIZONTAL_BACK_PORCH) )
/*
vertical timing
Sync pulse width = 2 (?)
Vertical back porch = 1
lines per panel = 240
Vertical front porch = 1
Define to value + 1 because it will be subtracted in the macros.
*/
#define LM057QCTT03_VERTICAL_SYNC_WIDTH (2)
#define LM057QCTT03_VERTICAL_FRONT_PORCH (1)
#define LM057QCTT03_VERTICAL_BACK_PORCH (1)
#define LM057QCTT03_LCDC_LCDTIMING1 (\
CLCDC_LCDTIMING1_LPP(LM057QCTT03_DISP_HEIGHT) | \
CLCDC_LCDTIMING1_VSW(LM057QCTT03_VERTICAL_SYNC_WIDTH) | \
CLCDC_LCDTIMING1_VFP(LM057QCTT03_VERTICAL_FRONT_PORCH) | \
CLCDC_LCDTIMING1_VBP(LM057QCTT03_VERTICAL_BACK_PORCH) )
/*
compute as close as you can get to
Nominal without going over Max Frequency
*/
#define LM057QCTT03_MIN_FREQUENCY (2200000)
#define LM057QCTT03_NOMINAL_FREQUENCY (2600000)
#define LM057QCTT03_MAX_FREQUENCY (3000000)
/* compute PCD value and whether to set BCD at run-time */
/* do NOT invert pixel clock (panel clock) on this one */
#define LM057QCTT03_LCDC_LCDTIMING2 ( \
(CLCDC_LCDTIMING2_ACB(21) ) | \
(CLCDC_LCDTIMING2_CPL(((LM057QCTT03_DISP_WIDTH * 3)/8) - 1 ) ) )
#define LM057QCTT03_LCDC_LCDTIMING3 (0)
#define LM057QCTT03_LCDC_LCDINTRENABLE (0)
/* this turns on the controller without turning on the power */
/* Bits per pixel is determined from the image at run-time */
#define LM057QCTT03_LCDC_LCDCTRL ( \
CLCDC_LCDCTRL_ENABLE | \
CLCDC_LCDCTRL_BW_COLOR | \
CLCDC_LCDCTRL_VCOMP(CLCDC_LCDCTRL_VCOMP_VS))
#define LM057QCTT03_LCDICP_LCDCONTROL (0)
#define LM057QCTT03_LCDICP_LCDSETUP ( \
LCDICP_SETUP_EN | \
LCDICP_SETUP_PPL((LM057QCTT03_DISP_WIDTH) - 1) | \
LCDICP_SETUP_MODE_BYPASS )
#define LM057QCTT03_LCDICP_LCDTIMING1 (0)
#define LM057QCTT03_LCDICP_LCDTIMING2 (0)
/* end of defines for LM057QCTT03 */
/*
These settings are for the Sharp LM5Q321 5.7 CSTN QVGA display
driven by the lh7A400.
*/
#define LM5Q321_DISP_WIDTH (320)
#define LM5Q321_DISP_HEIGHT (240)
#define LM5Q321_DISP_PAL (256)
/*
horizontal timing
sync pulse = 6 (?)
back porch = 1
pixels per line = 320
front porch = 1
total = 40 clocks per line
Define to value + 1 because it will be subtracted in the macros.
*/
#define LM5Q321_HORIZONTAL_BACK_PORCH (1)
#define LM5Q321_HORIZONTAL_SYNC_WIDTH (6)
#define LM5Q321_HORIZONTAL_FRONT_PORCH (1)
#define LM5Q321_LCDC_LCDTIMING0 (\
CLCDC_LCDTIMING0_PPL(LM5Q321_DISP_WIDTH) | \
CLCDC_LCDTIMING0_HSW(LM5Q321_HORIZONTAL_SYNC_WIDTH) | \
CLCDC_LCDTIMING0_HFP(LM5Q321_HORIZONTAL_FRONT_PORCH) | \
CLCDC_LCDTIMING0_HBP(LM5Q321_HORIZONTAL_BACK_PORCH) )
/*
vertical timing
Sync pulse width = 2 (?)
Vertical back porch = 1
lines per panel = 240
Vertical front porch = 1
Define to value + 1 because it will be subtracted in the macros.
*/
#define LM5Q321_VERTICAL_SYNC_WIDTH (2)
#define LM5Q321_VERTICAL_FRONT_PORCH (1)
#define LM5Q321_VERTICAL_BACK_PORCH (1)
#define LM5Q321_LCDC_LCDTIMING1 (\
CLCDC_LCDTIMING1_LPP(LM5Q321_DISP_HEIGHT) | \
CLCDC_LCDTIMING1_VSW(LM5Q321_VERTICAL_SYNC_WIDTH) | \
CLCDC_LCDTIMING1_VFP(LM5Q321_VERTICAL_FRONT_PORCH) | \
CLCDC_LCDTIMING1_VBP(LM5Q321_VERTICAL_BACK_PORCH) )
/*
compute as close as you can get to
Nominal without going over Max Frequency
*/
#define LM5Q321_MIN_FREQUENCY (6000000)
#define LM5Q321_NOMINAL_FREQUENCY (8000000)
#define LM5Q321_MAX_FREQUENCY (10000000)
/* compute PCD value and whether to set BCD at run-time */
/* do NOT invert pixel clock (panel clock) on this one */
#define LM5Q321_LCDC_LCDTIMING2 ( \
(CLCDC_LCDTIMING2_ACB(21) ) | \
(CLCDC_LCDTIMING2_CPL(((LM5Q321_DISP_WIDTH * 3)/8) - 1 ) ) )
#define LM5Q321_LCDC_LCDTIMING3 (0)
#define LM5Q321_LCDC_LCDINTRENABLE (0)
/* this turns on the controller without turning on the power */
/* Bits per pixel is determined from the image at run-time */
#define LM5Q321_LCDC_LCDCTRL ( \
CLCDC_LCDCTRL_ENABLE | \
CLCDC_LCDCTRL_BW_COLOR | \
CLCDC_LCDCTRL_VCOMP(CLCDC_LCDCTRL_VCOMP_VS))
#define LM5Q321_LCDICP_LCDCONTROL (0)
#define LM5Q321_LCDICP_LCDSETUP ( \
LCDICP_SETUP_EN | \
LCDICP_SETUP_PPL((LM5Q321_DISP_WIDTH) - 1) | \
LCDICP_SETUP_MODE_BYPASS )
#define LM5Q321_LCDICP_LCDTIMING1 (0)
#define LM5Q321_LCDICP_LCDTIMING2 (0)
/* end of defines for LM5Q321 */
lcd_settings_t lcd_settings[] =
{
/* DISP_LQ039Q2DS53 */
{
LQ039Q2DS53_LCDC_LCDTIMING0,
LQ039Q2DS53_LCDC_LCDTIMING1,
LQ039Q2DS53_LCDC_LCDTIMING2,
LQ039Q2DS53_LCDC_LCDTIMING3,
LQ039Q2DS53_LCDC_LCDINTRENABLE,
LQ039Q2DS53_LCDC_LCDCTRL,
LQ039Q2DS53_LCDICP_LCDCONTROL,
LQ039Q2DS53_LCDICP_LCDSETUP,
LQ039Q2DS53_LCDICP_LCDTIMING1,
LQ039Q2DS53_LCDICP_LCDTIMING2,
LQ039Q2DS53_MIN_FREQUENCY,
LQ039Q2DS53_MAX_FREQUENCY,
LQ039Q2DS53_NOMINAL_FREQUENCY
},
{
LQ057Q3DC02_LCDC_LCDTIMING0,
LQ057Q3DC02_LCDC_LCDTIMING1,
LQ057Q3DC02_LCDC_LCDTIMING2,
LQ057Q3DC02_LCDC_LCDTIMING3,
LQ057Q3DC02_LCDC_LCDINTRENABLE,
LQ057Q3DC02_LCDC_LCDCTRL,
LQ057Q3DC02_LCDICP_LCDCONTROL,
LQ057Q3DC02_LCDICP_LCDSETUP,
LQ057Q3DC02_LCDICP_LCDTIMING1,
LQ057Q3DC02_LCDICP_LCDTIMING2,
LQ057Q3DC02_MIN_FREQUENCY,
LQ057Q3DC02_MAX_FREQUENCY,
LQ057Q3DC02_NOMINAL_FREQUENCY
},
{
LQ121S1DG31_LCDC_LCDTIMING0,
LQ121S1DG31_LCDC_LCDTIMING1,
LQ121S1DG31_LCDC_LCDTIMING2,
LQ121S1DG31_LCDC_LCDTIMING3,
LQ121S1DG31_LCDC_LCDINTRENABLE,
LQ121S1DG31_LCDC_LCDCTRL,
LQ121S1DG31_LCDICP_LCDCONTROL,
LQ121S1DG31_LCDICP_LCDSETUP,
LQ121S1DG31_LCDICP_LCDTIMING1,
LQ121S1DG31_LCDICP_LCDTIMING2,
LQ121S1DG31_MIN_FREQUENCY,
LQ121S1DG31_MAX_FREQUENCY,
LQ121S1DG31_NOMINAL_FREQUENCY
},
{
LM057QCTT03_LCDC_LCDTIMING0,
LM057QCTT03_LCDC_LCDTIMING1,
LM057QCTT03_LCDC_LCDTIMING2,
LM057QCTT03_LCDC_LCDTIMING3,
LM057QCTT03_LCDC_LCDINTRENABLE,
LM057QCTT03_LCDC_LCDCTRL,
LM057QCTT03_LCDICP_LCDCONTROL,
LM057QCTT03_LCDICP_LCDSETUP,
LM057QCTT03_LCDICP_LCDTIMING1,
LM057QCTT03_LCDICP_LCDTIMING2,
LM057QCTT03_MIN_FREQUENCY,
LM057QCTT03_MAX_FREQUENCY,
LM057QCTT03_NOMINAL_FREQUENCY
},
{
LM5Q321_LCDC_LCDTIMING0,
LM5Q321_LCDC_LCDTIMING1,
LM5Q321_LCDC_LCDTIMING2,
LM5Q321_LCDC_LCDTIMING3,
LM5Q321_LCDC_LCDINTRENABLE,
LM5Q321_LCDC_LCDCTRL,
LM5Q321_LCDICP_LCDCONTROL,
LM5Q321_LCDICP_LCDSETUP,
LM5Q321_LCDICP_LCDTIMING1,
LM5Q321_LCDICP_LCDTIMING2,
LM5Q321_MIN_FREQUENCY,
LM5Q321_MAX_FREQUENCY,
LM5Q321_NOMINAL_FREQUENCY
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -