iwlwifi: pcie: support secured boot flow for family 8000 B step
The driver loads the 2 CPU sections, then it needs to let the firmware know to start the authentication of the sections. This is done by writing the relevants bits to FH_UCODE_LOAD_STATUS. For CPU1, the driver sets the lower 16 bits. For both CPUs, the driver sets all the 32 bits. Signed-off-by: Eran Harary <eran.harary@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
2f15a829ae
commit
afb8891740
|
@ -722,6 +722,11 @@ static int iwl_pcie_load_cpu_sections_8000b(struct iwl_trans *trans,
|
||||||
|
|
||||||
*first_ucode_section = last_read_idx;
|
*first_ucode_section = last_read_idx;
|
||||||
|
|
||||||
|
if (cpu == 1)
|
||||||
|
iwl_write_direct32(trans, FH_UCODE_LOAD_STATUS, 0xFFFF);
|
||||||
|
else
|
||||||
|
iwl_write_direct32(trans, FH_UCODE_LOAD_STATUS, 0xFFFFFFFF);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -911,9 +916,6 @@ static int iwl_pcie_load_given_ucode_8000b(struct iwl_trans *trans,
|
||||||
if (trans->dbg_dest_tlv)
|
if (trans->dbg_dest_tlv)
|
||||||
iwl_pcie_apply_destination(trans);
|
iwl_pcie_apply_destination(trans);
|
||||||
|
|
||||||
/* Notify FW loading is done */
|
|
||||||
iwl_write_direct32(trans, FH_UCODE_LOAD_STATUS, 0xFFFFFFFF);
|
|
||||||
|
|
||||||
/* wait for image verification to complete */
|
/* wait for image verification to complete */
|
||||||
ret = iwl_poll_prph_bit(trans, LMPM_SECURE_BOOT_CPU1_STATUS_ADDR_B0,
|
ret = iwl_poll_prph_bit(trans, LMPM_SECURE_BOOT_CPU1_STATUS_ADDR_B0,
|
||||||
LMPM_SECURE_BOOT_STATUS_SUCCESS,
|
LMPM_SECURE_BOOT_STATUS_SUCCESS,
|
||||||
|
|
Loading…
Reference in New Issue