diff --git a/core/Makefile b/core/Makefile index 1cdbfdd6b..daf553def 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1,3 +1,4 @@ + .PHONY: vendor # get the number of CPU cores in a "portable" manner @@ -61,6 +62,7 @@ else ifeq ($(TREZOR_MODEL),$(filter $(TREZOR_MODEL),T3T1)) MCU = STM32U5 OPENOCD_TARGET = target/stm32u5x.cfg LAYOUT_FILE = embed/models/T3T1/model_T3T1.h +MODEL_FEATURE = model_mercury else ifeq ($(TREZOR_MODEL),$(filter $(TREZOR_MODEL),DISC1)) MCU = STM32F4 LAYOUT_FILE = embed/models/D001/model_D001.h diff --git a/core/embed/rust/Cargo.toml b/core/embed/rust/Cargo.toml index fafd9bf59..26780a1fc 100644 --- a/core/embed/rust/Cargo.toml +++ b/core/embed/rust/Cargo.toml @@ -44,21 +44,22 @@ usb = [] optiga = [] translations = ["crypto"] test = [ + "backlight", "button", "cc", "crypto", + "dma2d", "debug", "glob", "micropython", + "new_rendering", + "optiga", "protobuf", + "touch", + "translations", "ui", "ui_jpeg_decoder", "ui_blurring", - "dma2d", - "touch", - "backlight", - "optiga", - "translations", "universal_fw", ] universal_fw = [] diff --git a/core/embed/rust/build.rs b/core/embed/rust/build.rs index e95c9678c..185f9b7a1 100644 --- a/core/embed/rust/build.rs +++ b/core/embed/rust/build.rs @@ -52,11 +52,23 @@ const DEFAULT_BINDGEN_MACROS_T2B1: &[&str] = &[ #[cfg(not(feature = "model_tr"))] const DEFAULT_BINDGEN_MACROS_T2B1: &[&str] = &[]; +#[cfg(feature = "model_mercury")] +const DEFAULT_BINDGEN_MACROS_T3T1: &[&str] = &[ + "-DSTM32U5", + "-DTREZOR_MODEL_T3T1", + "-DFLASH_BIT_ACCESS=0", + "-DFLASH_BLOCK_WORDS=4", + "-DTREZOR_BOARD=\"T3T1/boards/t3t1-unix.h\"", +]; +#[cfg(not(feature = "model_mercury"))] +const DEFAULT_BINDGEN_MACROS_T3T1: &[&str] = &[]; + fn add_bindgen_macros<'a>(clang_args: &mut Vec<&'a str>, envvar: Option<&'a str>) { let default_macros = DEFAULT_BINDGEN_MACROS_COMMON .iter() .chain(DEFAULT_BINDGEN_MACROS_T2T1) - .chain(DEFAULT_BINDGEN_MACROS_T2B1); + .chain(DEFAULT_BINDGEN_MACROS_T2B1) + .chain(DEFAULT_BINDGEN_MACROS_T3T1); match envvar { Some(envvar) => clang_args.extend(envvar.split(',')),