xref: /rk3399_rockchip-uboot/drivers/video/drm/display-serdes/gpio.h (revision fb0c3269ba4cd093780cb50afda01fe0d30baa4b)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * gpio.h -- GPIO for different serdes chip
4  *
5  * Copyright (c) 2023-2028 Rockchip Electronics Co. Ltd.
6  *
7  * Author: luowei <lw@rock-chips.com>
8  *
9  */
10 
11 #ifndef __SERDES_DISPLAY_GPIO_H__
12 #define __SERDES_DISPLAY_GPIO_H__
13 
14 enum serdes_parent {
15 	BU18TL82 = 0x1000,
16 	BU18RL82 = 0x1001,
17 	MAX96745 = 0x2000,
18 	MAX96752 = 0x2001,
19 	MAX96755 = 0x2003,
20 	MAX96722 = 0x2004,
21 	MAX96789 = 0x2005,
22 	RKX111 = 0x3000,
23 	RKX121 = 0x3001,
24 };
25 
26 enum serdes_type {
27 	TYPE_ID_INVALID = 0,
28 	TYPE_SER,
29 	TYPE_DES,
30 	TYPE_OTHER,
31 };
32 
33 enum reg_val_type {
34 	REG_16BIT_VAL_8IT = 0,
35 	REG_16BIT_VAL_16IT,
36 	REG_8BIT_VAL_8IT,
37 };
38 
39 enum serdes_bridge_type {
40 	TYPE_BRIDGE_PANEL = 0,
41 	TYPE_BRIDGE_BRIDGE,
42 };
43 
44 enum serdes_id {
45 	SERDES_ID_INVALID = 0,
46 
47 	ROHM_ID_BU18TL82,
48 	ROHM_ID_BU18RL82,
49 
50 	MAXIM_ID_MAX96745,
51 	MAXIM_ID_MAX96752,
52 	MAXIM_ID_MAX96755,
53 	MAXIM_ID_MAX96772,
54 	MAXIM_ID_MAX96789,
55 
56 	ROCKCHIP_ID_RKX111,
57 	ROCKCHIP_ID_RKX121,
58 
59 	NOVO_ID_NCA9539,
60 
61 	SERDES_NUM_ID,
62 };
63 
64 enum bu18tl82_gpio_list {
65 	ROHM_BU18TL82_GPIO0 = 0,
66 	ROHM_BU18TL82_GPIO1,
67 	ROHM_BU18TL82_GPIO2,
68 	ROHM_BU18TL82_GPIO3,
69 	ROHM_BU18TL82_GPIO4,
70 	ROHM_BU18TL82_GPIO5,
71 	ROHM_BU18TL82_GPIO6,
72 	ROHM_BU18TL82_GPIO7,
73 };
74 
75 enum bu18rl82_gpio_list {
76 	ROHM_BU18RL82_GPIO0 = 0,
77 	ROHM_BU18RL82_GPIO1,
78 	ROHM_BU18RL82_GPIO2,
79 	ROHM_BU18RL82_GPIO3,
80 	ROHM_BU18RL82_GPIO4,
81 	ROHM_BU18RL82_GPIO5,
82 	ROHM_BU18RL82_GPIO6,
83 	ROHM_BU18RL82_GPIO7,
84 };
85 
86 enum max96745_gpio_list {
87 	MAXIM_MAX96745_MFP0 = 0,
88 	MAXIM_MAX96745_MFP1,
89 	MAXIM_MAX96745_MFP2,
90 	MAXIM_MAX96745_MFP3,
91 	MAXIM_MAX96745_MFP4,
92 	MAXIM_MAX96745_MFP5,
93 	MAXIM_MAX96745_MFP6,
94 	MAXIM_MAX96745_MFP7,
95 	MAXIM_MAX96745_MFP8,
96 	MAXIM_MAX96745_MFP9,
97 	MAXIM_MAX96745_MFP10,
98 	MAXIM_MAX96745_MFP11,
99 	MAXIM_MAX96745_MFP12,
100 	MAXIM_MAX96745_MFP13,
101 	MAXIM_MAX96745_MFP14,
102 	MAXIM_MAX96745_MFP15,
103 	MAXIM_MAX96745_MFP16,
104 	MAXIM_MAX96745_MFP17,
105 	MAXIM_MAX96745_MFP18,
106 	MAXIM_MAX96745_MFP19,
107 	MAXIM_MAX96745_MFP20,
108 	MAXIM_MAX96745_MFP21,
109 	MAXIM_MAX96745_MFP22,
110 	MAXIM_MAX96745_MFP23,
111 	MAXIM_MAX96745_MFP24,
112 	MAXIM_MAX96745_MFP25,
113 };
114 
115 enum max96752_gpio_list {
116 	MAXIM_MAX96752_GPIO0 = 0,
117 	MAXIM_MAX96752_GPIO1,
118 	MAXIM_MAX96752_GPIO2,
119 	MAXIM_MAX96752_GPIO3,
120 	MAXIM_MAX96752_GPIO4,
121 	MAXIM_MAX96752_GPIO5,
122 	MAXIM_MAX96752_GPIO6,
123 	MAXIM_MAX96752_GPIO7,
124 	MAXIM_MAX96752_GPIO8,
125 	MAXIM_MAX96752_GPIO9,
126 	MAXIM_MAX96752_GPIO10,
127 	MAXIM_MAX96752_GPIO11,
128 	MAXIM_MAX96752_GPIO12,
129 	MAXIM_MAX96752_GPIO13,
130 	MAXIM_MAX96752_GPIO14,
131 	MAXIM_MAX96752_GPIO15,
132 };
133 
134 enum max96755_gpio_list {
135 	MAXIM_MAX96755_MFP0 = 0,
136 	MAXIM_MAX96755_MFP1,
137 	MAXIM_MAX96755_MFP2,
138 	MAXIM_MAX96755_MFP3,
139 	MAXIM_MAX96755_MFP4,
140 	MAXIM_MAX96755_MFP5,
141 	MAXIM_MAX96755_MFP6,
142 	MAXIM_MAX96755_MFP7,
143 	MAXIM_MAX96755_MFP8,
144 	MAXIM_MAX96755_MFP9,
145 	MAXIM_MAX96755_MFP10,
146 	MAXIM_MAX96755_MFP11,
147 	MAXIM_MAX96755_MFP12,
148 	MAXIM_MAX96755_MFP13,
149 	MAXIM_MAX96755_MFP14,
150 	MAXIM_MAX96755_MFP15,
151 	MAXIM_MAX96755_MFP16,
152 	MAXIM_MAX96755_MFP17,
153 	MAXIM_MAX96755_MFP18,
154 	MAXIM_MAX96755_MFP19,
155 	MAXIM_MAX96755_MFP20,
156 };
157 
158 enum max96722_gpio_list {
159 	MAXIM_MAX96772_GPIO0 = 0,
160 	MAXIM_MAX96772_GPIO1,
161 	MAXIM_MAX96772_GPIO2,
162 	MAXIM_MAX96772_GPIO3,
163 	MAXIM_MAX96772_GPIO4,
164 	MAXIM_MAX96772_GPIO5,
165 	MAXIM_MAX96772_GPIO6,
166 	MAXIM_MAX96772_GPIO7,
167 	MAXIM_MAX96772_GPIO8,
168 	MAXIM_MAX96772_GPIO9,
169 	MAXIM_MAX96772_GPIO10,
170 	MAXIM_MAX96772_GPIO11,
171 	MAXIM_MAX96772_GPIO12,
172 	MAXIM_MAX96772_GPIO13,
173 	MAXIM_MAX96772_GPIO14,
174 	MAXIM_MAX96772_GPIO15,
175 };
176 
177 enum max96789_gpio_list {
178 	MAXIM_MAX96789_MFP0 = 0,
179 	MAXIM_MAX96789_MFP1,
180 	MAXIM_MAX96789_MFP2,
181 	MAXIM_MAX96789_MFP3,
182 	MAXIM_MAX96789_MFP4,
183 	MAXIM_MAX96789_MFP5,
184 	MAXIM_MAX96789_MFP6,
185 	MAXIM_MAX96789_MFP7,
186 	MAXIM_MAX96789_MFP8,
187 	MAXIM_MAX96789_MFP9,
188 	MAXIM_MAX96789_MFP10,
189 	MAXIM_MAX96789_MFP11,
190 	MAXIM_MAX96789_MFP12,
191 	MAXIM_MAX96789_MFP13,
192 	MAXIM_MAX96789_MFP14,
193 	MAXIM_MAX96789_MFP15,
194 	MAXIM_MAX96789_MFP16,
195 	MAXIM_MAX96789_MFP17,
196 	MAXIM_MAX96789_MFP18,
197 	MAXIM_MAX96789_MFP19,
198 	MAXIM_MAX96789_MFP20,
199 };
200 
201 enum rkx111_gpio_list {
202 	ROCKCHIP_RKX111_GPIO0 = 0,
203 	ROCKCHIP_RKX111_GPIO1,
204 	ROCKCHIP_RKX111_GPIO2,
205 	ROCKCHIP_RKX111_GPIO3,
206 	ROCKCHIP_RKX111_GPIO4,
207 	ROCKCHIP_RKX111_GPIO5,
208 	ROCKCHIP_RKX111_GPIO6,
209 	ROCKCHIP_RKX111_GPIO7,
210 };
211 
212 enum rkx121_gpio_list {
213 	ROCKCHIP_RKX121_GPIO0 = 0,
214 	ROCKCHIP_RKX121_GPIO1,
215 	ROCKCHIP_RKX121_GPIO2,
216 	ROCKCHIP_RKX121_GPIO3,
217 	ROCKCHIP_RKX121_GPIO4,
218 	ROCKCHIP_RKX121_GPIO5,
219 	ROCKCHIP_RKX121_GPIO6,
220 	ROCKCHIP_RKX121_GPIO7,
221 };
222 
223 enum serdes_gpio_state {
224 	SERDES_GPIO_PULL_NONE = 0,
225 	SERDES_GPIO_PULL_DOWN,
226 	SERDES_GPIO_PULL_UP,
227 	SERDES_GPIO_DIR_IN,
228 	SERDES_GPIO_DIR_OUT,
229 	SERDES_GPIO_LEVEL_HIGH,
230 	SERDES_GPIO_LEVEL_LOW,
231 };
232 
233 enum nca9539_gpio_list {
234 	NOVO_NCA9539_GPIO0 = 0,
235 	NOVO_NCA9539_GPIO1,
236 	NOVO_NCA9539_GPIO2,
237 	NOVO_NCA9539_GPIO3,
238 	NOVO_NCA9539_GPIO4,
239 	NOVO_NCA9539_GPIO5,
240 	NOVO_NCA9539_GPIO6,
241 	NOVO_NCA9539_GPIO7,
242 
243 	NOVO_NCA9539_GPIO8,
244 	NOVO_NCA9539_GPIO9,
245 	NOVO_NCA9539_GPIO10,
246 	NOVO_NCA9539_GPIO11,
247 	NOVO_NCA9539_GPIO12,
248 	NOVO_NCA9539_GPIO13,
249 	NOVO_NCA9539_GPIO14,
250 	NOVO_NCA9539_GPIO15,
251 };
252 
253 #endif
254