diff options
| author | Swathi Madhuri Bhattiprolu <bhmadhur@in.ibm.com> | 2017-07-12 02:52:01 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-08-12 22:15:38 -0400 |
| commit | 70047c0b3b9461a5f15da3d3bd1ec1435f38b8b7 (patch) | |
| tree | d6702848a8d669cdfe0ebe153b5230e4478412fd /src/include | |
| parent | 64c5f756d00f902ce974306c783cd4f1464b3159 (diff) | |
| download | blackbird-hostboot-70047c0b3b9461a5f15da3d3bd1ec1435f38b8b7.tar.gz blackbird-hostboot-70047c0b3b9461a5f15da3d3bd1ec1435f38b8b7.zip | |
Framework (plumbing work) in HB for Cumulus HW procedures
Change-Id: I0bc7b56d75f404176268cfbd3948e6c24ef35b4d
RTC: 175996
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43020
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: VENKATESH SAINATH <venkatesh.sainath@in.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Sakethan R. Kotta <sakkotta@in.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/usr/isteps/istep11list.H | 218 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep12list.H | 213 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep13list.H | 47 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep14list.H | 23 | ||||
| -rw-r--r-- | src/include/usr/isteps/istep15list.H | 37 |
5 files changed, 502 insertions, 36 deletions
diff --git a/src/include/usr/isteps/istep11list.H b/src/include/usr/isteps/istep11list.H index 4a44800ee..cfd85d623 100644 --- a/src/include/usr/isteps/istep11list.H +++ b/src/include/usr/isteps/istep11list.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2016 */ +/* Contributors Listed Below - COPYRIGHT 2012,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -26,8 +26,38 @@ #define __ISTEPS_ISTEP11LIST_H /** - * list of functions called for ISTEP 11 according to Dean's - * IPL FLow Doc v0.93 (04/04/16) + * Step 11 Hostboot Centaur Init + * IPL FLow Doc v1.07 + * + * 11.01 host_prd_hwreconfig + * : Hook to handle HW reconfig + * 11.02 cen_tp_chiplet_init1 + * : Centaur TP chiplet init, stage #1 + * 11.03 cen_pll_initf + * : Program Nest PLL + * 11.04 cen_pll_setup + * : Setup Nest PLL + * 11.05 cen_tp_chiplet_init2 + * : Centaur TP chiplet init, stage #2 + * 11.06 cen_tp_arrayinit + * : Centaur TP chiplet array init + * 11.07 cen_tp_chiplet_init3 + * : Centaur TP chiplet init, stage #3 + * 11.08 cen_chiplet_init + * : Centaur chiplet init + * 11.09 cen_arrayinit + * : Centaur chiplet array init + * 11.10 cen_initf + * : Centaur Scan overrides + * 11.11 cen_do_manual_inits + * : Manual Centaur Scans + * 11.12 cen_startclocks + * : Start Centaur Nest/MEM clocks + * 11.13 cen_scominits + * : Perform Centaur SCOM inits + * + * Please see the note in initsvcstructs.H for description of + * the ISTEPNAME macro. * */ @@ -50,7 +80,7 @@ namespace ISTEP_11 { /** - * @brief host prd hwreconfig + * @brief host_prd_hwreconfig * * param[in,out] - pointer to any arguments, usually NULL * @@ -59,6 +89,126 @@ namespace ISTEP_11 */ void* call_host_prd_hwreconfig( void *io_pArgs ); +/** + * @brief cen_tp_chiplet_init1 + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_tp_chiplet_init1( void *io_pArgs ); + +/** + * @brief cen_pll_initf + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_pll_initf( void *io_pArgs ); + +/** + * @brief cen_pll_setup + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_pll_setup( void *io_pArgs ); + +/** + * @brief cen_tp_chiplet_init2 + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_tp_chiplet_init2( void *io_pArgs ); + +/** + * @brief cen_tp_arrayinit + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_tp_arrayinit( void *io_pArgs ); + +/** + * @brief cen_tp_chiplet_init3 + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_tp_chiplet_init3( void *io_pArgs ); + +/** + * @brief cen_chiplet_init + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_chiplet_init( void *io_pArgs ); + +/** + * @brief cen_arrayinit + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_arrayinit( void *io_pArgs ); + +/** + * @brief cen_initf + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_initf( void *io_pArgs ); + +/** + * @brief cen_do_manual_inits + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_do_manual_inits( void *io_pArgs ); + +/** + * @brief cen_startclocks + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_startclocks( void *io_pArgs ); + +/** + * @brief cen_scominits + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_scominits( void *io_pArgs ); + }; @@ -77,6 +227,66 @@ const TaskInfo g_istep11[] = { ISTEP_11::call_host_prd_hwreconfig, { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } }, + { + ISTEPNAME(11,02,"cen_tp_chiplet_init1"), + ISTEP_11::call_cen_tp_chiplet_init1, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,03,"cen_pll_initf"), + ISTEP_11::call_cen_pll_initf, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,04,"cen_pll_setup"), + ISTEP_11::call_cen_pll_setup, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,05,"cen_tp_chiplet_init2"), + ISTEP_11::call_cen_tp_chiplet_init2, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,06,"cen_tp_arrayinit"), + ISTEP_11::call_cen_tp_arrayinit, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,07,"cen_tp_chiplet_init3"), + ISTEP_11::call_cen_tp_chiplet_init3, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,08,"cen_chiplet_init"), + ISTEP_11::call_cen_chiplet_init, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,09,"cen_arrayinit"), + ISTEP_11::call_cen_arrayinit, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,10,"cen_initf"), + ISTEP_11::call_cen_initf, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,11,"cen_do_manual_inits"), + ISTEP_11::call_cen_do_manual_inits, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,12,"cen_startclocks"), + ISTEP_11::call_cen_startclocks, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(11,13,"cen_scominits"), + ISTEP_11::call_cen_scominits, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, }; diff --git a/src/include/usr/isteps/istep12list.H b/src/include/usr/isteps/istep12list.H index 5c1fde875..861401bc0 100644 --- a/src/include/usr/isteps/istep12list.H +++ b/src/include/usr/isteps/istep12list.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2016 */ +/* Contributors Listed Below - COPYRIGHT 2012,2017 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -30,7 +30,34 @@ * @file istep12list.H * * IStep 12 Step 12 DMI Training - * IPL FLow Doc v0.95 + * IPL FLow Doc v1.07 + * + * 12.1 mss_getecid + * : Read out ECID off all Centaurs + * 12.2 dmi_attr_update + * :DMI ATTR update + * 12.3 proc_dmi_scominit + * : DMI Scom setup on P8 MCS + * 12.4 cen_dmi_scominit + * : Scom setup on centaur + * 12.5 dmi_erepair + * : Restore EDI Bus eRepair data + * 12.6 dmi_io_dccal + * : Calibrate DMI interfaces + * 12.7 dmi_pre_trainadv + * : Advanced pre DMI training + * 12.8 dmi_io_run_training + * : Run training on MC buses + * 12.9 dmi_post_trainadv + * : Advanced post DMI training + * 12.10 proc_cen_framelock + * : Initialize EDI Frame + * 12.11 host_startprd_dmi + * : Load prd for DMI domain + * 12.12 host_attnlisten_memb + * : Start attention poll for membuf + * 12.13 cen_set_inband_addr + * : Set the Inband base addresses * * Please see the note in initsvcstructs.H for description of * the ISTEPNAME macro. @@ -48,7 +75,7 @@ namespace ISTEP_12 { /** - * @brief mss getecid + * @brief mss_getecid * * param[in,out] - pointer to any arguments, usually NULL * @@ -57,6 +84,125 @@ namespace ISTEP_12 */ void* call_mss_getecid( void *io_pArgs ); +/** + * @brief dmi_attr_update + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_dmi_attr_update( void *io_pArgs ); + +/** + * @brief proc_dmi_scominit + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_proc_dmi_scominit( void *io_pArgs ); + +/** + * @brief cen_dmi_scominit + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_dmi_scominit( void *io_pArgs ); + +/** + * @brief dmi_erepair + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_dmi_erepair( void *io_pArgs ); + +/** + * @brief dmi_io_dccal + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_dmi_io_dccal( void *io_pArgs ); + +/** + * @brief dmi_pre_trainadv + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_dmi_pre_trainadv( void *io_pArgs ); + +/** + * @brief dmi_io_run_training + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_dmi_io_run_training( void *io_pArgs ); + +/** + * @brief dmi_post_trainadv + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_dmi_post_trainadv( void *io_pArgs ); + +/** + * @brief proc_cen_framelock + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_proc_cen_framelock( void *io_pArgs ); + +/** + * @brief host_startprd_dmi + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_host_startprd_dmi( void *io_pArgs ); + +/** + * @brief host_attnlisten_memb + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_host_attnlisten_memb( void *io_pArgs ); + +/** + * @brief cen_set_inband_addr + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_cen_set_inband_addr( void *io_pArgs ); }; @@ -76,9 +222,64 @@ const TaskInfo g_istep12[] = { { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } }, { - ISTEPNAME(12,02,"host_attnlisten_memb"), // @TODO-RTC:154658 - NULL, - { NONE, EXT_IMAGE, IPL_NOOP, false } + ISTEPNAME(12,02,"dmi_attr_update"), + ISTEP_12::call_dmi_attr_update, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,03,"proc_dmi_scominit"), + ISTEP_12::call_proc_dmi_scominit, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,04,"cen_dmi_scominit"), + ISTEP_12::call_cen_dmi_scominit, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,05,"dmi_erepair"), + ISTEP_12::call_dmi_erepair, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,06,"dmi_io_dccal"), + ISTEP_12::call_dmi_io_dccal, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,07,"dmi_pre_trainadv"), + ISTEP_12::call_dmi_pre_trainadv, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,08,"dmi_io_run_training"), + ISTEP_12::call_dmi_io_run_training, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,09,"dmi_post_trainadv"), + ISTEP_12::call_dmi_post_trainadv, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,10,"proc_cen_framelock"), + ISTEP_12::call_proc_cen_framelock, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,11,"host_startprd_dmi"), + ISTEP_12::call_host_startprd_dmi, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,12,"host_attnlisten_memb"), + ISTEP_12::call_host_attnlisten_memb, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } + }, + { + ISTEPNAME(12,13,"cen_set_inband_addr"), + ISTEP_12::call_cen_set_inband_addr, + { START_FN, EXT_IMAGE, NORMAL_IPL_OP, true } }, }; diff --git a/src/include/usr/isteps/istep13list.H b/src/include/usr/isteps/istep13list.H index 2f25f2ee0..6ec0ed62f 100644 --- a/src/include/usr/isteps/istep13list.H +++ b/src/include/usr/isteps/istep13list.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2016 */ +/* Contributors Listed Below - COPYRIGHT 2012,2017 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -30,8 +30,35 @@ /** * @file istep13list.H * - * IStep 13 Step 13 - * IPL FLow Doc v0.95 + * IStep 13 Step 13 DRAM Training + * IPL FLow Doc v1.07 + * + * 13.1 host_disable_memvolt + * : Disable VDDR on Warm Reboots + * 13.2 mem_pll_reset + * : Reset PLL for MCAs in async + * 13.3 mem_pll_initf + * : PLL Initfile for MBAs + * 13.4 mem_pll_setup + * : Setup PLL for MBAs + * 13.5 proc_mcs_skewadjust + * : Update clock mesh deskew + * 13.6 mem_startclocks + * : Start clocks on MBA/MCAs + * 13.7 host_enable_memvolt + * : Enable the VDDR3 Voltage Rail + * 13.8 mss_scominit + * : Perform scom inits to MC and PHY + * 13.9 mss_ddr_phy_reset + * : Soft reset of DDR PHY macros + * 13.10 mss_draminit + * : Dram initialize + * 13.11 mss_draminit_training + * : Dram training + * 13.12 mss_draminit_trainadv + * : Advanced dram training + * 13.12 mss_draminit_mc + * : Hand off control to MC * * Please see the note in initsvcstructs.H for description of * the ISTEPNAME macro. @@ -95,6 +122,17 @@ void* call_mem_pll_setup( void *io_pArgs ); /** + * @brief proc_mcs_skewadjust + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any errlogs to istep + * + */ +void* call_proc_mcs_skewadjust( void *io_pArgs ); + + +/** * @brief mem_startclocks * * param[in,out] - pointer to any arguments, usually NULL @@ -175,9 +213,6 @@ void* call_mss_draminit_trainadv( void *io_pArgs ); void* call_mss_draminit_mc( void *io_pArgs ); - - - }; diff --git a/src/include/usr/isteps/istep14list.H b/src/include/usr/isteps/istep14list.H index 12b2118fd..5c57dfa87 100644 --- a/src/include/usr/isteps/istep14list.H +++ b/src/include/usr/isteps/istep14list.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2016 */ +/* Contributors Listed Below - COPYRIGHT 2012,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -28,8 +28,25 @@ /** * @file istep14list.H * - * IStep 14 - * IPL FLow Doc v0.95 + * IStep 14 Step 14 DRAM Initialization + * IPL FLow Doc v1.07 + * + * 14.1 mss_memdiag + * : Mainstore Pattern Testing + * 14.2 mss_thermal_init + * : Initialize the thermal sensor + * 14.3 proc_pcie_config + * : Configure the PHBs + * 14.4 mss_power_cleanup + * : Clean up any MCS/Centaurs + * 14.5 proc_setup_bars + * : Setup Memory BARs + * 14.6 proc_htm_setup + * : Setup HTM allocations + * 14.7 proc_exit_cache_contained + * : Execution from memory + * 14.8 host_mpipl_service + * : Perform MPIPL tasks * * Please see the note in initsvcstructs.H for description of * the ISTEPNAME macro. diff --git a/src/include/usr/isteps/istep15list.H b/src/include/usr/isteps/istep15list.H index e3e0790bb..b77c4b7d7 100644 --- a/src/include/usr/isteps/istep15list.H +++ b/src/include/usr/isteps/istep15list.H @@ -28,15 +28,15 @@ /** * @file istep15list.H * - * IStep 15 Build Hcode Images - * IPL FLow Doc v0.84 (11/11/15) + * IStep 15 Build STOP Images + * IPL FLow Doc v1.07 * * 15.1 host_build_stop_image - * : Build runtime stop images - * 15.2 proc_set_pba_homer_bar + * : Build runtime STOP images + * 15.1 proc_set_pba_homer_bar * : Set HOMER location in OCC * 15.3 host_establish_ex_chiplet - * : Select Hostboot Core + * : Select Hostboot core * 15.4 host_start_stop_engine * : Initialize STOPGPE engine * @@ -52,49 +52,52 @@ namespace ISTEP_15 { + /** - * @brief host_build_stop_image + * @brief proc_set_pba_homer_bar * * param[in,out] - pointer to any arguments, usually NULL * - * return any errlogs to istep + * return any errlogs to istep * */ -void* host_build_stop_image( void *io_pArgs ); - +void* proc_set_pba_homer_bar( void *io_pArgs ); /** - * @brief proc_set_pba_homer_bar + * @brief host_build_stop_image * * param[in,out] - pointer to any arguments, usually NULL * - * return any errlogs to istep + * return any errlogs to istep * */ -void* proc_set_pba_homer_bar( void *io_pArgs ); +void* host_build_stop_image( void *io_pArgs ); /** - * @brief host_establish_ex_chiplet + * @brief host_start_stop_engine * * param[in,out] - pointer to any arguments, usually NULL * * return any errlogs to istep * */ -void* host_establish_ex_chiplet( void *io_pArgs ); +void* host_start_stop_engine( void *io_pArgs ); + + /** - * @brief host_start_stop_engine + * @brief host_establish_ex_chiplet * * param[in,out] - pointer to any arguments, usually NULL * * return any errlogs to istep * */ -void* host_start_stop_engine( void *io_pArgs ); +void* host_establish_ex_chiplet( void *io_pArgs ); + }; @@ -115,7 +118,7 @@ namespace INITSERVICE ISTEPNAME(15,02,"proc_set_pba_homer_bar"), ISTEP_15::proc_set_pba_homer_bar, { START_FN, EXT_IMAGE, NORMAL_IPL_OP | MPIPL_OP, true } - }, + }, { ISTEPNAME(15,03,"host_establish_ex_chiplet"), ISTEP_15::host_establish_ex_chiplet, |

