cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

EsRa_2282511
New Contributor II

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

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

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
YangyangC_06
Employee

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