i.MX 93 BSP Manual PD24.1.1 Documentation Rev.: imx8mp-pd22.1.2-51-ga548be7d
These values should be written to the BOOT_CFG0, which can be read/written from fuses on Bank 3,
Word 0.
Boot Device BOOT_CFG0
eMMC 0x20020002
SD Card 0x20000103
To set internal fuses to boot from eMMC one can program them with:
u-boot=> fuse prog 3 0 0x20020002
In this example we:
• set the Boot_Mode to 0b0010 (eMMC) with BOOT_CFG0[3:0],
• set the eMMC Bus width to 0b01 (8 bit) with BOOT_CFG0[18:17]
• set the BT_FUSE_SEL (Boot fuses already programmed) bit with BOOT_CFG0[29]
Make sure you set the right bits by reading the Boot Fusemap chapter in i.MX 93 Applications Processor
Reference Manual.
7.24 TPM
The phyBOARD-Nash i.MX 93 is equipped with a Trusted Platform Module (TPM) that provides
hardware-based security functions.
Here are some useful examples to work with the TPM
Generate 4-byte random value with TPM2 tools:
target:~$ tpm2_getrandom --hex 4
Generate 4-byte random value with OpenSSL tools:
target:~$ openssl rand -engine libtpm2tss --hex 4
Generate RSA private key and validate its contents:
target:~$ openssl genrsa -engine libtpm2tss -out /tmp/priv_key 512
Engine "tpm2tss" set.
target:~$ openssl rsa -check -in /tmp/priv_key -noout
RSA key ok
target:~$ cat /tmp/priv_key
-----BEGIN PRIVATE KEY-----
MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAxsvmcbxjwuKnYeuZ
2AVBmuLvYyqF/LpYOD3IB/v+YvEolxdGGmjiFLECU6xZ1j3+dIt4Y1zbcKS1OcWT
I8mbSwIDAQABAkBoy8wrYNhmP/1kzUJIclznPYJckGoZlFI1M7xjGSA9H1xDK6if
5g5CYCHPrbBp8e0mEokPRZoihxxzGTxGPiahAiEA/7OYMOpVZ5SD3YcRsWcQlkWI
MOSPUYg6vxvGG9xp4FcCIQDHB01RoHr+qXJwxIu3/3oQAUBI4ACJ4JRp0KelwhC0
LQIhANJzSvg/dak5l8pU55/99q3nbm7nPnnZSJiP0F6P62gjAiEAjf7qrfMF7Uyt
RkEjwbl2t5Z868FNARGGMVxZT4x+aF0CIGxlmP2pL8xFu1bWB282LSedqZUdQwel
Lxi7+svb2+uJ
-----END PRIVATE KEY-----
Accessing Peripherals 77