summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Zhang <jonzhang@fb.com>2021-02-22 12:17:30 -0800
committerAngel Pons <th3fanbus@gmail.com>2021-03-10 19:25:05 +0000
commit019c0049a27c7eea0b92e8e5af3e5fb992beb315 (patch)
tree497beae7924b36f28080cecee96e9cce7077f13b
parent2f32b5b5d0e0803ca1782d285f16cfae030c89d0 (diff)
downloadcoreboot-019c0049a27c7eea0b92e8e5af3e5fb992beb315.tar.gz
coreboot-019c0049a27c7eea0b92e8e5af3e5fb992beb315.tar.bz2
coreboot-019c0049a27c7eea0b92e8e5af3e5fb992beb315.zip
mb/fb/watson: enable IPMI_KCS for watson_v2
For watson_v2 mainboard variant: * Enable IPMI_KCS in config. * In early_mainboard_romstage_entry(), enable LPC IO ports for IPMI over KCS. Signed-off-by: Ravi Rama <rrama@arista.com> Signed-off-by: Jonathan Zhang <jonzhang@fb.com> Change-Id: Ie0e718b44889678c49f3d61cccd0e33b306fc6f3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/51310 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Christian Walter <christian.walter@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/facebook/watson/Kconfig1
-rw-r--r--src/mainboard/facebook/watson/include/variants.h1
-rw-r--r--src/mainboard/facebook/watson/romstage.c7
-rw-r--r--src/mainboard/facebook/watson/variants/watson_v2/romstage.c12
4 files changed, 20 insertions, 1 deletions
diff --git a/src/mainboard/facebook/watson/Kconfig b/src/mainboard/facebook/watson/Kconfig
index 2ebc0206cf24..919117d6537b 100644
--- a/src/mainboard/facebook/watson/Kconfig
+++ b/src/mainboard/facebook/watson/Kconfig
@@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS
select HAVE_ACPI_TABLES
select HAVE_OPTION_TABLE
select INTEGRATED_UART
+ select IPMI_KCS if BOARD_FACEBOOK_WATSON_V2
select SERIRQ_CONTINUOUS_MODE
select MAINBOARD_USES_IFD_GBE_REGION
select MAINBOARD_HAS_LPC_TPM
diff --git a/src/mainboard/facebook/watson/include/variants.h b/src/mainboard/facebook/watson/include/variants.h
index 46989168c98a..d364b8b0077b 100644
--- a/src/mainboard/facebook/watson/include/variants.h
+++ b/src/mainboard/facebook/watson/include/variants.h
@@ -21,5 +21,6 @@
#include <soc/romstage.h>
void variant_romstage_fsp_init_params(UPD_DATA_REGION *UpdData);
+void variant_early_mainboard_romstage_entry(void);
#endif /* BASEBOARD_VARIANTS_H */
diff --git a/src/mainboard/facebook/watson/romstage.c b/src/mainboard/facebook/watson/romstage.c
index b8df79803192..d65ac0ef5179 100644
--- a/src/mainboard/facebook/watson/romstage.c
+++ b/src/mainboard/facebook/watson/romstage.c
@@ -25,7 +25,7 @@
*/
void early_mainboard_romstage_entry(void)
{
-
+ variant_early_mainboard_romstage_entry();
}
/**
@@ -52,3 +52,8 @@ __weak void variant_romstage_fsp_init_params(UPD_DATA_REGION *UpdData)
{
}
+
+__weak void variant_early_mainboard_romstage_entry(void)
+{
+
+}
diff --git a/src/mainboard/facebook/watson/variants/watson_v2/romstage.c b/src/mainboard/facebook/watson/variants/watson_v2/romstage.c
index 55f30255e8ec..2e571b971350 100644
--- a/src/mainboard/facebook/watson/variants/watson_v2/romstage.c
+++ b/src/mainboard/facebook/watson/variants/watson_v2/romstage.c
@@ -15,6 +15,9 @@
* GNU General Public License for more details.
*/
+#include <device/pci_ops.h>
+#include <soc/lpc.h>
+#include <soc/pci_devs.h>
#include <soc/romstage.h>
#include <variants.h>
@@ -46,3 +49,12 @@ void variant_romstage_fsp_init_params(UPD_DATA_REGION *UpdData)
UpdData->HotPlug_PchPciPort7 = 1;
UpdData->HotPlug_PchPciPort8 = 1;
}
+
+void variant_early_mainboard_romstage_entry(void)
+{
+ // Enable LPC IO ports 0xca2, 0xca8 for IPMI
+ pci_write_config32(PCH_DEV_LPC, LPC_GEN2_DEC,
+ (0 << 16) | ALIGN_DOWN(0xca2, 4) | 1);
+ pci_write_config32(PCH_DEV_LPC, LPC_GEN3_DEC,
+ (0 << 16) | ALIGN_DOWN(0xca8, 4) | 1);
+}