32bit Slave FIFO + UART + GPIO_SPI_lines

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
EsRa_2282511
Level 1
Level 1
First like given Welcome!

hi all,

I have use 32 bit slave fifo and I want to use GPIO[53:56] as an GPIO used as spi lines for read/write to SPI flash externally connected to a board. And also I need to use Uart for printing debug messages.  In FX3, when using 32 bit gpif, then SPI_MOSI and UART_TX are mapped to the same GPIO[55]. Is it possible to use both UART and GPIO in GPIO[55] at a time ?. I tried by reconfiguring the IO matrix, but it wont work. Is there any possible way to do this?

Thanks in advance.

0 Likes
1 Solution
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

If you configure GPIF data bus width to be 32 bit wide, then you can use only UART and not SPI. To use UART in 32 bit GPIF mode you need to set io_cfg.isDQ32Bit = CyTrue; io_cfg.lppMode   = CY_U3P_IO_MATRIX_LPP_DEFAULT; and io_cfg.useUart   = CyTrue;

To use both UART and SPI you need to configure GPIF bus width to be 16 bit wide and

io_cfg.isDQ32Bit = CyFalse; io_cfg.lppMode   = CY_U3P_IO_MATRIX_LPP_DEFAULT; io_cfg.useUart   = CyTrue; and io_cfg.useSpi   = CyTrue;

Regards,

Hemanth

Hemanth

View solution in original post

0 Likes
2 Replies
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

If you configure GPIF data bus width to be 32 bit wide, then you can use only UART and not SPI. To use UART in 32 bit GPIF mode you need to set io_cfg.isDQ32Bit = CyTrue; io_cfg.lppMode   = CY_U3P_IO_MATRIX_LPP_DEFAULT; and io_cfg.useUart   = CyTrue;

To use both UART and SPI you need to configure GPIF bus width to be 16 bit wide and

io_cfg.isDQ32Bit = CyFalse; io_cfg.lppMode   = CY_U3P_IO_MATRIX_LPP_DEFAULT; io_cfg.useUart   = CyTrue; and io_cfg.useSpi   = CyTrue;

Regards,

Hemanth

Hemanth
0 Likes
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

As suggested by Hemanth, you could not use SPI port when the IO matrix is configured as 32-bit(but you can still start FX3 from SPI interface).

You need to choose one configuration from the twos above. 

0 Likes