Skip to content

Commit fc86bf0

Browse files
committed
Apply SDIO Config After SD Remount
1 parent 45019c2 commit fc86bf0

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

src/BlueSCSI.cpp

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,22 @@ static void reinitSCSI()
555555
}
556556
}
557557

558+
void check_and_apply_sdio_delay() {
559+
long add_sdio_delay = ini_getl("SDIO", "AddClockDelay", 0, CONFIGFILE);
560+
if (add_sdio_delay) {
561+
if (add_sdio_delay < 0) {
562+
add_sdio_delay = 0;
563+
log("---- WARNING: Negative numbers are not valid for AddClockDelay. Setting value to 0");
564+
}
565+
if (add_sdio_delay > 2) {
566+
add_sdio_delay = 2;
567+
log("---- WARNING: Max value 2 exceeded for AddClockDelay. Setting value to 2.");
568+
}
569+
log("INFO: Injecting ", (uint16_t)add_sdio_delay, " additional wait state(s) on SDIO");
570+
add_extra_sdio_delay((uint16_t) add_sdio_delay);
571+
}
572+
}
573+
558574
extern "C" void bluescsi_setup(void)
559575
{
560576
pio_clear_instruction_memory(pio0);
@@ -599,20 +615,7 @@ extern "C" void bluescsi_setup(void)
599615
{
600616
log("SD card without filesystem!");
601617
}
602-
603-
long add_sdio_delay = ini_getl("SDIO", "AddClockDelay", 0, CONFIGFILE);
604-
if (add_sdio_delay) {
605-
if (add_sdio_delay < 0) {
606-
add_sdio_delay = 0;
607-
log("---- WARNING: Negative numbers are not valid for AddClockDelay. Setting value to 0");
608-
}
609-
if (add_sdio_delay > 2) {
610-
add_sdio_delay = 2;
611-
log("---- WARNING: Max value 2 exceeded for AddClockDelay. Setting value to 2.");
612-
}
613-
log("INFO: Injecting ", (uint16_t)add_sdio_delay, " additional wait state(s) on SDIO");
614-
add_extra_sdio_delay((uint16_t) add_sdio_delay);
615-
}
618+
check_and_apply_sdio_delay();
616619

617620
print_sd_info();
618621

@@ -750,6 +753,7 @@ extern "C" void bluescsi_main_loop(void)
750753
if (g_sdcard_present)
751754
{
752755
log("SD card reinit succeeded");
756+
check_and_apply_sdio_delay();
753757
print_sd_info();
754758

755759
reinitSCSI();

0 commit comments

Comments
 (0)