mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 11:21:23 +00:00
sdmmc: Add protected area info (Content Protection)
This commit is contained in:
parent
f559017aeb
commit
3c2d86ef7b
3 changed files with 8 additions and 3 deletions
|
@ -1030,6 +1030,8 @@ static void _sd_storage_parse_ssr(sdmmc_storage_t *storage)
|
||||||
raw_ssr2[0] = *(u32 *)&storage->raw_ssr[16];
|
raw_ssr2[0] = *(u32 *)&storage->raw_ssr[16];
|
||||||
|
|
||||||
storage->ssr.bus_width = (unstuff_bits(raw_ssr1, 510 - 384, 2) & SD_BUS_WIDTH_4) ? 4 : 1;
|
storage->ssr.bus_width = (unstuff_bits(raw_ssr1, 510 - 384, 2) & SD_BUS_WIDTH_4) ? 4 : 1;
|
||||||
|
storage->ssr.protected_size = unstuff_bits(raw_ssr1, 448 - 384, 32);
|
||||||
|
|
||||||
switch(unstuff_bits(raw_ssr1, 440 - 384, 8))
|
switch(unstuff_bits(raw_ssr1, 440 - 384, 8))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -92,6 +92,7 @@ typedef struct _sd_ssr
|
||||||
u8 uhs_grade;
|
u8 uhs_grade;
|
||||||
u8 video_class;
|
u8 video_class;
|
||||||
u8 app_class;
|
u8 app_class;
|
||||||
|
u32 protected_size;
|
||||||
} sd_ssr_t;
|
} sd_ssr_t;
|
||||||
|
|
||||||
/*! SDMMC storage context. */
|
/*! SDMMC storage context. */
|
||||||
|
|
|
@ -1327,12 +1327,14 @@ static lv_res_t _create_window_sdcard_info_status(lv_obj_t *btn)
|
||||||
lv_obj_t * lb_val2 = lv_label_create(val2, lb_desc);
|
lv_obj_t * lb_val2 = lv_label_create(val2, lb_desc);
|
||||||
|
|
||||||
s_printf(txt_buf,
|
s_printf(txt_buf,
|
||||||
"#00DDFF v%d.0#\n%02X\n%d MiB\n%X\n%d\n%d MB/s (%d MHz)\n%d\nU%d\nV%d\nA%d\n%d",
|
"#00DDFF v%d.0#\n%02X\n%d MiB\n%X (CP %X)\n%d\n%d MB/s (%d MHz)\n%d\nU%d\nV%d\nA%d\n%d",
|
||||||
sd_storage.csd.structure + 1, sd_storage.csd.cmdclass, sd_storage.sec_cnt >> 11, sd_storage.sec_cnt,
|
sd_storage.csd.structure + 1, sd_storage.csd.cmdclass,
|
||||||
|
sd_storage.sec_cnt >> 11, sd_storage.sec_cnt, sd_storage.ssr.protected_size >> 9,
|
||||||
sd_storage.ssr.bus_width, sd_storage.csd.busspeed,
|
sd_storage.ssr.bus_width, sd_storage.csd.busspeed,
|
||||||
(sd_storage.csd.busspeed > 10) ? (sd_storage.csd.busspeed * 2) : 50,
|
(sd_storage.csd.busspeed > 10) ? (sd_storage.csd.busspeed * 2) : 50,
|
||||||
sd_storage.ssr.speed_class, sd_storage.ssr.uhs_grade, sd_storage.ssr.video_class,
|
sd_storage.ssr.speed_class, sd_storage.ssr.uhs_grade, sd_storage.ssr.video_class,
|
||||||
sd_storage.ssr.app_class, sd_storage.csd.write_protect);
|
sd_storage.ssr.app_class,
|
||||||
|
sd_storage.csd.write_protect);
|
||||||
|
|
||||||
lv_label_set_text(lb_val2, txt_buf);
|
lv_label_set_text(lb_val2, txt_buf);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue