📄 megconfig.c
字号:
/***************************************************************
* Copyright(C) 2003--2006
* Epson Electronic Technology Development (ShenZhen) co., LTD
* All rights reserved.
*
* File name: MEGCONFIG.C
* Author: Eric ding
* Dept: Electronic Enginerring Department
* Date: 03/19/2003
* Descriptions: the configure information about 137xx .
* Modified:
*
* Mode 1: LCD1 is RGB (Initial Display=LCD1)
* 176x240. General TFT / EPSON ND-TFD (16-Bit)
* LCD2 is Serial
* Serial: 2x1x18-Bit 0Hz, 4 Pins (8-Bit)
* Clocks:
* CLKI: 32.768 KHz
* SYSCLK: 54.001 MHz
* SERCLK: 27.000 MHz
* CAM1CLK: 9.000 MHz
* CAM2CLK: 9.000 MHz
* PCLK: 6.750 MHz
***************************************************************/
#include "sysLCDC.h"
// 137XX HAL_INFO Structure Value
HAL_STRUCT HalInfo =
{
"13712 HAL EXE", // HAL ID string
"this is daul_lcd mode", // Configuration description
sizeof(HAL_STRUCT), // Size of this structure
0x0000, // CRC of the rest of structure
CHIP_ID_NUM, // S1D chip ID
0x1234, // Endian detect (LE=0x1234)
0, // Reserved for alignment
50000000L, // CLKI frequency (in Hz)
25000000L, // Internal OSC frequency (in Hz)
0x4000000, // Physical register address
0x4080000, // Physical memory address
1200, // LCD power off time (in ms)
50, // LCD power on time (in ms)
0x00000001, // GPIO LCD power pin mask bit
176, 176, // Camera1 expected image size
0, 0, // Camera2 expected image size
0x00008000, // Reserved JPEG FIFO size (32k)
76800L, // Required VRAM (in bytes) (75k)
fDONT_INIT_I2C|fDONT_CHECK_CRC|fDONT_INIT_LUT, // Hal Information flags
{ // Initialization some registers
// the system clock setting
{ REG000E_PLL_SETTING0, 0x1BE8 }, // N=1 ;L=762 ;(1+1)*(762+1)*32.768K=50.003M
{ REG0010_PLL_SETTING1, 0x0000 }, // VCO set is 0;
{ REG0018_SYSTEM_CLOCK_SETTING, 0x0000 }, // system clock is 1:1
{ REG0012_PLL_SETTING2, 0x0001 }, // choose the PLL passby mode
{ REG0014_POWER_SAVE_CONFIG, 0x0000 }, // power save disable and register is active
{ REG8000_BLT_CTRL, 0x0000 }, // BitBLT is disable
// the GPIO settinf
{ REG0300_GPIO_STATUS_CTRL0, 0x0000 },
{ REG0302_GPIO_STATUS_CTRL1, 0x0000 },
{ REG0304_GPIO_STATUS_CTRL2, 0x0000 },
{ REG0306_GPIO_STATUS_CTRL3, 0x0000 },
{ REG0308_GPIO_PULLDOWN_CTRL0, 0x0000 },
{ REG030A_GPIO_PULLDOWN_CTRL1, 0x0000 },
{ REG030C_GPIO_STATUS_CTRL4, 0x0000 },
{ REG030E_GPIO_STATUS_CTRL5, 0x0000 },
// Host bus indirect mode setting
{ REG0022_INDIRECT_MEM_ADDR1, 0x0000 },
{ REG0024_INDIRECT_MEM_ADDR2, 0x0000 },
{ REG0026_INDIRECT_AUTO_INC, 0x0000 },
// LCD interface setting
{ REG0030_LCD_INTERFACE_CLOCK, 0x0505 }, // LCD pixel clk is PLLClk/12
{ REG0032_LCD_MODULE_CLOCK, 0x0002 }, // LCD mode is mode 2
{ REG0034_LCD_INTERFACE_COMMAND, 0x0000 },
{ REG0036_LCD_INTERFACE_PARAMETER, 0x0000 },
{ REG0038_LCD_INTERFACE_STATUS, 0x0000 },
{ REG003A_LCD_INTERFACE_FRM_XFER, 0x0000 },
{ REG003C_LCD_INTERFACE_TRANSFER, 0x0000 },
{ REG0040_LCD1_HORIZONTAL_TOTAL, 0x0000 },
{ REG0042_LCD1_HDP, 0x0000 },
{ REG0044_LCD1_HDP_START_POS, 0x0000 },
{ REG0046_LCD1_FPLINE, 0x0000 },
{ REG0048_LCD1_FPLINE_PULSE_POS, 0x0000 },
{ REG004A_LCD1_VERTICAL_TOTAL, 0x0000 },
{ REG004C_LCD1_VDP, 0x0000 },
{ REG004E_LCD1_VDP_START_POS, 0x0000 },
{ REG0050_LCD1_FPFRAME, 0x0000 },
{ REG0052_LCD1_FPFRAME_PULSE_POS, 0x0000 },
{ REG0054_LCD1_SERIAL_INTERFACE, 0x0000 },
{ REG0056_LCD1_PARALLEL_INTERFACE, 0x0000 },
{ REG0058_LCD2_HDP, 0x0000 },
{ REG005A_LCD2_VDP, 0x0000 },
{ REG005C_LCD2_SERIAL_INTERFACE, 0x0000 },
{ REG005E_LCD2_PARALLEL_INTERFACE, 0x0000 },
{ REG0060_SERIAL_VIDEO_HDP, 0x0000 },
{ REG0062_SERIAL_VIDEO_VDP, 0x0000 },
{ REG0064_SERIAL_VIDEO_INTERFACE, 0x0000 },
{ REG0066_SERIAL_VIDEO_HDR_REG0, 0x0000 },
{ REG0068_SERIAL_VIDEO_HDR_REG1, 0x0000 },
{ REG006A_SERIAL_VIDEO_HDR_REG2, 0x0000 },
{ REG006C_SERIAL_VIDEO_HDR_REG3, 0x0000 },
{ REG006E_SERIAL_VIDEO_HDR_REG4, 0x0000 },
{ REG0070_SERIAL_VIDEO_HDR_REG5, 0x0000 },
{ REG0072_SERIAL_VIDEO_HDR_REG6, 0x0000 },
{ REG0074_SERIAL_VIDEO_HDR_REG7, 0x0000 },
{ REG0076_SERIAL_VIDEO_FTR_REG0, 0x0000 },
{ REG0078_SERIAL_VIDEO_FTR_REG1, 0x0000 },
{ REG007A_SERIAL_VIDEO_FTR_REG2, 0x0000 },
{ REG007C_SERIAL_VIDEO_FTR_REG3, 0x0000 },
{ REG0080_SERIAL_VIDEO_FRAME_XFER, 0x0000 },
{ REG0082_SERIAL_VIDEO_FRAME_XFER, 0x0000 },
{ REG0090_HRTFT_CONFIGURATION, 0x0000 },
{ REG0092_HRTFT_CLS_WIDTH, 0x0000 },
{ REG0094_HRTFT_PS1_RISING_EDGE, 0x0000 },
{ REG0096_HRTFT_PS2_RISING_EDGE, 0x0000 },
{ REG0098_HRTFT_PS2_TOGGLE_WIDTH, 0x0000 },
{ REG009A_HRTFT_PS3_SIGNAL_WIDTH, 0x0000 },
{ REG009E_HRTFT_REV_TOGGLE_POINT, 0x0000 },
{ REG00A0_HRTFT_PS12_END, 0x0000 },
{ REG00A2_TYPE2_TFT_CONFIG, 0x0000 },
{ REG00A4_CASIO_TFT_TIMING_REG0, 0x0000 },
{ REG00A6_CASIO_TFT_TIMING_REG1, 0x0000 },
{ REG00A8_T3_TFT_CONFIG_REG0, 0x0000 },
{ REG00AA_T3_TFT_CONFIG_REG1, 0x0000 },
{ REG00AC_T3_TFT_CONFIG_REG2, 0x0000 },
{ REG00AE_T3_TFT_CONFIG_REG3, 0x0000 },
{ REG00B0_T3_TFT_PCLK_DIVIDE, 0x0000 },
{ REG00B2_T3_TFT_PRTL_MODE_CTRL, 0x0000 },
{ REG00B4_T3_TFT_PRTL_AREA0_POS0, 0x0000 },
{ REG00B6_T3_TFT_PRTL_AREA0_POS1, 0x0000 },
{ REG00B8_T3_TFT_PRTL_AREA1_POS0, 0x0000 },
{ REG00BA_T3_TFT_PRTL_AREA1_POS1, 0x0000 },
{ REG00BC_T3_TFT_PRTL_AREA2_POS0, 0x0000 },
{ REG00BE_T3_TFT_PRTL_AREA2_POS1, 0x0000 },
{ REG00C4_TYPE3_TFT_MISC, 0x0000 },
{ REG00EE_PRTL_DRV_A0_START_LINE, 0x0000 },
{ REG00F0_PRTL_DRV_A0_END_LINE, 0x0000 },
{ REG00F2_PRTL_DRV_A1_START_LINE, 0x0000 },
{ REG00F4_PRTL_DRV_A1_END_LINE, 0x0000 },
{ REG0120_STROBO_LINE_DELAY, 0x0000 },
{ REG0122_STROBO_PULSE_WIDTH, 0x0000 },
{ REG0124_STROBO_SETTING, 0x0000 },
{ REG0128_T3_HEIGHT, 0x0000 },
{ REG012A_T3_WIDTH, 0x0000 },
// display mode setting
{ REG0200_DISPLAY_MODE_SETTING0, 0x0035 },
{ REG0202_DISPLAY_MODE_SETTING1, 0x0400 }, //LCD1 output
{ REG0204_OVERLAY_KEY_COL_RED, 0x0000 },
{ REG0206_OVERLAY_KEY_COL_GREEN, 0x0000 },
{ REG0208_OVERLAY_KEY_COL_BLUE, 0x0000 },
{ REG0210_MWIN_DISP_START_ADDR0, 0x0000 },
{ REG0212_MWIN_DISP_START_ADDR1, 0x0000 },
{ REG0214_MWIN_START_ADDR, 0x0000 },
{ REG0216_MWIN_LINE_ADDR_OFFSET, 0x0000 },
{ REG0218_PIP_DISPLAY_START_ADDR0, 0x0000 },
{ REG021A_PIP_DISPLAY_START_ADDR1, 0x0000 },
{ REG021E_PIPWIN_LINE_ADDR_OFFSET, 0x0000 },
{ REG0220_PIP_X_START_POS, 0x0000 },
{ REG0222_PIP_Y_START_POS , 0x0000 },
{ REG0224_PIP_X_END_POS, 0x0000 },
{ REG0226_PIP_Y_END_POS, 0x0000 },
{ REG0228_PIP_START_FIELD, 0x0000 },
// YUV to RGB setting
{ REG0240_YUVRGB_TRANSLATE_MODE, 0x0405 },
{ REG0242_YUV_WR_START_ADDR0REG0, 0x0000 },
{ REG0244_YUV_WR_START_ADDR0REG1, 0x0000 },
{ REG0246_YUV_WR_START_ADDR1REG0, 0x0000 },
{ REG0248_YUV_WR_START_ADDR1REG1, 0x0000 },
{ REG024A_UV_DATA_CLIP, 0x0000 },
{ REG024C_DISPLAY_FIFO_THRESHOLD, 0x0030 },
// Overlay mode setting
{ REG0310_AVG_OVERLAY_KEY_COL_RED, 0x0000 },
{ REG0312_AVG_OVERLAY_KEY_COL_GREEN,0x0000 },
{ REG0314_AVG_OVERLAY_KEY_COL_BLUE, 0x0000 },
{ REG0316_AND_OVERLAY_KEY_COL_RED, 0x0000 },
{ REG0318_AND_OVERLAY_KEY_COL_GREEN,0x0000 },
{ REG031A_AND_OVERLAY_KEY_COL_BLUE, 0x0000 },
{ REG031C_OR_OVERLAY_KEY_COL_RED, 0x0000 },
{ REG031E_OR_OVERLAY_KEY_COL_GREEN, 0x0000 },
{ REG0320_OR_OVERLAY_KEY_COL_BLUE, 0x0000 },
{ REG0322_INV_OVERLAY_KEY_COL_RED, 0x0000 },
{ REG0324_INV_OVERLAY_KEY_COL_GREEN, 0x0000 },
{ REG0326_INV_OVERLAY_KEY_COL_BLUE, 0x0000 },
{ REG0328_OVERLAY_MISCELLANEOUS, 0x0000 },
// resize setting
{ REG0944_VIEW_RESIZE_START_X_POS, 0x0000 },
{ REG0946_VIEW_RESIZE_START_Y_POS, 0x0000 },
{ REG0948_VIEW_RESIZE_END_X_POS, 0x027F },
{ REG094A_VIEW_RESIZE_END_Y_POS, 0x01DF },
{ REG094E_VIEW_RESIZE_OP1, 0x0000 },
{ REG094C_VIEW_RESIZE_OP0, 0x0000 },
{ REG0964_CAP_RESIZE_START_X_POS, 0x0000 },
{ REG0966_CAP_RESIZE_START_Y_POS, 0x0000 },
{ REG0968_CAP_RESIZE_END_X_POS, 0x027F },
{ REG096A_CAP_RESIZE_END_Y_POS, 0x01DF },
{ REG096E_CAP_RESIZE_OP1, 0x0000 },
{ REG096C_CAP_RESIZE_OP0, 0x0001 },
{ REG0930_GLOBAL_RESIZE_CTRL, 0x0000 },
{ REG0940_VIEW_RESIZE_CTRL, 0x0000 },
{ REG0960_CAP_RESIZE_CTRL, 0x0000 },
// Camera interface setting
{ REG0100_CAM1_CLOCK_SETTING, 0x0000 },
{ REG0102_CAM1_SIGNAL_SETTING, 0x0000 },
{ REG0104_CAM2_CLOCK_DIVIDE_SEL, 0x0001 },
{ REG0106_CAM2_INPUT_SIG_FMT_SEL, 0x0000 },
{ REG0108_CAM1_TYPE2_VERT_COUNTER, 0x0000 },
{ REG010A_CAM1_TYPE2_HORZ_COUNTER, 0x0000 },
{ REG010C_CAM1_TYPE2_CONTROL, 0x0000 },
{ REG010E_CAM1_TYPE2_STATUS, 0x0000 },
{ REG0112_CAMERA_FRAME_SETTING, 0x0000 },
{ REG0114_CAMERA_CTRL, 0x0000 },
{ REG0110_CAMERA_MODE_SETTING, 0x0000 },
// interrupt setting
{ REG0A00_INTERRUPT_STATUS, 0x0000 },
{ REG0A02_INTERRUPT_CTRL0, 0x0000 },
{ REG0A04_INTERRUPT_CTRL1, 0x0000 },
{ REG0A06_DEBUG_STATUS, 0x0000 },
{ REG0A08_INTERRUPT_CTRL_DEBUG, 0x0000 },
{ REG0A0A_HOST_INTERRUPT_STATUS, 0x0000 },
{ REG0A0C_HOST_INTERRUPT_CONTROL, 0x0000 },
{ REG0A0E_CYCLE_TIME_OUT_CONTROL, 0x0000 },
// other setting
{ REG_POWER_ON_DELAY, 0x0032 },
{ REG0300_GPIO_STATUS_CTRL0, 0x0100 },
{ REG0302_GPIO_STATUS_CTRL1, 0x0000 },
{ REG0304_GPIO_STATUS_CTRL2, 0xC000 },
{ REG0306_GPIO_STATUS_CTRL3, 0x0000 },
{ REG030C_GPIO_STATUS_CTRL4, 0x0000 },
{ REG030E_GPIO_STATUS_CTRL5, 0x0000 },
{ REG0014_POWER_SAVE_CONFIG, 0x0000 },
{ REG_END_OF_TABLE, 0x0000 }
}
};
/*****************************************************************************
* Each DWORD entry consists of xxxxxxxx rrrrrr.. bbbbbb.. gggggg..
*
* Where xxxxxxxx is the index
* rrrrrr.. is the six bit red value
* bbbbbb.. is the six bit blue value
* gggggg.. is the six bit green value
******************************************************************************/
LUT_STRUCT LutInfo =
{
{ // LUT 1 has 256 elements
// Primary and Secondary colors
0x00, 0x00, 0x00, // red, green, blue
0x00, 0x00, 0xAA,
0x00, 0xAA, 0x00,
0x00, 0xAA, 0xAA,
0xAA, 0x00, 0x00,
0xAA, 0x00, 0xAA,
0xAA, 0xAA, 0x00,
0xAA, 0xAA, 0xAA,
0x55, 0x55, 0x55,
0x00, 0x00, 0xFF,
0x00, 0xFF, 0x00,
0x00, 0xFF, 0xFF,
0xFF, 0x00, 0x00,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -