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