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