Hi,

Two issues.

1. I am trying to build ATF v2.8 with modified ports' Makefile.

Only A64's ATF fails to build with follwing errors:

aarch64-none-elf-ld.bfd: address 0x500dd of /usr/ports/pobj/arm-trusted-fir
mware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/bl31.elf
 section `.data' is not within region `RAM'
aarch64-none-elf-ld.bfd: /usr/ports/pobj/arm-trusted-firmware-2.8.0/arm-tru
sted-firmware-2.8.0/build/sun50i_a64/debug/bl31/bl31.elf section `.rela.dyn
' will not fit in region `RAM'
aarch64-none-elf-ld.bfd: address 0x500dd of /usr/ports/pobj/arm-trusted-fir
mware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/bl31.elf
 section `.data' is not within region `RAM'
aarch64-none-elf-ld.bfd: BL31 image has exceeded its limit.
aarch64-none-elf-ld.bfd: region `RAM' overflowed by 224 bytes

I found workaround for something errata wastes RAM area.
/usr/ports/pobj/arm-trusted-firmware-2.8.0/arm-trusted-firmware-2.8.0/build
/sun50i_a64/debug/bl31/bl31.map says that:

 .text.psci_system_off
                0x0000000000049fc4       0x5c /usr/ports/pobj/arm-trusted-f
irmware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/psci_s
ystem_off.o
                0x0000000000049fc4                psci_system_off
 .text.psci_system_off.stub
                0x000000000004a020       0x10 linker stubs
 .text.psci_system_reset
                0x000000000004b020       0x5c /usr/ports/pobj/arm-trusted-f
irmware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/psci_s
ystem_off.o
                0x000000000004b020                psci_system_reset

It looks dangerous to disable workaround. Is there any good idea to
build ATF v2.8 for A64?


2. Allwinner H6 PMIC issue

(repost from ports@, same as
https://marc.info/?l=openbsd-ports&m=167133709916806&w=2)

Some Allwinner H6 based board does not work ethernet and HDMI
(currently not used) due to improper setting of AXP805 PMIC.

To avoid this issue, Armbian uses old ATF (v2.2). Our ATF ports cannot
downgrade, so using SUNXI_SETUP_REGULATORS=0 option to disable PMIC
handling in ATF.

This option is discussed at ATF's code review, see
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/12676

To reduce side-effect of this change, it is the best that compiling both
(SUNXI_SETUP_REGULATORS=0 and 1) bl31 object separately, but looks
difficult.

So this suggestion is fixed to 0, please tell me if there is better idea.

Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/arm-trusted-firmware/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile    8 Aug 2022 15:27:59 -0000       1.19
+++ Makefile    18 Dec 2022 02:15:39 -0000
@@ -35,9 +35,15 @@ PLATFORMS=\
 
 do-build:
 .for P in ${PLATFORMS}
+.  if "$P" == "sun50i_h6"
+       cd ${WRKSRC} && \
+       ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
+           V=1 PLAT=${P} DEBUG=1 SUNXI_SETUP_REGULATORS=0 bl31
+.else
        cd ${WRKSRC} && \
        ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \
            V=1 PLAT=${P} DEBUG=1 bl31
+.  endif
 .endfor
 
 do-install:

-- 
SASANO Takayoshi (JG1UAA) <u...@mx5.nisiq.net>

Reply via email to