From 029a7c35d85664f7528c5cb7af6ec683e5a5250a Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Mon, 6 Feb 2017 15:38:45 +0100 Subject: [PATCH] reorganize code --- extmod/modtrezorconfig/norcow.c | 1 - extmod/modtrezorconfig/norcow.h | 1 - extmod/modtrezorcrypto/trezor-crypto | 1 - extmod/modtrezorui/trezor-qrenc | 1 - .../extmod}/modtrezorconfig/modtrezorconfig.c | 0 micropython/extmod/modtrezorconfig/norcow.c | 1 + micropython/extmod/modtrezorconfig/norcow.h | 1 + .../extmod}/modtrezorconfig/norcow_config.h | 0 .../modtrezorcrypto/modtrezorcrypto-aes.h | 0 .../modtrezorcrypto/modtrezorcrypto-bip32.h | 0 .../modtrezorcrypto/modtrezorcrypto-bip39.h | 0 .../modtrezorcrypto/modtrezorcrypto-blake2s.h | 0 .../modtrezorcrypto-curve25519.h | 0 .../modtrezorcrypto/modtrezorcrypto-ed25519.h | 0 .../modtrezorcrypto-nist256p1.h | 0 .../modtrezorcrypto/modtrezorcrypto-pbkdf2.h | 0 .../modtrezorcrypto/modtrezorcrypto-random.h | 0 .../modtrezorcrypto-ripemd160.h | 0 .../modtrezorcrypto-secp256k1.h | 0 .../modtrezorcrypto/modtrezorcrypto-sha1.h | 0 .../modtrezorcrypto/modtrezorcrypto-sha256.h | 0 .../modtrezorcrypto-sha3-256.h | 0 .../modtrezorcrypto-sha3-512.h | 0 .../modtrezorcrypto/modtrezorcrypto-sha512.h | 0 .../modtrezorcrypto/modtrezorcrypto-ssss.h | 0 .../extmod}/modtrezorcrypto/modtrezorcrypto.c | 0 .../extmod}/modtrezorcrypto/rand.c | 0 .../extmod}/modtrezorcrypto/rand.h | 0 .../extmod}/modtrezorcrypto/ssss.c | 0 .../extmod}/modtrezorcrypto/ssss.h | 0 .../extmod/modtrezorcrypto/trezor-crypto | 1 + .../extmod}/modtrezordebug/modtrezordebug.c | 0 .../modtrezormsg/modtrezormsg-stmhal.h | 0 .../extmod}/modtrezormsg/modtrezormsg-unix.h | 0 .../extmod}/modtrezormsg/modtrezormsg.c | 0 .../extmod}/modtrezorui/display-stmhal.h | 0 .../extmod}/modtrezorui/display-unix-null.h | 0 .../extmod}/modtrezorui/display-unix-sdl.h | 0 .../extmod}/modtrezorui/display.c | 0 .../extmod}/modtrezorui/display.h | 0 .../extmod}/modtrezorui/font_roboto_bold_20.c | 0 .../extmod}/modtrezorui/font_roboto_bold_20.h | 0 .../modtrezorui/font_roboto_regular_20.c | 0 .../modtrezorui/font_roboto_regular_20.h | 0 .../modtrezorui/font_robotomono_regular_20.c | 0 .../modtrezorui/font_robotomono_regular_20.h | 0 .../extmod}/modtrezorui/inflate.c | 0 .../extmod}/modtrezorui/inflate.h | 0 .../extmod}/modtrezorui/loader.h | 0 .../extmod}/modtrezorui/loader_gen.py | 0 .../extmod}/modtrezorui/modtrezorui-display.h | 0 .../extmod}/modtrezorui/modtrezorui.c | 0 micropython/extmod/modtrezorui/trezor-qrenc | 1 + .../extmod}/modtrezorutils/modtrezorutils.c | 0 .../stmhal}/Makefile.bootloader | 0 .../stmhal/boards/TREZORV2/mpconfigboard.h | 41 ++ .../stmhal/boards/TREZORV2/mpconfigboard.mk | 4 + micropython/stmhal/boards/TREZORV2/pins.csv | 32 ++ .../boards/TREZORV2/stm32f4xx_hal_conf.h | 411 ++++++++++++++++++ .../stmhal/boards/TREZORV2/trezorv2.ld | 120 +++++ .../stmhal/bootloader}/bootloader.c | 0 .../stmhal/bootloader}/crypto.c | 0 .../stmhal/bootloader}/crypto.h | 0 .../stmhal/bootloader}/toi_trezor.h | 0 .../stmhal/bootloader}/ui-mockup/bl_common.py | 0 .../stmhal/bootloader}/ui-mockup/boot_info.py | 0 .../stmhal/bootloader}/ui-mockup/boot_init.py | 0 .../stmhal/bootloader}/ui-mockup/boot_nofw.py | 0 .../bootloader}/ui-mockup/boot_unsigned.py | 0 .../bootloader}/ui-mockup/install_fail.py | 0 .../bootloader}/ui-mockup/install_fw.py | 0 .../ui-mockup/install_fw_really.py | 0 .../bootloader}/ui-mockup/install_ok.py | 0 .../bootloader}/ui-mockup/install_progress.py | 0 .../bootloader}/ui-mockup/install_u_fw.py | 0 .../bootloader}/ui-mockup/res/bootloader.toig | Bin .../bootloader}/ui-mockup/res/sl_logo.toif | Bin .../ui-mockup/res/trezor_logo.toif | Bin .../stmhal/bootloader}/ui.c | 0 .../stmhal/bootloader}/ui.h | 0 vendor/micropython | 2 +- 81 files changed, 613 insertions(+), 5 deletions(-) delete mode 120000 extmod/modtrezorconfig/norcow.c delete mode 120000 extmod/modtrezorconfig/norcow.h delete mode 120000 extmod/modtrezorcrypto/trezor-crypto delete mode 120000 extmod/modtrezorui/trezor-qrenc rename {extmod => micropython/extmod}/modtrezorconfig/modtrezorconfig.c (100%) create mode 120000 micropython/extmod/modtrezorconfig/norcow.c create mode 120000 micropython/extmod/modtrezorconfig/norcow.h rename {extmod => micropython/extmod}/modtrezorconfig/norcow_config.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-aes.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-bip32.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-bip39.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-blake2s.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-curve25519.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-ed25519.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-nist256p1.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-pbkdf2.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-random.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-ripemd160.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-secp256k1.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-sha1.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-sha256.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-sha3-256.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-sha3-512.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-sha512.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto-ssss.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/modtrezorcrypto.c (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/rand.c (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/rand.h (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/ssss.c (100%) rename {extmod => micropython/extmod}/modtrezorcrypto/ssss.h (100%) create mode 120000 micropython/extmod/modtrezorcrypto/trezor-crypto rename {extmod => micropython/extmod}/modtrezordebug/modtrezordebug.c (100%) rename {extmod => micropython/extmod}/modtrezormsg/modtrezormsg-stmhal.h (100%) rename {extmod => micropython/extmod}/modtrezormsg/modtrezormsg-unix.h (100%) rename {extmod => micropython/extmod}/modtrezormsg/modtrezormsg.c (100%) rename {extmod => micropython/extmod}/modtrezorui/display-stmhal.h (100%) rename {extmod => micropython/extmod}/modtrezorui/display-unix-null.h (100%) rename {extmod => micropython/extmod}/modtrezorui/display-unix-sdl.h (100%) rename {extmod => micropython/extmod}/modtrezorui/display.c (100%) rename {extmod => micropython/extmod}/modtrezorui/display.h (100%) rename {extmod => micropython/extmod}/modtrezorui/font_roboto_bold_20.c (100%) rename {extmod => micropython/extmod}/modtrezorui/font_roboto_bold_20.h (100%) rename {extmod => micropython/extmod}/modtrezorui/font_roboto_regular_20.c (100%) rename {extmod => micropython/extmod}/modtrezorui/font_roboto_regular_20.h (100%) rename {extmod => micropython/extmod}/modtrezorui/font_robotomono_regular_20.c (100%) rename {extmod => micropython/extmod}/modtrezorui/font_robotomono_regular_20.h (100%) rename {extmod => micropython/extmod}/modtrezorui/inflate.c (100%) rename {extmod => micropython/extmod}/modtrezorui/inflate.h (100%) rename {extmod => micropython/extmod}/modtrezorui/loader.h (100%) rename {extmod => micropython/extmod}/modtrezorui/loader_gen.py (100%) rename {extmod => micropython/extmod}/modtrezorui/modtrezorui-display.h (100%) rename {extmod => micropython/extmod}/modtrezorui/modtrezorui.c (100%) create mode 120000 micropython/extmod/modtrezorui/trezor-qrenc rename {extmod => micropython/extmod}/modtrezorutils/modtrezorutils.c (100%) rename {bootloader => micropython/stmhal}/Makefile.bootloader (100%) create mode 100644 micropython/stmhal/boards/TREZORV2/mpconfigboard.h create mode 100644 micropython/stmhal/boards/TREZORV2/mpconfigboard.mk create mode 100644 micropython/stmhal/boards/TREZORV2/pins.csv create mode 100644 micropython/stmhal/boards/TREZORV2/stm32f4xx_hal_conf.h create mode 100644 micropython/stmhal/boards/TREZORV2/trezorv2.ld rename {bootloader => micropython/stmhal/bootloader}/bootloader.c (100%) rename {bootloader => micropython/stmhal/bootloader}/crypto.c (100%) rename {bootloader => micropython/stmhal/bootloader}/crypto.h (100%) rename {bootloader => micropython/stmhal/bootloader}/toi_trezor.h (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/bl_common.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/boot_info.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/boot_init.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/boot_nofw.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/boot_unsigned.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/install_fail.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/install_fw.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/install_fw_really.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/install_ok.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/install_progress.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/install_u_fw.py (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/res/bootloader.toig (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/res/sl_logo.toif (100%) rename {bootloader => micropython/stmhal/bootloader}/ui-mockup/res/trezor_logo.toif (100%) rename {bootloader => micropython/stmhal/bootloader}/ui.c (100%) rename {bootloader => micropython/stmhal/bootloader}/ui.h (100%) diff --git a/extmod/modtrezorconfig/norcow.c b/extmod/modtrezorconfig/norcow.c deleted file mode 120000 index 8222de0a66..0000000000 --- a/extmod/modtrezorconfig/norcow.c +++ /dev/null @@ -1 +0,0 @@ -../../vendor/norcow/norcow.c \ No newline at end of file diff --git a/extmod/modtrezorconfig/norcow.h b/extmod/modtrezorconfig/norcow.h deleted file mode 120000 index a4a69374e6..0000000000 --- a/extmod/modtrezorconfig/norcow.h +++ /dev/null @@ -1 +0,0 @@ -../../vendor/norcow/norcow.h \ No newline at end of file diff --git a/extmod/modtrezorcrypto/trezor-crypto b/extmod/modtrezorcrypto/trezor-crypto deleted file mode 120000 index e533d16294..0000000000 --- a/extmod/modtrezorcrypto/trezor-crypto +++ /dev/null @@ -1 +0,0 @@ -../../vendor/trezor-crypto \ No newline at end of file diff --git a/extmod/modtrezorui/trezor-qrenc b/extmod/modtrezorui/trezor-qrenc deleted file mode 120000 index 7ba63758bf..0000000000 --- a/extmod/modtrezorui/trezor-qrenc +++ /dev/null @@ -1 +0,0 @@ -../../vendor/trezor-qrenc \ No newline at end of file diff --git a/extmod/modtrezorconfig/modtrezorconfig.c b/micropython/extmod/modtrezorconfig/modtrezorconfig.c similarity index 100% rename from extmod/modtrezorconfig/modtrezorconfig.c rename to micropython/extmod/modtrezorconfig/modtrezorconfig.c diff --git a/micropython/extmod/modtrezorconfig/norcow.c b/micropython/extmod/modtrezorconfig/norcow.c new file mode 120000 index 0000000000..0c15ca2f96 --- /dev/null +++ b/micropython/extmod/modtrezorconfig/norcow.c @@ -0,0 +1 @@ +../../../vendor/norcow/norcow.c \ No newline at end of file diff --git a/micropython/extmod/modtrezorconfig/norcow.h b/micropython/extmod/modtrezorconfig/norcow.h new file mode 120000 index 0000000000..f33ecb1577 --- /dev/null +++ b/micropython/extmod/modtrezorconfig/norcow.h @@ -0,0 +1 @@ +../../../vendor/norcow/norcow.h \ No newline at end of file diff --git a/extmod/modtrezorconfig/norcow_config.h b/micropython/extmod/modtrezorconfig/norcow_config.h similarity index 100% rename from extmod/modtrezorconfig/norcow_config.h rename to micropython/extmod/modtrezorconfig/norcow_config.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-aes.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-aes.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-aes.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-aes.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-bip32.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-bip32.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-bip32.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-bip32.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-bip39.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-blake2s.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-blake2s.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-blake2s.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-blake2s.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-curve25519.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-curve25519.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-curve25519.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-curve25519.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-ed25519.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-nist256p1.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-pbkdf2.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-pbkdf2.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-pbkdf2.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-pbkdf2.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-random.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-random.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-random.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-random.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-ripemd160.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-ripemd160.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-ripemd160.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-ripemd160.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-secp256k1.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-sha1.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha1.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-sha1.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha1.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-sha256.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha256.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-sha256.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha256.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-sha3-256.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha3-256.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-sha3-256.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha3-256.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-sha3-512.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha3-512.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-sha3-512.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha3-512.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-sha512.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha512.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-sha512.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-sha512.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto-ssss.h b/micropython/extmod/modtrezorcrypto/modtrezorcrypto-ssss.h similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto-ssss.h rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto-ssss.h diff --git a/extmod/modtrezorcrypto/modtrezorcrypto.c b/micropython/extmod/modtrezorcrypto/modtrezorcrypto.c similarity index 100% rename from extmod/modtrezorcrypto/modtrezorcrypto.c rename to micropython/extmod/modtrezorcrypto/modtrezorcrypto.c diff --git a/extmod/modtrezorcrypto/rand.c b/micropython/extmod/modtrezorcrypto/rand.c similarity index 100% rename from extmod/modtrezorcrypto/rand.c rename to micropython/extmod/modtrezorcrypto/rand.c diff --git a/extmod/modtrezorcrypto/rand.h b/micropython/extmod/modtrezorcrypto/rand.h similarity index 100% rename from extmod/modtrezorcrypto/rand.h rename to micropython/extmod/modtrezorcrypto/rand.h diff --git a/extmod/modtrezorcrypto/ssss.c b/micropython/extmod/modtrezorcrypto/ssss.c similarity index 100% rename from extmod/modtrezorcrypto/ssss.c rename to micropython/extmod/modtrezorcrypto/ssss.c diff --git a/extmod/modtrezorcrypto/ssss.h b/micropython/extmod/modtrezorcrypto/ssss.h similarity index 100% rename from extmod/modtrezorcrypto/ssss.h rename to micropython/extmod/modtrezorcrypto/ssss.h diff --git a/micropython/extmod/modtrezorcrypto/trezor-crypto b/micropython/extmod/modtrezorcrypto/trezor-crypto new file mode 120000 index 0000000000..9c7958818e --- /dev/null +++ b/micropython/extmod/modtrezorcrypto/trezor-crypto @@ -0,0 +1 @@ +../../../vendor/trezor-crypto \ No newline at end of file diff --git a/extmod/modtrezordebug/modtrezordebug.c b/micropython/extmod/modtrezordebug/modtrezordebug.c similarity index 100% rename from extmod/modtrezordebug/modtrezordebug.c rename to micropython/extmod/modtrezordebug/modtrezordebug.c diff --git a/extmod/modtrezormsg/modtrezormsg-stmhal.h b/micropython/extmod/modtrezormsg/modtrezormsg-stmhal.h similarity index 100% rename from extmod/modtrezormsg/modtrezormsg-stmhal.h rename to micropython/extmod/modtrezormsg/modtrezormsg-stmhal.h diff --git a/extmod/modtrezormsg/modtrezormsg-unix.h b/micropython/extmod/modtrezormsg/modtrezormsg-unix.h similarity index 100% rename from extmod/modtrezormsg/modtrezormsg-unix.h rename to micropython/extmod/modtrezormsg/modtrezormsg-unix.h diff --git a/extmod/modtrezormsg/modtrezormsg.c b/micropython/extmod/modtrezormsg/modtrezormsg.c similarity index 100% rename from extmod/modtrezormsg/modtrezormsg.c rename to micropython/extmod/modtrezormsg/modtrezormsg.c diff --git a/extmod/modtrezorui/display-stmhal.h b/micropython/extmod/modtrezorui/display-stmhal.h similarity index 100% rename from extmod/modtrezorui/display-stmhal.h rename to micropython/extmod/modtrezorui/display-stmhal.h diff --git a/extmod/modtrezorui/display-unix-null.h b/micropython/extmod/modtrezorui/display-unix-null.h similarity index 100% rename from extmod/modtrezorui/display-unix-null.h rename to micropython/extmod/modtrezorui/display-unix-null.h diff --git a/extmod/modtrezorui/display-unix-sdl.h b/micropython/extmod/modtrezorui/display-unix-sdl.h similarity index 100% rename from extmod/modtrezorui/display-unix-sdl.h rename to micropython/extmod/modtrezorui/display-unix-sdl.h diff --git a/extmod/modtrezorui/display.c b/micropython/extmod/modtrezorui/display.c similarity index 100% rename from extmod/modtrezorui/display.c rename to micropython/extmod/modtrezorui/display.c diff --git a/extmod/modtrezorui/display.h b/micropython/extmod/modtrezorui/display.h similarity index 100% rename from extmod/modtrezorui/display.h rename to micropython/extmod/modtrezorui/display.h diff --git a/extmod/modtrezorui/font_roboto_bold_20.c b/micropython/extmod/modtrezorui/font_roboto_bold_20.c similarity index 100% rename from extmod/modtrezorui/font_roboto_bold_20.c rename to micropython/extmod/modtrezorui/font_roboto_bold_20.c diff --git a/extmod/modtrezorui/font_roboto_bold_20.h b/micropython/extmod/modtrezorui/font_roboto_bold_20.h similarity index 100% rename from extmod/modtrezorui/font_roboto_bold_20.h rename to micropython/extmod/modtrezorui/font_roboto_bold_20.h diff --git a/extmod/modtrezorui/font_roboto_regular_20.c b/micropython/extmod/modtrezorui/font_roboto_regular_20.c similarity index 100% rename from extmod/modtrezorui/font_roboto_regular_20.c rename to micropython/extmod/modtrezorui/font_roboto_regular_20.c diff --git a/extmod/modtrezorui/font_roboto_regular_20.h b/micropython/extmod/modtrezorui/font_roboto_regular_20.h similarity index 100% rename from extmod/modtrezorui/font_roboto_regular_20.h rename to micropython/extmod/modtrezorui/font_roboto_regular_20.h diff --git a/extmod/modtrezorui/font_robotomono_regular_20.c b/micropython/extmod/modtrezorui/font_robotomono_regular_20.c similarity index 100% rename from extmod/modtrezorui/font_robotomono_regular_20.c rename to micropython/extmod/modtrezorui/font_robotomono_regular_20.c diff --git a/extmod/modtrezorui/font_robotomono_regular_20.h b/micropython/extmod/modtrezorui/font_robotomono_regular_20.h similarity index 100% rename from extmod/modtrezorui/font_robotomono_regular_20.h rename to micropython/extmod/modtrezorui/font_robotomono_regular_20.h diff --git a/extmod/modtrezorui/inflate.c b/micropython/extmod/modtrezorui/inflate.c similarity index 100% rename from extmod/modtrezorui/inflate.c rename to micropython/extmod/modtrezorui/inflate.c diff --git a/extmod/modtrezorui/inflate.h b/micropython/extmod/modtrezorui/inflate.h similarity index 100% rename from extmod/modtrezorui/inflate.h rename to micropython/extmod/modtrezorui/inflate.h diff --git a/extmod/modtrezorui/loader.h b/micropython/extmod/modtrezorui/loader.h similarity index 100% rename from extmod/modtrezorui/loader.h rename to micropython/extmod/modtrezorui/loader.h diff --git a/extmod/modtrezorui/loader_gen.py b/micropython/extmod/modtrezorui/loader_gen.py similarity index 100% rename from extmod/modtrezorui/loader_gen.py rename to micropython/extmod/modtrezorui/loader_gen.py diff --git a/extmod/modtrezorui/modtrezorui-display.h b/micropython/extmod/modtrezorui/modtrezorui-display.h similarity index 100% rename from extmod/modtrezorui/modtrezorui-display.h rename to micropython/extmod/modtrezorui/modtrezorui-display.h diff --git a/extmod/modtrezorui/modtrezorui.c b/micropython/extmod/modtrezorui/modtrezorui.c similarity index 100% rename from extmod/modtrezorui/modtrezorui.c rename to micropython/extmod/modtrezorui/modtrezorui.c diff --git a/micropython/extmod/modtrezorui/trezor-qrenc b/micropython/extmod/modtrezorui/trezor-qrenc new file mode 120000 index 0000000000..965b822ffe --- /dev/null +++ b/micropython/extmod/modtrezorui/trezor-qrenc @@ -0,0 +1 @@ +../../../vendor/trezor-qrenc \ No newline at end of file diff --git a/extmod/modtrezorutils/modtrezorutils.c b/micropython/extmod/modtrezorutils/modtrezorutils.c similarity index 100% rename from extmod/modtrezorutils/modtrezorutils.c rename to micropython/extmod/modtrezorutils/modtrezorutils.c diff --git a/bootloader/Makefile.bootloader b/micropython/stmhal/Makefile.bootloader similarity index 100% rename from bootloader/Makefile.bootloader rename to micropython/stmhal/Makefile.bootloader diff --git a/micropython/stmhal/boards/TREZORV2/mpconfigboard.h b/micropython/stmhal/boards/TREZORV2/mpconfigboard.h new file mode 100644 index 0000000000..1422867fd9 --- /dev/null +++ b/micropython/stmhal/boards/TREZORV2/mpconfigboard.h @@ -0,0 +1,41 @@ +#define MICROPY_HW_BOARD_NAME "TREZORv2" +#define MICROPY_HW_MCU_NAME "STM32F405VG" +#define MICROPY_PY_SYS_PLATFORM "trezor" + +#define MICROPY_HW_HAS_SWITCH (0) +#define MICROPY_HW_HAS_FLASH (0) +#define MICROPY_HW_HAS_SDCARD (1) +#define MICROPY_HW_HAS_MMA7660 (0) +#define MICROPY_HW_HAS_LIS3DSH (0) +#define MICROPY_HW_HAS_LCD (0) +#define MICROPY_HW_ENABLE_RNG (1) +#define MICROPY_HW_ENABLE_RTC (0) +#define MICROPY_HW_ENABLE_TIMER (1) +#define MICROPY_HW_ENABLE_SERVO (0) +#define MICROPY_HW_ENABLE_DAC (0) +#define MICROPY_HW_ENABLE_CAN (0) + +// HSE is 8MHz +#define MICROPY_HW_CLK_PLLM (8) +#define MICROPY_HW_CLK_PLLN (336) +#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2) +#define MICROPY_HW_CLK_PLLQ (7) +#define MICROPY_HW_CLK_LAST_FREQ (1) + +// I2C busses +#define MICROPY_HW_I2C1_NAME "X" +#define MICROPY_HW_I2C1_SCL (pin_B6) +#define MICROPY_HW_I2C1_SDA (pin_B7) + +// The board has 2 LEDs +#define MICROPY_HW_LED1 (pin_C6) +#define MICROPY_HW_LED2 (pin_B13) +#define MICROPY_HW_LED2_PWM { TIM1, 1, TIM_CHANNEL_1, GPIO_AF1_TIM1 } +#define MICROPY_HW_LED_OTYPE (GPIO_MODE_OUTPUT_PP) +#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) +#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) + +// SD card detect switch +#define MICROPY_HW_SDCARD_DETECT_PIN (pin_C13) +#define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP) +#define MICROPY_HW_SDCARD_DETECT_PRESENT (GPIO_PIN_RESET) diff --git a/micropython/stmhal/boards/TREZORV2/mpconfigboard.mk b/micropython/stmhal/boards/TREZORV2/mpconfigboard.mk new file mode 100644 index 0000000000..ecdc16799c --- /dev/null +++ b/micropython/stmhal/boards/TREZORV2/mpconfigboard.mk @@ -0,0 +1,4 @@ +MCU_SERIES = f4 +CMSIS_MCU = STM32F405xx +AF_FILE = boards/stm32f405_af.csv +LD_FILE = boards/TREZORV2/trezorv2.ld diff --git a/micropython/stmhal/boards/TREZORV2/pins.csv b/micropython/stmhal/boards/TREZORV2/pins.csv new file mode 100644 index 0000000000..2d3fc20172 --- /dev/null +++ b/micropython/stmhal/boards/TREZORV2/pins.csv @@ -0,0 +1,32 @@ +LED,PC6 + +X9,PB6 +X10,PB7 + +SD_D0,PC8 +SD_D1,PC9 +SD_D2,PC10 +SD_D3,PC11 +SD_CMD,PD2 +SD_CK,PC12 +SD,PC13 +SD_SW,PC13 + +USB_DM,PA11 +USB_DP,PA12 + +LCD_RST,PC14 +LCD_CS,PD7 +LCD_RS,PD11 +LCD_RD,PD4 +LCD_WR,PD5 +LCD_PWM,PB13 + +LCD_D0,PD14 +LCD_D1,PD15 +LCD_D2,PD0 +LCD_D3,PD1 +LCD_D4,PE7 +LCD_D5,PE8 +LCD_D6,PE9 +LCD_D7,PE10 diff --git a/micropython/stmhal/boards/TREZORV2/stm32f4xx_hal_conf.h b/micropython/stmhal/boards/TREZORV2/stm32f4xx_hal_conf.h new file mode 100644 index 0000000000..89284d4efc --- /dev/null +++ b/micropython/stmhal/boards/TREZORV2/stm32f4xx_hal_conf.h @@ -0,0 +1,411 @@ +/** + ****************************************************************************** + * @file stm32f4xx_hal_conf.h + * @author MCD Application Team + * @version V1.1.0 + * @date 19-June-2014 + * @brief HAL configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT(c) 2014 STMicroelectronics

+ * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F4xx_HAL_CONF_H +#define __STM32F4xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +#define USE_USB_FS + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +#define HAL_ADC_MODULE_ENABLED +#define HAL_CAN_MODULE_ENABLED +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +#define HAL_DAC_MODULE_ENABLED +/* #define HAL_DCMI_MODULE_ENABLED */ +#define HAL_DMA_MODULE_ENABLED +/* #define HAL_DMA2D_MODULE_ENABLED */ +/* #define HAL_ETH_MODULE_ENABLED */ +#define HAL_FLASH_MODULE_ENABLED +/* #define HAL_NAND_MODULE_ENABLED */ +/* #define HAL_NOR_MODULE_ENABLED */ +/* #define HAL_PCCARD_MODULE_ENABLED */ +#define HAL_SRAM_MODULE_ENABLED +/* #define HAL_SDRAM_MODULE_ENABLED */ +/* #define HAL_HASH_MODULE_ENABLED */ +#define HAL_GPIO_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +#define HAL_I2S_MODULE_ENABLED +/* #define HAL_IWDG_MODULE_ENABLED */ +/* #define HAL_LTDC_MODULE_ENABLED */ +#define HAL_PWR_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_RNG_MODULE_ENABLED +#define HAL_RTC_MODULE_ENABLED +/* #define HAL_SAI_MODULE_ENABLED */ +#define HAL_SD_MODULE_ENABLED +#define HAL_SPI_MODULE_ENABLED +#define HAL_TIM_MODULE_ENABLED +#define HAL_UART_MODULE_ENABLED +/* #define HAL_USART_MODULE_ENABLED */ +/* #define HAL_IRDA_MODULE_ENABLED */ +/* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_PCD_MODULE_ENABLED +/* #define HAL_HCD_MODULE_ENABLED */ + + +/* ########################## HSE/HSI Values adaptation ##################### */ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) + #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) + #define LSI_VALUE ((uint32_t)40000) +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ +/** + * @brief External Low Speed oscillator (LSE) value. + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/** + * @brief External clock source for I2S peripheral + * This value is used by the I2S HAL module to compute the I2S clock source + * frequency, this source is inserted directly through I2S_CKIN pad. + */ +#if !defined (EXTERNAL_CLOCK_VALUE) + #define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* EXTERNAL_CLOCK_VALUE */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY ((uint32_t)0x00) /*!< tick interrupt priority */ +#define USE_RTOS 0 +#define PREFETCH_ENABLE 1 +#define INSTRUCTION_CACHE_ENABLE 1 +#define DATA_CACHE_ENABLE 1 + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1 */ + +/* ################## Ethernet peripheral configuration ##################### */ + +/* Section 1 : Ethernet peripheral configuration */ + +/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ +#define MAC_ADDR0 2 +#define MAC_ADDR1 0 +#define MAC_ADDR2 0 +#define MAC_ADDR3 0 +#define MAC_ADDR4 0 +#define MAC_ADDR5 0 + +/* Definition of the Ethernet driver buffers size and count */ +#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ +#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ +#define ETH_RXBUFNB ((uint32_t)4) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ +#define ETH_TXBUFNB ((uint32_t)4) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ + +/* Section 2: PHY configuration section */ + +/* DP83848 PHY Address*/ +#define DP83848_PHY_ADDRESS 0x01 +/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ +#define PHY_RESET_DELAY ((uint32_t)0x000000FF) +/* PHY Configuration delay */ +#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFF) + +#define PHY_READ_TO ((uint32_t)0x0000FFFF) +#define PHY_WRITE_TO ((uint32_t)0x0000FFFF) + +/* Section 3: Common PHY Registers */ + +#define PHY_BCR ((uint16_t)0x00) /*!< Transceiver Basic Control Register */ +#define PHY_BSR ((uint16_t)0x01) /*!< Transceiver Basic Status Register */ + +#define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */ +#define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */ +#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */ +#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */ +#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */ +#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */ +#define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */ +#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */ +#define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */ +#define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */ + +#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */ +#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */ +#define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */ + +/* Section 4: Extended PHY Registers */ + +#define PHY_SR ((uint16_t)0x10) /*!< PHY status register Offset */ +#define PHY_MICR ((uint16_t)0x11) /*!< MII Interrupt Control Register */ +#define PHY_MISR ((uint16_t)0x12) /*!< MII Interrupt Status and Misc. Control Register */ + +#define PHY_LINK_STATUS ((uint16_t)0x0001) /*!< PHY Link mask */ +#define PHY_SPEED_STATUS ((uint16_t)0x0002) /*!< PHY Speed mask */ +#define PHY_DUPLEX_STATUS ((uint16_t)0x0004) /*!< PHY Duplex mask */ + +#define PHY_MICR_INT_EN ((uint16_t)0x0002) /*!< PHY Enable interrupts */ +#define PHY_MICR_INT_OE ((uint16_t)0x0001) /*!< PHY Enable output interrupt events */ + +#define PHY_MISR_LINK_INT_EN ((uint16_t)0x0020) /*!< Enable Interrupt on change of link status */ +#define PHY_LINK_INTERRUPT ((uint16_t)0x2000) /*!< PHY link status interrupt mask */ + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32f4xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32f4xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32f4xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32f4xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32f4xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CAN_MODULE_ENABLED + #include "stm32f4xx_hal_can.h" +#endif /* HAL_CAN_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32f4xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED + #include "stm32f4xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DMA2D_MODULE_ENABLED + #include "stm32f4xx_hal_dma2d.h" +#endif /* HAL_DMA2D_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32f4xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_DCMI_MODULE_ENABLED + #include "stm32f4xx_hal_dcmi.h" +#endif /* HAL_DCMI_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED + #include "stm32f4xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "stm32f4xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED + #include "stm32f4xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED + #include "stm32f4xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED + #include "stm32f4xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_PCCARD_MODULE_ENABLED + #include "stm32f4xx_hal_pccard.h" +#endif /* HAL_PCCARD_MODULE_ENABLED */ + +#ifdef HAL_SDRAM_MODULE_ENABLED + #include "stm32f4xx_hal_sdram.h" +#endif /* HAL_SDRAM_MODULE_ENABLED */ + +#ifdef HAL_HASH_MODULE_ENABLED + #include "stm32f4xx_hal_hash.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32f4xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32f4xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32f4xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_LTDC_MODULE_ENABLED + #include "stm32f4xx_hal_ltdc.h" +#endif /* HAL_LTDC_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32f4xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED + #include "stm32f4xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32f4xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SAI_MODULE_ENABLED + #include "stm32f4xx_hal_sai.h" +#endif /* HAL_SAI_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED + #include "stm32f4xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32f4xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32f4xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32f4xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32f4xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED + #include "stm32f4xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32f4xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32f4xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32f4xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED + #include "stm32f4xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32F4xx_HAL_CONF_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/micropython/stmhal/boards/TREZORV2/trezorv2.ld b/micropython/stmhal/boards/TREZORV2/trezorv2.ld new file mode 100644 index 0000000000..c71694eb02 --- /dev/null +++ b/micropython/stmhal/boards/TREZORV2/trezorv2.ld @@ -0,0 +1,120 @@ +/* + TREZORv2 linker script + based on common.ld and stm32f405.ld +*/ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 0x100000 /* entire flash, 1 MiB */ + FLASH_ISR (rx) : ORIGIN = 0x08000000, LENGTH = 0x004000 /* sector 0, 16 KiB */ + FLASH_TEXT (rx) : ORIGIN = 0x08020000, LENGTH = 0x0E0000 /* sectors 5,6,7,8,9,10,11 7*128KiB = 896 KiB */ + CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 0x010000 /* 64 KiB */ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 0x020000 /* 128 KiB */ +} + +/* produce a link error if there is not this amount of RAM for these sections */ +_minimum_stack_size = 2K; +_minimum_heap_size = 16K; + +/* Define tho top end of the stack. The stack is full descending so begins just + above last byte of RAM. Note that EABI requires the stack to be 8-byte + aligned for a call. */ +_estack = ORIGIN(RAM) + LENGTH(RAM); + +ENTRY(Reset_Handler) + +/* define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + + /* This first flash block is 16K annd the isr vectors only take up + about 400 bytes. So we pull in a couple of object files to pad it + out. */ + + . = ALIGN(4); + + /* NOTE: If you update the list of files contained in .isr_vector, + then be sure to also update smhal/Makefile where it forcibly + builds each of these files with -Os */ + + */ff.o(.text*) + */vfs_fat_*.o(.text*) + */py/formatfloat.o(.text*) + */py/parsenum.o(.text*) + */py/mpprint.o(.text*) + + . = ALIGN(4); + } >FLASH_ISR + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text*) /* .text* sections (code) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + /* *(.glue_7) */ /* glue arm to thumb code */ + /* *(.glue_7t) */ /* glue thumb to arm code */ + + . = ALIGN(4); + _etext = .; /* define a global symbol at end of code */ + } >FLASH_TEXT + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* This is the initialized data section + The program executes knowing that the data is in the RAM + but the loader puts the initial values in the FLASH (inidata). + It is one task of the startup to copy the initial values from FLASH to RAM. */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start; used by startup code in order to initialise the .data section in RAM */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end; used by startup code in order to initialise the .data section in RAM */ + } >RAM AT> FLASH_TEXT + + /* Uninitialized data section */ + .bss : + { + . = ALIGN(4); + _sbss = .; /* define a global symbol at bss start; used by startup code */ + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end; used by startup code and GC */ + } >RAM + + /* this is to define the start of the heap, and make sure we have a minimum size */ + .heap : + { + . = ALIGN(4); + . = . + _minimum_heap_size; + . = ALIGN(4); + } >RAM + + /* this just checks there is enough RAM for the stack */ + .stack : + { + . = ALIGN(4); + . = . + _minimum_stack_size; + . = ALIGN(4); + } >RAM + + .ARM.attributes 0 : { *(.ARM.attributes) } +} + +/* RAM extents for the garbage collector */ +_ram_start = ORIGIN(RAM); +_ram_end = ORIGIN(RAM) + LENGTH(RAM); +_heap_start = _ebss; /* heap starts just after statically allocated memory */ +_heap_end = 0x2001c000; /* tunable */ diff --git a/bootloader/bootloader.c b/micropython/stmhal/bootloader/bootloader.c similarity index 100% rename from bootloader/bootloader.c rename to micropython/stmhal/bootloader/bootloader.c diff --git a/bootloader/crypto.c b/micropython/stmhal/bootloader/crypto.c similarity index 100% rename from bootloader/crypto.c rename to micropython/stmhal/bootloader/crypto.c diff --git a/bootloader/crypto.h b/micropython/stmhal/bootloader/crypto.h similarity index 100% rename from bootloader/crypto.h rename to micropython/stmhal/bootloader/crypto.h diff --git a/bootloader/toi_trezor.h b/micropython/stmhal/bootloader/toi_trezor.h similarity index 100% rename from bootloader/toi_trezor.h rename to micropython/stmhal/bootloader/toi_trezor.h diff --git a/bootloader/ui-mockup/bl_common.py b/micropython/stmhal/bootloader/ui-mockup/bl_common.py similarity index 100% rename from bootloader/ui-mockup/bl_common.py rename to micropython/stmhal/bootloader/ui-mockup/bl_common.py diff --git a/bootloader/ui-mockup/boot_info.py b/micropython/stmhal/bootloader/ui-mockup/boot_info.py similarity index 100% rename from bootloader/ui-mockup/boot_info.py rename to micropython/stmhal/bootloader/ui-mockup/boot_info.py diff --git a/bootloader/ui-mockup/boot_init.py b/micropython/stmhal/bootloader/ui-mockup/boot_init.py similarity index 100% rename from bootloader/ui-mockup/boot_init.py rename to micropython/stmhal/bootloader/ui-mockup/boot_init.py diff --git a/bootloader/ui-mockup/boot_nofw.py b/micropython/stmhal/bootloader/ui-mockup/boot_nofw.py similarity index 100% rename from bootloader/ui-mockup/boot_nofw.py rename to micropython/stmhal/bootloader/ui-mockup/boot_nofw.py diff --git a/bootloader/ui-mockup/boot_unsigned.py b/micropython/stmhal/bootloader/ui-mockup/boot_unsigned.py similarity index 100% rename from bootloader/ui-mockup/boot_unsigned.py rename to micropython/stmhal/bootloader/ui-mockup/boot_unsigned.py diff --git a/bootloader/ui-mockup/install_fail.py b/micropython/stmhal/bootloader/ui-mockup/install_fail.py similarity index 100% rename from bootloader/ui-mockup/install_fail.py rename to micropython/stmhal/bootloader/ui-mockup/install_fail.py diff --git a/bootloader/ui-mockup/install_fw.py b/micropython/stmhal/bootloader/ui-mockup/install_fw.py similarity index 100% rename from bootloader/ui-mockup/install_fw.py rename to micropython/stmhal/bootloader/ui-mockup/install_fw.py diff --git a/bootloader/ui-mockup/install_fw_really.py b/micropython/stmhal/bootloader/ui-mockup/install_fw_really.py similarity index 100% rename from bootloader/ui-mockup/install_fw_really.py rename to micropython/stmhal/bootloader/ui-mockup/install_fw_really.py diff --git a/bootloader/ui-mockup/install_ok.py b/micropython/stmhal/bootloader/ui-mockup/install_ok.py similarity index 100% rename from bootloader/ui-mockup/install_ok.py rename to micropython/stmhal/bootloader/ui-mockup/install_ok.py diff --git a/bootloader/ui-mockup/install_progress.py b/micropython/stmhal/bootloader/ui-mockup/install_progress.py similarity index 100% rename from bootloader/ui-mockup/install_progress.py rename to micropython/stmhal/bootloader/ui-mockup/install_progress.py diff --git a/bootloader/ui-mockup/install_u_fw.py b/micropython/stmhal/bootloader/ui-mockup/install_u_fw.py similarity index 100% rename from bootloader/ui-mockup/install_u_fw.py rename to micropython/stmhal/bootloader/ui-mockup/install_u_fw.py diff --git a/bootloader/ui-mockup/res/bootloader.toig b/micropython/stmhal/bootloader/ui-mockup/res/bootloader.toig similarity index 100% rename from bootloader/ui-mockup/res/bootloader.toig rename to micropython/stmhal/bootloader/ui-mockup/res/bootloader.toig diff --git a/bootloader/ui-mockup/res/sl_logo.toif b/micropython/stmhal/bootloader/ui-mockup/res/sl_logo.toif similarity index 100% rename from bootloader/ui-mockup/res/sl_logo.toif rename to micropython/stmhal/bootloader/ui-mockup/res/sl_logo.toif diff --git a/bootloader/ui-mockup/res/trezor_logo.toif b/micropython/stmhal/bootloader/ui-mockup/res/trezor_logo.toif similarity index 100% rename from bootloader/ui-mockup/res/trezor_logo.toif rename to micropython/stmhal/bootloader/ui-mockup/res/trezor_logo.toif diff --git a/bootloader/ui.c b/micropython/stmhal/bootloader/ui.c similarity index 100% rename from bootloader/ui.c rename to micropython/stmhal/bootloader/ui.c diff --git a/bootloader/ui.h b/micropython/stmhal/bootloader/ui.h similarity index 100% rename from bootloader/ui.h rename to micropython/stmhal/bootloader/ui.h diff --git a/vendor/micropython b/vendor/micropython index f43540253f..a81198eb11 160000 --- a/vendor/micropython +++ b/vendor/micropython @@ -1 +1 @@ -Subproject commit f43540253f566ead128b21608387a11705f3c2fe +Subproject commit a81198eb1182725843738fc1a8123e80f0000971