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

USB superspeed peripherals Forum Discussions

jnagy
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

I have a device with an CYUSB3014 and am trying to connect the UART to an FPGA to access the prints from the firmware. Due to limitations on the hardware, the UART is connected to GPIO 48 and 49 so I am trying to use the "16-bit Data Bus + UART + SPI + I2S" pin configuration listed in Table 7 of the FX3 datasheet however I seem to be getting inconsistent output with the following settings (meaning when I try these setting I get no output sometimes):

 

io_cfg.isDQ32Bit = CyFalse;                        /* 16-bit bus */
io_cfg.useUart   = CyTrue;                         /* For logging */
io_cfg.useI2C    = CyFalse;
io_cfg.useI2S    = CyFalse;
io_cfg.useSpi    = CyFalse;
io_cfg.lppMode   = CY_U3P_IO_MATRIX_LPP_UART_ONLY; /* Required mode for 16-bit bus w/ UART */
io_cfg.s0Mode    = CY_U3P_SPORT_INACTIVE;
io_cfg.s1Mode    = CY_U3P_SPORT_INACTIVE;
io_cfg.gpioSimpleEn[0]  = 0;                       /* No GPIOs are enabled. */
io_cfg.gpioSimpleEn[1]  = 0;
io_cfg.gpioComplexEn[0] = 0;
io_cfg.gpioComplexEn[1] = 0;

 

However if I set "CY_U3P_IO_MATRIX_LPP_UART_ONLY" to "CY_U3P_IO_MATRIX_LPP_DEFAULT" I do get prints consistently. I have 2 questions:

1. How do I ensure I have the correct pin config (according to Table 7 of the FX3 datasheet)? I assume it is through the useUart, useI2C, useI2S, useSpi and isDQ32Bit properties but I can't find any documentation that confirms this.
2. What is the difference between "CY_U3P_IO_MATRIX_LPP_UART_ONLY" and "CY_U3P_IO_MATRIX_LPP_DEFAULT"? In reading the enum documentation it seems like I should have "CY_U3P_IO_MATRIX_LPP_UART_ONLY" since I have a 16-bit bus with only UART enabled.

0 Likes
1 Solution
JiangJing
Moderator
Moderator
Moderator
25 solutions authored 50 replies posted 50 sign-ins

Hi,

     1,For I/O Matrix Configuration, you can refer to chapter 4 of FX3_TRM(Cypress/EZ-USB FX3 SDK/1.3/doc/firmware);

2, CY_U3P_IO_MATRIX_LPP_DEFAULT:  Default LPP mode where all peripherals are enabled.
CY_U3P_IO_MATRIX_LPP_UART_ONLY :  LPP layout with GPIF 16-bit and UART only.

In FX3  chip, SPI, UART, and I2S interfaces are multiplexed on the serial peripheral port. UART lines can be routed either on GPIO[46]-GPIO[49] or on GPIO[53]- GPIO[56] pins of FX3. When you are selecting the LPP mode as UART_ONLY the UART pins will be routed to GPIO[53]- GPIO[56] .

View solution in original post

0 Likes
1 Reply
JiangJing
Moderator
Moderator
Moderator
25 solutions authored 50 replies posted 50 sign-ins

Hi,

     1,For I/O Matrix Configuration, you can refer to chapter 4 of FX3_TRM(Cypress/EZ-USB FX3 SDK/1.3/doc/firmware);

2, CY_U3P_IO_MATRIX_LPP_DEFAULT:  Default LPP mode where all peripherals are enabled.
CY_U3P_IO_MATRIX_LPP_UART_ONLY :  LPP layout with GPIF 16-bit and UART only.

In FX3  chip, SPI, UART, and I2S interfaces are multiplexed on the serial peripheral port. UART lines can be routed either on GPIO[46]-GPIO[49] or on GPIO[53]- GPIO[56] pins of FX3. When you are selecting the LPP mode as UART_ONLY the UART pins will be routed to GPIO[53]- GPIO[56] .

0 Likes