From a48abdb57797c36cee73fc464028af5d587477ab Mon Sep 17 00:00:00 2001 From: cepetr Date: Wed, 21 May 2025 12:05:22 +0200 Subject: [PATCH] refactor(core): move tropic i/o definitions to t3w1 board [no changelog] --- .../models/T3W1/boards/trezor_t3w1_revA.h | 26 +++++++++++++ .../models/T3W1/boards/trezor_t3w1_revB.h | 26 +++++++++++++ .../models/T3W1/boards/trezor_t3w1_revC.h | 26 +++++++++++++ core/embed/sec/tropic/stm32/tropic01.c | 37 ++++--------------- 4 files changed, 86 insertions(+), 29 deletions(-) diff --git a/core/embed/models/T3W1/boards/trezor_t3w1_revA.h b/core/embed/models/T3W1/boards/trezor_t3w1_revA.h index 9e112e5eb3..b23d0c1d40 100644 --- a/core/embed/models/T3W1/boards/trezor_t3w1_revA.h +++ b/core/embed/models/T3W1/boards/trezor_t3w1_revA.h @@ -137,6 +137,32 @@ #define OPTIGA_PWR_PIN GPIO_PIN_14 #define OPTIGA_PWR_CLK_EN __HAL_RCC_GPIOD_CLK_ENABLE +#define TROPIC01_PWR_PORT GPIOB +#define TROPIC01_PWR_PIN GPIO_PIN_11 +#define TROPIC01_PWR_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_INT_PORT GPIOB +#define TROPIC01_INT_PIN GPIO_PIN_11 +#define TROPIC01_INT_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI SPI2 +#define TROPIC01_SPI_GTZC_PERIPH GTZC_PERIPH_SPI2 +#define TROPIC01_SPI_CLK_EN __HAL_RCC_SPI2_CLK_ENABLE +#define TROPIC01_SPI_CLK_DIS __HAL_RCC_SPI2_CLK_DISABLE +#define TROPIC01_SPI_FORCE_RESET __HAL_RCC_SPI2_FORCE_RESET +#define TROPIC01_SPI_RELEASE_RESET __HAL_RCC_SPI2_RELEASE_RESET +#define TROPIC01_SPI_PIN_AF GPIO_AF5_SPI2 +#define TROPIC01_SPI_SCK_PORT GPIOB +#define TROPIC01_SPI_SCK_PIN GPIO_PIN_13 +#define TROPIC01_SPI_SCK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_MISO_PORT GPIOB +#define TROPIC01_SPI_MISO_PIN GPIO_PIN_14 +#define TROPIC01_SPI_MISO_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_MOSI_PORT GPIOB +#define TROPIC01_SPI_MOSI_PIN GPIO_PIN_15 +#define TROPIC01_SPI_MOSI_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_NSS_PORT GPIOI +#define TROPIC01_SPI_NSS_PIN GPIO_PIN_0 +#define TROPIC01_SPI_NSS_EN __HAL_RCC_GPIOI_CLK_ENABLE + #define SBU_1_PIN GPIO_PIN_8 #define SBU_1_PORT GPIOC #define SBU_1_CLK_ENA __HAL_RCC_GPIOC_CLK_ENABLE diff --git a/core/embed/models/T3W1/boards/trezor_t3w1_revB.h b/core/embed/models/T3W1/boards/trezor_t3w1_revB.h index 753a725565..c6af8105de 100644 --- a/core/embed/models/T3W1/boards/trezor_t3w1_revB.h +++ b/core/embed/models/T3W1/boards/trezor_t3w1_revB.h @@ -137,6 +137,32 @@ #define OPTIGA_PWR_PIN GPIO_PIN_14 #define OPTIGA_PWR_CLK_EN __HAL_RCC_GPIOD_CLK_ENABLE +#define TROPIC01_PWR_PORT GPIOB +#define TROPIC01_PWR_PIN GPIO_PIN_11 +#define TROPIC01_PWR_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_INT_PORT GPIOB +#define TROPIC01_INT_PIN GPIO_PIN_11 +#define TROPIC01_INT_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI SPI2 +#define TROPIC01_SPI_GTZC_PERIPH GTZC_PERIPH_SPI2 +#define TROPIC01_SPI_CLK_EN __HAL_RCC_SPI2_CLK_ENABLE +#define TROPIC01_SPI_CLK_DIS __HAL_RCC_SPI2_CLK_DISABLE +#define TROPIC01_SPI_FORCE_RESET __HAL_RCC_SPI2_FORCE_RESET +#define TROPIC01_SPI_RELEASE_RESET __HAL_RCC_SPI2_RELEASE_RESET +#define TROPIC01_SPI_PIN_AF GPIO_AF5_SPI2 +#define TROPIC01_SPI_SCK_PORT GPIOB +#define TROPIC01_SPI_SCK_PIN GPIO_PIN_13 +#define TROPIC01_SPI_SCK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_MISO_PORT GPIOB +#define TROPIC01_SPI_MISO_PIN GPIO_PIN_14 +#define TROPIC01_SPI_MISO_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_MOSI_PORT GPIOB +#define TROPIC01_SPI_MOSI_PIN GPIO_PIN_15 +#define TROPIC01_SPI_MOSI_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_NSS_PORT GPIOI +#define TROPIC01_SPI_NSS_PIN GPIO_PIN_0 +#define TROPIC01_SPI_NSS_EN __HAL_RCC_GPIOI_CLK_ENABLE + #define SBU_1_PIN GPIO_PIN_8 #define SBU_1_PORT GPIOC #define SBU_1_CLK_ENA __HAL_RCC_GPIOC_CLK_ENABLE diff --git a/core/embed/models/T3W1/boards/trezor_t3w1_revC.h b/core/embed/models/T3W1/boards/trezor_t3w1_revC.h index 1c143efcb4..a05d3d2c45 100644 --- a/core/embed/models/T3W1/boards/trezor_t3w1_revC.h +++ b/core/embed/models/T3W1/boards/trezor_t3w1_revC.h @@ -155,6 +155,32 @@ #define OPTIGA_PWR_PIN GPIO_PIN_14 #define OPTIGA_PWR_CLK_EN __HAL_RCC_GPIOD_CLK_ENABLE +#define TROPIC01_PWR_PORT GPIOB +#define TROPIC01_PWR_PIN GPIO_PIN_11 +#define TROPIC01_PWR_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_INT_PORT GPIOB +#define TROPIC01_INT_PIN GPIO_PIN_11 +#define TROPIC01_INT_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI SPI2 +#define TROPIC01_SPI_GTZC_PERIPH GTZC_PERIPH_SPI2 +#define TROPIC01_SPI_CLK_EN __HAL_RCC_SPI2_CLK_ENABLE +#define TROPIC01_SPI_CLK_DIS __HAL_RCC_SPI2_CLK_DISABLE +#define TROPIC01_SPI_FORCE_RESET __HAL_RCC_SPI2_FORCE_RESET +#define TROPIC01_SPI_RELEASE_RESET __HAL_RCC_SPI2_RELEASE_RESET +#define TROPIC01_SPI_PIN_AF GPIO_AF5_SPI2 +#define TROPIC01_SPI_SCK_PORT GPIOB +#define TROPIC01_SPI_SCK_PIN GPIO_PIN_13 +#define TROPIC01_SPI_SCK_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_MISO_PORT GPIOB +#define TROPIC01_SPI_MISO_PIN GPIO_PIN_14 +#define TROPIC01_SPI_MISO_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_MOSI_PORT GPIOB +#define TROPIC01_SPI_MOSI_PIN GPIO_PIN_15 +#define TROPIC01_SPI_MOSI_EN __HAL_RCC_GPIOB_CLK_ENABLE +#define TROPIC01_SPI_NSS_PORT GPIOI +#define TROPIC01_SPI_NSS_PIN GPIO_PIN_0 +#define TROPIC01_SPI_NSS_EN __HAL_RCC_GPIOI_CLK_ENABLE + #define SBU_1_PIN GPIO_PIN_8 #define SBU_1_PORT GPIOC #define SBU_1_CLK_ENA __HAL_RCC_GPIOC_CLK_ENABLE diff --git a/core/embed/sec/tropic/stm32/tropic01.c b/core/embed/sec/tropic/stm32/tropic01.c index d95e84dbcd..3e91f54751 100644 --- a/core/embed/sec/tropic/stm32/tropic01.c +++ b/core/embed/sec/tropic/stm32/tropic01.c @@ -27,27 +27,6 @@ #include #include -#define TROPIC01_PWR_PORT GPIOB -#define TROPIC01_PWR_PIN GPIO_PIN_11 -#define TROPIC01_PWR_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE - -#define TROPIC01_INT_PORT GPIOB -#define TROPIC01_INT_PIN GPIO_PIN_11 -#define TROPIC01_INT_CLK_EN __HAL_RCC_GPIOB_CLK_ENABLE - -#define TROPIC01_SPI_SCK_PORT GPIOB -#define TROPIC01_SPI_SCK_PIN GPIO_PIN_13 -#define TROPIC01_SPI_SCK_EN __HAL_RCC_GPIOB_CLK_ENABLE -#define TROPIC01_SPI_MISO_PORT GPIOB -#define TROPIC01_SPI_MISO_PIN GPIO_PIN_14 -#define TROPIC01_SPI_MISO_EN __HAL_RCC_GPIOB_CLK_ENABLE -#define TROPIC01_SPI_MOSI_PORT GPIOB -#define TROPIC01_SPI_MOSI_PIN GPIO_PIN_15 -#define TROPIC01_SPI_MOSI_EN __HAL_RCC_GPIOB_CLK_ENABLE -#define TROPIC01_SPI_NSS_PORT GPIOI -#define TROPIC01_SPI_NSS_PIN GPIO_PIN_0 -#define TROPIC01_SPI_NSS_EN __HAL_RCC_GPIOI_CLK_ENABLE - typedef struct { bool initialized; SPI_HandleTypeDef spi; @@ -107,7 +86,7 @@ bool tropic_hal_init(void) { GPIO_InitStructure.Mode = GPIO_MODE_AF_PP; GPIO_InitStructure.Pull = GPIO_NOPULL; GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - GPIO_InitStructure.Alternate = GPIO_AF5_SPI2; + GPIO_InitStructure.Alternate = TROPIC01_SPI_PIN_AF; GPIO_InitStructure.Pin = TROPIC01_SPI_SCK_PIN; HAL_GPIO_Init(TROPIC01_SPI_SCK_PORT, &GPIO_InitStructure); @@ -118,11 +97,11 @@ bool tropic_hal_init(void) { GPIO_InitStructure.Pin = TROPIC01_SPI_MOSI_PIN; HAL_GPIO_Init(TROPIC01_SPI_MOSI_PORT, &GPIO_InitStructure); - __HAL_RCC_SPI2_CLK_ENABLE(); - __HAL_RCC_SPI2_FORCE_RESET(); - __HAL_RCC_SPI2_RELEASE_RESET(); + TROPIC01_SPI_CLK_EN(); + TROPIC01_SPI_FORCE_RESET(); + TROPIC01_SPI_RELEASE_RESET(); - drv->spi.Instance = SPI2; + drv->spi.Instance = TROPIC01_SPI; drv->spi.Init.Mode = SPI_MODE_MASTER; drv->spi.Init.Direction = SPI_DIRECTION_2LINES; drv->spi.Init.DataSize = SPI_DATASIZE_8BIT; @@ -149,9 +128,9 @@ void tropic_hal_deinit(void) { HAL_SPI_DeInit(&drv->spi); } - __HAL_RCC_SPI2_FORCE_RESET(); - __HAL_RCC_SPI2_RELEASE_RESET(); - __HAL_RCC_SPI2_CLK_DISABLE(); + TROPIC01_SPI_FORCE_RESET(); + TROPIC01_SPI_RELEASE_RESET(); + TROPIC01_SPI_CLK_DIS(); HAL_GPIO_DeInit(TROPIC01_INT_PORT, TROPIC01_INT_PIN); HAL_GPIO_DeInit(TROPIC01_PWR_PORT, TROPIC01_PWR_PIN);