Page 1 of 1

xSPI and UARTx muxing?

Posted: Thu Aug 25, 2016 8:58 am
by wejjan
Hi Espressif,

In the esp_wroom_32_datasheet, Section 3.5 Peripheral Interface Description (http://espressif.com/sites/default/file ... eet_en.pdf) is it stated that the UART0, UART1, UART2, HSPI and VSPI interfaces can be muxed to any GPIO pins.
Is it true that I have 100 % flexibility to select each interface pin to any GPIO pin or is it any restrictions (e.g. for boot download)?

Thanks / Wejan

Re: xSPI and UARTx muxing?

Posted: Fri Aug 26, 2016 1:16 am
by WiFive
Check ESP32 Pin List document. It is pretty flexible, but there are some restrictions.

Re: xSPI and UARTx muxing?

Posted: Mon Aug 29, 2016 1:08 am
by ESP_Angus
The Technical Reference Manual section 4 goes over the options for pin muxing in details, but the short answer is "yes you can map most peripherals anywhere".

The long answer includes some caveats:
  • For boot download you should use the standard UART0 pins, as the bootloader runs from ROM and can't choose different pins at boot time.
  • For high speed SPI (ie SPI flash access) you should also use the default pins.
Other than this (other UARTs, secondary SPI peripherals, etc.) you can use the GPIO Matrix (see Technical Reference seciton 4) to map them anywhere.

Re: xSPI and UARTx muxing?

Posted: Sun Oct 02, 2016 8:31 pm
by KevinA
ESP_Angus wrote:The Technical Reference Manual section 4 goes over the options for pin muxing in details, but the short answer is "yes you can map most peripherals anywhere".
Is there any documentation with example of:
UART1 - TX, RX, RTS, CTS pins being assigned to GPIO MUX, DMA setup, Interrupts setup and enabled?
Thanks

Re: xSPI and UARTx muxing?

Posted: Mon Oct 03, 2016 11:56 pm
by ESP_Angus
There isn't an example of any configuration this comprehensive yet, but we're working on providing full examples & driver APIs for these kinds of configurations.