aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAditya Gupta <adityag@linux.ibm.com>2025-03-03 12:32:58 +0530
committerReza Arbab <arbab@linux.ibm.com>2025-03-07 08:48:54 -0600
commite7279e369b4b94f32bb74b374e2fc635296ae0fc (patch)
tree0d9d51065a63181dd3a7afcfe903c59500a41abd
parent6e8521a4d2dce7b0ae109c6aa1e77c0ee28f5a05 (diff)
downloadskiboot-e7279e369b4b94f32bb74b374e2fc635296ae0fc.zip
skiboot-e7279e369b4b94f32bb74b374e2fc635296ae0fc.tar.gz
skiboot-e7279e369b4b94f32bb74b374e2fc635296ae0fc.tar.bz2
iohub: Add HUB ID for everest systems
Everest's hub id is 0x52, which OPAL earlier didn't recognise: [ 574.179390090,6] CEC: HUB FRU 0 is CPU Card [ 574.179430286,6] CEC: 2 chips in FRU [ 574.179464930,7] CEC: IO Hub Chip #0 OK [ 574.179497312,7] CEC: PChip: 0 HUB ID: 0052 [EC=0x20] Hub#=0) [ 574.179543358,3] CEC: Hub ID 0x0052 unsupported ! <-------- Due to not recognising the HUB id, it doesn't initialise the PCI slots. Define 0x52 as Everest's hub id, so OPAL initialises PCIe slots also for Everest Signed-off-by: Aditya Gupta <adityag@linux.ibm.com> Acked-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
-rw-r--r--hdata/iohub.c4
-rw-r--r--hdata/spira.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/hdata/iohub.c b/hdata/iohub.c
index 40712bc..9bb34d7 100644
--- a/hdata/iohub.c
+++ b/hdata/iohub.c
@@ -843,6 +843,10 @@ static void io_parse_fru(const void *sp_iohubs)
prlog(PR_INFO, "CEC: Rainier !\n");
io_add_p9(hub, sp_iohubs);
break;
+ case CECHUB_HUB_EVEREST:
+ prlog(PR_INFO, "CEC: Everest !\n");
+ io_add_p9(hub, sp_iohubs);
+ break;
case CECHUB_HUB_DENALI:
prlog(PR_INFO, "CEC: Denali !\n");
io_add_p9(hub, sp_iohubs);
diff --git a/hdata/spira.h b/hdata/spira.h
index 9db9d59..5281493 100644
--- a/hdata/spira.h
+++ b/hdata/spira.h
@@ -613,6 +613,7 @@ struct cechub_io_hub {
#define CECHUB_HUB_AXONE_HOPPER 0x0040 /* axone+hopper */
#define CECHUB_HUB_RAINIER 0x0050
#define CECHUB_HUB_DENALI 0x0051
+#define CECHUB_HUB_EVEREST 0x0052
__be32 ec_level;
__be32 aff_dom2; /* HDAT < v9.x only */
__be32 aff_dom3; /* HDAT < v9.x only */