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