public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Pete Batard <pete@akeo.ie>
To: edk2-devel@lists.01.org
Subject: [PATCH v5 edk2-platforms 18/22] Platform/RaspberryPi/RPi3 *NON-OSI*: Add ATF binaries
Date: Tue,  5 Feb 2019 16:25:33 +0000	[thread overview]
Message-ID: <20190205162537.6472-19-pete@akeo.ie> (raw)
In-Reply-To: <20190205162537.6472-1-pete@akeo.ie>

These ATF binaries were built from the ATF source (commit c3859557)
with the custom RPi3 platform options detailed in the readme, and with
no modification to the official source whatsoever.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Pete Batard <pete@akeo.ie>
---
 Platform/RaspberryPi/RPi3/TrustedFirmware/License.txt |  26 ++++++++++++
 Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md   |  42 ++++++++++++++++++++
 Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin     | Bin 0 -> 18801 bytes
 Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin     | Bin 0 -> 41714 bytes
 4 files changed, 68 insertions(+)

diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/License.txt b/Platform/RaspberryPi/RPi3/TrustedFirmware/License.txt
new file mode 100644
index 000000000000..b98dc643227e
--- /dev/null
+++ b/Platform/RaspberryPi/RPi3/TrustedFirmware/License.txt
@@ -0,0 +1,26 @@
+Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+
+* Neither the name of ARM nor the names of its contributors may be used to
+  endorse or promote products derived from this software without specific prior
+  written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md b/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md
new file mode 100644
index 000000000000..74bcec7d1f12
--- /dev/null
+++ b/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md
@@ -0,0 +1,42 @@
+ARM Trusted Firmware for Raspberry Pi 3
+=======================================
+
+The `bl1` and `fip` ATF binaries, found in this directory, were built from
+the [official ATF source](https://github.com/ARM-software/arm-trusted-firmware)
+(commit c3859557) using Linaro's GCC 5.5 compiler with:
+
+```
+export CROSS_COMPILE=/usr/src/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
+make PLAT=rpi3 PRELOADED_BL33_BASE=0x30000 RPI3_PRELOADED_DTB_BASE=0x10000 SUPPORT_VFP=1 RPI3_USE_UEFI_MAP=1 fip all
+```
+
+This results in the following memory mapping:
+
+```
+    0x00000000 +-----------------+
+               |       ROM       | BL1
+    0x00010000 +-----------------+
+               |       DTB       | (Loaded by the VideoCore)
+    0x00020000 +-----------------+
+               |       FIP       |
+    0x00030000 +-----------------+
+               |                 |
+               |  UEFI PAYLOAD   |
+               |                 |
+    0x00200000 +-----------------+
+               |   Secure SRAM   | BL2, BL31
+    0x00300000 +-----------------+
+               |   Secure DRAM   | BL32 (Secure payload)
+    0x00400000 +-----------------+
+               |                 |
+               |                 |
+               | Non-secure DRAM | BL33
+               |                 |
+               |                 |
+    0x01000000 +-----------------+
+               |                 |
+               |       ...       |
+               |                 |
+    0x3F000000 +-----------------+
+               |       I/O       |
+```
diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin b/Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin
new file mode 100644
index 0000000000000000000000000000000000000000..e25138828d0a4ddb24772abb1a60eefc334666b5
GIT binary patch
literal 18801
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

literal 0
HcmV?d00001

diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin b/Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin
new file mode 100644
index 0000000000000000000000000000000000000000..eff727ca78dc07cbfe56f1b6717e93b91702c16a
GIT binary patch
literal 41714
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
F{9hQUX+r=2

literal 0
HcmV?d00001

-- 
2.17.0.windows.1



  parent reply	other threads:[~2019-02-05 16:26 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-05 16:25 [PATCH v5 edk2-platforms 00/22] Platform/RaspberryPi: Add Raspberry Pi 3 support Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 01/22] Silicon/Broadcom/Bcm283x: Add interrupt driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 02/22] Silicon/Broadcom/Bcm283x: Add GpioLib Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 03/22] Platform/RaspberryPi/RPi3: Add ACPI tables Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 04/22] Platform/RaspberryPi/RPi3: Add reset and memory init libraries Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 05/22] Platform/RaspberryPi/RPi3: Add platform library Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 06/22] Platform/RaspberryPi/RPi3: Add firmware driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 07/22] Platform/RaspberryPi/RPi3: Add platform config driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 08/22] Platform/RaspberryPi/RPi3: Add SMBIOS driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 09/22] Platform/RaspberryPi/RPi3: Add display driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 10/22] Platform/RaspberryPi/RPi3: Add console driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 11/22] Platform/RaspberryPi/RPi3: Add NV storage driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 12/22] Platform/RaspberryPi/RPi3: Add Device Tree driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 13/22] Platform/RaspberryPi/RPi3: Add base MMC driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 14/22] Platform/RaspberryPi/RPi3: Add Arasan " Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 15/22] Platform/RaspberryPi/RPi3: Add SD Host driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 16/22] Platform/RaspberryPi/RPi3: Add platform boot manager and helper libs Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 17/22] Platform/RaspberryPi/RPi3: Add USB host driver Pete Batard
2019-02-05 16:25 ` Pete Batard [this message]
2019-02-06 22:39   ` [PATCH v5 edk2-platforms 18/22] Platform/RaspberryPi/RPi3 *NON-OSI*: Add ATF binaries Kinney, Michael D
2019-02-07  0:52     ` Pete Batard
2019-02-07  2:35       ` Kinney, Michael D
2019-02-07 11:26         ` Pete Batard
2019-02-07 14:25           ` Ard Biesheuvel
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 19/22] Platform/RaspberryPi/RPi3 *NON-OSI*: Add Device Tree binaries Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 20/22] Platform/RaspberryPi/RPi3 *NON-OSI*: Add logo driver Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 21/22] Platform/RaspberryPi/RPi3: Add platform Pete Batard
2019-02-05 16:25 ` [PATCH v5 edk2-platforms 22/22] Platform/RaspberryPi/RPi3: Add platform readme's Pete Batard
2019-02-14 18:42   ` Leif Lindholm
2019-02-13  3:41 ` [PATCH v5 edk2-platforms 00/22] Platform/RaspberryPi: Add Raspberry Pi 3 support Jeremy Linton
2019-02-15 10:27   ` Ard Biesheuvel
2019-02-15 11:05     ` Ard Biesheuvel
2019-02-15 14:56       ` Pete Batard
2019-02-14 18:45 ` Leif Lindholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190205162537.6472-19-pete@akeo.ie \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox