| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #ifndef __LCD_INFO_H__
- #define __LCD_INFO_H__
- /*
- * HBP : Horizontal Back Porch
- * HFP : Horizontal Front Porch
- * HSPW: Horizontal Sync. Pulse Width
- * PPL : Pixels-per-line = 16(PPL+1)
- */
- #define ENC_PARAM_TIME0(HBP, HFP, HSPW, PPL) \
- ((((HBP) - 1) << 24) | \
- (((HFP) - 1) << 16) | \
- (((HSPW) - 1) << 8 ) | \
- ((((PPL) >> 4) - 1) << 2 ))
- /*
- * HBP : Vertical Back Porch
- * HFP : Vertical Front Porch
- * HSPW: Vertical Sync. Pulse Width
- * LPP : Lines-per-panel = LPP + 1
- */
- #define ENC_PARAM_TIME1(VBP, VFP, VSPW, LPP) \
- ((((VBP) ) << 24) | \
- (((VFP) ) << 16) | \
- (((VSPW) - 1) << 10) | \
- (((LPP) - 1) ))
- /*
- * PRA : Pixel Rate Adaptive
- * IOE : Invert Panel Output Enable
- * IPC : Invert Panel Clock (Test Chip Testing)
- * IHS : Invert Horisontal Sync.
- * IVS : Invert Versical Sync.
- * PCD : Panel Clock Divisor
- */
- #define ENC_PARAM_TIME2(PRA, IOE, IPC, IHS, IVS, PCD) \
- (((PRA) << 15) | \
- ((IOE) << 14) | \
- ((IPC) << 13) | \
- ((IHS) << 12) | \
- ((IVS) << 11) | \
- (((PCD) - 1) ))
- /*
- * Enable YCbCr
- * Enable YCbCr422
- * FIFO threadhold
- * Panel type, 0-6bit, 1-8bit
- * LcdVComp, when to generate interrupt, 1: start of back_porch
- * Power Enable
- * Big Endian Pixel/Byte Ordering
- * BGR
- * TFT
- * LCD bits per pixel
- * Controller Enable
- */
- #define ENC_PARAM_CTRL(ENYUV, ENYUV422, FIFOTH, PTYPE, VCOMP, LCD_ON, ENDIAN, BGR, TFT, BPP, LCD_EN) \
- ((ENYUV << 18) | \
- (ENYUV422 << 17) | \
- (FIFOTH << 16) | \
- (PTYPE << 15) | \
- (VCOMP << 12) | \
- (LCD_ON << 11) | \
- (ENDIAN << 9) | \
- (BGR << 8) | \
- (TFT << 5) | \
- (BPP << 1) | \
- (LCD_EN))
- #if defined(CONFIG_COLOR_DEPTH16)
- #define LCD_COLOR_DEPTH 0x4
- #define LCD_PANEL_BPP 16
- #elif defined(CONFIG_COLOR_DEPTH24)
- #define LCD_COLOR_DEPTH 0x5
- #define LCD_PANEL_BPP 24
- #else
- #define LCD_COLOR_DEPTH 0x5
- #define LCD_PANEL_BPP 24
- #endif
- #ifdef CONFIG_PANEL_AUA036QN01
- #define LCD_PANEL_WIDTH 320
- #define LCD_PANEL_HEIGHT 240
- #define LCD_TIME0 ENC_PARAM_TIME0(7, 6, 1, 320) /* 0x0605004c */
- #define LCD_TIME1 ENC_PARAM_TIME1(1, 1, 1, 240) /* 0x010100ef */
- #define LCD_TIME2 ENC_PARAM_TIME2(0, 0, 1, 1, 1, 0x7) /* 0x00003806 */
- #define LCD_CTRL ENC_PARAM_CTRL(0, 0, 1, 1, 0x3, 1, 0x0, 1, 1, LCD_COLOR_DEPTH, 1) /* 0x0001b928 */
- #endif
- #ifdef CONFIG_PANEL_AUA070VW04
- #define LCD_PANEL_WIDTH 800
- #define LCD_PANEL_HEIGHT 480
- #define LCD_TIME0 ENC_PARAM_TIME0(88, 40, 128, 800)
- #define LCD_TIME1 ENC_PARAM_TIME1(21, 1, 3, 480)
- #define LCD_TIME2 ENC_PARAM_TIME2(0, 1, 1, 1, 1, 0x7)
- #define LCD_CTRL ENC_PARAM_CTRL(0, 0, 1, 1, 0x3, 1, 0x0, 1, 1, LCD_COLOR_DEPTH, 1)
- #endif
- #ifdef CONFIG_PANEL_CH7013A
- #define LCD_TIME0 ENC_PARAM_TIME0(42, 10, 96, 640)
- #define LCD_TIME1 ENC_PARAM_TIME1(28, 5, 2, 480)
- #define LCD_TIME2 ENC_PARAM_TIME2(0, 1, 1, 0, 0, 0x3)
- #define LCD_CTRL ENC_PARAM_CTRL(0, 0, 1, 0, 0x3, 1, 0x0, 1, 1, LCD_COLOR_DEPTH, 1)
- #endif /* CONFIG_CH7013A */
- #endif /* __LCD_INFO_H__ */
|