summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/up/squared/bootblock.c6
-rw-r--r--src/mainboard/up/squared/gpio.h5
-rw-r--r--src/mainboard/up/squared/gpio_early.h39
3 files changed, 48 insertions, 2 deletions
diff --git a/src/mainboard/up/squared/bootblock.c b/src/mainboard/up/squared/bootblock.c
index fdaaaa182b..58064a1b2f 100644
--- a/src/mainboard/up/squared/bootblock.c
+++ b/src/mainboard/up/squared/bootblock.c
@@ -1,9 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <bootblock_common.h>
-#include <intelblocks/lpc_lib.h>
+#include <intelblocks/gpio.h>
+
+#include "gpio_early.h"
void bootblock_mainboard_init(void)
{
- lpc_configure_pads();
+ gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
}
diff --git a/src/mainboard/up/squared/gpio.h b/src/mainboard/up/squared/gpio.h
index 3182675052..037fa35609 100644
--- a/src/mainboard/up/squared/gpio.h
+++ b/src/mainboard/up/squared/gpio.h
@@ -725,6 +725,11 @@ static const struct pad_config gpio_table[] = {
/* SMB_DATA - SMB_DATA */
PAD_CFG_NF_IOSTANDBY_IGNORE(SMB_DATA, UP_20K, DEEP, NF1),
+ /*
+ * LPC
+ * Note: It's unconfirmed if this redundancy to the bootblock table is necessary.
+ */
+
/* LPC_ILB_SERIRQ - LPC_ILB_SERIRQ */
PAD_CFG_NF_IOSTANDBY_IGNORE(LPC_ILB_SERIRQ, UP_20K, DEEP, NF1),
diff --git a/src/mainboard/up/squared/gpio_early.h b/src/mainboard/up/squared/gpio_early.h
new file mode 100644
index 0000000000..fc7e7e8576
--- /dev/null
+++ b/src/mainboard/up/squared/gpio_early.h
@@ -0,0 +1,39 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <soc/gpio.h>
+
+#ifndef CFG_GPIO_EARLY_H
+#define CFG_GPIO_EARLY_H
+
+static const struct pad_config early_gpio_table[] = {
+ /* ------- GPIO Group South-West ------- */
+
+ /* LPC_ILB_SERIRQ - LPC_ILB_SERIRQ */
+ PAD_CFG_NF_IOSTANDBY_IGNORE(LPC_ILB_SERIRQ, UP_20K, DEEP, NF1),
+
+ /* LPC_CLKOUT0 - LPC_CLKOUT0 */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_CLKOUT0, NONE, DEEP, NF1, HIZCRx1, DISPUPD),
+
+ /* LPC_CLKOUT1 - LPC_CLKOUT1 */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_CLKOUT1, NONE, DEEP, NF1, HIZCRx1, DISPUPD),
+
+ /* LPC_AD0 - LPC_AD0 */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_AD0, UP_20K, DEEP, NF1, HIZCRx1, DISPUPD),
+
+ /* LPC_AD1 - LPC_AD1 */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_AD1, UP_20K, DEEP, NF1, HIZCRx1, DISPUPD),
+
+ /* LPC_AD2 - LPC_AD2 */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_AD2, UP_20K, DEEP, NF1, HIZCRx1, DISPUPD),
+
+ /* LPC_AD3 - LPC_AD3 */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_AD3, UP_20K, DEEP, NF1, HIZCRx1, DISPUPD),
+
+ /* LPC_CLKRUNB - LPC_CLKRUNB */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_CLKRUNB, UP_20K, DEEP, NF1, HIZCRx1, DISPUPD),
+
+ /* LPC_FRAMEB - LPC_FRAMEB */
+ PAD_CFG_NF_IOSSTATE_IOSTERM(LPC_FRAMEB, UP_20K, DEEP, NF1, HIZCRx1, DISPUPD),
+};
+
+#endif /* CFG_GPIO_EARLY_H */