xref: /rk3399_rockchip-uboot/drivers/video/drm/display-serdes/maxim/maxim-max96755.h (revision fb0c3269ba4cd093780cb50afda01fe0d30baa4b)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * maxim-max96755.h -- register define for max96755 chip
4  *
5  * Copyright (c) 2023-2028 Rockchip Electronics Co. Ltd.
6  *
7  * Author: luowei <lw@rock-chips.com>
8  *
9  */
10 
11 #ifndef __MFD_SERDES_MAXIM_MAX96755_H__
12 #define __MFD_SERDES_MAXIM_MAX96755_H__
13 
14 #include <linux/bitfield.h>
15 
16 #define GPIO_A_REG(gpio)	(0x02be + ((gpio) * 3))
17 #define GPIO_B_REG(gpio)	(0x02bf + ((gpio) * 3))
18 #define GPIO_C_REG(gpio)	(0x02c0 + ((gpio) * 3))
19 
20 /* 0000h */
21 #define DEV_ADDR		GENMASK(7, 1)
22 #define CFG_BLOCK		BIT(0)
23 
24 /* 0001h */
25 #define IIC_2_EN		BIT(7)
26 #define IIC_1_EN		BIT(6)
27 #define DIS_REM_CC		BIT(4)
28 #define TX_RATE			GENMASK(3, 2)
29 
30 /* 0002h */
31 #define VID_TX_EN_U		BIT(7)
32 #define VID_TX_EN_Z		BIT(6)
33 #define VID_TX_EN_Y		BIT(5)
34 #define VID_TX_EN_X		BIT(4)
35 #define AUD_TX_EN_Y		BIT(3)
36 #define AUD_TX_EN_X		BIT(2)
37 
38 /* 0003h */
39 #define UART_2_EN		BIT(5)
40 #define UART_1_EN		BIT(4)
41 
42 /* 0004h */
43 #define GMSL2_B			BIT(7)
44 #define GMSL2_A			BIT(6)
45 #define LINK_EN_B		BIT(5)
46 #define LINK_EN_A		BIT(4)
47 #define AUD_TX_SRC_Y	BIT(1)
48 #define AUD_TX_SRC_X	BIT(0)
49 
50 /* 0005h */
51 #define LOCK_EN			BIT(7)
52 #define ERRB_EN			BIT(6)
53 #define PU_LF3			BIT(3)
54 #define PU_LF2			BIT(2)
55 #define PU_LF1			BIT(1)
56 #define PU_LF0			BIT(0)
57 
58 /* 0006h */
59 #define RCLKEN			BIT(5)
60 
61 /* 0010h */
62 #define RESET_ALL		BIT(7)
63 #define RESET_LINK		BIT(6)
64 #define RESET_ONESHOT		BIT(5)
65 #define AUTO_LINK		BIT(4)
66 #define SLEEP			BIT(3)
67 #define REG_ENABLE		BIT(2)
68 #define LINK_CFG		GENMASK(1, 0)
69 
70 /* 0013h */
71 #define LINK_MODE		GENMASK(5, 4)
72 #define	LOCKED			BIT(3)
73 
74 /* 0026h */
75 #define LF_1			GENMASK(6, 4)
76 #define LF_0			GENMASK(2, 0)
77 
78 /* 0048h */
79 #define REM_MS_EN		BIT(5)
80 #define LOC_MS_EN		BIT(4)
81 
82 /* 0053h */
83 #define TX_SPLIT_MASK_B		BIT(5)
84 #define TX_SPLIT_MASK_A		BIT(4)
85 #define TX_STR_SEL		GENMASK(1, 0)
86 
87 /* 0140h */
88 #define AUD_RX_EN		BIT(0)
89 
90 /* 0170h */
91 #define SPI_EN			BIT(0)
92 
93 /* 01e5h */
94 #define PATGEN_MODE		GENMASK(1, 0)
95 
96 /* 02beh */
97 #define RES_CFG			BIT(7)
98 #define TX_PRIO			BIT(6)
99 #define TX_COMP_EN		BIT(5)
100 #define GPIO_OUT		BIT(4)
101 #define GPIO_IN			BIT(3)
102 #define GPIO_RX_EN		BIT(2)
103 #define GPIO_TX_EN		BIT(1)
104 #define GPIO_OUT_DIS		BIT(0)
105 
106 /* 02bfh */
107 #define PULL_UPDN_SEL		GENMASK(7, 6)
108 #define OUT_TYPE		BIT(5)
109 #define GPIO_TX_ID		GENMASK(4, 0)
110 
111 /* 02c0h */
112 #define OVR_RES_CFG		BIT(7)
113 #define GPIO_RX_ID		GENMASK(4, 0)
114 
115 /* 0311h */
116 #define START_PORTBU		BIT(7)
117 #define START_PORTBZ		BIT(6)
118 #define START_PORTBY		BIT(5)
119 #define START_PORTBX		BIT(4)
120 #define START_PORTAU		BIT(3)
121 #define START_PORTAZ		BIT(2)
122 #define START_PORTAY		BIT(1)
123 #define START_PORTAX		BIT(0)
124 
125 /* 032ah */
126 #define DV_LOCK			BIT(7)
127 #define DV_SWP_AB		BIT(6)
128 #define LINE_ALT		BIT(5)
129 #define DV_CONV			BIT(2)
130 #define DV_SPL			BIT(1)
131 #define DV_EN			BIT(0)
132 
133 /* 0330h */
134 #define PHY_CONFIG		GENMASK(2, 0)
135 #define MIPI_RX_RESET		BIT(3)
136 
137 /* 0331h */
138 #define NUM_LANES		GENMASK(1, 0)
139 
140 /* 0385h */
141 #define DPI_HSYNC_WIDTH_L	GENMASK(7, 0)
142 
143 /* 0386h */
144 #define DPI_VYSNC_WIDTH_L	GENMASK(7, 0)
145 
146 /* 0387h */
147 #define	DPI_HSYNC_WIDTH_H	GENMASK(3, 0)
148 #define DPI_VSYNC_WIDTH_H	GENMASK(7, 4)
149 
150 /* 03a4h */
151 #define DPI_DE_SKEW_SEL		BIT(1)
152 #define DPI_DESKEW_EN		BIT(0)
153 
154 /* 03a5h */
155 #define DPI_VFP_L		GENMASK(7, 0)
156 
157 /* 03a6h */
158 #define DPI_VFP_H		GENMASK(3, 0)
159 #define DPI_VBP_L		GENMASK(7, 4)
160 
161 /* 03a7h */
162 #define DPI_VBP_H		GENMASK(7, 0)
163 
164 /* 03a8h */
165 #define DPI_VACT_L		GENMASK(7, 0)
166 
167 /* 03a9h */
168 #define DPI_VACT_H		GENMASK(3, 0)
169 
170 /* 03aah */
171 #define DPI_HFP_L		GENMASK(7, 0)
172 
173 /* 03abh */
174 #define DPI_HFP_H		GENMASK(3, 0)
175 #define DPI_HBP_L		GENMASK(7, 4)
176 
177 /* 03ach */
178 #define DPI_HBP_H		GENMASK(7, 0)
179 
180 /* 03adh */
181 #define DPI_HACT_L		GENMASK(7, 0)
182 
183 /* 03aeh */
184 #define DPI_HACT_H		GENMASK(4, 0)
185 
186 /* 055dh */
187 #define VS_DET			BIT(5)
188 #define HS_DET			BIT(4)
189 
190 enum link_mode {
191 	DUAL_LINK,
192 	LINKA,
193 	LINKB,
194 	SPLITTER_MODE,
195 };
196 
197 #endif
198