From nobody Thu May 2 14:32:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+52111+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+52111+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1576063460; cv=none; d=zohomail.com; s=zohoarc; b=nroAS/DvGXRPXirASn8zybWiEMgz8X+k+gM54yVliEhtJk52muRZSRN32aVNEsb/JJhAImzK2DFfdLU8haqSrCvCAQHdEQEP5nNgA/QyLWtc47jeSvsRqg0mXKCDJ3aYMXNrOu1TN01XeZBLF05f0fANgmwT3FrEOZ7P3yfo9+0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576063460; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=OgSm6I6Bb/+l+TFa482DliJEJH8GhE0mb5U3s4j7N+M=; b=K2LhQc2QDgpy7MmOkunxWJQ3mH7oRUZpZNkoEZ3oMhly+KkbZp0QPJ8aIeuSn5j7BoHGL6rEZG3dSzkTVjG9RrDnz0BO/4AD0h+1RXiO68m79ASg7aNclLyvn+KOELySDKsvYF1sYQDHRCv+WVwPnDGo5GlznmJ+iYNcW8rSd3s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+52111+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 157606346067073.89093099719707; Wed, 11 Dec 2019 03:24:20 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id sksJYY1788612x9NVUWNwlDG; Wed, 11 Dec 2019 03:24:19 -0800 X-Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by mx.groups.io with SMTP id smtpd.web11.2216.1576063458710391399 for ; Wed, 11 Dec 2019 03:24:19 -0800 X-Received: by mail-wr1-f46.google.com with SMTP id t2so23644989wrr.1 for ; Wed, 11 Dec 2019 03:24:18 -0800 (PST) X-Gm-Message-State: DcuenScOz3viVWcvBRqJHzUcx1787277AA= X-Google-Smtp-Source: APXvYqwxXaMlocpyytxU0QaYb6tBXZhtsi9jEwOoMxRDlDVwGqsDdFhjDqIivnSUBZxMHLbPV5BRhQ== X-Received: by 2002:a5d:46c1:: with SMTP id g1mr3170479wrs.200.1576063455885; Wed, 11 Dec 2019 03:24:15 -0800 (PST) X-Received: from localhost.localdomain ([84.203.45.230]) by smtp.gmail.com with ESMTPSA id f1sm1902145wru.6.2019.12.11.03.24.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Dec 2019 03:24:15 -0800 (PST) From: "Pete Batard" To: devel@edk2.groups.io Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, philmd@redhat.com Subject: [edk2-devel] [edk2-non-osi][PATCH 1/2] Platforms/RPi4: Add Device Tree Date: Wed, 11 Dec 2019 11:23:59 +0000 Message-Id: <20191211112400.1872-2-pete@akeo.ie> In-Reply-To: <20191211112400.1872-1-pete@akeo.ie> References: <20191211112400.1872-1-pete@akeo.ie> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pete@akeo.ie Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1576063459; bh=yAwMc1wZIVWCmaZfRS8E8H7AxmDrMF+cXfBMpSOuvko=; h=Cc:Date:From:Reply-To:Subject:To; b=t2/NujIqMAZ9d8r7HH1UMHAndiUSQqZ4Z0nCBMB3S+y+ER611jsktnZA+vLmPf73eZI NhVJz3xjrPLmGARA3o7N9LfaUtgZEtkS9GY1KSmNX6WsGG4yvhQUZgETJNgf/1kyuVtcs ZqKI5HKdzGlYeT1KKmqlcXR60wUdfgdw20Y= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Similar to what is the case with the Raspberry Pi 3, the Raspberry Pi 4 UEFI firmware requires a binary Device Tree for the Broadcom 2711 SoC. This patch adds the most up to date Device Tree binary, as published with commit 601d36df3aa541560e4cf9b571105d20db2b4b7c from https://github.com/raspberrypi/firmware/tree/master/boot Signed-off-by: Pete Batard --- Platform/RaspberryPi/RPi4/DeviceTree/License.txt | 340 +++++++++++= +++++++++ Platform/RaspberryPi/RPi4/DeviceTree/Readme.md | 13 + Platform/RaspberryPi/RPi4/DeviceTree/bcm2711-rpi-4-b.dtb | Bin 0 -> 40697 = bytes 3 files changed, 353 insertions(+) diff --git a/Platform/RaspberryPi/RPi4/DeviceTree/License.txt b/Platform/Ra= spberryPi/RPi4/DeviceTree/License.txt new file mode 100644 index 000000000000..1603937dad82 --- /dev/null +++ b/Platform/RaspberryPi/RPi4/DeviceTree/License.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301= USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; o= r, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Softwa= re +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 = USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show = w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Platform/RaspberryPi/RPi4/DeviceTree/Readme.md b/Platform/Rasp= berryPi/RPi4/DeviceTree/Readme.md new file mode 100644 index 000000000000..923dd1aa675e --- /dev/null +++ b/Platform/RaspberryPi/RPi4/DeviceTree/Readme.md @@ -0,0 +1,13 @@ +Device Tree for Raspberry Pi 4 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D + +This directory contains a copy of the official Device Tree for the +Raspberry Pi 4 as published by the Raspberry Pi Foundation at +https://github.com/raspberrypi/firmware/tree/master/boot. + +Especially, the dtb found in this directory is an exact copy of +the one updated by the Raspberry Pi Foundation with commit +`601d36df3aa541560e4cf9b571105d20db2b4b7c`. + +As per [the Foundation's Readme](https://github.com/raspberrypi/firmware/b= lob/master/README.md), +the license that applies to these files is the GPLv2. diff --git a/Platform/RaspberryPi/RPi4/DeviceTree/bcm2711-rpi-4-b.dtb b/Pla= tform/RaspberryPi/RPi4/DeviceTree/bcm2711-rpi-4-b.dtb new file mode 100644 index 0000000000000000000000000000000000000000..8b7b1f58bf2ed4fcb12da5fcde6= 814927816764e GIT binary patch literal 40697 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 F|3CdZd9wfj literal 0 HcmV?d00001 --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#52111): https://edk2.groups.io/g/devel/message/52111 Mute This Topic: https://groups.io/mt/68147437/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Thu May 2 14:32:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+52112+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+52112+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1576063464; cv=none; d=zohomail.com; s=zohoarc; b=QSe0cGsGqIdk+Q1/3Z9di8IvvA0jiVsv03OQ/qu7rpEkpgwedP73UsRqRrbgGqSXquPBL2h6ZoKlYlJxtA1ZBxU8ohUCw2FZ41YtrOr4Mpd/XoKm7POnCDLK/FqO8pjzyYSg0X7RzBzcPkf6sZzDJFmI+pRmYytjq1x3tJnw5io= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1576063464; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=ZigUdvuJYBOKNroOyY8i2hNEQ8kR6DSnkCYbCMDUCws=; b=DK2NBP4e1alcnH65YHLSAJo11qsPs7Y9g4Yt2LftxuYlPP8sWotVyy9i+DZACpPJBWQM6cSmrGvQA3na2cGma8ABH18EOHHhr3MhQuCgBQ/L30aIy/V7r7Ve1PicCQn+DMdPo4b4yiDSZ7J1SU4G7OnpY+/Ml9FMMlXo/fzfcik= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+52112+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1576063464632840.9375585714206; Wed, 11 Dec 2019 03:24:24 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 66KcYY1788612xO4Im95Yvy9; Wed, 11 Dec 2019 03:24:23 -0800 X-Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by mx.groups.io with SMTP id smtpd.web11.2218.1576063461533246565 for ; Wed, 11 Dec 2019 03:24:22 -0800 X-Received: by mail-wm1-f68.google.com with SMTP id f129so6575740wmf.2 for ; Wed, 11 Dec 2019 03:24:21 -0800 (PST) X-Gm-Message-State: yP5rOJJtRrCbqysRbWBZgOXXx1787277AA= X-Google-Smtp-Source: APXvYqxMny2gcORmgIu5eyqV1jTRinbKYfCWX78vlUi7cNe/vhKvcofFz3DWKqn4borGqyotmGsoBg== X-Received: by 2002:a7b:c552:: with SMTP id j18mr3073540wmk.123.1576063458146; Wed, 11 Dec 2019 03:24:18 -0800 (PST) X-Received: from localhost.localdomain ([84.203.45.230]) by smtp.gmail.com with ESMTPSA id f1sm1902145wru.6.2019.12.11.03.24.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Dec 2019 03:24:17 -0800 (PST) From: "Pete Batard" To: devel@edk2.groups.io Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, philmd@redhat.com Subject: [edk2-devel] [edk2-non-osi][PATCH 2/2] Platforms/RPi4: Add Trusted Firmware binaries Date: Wed, 11 Dec 2019 11:24:00 +0000 Message-Id: <20191211112400.1872-3-pete@akeo.ie> In-Reply-To: <20191211112400.1872-1-pete@akeo.ie> References: <20191211112400.1872-1-pete@akeo.ie> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pete@akeo.ie Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1576063463; bh=59cpS09/F60gxLrVF9kHHe90ZWVTSsDqtzylda5/uvo=; h=Cc:Date:From:Reply-To:Subject:To; b=EVtwoJBpK1rxfsJ5Zxbom55YoTnChTv1KG3WhO7qZ2djCsdwz9OWUgTPL4Vhf7WpnYh OtElpNiwERiDLhl6UnQa03j/ELR9ZrJe4bs1Atnhm9C/BpJyDhjG4CpBdHpdJppLOfqX6 UtJ/8oQMDiVDBKiBn+R9DWVkjSjr//nEF10= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Similar to what is the case with the Raspberry Pi 3, the Raspberry Pi 4 UEFI firmware requires the provision of a Trusted Firmware binary (TF-A). The binary is built for a dtb base address of 0x00020000 and a UEFI payload base address of 0x00030000. Binaries are built using a custom version of TF-A (the source of which is documented in the Readme), since the official repository is missing a fix to get proper baudrate when using a recent version of start4.elf, as we as the ability to switch between PL011 and mini UART. We are currently working with TF-A to upstream both these fixes so that we can switch to binaries built from official source at a later date. In order to provide the ability to switch serial I/O controllers, a feature we will be adding to the RPi4 UEFI Firmware, and not lose TF-A output, two binaries are provided, one for mini UART output and one for PL011 output. Signed-off-by: Pete Batard --- Platform/RaspberryPi/RPi4/TrustedFirmware/License.txt | 26 ++++++++= ++++++++++++ Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md | 12 +++++++++ Platform/RaspberryPi/RPi4/TrustedFirmware/bl31_miniuart.bin | Bin 0 -> 410= 72 bytes Platform/RaspberryPi/RPi4/TrustedFirmware/bl31_pl011.bin | Bin 0 -> 410= 72 bytes 4 files changed, 38 insertions(+) diff --git a/Platform/RaspberryPi/RPi4/TrustedFirmware/License.txt b/Platfo= rm/RaspberryPi/RPi4/TrustedFirmware/License.txt new file mode 100644 index 000000000000..48429979fec2 --- /dev/null +++ b/Platform/RaspberryPi/RPi4/TrustedFirmware/License.txt @@ -0,0 +1,26 @@ +Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modific= ation, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, t= his + 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 IMPL= IED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIAB= LE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAM= AGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICE= S; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AN= D 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 T= HIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md b/Platform= /RaspberryPi/RPi4/TrustedFirmware/Readme.md new file mode 100644 index 000000000000..7f1749dfc3a0 --- /dev/null +++ b/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md @@ -0,0 +1,12 @@ +ARM Trusted Firmware for Raspberry Pi 4 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +The `bl31_#####.bin` TF-A binaries found in this repository were built on = a Debian 10.2 system +from https://github.com/pbatard/arm-trusted-firmware/tree/pi4 (pi4 branch)= using the command: + +``` +make PLAT=3Drpi4 RPI3_PRELOADED_DTB_BASE=3D0x20000 PRELOADED_BL33_BASE=3D0= x30000 SUPPORT_VFP=3D1 [RPI3_USE_PL011_UART=3D1] DEBUG=3D0 all +``` + +The only difference between these firmwares is that the `RPI3_USE_PL011_UA= RT=3D1` option was added +to build `bl31_pl011.bin` so that it uses PL011 for serial output rather t= han the "mini UART". diff --git a/Platform/RaspberryPi/RPi4/TrustedFirmware/bl31_miniuart.bin b/= Platform/RaspberryPi/RPi4/TrustedFirmware/bl31_miniuart.bin new file mode 100644 index 0000000000000000000000000000000000000000..e53aa0ef40fd2a8a66fee22439d= e2860813aa42f GIT binary patch literal 41072 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 L7sBM91MmL=3DwAOXu literal 0 HcmV?d00001 --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#52112): https://edk2.groups.io/g/devel/message/52112 Mute This Topic: https://groups.io/mt/68147438/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-