mirror of
https://github.com/CTCaer/hekate.git
synced 2024-11-26 19:52:11 +00:00
Add important fuse info (like burnt eFuses)
This commit is contained in:
parent
5e8eb1c57a
commit
879fc643d9
3 changed files with 28 additions and 9 deletions
|
@ -81,7 +81,7 @@ typedef struct _merge_kip_t
|
||||||
#define KB_FIRMWARE_VERSION_500 4
|
#define KB_FIRMWARE_VERSION_500 4
|
||||||
#define KB_FIRMWARE_VERSION_MAX KB_FIRMWARE_VERSION_500
|
#define KB_FIRMWARE_VERSION_MAX KB_FIRMWARE_VERSION_500
|
||||||
|
|
||||||
// Exosphere magic "XBC0"
|
// Exosphère magic "XBC0"
|
||||||
#define MAGIC_EXOSPHERE 0x30434258
|
#define MAGIC_EXOSPHERE 0x30434258
|
||||||
|
|
||||||
static const u8 keyblob_keyseeds[][0x10] = {
|
static const u8 keyblob_keyseeds[][0x10] = {
|
||||||
|
@ -571,7 +571,7 @@ int hos_launch(ini_sec_t *cfg)
|
||||||
if(ctxt.debugmode)
|
if(ctxt.debugmode)
|
||||||
_copy_bootconfig(&ctxt);
|
_copy_bootconfig(&ctxt);
|
||||||
|
|
||||||
// Config Exosphere if booting Atmosphere.
|
// Config Exosphère if booting Atmosphère.
|
||||||
if (ctxt.atmosphere)
|
if (ctxt.atmosphere)
|
||||||
{
|
{
|
||||||
vu32 *mb_exo_magic = (vu32 *)0x40002E40;
|
vu32 *mb_exo_magic = (vu32 *)0x40002E40;
|
||||||
|
|
27
ipl/main.c
27
ipl/main.c
|
@ -357,10 +357,32 @@ void print_fuseinfo()
|
||||||
gfx_clear_grey(&gfx_ctxt, 0x1B);
|
gfx_clear_grey(&gfx_ctxt, 0x1B);
|
||||||
gfx_con_setpos(&gfx_con, 0, 0);
|
gfx_con_setpos(&gfx_con, 0, 0);
|
||||||
|
|
||||||
|
u32 burntFuses = 0;
|
||||||
|
for (u32 i = 0; i < 32; i++)
|
||||||
|
{
|
||||||
|
if ((fuse_read_odm(7) >> i) & 1)
|
||||||
|
burntFuses++;
|
||||||
|
}
|
||||||
|
|
||||||
|
gfx_printf(&gfx_con, "\nSKU: %X - ", FUSE(0x110));
|
||||||
|
switch (fuse_read_odm(4) & 3)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
gfx_printf(&gfx_con, "Retail\n");
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
gfx_printf(&gfx_con, "Dev\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
gfx_printf(&gfx_con, "Sdram ID: %d\n", (fuse_read_odm(4) >> 3) & 0x1F);
|
||||||
|
gfx_printf(&gfx_con, "Burnt fuses: %d\n", burntFuses);
|
||||||
|
gfx_printf(&gfx_con, "Secure key: %08X%08X%08X%08X\n\n\n",
|
||||||
|
byte_swap_32(FUSE(0x1A4)), byte_swap_32(FUSE(0x1A8)), byte_swap_32(FUSE(0x1AC)), byte_swap_32(FUSE(0x1B0)));
|
||||||
|
|
||||||
gfx_printf(&gfx_con, "%k(Unlocked) fuse cache:\n\n%k", 0xFF00DDFF, 0xFFCCCCCC);
|
gfx_printf(&gfx_con, "%k(Unlocked) fuse cache:\n\n%k", 0xFF00DDFF, 0xFFCCCCCC);
|
||||||
gfx_hexdump(&gfx_con, 0x7000F900, (u8 *)0x7000F900, 0x2FC);
|
gfx_hexdump(&gfx_con, 0x7000F900, (u8 *)0x7000F900, 0x2FC);
|
||||||
|
|
||||||
gfx_puts(&gfx_con, "\nPress POWER to dump them to SD Card.\nPress VOL to go to the menu.\n");
|
gfx_puts(&gfx_con, "Press POWER to dump them to SD Card.\nPress VOL to go to the menu.\n");
|
||||||
|
|
||||||
u32 btn = btn_wait();
|
u32 btn = btn_wait();
|
||||||
if (btn & BTN_POWER)
|
if (btn & BTN_POWER)
|
||||||
|
@ -2054,9 +2076,6 @@ void print_battery_charger_info()
|
||||||
bq24193_get_property(BQ24193_ChargeVoltageLimit, &value);
|
bq24193_get_property(BQ24193_ChargeVoltageLimit, &value);
|
||||||
gfx_printf(&gfx_con, "Charge voltage limit: %4d mV\n", value);
|
gfx_printf(&gfx_con, "Charge voltage limit: %4d mV\n", value);
|
||||||
|
|
||||||
bq24193_get_property(BQ24193_ThermalRegulation, &value);
|
|
||||||
gfx_printf(&gfx_con, "Thermal threshold: %4d oC\n", value);
|
|
||||||
|
|
||||||
bq24193_get_property(BQ24193_ChargeStatus, &value);
|
bq24193_get_property(BQ24193_ChargeStatus, &value);
|
||||||
gfx_printf(&gfx_con, "Charge status: ");
|
gfx_printf(&gfx_con, "Charge status: ");
|
||||||
switch (value)
|
switch (value)
|
||||||
|
|
Loading…
Reference in a new issue