IO14/IO15 boot conflict in SDIO Slave Mode
Posted: Sat Sep 05, 2020 6:41 pm
I have an issue when the ESP32 is rebooted using the EN pin. After the EN pin is toggled off/then on, I have conflicts with a linux SDIO host and I get SDIO clk timing errors on the host.
A believe this might have something to do with the SDIO CMD (IO15) and/or SDIO CLK (IO14) conflicting with the SDIO host when the ESP32 hits the ROM bootloader.
Are these pins always set to inputs even in the ROM and second stage bootloader? Do they ever change to outputs which might conflict with my linux SDIO host? Perhaps this is a bootstrapping issue withe ROM bootloader? Maybe a JTAG conflict?
Is there a FUSE I can set that might stop this issue?
if I reset the ESP32 using deep sleep, I get no errors when the ESP32 boots from deep sleep mode. This seems to indicate there is some sort of pin conflict in the ROM bootloader since I believe the deep sleep reset skips the ROM bootloader(?).
A believe this might have something to do with the SDIO CMD (IO15) and/or SDIO CLK (IO14) conflicting with the SDIO host when the ESP32 hits the ROM bootloader.
Are these pins always set to inputs even in the ROM and second stage bootloader? Do they ever change to outputs which might conflict with my linux SDIO host? Perhaps this is a bootstrapping issue withe ROM bootloader? Maybe a JTAG conflict?
Is there a FUSE I can set that might stop this issue?
if I reset the ESP32 using deep sleep, I get no errors when the ESP32 boots from deep sleep mode. This seems to indicate there is some sort of pin conflict in the ROM bootloader since I believe the deep sleep reset skips the ROM bootloader(?).