⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 megconfig.c

📁 一款SmartPhone的驱动代码
💻 C
📖 第 1 页 / 共 2 页
字号:
/***************************************************************
*	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 + -