xref: /aosp_15_r20/external/coreboot/src/soc/samsung/common/include/soc/dsim.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /* Register map for Exynos5 MIPI-DSIM */
4 
5 #ifndef SOC_SAMSUNG_COMMON_INCLUDE_SOC_DSIM_H
6 #define SOC_SAMSUNG_COMMON_INCLUDE_SOC_DSIM_H
7 
8 /* DSIM register map */
9 struct exynos5_dsim {
10 	unsigned int status;
11 	unsigned int swrst;
12 	unsigned int clkctrl;
13 	unsigned int timeout;
14 	unsigned int config;
15 	unsigned int escmode;
16 	unsigned int mdresol;
17 	unsigned int mvporch;
18 	unsigned int mhporch;
19 	unsigned int msync;
20 	unsigned int sdresol;
21 	unsigned int intsrc;
22 	unsigned int intmsk;
23 	unsigned int pkthdr;
24 	unsigned int payload;
25 	unsigned int rxfifo;
26 	unsigned int res1;
27 	unsigned int fifoctrl;
28 	unsigned int res2;
29 	unsigned int pllctrl;
30 	unsigned int plltmr;
31 	unsigned int phyacchr;
32 	unsigned int phyacchr1;
33 };
34 check_member(exynos5_dsim, phyacchr1, 0x54);
35 
36 #define ENABLE		1
37 #define DISABLE		0
38 
39 #define DSIM_SWRST			(1 << 0)
40 #define NUM_OF_DAT_LANE_IS_FOUR		(3 << 5)
41 #define DATA_LANE_0_EN			(1 << 0)
42 #define DATA_LANE_1_EN			(1 << 1)
43 #define DATA_LANE_2_EN			(1 << 2)
44 #define DATA_LANE_3_EN			(1 << 3)
45 #define CLK_LANE_EN			(1 << 4)
46 #define ENABLE_ALL_DATA_LANE		DATA_LANE_0_EN | \
47 					DATA_LANE_1_EN | \
48 					DATA_LANE_2_EN | \
49 					DATA_LANE_3_EN
50 #define	MAIN_PIX_FORMAT_OFFSET		12
51 #define RGB_565_16_BIT			0x4
52 #define VIDEO_MODE			(1 << 25)
53 #define BURST_MODE			(1 << 26)
54 
55 #define DSIM_PHYACCHR_AFC_EN		(1 << 14)
56 #define DSIM_PHYACCHR_AFC_CTL_OFFSET	5
57 
58 #define DSIM_PLLCTRL_PMS_OFFSET		1
59 #define DSIM_FREQ_BAND_OFFSET		24
60 
61 #define LANE_ESC_CLK_EN_ALL		(0x1f << 19)
62 #define BYTE_CLK_EN			(1 << 24)
63 #define DSIM_ESC_CLK_EN			(1 << 28)
64 #define TXREQUEST_HS_CLK_ON		(1 << 31)
65 
66 #define LP_MODE_ENABLE			(1 << 7)
67 #define STOP_STATE_CNT_OFFSET		21
68 
69 #define MAIN_VBP_OFFSET		0
70 #define STABLE_VFP_OFFSET	16
71 #define CMD_ALLOW_OFFSET	28
72 
73 #define MAIN_HBP_OFFSET		0
74 #define MAIN_HFP_OFFSET		16
75 
76 #define MAIN_HSA_OFFSET		0
77 #define MAIN_VSA_OFFSET		22
78 
79 #define MAIN_STANDBY		(1 << 31)
80 #define MAIN_VRESOL_OFFSET	16
81 #define MAIN_HRESOL_OFFSET	0
82 
83 #define SFR_FIFO_EMPTY		(1 << 29)
84 
85 #define DSIM_PLL_EN_SHIFT	(1 << 23)
86 #define PLL_STABLE		(1 << 31)
87 
88 #define DSIM_STOP_STATE_DAT(x)  (((x) & 0xf) << 0)
89 #define DSIM_STOP_STATE_CLK     (1 << 8)
90 #define DSIM_TX_READY_HS_CLK    (1 << 10)
91 
92 #endif /* SOC_SAMSUNG_COMMON_INCLUDE_SOC_DSIM_H */
93