/** * ImcDisableSurebootTimer - IMC Disable Sureboot Timer. * * * @param[in] FchDataPtr Fch configuration structure pointer. * */ VOID ImcDisableSurebootTimer ( IN VOID *FchDataPtr ) { UINT8 Msgdata; AMD_CONFIG_PARAMS *StdHeader; StdHeader = ((FCH_DATA_BLOCK *) FchDataPtr)->StdHeader; if (!(IsImcEnabled (StdHeader)) ) { return; ///IMC is not enabled } ImcWakeup (FchDataPtr); Msgdata = 0x00; WriteECmsg (MSG_REG0, AccessWidth8, &Msgdata, StdHeader); Msgdata = 0x01; WriteECmsg (MSG_REG1, AccessWidth8, &Msgdata, StdHeader); Msgdata = 0x00; WriteECmsg (MSG_REG2, AccessWidth8, &Msgdata, StdHeader); Msgdata = 0x94; WriteECmsg (MSG_SYS_TO_IMC, AccessWidth8, &Msgdata, StdHeader); WaitForEcLDN9MailboxCmdAck (StdHeader); ImcSleep (FchDataPtr); }
int spi_claim_bus(struct spi_slave *slave) { #if IS_ENABLED(CONFIG_SB800_IMC_FWM) if (slave->rw == SPI_WRITE_FLAG) { bus_claimed++; if (bus_claimed == 1) ImcSleep(); } #endif return 0; }