aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-ux500/include/mach/dsi_reg.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-ux500/include/mach/dsi_reg.h')
-rwxr-xr-xarch/arm/mach-ux500/include/mach/dsi_reg.h495
1 files changed, 495 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/include/mach/dsi_reg.h b/arch/arm/mach-ux500/include/mach/dsi_reg.h
new file mode 100755
index 00000000000..a5fc8e39ff2
--- /dev/null
+++ b/arch/arm/mach-ux500/include/mach/dsi_reg.h
@@ -0,0 +1,495 @@
+/*---------------------------------------------------------------------------*/
+/* Copyright (C) ST Ericsson 2009 */
+/* */
+/* This program is free software; you can redistribute it and/or modify it */
+/* under the terms of the GNU Lesser General Public License as published */
+/* by the Free Software Foundation; either version 2.1 of the License, */
+/* or (at your option)any later version. */
+/* */
+/* 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 Lesser General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU Lesser General Public License */
+/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
+/*---------------------------------------------------------------------------*/
+
+#ifndef _DSIREG_H_
+#define _DSIREG_H_
+
+#ifdef _cplusplus
+extern "C" {
+#endif /* _cplusplus */
+
+#include <linux/types.h>
+
+#define DSI_SET_BIT 0x1
+#define DSI_CLEAR_BIT 0x0
+#define DSI_SET_ALL_BIT 0xFFFFFFFF
+#define DSI_CLEAR_ALL_BIT 0x0
+#define DSI_MCTL_INTMODE_MASK MASK_BIT0
+#define DSI_MCTL_LINKEN_MASK MASK_BIT0
+#define DSI_MCTL_INTERFACE1_MODE_MASK MASK_BIT1
+#define DSI_MCTL_VID_EN_MASK MASK_BIT2
+#define DSI_MCTL_TVG_SEL_MASK MASK_BIT3
+#define DSI_MCTL_TBG_SEL_MASK MASK_BIT4
+#define DSI_MCTL_READEN_MASK MASK_BIT8
+#define DSI_MCTL_BTAEN_MASK MASK_BIT9
+#define DSI_MCTL_DISPECCGEN_MASK MASK_BIT10
+#define DSI_MCTL_DISPCHECKSUMGEN_MASK MASK_BIT11
+#define DSI_MCTL_HOSTEOTGEN_MASK MASK_BIT12
+#define DSI_MCTL_DISPEOTGEN_MASK MASK_BIT13
+#define DSI_PLL_MASTER_MASK MASK_BIT16
+#define DSI_PLL_OUT_SEL_MASK MASK_BIT11
+#define DSI_PLL_IN_SEL_MASK MASK_BIT10
+#define DSI_PLL_DIV_MASK (MASK_BIT7 | MASK_BIT8 | MASK_BIT9)
+#define DSI_PLL_MULT_MASK (MASK_BYTE0 & 0x7F)
+#define DSI_REG_TE_MASK MASK_BIT7
+#define DSI_IF1_TE_MASK MASK_BIT5
+#define DSI_IF2_TE_MASK MASK_BIT6
+#define DSI_LANE2_EN_MASK MASK_BIT0
+#define DSI_FORCE_STOP_MODE_MASK MASK_BIT1
+#define DSI_CLK_CONTINUOUS_MASK MASK_BIT2
+#define DSI_CLK_ULPM_EN_MASK MASK_BIT3
+#define DSI_DAT1_ULPM_EN_MASK MASK_BIT4
+#define DSI_DAT2_ULPM_EN_MASK MASK_BIT5
+#define DSI_WAIT_BURST_MASK (MASK_BIT6 | MASK_BIT7 | MASK_BIT8 | MASK_BIT9)
+#define DSI_CLKLANESTS_MASK (MASK_BIT0 | MASK_BIT1)
+#define DSI_DATALANE1STS_MASK (MASK_BIT2 | MASK_BIT3 | MASK_BIT4)
+#define DSI_DATALANE2STS_MASK (MASK_BIT5 | MASK_BIT6)
+#define DSI_CLK_DIV_MASK MASK_QUARTET0
+#define DSI_HSTX_TO_MASK (MASK_QUARTET1 | MASK_BYTE1 | MASK_BIT16 | MASK_BIT17)
+#define DSI_LPRX_TO_MASK (MASK_BYTE3 | MASK_QUARTET5 | MASK_BIT18 | MASK_BIT18)
+#define DSI_CLK_ULPOUT_MASK (MASK_BYTE0 | MASK_BIT8)
+#define DSI_DATA_ULPOUT_MASK (MASK_QUARTET3 | MASK_BIT9 | MASK_BIT10 | MASK_BIT11 | MASK_BIT16 | MASK_BIT17)
+#define DSI_PLL_START_MASK MASK_BIT0
+#define DSI_CKLANE_EN_MASK MASK_BIT3
+#define DSI_DAT1_EN_MASK MASK_BIT4
+#define DSI_DAT2_EN_MASK MASK_BIT5
+#define DSI_CLK_ULPM_MASK MASK_BIT6
+#define DSI_DAT1_ULPM_MASK MASK_BIT7
+#define DSI_DAT2_ULPM_MASK MASK_BIT8
+#define DSI_IF1_EN_MASK MASK_BIT9
+#define DSI_IF2_EN_MASK MASK_BIT10
+#define DSI_MAIN_STS_MASK MASK_BYTE0
+#define DSI_DPHY_ERROR_MASK MASK_HALFWORD0
+#define DSI_IF_DATA_MASK MASK_HALFWORD0
+#define DSI_IF_VALID_MASK MASK_BIT16
+#define DSI_IF_START_MASK MASK_BIT17
+#define DSI_IF_FRAME_SYNC_MASK MASK_BIT18
+#define DSI_IF_STALL_MASK MASK_BIT0
+#define DSI_INT_VAL_MASK MASK_BIT0
+#define DSI_DIRECT_CMD_RD_STS_MASK (MASK_BYTE0 | MASK_BIT8)
+#define DSI_CMD_MODE_STS_MASK (MASK_QUARTET0 | MASK_BIT4 | MASK_BIT5)
+#define DSI_RD_ID_MASK (MASK_BIT16 | MASK_BIT17 )
+#define DSI_RD_DCSNOTGENERIC_MASK MASK_BIT18
+#define DSI_CMD_NAT_MASK (MASK_BIT0 | MASK_BIT1 | MASK_BIT2)
+#define DSI_CMD_LONGNOTSHORT_MASK MASK_BIT3
+#define DSI_CMD_HEAD_MASK (MASK_QUARTET2 | MASK_BIT12 | MASK_BIT13)
+#define DSI_CMD_ID_MASK (MASK_BIT14 | MASK_BIT15)
+#define DSI_CMD_SIZE_MASK (MASK_QUARTET4 | MASK_BIT20)
+#define DSI_CMD_LP_EN_MASK (MASK_BIT21)
+#define DSI_TRIGGER_VAL_MASK MASK_QUARTET6
+#define DSI_TE_LOWERBIT_MASK MASK_BYTE2
+#define DSI_TE_UPPERBIT_MASK (MASK_BIT24 | MASK_BIT25)
+#define DSI_FIL_VAL_MASK MASK_BYTE1
+#define DSI_ARB_MODE_MASK MASK_BIT6
+#define DSI_ARB_PRI_MASK MASK_BIT7
+#define DSI_START_MODE_MASK (MASK_BIT0 | MASK_BIT1 )
+#define DSI_STOP_MODE_MASK (MASK_BIT2 | MASK_BIT3)
+#define DSI_VID_ID_MASK (MASK_BIT4 | MASK_BIT5)
+#define DSI_HEADER_MASK (MASK_BIT6 | MASK_BIT7 | MASK_BIT8 | MASK_BIT9 | MASK_BIT10 | MASK_BIT11)
+#define DSI_PIXEL_MODE_MASK (MASK_BIT12 | MASK_BIT13)
+#define DSI_BURST_MODE_MASK (MASK_BIT14)
+#define DSI_SYNC_PULSE_ACTIVE_MASK (MASK_BIT15)
+#define DSI_SYNC_PULSE_HORIZONTAL_MASK (MASK_BIT16)
+#define DSI_BLKLINE_MASK (MASK_BIT17 | MASK_BIT18)
+#define DSI_BLKEOL_MASK (MASK_BIT19 | MASK_BIT20)
+#define DSI_RECOVERY_MODE_MASK (MASK_BIT21 | MASK_BIT22)
+#define DSI_VSA_LENGTH_MASK MASK_QUARTET0
+#define DSI_VBP_LENGTH_MASK MASK_QUARTET1
+#define DSI_VFP_LENGTH_MASK MASK_BYTE1
+#define DSI_VACT_LENGTH_MASK (MASK_BYTE2 | MASK_QUARTET6)
+#define DSI_HSA_LENGTH_MASK MASK_BYTE0
+#define DSI_HBP_LENGTH_MASK MASK_BYTE1
+#define DSI_HFP_LENGTH_MASK (MASK_BYTE2 | MASK_BIT24 | MASK_BIT25 | MASK_BIT26)
+#define DSI_RGB_SIZE_MASK (MASK_BYTE0 | MASK_QUARTET2 | MASK_BIT12)
+#define DSI_LINE_POS_MASK (MASK_BIT0 | MASK_BIT1)
+#define DSI_LINE_VAL_MASK (MASK_BIT2 | MASK_BIT3 | MASK_QUARTET1 | MASK_QUARTET2 | MASK_BIT12)
+#define DSI_HORI_POS_MASK (MASK_BIT0 | MASK_BIT1 |MASK_BIT2)
+#define DSI_HORI_VAL_MASK (MASK_BYTE1 | MASK_QUARTET1 | MASK_BIT3)
+#define DSI_VID_MODE_STS_MASK (MASK_BYTE0 | MASK_BIT8 | MASK_BIT9)
+#define DSI_BURST_LP_MASK MASK_BIT16
+#define DSI_MAX_BURST_LIMIT_MASK MASK_HALFWORD0
+#define DSI_MAX_LINE_LIMIT_MASK MASK_HALFWORD1
+#define DSI_EXACT_BURST_LIMIT_MASK MASK_HALFWORD0
+#define DSI_BLKLINE_EVENT_MASK (MASK_BYTE0 | MASK_QUARTET2 | MASK_BIT12)
+#define DSI_BLKEOL_PCK_MASK (MASK_BYTE2 | MASK_BIT15 | MASK_BIT14 | MASK_BIT13 | MASK_BIT24 | MASK_BIT25)
+#define DSI_BLKLINE_PULSE_PCK_MASK (MASK_BYTE0 | MASK_QUARTET2 | MASK_BIT12)
+#define DSI_BLKEOL_DURATION_MASK (MASK_BYTE0 | MASK_QUARTET2 | MASK_BIT12)
+#define DSI_VERT_BLANK_DURATION_MASK (MASK_BYTE2 | MASK_BIT15 | MASK_BIT14 | MASK_BIT13 | MASK_BIT24 | MASK_BIT25)
+#define DSI_COL_RED_MASK MASK_BYTE0
+#define DSI_COL_GREEN_MASK MASK_BYTE1
+#define DSI_COL_BLUE_MASK MASK_BYTE2
+#define DSI_PAD_VAL_MASK MASK_BYTE3
+#define DSI_TVG_STRIPE_MASK (MASK_BIT5 | MASK_BIT6 | MASK_BIT7)
+#define DSI_TVG_MODE_MASK (MASK_BIT3 | MASK_BIT4 )
+#define DSI_TVG_STOPMODE_MASK (MASK_BIT1 | MASK_BIT2 )
+#define DSI_TVG_RUN_MASK MASK_BIT0
+#define DSI_TVG_NBLINE_MASK (MASK_BYTE2 | MASK_BIT24 | MASK_BIT25 | MASK_BIT26)
+#define DSI_TVG_LINE_SIZE_MASK (MASK_BYTE0 | MASK_QUARTET2 | MASK_BIT12)
+#define DSI_CMD_MODE_STATUS_MASK (MASK_QUARTET0 | MASK_BIT4 | MASK_BIT5 )
+#define DSI_DIRECT_CMD_STS_MASK (MASK_BYTE0 | MASK_BIT8 | MASK_BIT9 | MASK_BIT10 )
+#define DSI_DIRECT_CMD_RD_STATUS_MASK (MASK_BYTE0 | MASK_BIT8 )
+#define DSI_VID_MODE_STATUS_MASK (MASK_BYTE0 | MASK_BIT8 | MASK_BIT9 )
+#define DSI_TG_STS_MASK (MASK_BIT0 | MASK_BIT1)
+#define DSI_CLK_TRIM_RD_MASK MASK_BIT0
+#define DSI_IF1_LPM_EN_MASK MASK_BIT4
+#define DSI_IF2_LPM_EN_MASK MASK_BIT5
+#define DSIMCTL_DPHY_STATIC_HS_INVERT_DAT2 MASK_BIT5
+#define DSIMCTL_DPHY_STATIC_SWAP_PINS_DAT2 MASK_BIT4
+#define DSIMCTL_DPHY_STATIC_HS_INVERT_DAT1 MASK_BIT3
+#define DSIMCTL_DPHY_STATIC_SWAP_PINS_DAT1 MASK_BIT2
+#define DSIMCTL_DPHY_STATIC_HS_INVERT_CLK MASK_BIT1
+#define DSIMCTL_DPHY_STATIC_SWAP_PINS_CLK MASK_BIT0
+#define DSIMCTL_DPHY_STATIC_UI_X4 (MASK_BIT6 | MASK_BIT7 | MASK_QUARTET2)
+
+#define DSI_MCTL_INTERFACE1_MODE_SHIFT 1
+#define DSI_MCTL_VID_EN_SHIF 2
+#define DSI_MCTL_TVG_SEL_SHIFT 3
+#define DSI_MCTL_TBG_SEL_SHIFT 4
+#define DSI_MCTL_READEN_SHIFT 8
+#define DSI_MCTL_BTAEN_SHIFT 9
+#define DSI_MCTL_DISPECCGEN_SHIFT 10
+#define DSI_MCTL_DISPCHECKSUMGEN_SHIFT 11
+#define DSI_MCTL_HOSTEOTGEN_SHIFT 12
+#define DSI_MCTL_DISPEOTGEN_SHIFT 13
+#define DSI_PLL_MASTER_SHIFT 16
+#define DSI_PLL_OUT_SEL_SHIFT 11
+#define DSI_PLL_IN_SEL_SHIFT 10
+#define DSI_MCTL_VID_EN_SHIFT 2
+#define DSI_PLL_DIV_SHIFT 7
+#define DSI_REG_TE_SHIFT 7
+#define DSI_IF1_TE_SHIFT 5
+#define DSI_IF2_TE_SHIFT 6
+#define DSI_FORCE_STOP_MODE_SHIFT 1
+#define DSI_CLK_CONTINUOUS_SHIFT 2
+#define DSI_CLK_ULPM_EN_SHIFT 3
+#define DSI_DAT1_ULPM_EN_SHIFT 4
+#define DSI_DAT2_ULPM_EN_SHIFT 5
+#define DSI_WAIT_BURST_SHIFT 6
+#define DSI_DATALANE1STS_SHIFT 2
+#define DSI_DATALANE2STS_SHIFT 5
+#define DSI_HSTX_TO_SHIFT 4
+#define DSI_LPRX_TO_SHIFT 18
+#define DSI_DATA_ULPOUT_SHIFT 9
+#define DSI_CKLANE_EN_SHIFT 3
+#define DSI_DAT1_EN_SHIFT 4
+#define DSI_DAT2_EN_SHIFT 5
+#define DSI_CLK_ULPM_SHIFT 6
+#define DSI_DAT1_ULPM_SHIFT 7
+#define DSI_DAT2_ULPM_SHIFT 8
+#define DSI_IF1_EN_SHIFT 9
+#define DSI_IF2_EN_SHIFT 10
+#define DSI_IF_VALID_SHIFT 16
+#define DSI_IF_START_SHIFT 17
+#define DSI_IF_FRAME_SYNC_SHIFT 18
+#define DSI_RD_ID_SHIFT 16
+#define DSI_RD_DCSNOTGENERIC_SHIFT 18
+#define DSI_CMD_LONGNOTSHORT_SHIFT 3
+#define DSI_CMD_HEAD_SHIFT 8
+#define DSI_CMD_ID_SHIFT 14
+#define DSI_CMD_SIZE_SHIFT 16
+#define DSI_CMD_LP_EN_SHIFT 21
+#define DSI_TRIGGER_VAL_SHIFT 24
+#define DSI_TE_LOWERBIT_SHIFT 16
+#define DSI_TE_UPPERBIT_SHIFT 24
+#define DSI_FIL_VAL_SHIFT 8
+#define DSI_ARB_MODE_SHIFT 6
+#define DSI_ARB_PRI_SHIFT 7
+#define DSI_STOP_MODE_SHIFT 2
+#define DSI_VID_ID_SHIFT 4
+#define DSI_HEADER_SHIFT 6
+#define DSI_PIXEL_MODE_SHIFT 12
+#define DSI_BURST_MODE_SHIFT 14
+#define DSI_SYNC_PULSE_ACTIVE_SHIFT 15
+#define DSI_SYNC_PULSE_HORIZONTAL_SHIFT 16
+#define DSI_BLKLINE_SHIFT 17
+#define DSI_BLKEOL_SHIFT 19
+#define DSI_RECOVERY_MODE_SHIFT 21
+#define DSI_VBP_LENGTH_SHIFT 4
+#define DSI_VFP_LENGTH_SHIFT 8
+#define DSI_VACT_LENGTH_SHIFT 16
+#define DSI_HBP_LENGTH_SHIFT 8
+#define DSI_HFP_LENGTH_SHIFT 16
+#define DSI_LINE_VAL_SHIFT 2
+#define DSI_HORI_VAL_SHIFT 3
+#define DSI_BURST_LP_SHIFT 16
+#define DSI_MAX_LINE_LIMIT_SHIFT 16
+#define DSI_BLKEOL_PCK_SHIFT 13
+#define DSI_VERT_BLANK_DURATION_SHIFT 13
+#define DSI_COL_GREEN_SHIFT 8
+#define DSI_COL_BLUE_SHIFT 16
+#define DSI_PAD_VAL_SHIFT 24
+#define DSI_TVG_STRIPE_SHIFT 1
+#define DSI_TVG_MODE_SHIFT 3
+#define DSI_TVG_STOPMODE_SHIFT 5
+#define DSI_TVG_NBLINE_SHIFT 16
+#define DSIMCTL_DPHY_STATIC_SWAP_PINS_CLK_SHIFT 0
+#define DSIMCTL_DPHY_STATIC_HS_INVERT_CLK_SHIFT 1
+#define DSIMCTL_DPHY_STATIC_SWAP_PINS_DAT1_SHIFT 2
+#define DSIMCTL_DPHY_STATIC_HS_INVERT_DAT1_SHIFT 3
+#define DSIMCTL_DPHY_STATIC_SWAP_PINS_DAT2_SHIFT 4
+#define DSIMCTL_DPHY_STATIC_HS_INVERT_DAT2_SHIFT 5
+#define DSIMCTL_DPHY_STATIC_UI_X4_SHIFT 6
+#define DSI_IF1_LPM_EN_MASK_SHIFT 4
+#define DSI_IF2_LPM_EN_MASK_SHIFT 5
+
+#define DSI_MCTL_MAIN_STS_VRS_UNTERM_PCK 0x80
+#define DSI_MCTL_MAIN_STS_VRS_UNTERM_PCK_SHIFT 7
+
+#define DSI_MCTL_MAIN_STS_CRS_UNTERM_PCK 0x40
+#define DSI_MCTL_MAIN_STS_CRS_UNTERM_PCK_SHIFT 6
+
+#define DSI_MCTL_MAIN_STS_LPRX_TO_ERR 0x20
+#define DSI_MCTL_MAIN_STS_LPRX_TO_ERR_SHIFT 5
+
+#define DSI_MCTL_MAIN_STS_HSTX_TO_ERR 0x10
+#define DSI_MCTL_MAIN_STS_HSTX_TO_ERR_SHIFT 4
+
+#define DSI_MCTL_MAIN_STS_DAT2_READY 0x8
+#define DSI_MCTL_MAIN_STS_DAT2_READY_SHIFT 3
+
+#define DSI_MCTL_MAIN_STS_DAT1_READY 0x4
+#define DSI_MCTL_MAIN_STS_DAT1_READY_SHIFT 2
+
+#define DSI_MCTL_MAIN_STS_CLKLANE_READY 0x2
+#define DSI_MCTL_MAIN_STS_CLKLANE_READY_SHIFT 1
+
+#define DSI_MCTL_MAIN_STS_PLL_LOCK 0x1
+#define DSI_MCTL_MAIN_STS_PLL_LOCK_SHIFT 0
+/** Test mode conf */
+
+//**********************************************************************************************************************
+/** - DIRECT_CMD_WRDAT0 */
+//**********************************************************************************************************************
+
+#define DSIDIRECT_CMD_WRDAT0_WRDAT3 (0xFF000000)
+#define Shift_DSIDIRECT_CMD_WRDAT0_WRDAT3 (24)
+#define DSIDIRECT_CMD_WRDAT0_WRDAT2 (0xFF0000)
+#define Shift_DSIDIRECT_CMD_WRDAT0_WRDAT2 (16)
+#define DSIDIRECT_CMD_WRDAT0_WRDAT1 (0xFF00)
+#define Shift_DSIDIRECT_CMD_WRDAT0_WRDAT1 (8)
+#define DSIDIRECT_CMD_WRDAT0_WRDAT0 (0xFF)
+#define Shift_DSIDIRECT_CMD_WRDAT0_WRDAT0 (0)
+
+//**********************************************************************************************************************
+/** - DIRECT_CMD_WRDAT1 */
+//**********************************************************************************************************************
+
+#define DSIDIRECT_CMD_WRDAT1_WRDAT7 (0xFF000000)
+#define Shift_DSIDIRECT_CMD_WRDAT1_WRDAT7 (24)
+#define DSIDIRECT_CMD_WRDAT1_WRDAT6 (0xFF0000)
+#define Shift_DSIDIRECT_CMD_WRDAT1_WRDAT6 (16)
+#define DSIDIRECT_CMD_WRDAT1_WRDAT5 (0xFF00)
+#define Shift_DSIDIRECT_CMD_WRDAT1_WRDAT5 (8)
+#define DSIDIRECT_CMD_WRDAT1_WRDAT4 (0xFF)
+#define Shift_DSIDIRECT_CMD_WRDAT1_WRDAT4 (0)
+
+
+//**********************************************************************************************************************
+/** - DIRECT_CMD_WRDAT2 */
+//**********************************************************************************************************************
+
+#define DSIDIRECT_CMD_WRDAT2_WRDAT11 (0xFF000000)
+#define Shift_DSIDIRECT_CMD_WRDAT2_WRDAT11 (24)
+#define DSIDIRECT_CMD_WRDAT2_WRDAT10 (0xFF0000)
+#define Shift_DSIDIRECT_CMD_WRDAT2_WRDAT10 (16)
+#define DSIDIRECT_CMD_WRDAT2_WRDAT9 (0xFF00)
+#define Shift_DSIDIRECT_CMD_WRDAT2_WRDAT9 (8)
+#define DSIDIRECT_CMD_WRDAT2_WRDAT8 (0xFF)
+#define Shift_DSIDIRECT_CMD_WRDAT2_WRDAT8 (0)
+
+//**********************************************************************************************************************
+/** - DIRECT_CMD_WRDAT3 */
+//**********************************************************************************************************************
+
+#define DSIDIRECT_CMD_WRDAT3_WRDAT15 (0xFF000000)
+#define Shift_DSIDIRECT_CMD_WRDAT3_WRDAT15 (24)
+#define DSIDIRECT_CMD_WRDAT3_WRDAT14 (0xFF0000)
+#define Shift_DSIDIRECT_CMD_WRDAT3_WRDAT14 (16)
+#define DSIDIRECT_CMD_WRDAT3_WRDAT13 (0xFF00)
+#define Shift_DSIDIRECT_CMD_WRDAT3_WRDAT13 (8)
+#define DSIDIRECT_CMD_WRDAT3_WRDAT12 (0xFF)
+#define Shift_DSIDIRECT_CMD_WRDAT3_WRDAT12 (0)
+//**********************************************************************************************************************
+/** - DIRECT_CMD_READ */
+//**********************************************************************************************************************
+
+#define DSIDIRECT_CMD_RDAT3 (0xFF000000)
+#define Shift_DSIDIRECT_CMD_RDAT3 (24)
+#define DSIDIRECT_CMD_RDAT2 (0xFF0000)
+#define Shift_DSIDIRECT_CMD_RDAT2 (16)
+#define DSIDIRECT_CMD_RDAT1 (0xFF00)
+#define Shift_DSIDIRECT_CMD_RDAT1 (8)
+#define DSIDIRECT_CMD_RDAT0 (0xFF)
+#define Shift_DSIDIRECT_CMD_RDAT0 (0)
+
+/** TPO COMMAND HEADER */
+#define TPO_CMD_NONE 0x00
+#define TPO_CMD_SWRESET 0x01 /** SWRESET: Software Reset (01h) */
+#define TPO_CMD_SLPOUT 0x11 /** SLPOUT: Sleep Out (11h) */
+#define TPO_CMD_NORON 0x13 /** NORON: Normal Display Mode On (13h) */
+#define TPO_CMD_INVOFF 0x20 /** INVOFF: Display Inversion Off (20h) */
+#define TPO_CMD_INVON 0x21 /** INVOFF: Display Inversion Off (20h) */
+#define TPO_CMD_GAMMA_SET 0x26 /** Gamma set//reset GC0G2.2 */
+
+#define TPO_CMD_DISPOFF 0x28 /** DISPON: Display On (29h) */
+#define TPO_CMD_DISPON 0x29 /** DISPON: Display On (29h) */
+#define TPO_CMD_CASET 0x2A /** CASET :Columen address select */
+#define TPO_CMD_RASET 0x2B /** RASET :Row address select */
+#define TPO_CMD_RAMWR 0x2C /** RAMWR ram write */
+
+#define TPO_CMD_MADCTR 0x36 /** MADCTR: Memory Data Access Control (36h) */
+#define TPO_CMD_IDMOFF 0x38 /** IDMON: Idle Mode On (39h) */
+#define TPO_CMD_IDMON 0x39 /** IDMON: Idle Mode On (39h) */
+#define TPO_CMD_COLMOD 0x3A /** COLMOD: Interface Pixel Format (3Ah). */
+#define TPO_CMD_RAMWR_CONTINUE 0x3C /** Ram write continue */
+#define TPO_CMD_IFMODE 0xB0 /** IFMODE: Set Display Interface Mode (B0h) */
+#define TPO_CMD_DISSET6 0xB7 /** Display Function Setting 6 (B7h) */
+#define TPO_CMD_LPTS_FUNCTION_SET3 0xBC /** LPTS_FUNCTION_SET3 (0xBC) */
+#define TPO_CMD_DSLPOUT 0xCA /** deep sleepout 0xca */
+
+
+#define TPO_CMD_GAMCTRP1 0xE0 /** GAMCTRP1: Set Positive Gamma Correction Characteristics (E0h) */
+#define TPO_CMD_GAMCTRN1 0xE1 /** GAMCTRN1: Set Negative Gamma Correction Characteristics (E1h) */
+#define TPO_CMD_GAMCTRP2 0xE2 /** GAMCTRP2: Gamma (‘+’polarity) Correction Characteristics Setting (E2h) */
+#define TPO_CMD_GAMCTRN2 0xE3 /** GAMCTRN2: Gamma (‘-’polarity) Correction Characteristics Setting (E3h) */
+#define TPO_CMD_GAMCTRP3 0xE4 /** GAMCTRP3: Gamma (‘+’polarity) Correction Characteristics Setting (E4h) */
+#define TPO_CMD_GAMCTRN3 0xE5 /** GAMCTRN3: Gamma (‘-’polarity) Correction Characteristics Setting (E5h) */
+#define TPO_CMD_GAM_R_SEL 0xEA /** GAMMA SELECTION */
+
+
+
+#define VC_ID0 0
+#define VC_ID1 1
+
+
+
+
+struct dsi_link_registers
+{
+ /** Main control registers */
+ volatile u32 mctl_integration_mode;
+ volatile u32 mctl_main_data_ctl;
+ volatile u32 mctl_main_phy_ctl;
+ volatile u32 mctl_pll_ctl;
+ volatile u32 mctl_lane_sts;
+ volatile u32 mctl_dphy_timeout;
+ volatile u32 mctl_ulpout_time;
+ volatile u32 mctl_dphy_static;
+ volatile u32 mctl_main_en;
+ volatile u32 mctl_main_sts;
+ volatile u32 mctl_dphy_err;
+
+ volatile u32 reserved1;
+ /**
+ integration mode registers */
+ volatile u32 int_vid_rddata;
+ volatile u32 int_vid_gnt;
+ volatile u32 int_cmd_rddata;
+ volatile u32 int_cmd_gnt;
+ volatile u32 int_interrupt_ctl;
+ volatile u32 reserved2[3];
+ /**
+ Command mode registers */
+ volatile u32 cmd_mode_ctl;
+ volatile u32 cmd_mode_sts;
+ volatile u32 reserved3[2];
+ /**
+ Direct Command registers */
+ volatile u32 direct_cmd_send;
+ volatile u32 direct_cmd_main_settings;
+ volatile u32 direct_cmd_sts;
+ volatile u32 direct_cmd_rd_init;
+ volatile u32 direct_cmd_wrdat0;
+ volatile u32 direct_cmd_wrdat1;
+ volatile u32 direct_cmd_wrdat2;
+ volatile u32 direct_cmd_wrdat3;
+ volatile u32 direct_cmd_rddat;
+ volatile u32 direct_cmd_rd_property;
+ volatile u32 direct_cmd_rd_sts;
+ volatile u32 reserved4;
+ /**
+ Video mode registers */
+ volatile u32 vid_main_ctl;
+ volatile u32 vid_vsize;
+ volatile u32 vid_hsize1;
+ volatile u32 vid_hsize2;
+ volatile u32 vid_blksize1;
+ volatile u32 vid_blksize2;
+ volatile u32 vid_pck_time;
+ volatile u32 vid_dphy_time;
+ volatile u32 vid_err_color;
+ volatile u32 vid_vpos;
+ volatile u32 vid_hpos;
+ volatile u32 vid_mode_sts;
+ volatile u32 vid_vca_setting1;
+ volatile u32 vid_vca_setting2;
+ /**
+ Test Video Mode regsiter */
+ volatile u32 tvg_ctl;
+ volatile u32 tvg_img_size;
+ volatile u32 tvg_color1;
+ volatile u32 tvg_color2;
+ volatile u32 tvg_sts;
+ volatile u32 reserved5;
+ /**
+ Test Byte generator register */
+ volatile u32 tbg_ctl;
+ volatile u32 tbg_setting;
+ volatile u32 tbg_sts;
+ volatile u32 reserved6;
+ /**
+ Interrupt Enable and Edge detection register */
+ volatile u32 mctl_main_sts_ctl;
+ volatile u32 cmd_mode_sts_ctl;
+ volatile u32 direct_cmd_sts_ctl;
+ volatile u32 direct_cmd_rd_sts_ctl;
+ volatile u32 vid_mode_sts_ctl;
+ volatile u32 tg_sts_ctl;
+ volatile u32 mctl_dphy_err_ctl;
+ volatile u32 dphy_clk_trim_rd_ctl;
+ /**
+ Error/Interrupt Clear Register */
+ volatile u32 mctl_main_sts_clr;
+ volatile u32 cmd_mode_sts_clr;
+ volatile u32 direct_cmd_sts_clr;
+ volatile u32 direct_cmd_rd_sts_clr;
+ volatile u32 vid_mode_sts_clr;
+ volatile u32 tg_sts_clr;
+ volatile u32 mctl_dphy_err_clr;
+ volatile u32 dphy_clk_trim_rd_clr;
+ /**
+ Flag registers */
+ volatile u32 mctl_main_sts_flag;
+ volatile u32 cmd_mode_sts_flag;
+ volatile u32 direct_cmd_sts_flag;
+ volatile u32 direct_cmd_rd_sts_flag;
+ volatile u32 vid_mode_sts_flag;
+ volatile u32 tg_sts_flag;
+ volatile u32 mctl_dphy_err_flag;
+ volatile u32 dphy_clk_trim_rd_flag;
+ volatile u32 dhy_lanes_trim;
+};
+
+
+
+#ifdef _cplusplus
+}
+#endif /* _cplusplus */
+
+#endif /* !defined(_DSI_H_) */
+
+