docs: reorganize hardware docs
- delete most of the files since they are maintained in the hardware repo (https://github.com/trezor/trezor-hardware) - move docs/hardware/model-one/* to docs/legacy - move docs/hardware/model-t/* to docs/core/misc [no changelog]
@ -12,19 +12,16 @@
|
|||||||
- [Debugging on hardware](core/embed_debug/index.md)
|
- [Debugging on hardware](core/embed_debug/index.md)
|
||||||
- [SystemView instrumentation](core/systemview/index.md)
|
- [SystemView instrumentation](core/systemview/index.md)
|
||||||
- [Miscellaneous](core/misc/index.md)
|
- [Miscellaneous](core/misc/index.md)
|
||||||
|
- [Boot stages](core/misc/boot.md)
|
||||||
- [Code style](core/misc/codestyle.md)
|
- [Code style](core/misc/codestyle.md)
|
||||||
|
- [Memory layout](core/misc/memory.md)
|
||||||
- [SLIP-39](core/misc/slip0039.md)
|
- [SLIP-39](core/misc/slip0039.md)
|
||||||
- [Exceptions usage](core/misc/exceptions.md)
|
- [Exceptions usage](core/misc/exceptions.md)
|
||||||
- [Memory fragmentation management](core/misc/fragmentation.md)
|
- [Memory fragmentation management](core/misc/fragmentation.md)
|
||||||
- [Legacy](legacy/index.md)
|
- [Legacy](legacy/index.md)
|
||||||
|
- [Firmware format](legacy/firmware-format.md)
|
||||||
- [Python](python/index.md)
|
- [Python](python/index.md)
|
||||||
- [trezorlib](python/trezorlib.md)
|
- [trezorlib](python/trezorlib.md)
|
||||||
- [Hardware](hardware/index.md)
|
|
||||||
- [Model T](hardware/model-t/index.md)
|
|
||||||
- [Boot stages](hardware/model-t/boot.md)
|
|
||||||
- [Memory layout](hardware/model-t/memory.md)
|
|
||||||
- [Model One](hardware/model-one/index.md)
|
|
||||||
- [Firmware format](hardware/model-one/firmware-format.md)
|
|
||||||
- [Common](common/index.md)
|
- [Common](common/index.md)
|
||||||
- [Communication](common/communication/index.md)
|
- [Communication](common/communication/index.md)
|
||||||
- [Sessions](common/communication/sessions.md)
|
- [Sessions](common/communication/sessions.md)
|
||||||
|
@ -1 +0,0 @@
|
|||||||
# Hardware
|
|
@ -1,5 +0,0 @@
|
|||||||
# Model One
|
|
||||||
|
|
||||||
To be documented.
|
|
||||||
|
|
||||||
In the meantime check out these great write-ups from @mcudev: https://mcudev.github.io.
|
|
@ -1,109 +0,0 @@
|
|||||||
Part Value Device Package Description
|
|
||||||
C1 1n/50V C_0402 0402
|
|
||||||
C2 22p C_0402 0402
|
|
||||||
C3 22p C_0402 0402
|
|
||||||
C4 1u C_0603$REFLOW 0603_REFLOW
|
|
||||||
C5 1u C_0603 0603
|
|
||||||
C6 10n C_0402 0402
|
|
||||||
C7 100n C_0402 0402
|
|
||||||
C8 10n C_0402 0402
|
|
||||||
C9 100n C_0402 0402
|
|
||||||
C10 100n C_0402 0402
|
|
||||||
C11 1n C_0402 0402
|
|
||||||
C12 2u2 C_0805$REFLOW 0805_REFLOW
|
|
||||||
C13 2u2 C_0805$REFLOW 0805_REFLOW
|
|
||||||
C14 4u7/16V C_0805$REFLOW 0805_REFLOW
|
|
||||||
C15 4u7/16V C_0805$REFLOW 0805_REFLOW
|
|
||||||
C16 100n C_0402 0402
|
|
||||||
C18 100n C_0402 0402
|
|
||||||
C19 1u C_0603 0603
|
|
||||||
C20 100n C_0402 0402
|
|
||||||
C21 100n C_0402 0402
|
|
||||||
C22 1u C_0603 0603
|
|
||||||
C23 10n C_0402 0402
|
|
||||||
C24 100n C_0402 0402
|
|
||||||
C25 1n/50V C_0402 0402
|
|
||||||
C26 10n C_0402 0402
|
|
||||||
C27 100n C_0402 0402
|
|
||||||
C28 100n C_0402 0402
|
|
||||||
C29 100n C_0402 0402
|
|
||||||
C30 10n C_0402 0402
|
|
||||||
C31 100n C_0402 0402
|
|
||||||
C32 10n C_0402 0402
|
|
||||||
C33 1n C_0402 0402
|
|
||||||
C34 2u2 C_0805$REFLOW 0805_REFLOW
|
|
||||||
C36 47p C_0402 0402
|
|
||||||
C37 47p C_0402 0402
|
|
||||||
C38 47p C_0402 0402
|
|
||||||
C39 47p C_0402 0402
|
|
||||||
C40 47p C_0402 0402
|
|
||||||
C41 100n C_0402 0402
|
|
||||||
C42 1n C_0402 0402
|
|
||||||
C43 47p C_0402 0402
|
|
||||||
C44 100n C_0402 0402
|
|
||||||
C45 2u2 C_0805$REFLOW 0805_REFLOW
|
|
||||||
C46 1n C_0402 0402
|
|
||||||
C47 1n C_0402 0402
|
|
||||||
C48 10n C_0402 0402
|
|
||||||
C49 10n C_0402 0402
|
|
||||||
C50 10n C_0402 0402
|
|
||||||
D1 PMEG3005 DS_SOD323F SOD323F
|
|
||||||
D2 PESD5V0F1BLD D_TRANSIL_BI_SOD882D SOD882D
|
|
||||||
D3 PRTR5V0U2X PRTR5V0_SOT143B$REFLOW SOT143B_REFLOW
|
|
||||||
D4 PESD5V0F1BLD D_TRANSIL_BI_SOD882D SOD882D
|
|
||||||
D6 PMEG4005 DS_SOD323F SOD323F
|
|
||||||
IC2 STM32F427VIT6 STM32F427_LQFP100 LQFP100_NO_CENTER_NO_TDOCU
|
|
||||||
IC5 TPS61043 TP6104X_WSON-8_3X3MM WSON-8_3X3MM
|
|
||||||
IC6 XC6210B332PR XC6210B_SOT89-5 SOT89-5
|
|
||||||
K1 DX07B024XJ1R1300 USB-C_JAE_DX07B024XJ1 USB_C_JAE_DX07B024XJ1
|
|
||||||
K3 ATTEND_112J-TDAR-R01 KON_µSD_CARD_ATTEND_112J_TXAR_R01_SMALL ATTEND_112J-TXAR-R01_SMALL
|
|
||||||
K4 DF37NB-24DS-0.4V DISPLEJ_154A2411CTP01 DF37NB-24DS-0.4V
|
|
||||||
K5 SWD SWD SWD
|
|
||||||
K6 DF37NB-10DS-0.4V DISPLEJ_154A2411CTP01_TOUCH DF37NB-10DS-0.4V
|
|
||||||
L1 4u7 VLS252008ET-4R7M L_2.5X2.0 L_2.5X2.0
|
|
||||||
L2 BLM18AG102SN1D L_0603$REFLOW 0603_REFLOW
|
|
||||||
L3 BLM18AG102SN1D L_0603$REFLOW 0603_REFLOW
|
|
||||||
L4 BLM18AG102SN1D L_0603$REFLOW 0603_REFLOW
|
|
||||||
LCD1 LCD_DISPLEJ LCD
|
|
||||||
MB1 MB_1.27 MB1.27
|
|
||||||
MB2 MB_1.27 MB1.27
|
|
||||||
MB3 MB_1.50 MB1.5
|
|
||||||
MB4 MB_1.27 MB1.27
|
|
||||||
MB5 MB_1.50 MB1.5
|
|
||||||
MB6 MB_1.27 MB1.27
|
|
||||||
MB7 MB_1.27 MB1.27
|
|
||||||
MB8 MB_1.27 MB1.27
|
|
||||||
MB9 MB_1.27 MB1.27
|
|
||||||
MB10 MB_1.50 MB1.5
|
|
||||||
MB11 MB_1.50 MB1.5
|
|
||||||
MB12 MB_1.27 MB1.27
|
|
||||||
MB13 MB_1.27 MB1.27
|
|
||||||
MB14 MB_1.27 MB1.27
|
|
||||||
MB15 MB_1.00 MB_1.00
|
|
||||||
MB16 MB_1.00 MB_1.00
|
|
||||||
MB17 MB_1.00 MB_1.00
|
|
||||||
MB18 MB_1.27 MB1.27
|
|
||||||
MB19 MB_1.00 MB_1.00
|
|
||||||
R1 22R R_0402 0402
|
|
||||||
R4 5k1 R_0402 0402
|
|
||||||
R5 5k1 R_0402 0402
|
|
||||||
R6 1M R_0402 0402
|
|
||||||
R7 1M R_0402 0402
|
|
||||||
R8 MF-FSMF020X-2 POLYSWITCH_0603 0603
|
|
||||||
R9 100k R_0402 0402
|
|
||||||
R10 3k3 R_0402 0402
|
|
||||||
R11 N.C. R_0402 0402
|
|
||||||
R12 10k R_0402 0402
|
|
||||||
R13 100R R_0402 0402
|
|
||||||
R14 27R R_0402 0402
|
|
||||||
R15 1k5 R_0402 0402
|
|
||||||
R16 1k5 R_0402 0402
|
|
||||||
R18 68R R_0402 0402
|
|
||||||
R19 68R R_0402 0402
|
|
||||||
R20 68R R_0402 0402
|
|
||||||
R21 68R R_0402 0402
|
|
||||||
R22 68R R_0402 0402
|
|
||||||
R23 68R R_0402 0402
|
|
||||||
R25 0R R_0402 0402
|
|
||||||
R26 N.C. R_0402 0402
|
|
||||||
X1 CTS406 8MHz X_4V_6,0X3,5 X6,0X3,5
|
|
Before Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 135 KiB |
Before Width: | Height: | Size: 119 KiB |
@ -1,160 +0,0 @@
|
|||||||
|
|
||||||
# Trezor Model T Open Source Hardware Reference Documentation
|
|
||||||
|
|
||||||
## Photo
|
|
||||||
|
|
||||||
![Photo Front](photo-front.jpg)
|
|
||||||
|
|
||||||
## Photo of assembled board (top)
|
|
||||||
|
|
||||||
![Assembled Board Top](model-t-top-v12.jpg)
|
|
||||||
|
|
||||||
## Photo of assembled board (bottom)
|
|
||||||
|
|
||||||
![Assembled Board Bottom](model-t-bottom-v12.jpg)
|
|
||||||
|
|
||||||
## Photo of assembled TFT LCD display + capacitive touch panel module (top)
|
|
||||||
|
|
||||||
![Display Module Top](model-t-display-module-top.jpg)
|
|
||||||
|
|
||||||
## Photo of assembled TFT LCD display + capacitive touch panel module (bottom)
|
|
||||||
|
|
||||||
![Display Module Bottom](model-t-display-module-bottom.jpg)
|
|
||||||
|
|
||||||
## Photo of disassembled TFT LCD display + capacitive touch panel module (top) (CTPM on left) (TFT LCD broken glass removed)
|
|
||||||
|
|
||||||
![Display Module Disassembled Top](model-t-display-module-disassembled-top.jpg)
|
|
||||||
|
|
||||||
## Photo of disassembled TFT LCD display + capacitive touch panel module (bottom) (CTPM on left) (TFT LCD broken glass removed)
|
|
||||||
|
|
||||||
![Display Module Disassembled Bottom](model-t-display-module-disassembled-bottom.jpg)
|
|
||||||
|
|
||||||
## Bill of Materials / BOM
|
|
||||||
|
|
||||||
[BOM](bom.txt)
|
|
||||||
|
|
||||||
## Schematic
|
|
||||||
|
|
||||||
![Schematic](schematic.png)
|
|
||||||
|
|
||||||
## Developer Kit
|
|
||||||
|
|
||||||
* 1 x [STM32F429I-DISC1](https://www.st.com/en/evaluation-tools/32f429idiscovery.html) (note: [Manual with pin to dev board function mapping](https://www.st.com/content/ccc/resource/technical/document/user_manual/6b/25/05/23/a9/45/4d/6a/DM00093903.pdf/files/DM00093903.pdf/jcr:content/translations/en.DM00093903.pdf))
|
|
||||||
* 1 x USB Cable Type A Plug/Male to Type Mini-B Plug/Male
|
|
||||||
* 1 x USB Cable Type A Plug/Male to Type Micro-B Plug/Male
|
|
||||||
* 1 x [ER-TFTM028-4 Display + Capacitive Touch Panel Module](https://www.ebay.com/itm/302049581340) (Note: specify 40-Pin Header, 8080 8-bit Parallel, VDD=3.3V, Capacitive Touch Panel) (note: [Manual](https://www.buydisplay.com/download/manual/ER-TFTM028-4_Datasheet.pdf))
|
|
||||||
* 1 x [microSD Board](https://www.waveshare.com/micro-sd-storage-board.htm)
|
|
||||||
* 1 x [Pack of 40 Female to female jumper wires with 0.1" header contacts](https://www.adafruit.com/product/266)
|
|
||||||
|
|
||||||
### Display
|
|
||||||
|
|
||||||
* Resolution: 240px x 240px -OR- 240px x 320px
|
|
||||||
* Driver IC: ST7789V, GC9307, or ILI9341V (on-chip display data RAM of 240x320x18 bits)
|
|
||||||
* 18-bit (262,144) RGB color graphic type TFT-LCD
|
|
||||||
* Bus/Interface: 8080-I 8-bit parallel with 16-bit/pixel (RGB 5-6-5)
|
|
||||||
|
|
||||||
#### Pinout
|
|
||||||
|
|
||||||
|Description|MCU Pin|Notes|
|
|
||||||
|-----------|-------|-----|
|
|
||||||
|LCD_RST|PC14|display module pin 21. benign conflict with unpopulated OSC32_IN on dev board.|
|
|
||||||
|LCD_FMARK|PD12|tearing effect input; display module pin 22|
|
|
||||||
|LCD_PWM|PA7|backlight control (brightness); display module pin 29. benign conflict with I2C_EXT_RST on dev board.|
|
|
||||||
|LCD_CS|PD7|display module pin 23|
|
|
||||||
|LCD_RS|PD11|register select aka command/data; display module pin 24|
|
|
||||||
|LCD_RD|PD4|display module pin 26|
|
|
||||||
|LCD_WR|PD5|display module pin 25|
|
|
||||||
|LCD_D0|PD14|display module pin 3|
|
|
||||||
|LCD_D1|PD15|display module pin 4|
|
|
||||||
|LCD_D2|PD0|display module pin 5|
|
|
||||||
|LCD_D3|PD1|display module pin 6|
|
|
||||||
|LCD_D4|PE7|display module pin 7|
|
|
||||||
|LCD_D5|PE8|display module pin 8|
|
|
||||||
|LCD_D6|PE9|display module pin 9|
|
|
||||||
|LCD_D7|PE10|display module pin 10|
|
|
||||||
|LCD_D8|PE11|not currently used|
|
|
||||||
|
|
||||||
### Capacitive Touch Panel / Sensor
|
|
||||||
|
|
||||||
* Bus/Interface: I2C
|
|
||||||
* Driver IC: FT6236 or FT6206
|
|
||||||
* single touch
|
|
||||||
|
|
||||||
#### Pinout
|
|
||||||
|
|
||||||
|Description|MCU Pin|Notes|
|
|
||||||
|-----------|-------|-----|
|
|
||||||
|TOUCH_ON|PB10|no mapped pin on display module|
|
|
||||||
|I2C1_SCL|PB6|display module pin 30|
|
|
||||||
|I2C1_SDA|PB7|display module pin 31|
|
|
||||||
|EINT|PC4|not currently used. display module pin 39. conflict with USB OTG FS PSO on dev board.|
|
|
||||||
|REST|PC5|benign conflict with USB OTG FS OC on dev board. no mapped pin on display module.|
|
|
||||||
|
|
||||||
### microSD Socket
|
|
||||||
|
|
||||||
* Bus/Interface: 4-bit
|
|
||||||
|
|
||||||
#### Pinout
|
|
||||||
|
|
||||||
|Description|MCU Pin|
|
|
||||||
|-----------|-------|
|
|
||||||
|SDIO_D0|PC8|
|
|
||||||
|SDIO_D1|PC9|
|
|
||||||
|SDIO_D2|PC10|
|
|
||||||
|SDIO_D3|PC11|
|
|
||||||
|SDIO_CK|PC12|
|
|
||||||
|SDIO_CMD|PD2|
|
|
||||||
|SD_CARDDETECT|PC13|
|
|
||||||
|SD_ON|PC0|
|
|
||||||
|
|
||||||
### USB Socket
|
|
||||||
|
|
||||||
* USB HS (high-speed) peripheral in FS (full-speed) mode
|
|
||||||
|
|
||||||
#### Pinout
|
|
||||||
|
|
||||||
|Description|MCU Pin|Notes|
|
|
||||||
|-----------|-------|-----|
|
|
||||||
|OTG_HS_VBUS|PB13||
|
|
||||||
|OTG_HS_ID|PB12||
|
|
||||||
|OTG_HS_DM|PB14||
|
|
||||||
|OTG_HS_DP|PB15||
|
|
||||||
|SBU1|PA2|not currently used. conflict with L3GD20 Gyroscope MEMS on dev board.|
|
|
||||||
|SBU2|PA3|not currently used|
|
|
||||||
|
|
||||||
### Dev Board
|
|
||||||
|
|
||||||
* [STM32F429ZIT6](https://www.st.com/en/microcontrollers-microprocessors/stm32f429zi.html)
|
|
||||||
* HSE / High-Speed External Crystal: 8 MHz
|
|
||||||
* Integrated STMicroelectronics ST-LINK/V2.1 debugger
|
|
||||||
|
|
||||||
Note: There are many conflicts between how the software maps GPIO pins and how the dev board maps them to its functions.
|
|
||||||
Many of the conflicts are resolved by removing the external SDRAM chip and the TFT LCD display + resistive touch panel that come attached to the dev board.
|
|
||||||
The unresolved conflicts are noted in the pinout descriptions above.
|
|
||||||
Currently, testing has shown that it is not necessary to remove either the SDRAM or the TFT LCD display + resistive touch panel.
|
|
||||||
If you choose to remove them, our experience is that the easiest way to remove the SDRAM chip is by first cutting the leads on one side of the chip (e.g.- with an X-Acto knife) and then lifting the chip and rocking it until the leads on the other side break. Be sure that no broken leads short to another pin as this can cause the dev board and/or display to malfunction. If some do, just clean them up so that they are separate again.
|
|
||||||
This method reduces the amount of knife work, and the chance for slicing other things on the board (or yourself).
|
|
||||||
To remove the TFT LCD display + resistive touch panel module, lift the module away from the metal tray, bend the metal tray out of the way, then cleanly pull/tear the flex PCB away from the solder connections to the main board (the connections usually break without much force).
|
|
||||||
The metal tray is attached to the board with double stick tape. You just have to pull that up.
|
|
||||||
|
|
||||||
## Photo of dev board before modifications (top)
|
|
||||||
|
|
||||||
![Dev Board Top Before](dev-board-top-before.jpg)
|
|
||||||
|
|
||||||
## Photo of dev board before modifications (bottom)
|
|
||||||
|
|
||||||
![Dev Board Bottom Before](dev-board-bottom-before.jpg)
|
|
||||||
|
|
||||||
Minimum MCU requirements:
|
|
||||||
|
|
||||||
* STM32F4 family [STM32F427VIT6](https://www.st.com/en/microcontrollers-microprocessors/stm32f427vi.html)
|
|
||||||
* 168 MHz, 8 MHz HSE
|
|
||||||
* 2048 KB Flash memory
|
|
||||||
* 192 KB SRAM
|
|
||||||
* 64 KB CCMRAM
|
|
||||||
* FMC controller
|
|
||||||
* TRNG
|
|
||||||
|
|
||||||
### Clock Tree
|
|
||||||
|
|
||||||
![Clock Tree](clock-tree.png)
|
|
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 518 KiB |