summaryrefslogtreecommitdiffstats
path: root/src/mainboard/prodrive/atlas/early_gpio.c
blob: 70f28961aa7492cc8db85cd53fe3985d094b7c43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* SPDX-License-Identifier: GPL-2.0-only */

#include <soc/gpio.h>

#include "gpio.h"

/* Early pad configuration in bootblock */
static const struct pad_config early_gpio_table[] = {
	/* SMB_CLK */
	PAD_CFG_NF(GPP_C0, NONE, DEEP, NF1),
	/* SMB_DATA */
	PAD_CFG_NF(GPP_C1, NONE, DEEP, NF1),

	/* EC_SMI_N */
	PAD_CFG_GPI(GPP_E7, NONE, DEEP),

	/* PCH HSID */
	PAD_CFG_GPI(GPP_A8, NONE, DEEP),
	PAD_CFG_GPI(GPP_F19, NONE, DEEP),
	PAD_CFG_GPI(GPP_H19, NONE, DEEP),
	PAD_CFG_GPI(GPP_H23, NONE, DEEP),

	/* UART0 RX */
	PAD_CFG_NF(GPP_H10, NONE, DEEP, NF2),
	/* UART0 TX */
	PAD_CFG_NF(GPP_H11, NONE, DEEP, NF2),
	/* UART1 RX */
	PAD_CFG_NF(GPP_D17, NONE, DEEP, NF1),
	/* UART1 TX */
	PAD_CFG_NF(GPP_D18, NONE, DEEP, NF1),

	PAD_CFG_GPO(GPP_E8, 1, PLTRST),     /* PERST_CB_RESET_N */
};

void configure_early_gpio_pads(void)
{
	gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
}