Add support for overriding the PORT/PIN for the STM32 Cube HAL.

pull/314/head
David Garske 2023-12-05 10:38:56 -08:00
parent 18e6177634
commit 09e3550f3b
1 changed files with 10 additions and 4 deletions

View File

@ -146,6 +146,12 @@
#else /* STM32 CubeMX Hal SPI */ #else /* STM32 CubeMX Hal SPI */
#define STM32_CUBEMX_SPI_TIMEOUT 250 #define STM32_CUBEMX_SPI_TIMEOUT 250
#ifndef USE_SPI_CS_PORT
#define USE_SPI_CS_PORT GPIOA
#endif
#ifndef USE_SPI_CS_PIN
#define USE_SPI_CS_PIN 15
#endif
int TPM2_IoCb_STCubeMX_SPI(TPM2_CTX* ctx, const byte* txBuf, byte* rxBuf, int TPM2_IoCb_STCubeMX_SPI(TPM2_CTX* ctx, const byte* txBuf, byte* rxBuf,
word16 xferSz, void* userCtx) word16 xferSz, void* userCtx)
{ {
@ -158,7 +164,7 @@
__HAL_SPI_ENABLE(hspi); __HAL_SPI_ENABLE(hspi);
#ifndef USE_HW_SPI_CS #ifndef USE_HW_SPI_CS
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET); /* active low */ HAL_GPIO_WritePin(USE_SPI_CS_PORT, USE_SPI_CS_PIN, GPIO_PIN_RESET); /* active low */
#endif #endif
#ifdef WOLFTPM_CHECK_WAIT_STATE #ifdef WOLFTPM_CHECK_WAIT_STATE
@ -167,7 +173,7 @@
TPM_TIS_HEADER_SZ, STM32_CUBEMX_SPI_TIMEOUT); TPM_TIS_HEADER_SZ, STM32_CUBEMX_SPI_TIMEOUT);
if (status != HAL_OK) { if (status != HAL_OK) {
#ifndef USE_HW_SPI_CS #ifndef USE_HW_SPI_CS
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); HAL_GPIO_WritePin(USE_SPI_CS_PORT, USE_SPI_CS_PIN, GPIO_PIN_SET);
#endif #endif
__HAL_SPI_DISABLE(hspi); __HAL_SPI_DISABLE(hspi);
return TPM_RC_FAILURE; return TPM_RC_FAILURE;
@ -187,7 +193,7 @@
#endif #endif
if (timeout <= 0) { if (timeout <= 0) {
#ifndef USE_HW_SPI_CS #ifndef USE_HW_SPI_CS
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); HAL_GPIO_WritePin(USE_SPI_CS_PORT, USE_SPI_CS_PIN, GPIO_PIN_SET);
#endif #endif
__HAL_SPI_DISABLE(hspi); __HAL_SPI_DISABLE(hspi);
return TPM_RC_FAILURE; return TPM_RC_FAILURE;
@ -206,7 +212,7 @@
#endif /* WOLFTPM_CHECK_WAIT_STATE */ #endif /* WOLFTPM_CHECK_WAIT_STATE */
#ifndef USE_HW_SPI_CS #ifndef USE_HW_SPI_CS
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); HAL_GPIO_WritePin(USE_SPI_CS_PORT, USE_SPI_CS_PIN, GPIO_PIN_SET);
#endif #endif
__HAL_SPI_DISABLE(hspi); __HAL_SPI_DISABLE(hspi);