Angel Pons has submitted this change. ( https://review.coreboot.org/c/coreboot/+/51310 )
Change subject: mb/fb/watson: enable IPMI_KCS for watson_v2 ......................................................................
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 --- M src/mainboard/facebook/watson/Kconfig M src/mainboard/facebook/watson/include/variants.h M src/mainboard/facebook/watson/romstage.c M src/mainboard/facebook/watson/variants/watson_v2/romstage.c 4 files changed, 20 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved Christian Walter: Looks good to me, approved
diff --git a/src/mainboard/facebook/watson/Kconfig b/src/mainboard/facebook/watson/Kconfig index 2ebc020..919117d 100644 --- a/src/mainboard/facebook/watson/Kconfig +++ b/src/mainboard/facebook/watson/Kconfig @@ -16,6 +16,7 @@ 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 4698916..d364b8b 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 b8df798..d65ac0e 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_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 55f3025..2e571b9 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 @@ 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); +}