December 4, 2025

Orange Pi R1 Plus LTS (RK3328) - Build BL31

The build ran the first time and took less than a minute:
  MD      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/bl31
  CC      bl31/bl31_context_mgmt.c
  CC      bl31/bl31_main.c
  CC      bl31/bl31_traps.c
  CC      bl31/interrupt_mgmt.c
  CC      common/backtrace/backtrace.c
  CC      common/bl_common.c
  CC      common/desc_image_load.c
  CC      common/runtime_svc.c
  CC      common/tf_log.c
  CC      drivers/arm/cci/cci.c
  CC      drivers/arm/gic/v2/gicdv2_helpers.c
  CC      drivers/arm/gic/v2/gicv2_helpers.c
  CC      drivers/arm/gic/v2/gicv2_main.c
  CC      drivers/console/multi_console.c
  CC      drivers/delay_timer/delay_timer.c
  CC      drivers/delay_timer/generic_delay_timer.c
  CC      lib/bl_aux_params/bl_aux_params.c
  CC      lib/compiler-rt/builtins/popcountdi2.c
  CC      lib/compiler-rt/builtins/popcountsi2.c
  CC      lib/cpus/errata_common.c
  CC      lib/cpus/errata_report.c
  CC      lib/el3_runtime/aarch64/context_mgmt.c
  CC      lib/el3_runtime/cpu_data_array.c
  CC      lib/el3_runtime/simd_ctx.c
  CC      lib/extensions/mpam/mpam.c
  CC      lib/extensions/pmuv3/aarch64/pmuv3.c
  CC      lib/extensions/spe/spe.c
  CC      lib/locks/bakery/bakery_lock_coherent.c
  CC      lib/per_cpu/per_cpu.c
  CC      lib/psci/psci_common.c
  CC      lib/psci/psci_main.c
  CC      lib/psci/psci_mem_protect.c
  CC      lib/psci/psci_off.c
  CC      lib/psci/psci_on.c
  CC      lib/psci/psci_setup.c
  CC      lib/psci/psci_suspend.c
  CC      lib/psci/psci_system_off.c
  CC      lib/xlat_tables/aarch64/xlat_tables.c
  CC      lib/xlat_tables/xlat_tables_common.c
  CC      plat/common/aarch64/plat_common.c
  CC      plat/common/plat_bl_common.c
  CC      plat/common/plat_gicv2.c
  CC      plat/common/plat_log_common.c
  CC      plat/common/plat_psci_common.c
  CC      plat/rockchip/common/aarch64/platform_common.c
  CC      plat/rockchip/common/bl31_plat_setup.c
  CC      plat/rockchip/common/params_setup.c
  CC      plat/rockchip/common/plat_pm.c
  CC      plat/rockchip/common/plat_topology.c
  CC      plat/rockchip/common/rockchip_gicv2.c
  CC      plat/rockchip/rk3328/drivers/pmu/pmu.c
  CC      plat/rockchip/rk3328/drivers/soc/soc.c
  CC      services/arm_arch_svc/arm_arch_svc_setup.c
  CC      services/std_svc/std_svc_setup.c
  AS      bl31/aarch64/bl31_entrypoint.S
  AS      bl31/aarch64/crash_reporting.S
  AS      bl31/aarch64/runtime_exceptions.S
  AS      common/aarch64/debug.S
  AS      drivers/ti/uart/aarch64/16550_console.S
  AS      lib/aarch64/cache_helpers.S
  AS      lib/aarch64/misc_helpers.S
  AS      lib/cpus/aarch64/aem_generic.S
  AS      lib/cpus/aarch64/cortex_a53.S
  AS      lib/cpus/aarch64/cpu_helpers.S
  AS      lib/el3_runtime/aarch64/context.S
  AS      lib/locks/exclusive/aarch64/spinlock.S
  AS      lib/per_cpu/aarch64/per_cpu_asm.S
  AS      lib/psci/aarch64/psci_helpers.S
  AS      plat/common/aarch64/crash_console_helpers.S
  AS      plat/common/aarch64/platform_helpers.S
  AS      plat/common/aarch64/platform_mp_stack.S
  AS      plat/rockchip/common/aarch64/plat_helpers.S
  AS      plat/rockchip/common/aarch64/pmu_sram_cpus_on.S
  MD      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/bl31/bl31
  CPP     bl31/bl31.ld.S
  MD      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/libfdt
  CC      lib/libfdt/fdt.c
  CC      lib/libfdt/fdt_ro.c
  CC      lib/libfdt/fdt_wip.c
  CC      lib/libfdt/fdt_sw.c
  CC      lib/libfdt/fdt_rw.c
  CC      lib/libfdt/fdt_strerror.c
  CC      lib/libfdt/fdt_empty_tree.c
  CC      lib/libfdt/fdt_addresses.c
  CC      lib/libfdt/fdt_overlay.c
  CC      lib/libfdt/fdt_check.c
  MD      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/lib
  AR      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/lib/libfdt.a
  MD      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/libc
  CC      lib/libc/abort.c
  CC      lib/libc/assert.c
  CC      lib/libc/exit.c
  CC      lib/libc/memchr.c
  CC      lib/libc/memcmp.c
  CC      lib/libc/memcpy.c
  CC      lib/libc/memcpy_s.c
  CC      lib/libc/memmove.c
  CC      lib/libc/memrchr.c
  CC      lib/libc/printf.c
  CC      lib/libc/putchar.c
  CC      lib/libc/puts.c
  CC      lib/libc/qsort.c
  CC      lib/libc/snprintf.c
  CC      lib/libc/strchr.c
  CC      lib/libc/strcmp.c
  CC      lib/libc/strcpy_secure.c
  CC      lib/libc/strlcat.c
  CC      lib/libc/strlcpy.c
  CC      lib/libc/strlen.c
  CC      lib/libc/strnlen_secure.c
  CC      lib/libc/strncmp.c
  CC      lib/libc/strnlen.c
  CC      lib/libc/strrchr.c
  CC      lib/libc/strtok.c
  CC      lib/libc/strtoul.c
  CC      lib/libc/strtoll.c
  CC      lib/libc/strtoull.c
  CC      lib/libc/strtol.c
  CC      lib/libc/memset.c
  AS      lib/libc/aarch64/setjmp.S
  AR      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/lib/libc.a
  LD      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/bl31/bl31.elf

Built /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/bl31/bl31.elf successfully

  OD      /u2/Projects/OrangePi/r1plus/sources/arm-trusted-firmware/build/rk3328/debug/bl31/bl31.dump
The Rockchip 3328 specific stuff seems to be:
  CC      plat/rockchip/common/aarch64/platform_common.c
  CC      plat/rockchip/common/bl31_plat_setup.c
  CC      plat/rockchip/common/params_setup.c
  CC      plat/rockchip/common/plat_pm.c
  CC      plat/rockchip/common/plat_topology.c
  CC      plat/rockchip/common/rockchip_gicv2.c
  CC      plat/rockchip/rk3328/drivers/pmu/pmu.c
  CC      plat/rockchip/rk3328/drivers/soc/soc.c

Have any comments? Questions? Drop me a line!

Tom's electronics pages / tom@mmto.org