Sheng-Liang Pan | 465fbbe | 2023-05-03 17:21:43 +0800 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| 2 | |
| 3 | #include <baseboard/gpio.h> |
| 4 | #include <baseboard/variants.h> |
| 5 | |
| 6 | /* Pad configuration in ramstage */ |
| 7 | static const struct pad_config gpio_table[] = { |
| 8 | /* A11 : TOUCH_RPT_EN */ |
| 9 | PAD_NC(GPP_A11, NONE), |
| 10 | /* A12 : USB_OC1_N */ |
| 11 | PAD_CFG_NF(GPP_A12, NONE, DEEP, NF1), |
| 12 | /* A13 : USB_OC2_N */ |
| 13 | PAD_CFG_NF(GPP_A13, NONE, DEEP, NF1), |
| 14 | /* A14 : USB_OC3_N */ |
| 15 | PAD_CFG_NF(GPP_A14, NONE, DEEP, NF1), |
| 16 | /* A18 : USB_OC0_N */ |
| 17 | PAD_CFG_NF(GPP_A18, NONE, DEEP, NF1), |
| 18 | |
| 19 | /* B9 : LAN_CLKREQ_ODL */ |
| 20 | PAD_CFG_NF(GPP_B9, NONE, DEEP, NF1), |
| 21 | |
| 22 | /* D2 : PWM_PP3300_BUZZER */ |
| 23 | PAD_CFG_GPO(GPP_D2, 1, DEEP), |
| 24 | /* D4 : LAN_PE_ISOLATE_ODL_R */ |
| 25 | PAD_CFG_GPO(GPP_D4, 1, DEEP), |
| 26 | /* D5 : TOUCH_RESET_L */ |
| 27 | PAD_NC(GPP_D5, NONE), |
| 28 | /* D6 : EN_PP3300_TOUCH_S0 */ |
| 29 | PAD_NC(GPP_D6, NONE), |
| 30 | /* D17 : LAN_PERST_L */ |
| 31 | PAD_CFG_GPO(GPP_D17, 1, PLTRST), |
| 32 | /* D19 : WWAN_WLAN_COEX1 */ |
| 33 | PAD_NC(GPP_D19, NONE), |
| 34 | /* D20 : WWAN_WLAN_COEX2 */ |
| 35 | PAD_NC(GPP_D20, NONE), |
| 36 | |
| 37 | /* E13 : GPP_E13/DDI0_DDC_SCL */ |
| 38 | PAD_CFG_NF(GPP_E13, NONE, DEEP, NF1), |
| 39 | /* E14 : GPP_E14/DDI0_DDC_SDA */ |
| 40 | PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1), |
| 41 | /* E15 : GPP_E15/DDI1_DDC_SCL */ |
| 42 | PAD_CFG_NF(GPP_E15, NONE, DEEP, NF1), |
| 43 | /* E16 : GPP_E16/DDI1_DDC_SDA */ |
| 44 | PAD_CFG_NF(GPP_E16, NONE, DEEP, NF1), |
| 45 | |
| 46 | /* G0 : SD_CMD */ |
| 47 | PAD_NC(GPP_G0, NONE), |
| 48 | /* G1 : SD_DATA0 */ |
| 49 | PAD_NC(GPP_G1, NONE), |
| 50 | /* G2 : SD_DATA1 */ |
| 51 | PAD_NC(GPP_G2, NONE), |
| 52 | /* G3 : SD_DATA2 */ |
| 53 | PAD_NC(GPP_G3, NONE), |
| 54 | /* G4 : SD_DATA3 */ |
| 55 | PAD_NC(GPP_G4, NONE), |
| 56 | /* G5 : SD_CD_ODL */ |
| 57 | PAD_NC(GPP_G5, NONE), |
| 58 | /* G6 : SD_CLK */ |
| 59 | PAD_NC(GPP_G6, NONE), |
| 60 | /* G7 : SD_SDIO_WP */ |
| 61 | PAD_NC(GPP_G7, NONE), |
| 62 | |
| 63 | /* H4 : AP_I2C_TS_SDA */ |
| 64 | PAD_NC(GPP_H4, NONE), |
| 65 | /* H5 : AP_I2C_TS_SCL */ |
| 66 | PAD_NC(GPP_H5, NONE), |
| 67 | /* H6 : AP_I2C_CAM_SDA */ |
| 68 | PAD_NC(GPP_H6, NONE), |
| 69 | /* H7 : AP_I2C_CAM_SCL */ |
| 70 | PAD_NC(GPP_H7, NONE), |
| 71 | /* H15 : I2S_SPK_BCLK */ |
| 72 | PAD_NC(GPP_H15, NONE), |
| 73 | |
| 74 | /* R6 : I2S_SPK_LRCK */ |
| 75 | PAD_NC(GPP_R6, NONE), |
| 76 | /* R7 : I2S_SPK_AUDIO */ |
| 77 | PAD_NC(GPP_R7, NONE), |
| 78 | |
| 79 | /* S2 : DMIC1_CLK */ |
| 80 | PAD_NC(GPP_S2, NONE), |
| 81 | /* S3 : DMIC1_DATA */ |
| 82 | PAD_NC(GPP_S3, NONE), |
| 83 | /* S6 : DMIC0_CLK */ |
| 84 | PAD_NC(GPP_S6, NONE), |
| 85 | /* S7 : DMIC0_DATA */ |
| 86 | PAD_NC(GPP_S7, NONE), |
| 87 | }; |
| 88 | |
| 89 | const struct pad_config *variant_override_gpio_table(size_t *num) |
| 90 | { |
| 91 | *num = ARRAY_SIZE(gpio_table); |
| 92 | return gpio_table; |
| 93 | } |
Reka Norman | e486082 | 2023-10-09 10:57:17 +1100 | [diff] [blame^] | 94 | |
| 95 | static const gpio_t hpd_gpios[] = { |
| 96 | /* HDMI1 */ |
| 97 | GPP_A17, |
| 98 | /* HDMI2 */ |
| 99 | GPP_A16, |
| 100 | /* USB C0 */ |
| 101 | GPP_B23, |
| 102 | }; |
| 103 | |
| 104 | const gpio_t *variant_hpd_gpios(size_t *num) |
| 105 | { |
| 106 | *num = ARRAY_SIZE(hpd_gpios); |
| 107 | return hpd_gpios; |
| 108 | } |