- Mar 18, 2025
-
-
Esteban Blanc authored
Everything necessary to get USB working has been initialized in the layers before U-Boot. This disable SPL_PHY support to make room to enable MMC HS400. Context: 1b7d3b26 Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
- Mar 11, 2025
-
-
Julien Masson authored
libatf project is now cloned only when using bootloaders_rita_nda.xml By default this project is not present, instead we should give infos of libatf-prebuilt project. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
MMC HS400 is now supported in U-Boot and can be enabled for our U-Boot SPL. For i350_evk board we can't enabled MMC HS400, SPL DA size exceed max limit. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Mar 03, 2025
-
-
Julien Masson authored
libbase prebuilt project is now cloned at the root: libbase-prebuilt Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
The libatf source code is available only under NDA. External users may not have access to this project, instead they can use prebuilts project. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Feb 05, 2025
-
-
Julien Masson authored
ATF default branch is now on aiot-v2.6, we need to set LIBBASE flag. Otherwise we have compilation errors, for example on i350 we have multiple definitions error: /home/julien/Documents/Baylibre/mediatek/bootloaders/toolchains/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/10.3.1/../../../../aarch64-none-elf/bin/ld: /home/julien/Documents/Baylibre/mediatek/bootloaders/libbase-prebuilts/mt8365/libbase.a(mt_base.c.o): in function `mtk_get_hwid': /usr/src/debug/libbase/1.0-r0/libbase-1.0/../../../../../../workspace/sources/libbase/mt_base.c:20: multiple definition of `mtk_get_hwid'; /home/julien/Documents/Baylibre/mediatek/bootloaders/arm-trusted-firmware/build/mt8365/debug/bl31/mtk_hwid.o (symbol from plugin):(.text+0x0): first defined here Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Jan 21, 2025
-
-
The project contains now all the necessary files to support mediatek i510 EVK board: - yaml config with all infos needed to build bootloaders - bootloaders.its used to generate bootloader.img Signed-off-by:
Esteban Blanc <eblanc@baylibre.com> Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Jan 17, 2025
-
-
Vitor Sato Eschholz authored
Enable FDT overlay (dtbo) support on android u-boot. Signed-off-by:
Vitor Sato Eschholz <vsatoes@baylibre.com>
-
- Dec 16, 2024
-
-
Julien Masson authored
The fastboot buffer size used in main U-Boot can be set to the same value as we use for U-Boot SPL. That allow us to send bigger data through USB. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
When we flash a sparse image in main U-Boot, it may happen that we don't have enough memory to malloc: ``` $ fastboot flash super super.img Sending sparse 'super' 1/4 (335524 KB) OKAY [ 8.827s] Writing 'super' FAILED (remote: 'Malloc failed for: CHUNK_TYPE_RAW') fastboot: error: Command failed ``` The malloc size has been increased and are now aligned with the same size defined for U-Boot SPL. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
CONFIG_TEXT_BASE in U-Boot has been updated for all boards to: 0x41000000 The U-Boot load|entry must be aligned with this new value in its. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Dec 11, 2024
-
-
Julien Masson authored
Android need TA dev kit to build xtest, it's now copied in the out bootloaders dir when we build TA. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Dec 03, 2024
-
-
Julien Masson authored
The boards binaries are now present: vendor/mediatek/prebuilts/boards Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Nov 14, 2024
-
-
In order to reuse as much as possible between i700 (mt8390) and i510 (mt8370) a common mt8188 platform has been created in both ddr_loader and libatf. Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
Julien Masson authored
After upgrading the code to be GP 1.3 compliant, we discovered a regression on Android 14. After a reboot the device is stuck and doesn't boot to UI. For now we don't know yet the exact root cause, let's go back to GP 1.1 compatibility. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Vitor Sato Eschholz authored
When signing bootloader components, we use "sha1,rsa2048" as the hash algorithm. Add support to SHA1 in SPL, otherwise the following error will occur: \## Checking hash(es) for Image atf ... sha1 error! Unsupported hash algorithm for 'hash-1' hash node in 'atf' image node Signed-off-by:
Vitor Sato Eschholz <vsatoes@baylibre.com>
-
- Nov 08, 2024
-
-
Julien Masson authored
With U-Boot SPL as Download Agent (DA), the fastboot buf address and size must be: - FASTBOOT_BUF_ADDR: 0x65000000 - FASTBOOT_BUF_SIZE: 0x15000000 Fixes: 7ecc82f6 ("uboot: rework defconfig and fragments usage") Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Nov 06, 2024
-
-
Julien Masson authored
With the U-Boot updates to mtk-v2024.10, several configs are not present anymore in U-Boot. Indeed a single defconfig is provided in U-Boot for each board. Thus all the configs needed for U-Boot and U-Boot SPL (da and mtk-boot) are now placed in defconfig fragments: . ├── config │ └── u-boot │ ├── android.config REQUIRED │ ├── debug │ │ ├── android.config OPTIONAL │ │ ├── spl-da.config OPTIONAL │ │ └── spl-mtk-boot.config OPTIONAL │ ├── factory │ │ ├── android.config OPTIONAL │ │ ├── spl-da.config OPTIONAL │ │ └── spl-mtk-boot.config OPTIONAL │ ├── release │ │ ├── android.config OPTIONAL │ │ ├── spl-da.config OPTIONAL │ │ └── spl-mtk-boot.config OPTIONAL │ ├── spl.config REQUIRED │ ├── spl-da.config REQUIRED │ └── spl-mtk-boot.config REQUIRED For external board project (customers): ├── config │ └── u-boot │ └── BOARD-A │ ├── debug │ │ ├── android.config OPTIONAL │ │ ├── spl-da.config OPTIONAL │ │ └── spl-mtk-boot.config OPTIONAL │ ├── factory │ │ ├── android.config OPTIONAL │ │ ├── spl-da.config OPTIONAL │ │ └── spl-mtk-boot.config OPTIONAL │ ├── release │ │ ├── android.config OPTIONAL │ │ ├── spl-da.config OPTIONAL │ │ └── spl-mtk-boot.config OPTIONAL Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Oct 18, 2024
-
-
Vitor Sato Eschholz authored
When OpteeKeymaster tries to open a session to communicate with Keymaster TA, it fails with: E OpteeKeymaster_ipc: TEEC_Opensession failed with code 0xffff000e origin 0x2 The root cause is because mobj_reg_shm_alloc() fails to map a memory region that is non-secure. To avoid that, disable support for dynamic shared memory. Signed-off-by:
Vitor Sato Eschholz <vsatoes@baylibre.com>
-
- Oct 17, 2024
-
-
Vitor Sato Eschholz authored
CONFIG_SERIAL_ANDROID is not used anymore, remove it. Signed-off-by:
Vitor Sato Eschholz <vsatoes@baylibre.com>
-
- Oct 14, 2024
-
-
Julien Masson authored
The project contains now all the necessary files to support mediatek i700 EVK board: - yaml config with all infos needed to build bootloaders - bootloaders.its used to generate bootloader.img Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
According to the ATF documentation (Makefile), we should have NEED_BL32 set to yes in case: 1. BL32 is built from source: then BL32_SOURCES must contain the list of source files to build BL32. 2. BL32 is a prebuilt binary: then BL32 must point to the image file that will be included in the FIP. We don't build BL32 from ATF source and we don't use fip image anymore. Thus there is no reason to keep NEED_BL32 set to yes. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
bootloaders.its might change following the platform, indeed some binaries are copied at different memory address, the description is also different ... We introduce new yaml entry plat under u-boot which is used to determine which folder we should use to find bootloaders.its files. Example i350 EVK: ``` uboot: plat: mt8365 ``` bootloaders.its will be located here: config/u-boot/mt8365 Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
The plat yaml entry was a global var used for several bootloader components: OP-TEE, BL31, libatf ... This logic works only if all the projects use the plat name. With the board i350 EVK we were lucky because all projects are aligned with a plat set as mt8365 except for OP-TEE (mt8175). However this logic has limitation, if one of these projects use a different plat name, we had to add condition to handle specific case. That can start to be mess if more projects are not aligned with the global plat var. This commit add and handle plat yaml entry for each bootloader components. In that way the build_*.sh won't need to be updated to handle all the different cases for future boards. Each board specify the right plat name for each bootloader components in their yaml config. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Oct 10, 2024
-
-
Julien Masson authored
Several mtk_plat variables are not used, we can remove them. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Oct 09, 2024
-
-
Vitor Sato Eschholz authored
Binary name mmcboot is linked to the media used to boot, the MMC. However, we might want to support different medias as well, such as SD-Card, UFS. Rename mmcboot to a more generic name, mtk-boot. Signed-off-by:
Vitor Sato Eschholz <vsatoes@baylibre.com>
-
- Sep 26, 2024
-
-
Esteban Blanc authored
Keymaster has been updated to work with v1.3.1 Core API. Disable the compatibility for v1.1.x Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
- Sep 24, 2024
-
-
Julien Masson authored
When we run release_android script, we build binaries for release and userdebug mode. We should not remove the whole output directory, otherwise the output directory will only contains the binaries from the last build. We need to have both binaries: release and userdebug. Except for the optee-ta binaries, we only use the release binaries. This folder can be cleaned before copying all the binaries. Fixes: d8a121a3 release_android: remove all previous build files Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Sep 23, 2024
-
-
Esteban Blanc authored
Before copying the newly built binaries, make sure that the old ones are not remove first. This will avoid keeping in the git history old binaries that are not built and updated anymore. Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
- Sep 17, 2024
-
-
Esteban Blanc authored
With a fresh sync, the remote for device/mediatek/boards-binaries is rita no aiot Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
- Sep 02, 2024
-
-
Julien Masson authored
With OP-TEE version 4.1.0, keymaster TA fail with the following error: ``` D/TA: TA_InvokeCommandEntryPoint:1877 KM_FINISH_OPERATION D/TA: TA_finish:1687 TA_finish 1687 D/TA: TA_deserialize_op_handle:439 TA_deserialize_op_handle 439 D/TA: TA_deserialize_blob_akms:54 TA_deserialize_blob_akms 54 D/TA: TA_deserialize_auth_set:229 TA_deserialize_auth_set 229 D/TA: TA_deserialize_auth_set:252 indirect_data_size:0 D/TA: TA_deserialize_auth_set:260 indirect_base:0x1 D/TA: TA_deserialize_auth_set:279 elem cnt:0 D/TA: TA_deserialize_auth_set:289 elem serialized size:0 D/TA: TA_deserialize_auth_set:291 param_set->length:0 D/TA: TA_deserialize_blob_akms:54 TA_deserialize_blob_akms 54 D/TA: TA_decrypt:221 TA_decrypt 221 D/TA: TA_execute:157 TA_execute 157 size = 488 D/TA: TA_open_secret_key:36 TA_open_secret_key 36 D/TA: TA_open_secret_key:38 Use existing masterKey D/TA: TA_populate_key_attrs:534 padding = 4 *type = 0xa0000010 D/TA: TA_populate_key_attrs:539 AES attrs_count = 1 algorithm = 32 D/TA: TA_populate_key_attrs:565 *key_size = 256 attrs_count = 1 padding = 8 D/TA: TA_populate_key_attrs:570 i = 0 padding = 12 tag = 3221225472 D/TA: TA_populate_key_attrs:588 i = 0 padding = 20 attr_size = 32 D/TA: TA_populate_key_attrs:604 i = 0 padding = 52 attr_size = 32 D/TA: TA_deserialize_param_set:336 TA_deserialize_param_set 336 D/TA: TA_deserialize_param_set:357 params->length:14 D/TA: TA_deserialize_blob_akms:54 TA_deserialize_blob_akms 54 D/TA: TA_add_origin:451 TA_add_origin 451 D/TA: TA_restore_key:752 populate attrs is finished with err 0 D/TA: TA_possibe_size:176 TA_possibe_size 176 E/TC:? 0 E/TC:? 0 TA panicked with code 0xffff0001 E/LD: Status of TA dba51a17-0563-11e7-93b1-6fa7b0071a51 E/LD: arch: aarch64 E/LD: region 0: va 0x80005000 pa 0x43401000 size 0x002000 flags rw-s (ldelf) E/LD: region 1: va 0x80007000 pa 0x43403000 size 0x010000 flags r-xs (ldelf) E/LD: region 2: va 0x80017000 pa 0x43413000 size 0x001000 flags rw-s (ldelf) E/LD: region 3: va 0x80018000 pa 0x43414000 size 0x004000 flags rw-s (ldelf) E/LD: region 4: va 0x8001c000 pa 0x43418000 size 0x001000 flags r--s E/LD: region 5: va 0x8001d000 pa 0x438b8000 size 0x009000 flags rw-s (stack) E/LD: region 6: va 0x80026000 pa 0xfbc11d10 size 0x003000 flags rw-- (param) E/LD: region 7: va 0x80029000 pa 0xfc376d14 size 0x001000 flags rw-- (param) E/LD: region 8: va 0x80071000 pa 0x00001000 size 0x090000 flags r-xs [0] E/LD: region 9: va 0x80101000 pa 0x00091000 size 0x40f000 flags rw-s [0] E/LD: [0] dba51a17-0563-11e7-93b1-6fa7b0071a51 @ 0x80071000 E/LD: Call stack: E/LD: 0x800a1d2c E/LD: 0x8009f26c E/LD: 0x800862d8 E/LD: 0x80075a48 E/LD: 0x8007606c E/LD: 0x800a4a40 E/LD: 0x800a4b10 E/LD: 0x8009035c D/TC:? 0 user_ta_enter:201 tee_user_ta_enter: TA panicked with code 0xffff0001 ``` This issue is fixed by enabling CFG_TA_OPTEE_CORE_API_COMPAT_1_1 flag. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
From OP-TEE 4.1.0, CFG_DT flag must be added, otherwise we have this compilation error: core/arch/arm/kernel/boot.c:1501: undefined reference to `dt_getprop_as_number' Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
With OP-TEE 4.1.0 some TA have been added/removed: - aes_perf - hash_perf + crypto_perf Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Esteban Blanc authored
i350_sb35 is not supported by Android 14 Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
Esteban Blanc authored
i350_pumpkin is not supported by Android 14 Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
Esteban Blanc authored
i500_pumpkin is not supported by Android 14 Signed-off-by:
Esteban Blanc <eblanc@baylibre.com>
-
- Mar 18, 2024
-
-
Vitor Sato Eschholz authored
Previously, the board name used to build u-boot was linked to the name of the yaml file. To be able to change this name, add support to a "u-boot:board" config. Signed-off-by:
Vitor Sato Eschholz <vsatoes@baylibre.com>
-
- Feb 01, 2024
-
-
Julien Masson authored
With recent changes in the U-Boot SPL, when we build it as Download Agent we exceed the maximum size for i350 (lowest maximum size compared to others SoC). In order to save some space we can disable CONFIG_SPL_POWER. This config is not needed because ROM code (BL1) has already setup regulators, pmic ... However that is a workaround, we may need to have this config enabled in the future (enable/disable regulators ...). Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
Julien Masson authored
The U-Boot SPL used as Download Agent now check if the boot partition is enabled. CONFIG_SUPPORT_EMMC_BOOT has to be set to use this functionality. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-
- Oct 10, 2023
-
-
Julien Masson authored
U-Boot SPL is now using malloc pool implementation: - start: 0x5c000000 - size: 0x9000000 The fastboot buffer has been placed just after that: - start: 0x65000000 - size: 0x15000000 We increased the size since we have more space available. Signed-off-by:
Julien Masson <jmasson@baylibre.com>
-