Using boot flash and running SPI0 in 1.8V mode

linux4kix
Posts: 2
Joined: Thu Mar 16, 2017 9:25 am

Using boot flash and running SPI0 in 1.8V mode

Postby linux4kix » Thu Mar 16, 2017 9:35 am

I have found that pulling MDI0 high and setting VDD_SDIO to 1.8V mode that the on board flash stops working. I was under the impression that this flash was powered via VDD3P3_RTC.

Is there any means other than a custom board that allows the onboard flash to be used and still run SPI0 in 1.8V mode? Or is it possible to boot from flash running on one of the other SPI busses?

I would also like to know where I can find the documentation on the additional fuse settings. I have been looking around and can't find the configuration of these fuses.

SPI_PAD_CONFIG_CLK Override SD_CLK pad (GPIO6/SPICLK) = 0 R/W (0x0)
SPI_PAD_CONFIG_Q Override SD_DATA_0 pad (GPIO7/SPIQ) = 0 R/W (0x0)
SPI_PAD_CONFIG_D Override SD_DATA_1 pad (GPIO8/SPID) = 0 R/W (0x0)
SPI_PAD_CONFIG_HD Override SD_DATA_2 pad (GPIO9/SPIHD) = 0 R/W (0x0)
SPI_PAD_CONFIG_CS0 Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0x0)
DISABLE_SDIO_HOST Disable SDIO host = 0 R/W (0x0)


Thanks

*I would also like to note that searching your forums is a bit difficult since your search input parses out the . of 1.8V and 3.3V

ESP_igrr
Posts: 2072
Joined: Tue Dec 01, 2015 8:37 am

Re: Using boot flash and running SPI0 in 1.8V mode

Postby ESP_igrr » Thu Mar 16, 2017 10:01 am

linux4kix wrote: I have found that pulling MDI0 high and setting VDD_SDIO to 1.8V mode that the on board flash stops working. I was under the impression that this flash was powered via VDD3P3_RTC.
You haven't mention which board or module you are using. I am assuming ESP-WROOM32, if that's not the case please mention this.
In ESP-WROOM32 module, flash is powered from VDD_SDIO. Most ESP-WROOM32 modules manufactured have a flash chip which has to be powered by 3.3V.
linux4kix wrote: Is there any means other than a custom board that allows the onboard flash to be used and still run SPI0 in 1.8V mode? Or is it possible to boot from flash running on one of the other SPI busses?
It is possible to boot from a flash chip connected to other pins, but that would probably still mean that you need to design a custom board, as the flash chip inside ESP-WROOM32 is connected to the standard SPI0 pins.
linux4kix wrote: I would also like to know where I can find the documentation on the additional fuse settings. I have been looking around and can't find the configuration of these fuses.
Each of these 5-bit efuse fields sets the IO number to be used for specific SPI flash signal. In addition to the fields you have listed, you should also program SPI_PAD_CONFIG_CS0.
TRM doesn't mention one detail though: values 30 and 31 are interpreted as IO32 and IO33, respectively. We'll update the TRM with this information.

So the logic in the code is like this:

Code: Select all

for xx in {clk, q, d, cs0, hd}
	spi_xx_gpio_num := (read 5 bit field from EFUSE)
	if spi_xx_gpio_num >= 30, set spi_xx_gpio_num := spi_xx_gpio_num + 2
end for

linux4kix
Posts: 2
Joined: Thu Mar 16, 2017 9:25 am

Re: Using boot flash and running SPI0 in 1.8V mode

Postby linux4kix » Thu Mar 16, 2017 11:32 am

Yes I am using using dev boards with ESP-WROOM32 modules. Do you know of any modules that ship without flash?

It also seems as if the ESP-WROOM32 modules should be fused to only use 3.3V since there is already flash in the module that will be bricked otherwise.

Who is online

Users browsing this forum: No registered users and 120 guests