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>