HCI Uart and Spi don't work at the same time

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

cross mob
RoHe_4796991
Level 1
Level 1
5 replies posted 5 questions asked First question asked

Hello AnjanaM_61​ and Cypress Team,

I'm using the CYW20706 part. My application requires the use of the SPI_1 bus. This bus uses the same physical pins as the PUART, so I've switched over to using the HCI UART is the debug interface. However, I noticed once I enable the SPI_1 bus, the HCI UART output is corrupted. I came across this earlier post which explains that the SPI_1 bus and HCI UART share a hardware fifo, and hence can't be used at the same time.

CYBT-343026 enabling peripheral SPI kills HCI UART

As I would like to use both the SPI bus and the HCI UART, I would like to disable the SPI bus when it is not needed so I can see debug information. How can the SPI bus be disabled / de-initialized? I initialize the SPI bus with this api call:

wiced_hal_pspi_init(......);

But the API doesn't seem to have a disable / de-initialize function, at least when acting as a SPI master.

As for the HCI UART, it appears I can enable and disable the HCI UART with these API calls:

enable:

wiced_set_debug_uart( WICED_ROUTE_DEBUG_TO_HCI_UART );

and disable:

wiced_set_debug_uart( WICED_ROUTE_DEBUG_NONE);

Please let me know how to disable / de-initialize the SPI bus so that I can use the HCI UART when I'm not using the SPI bus.

Thanks,

Rob

0 Likes
1 Solution
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi RoHe_4796991

There is no SPI deinit function as such.

Actually you should be able to use PUART and SPI at same time. For reference, the example here: SPI example for CYW20706 uses PUART for debug logs along with SPI implementation.

Can you please try with the pins mentioned in above example and see if it helps?

Thanks & Regards,

Anjana

View solution in original post

0 Likes
3 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi RoHe_4796991

There is no SPI deinit function as such.

Actually you should be able to use PUART and SPI at same time. For reference, the example here: SPI example for CYW20706 uses PUART for debug logs along with SPI implementation.

Can you please try with the pins mentioned in above example and see if it helps?

Thanks & Regards,

Anjana

0 Likes

Thank you AnjanaM_61​. However, I'm using pin P36 for DEV_WAKE, so I can't use it as SPI1_CLK. Therefore, I don't believe I have access to Puart or Hci Uart. Is this correct?

0 Likes

Hi RoHe_4796991 ,

Sorry for missing to update on your query.

If you are using P36 for DEV_wake , you can't use it for SPI1_clk.  In the example here SPI example for CYW20706 , I had tried and verified only P36. However you have still few more pins which can be used as SPI1_CLK. Refer to GPIO table in CYW920706WCDEVAL Hardware User Guide  doc to check the options for SPI1_CLK.

Regards,

Anjana

0 Likes