summaryrefslogtreecommitdiff
path: root/include/linux/mipi_dsi_samsung.h
blob: e58da9541cfb6e22b75d539dbd72f34f04449030 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*
 * Copyright (C) 2015 Freescale Semiconductor, Inc. All Rights Reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

#ifndef __INCLUDE_MIPI_DSI_SAMSUNG_H
#define __INCLUDE_MIPI_DSI_SAMSUNG_H

#define MIPI_DSI_VERSION		(0x000)
#define MIPI_DSI_STATUS			(0x004)
#define MIPI_DSI_RGB_STATUS		(0x008)
#define MIPI_DSI_SWRST			(0x00c)
#define MIPI_DSI_CLKCTRL		(0x010)
#define MIPI_DSI_TIMEOUT		(0x014)
#define MIPI_DSI_CONFIG			(0x018)
#define MIPI_DSI_ESCMODE		(0x01c)
#define MIPI_DSI_MDRESOL		(0x020)
#define MIPI_DSI_MVPORCH		(0x024)
#define MIPI_DSI_MHPORCH		(0x028)
#define MIPI_DSI_MSYNC			(0x02c)
#define MIPI_DSI_SDRESOL		(0x030)
#define MIPI_DSI_INTSRC			(0x034)
#define MIPI_DSI_INTMSK			(0x038)
#define MIPI_DSI_PKTHDR			(0x03c)
#define MIPI_DSI_PAYLOAD		(0x040)
#define MIPI_DSI_RXFIFO			(0x044)
#define MIPI_DSI_FIFOTHLD		(0x048)
#define MIPI_DSI_FIFOCTRL		(0x04c)
#define MIPI_DSI_MEMACCHR		(0x050)
#define MIPI_DSI_MULTI_PKT		(0x078)
#define MIPI_DSI_PLLCTRL_1G		(0x090)
#define MIPI_DSI_PLLCTRL		(0x094)
#define MIPI_DSI_PLLCTRL1		(0x098)
#define MIPI_DSI_PLLCTRL2		(0x09c)
#define MIPI_DSI_PLLTMR			(0x0a0)
#define MIPI_DSI_PHYCTRL_B1		(0x0a4)
#define MIPI_DSI_PHYCTRL_B2		(0x0a8)
#define MIPI_DSI_PHYCTRL_M1		(0x0a8)
#define MIPI_DSI_PHYCTRL_M2		(0x0ac)
#define MIPI_DSI_PHYTIMING		(0x0b4)
#define MIPI_DSI_PHYTIMING1		(0x0b8)
#define MIPI_DSI_PHYTIMING2		(0x0bc)

#define MIPI_DSI_SWRST_SWRST		(0x1 << 0)
#define MIPI_DSI_SWRST_FUNCRST		(0x1 << 16)
#define MIPI_DSI_MAIN_HRESOL(x)		(((x) & 0x7ff) << 0)
#define MIPI_DSI_MAIN_VRESOL(x)		(((x) & 0x7ff) << 16)
#define MIPI_DSI_MAIN_STANDBY(x)	(((x) & 0x1) << 31)
#define MIPI_DSI_MAIN_VBP(x)		(((x) & 0x7ff) << 0)
#define MIPI_DSI_STABLE_VFP(x)		(((x) & 0x7ff) << 16)
#define MIPI_DSI_CMDALLOW(x)		(((x) & 0xf) << 28)
#define MIPI_DSI_MAIN_HBP(x)		(((x) & 0xffff) << 0)
#define MIPI_DSI_MAIN_HFP(x)		(((x) & 0xffff) << 16)
#define MIPI_DSI_MAIN_VSA(x)		(((x) & 0x3ff) << 22)
#define MIPI_DSI_MAIN_HSA(x)		(((x) & 0xffff) << 0)

