Commit aaa48a86 authored by danh-arm's avatar danh-arm
Browse files

Merge pull request #297 from sandrine-bailleux/sb/move-up-deps

Move up dependency versions
parents 28ef011c 6136f372
...@@ -62,7 +62,7 @@ The following tools are required to use the ARM Trusted Firmware: ...@@ -62,7 +62,7 @@ The following tools are required to use the ARM Trusted Firmware:
* `libssl-dev` package to build the certificate generation tool when support * `libssl-dev` package to build the certificate generation tool when support
for Trusted Board Boot is needed. for Trusted Board Boot is needed.
* (Optional) For debugging, ARM [Development Studio 5 (DS-5)][DS-5] v5.20. * (Optional) For debugging, ARM [Development Studio 5 (DS-5)][DS-5] v5.21.
4. Building the Trusted Firmware 4. Building the Trusted Firmware
...@@ -546,7 +546,7 @@ Juno platform, follow these steps: ...@@ -546,7 +546,7 @@ Juno platform, follow these steps:
cd edk2 cd edk2
git remote add -f --tags arm-software https://github.com/ARM-software/edk2.git git remote add -f --tags arm-software https://github.com/ARM-software/edk2.git
git checkout --detach v2.1-rc0 git checkout --detach v3.0
2. Copy build config templates to local workspace 2. Copy build config templates to local workspace
...@@ -625,7 +625,7 @@ Preparing a Linux kernel for use on the FVPs can be done as follows ...@@ -625,7 +625,7 @@ Preparing a Linux kernel for use on the FVPs can be done as follows
cd linux cd linux
git remote add -f --tags arm-software https://github.com/ARM-software/linux.git git remote add -f --tags arm-software https://github.com/ARM-software/linux.git
git checkout --detach 1.3-Juno git checkout --detach 1.6-Juno
2. Build with the Linaro GCC tools. 2. Build with the Linaro GCC tools.
...@@ -700,8 +700,8 @@ To prepare a VirtioBlock file-system, do the following: ...@@ -700,8 +700,8 @@ To prepare a VirtioBlock file-system, do the following:
NOTE: The unpacked disk image grows to 3 GiB in size. NOTE: The unpacked disk image grows to 3 GiB in size.
wget http://releases.linaro.org/14.12/openembedded/aarch64/vexpress64-openembedded_lamp-armv8-gcc-4.9_20141211-701.img.gz wget http://releases.linaro.org/15.03/members/arm/openembedded/aarch64/vexpress64-openembedded_lamp-armv8-gcc-4.9_20150324-715.img.gz
gunzip vexpress64-openembedded_lamp-armv8-gcc-4.9_20141211-701.img.gz gunzip vexpress64-openembedded_lamp-armv8-gcc-4.9_20150324-715.img.gz
2. Make sure the Linux kernel has Virtio support enabled using 2. Make sure the Linux kernel has Virtio support enabled using
`make ARCH=arm64 menuconfig`. `make ARCH=arm64 menuconfig`.
...@@ -763,14 +763,14 @@ To prepare a RAM-disk root file-system, do the following: ...@@ -763,14 +763,14 @@ To prepare a RAM-disk root file-system, do the following:
1. Download the file-system image: 1. Download the file-system image:
wget http://releases.linaro.org/14.12/openembedded/aarch64/linaro-image-lamp-genericarmv8-20141212-729.rootfs.tar.gz wget http://releases.linaro.org/15.03/members/arm/openembedded/aarch64/linaro-image-lamp-genericarmv8-20150323-747.rootfs.tar.gz
2. Modify the Linaro image: 2. Modify the Linaro image:
# Prepare for use as RAM-disk. Normally use MMC, NFS or VirtioBlock. # Prepare for use as RAM-disk. Normally use MMC, NFS or VirtioBlock.
# Be careful, otherwise you could damage your host file-system. # Be careful, otherwise you could damage your host file-system.
mkdir tmp; cd tmp mkdir tmp; cd tmp
sudo sh -c "zcat ../linaro-image-lamp-genericarmv8-20141212-729.rootfs.tar.gz | cpio -id" sudo sh -c "zcat ../linaro-image-lamp-genericarmv8-20150323-747.rootfs.tar.gz | cpio -id"
sudo ln -s sbin/init . sudo ln -s sbin/init .
sudo sh -c "echo 'devtmpfs /dev devtmpfs mode=0755,nosuid 0 0' >> etc/fstab" sudo sh -c "echo 'devtmpfs /dev devtmpfs mode=0755,nosuid 0 0' >> etc/fstab"
sudo sh -c "find . | cpio --quiet -H newc -o | gzip -3 -n > ../filesystem.cpio.gz" sudo sh -c "find . | cpio --quiet -H newc -o | gzip -3 -n > ../filesystem.cpio.gz"
...@@ -1068,10 +1068,19 @@ have an earlier version installed or are unsure which version is installed, ...@@ -1068,10 +1068,19 @@ have an earlier version installed or are unsure which version is installed,
follow the recovery image update instructions in the [Juno Software Guide] follow the recovery image update instructions in the [Juno Software Guide]
on the [ARM Connected Community] website. on the [ARM Connected Community] website.
The Juno platform requires a BL3-0 image to boot up. This image contains the Note that you must use the board recovery image provided in the Juno R1 Initial
runtime firmware that runs on the SCP (System Control Processor). This image is Alpha release, even for Juno R0. This is because the Trusted Firmware now
embedded within the [Juno Board Recovery Image] but can also be supports the new [SCPI v1.0 final protocol][Juno SCP Protocols v1.0]
[downloaded directly][Juno SCP Firmware]. exclusively, which is not compatible with the SCP firmware provided in the
latest Juno R0 release. Although the Juno R1 Initial Alpha release is generally
not recommended for use with Juno R0 boards, it is suitable for Trusted Firmware
development.
The Juno platform requires a BL0 and a BL3-0 image to boot up. The BL0 image
contains the ROM firmware that runs on the SCP (System Control Processor),
whereas the BL3-0 image contains the SCP Runtime firmware. Both images are
embedded within the [Juno Board Recovery Image] but they can also be downloaded
directly: [Juno SCP ROM Firmware] and [Juno SCP Runtime Firmware].
Rebuild the Trusted Firmware specifying the BL3-0 image. Refer to the section Rebuild the Trusted Firmware specifying the BL3-0 image. Refer to the section
"Building the Trusted Firmware". Alternatively, the FIP image can be updated "Building the Trusted Firmware". Alternatively, the FIP image can be updated
...@@ -1083,7 +1092,7 @@ manually with the BL3-0 image: ...@@ -1083,7 +1092,7 @@ manually with the BL3-0 image:
Juno's device tree blob is built along with the kernel. It is located in: Juno's device tree blob is built along with the kernel. It is located in:
<path-to-linux>/arch/arm64/boot/dts/juno.dtb <path-to-linux>/arch/arm64/boot/dts/arm/juno.dtb
### Other Juno software information ### Other Juno software information
...@@ -1104,8 +1113,10 @@ _Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved._ ...@@ -1104,8 +1113,10 @@ _Copyright (c) 2013-2015, ARM Limited and Contributors. All rights reserved._
[ARM FVP website]: http://www.arm.com/fvp [ARM FVP website]: http://www.arm.com/fvp
[ARM Connected Community]: http://community.arm.com [ARM Connected Community]: http://community.arm.com
[Juno Software Guide]: http://community.arm.com/docs/DOC-8396 [Juno Software Guide]: http://community.arm.com/docs/DOC-8396
[Juno Board Recovery Image]: http://community.arm.com/servlet/JiveServlet/download/9427-1-15432/board_recovery_image_0.10.1.zip [Juno Board Recovery Image]: http://community.arm.com/servlet/JiveServlet/download/10177-1-18236/board_recovery_image_0.11.3.zip
[Juno SCP Firmware]: http://community.arm.com/servlet/JiveServlet/download/9427-1-15422/bl30.bin.zip [Juno SCP ROM Firmware]: http://community.arm.com/servlet/JiveServlet/download/10177-1-18187/bl0.bin.zip
[Juno SCP Runtime Firmware]: http://community.arm.com/servlet/JiveServlet/download/10177-1-18193/bl30.bin.zip
[Juno SCP Protocols v1.0]: http://community.arm.com/servlet/JiveServlet/download/8401-40-18262/DUI0922A_scp_message_interface.pdf
[Linaro Toolchain]: http://releases.linaro.org/14.07/components/toolchain/binaries/ [Linaro Toolchain]: http://releases.linaro.org/14.07/components/toolchain/binaries/
[EDK2]: http://github.com/tianocore/edk2 [EDK2]: http://github.com/tianocore/edk2
[DS-5]: http://www.arm.com/products/tools/software-tools/ds-5/index.php [DS-5]: http://www.arm.com/products/tools/software-tools/ds-5/index.php
......
...@@ -102,7 +102,8 @@ ...@@ -102,7 +102,8 @@
CPU_SLEEP_0: cpu-sleep-0 { CPU_SLEEP_0: cpu-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x0010000>; local-timer-stop;
arm,psci-suspend-param = <0x0010000>;
entry-latency-us = <40>; entry-latency-us = <40>;
exit-latency-us = <100>; exit-latency-us = <100>;
min-residency-us = <150>; min-residency-us = <150>;
...@@ -110,7 +111,8 @@ ...@@ -110,7 +111,8 @@
CLUSTER_SLEEP_0: cluster-sleep-0 { CLUSTER_SLEEP_0: cluster-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x1010000>; local-timer-stop;
arm,psci-suspend-param = <0x1010000>;
entry-latency-us = <500>; entry-latency-us = <500>;
exit-latency-us = <1000>; exit-latency-us = <1000>;
min-residency-us = <2500>; min-residency-us = <2500>;
......
...@@ -102,7 +102,8 @@ ...@@ -102,7 +102,8 @@
CPU_SLEEP_0: cpu-sleep-0 { CPU_SLEEP_0: cpu-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x0010000>; local-timer-stop;
arm,psci-suspend-param = <0x0010000>;
entry-latency-us = <40>; entry-latency-us = <40>;
exit-latency-us = <100>; exit-latency-us = <100>;
min-residency-us = <150>; min-residency-us = <150>;
...@@ -110,7 +111,8 @@ ...@@ -110,7 +111,8 @@
CLUSTER_SLEEP_0: cluster-sleep-0 { CLUSTER_SLEEP_0: cluster-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x1010000>; local-timer-stop;
arm,psci-suspend-param = <0x1010000>;
entry-latency-us = <500>; entry-latency-us = <500>;
exit-latency-us = <1000>; exit-latency-us = <1000>;
min-residency-us = <2500>; min-residency-us = <2500>;
......
...@@ -100,7 +100,8 @@ ...@@ -100,7 +100,8 @@
CPU_SLEEP_0: cpu-sleep-0 { CPU_SLEEP_0: cpu-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x0010000>; local-timer-stop;
arm,psci-suspend-param = <0x0010000>;
entry-latency-us = <40>; entry-latency-us = <40>;
exit-latency-us = <100>; exit-latency-us = <100>;
min-residency-us = <150>; min-residency-us = <150>;
...@@ -108,7 +109,8 @@ ...@@ -108,7 +109,8 @@
CLUSTER_SLEEP_0: cluster-sleep-0 { CLUSTER_SLEEP_0: cluster-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x1010000>; local-timer-stop;
arm,psci-suspend-param = <0x1010000>;
entry-latency-us = <500>; entry-latency-us = <500>;
exit-latency-us = <1000>; exit-latency-us = <1000>;
min-residency-us = <2500>; min-residency-us = <2500>;
......
...@@ -87,7 +87,8 @@ ...@@ -87,7 +87,8 @@
CPU_SLEEP_0: cpu-sleep-0 { CPU_SLEEP_0: cpu-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x0010000>; local-timer-stop;
arm,psci-suspend-param = <0x0010000>;
entry-latency-us = <40>; entry-latency-us = <40>;
exit-latency-us = <100>; exit-latency-us = <100>;
min-residency-us = <150>; min-residency-us = <150>;
...@@ -95,7 +96,8 @@ ...@@ -95,7 +96,8 @@
CLUSTER_SLEEP_0: cluster-sleep-0 { CLUSTER_SLEEP_0: cluster-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x1010000>; local-timer-stop;
arm,psci-suspend-param = <0x1010000>;
entry-latency-us = <500>; entry-latency-us = <500>;
exit-latency-us = <1000>; exit-latency-us = <1000>;
min-residency-us = <2500>; min-residency-us = <2500>;
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
}; };
psci { psci {
compatible = "arm,psci"; compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
method = "smc"; method = "smc";
cpu_suspend = <0xc4000001>; cpu_suspend = <0xc4000001>;
cpu_off = <0x84000002>; cpu_off = <0x84000002>;
...@@ -83,11 +83,12 @@ ...@@ -83,11 +83,12 @@
}; };
idle-states { idle-states {
entry-method = "arm,psci-1.0", "arm,psci-0.2", "arm,psci"; entry-method = "arm,psci";
CPU_SLEEP_0: cpu-sleep-0 { CPU_SLEEP_0: cpu-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x0010000>; local-timer-stop;
arm,psci-suspend-param = <0x0010000>;
entry-latency-us = <40>; entry-latency-us = <40>;
exit-latency-us = <100>; exit-latency-us = <100>;
min-residency-us = <150>; min-residency-us = <150>;
...@@ -95,7 +96,8 @@ ...@@ -95,7 +96,8 @@
CLUSTER_SLEEP_0: cluster-sleep-0 { CLUSTER_SLEEP_0: cluster-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x1010000>; local-timer-stop;
arm,psci-suspend-param = <0x1010000>;
entry-latency-us = <500>; entry-latency-us = <500>;
exit-latency-us = <1000>; exit-latency-us = <1000>;
min-residency-us = <2500>; min-residency-us = <2500>;
......
...@@ -85,7 +85,8 @@ ...@@ -85,7 +85,8 @@
CPU_SLEEP_0: cpu-sleep-0 { CPU_SLEEP_0: cpu-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x0010000>; local-timer-stop;
arm,psci-suspend-param = <0x0010000>;
entry-latency-us = <40>; entry-latency-us = <40>;
exit-latency-us = <100>; exit-latency-us = <100>;
min-residency-us = <150>; min-residency-us = <150>;
...@@ -93,7 +94,8 @@ ...@@ -93,7 +94,8 @@
CLUSTER_SLEEP_0: cluster-sleep-0 { CLUSTER_SLEEP_0: cluster-sleep-0 {
compatible = "arm,idle-state"; compatible = "arm,idle-state";
entry-method-param = <0x1010000>; local-timer-stop;
arm,psci-suspend-param = <0x1010000>;
entry-latency-us = <500>; entry-latency-us = <500>;
exit-latency-us = <1000>; exit-latency-us = <1000>;
min-residency-us = <2500>; min-residency-us = <2500>;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment