refactor(core): st-7789 renamed to i8080
What changed, and why it matters
This commit is a simple rename of the display driver from 'st-7789' to 'i8080' because the code supports more than just the ST7789 display controller. It only changes file paths, feature names, and include guards. There is no change to how the code works, and no security issue is present.
No security action needed. Treat as a normal non-security refactoring commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit refactors the display driver directory and feature flag from display_st7789 to display_i8080 to reflect that multiple panel controllers use the Intel 8080 parallel interface, not just the ST7789. Changes are limited to Cargo.toml feature names, build.rs source paths, board TOML driver references, and a header include-guard simplification in display_panel.h. No functional code changes are visible in the diff.
Changed components
core/embed/io/display driver build configurationcore/embed/models/T2T1/boards/hw.tomlcore/embed/models/T3T1/boards/revE.tomlcore/embed/models/T3T2/boards/devkit.tomlInspect captured patch +25 / −28
### core/embed/io/Cargo.toml
@@ -98,12 +98,12 @@ touch_panel_lx250a2410a = []
# Drivers below that always need framebuffer pull it in implicitly,
# so any project selecting them via the board peripheral chain doesn't have
-# to also advertise `framebuffer` in its project.toml. display_st7789 supports
+# to also advertise `framebuffer` in its project.toml. display_i8080 supports
# both modes — the model.toml decides.
# The emulator's unix driver is selected by display/build.rs (not a feature).
display_none = []
display_ltdc_dsi = ["framebuffer"]
-display_st7789 = []
+display_i8080 = []
display_vg2864 = ["framebuffer"]
display_stm32f429i_disc1 = ["framebuffer"]
### core/embed/io/display/build.rs
@@ -27,8 +27,8 @@ pub fn def_module(lib: &mut CLibrary) -> Result<()> {
add_driver_none(lib)?;
} else if cfg!(feature = "display_ltdc_dsi") {
add_driver_ltdc_dsi(lib)?;
- } else if cfg!(feature = "display_st7789") {
- add_driver_st7789(lib)?;
+ } else if cfg!(feature = "display_i8080") {
+ add_driver_i8080(lib)?;
} else if cfg!(feature = "display_vg2864") {
add_driver_vg2864(lib)?;
} else if cfg!(feature = "display_stm32f429i_disc1") {
@@ -160,46 +160,46 @@ fn add_driver_ltdc_dsi(lib: &mut CLibrary) -> Result<()> {
Ok(())
}
-fn add_driver_st7789(lib: &mut CLibrary) -> Result<()> {
+fn add_driver_i8080(lib: &mut CLibrary) -> Result<()> {
if cfg!(feature = "mcu_stm32u58") {
lib.add_sources([
- "display/st-7789/display_driver.c",
- "display/st-7789/display_io.c",
- "display/st-7789/display_panel.c",
+ "display/i8080/display_driver.c",
+ "display/i8080/display_io.c",
+ "display/i8080/display_panel.c",
]);
if cfg!(feature = "display_panel_lx154a2482") {
set_panel_lx154a2482(lib);
- lib.add_source("display/st-7789/panels/lx154a2482.c");
+ lib.add_source("display/i8080/panels/lx154a2482.c");
} else if cfg!(feature = "display_panel_dem240320b1") {
set_panel_dem240320b1(lib);
- lib.add_source("display/st-7789/panels/dem240320b1.c");
+ lib.add_source("display/i8080/panels/dem240320b1.c");
} else {
bail_unsupported!();
}
if cfg!(feature = "framebuffer") {
lib.add_sources([
"display/bg_copy/stm32u5/bg_copy.c",
"display/fb_queue/fb_queue.c",
- "display/st-7789/display_fb.c",
+ "display/i8080/display_fb.c",
]);
} else {
- lib.add_source("display/st-7789/display_nofb.c");
+ lib.add_source("display/i8080/display_nofb.c");
}
} else if cfg!(feature = "mcu_stm32f4") {
lib.add_sources([
- "display/st-7789/display_nofb.c",
- "display/st-7789/display_driver.c",
- "display/st-7789/display_io.c",
- "display/st-7789/display_panel.c",
+ "display/i8080/display_nofb.c",
+ "display/i8080/display_driver.c",
+ "display/i8080/display_io.c",
+ "display/i8080/display_panel.c",
]);
if cfg!(feature = "display_panel_t2t1") {
set_panel_t2t1(lib);
lib.add_sources([
- "display/st-7789/panels/t2t1.c",
- "display/st-7789/panels/tf15411a.c",
- "display/st-7789/panels/154a.c",
- "display/st-7789/panels/lx154a2411.c",
- "display/st-7789/panels/lx154a2422.c",
+ "display/i8080/panels/t2t1.c",
+ "display/i8080/panels/tf15411a.c",
+ "display/i8080/panels/154a.c",
+ "display/i8080/panels/lx154a2411.c",
+ "display/i8080/panels/lx154a2422.c",
]);
} else {
bail_unsupported!();
### core/embed/io/display/i8080/display_driver.c
[binary or diff unavailable]
### core/embed/io/display/i8080/display_fb.c
[binary or diff unavailable]
### core/embed/io/display/i8080/display_fb.h
[binary or diff unavailable]
### core/embed/io/display/i8080/display_internal.h
[binary or diff unavailable]
### core/embed/io/display/i8080/display_io.c
[binary or diff unavailable]
### core/embed/io/display/i8080/display_io.h
[binary or diff unavailable]
### core/embed/io/display/i8080/display_nofb.c
[binary or diff unavailable]
### core/embed/io/display/i8080/display_panel.c
[binary or diff unavailable]
### core/embed/io/display/i8080/display_panel.h
@@ -17,8 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef TREZORHAL_ST7789_PANEL_H
-#define TREZORHAL_ST7789_PANEL_H
+#pragma once
#include <trezor_types.h>
@@ -58,5 +57,3 @@ void display_panel_rotate(int angle);
#if defined(DISPLAY_PANEL_T2T1) && !defined(BOARDLOADER)
void display_panel_preserve_inversion(void);
#endif
-
-#endif // TREZORHAL_ST7789_PANEL_H
### core/embed/io/display/i8080/panels/154a.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/154a.h
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/dem240320b1.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/dem240320b1.h
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lhs200kb-if21.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lhs200kb-if21.h
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lx154a2411.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lx154a2411.h
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lx154a2422.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lx154a2422.h
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lx154a2482.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/lx154a2482.h
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/t2t1.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/t2t1.h
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/tf15411a.c
[binary or diff unavailable]
### core/embed/io/display/i8080/panels/tf15411a.h
[binary or diff unavailable]
### core/embed/models/T2T1/boards/hw.toml
@@ -2,7 +2,7 @@ header = "T2T1/boards/trezor_t.h"
emulator_header = "T2T1/boards/t2t1-unix.h"
[display]
-driver = "io/display_st7789"
+driver = "io/display_i8080"
panel = "io/display_panel_t2t1"
[backlight]
### core/embed/models/T3T1/boards/revE.toml
@@ -2,7 +2,7 @@ header = "T3T1/boards/trezor_t3t1_revE.h"
emulator_header = "T3T1/boards/t3t1-unix.h"
[display]
-driver = "io/display_st7789"
+driver = "io/display_i8080"
panel = "io/display_panel_lx154a2482"
[backlight]
### core/embed/models/T3T2/boards/devkit.toml
@@ -2,7 +2,7 @@ header = "T3T2/boards/devkit.h"
emulator_header = "T3T2/boards/unix.h"
[display]
-driver = "io/display_st7789"
+driver = "io/display_i8080"
panel = "io/display_panel_dem240320b1"
[backlight]Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.