#define MIPI_DSI_LANE_EN(x)		(((x) & 0x1f) << 0)
#define MIPI_DSI_NUM_OF_DATALANE(x)	(((x) & 0x3) << 5)
#define MIPI_DSI_SUB_PIX_FORMAT(x)	(((x) & 0x7) << 8)
#define MIPI_DSI_MAIN_PIX_FORMAT(x)	(((x) & 0x7) << 12)
#define MIPI_DSI_SUB_VC(x)		(((x) & 0x3) << 16)
#define MIPI_DSI_MAIN_VC(x)		(((x) & 0x3) << 18)
#define MIPI_DSI_HSA_DISABLE_MODE(x)	(((x) & 0x1) << 20)
#define MIPI_DSI_HBP_DISABLE_MODE(x)	(((x) & 0x1) << 21)
#define MIPI_DSI_HFP_DISABLE_MODE(x)	(((x) & 0x1) << 22)
#define MIPI_DSI_HSE_DISABLE_MODE(x)	(((x) & 0x1) << 23)
#define MIPI_DSI_AUTO_MODE(x)		(((x) & 0x1) << 24)
#define MIPI_DSI_VIDEO_MODE(x)		(((x) & 0x1) << 25)
#define MIPI_DSI_BURST_MODE(x)		(((x) & 0x1) << 26)
#define MIPI_DSI_SYNC_IN_FORM(x)	(((x) & 0x1) << 27)
#define MIPI_DSI_EOT_R03(x)		(((x) & 0x1) << 28)
#define MIPI_DSI_MFLUSH_VS(x)		(((x) & 0x1) << 29)

#define MIPI_DSI_DP_DN_SWAP_DATA	(0x1 << 24)
#define MIPI_DSI_PLL_EN(x)		(((x) & 0x1) << 23)
#define MIPI_DSI_PMS(x)			(((x) & 0x7ffff) << 1)

#define MIPI_DSI_TX_REQUEST_HSCLK(x)	(((x) & 0x1) << 31)
#define MIPI_DSI_DPHY_SEL(x)		(((x) & 0x1) << 29)
#define MIPI_DSI_ESC_CLK_EN(x)		(((x) & 0x1) << 28)
#define MIPI_DSI_PLL_BYPASS(x)		(((x) & 0x1) << 27)
#define MIPI_DSI_BYTE_CLK_SRC(x)	(((x) & 0x3) << 25)
#define MIPI_DSI_BYTE_CLK_EN(x)		(((x) & 0x1) << 24)
#define MIPI_DSI_LANE_ESC_CLK_EN(x)	(((x) & 0x1f) << 19)

#define MIPI_DSI_FORCE_STOP_STATE(x)	(((x) & 0x1) << 20)

#define MIPI_DSI_M_TLPXCTL(x)		(((x) & 0xff) << 8)
#define MIPI_DSI_M_THSEXITCTL(x)	(((x) & 0xff) << 0)

#define MIPI_DSI_M_TCLKPRPRCTL(x)	(((x) & 0xff) << 24)
#define MIPI_DSI_M_TCLKZEROCTL(x)	(((x) & 0xff) << 16)
#define MIPI_DSI_M_TCLKPOSTCTL(x)	(((x) & 0xff) << 8)
#define MIPI_DSI_M_TCLKTRAILCTL(x)	(((x) & 0xff) << 0)

#define MIPI_DSI_M_THSPRPRCTL(x)	(((x) & 0xff) << 16)
#define MIPI_DSI_M_THSZEROCTL(x)	(((x) & 0xff) << 8)
#define MIPI_DSI_M_THSTRAILCTL(x)	(((x) & 0xff) << 0)

#define MIPI_DSI_PLL_STABLE(x)		(((x) & 0x1) << 31)
#define MIPI_DSI_TX_READY_HS_CLK(x)	(((x) & 0x1) << 10)
#define MIPI_DSI_ULPS_CLK(x)		(((x) & 0x1) << 9)
#define MIPI_DSI_STOP_STATE_CLK(x)	(((x) & 0x1) << 8)
#define MIPI_DSI_ULPS_DAT(x)		(((x) & 0xf) << 4)
#define MIPI_DSI_STOP_STATE_DAT(x)	(((x) & 0xf) << 0)

#define INTSRC_SFR_PL_FIFO_EMPTY	(0x1 << 29)
#define INTSRC_SFR_PH_FIFO_EMPTY	(0x1 << 28)
#define INTSRC_RX_DATA_DONE		(0x1 << 18)
#define INTMSK_SFR_PL_FIFO_EMPTY	(0x1 << 29)
#define INTMSK_SFR_PH_FIFO_EMPTY	(0x1 << 28)
#define INTMSK_RX_DATA_DONE		(0x1 << 18)

#define MIPI_DSI_STOP_STATE_CNT(x)	(((x) & 0x7ff) << 21)
#define MIPI_DSI_CMD_LPDT		(0x1 << 7)
#define MIPI_DSI_TX_LPDT		(0x1 << 6)

#endif