soc/intel/skylake: Display FPF status of CSME
Field Programmable Fuses (FPF) status maintained by CSME in bits 30:31 of FWSTS6 for Skylake and Kabylake. FPF committed means CSME has blown the fuses. Change-Id: If63c7874e6c894749df8100426faca0ad432384b Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati@intel.com> Reviewed-on: https://review.coreboot.org/19747 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Philippe Mathieu-Daudé <philippe.mathieu.daude@gmail.com>
This commit is contained in:
parent
f714965e8d
commit
4a907c79a2
|
@ -186,6 +186,18 @@ union me_hfs3 {
|
||||||
} __attribute__ ((packed)) fields;
|
} __attribute__ ((packed)) fields;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define PCI_ME_HFSTS6 0x6c
|
||||||
|
#define ME_HFS6_FPF_NOT_COMMITTED 0x0
|
||||||
|
#define ME_HFS6_FPF_ERROR 0x2
|
||||||
|
|
||||||
|
union me_hfs6 {
|
||||||
|
u32 data;
|
||||||
|
struct {
|
||||||
|
u32 reserved1: 30;
|
||||||
|
u32 fpf_nvars: 2;
|
||||||
|
} __attribute__ ((packed)) fields;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Management Engine MMIO registers
|
* Management Engine MMIO registers
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -224,10 +224,12 @@ void intel_me_status(void)
|
||||||
union me_hfs hfs;
|
union me_hfs hfs;
|
||||||
union me_hfs2 hfs2;
|
union me_hfs2 hfs2;
|
||||||
union me_hfs3 hfs3;
|
union me_hfs3 hfs3;
|
||||||
|
union me_hfs6 hfs6;
|
||||||
|
|
||||||
hfs.data = me_read_config32(PCI_ME_HFSTS1);
|
hfs.data = me_read_config32(PCI_ME_HFSTS1);
|
||||||
hfs2.data = me_read_config32(PCI_ME_HFSTS2);
|
hfs2.data = me_read_config32(PCI_ME_HFSTS2);
|
||||||
hfs3.data = me_read_config32(PCI_ME_HFSTS3);
|
hfs3.data = me_read_config32(PCI_ME_HFSTS3);
|
||||||
|
hfs6.data = me_read_config32(PCI_ME_HFSTS6);
|
||||||
|
|
||||||
/* Check Current States */
|
/* Check Current States */
|
||||||
printk(BIOS_DEBUG, "ME: FW Partition Table : %s\n",
|
printk(BIOS_DEBUG, "ME: FW Partition Table : %s\n",
|
||||||
|
@ -341,6 +343,18 @@ void intel_me_status(void)
|
||||||
hfs3.fields.fw_sku);
|
hfs3.fields.fw_sku);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printk(BIOS_DEBUG, "ME: FPF status : ");
|
||||||
|
switch (hfs6.fields.fpf_nvars) {
|
||||||
|
case ME_HFS6_FPF_NOT_COMMITTED:
|
||||||
|
printk(BIOS_DEBUG, "unfused\n");
|
||||||
|
break;
|
||||||
|
case ME_HFS6_FPF_ERROR:
|
||||||
|
printk(BIOS_DEBUG, "unknown\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
printk(BIOS_DEBUG, "fused\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue