Strapping pins and SDIO slave timing

zliudr
Posts: 360
Joined: Thu Oct 03, 2019 5:15 am

Strapping pins and SDIO slave timing

Postby zliudr » Tue Aug 18, 2020 4:34 am

I have a question regarding the MTDO and GPIO5 strapping pins. The manual says they both default to pull-up, which corresponds to rising-edge sampling and rising-edge output I think. There is also a note saying firmware can configure register bits to change the settings after booting.
The reason I'm trying to understand the timing is that I'm using GPIO5 as an input so potentially it could read LOW on power up. This sets timing to put the timing into rising-edge sampling and falling-edge output. Will this potential change mess up my FLASH and SPIRAM access? If these can be configure after booting, then can I set the timing to rising output? How do I do that? I'm potentially looking at changing the pin but I've got over a hundred boards printed so I'd like to try a software fix instead of cutting traces.

Thank you!

BTW, I have one board that is having SPIRAM issues. I wonder if that strapping pin SDIO timing caused it. I measured both pins to be high but that might to too late since the strapping pins only change state after power down? Very confused.

zliudr
Posts: 360
Joined: Thu Oct 03, 2019 5:15 am

Re: Strapping pins and SDIO slave timing

Postby zliudr » Tue Aug 18, 2020 4:58 am

From my tests, my good unit boots up and uses spiram regardless the voltage I supply on GPIO5, 0V or 3.3V. Maybe the SDIO timing is indeed controlled by software after boot but where?

ESP_Sprite
Posts: 9739
Joined: Thu Nov 26, 2015 4:08 am

Re: Strapping pins and SDIO slave timing

Postby ESP_Sprite » Tue Aug 18, 2020 7:38 pm

SDIO there relates to the slave interface SDIO boot interface. If you use normal SPI flash (like you do), the state of GPIO5 does not matter.

zliudr
Posts: 360
Joined: Thu Oct 03, 2019 5:15 am

Re: Strapping pins and SDIO slave timing

Postby zliudr » Tue Aug 18, 2020 10:06 pm

Thank you! Could you elaborate on what is SDIO slave interface and what it might be used for? I've been reading but ESP32 has so much information and I could use some direction.

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: Strapping pins and SDIO slave timing

Postby WiFive » Wed Aug 19, 2020 3:05 am

The intention is so you can use esp32 without a flash chip connected to a host processor over sdio like a more traditional wifi chip. You would load a simple wifi firmware to ram on boot over sdio and all the network processing would be done on the host processor. It's not really supported, at least publically.

zliudr
Posts: 360
Joined: Thu Oct 03, 2019 5:15 am

Re: Strapping pins and SDIO slave timing

Postby zliudr » Wed Aug 19, 2020 3:11 am

I see. Thank you WiFive! So if I understand correctly, a host controller such as a microcontroller will send firmware to ESP32 on boot so ESP32 acts like a WiFi module for the microcontroller. Yeah that sounds pre-ESP8266 even. Great to have this understanding now. On a separate thread I posted about SPIRAM, I guess my SPIRAM problem has nothing to do with it. I'll probably install 4.x tool chain and explore 2T option. Thank you for untangling these two things.

ESP_Sprite
Posts: 9739
Joined: Thu Nov 26, 2015 4:08 am

Re: Strapping pins and SDIO slave timing

Postby ESP_Sprite » Wed Aug 19, 2020 12:29 pm

WiFive wrote:
Wed Aug 19, 2020 3:05 am
It's not really supported, at least publically.
In case you were wondering 'Well, why is it in there in the first place then?', it's because the automated testing equipment that tests every single ESP32 die uses it to upload testing code.

zliudr
Posts: 360
Joined: Thu Oct 03, 2019 5:15 am

Re: Strapping pins and SDIO slave timing

Postby zliudr » Wed Aug 19, 2020 4:52 pm

You read my mind! Why a useless feature, right? I bet if I study reference manual enough, I could make use of it in place of a push-button to run test code for my production runs. Thank you!

Who is online

Users browsing this forum: No registered users and 115 guests