ARM Trusted Firmware for RK3399
Here is a port for ARM Trusted Firmware 1.4 that builds firmware for the Rockchip RK3399. I anticipate that this port will build firmware for other ARMv8 Rockchip SoCs as well; there is code for the RK3328 and RK3368 in the tree as well. So this installs the firmware as rk3399-bl31.elf instead of just bl31.elf. There is support for other SoCs as well. We currently don't support any of those though. There is some qemu code as well that I haven't looked into. So maybe this should be a general ATF port? Since there already is a port named "atf", I would rename this one to "arm-trusted-firmware". Note that the Allwinner ATF is built from different source code, so it can't easily be included in a general ATF port. Thoughts? atf-rockchip.tgz Description: GNU Unix tar archive
Re: ARM Trusted Firmware for RK3399
On Sat, Aug 19, 2017 at 05:46:18PM +0200, Mark Kettenis wrote: > Here is a port for ARM Trusted Firmware 1.4 that builds firmware for > the Rockchip RK3399. I anticipate that this port will build firmware > for other ARMv8 Rockchip SoCs as well; there is code for the RK3328 > and RK3368 in the tree as well. So this installs the firmware as > rk3399-bl31.elf instead of just bl31.elf. > > There is support for other SoCs as well. We currently don't support > any of those though. There is some qemu code as well that I haven't > looked into. So maybe this should be a general ATF port? Since there > already is a port named "atf", I would rename this one to > "arm-trusted-firmware". > > Note that the Allwinner ATF is built from different source code, so it > can't easily be included in a general ATF port. > > Thoughts? I also felt that this should be a general port for multiple boards, like we build u-boot. So for now this will only build the rockchip boards, but it's still using the "generic" upstream source code. Patrick
Re: ARM Trusted Firmware for RK3399
On Sat, Aug 19, 2017 at 05:46:18PM +0200, Mark Kettenis wrote: > Here is a port for ARM Trusted Firmware 1.4 that builds firmware for > the Rockchip RK3399. I anticipate that this port will build firmware > for other ARMv8 Rockchip SoCs as well; there is code for the RK3328 > and RK3368 in the tree as well. So this installs the firmware as > rk3399-bl31.elf instead of just bl31.elf. > > There is support for other SoCs as well. We currently don't support > any of those though. There is some qemu code as well that I haven't > looked into. So maybe this should be a general ATF port? Since there > already is a port named "atf", I would rename this one to > "arm-trusted-firmware". "arm-trusted-firmware" would match the repository name and seems a better fit. Maybe expand the DESCR otherwise looks good. At the moment there is https://github.com/ARM-software/arm-trusted-firmware/tree/master/plat arm (juno/vfp) hisilicon mediatek tegra qemu rockchip unipher zynqmp maybe some of the other vendor forks will get merged one day? https://github.com/MarvellEmbeddedProcessors/atf-marvell https://github.com/renesas-rcar/arm-trusted-firmware like some others were? https://github.com/Xilinx/arm-trusted-firmware (zynqmp) https://github.com/96boards-hikey/arm-trusted-firmware (hisilicon) https://github.com/uniphier/arm-trusted-firmware https://github.com/rockchip-linux/arm-trusted-firmware Others seem closed? amd apm/macom cavium freescale/nxp samsung qualcomm broadcom amlogic actions zte spreadtrum lg annapurna labs/amazon altera/intel Then there are third party replacements like atf-allwinner or https://github.com/linaro-swg/arm-trusted-firmware/tree/rpi3_initial_drop > > Note that the Allwinner ATF is built from different source code, so it > can't easily be included in a general ATF port. > > Thoughts?
Re: ARM Trusted Firmware for RK3399
> Date: Sun, 20 Aug 2017 13:44:57 +1000 > From: Jonathan Gray > > On Sat, Aug 19, 2017 at 05:46:18PM +0200, Mark Kettenis wrote: > > Here is a port for ARM Trusted Firmware 1.4 that builds firmware for > > the Rockchip RK3399. I anticipate that this port will build firmware > > for other ARMv8 Rockchip SoCs as well; there is code for the RK3328 > > and RK3368 in the tree as well. So this installs the firmware as > > rk3399-bl31.elf instead of just bl31.elf. > > > > There is support for other SoCs as well. We currently don't support > > any of those though. There is some qemu code as well that I haven't > > looked into. So maybe this should be a general ATF port? Since there > > already is a port named "atf", I would rename this one to > > "arm-trusted-firmware". > > "arm-trusted-firmware" would match the repository name and seems a > better fit. Maybe expand the DESCR otherwise looks good. Committed that way. > At the moment there is > https://github.com/ARM-software/arm-trusted-firmware/tree/master/plat > arm (juno/vfp) > hisilicon > mediatek > tegra > qemu > rockchip > unipher > zynqmp Right. The HiSilicon and MediaTek SoCs seem to be high-performance SoCs like the Rockchip ones. Xilinx ZyncMP is somewhat interesting because it combines ARMv8 cores with an FPGA. > maybe some of the other vendor forks will get merged one day? > https://github.com/MarvellEmbeddedProcessors/atf-marvell > https://github.com/renesas-rcar/arm-trusted-firmware > > like some others were? > https://github.com/Xilinx/arm-trusted-firmware (zynqmp) > https://github.com/96boards-hikey/arm-trusted-firmware (hisilicon) > https://github.com/uniphier/arm-trusted-firmware > https://github.com/rockchip-linux/arm-trusted-firmware Would be good if the Marvell stuff was merged. But I'm not holding my breath. > Others seem closed? > amd > apm/macom > cavium > freescale/nxp > samsung > qualcomm > broadcom > amlogic > actions > zte > spreadtrum > lg > annapurna labs/amazon > altera/intel For some of the Freescale/NXP the trusted firmware is part of U-Boot. > Then there are third party replacements like atf-allwinner or > https://github.com/linaro-swg/arm-trusted-firmware/tree/rpi3_initial_drop You should still go ahead with the atf-allwinner port. I don't see a reason to use ATF for the rpi3 at this moment.
Re: ARM Trusted Firmware for RK3399
On 2017/08/19 17:46, Mark Kettenis wrote: > Here is a port for ARM Trusted Firmware 1.4 that builds firmware for > the Rockchip RK3399. I anticipate that this port will build firmware > for other ARMv8 Rockchip SoCs as well; there is code for the RK3328 > and RK3368 in the tree as well. So this installs the firmware as > rk3399-bl31.elf instead of just bl31.elf. > > There is support for other SoCs as well. We currently don't support > any of those though. There is some qemu code as well that I haven't > looked into. So maybe this should be a general ATF port? Since there > already is a port named "atf", I would rename this one to > "arm-trusted-firmware". > > Note that the Allwinner ATF is built from different source code, so it > can't easily be included in a general ATF port. > > Thoughts? I would prefer to import in sysutils/arm-trusted-firmware, we can split to subpackages if adding support for further SoCs, but that seems a better "umbrella" directory name. Please add the following (first needed to build rk3399/drivers/m0, second so we can see compiler command lines): BUILD_DEPENDS+= devel/arm-none-eabi/gcc-linaro,arm) MAKE_FLAGS+= V=1 Then it's OK sthen.
Re: ARM Trusted Firmware for RK3399
On 2017/08/20 23:47, Mark Kettenis wrote: > > "arm-trusted-firmware" would match the repository name and seems a > > better fit. Maybe expand the DESCR otherwise looks good. > > Committed that way. ..of course I was looking in atf-rockchip/ when I checked to see if it had been committed yet :) I'll fix the dep/V=1.
Re: ARM Trusted Firmware for RK3399
> Date: Tue, 22 Aug 2017 12:30:46 +0100 > From: Stuart Henderson > > On 2017/08/20 23:47, Mark Kettenis wrote: > > > "arm-trusted-firmware" would match the repository name and seems a > > > better fit. Maybe expand the DESCR otherwise looks good. > > > > Committed that way. > > ..of course I was looking in atf-rockchip/ when I checked to see if it > had been committed yet :) > > I'll fix the dep/V=1. Thanks. You're right about the depend. Didn't notice because I have the dependency installed on my machine.