# SPDX-License-Identifier: MIT # Copyright 2023-2024 RnD Center "ELVEES", JSC # MDB script to start sbl-s1, ddrinit, sbl-s3, # TF-A and U-Boot on MCom-03 SoC. Script uses DDR0. pb python pb import os pb import sys pb IMAGES_PATH = os.environ.get('MDB_IMAGES_PATH', 'buildroot/output/images') pb SCRIPTS_PATH = f'{IMAGES_PATH}/sbl/scripts' pb sys.path.append(SCRIPTS_PATH) pb import helpers pb end pb python pb dtb = os.environ.get('MDB_DTB_FILE', 'mcom03-mcom03bub-r1.3.0.dtb') pb map_file = os.environ.get('MDB_DDRINIT_DTB_MAP', 'mcom03-ddrinit-dtb-map.txt') pb board = helpers.parse_ddrinit_dtb_map(f'{SCRIPTS_PATH}/{map_file}', dtb) pb end # Load and run sbl-s1 to setup required clocks py helpers.loadelf(f'{IMAGES_PATH}/sbl/sbl-s1.elf') hbp set jtag run hbp unset jtag # Load and run ddrinit to setup DDR memory py helpers.loadelf(f'{IMAGES_PATH}/ddrinit-{board}/ddrinit.elf') hbp set jtag run hbp unset jtag # Load and run set-secure-regions.elf to setup Secure Regions and # to take them into account in the DDR memory map py helpers.loadelf(f'{IMAGES_PATH}/sbl/scripts/set-secure-regions.elf') hbp set jtag run hbp unset jtag # Load U-Boots dtb to 0x8_9040_2000 which is mapped to 0xC0002000 py helpers.loadbin(f'{IMAGES_PATH}/uboot-dtb/{dtb}', 0xC0002000) # Load TF-A to 0x8_8030_0000 which is mapped to 0xc0300000 py helpers.loadbin(f'{IMAGES_PATH}/bl31.bin', 0xc0300000) # Load U-Boot to 0x8_9048_0000 which is mapped to 0xc0080000 py helpers.loadbin(f'{IMAGES_PATH}/u-boot.bin', 0xc0080000) # Load and run sbl-s3 to launch TF-A and provide mailbox services py helpers.loadelf(f'{IMAGES_PATH}/sbl/sbl-s3.elf') set RISC.PC _startup detach -r quit