289 lines
7.4 KiB
C
289 lines
7.4 KiB
C
|
/*
|
||
|
* Header file required by picodlp panel driver
|
||
|
*
|
||
|
* Copyright (C) 2009-2011 Texas Instruments
|
||
|
* Author: Mythri P K <mythripk@ti.com>
|
||
|
*
|
||
|
* 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.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||
|
* more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU General Public License along with
|
||
|
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
*/
|
||
|
|
||
|
#ifndef __OMAP2_DISPLAY_PANEL_PICODLP_H
|
||
|
#define __OMAP2_DISPLAY_PANEL_PICODLP_H
|
||
|
|
||
|
/* Commands used for configuring picodlp panel */
|
||
|
|
||
|
#define MAIN_STATUS 0x03
|
||
|
#define PBC_CONTROL 0x08
|
||
|
#define INPUT_SOURCE 0x0B
|
||
|
#define INPUT_RESOLUTION 0x0C
|
||
|
#define DATA_FORMAT 0x0D
|
||
|
#define IMG_ROTATION 0x0E
|
||
|
#define LONG_FLIP 0x0F
|
||
|
#define SHORT_FLIP 0x10
|
||
|
#define TEST_PAT_SELECT 0x11
|
||
|
#define R_DRIVE_CURRENT 0x12
|
||
|
#define G_DRIVE_CURRENT 0x13
|
||
|
#define B_DRIVE_CURRENT 0x14
|
||
|
#define READ_REG_SELECT 0x15
|
||
|
#define RGB_DRIVER_ENABLE 0x16
|
||
|
|
||
|
#define CPU_IF_MODE 0x18
|
||
|
#define FRAME_RATE 0x19
|
||
|
#define CPU_IF_SYNC_METHOD 0x1A
|
||
|
#define CPU_IF_SOF 0x1B
|
||
|
#define CPU_IF_EOF 0x1C
|
||
|
#define CPU_IF_SLEEP 0x1D
|
||
|
|
||
|
#define SEQUENCE_MODE 0x1E
|
||
|
#define SOFT_RESET 0x1F
|
||
|
#define FRONT_END_RESET 0x21
|
||
|
#define AUTO_PWR_ENABLE 0x22
|
||
|
|
||
|
#define VSYNC_LINE_DELAY 0x23
|
||
|
#define CPU_PI_HORIZ_START 0x24
|
||
|
#define CPU_PI_VERT_START 0x25
|
||
|
#define CPU_PI_HORIZ_WIDTH 0x26
|
||
|
#define CPU_PI_VERT_HEIGHT 0x27
|
||
|
|
||
|
#define PIXEL_MASK_CROP 0x28
|
||
|
#define CROP_FIRST_LINE 0x29
|
||
|
#define CROP_LAST_LINE 0x2A
|
||
|
#define CROP_FIRST_PIXEL 0x2B
|
||
|
#define CROP_LAST_PIXEL 0x2C
|
||
|
#define DMD_PARK_TRIGGER 0x2D
|
||
|
|
||
|
#define MISC_REG 0x30
|
||
|
|
||
|
/* AGC registers */
|
||
|
#define AGC_CTRL 0x50
|
||
|
#define AGC_CLIPPED_PIXS 0x55
|
||
|
#define AGC_BRIGHT_PIXS 0x56
|
||
|
#define AGC_BG_PIXS 0x57
|
||
|
#define AGC_SAFETY_MARGIN 0x17
|
||
|
|
||
|
/* Color Coordinate Adjustment registers */
|
||
|
#define CCA_ENABLE 0x5E
|
||
|
#define CCA_C1A 0x5F
|
||
|
#define CCA_C1B 0x60
|
||
|
#define CCA_C1C 0x61
|
||
|
#define CCA_C2A 0x62
|
||
|
#define CCA_C2B 0x63
|
||
|
#define CCA_C2C 0x64
|
||
|
#define CCA_C3A 0x65
|
||
|
#define CCA_C3B 0x66
|
||
|
#define CCA_C3C 0x67
|
||
|
#define CCA_C7A 0x71
|
||
|
#define CCA_C7B 0x72
|
||
|
#define CCA_C7C 0x73
|
||
|
|
||
|
/**
|
||
|
* DLP Pico Processor 2600 comes with flash
|
||
|
* We can do DMA operations from flash for accessing Look Up Tables
|
||
|
*/
|
||
|
#define DMA_STATUS 0x100
|
||
|
#define FLASH_ADDR_BYTES 0x74
|
||
|
#define FLASH_DUMMY_BYTES 0x75
|
||
|
#define FLASH_WRITE_BYTES 0x76
|
||
|
#define FLASH_READ_BYTES 0x77
|
||
|
#define FLASH_OPCODE 0x78
|
||
|
#define FLASH_START_ADDR 0x79
|
||
|
#define FLASH_DUMMY2 0x7A
|
||
|
#define FLASH_WRITE_DATA 0x7B
|
||
|
|
||
|
#define TEMPORAL_DITH_DISABLE 0x7E
|
||
|
#define SEQ_CONTROL 0x82
|
||
|
#define SEQ_VECTOR 0x83
|
||
|
|
||
|
/* DMD is Digital Micromirror Device */
|
||
|
#define DMD_BLOCK_COUNT 0x84
|
||
|
#define DMD_VCC_CONTROL 0x86
|
||
|
#define DMD_PARK_PULSE_COUNT 0x87
|
||
|
#define DMD_PARK_PULSE_WIDTH 0x88
|
||
|
#define DMD_PARK_DELAY 0x89
|
||
|
#define DMD_SHADOW_ENABLE 0x8E
|
||
|
#define SEQ_STATUS 0x8F
|
||
|
#define FLASH_CLOCK_CONTROL 0x98
|
||
|
#define DMD_PARK 0x2D
|
||
|
|
||
|
#define SDRAM_BIST_ENABLE 0x46
|
||
|
#define DDR_DRIVER_STRENGTH 0x9A
|
||
|
#define SDC_ENABLE 0x9D
|
||
|
#define SDC_BUFF_SWAP_DISABLE 0xA3
|
||
|
#define CURTAIN_CONTROL 0xA6
|
||
|
#define DDR_BUS_SWAP_ENABLE 0xA7
|
||
|
#define DMD_TRC_ENABLE 0xA8
|
||
|
#define DMD_BUS_SWAP_ENABLE 0xA9
|
||
|
|
||
|
#define ACTGEN_ENABLE 0xAE
|
||
|
#define ACTGEN_CONTROL 0xAF
|
||
|
#define ACTGEN_HORIZ_BP 0xB0
|
||
|
#define ACTGEN_VERT_BP 0xB1
|
||
|
|
||
|
/* Look Up Table access */
|
||
|
#define CMT_SPLASH_LUT_START_ADDR 0xFA
|
||
|
#define CMT_SPLASH_LUT_DEST_SELECT 0xFB
|
||
|
#define CMT_SPLASH_LUT_DATA 0xFC
|
||
|
#define SEQ_RESET_LUT_START_ADDR 0xFD
|
||
|
#define SEQ_RESET_LUT_DEST_SELECT 0xFE
|
||
|
#define SEQ_RESET_LUT_DATA 0xFF
|
||
|
|
||
|
/* Input source definitions */
|
||
|
#define PARALLEL_RGB 0
|
||
|
#define INT_TEST_PATTERN 1
|
||
|
#define SPLASH_SCREEN 2
|
||
|
#define CPU_INTF 3
|
||
|
#define BT656 4
|
||
|
|
||
|
/* Standard input resolution definitions */
|
||
|
#define QWVGA_LANDSCAPE 3 /* (427h*240v) */
|
||
|
#define WVGA_864_LANDSCAPE 21 /* (864h*480v) */
|
||
|
#define WVGA_DMD_OPTICAL_TEST 35 /* (608h*684v) */
|
||
|
|
||
|
/* Standard data format definitions */
|
||
|
#define RGB565 0
|
||
|
#define RGB666 1
|
||
|
#define RGB888 2
|
||
|
|
||
|
/* Test Pattern definitions */
|
||
|
#define TPG_CHECKERBOARD 0
|
||
|
#define TPG_BLACK 1
|
||
|
#define TPG_WHITE 2
|
||
|
#define TPG_RED 3
|
||
|
#define TPG_BLUE 4
|
||
|
#define TPG_GREEN 5
|
||
|
#define TPG_VLINES_BLACK 6
|
||
|
#define TPG_HLINES_BLACK 7
|
||
|
#define TPG_VLINES_ALT 8
|
||
|
#define TPG_HLINES_ALT 9
|
||
|
#define TPG_DIAG_LINES 10
|
||
|
#define TPG_GREYRAMP_VERT 11
|
||
|
#define TPG_GREYRAMP_HORIZ 12
|
||
|
#define TPG_ANSI_CHECKERBOARD 13
|
||
|
|
||
|
/* sequence mode definitions */
|
||
|
#define SEQ_FREE_RUN 0
|
||
|
#define SEQ_LOCK 1
|
||
|
|
||
|
/* curtain color definitions */
|
||
|
#define CURTAIN_BLACK 0
|
||
|
#define CURTAIN_RED 1
|
||
|
#define CURTAIN_GREEN 2
|
||
|
#define CURTAIN_BLUE 3
|
||
|
#define CURTAIN_YELLOW 4
|
||
|
#define CURTAIN_MAGENTA 5
|
||
|
#define CURTAIN_CYAN 6
|
||
|
#define CURTAIN_WHITE 7
|
||
|
|
||
|
/* LUT definitions */
|
||
|
#define CMT_LUT_NONE 0
|
||
|
#define CMT_LUT_GREEN 1
|
||
|
#define CMT_LUT_RED 2
|
||
|
#define CMT_LUT_BLUE 3
|
||
|
#define CMT_LUT_ALL 4
|
||
|
#define SPLASH_LUT 5
|
||
|
|
||
|
#define SEQ_LUT_NONE 0
|
||
|
#define SEQ_DRC_LUT_0 1
|
||
|
#define SEQ_DRC_LUT_1 2
|
||
|
#define SEQ_DRC_LUT_2 3
|
||
|
#define SEQ_DRC_LUT_3 4
|
||
|
#define SEQ_SEQ_LUT 5
|
||
|
#define SEQ_DRC_LUT_ALL 6
|
||
|
#define WPC_PROGRAM_LUT 7
|
||
|
|
||
|
#define BITSTREAM_START_ADDR 0x00000000
|
||
|
#define BITSTREAM_SIZE 0x00040000
|
||
|
|
||
|
#define WPC_FW_0_START_ADDR 0x00040000
|
||
|
#define WPC_FW_0_SIZE 0x00000ce8
|
||
|
|
||
|
#define SEQUENCE_0_START_ADDR 0x00044000
|
||
|
#define SEQUENCE_0_SIZE 0x00001000
|
||
|
|
||
|
#define SEQUENCE_1_START_ADDR 0x00045000
|
||
|
#define SEQUENCE_1_SIZE 0x00000d10
|
||
|
|
||
|
#define SEQUENCE_2_START_ADDR 0x00046000
|
||
|
#define SEQUENCE_2_SIZE 0x00000d10
|
||
|
|
||
|
#define SEQUENCE_3_START_ADDR 0x00047000
|
||
|
#define SEQUENCE_3_SIZE 0x00000d10
|
||
|
|
||
|
#define SEQUENCE_4_START_ADDR 0x00048000
|
||
|
#define SEQUENCE_4_SIZE 0x00000d10
|
||
|
|
||
|
#define SEQUENCE_5_START_ADDR 0x00049000
|
||
|
#define SEQUENCE_5_SIZE 0x00000d10
|
||
|
|
||
|
#define SEQUENCE_6_START_ADDR 0x0004a000
|
||
|
#define SEQUENCE_6_SIZE 0x00000d10
|
||
|
|
||
|
#define CMT_LUT_0_START_ADDR 0x0004b200
|
||
|
#define CMT_LUT_0_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_1_START_ADDR 0x0004b800
|
||
|
#define CMT_LUT_1_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_2_START_ADDR 0x0004be00
|
||
|
#define CMT_LUT_2_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_3_START_ADDR 0x0004c400
|
||
|
#define CMT_LUT_3_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_4_START_ADDR 0x0004ca00
|
||
|
#define CMT_LUT_4_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_5_START_ADDR 0x0004d000
|
||
|
#define CMT_LUT_5_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_6_START_ADDR 0x0004d600
|
||
|
#define CMT_LUT_6_SIZE 0x00000600
|
||
|
|
||
|
#define DRC_TABLE_0_START_ADDR 0x0004dc00
|
||
|
#define DRC_TABLE_0_SIZE 0x00000100
|
||
|
|
||
|
#define SPLASH_0_START_ADDR 0x0004dd00
|
||
|
#define SPLASH_0_SIZE 0x00032280
|
||
|
|
||
|
#define SEQUENCE_7_START_ADDR 0x00080000
|
||
|
#define SEQUENCE_7_SIZE 0x00000d10
|
||
|
|
||
|
#define SEQUENCE_8_START_ADDR 0x00081800
|
||
|
#define SEQUENCE_8_SIZE 0x00000d10
|
||
|
|
||
|
#define SEQUENCE_9_START_ADDR 0x00083000
|
||
|
#define SEQUENCE_9_SIZE 0x00000d10
|
||
|
|
||
|
#define CMT_LUT_7_START_ADDR 0x0008e000
|
||
|
#define CMT_LUT_7_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_8_START_ADDR 0x0008e800
|
||
|
#define CMT_LUT_8_SIZE 0x00000600
|
||
|
|
||
|
#define CMT_LUT_9_START_ADDR 0x0008f000
|
||
|
#define CMT_LUT_9_SIZE 0x00000600
|
||
|
|
||
|
#define SPLASH_1_START_ADDR 0x0009a000
|
||
|
#define SPLASH_1_SIZE 0x00032280
|
||
|
|
||
|
#define SPLASH_2_START_ADDR 0x000cd000
|
||
|
#define SPLASH_2_SIZE 0x00032280
|
||
|
|
||
|
#define SPLASH_3_START_ADDR 0x00100000
|
||
|
#define SPLASH_3_SIZE 0x00032280
|
||
|
|
||
|
#define OPT_SPLASH_0_START_ADDR 0x00134000
|
||
|
#define OPT_SPLASH_0_SIZE 0x000cb100
|
||
|
|
||
|
#endif
|