summaryrefslogtreecommitdiffstats
path: root/hw/fsp/fsp.c
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2015-02-20 11:37:55 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-02-23 13:35:49 +1100
commitb86e2ae93fe9fcaa72cdea4daa840fe08d6a4b4d (patch)
tree19112b141180a23ce3f32b36e37037f81c59422f /hw/fsp/fsp.c
parent3a3aa0dc511b910529c582419cb23664df7edae8 (diff)
downloadblackbird-skiboot-b86e2ae93fe9fcaa72cdea4daa840fe08d6a4b4d.tar.gz
blackbird-skiboot-b86e2ae93fe9fcaa72cdea4daa840fe08d6a4b4d.zip
capi: Add CAPI microcode read to load_resource()
Add ability to read CAPI microcode to load_resource() implementations. We use the cfam chipid as the subid. FSP load_resource() contains a map of cfam chipid to lid numbers. PNOR load_resource() doesn't change, but requires a properly formatted partition with EC values in the TOC matching the appropriate cfam chipid. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/fsp/fsp.c')
-rw-r--r--hw/fsp/fsp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/fsp/fsp.c b/hw/fsp/fsp.c
index 21926b63..62af924a 100644
--- a/hw/fsp/fsp.c
+++ b/hw/fsp/fsp.c
@@ -2255,6 +2255,11 @@ int fsp_fetch_data_queue(uint8_t flags, uint16_t id, uint32_t sub_id,
return OPAL_SUCCESS;
}
+#define CAPP_IDX_VENICE_DD10 0x100ea
+#define CAPP_IDX_VENICE_DD20 0x200ea
+#define CAPP_IDX_MURANO_DD20 0x200ef
+#define CAPP_IDX_MURANO_DD21 0x201ef
+
static struct {
enum resource_id id;
uint32_t idx;
@@ -2262,6 +2267,10 @@ static struct {
} fsp_lid_map[] = {
{ RESOURCE_ID_KERNEL, RESOURCE_SUBID_NONE, KERNEL_LID_OPAL },
{ RESOURCE_ID_INITRAMFS,RESOURCE_SUBID_NONE, INITRAMFS_LID_OPAL },
+ { RESOURCE_ID_CAPP, CAPP_IDX_MURANO_DD20, 0x80a02002 },
+ { RESOURCE_ID_CAPP, CAPP_IDX_MURANO_DD21, 0x80a02001 },
+ { RESOURCE_ID_CAPP, CAPP_IDX_VENICE_DD10, 0x80a02003 },
+ { RESOURCE_ID_CAPP, CAPP_IDX_VENICE_DD20, 0x80a02004 },
};
bool fsp_load_resource(enum resource_id id, uint32_t idx,
OpenPOWER on IntegriCloud