mb/ocp/deltalake: use common driver to configure GPIO
Use the common driver to configure the GPIOs on the Delta Lake
platform as done for Tioga Pass in commit 89d2aa0
. The GPIO
settings are dumped by inteltool with original UEFI firmware,
then use intelp2m to generate header file.
TEST=Dump GPIO settings by Intel ITP and check if match gpio.h.
Change-Id: I8005d4caa2d87b6831099bfec3a40246224f3cb5
Signed-off-by: Bryant Ou <Bryant.Ou.Q@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43548
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
4a6c0a368e
commit
9ccd3114ff
|
@ -8,5 +8,5 @@ romstage-$(CONFIG_IPMI_KCS_ROMSTAGE) += ipmi.c
|
||||||
ramstage-y += ramstage.c ipmi.c
|
ramstage-y += ramstage.c ipmi.c
|
||||||
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += fadt.c
|
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += fadt.c
|
||||||
|
|
||||||
CPPFLAGS_common += -Isrc/mainboard/$(MAINBOARDDIR)/
|
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/include
|
||||||
CPPFLAGS_common += -I$(CONFIG_FSP_HEADER_PATH)
|
CPPFLAGS_common += -I$(CONFIG_FSP_HEADER_PATH)
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <soc/pcr_ids.h>
|
#include <soc/pcr_ids.h>
|
||||||
#include <superio/aspeed/ast2400/ast2400.h>
|
#include <superio/aspeed/ast2400/ast2400.h>
|
||||||
#include <superio/aspeed/common/aspeed.h>
|
#include <superio/aspeed/common/aspeed.h>
|
||||||
|
#include <cpxsp_dl_gpio.h>
|
||||||
|
|
||||||
#define ASPEED_SIO_PORT 0x2E
|
#define ASPEED_SIO_PORT 0x2E
|
||||||
|
|
||||||
|
@ -52,6 +53,9 @@ static uint8_t com_to_ast_sio(uint8_t com)
|
||||||
|
|
||||||
void bootblock_mainboard_early_init(void)
|
void bootblock_mainboard_early_init(void)
|
||||||
{
|
{
|
||||||
|
/* pre-configure Lewisburg PCH GPIO pads */
|
||||||
|
gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
|
||||||
|
|
||||||
/* Open IO windows */
|
/* Open IO windows */
|
||||||
enable_espi_lpc_io_windows();
|
enable_espi_lpc_io_windows();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,321 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
|
||||||
|
#ifndef CFG_GPIO_H
|
||||||
|
#define CFG_GPIO_H
|
||||||
|
|
||||||
|
#include <gpio.h>
|
||||||
|
|
||||||
|
/* Pad configuration was generated automatically using intelp2m utility */
|
||||||
|
static const struct pad_config gpio_table[] = {
|
||||||
|
/* ------- GPIO Community 0 ------- */
|
||||||
|
/* ------- GPIO Group GPP_A ------- */
|
||||||
|
PAD_CFG_NF(GPP_A0, NONE, RSMRST, NF1), /* RCIN# */
|
||||||
|
PAD_CFG_NF(GPP_A1, NONE, RSMRST, NF1), /* LAD0 */
|
||||||
|
PAD_CFG_NF(GPP_A2, NONE, RSMRST, NF1), /* LAD1 */
|
||||||
|
PAD_CFG_NF(GPP_A3, NONE, RSMRST, NF1), /* LAD2 */
|
||||||
|
PAD_CFG_NF(GPP_A4, NONE, RSMRST, NF1), /* LAD3 */
|
||||||
|
PAD_CFG_NF(GPP_A5, NONE, RSMRST, NF1), /* LFRAME# */
|
||||||
|
PAD_CFG_NF(GPP_A6, NONE, RSMRST, NF1), /* SERIRQ */
|
||||||
|
PAD_CFG_NF(GPP_A7, NONE, RSMRST, NF1), /* PIRQA# */
|
||||||
|
PAD_CFG_NF(GPP_A8, NONE, RSMRST, NF1), /* CLKRUN# */
|
||||||
|
PAD_CFG_NF(GPP_A9, NONE, RSMRST, NF1), /* CLKOUT_LPC0 */
|
||||||
|
PAD_NC(GPP_A10, NONE), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPP_A11, NONE, RSMRST, NF1), /* PME# */
|
||||||
|
PAD_CFG_GPI_SCI(GPP_A12, NONE, RSMRST, OFF, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A13, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A14, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A15, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A16, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A17, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_A18, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
/* GPP_A19 - RESERVED */
|
||||||
|
PAD_NC(GPP_A20, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A21, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A22, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A23, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Group GPP_B ------- */
|
||||||
|
PAD_NC(GPP_B0, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_B1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_B2, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B3, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B4, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B5, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B6, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_B7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_B8, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B9, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B10, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
/* GPP_B11 - RESERVED */
|
||||||
|
PAD_CFG_NF(GPP_B12, NONE, RSMRST, NF1), /* GLB_RST_WARN_N# */
|
||||||
|
PAD_CFG_NF(GPP_B13, NONE, RSMRST, NF1), /* PLTRST# */
|
||||||
|
PAD_CFG_NF(GPP_B14, NONE, RSMRST, NF1), /* SPKR */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B15, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B16, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B17, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B18, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B19, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPO(GPP_B20, 0, RSMRST), /* GPIO */
|
||||||
|
PAD_NC(GPP_B21, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_B22, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPP_B23, NONE, RSMRST, NF2), /* PCHHOT# */
|
||||||
|
|
||||||
|
/* ------- GPIO Group GPP_F ------- */
|
||||||
|
PAD_NC(GPP_F0, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F2, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F3, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_F4, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_F5, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_F6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F8, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F9, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F11, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F12, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F13, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F14, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F15, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F16, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F17, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F18, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F19, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F20, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F21, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F22, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_F23, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Community 1 ------- */
|
||||||
|
/* ------- GPIO Group GPP_C ------- */
|
||||||
|
/* GPP_C0 - RESERVED */
|
||||||
|
/* GPP_C1 - RESERVED */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C2, NONE, RSMRST, LEVEL, ACPI), /* GPIO */
|
||||||
|
/* GPP_C3 - RESERVED */
|
||||||
|
/* GPP_C4 - RESERVED */
|
||||||
|
PAD_CFG_NF(GPP_C5, NONE, RSMRST, NF1), /* SML0ALERT# */
|
||||||
|
/* GPP_C6 - RESERVED */
|
||||||
|
/* GPP_C7 - RESERVED */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C8, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C9, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_C10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_C11, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C12, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C13, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C14, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_C15, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_C16, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_C17, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_C18, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_C19, NONE), /* GPIO */
|
||||||
|
/* GPP_C20 - RESERVED */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C21, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_SMI(GPP_C22, NONE, RSMRST, LEVEL, INVERT), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_C23, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Group GPP_D ------- */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_D0, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_D1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D2, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D3, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPO(GPP_D4, 1, RSMRST), /* GPIO */
|
||||||
|
PAD_NC(GPP_D5, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D7, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_D8, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_D9, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D11, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D12, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D13, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D14, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D15, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_D16, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_D17, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_D18, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPO(GPP_D19, 0, RSMRST), /* GPIO */
|
||||||
|
PAD_NC(GPP_D20, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D21, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D22, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_D23, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Group GPP_E ------- */
|
||||||
|
PAD_NC(GPP_E0, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_E1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_E2, NONE), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPP_E3, NONE, RSMRST, NF1), /* CPU_GP0 */
|
||||||
|
PAD_NC(GPP_E4, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_E5, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_E6, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_E7, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_E8, NONE), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPP_E9, NONE, RSMRST, NF1), /* USB_OC0# */
|
||||||
|
PAD_NC(GPP_E10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_E11, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_E12, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Community 2 ------- */
|
||||||
|
/* -------- GPIO Group GPD -------- */
|
||||||
|
/* GPD0 - RESERVED */
|
||||||
|
PAD_CFG_NF(GPD1, NONE, RSMRST, NF1), /* ACPRESENT */
|
||||||
|
PAD_NC(GPD2, NONE), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPD3, NONE, RSMRST, NF1), /* PWRBTN# */
|
||||||
|
PAD_CFG_NF(GPD4, NONE, RSMRST, NF1), /* SLP_S3# */
|
||||||
|
PAD_CFG_NF(GPD5, NONE, RSMRST, NF1), /* SLP_S4# */
|
||||||
|
PAD_NC(GPD6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPD7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPD8, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPD9, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPD10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPD11, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Community 3 ------- */
|
||||||
|
/* ------- GPIO Group GPP_I ------- */
|
||||||
|
PAD_NC(GPP_I0, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I2, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I3, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I4, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I5, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I8, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I9, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_I10, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Community 4 ------- */
|
||||||
|
/* ------- GPIO Group GPP_J ------- */
|
||||||
|
PAD_NC(GPP_J0, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J2, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J3, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J4, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J5, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J8, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J9, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J11, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J12, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J13, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J14, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J15, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J16, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J17, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J18, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J19, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J20, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J21, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J22, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_J23, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Group GPP_K ------- */
|
||||||
|
PAD_NC(GPP_K0, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K2, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K3, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K4, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K5, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K8, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_K9, NONE), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPP_K10, NONE, RSMRST, NF1), /* PE_RST# */
|
||||||
|
|
||||||
|
/* ------- GPIO Community 5 ------- */
|
||||||
|
/* ------- GPIO Group GPP_G ------- */
|
||||||
|
PAD_NC(GPP_G0, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G1, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G2, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G3, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G4, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G5, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G8, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G9, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G11, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_G12, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_G13, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_G14, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_G15, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_G16, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPP_G17, NONE, RSMRST, NF1), /* ADR_COMPLETE */
|
||||||
|
PAD_CFG_NF(GPP_G18, NONE, RSMRST, NF1), /* NMI# */
|
||||||
|
PAD_CFG_NF(GPP_G19, NONE, RSMRST, NF1), /* SMI# */
|
||||||
|
/* GPP_G20 - RESERVED */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_G21, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_G22, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_G23, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Group GPP_H ------- */
|
||||||
|
PAD_NC(GPP_H0, NONE), /* GPIO */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_H1, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_H2, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H3, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H4, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H5, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H6, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H7, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H8, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H9, NONE), /* GPIO */
|
||||||
|
/* GPP_H10 - RESERVED */
|
||||||
|
/* GPP_H11 - RESERVED */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_H12, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
/* GPP_H13 - RESERVED */
|
||||||
|
/* GPP_H14 - RESERVED */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_H15, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
/* GPP_H16 - RESERVED */
|
||||||
|
/* GPP_H17 - RESERVED */
|
||||||
|
PAD_CFG_GPI_TRIG_OWN(GPP_H18, NONE, RSMRST, OFF, ACPI), /* GPIO */
|
||||||
|
PAD_NC(GPP_H19, NONE), /* GPIO */
|
||||||
|
PAD_CFG_NF(GPP_H20, NONE, RSMRST, NF2), /* SSATAXPCIE2 */
|
||||||
|
PAD_NC(GPP_H21, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H22, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_H23, NONE), /* GPIO */
|
||||||
|
|
||||||
|
/* ------- GPIO Group GPP_L ------- */
|
||||||
|
/* GPP_L0 - RESERVED */
|
||||||
|
PAD_CFG_NF(GPP_L1, NONE, DEEP, NF1), /* CSME_INTR_OUT */
|
||||||
|
PAD_CFG_NF(GPP_L2, NONE, RSMRST, NF1), /* TESTCH0_D0 */
|
||||||
|
PAD_CFG_NF(GPP_L3, NONE, RSMRST, NF1), /* TESTCH0_D1 */
|
||||||
|
PAD_CFG_NF(GPP_L4, NONE, RSMRST, NF1), /* TESTCH0_D2 */
|
||||||
|
PAD_CFG_NF(GPP_L5, NONE, RSMRST, NF1), /* TESTCH0_D3 */
|
||||||
|
PAD_CFG_NF(GPP_L6, NONE, RSMRST, NF1), /* TESTCH0_D4 */
|
||||||
|
PAD_CFG_NF(GPP_L7, NONE, RSMRST, NF1), /* TESTCH0_D5 */
|
||||||
|
PAD_CFG_NF(GPP_L8, NONE, RSMRST, NF1), /* TESTCH0_D6 */
|
||||||
|
PAD_CFG_NF(GPP_L9, NONE, RSMRST, NF1), /* TESTCH0_D7 */
|
||||||
|
PAD_CFG_NF(GPP_L10, NONE, RSMRST, NF1), /* TESTCH0_CLK */
|
||||||
|
PAD_NC(GPP_L11, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L12, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L13, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L14, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L15, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L16, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L17, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L18, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_L19, NONE), /* GPIO */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Early pad configuration in bootblock */
|
||||||
|
static const struct pad_config early_gpio_table[] = {
|
||||||
|
/* ------- GPIO Community 0 ------- */
|
||||||
|
/* ------- GPIO Group GPP_A ------- */
|
||||||
|
PAD_CFG_NF(GPP_A0, NONE, RSMRST, NF1), /* RCIN# */
|
||||||
|
PAD_CFG_NF(GPP_A1, NONE, RSMRST, NF1), /* LAD0 */
|
||||||
|
PAD_CFG_NF(GPP_A2, NONE, RSMRST, NF1), /* LAD1 */
|
||||||
|
PAD_CFG_NF(GPP_A3, NONE, RSMRST, NF1), /* LAD2 */
|
||||||
|
PAD_CFG_NF(GPP_A4, NONE, RSMRST, NF1), /* LAD3 */
|
||||||
|
PAD_CFG_NF(GPP_A5, NONE, RSMRST, NF1), /* LFRAME# */
|
||||||
|
PAD_CFG_NF(GPP_A6, NONE, RSMRST, NF1), /* SERIRQ */
|
||||||
|
PAD_CFG_NF(GPP_A8, NONE, RSMRST, NF1), /* CLKRUN# */
|
||||||
|
PAD_CFG_NF(GPP_A9, NONE, RSMRST, NF1), /* CLKOUT_LPC0 */
|
||||||
|
PAD_NC(GPP_A10, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A13, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A14, NONE), /* GPIO */
|
||||||
|
PAD_NC(GPP_A15, NONE), /* GPIO */
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* CFG_GPIO_H */
|
|
@ -14,6 +14,7 @@
|
||||||
#include <device/pci_ops.h>
|
#include <device/pci_ops.h>
|
||||||
#include <soc/util.h>
|
#include <soc/util.h>
|
||||||
#include <hob_iiouds.h>
|
#include <hob_iiouds.h>
|
||||||
|
#include <cpxsp_dl_gpio.h>
|
||||||
|
|
||||||
#include "ipmi.h"
|
#include "ipmi.h"
|
||||||
|
|
||||||
|
@ -222,6 +223,8 @@ static void mainboard_enable(struct device *dev)
|
||||||
|
|
||||||
void mainboard_silicon_init_params(FSPS_UPD *params)
|
void mainboard_silicon_init_params(FSPS_UPD *params)
|
||||||
{
|
{
|
||||||
|
/* configure Lewisburg PCH GPIO controller after FSP-M */
|
||||||
|
gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mainboard_final(void *chip_info)
|
static void mainboard_final(void *chip_info)
|
||||||
|
|
Loading…
Reference in New Issue