|author||Ryan Harkin <email@example.com>||2013-06-14 13:32:37 +0100|
|committer||Ryan Harkin <firstname.lastname@example.org>||2013-06-14 13:37:07 +0100|
The CPUMigration patch from ARM provides The patch can be downloaded from here: https://silver.arm.com/download/download.tm?pv=1335158 And you will get this file: VE050-PA-00001-r5p0-00rel0.tgz Which contains: ./CPUmigrationPatch: bm_v519r.axf dbb_v110.ebf readme.txt Signed-off-by: Ryan Harkin <email@example.com>
|-rw-r--r--||SITE1/HBI0249A/dbb_v107.ebf||bin||29012 -> 0 bytes|
|-rw-r--r--||SITE1/HBI0249A/dbb_v110.ebf||bin||0 -> 31284 bytes|
|-rw-r--r--||SOFTWARE/bm_v519r.axf (renamed from SOFTWARE/bm_v517r.axf)||bin||197828 -> 199000 bytes|
6 files changed, 163 insertions, 2 deletions
diff --git a/SITE1/HBI0249A/board.txt b/SITE1/HBI0249A/board.txt
index ae53571..48e17f2 100644
@@ -3,7 +3,7 @@ TITLE: V2P-CA15_A7 Configuration File
TOTALDCCS: 1 ;Total Number of DCCS
-M0FILE: dbb_v107.ebf ;DCC0 Filename
+M0FILE: dbb_v110.ebf ;DCC0 Filename
M0MODE: MICRO ;DCC0 Programming Mode
diff --git a/SITE1/HBI0249A/dbb_v107.ebf b/SITE1/HBI0249A/dbb_v107.ebfBinary files differ
deleted file mode 100644
diff --git a/SITE1/HBI0249A/dbb_v110.ebf b/SITE1/HBI0249A/dbb_v110.ebfBinary files differ
new file mode 100644
diff --git a/SITE1/HBI0249A/images.txt b/SITE1/HBI0249A/images.txt
index e9da24e..d03cf9f 100644
@@ -5,7 +5,7 @@ TOTALIMAGES: 4 ;Number of Images (Max: 32)
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
NOR0ADDRESS: BOOT ;Image Flash Address
-NOR0FILE: \SOFTWARE\bm_v517r.axf ;Image File Name
+NOR0FILE: \SOFTWARE\bm_v519r.axf ;Image File Name
NOR1UPDATE: AUTO ;IMAGE UPDATE:NONE/AUTO/FORCE
NOR1ADDRESS: 00000000 ;Image Flash Address
diff --git a/SOFTWARE/bm_v517r.axf b/SOFTWARE/bm_v519r.axfBinary files differ
index f9f1fde..8956ab1 100644
diff --git a/readme.txt b/readme.txt
new file mode 100644
@@ -0,0 +1,161 @@
+This patch to Versatile Express DVD version 5.0 provides
+an updated Boot Monitor as well as updated DCC firmware
+for the CoreTile Express A15x2 A7x3 (V2P-CA15-A7) processor
+The updates are mandatory to be able to use the unified power
+management support for the big.LITTLE MP & CPU migration mode
+of operation in the Linaro Linux kernel. These changes will be
+introduced in version 13.01 of the kernel.
+The patch contains the following files:
+bm_v519r.axf - Boot Monitor
+dbb_v110.ebf - DCC firmware
+readme.txt - the text file you are reading now
+This release of the DCC firmware is not compatible with pre-13.01
+kernels (i.e. existing releases of the Linaro Linux kernel).
+However, the previous version of the DCC firmware (dbb_v107.ebf)
+and pre-13.01 releases of the kernel may be used with this release
+of the Boot Monitor as mentioned below.
+1. Compatibility with Linaro Linux kernel releases.
+ Power management support for the TC2 coretile has been reworked for the
+ 13.01 kernel release. Broadly, this means that per-cpu mailbox registers
+ are used to a) bringup secondary cpus during smp bringup & b) implement
+ warm resets. Linux kernel releases prior to 13.01 used the sys_flags
+ registers (part of the versatile express motherboard memory map) to do
+ the same.
+ The Bootmon firmware is compatible with both 13.01 and the releases
+ preceding it. Comptability with pre 13.01 Linaro Linux kernels is
+ referred to as 'backward compatibility'. The mode of operation of
+ bootmon can be configured by manipulating bit in the SCC register
+ offset 0x700 (SCC System Information Register) in the board.txt file.
+ a. bit=1: Bootmon is compatible with the 13.01 release of the
+ Linaro linux kernel. It uses per-cpu mailboxes to
+ implement warm resets & for secondary cpu bringup.
+ b. bit=0: Bootmon is compatible with pre 13.01 releases of the
+ Linaro linux kernel. It uses sys_flags register to
+ implement warm resets for secondary cpu bringup.
+ This bit should be set to 0 if power management support
+ has been disabled in the Linux kernel configuration.
+ To summarize, the following combinations of the firmware and the
+ linux kernel are expected to be compatible:
+ a. dbb_v107.ebf (dcc fw) + bm_v519r.axf (bootmon fw) + pre-13.01
+ release of the Linaro linux kernel + board.txt which has bit
+ of SCC register offset 0x700 unset.
+ b. dbb_v110.ebf (dcc fw) + bm_v519r.axf (bootmon fw) + 13.01 release
+ of the Linaro linux kernel + board.txt which has bit of SCC
+ register offset 0x700 set.
+2. Support for TC2 coretile event propagation errata
+ The TC2 coretile has a bug in the implementation of the logic
+ that's responsible for delivering events (e.g. generated by the
+ 'sev' instruction) across the A15 and A7 clusters. Inter-cluster
+ events can be lost if the two clusters are operating at certain
+ OPP (operating point) combinations. This can cause a CPU to wait
+ for an event ('wfe' instruction) indefinitely e.g. while trying to
+ acquire a spin lock in the linux kernel.
+ Bootmon can be configured to work around this issue. This is done
+ by generating a periodic event stream (every 32K cycles) on each CPU
+ to make up for any lost events. Configuration is done by manipulating
+ the following bits of the SCC register offset 0x700 (SCC System
+ information register) in the board.txt as follows:
+ a. bit=1: Each A15 cpu generates an event stream every 32K cycles.
+ b. bit=0: Event stream generation is not configured on the A15 cpus.
+ c. bit=1: Each A7 cpu generates an event stream every 32K cycles.
+ f. bit=0: Event stream generation is not configured on the A7 cpus.
+ Setting both the bits in the SCC register is expected to provide a reliable
+ workaround of the errata.
+3. Support for powering down the non-boot cluster.
+ To save power it might be desirable to keep the non-boot cluster powered
+ down till the operating system (Linux) does not explicitly bringup cpus
+ in that cluster either as a part of smp bringup or through a hotplug request.
+ Bootmon can be configured to power down the non-boot cluster by manipulating
+ the SCC register offset 0x700 (SCC System information register) in the
+ board.txt as follows:
+ a. bit=1: Bootmon powers down the non-boot cluster.
+ b. bit=0: Bootmon does not power down the non-boot cluster.
+There is no automatic installation method for this patch.
+To install the patch you must manually copy the files on
+to the Micro-SD card of your Versatile Express motherboard,
+and then update the relevant image.txt and board.txt files
+so that they point to the updated firmware and Boot Monitor.
+Proceed as follows:
+1) copy bm_v519r.axf to the motherboard in this location:
+2) copy dbb_v110.ebf to the motherboard in this location:
+3) edit the file on the motherboard:
+ to change the line:
+ M0FILE: dbb_v107.ebf ;DCC0 Filename
+ so that it becomes:
+ M0FILE: dbb_v110.ebf ;DCC0 Filename
+4) edit the file on the motherboard:
+ to change the line:
+ NOR0FILE: \SOFTWARE\bm_v517r.axf ;Image File Name
+ so that it becomes:
+ NOR0FILE: \SOFTWARE\bm_v519r.axf ;Image File Name
+It is possible that additional changes to these text
+files will be needed - please see the instructions that
+come with the Linaro kernel for details of any further
+changes that are necessary.