Attention is currently required from: Arthur Heymans, Felix Singer, Tim Wawrzynczak, Sridhar Siricilla, Angel Pons, Lean Sheng Tan, Werner Zeh, Patrick Rudolph, EricR Lai. Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/60405 )
Change subject: soc/intel/common/cse: Add `finalize` operation for CSE ......................................................................
Patch Set 25:
(1 comment)
File src/soc/intel/common/block/cse/cse.c:
https://review.coreboot.org/c/coreboot/+/60405/comment/3ae2f922_ab0d8499 PS24, Line 1195: static void cse_final(struct device *dev) : { : if (CONFIG(SKIP_FSP_NOTIFY_PHASE_READY_TO_BOOT)) { : cse_send_end_of_post(); : : cse_control_global_reset_lock(); : : if (CONFIG(DISABLE_HECI1_AT_PRE_BOOT)) { : cse_set_to_d0i3(); : heci1_disable(); : } : } : : if (CONFIG(SKIP_FSP_NOTIFY_PHASE_END_OF_FIRMWARE)) : heci_set_to_d0i3(); : }
Hmm, I mean remove SKIP_FSP_NOTIFY_PHASE_READY_TO_BOOT & SKIP_FSP_NOTIFY_PHASE_END_OF_FIRMWARE, and bring entire code (covered by these 2 flags) under CB_INTEL_SOC_RUN_OPS_BEFORE_PAYLOAD_LAUNCH.
We can't drop `SKIP_` as we would still SoC user to take decision about either calling FSP-NotifyPhase of native cb driver. Hence, we need provide those choice to user.
From SoC recommendation side, Ready to Boot and End of Post are event which has meaning and silicon prefer to perform some operation under specific hoods, hence, coreboot would allow the same flexibility for SoC vendor enggs to add the required code inside specific `if` clause without mixing it.
From the code perspective, both the flags are getting executed sequentially and not as two disjoint events.
Even thats the case with FSP-NotifyPhase API call as well today, Please check the log below:
NotifyPhaseApi() - Begin [Phase: 00000040] FSP Ready To Boot ... ...... NotifyPhaseApi() - End [Status: 0x00000000] PROGRESS CODE: V0000487F I0 PROGRESS CODE: V00002800 I0 NotifyPhaseApi() - Begin [Phase: 000000F0] FSP End of Firmware ... ...... NotifyPhaseApi() - End [Status: 0x00000000]