aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/intel/leafhill/brd_gpio.h
diff options
context:
space:
mode:
authorBrenton Dong <brenton.m.dong@intel.com>2017-01-04 16:39:43 -0700
committerMartin Roth <martinroth@google.com>2017-01-24 18:12:47 +0100
commitdcc0aa84fa20eaf8feefb21d1662d4716c64ad98 (patch)
tree47c981a0978a89335dbaaeab752046c91db6e7b1 /src/mainboard/intel/leafhill/brd_gpio.h
parentd37fa8d84dc368aa02fa28134f2b7a38d2e3cdf9 (diff)
mainboard/intel/leafhill: initial leafhill board changes
This commit makes the initial changes to support the Intel Leaf Hill CRB with Apollo Lake silicon. Memory parameters and some GPIOs are set. The google/reef directory is used as a template, and the same IFWI stitching process as reef is used to generate a bootable image. Apollo Lake silicon requires a boot media region called IFWI which includes assets such as CSE firmware, PMC microcode, CPU microcode, and boot firmware. Change-Id: Id92f0458548e3054d86f5faa8152d58d902f4418 Signed-off-by: Brenton Dong <brenton.m.dong@intel.com> Reviewed-on: https://review.coreboot.org/18039 Tested-by: build bot (Jenkins) Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Diffstat (limited to 'src/mainboard/intel/leafhill/brd_gpio.h')
-rw-r--r--src/mainboard/intel/leafhill/brd_gpio.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/mainboard/intel/leafhill/brd_gpio.h b/src/mainboard/intel/leafhill/brd_gpio.h
new file mode 100644
index 0000000000..33b839bbca
--- /dev/null
+++ b/src/mainboard/intel/leafhill/brd_gpio.h
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015-2016 Intel Corporation. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <soc/gpio.h>
+
+#if ENV_ROMSTAGE
+
+static const struct pad_config gpio_table[] = {
+ PAD_CFG_NF(GPIO_134, NATIVE, DEEP, NF2), /* ISH_I2C0_SDA/IO-OD */
+ PAD_CFG_NF(GPIO_135, NATIVE, DEEP, NF2), /* ISH_I2C0_SCL/IO-OD */
+ PAD_CFG_NF(GPIO_136, NATIVE, DEEP, NF2), /* ISH_I2C1_SDA/IO-OD */
+ PAD_CFG_NF(GPIO_137, NATIVE, DEEP, NF2), /* ISH_I2C1_SCL/IO-OD */
+
+ PAD_CFG_NF(GPIO_0, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_1, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_2, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_3, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_4, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_5, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_6, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_7, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(GPIO_8, NATIVE, DEEP, NF1),
+
+ /* EXP_I2C_SDA and I2C_PSS_SDA and I2C_2_SDA_IOEXP */
+ PAD_CFG_NF(GPIO_7, NATIVE, DEEP, NF1),
+ /* EXP_I2C_SCL and I2C_PSS_SCL and I2C_2_SCL_IOEXP */
+ PAD_CFG_NF(GPIO_8, NATIVE, DEEP, NF1),
+
+ PAD_CFG_GPO(GPIO_152, 0, DEEP), /* PERST# */
+ PAD_CFG_GPO(GPIO_19, 1, DEEP), /* PFET */
+ PAD_CFG_GPO(GPIO_13, 0, DEEP), /* PERST# */
+ PAD_CFG_GPO(GPIO_17, 1, DEEP), /* PFET */
+ PAD_CFG_GPO(GPIO_15, 0, DEEP), /* PERST# */
+
+ PAD_CFG_NF(GPIO_210, NATIVE, DEEP, NF1), /* CLKREQ# */
+
+ PAD_CFG_NF(SMB_CLK, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(SMB_DATA, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_ILB_SERIRQ, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_CLKOUT0, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_CLKOUT1, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_AD0, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_AD1, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_AD2, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_AD3, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_CLKRUNB, NATIVE, DEEP, NF1),
+ PAD_CFG_NF(LPC_FRAMEB, NATIVE, DEEP, NF1),
+};
+
+#endif