Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-31 Thread Pete Batard

On 2019.01.30 21:59, Leif Lindholm wrote:

Hi Pete,

I have two annoying pieces of feedback that apply to the whole set.

Firstly, I would really appreciate if we could have some sort of
commit messages rather than just subject lines.


I can work on that.


So, for ACPI, mention the provenance and limitations.
For SMBIOS, version supported and any relevant omissions or surprising
inclusions. And so on.

Secondly, we try to follow a //... pattern.
Could you possibly find it in your heart to do a global move and
search-and-replace of Platform/Raspberry to Platform/RaspberryPi?


Yes. I am realizing now that I thought it was called the "Raspberry 
Foundation", with the expectation that maybe in the future they might 
release a new platform called "Raspberry Jam" or something, hence my use 
of "Raspberry" for the organization. But it's correct denomination is 
really the "Raspberry Pi Foundation", so your remark does make sense.


And since it won't matter much to go one step further, I'll also apply 
the follow up remark to have:


Platform/RaspberryPi/RPi3/RPi3.dsc.


Best Regards,

Leif

On Tue, Jan 29, 2019 at 04:26:32PM +, Pete Batard wrote:

Changes applied to v4:

* Silicon/Broadcom/Include has been moved to Silicon/Broadcom/Bcm283x/Include.
   The [Packages] and [Includes] directives were also updated accordingly.
* Move the GpioLib function declarations into their own separate header.
* Add NOOPT to BUILD_TARGETS.
* Remove the no longer needed '-mcmodel=small' workaround from AcpiTables.

Changes not applied to v4:

* Ensure that all the ACPI tables _CID names, and the rest of the tables, are
   ACPI specs compliant, since we are constrained with regards to their usage
   for Microsoft Windows.


Preamble:

Because of its price point, ease of use and availability, the Raspberry Pi is
undeniably one of the most successful ARM platform in existence today. Its
widespread adoption therefore makes it a perfect fit as an EDK2 platform.

However, up until now, the Raspberry Pi hasn't been supported as a bona fide
platform in our repository. This series of patches remedies that by introducing
the Raspberry Pi 3 Model B and Model B+ as a viable EDK2 platform.

Notes regarding non-OSI content:

* Even though the ARM Trusted Firmware binary blobs are subject to a
   BSD-3-Clause licence, which may be compatible with the EDK2 one, we chose
   to follow the lead of other platforms that provide ATF binaries in non OSI.
   Ultimately, once there is a new dot release of ATF, we plan to remove these
   binaries and point to a dot release build configuartion.
* The Device Tree binaries (and source descriptors) are subject to a GPLv2
   license, as per the ones published by the Raspberry Pi Foundation.
* The Logo source code is under an EDK2 license, but the logo itself, which
   we obtained authorisation to use from the Raspberry Pi Foundation itself
   after detailing our planned usage, is subject to the trademark licensing
   terms put forward by the Foundation.

Additional Notes:

* Detailed instructions on how to build and test the platform firmware are
   included in the Readme.md found at the root of the platform.
* As detailed in the Readme, the resulting platform firmware has been
   successfully used to install and run Linux OSes, such as Ubuntu 18.10, as
   well as Windows 10 1809 (*full* UI version, not IoT).

Regards,

/Pete

Pete Batard (23):
   Silicon/Broadcom/Bcm282x: Add interrupt driver
   Silicon/Broadcom/Bcm283x: Add GpioLib
   Platform/Raspberry/Pi3: Add ACPI tables
   Platform/Raspberry/Pi3: Add reset and memory init libraries
   Platform/Raspberry/Pi3: Add platform library
   Platform/Raspberry/Pi3: Add RTC library
   Platform/Raspberry/Pi3: Add firmware driver
   Platform/Raspberry/Pi3: Add platform config driver
   Platform/Raspberry/Pi3: Add SMBIOS driver
   Platform/Raspberry/Pi3: Add display driver
   Platform/Raspberry/Pi3: Add console driver
   Platform/Raspberry/Pi3: Add NV storage driver
   Platform/Raspberry/Pi3: Add Device Tree driver
   Platform/Raspberry/Pi3: Add base MMC driver
   Platform/Raspberry/Pi3: Add Arasan MMC driver
   Platform/Raspberry/Pi3: Platform/Raspberry/Pi3: Add SD Host driver
   Platform/Raspberry/Pi3: Add platform boot manager and helper libraries
   Platform/Raspberry/Pi3: Add USB host driver
   Platform/Raspberry/Pi3: Add platform
   Platform/Raspberry/Pi3: Add platform readme
   Platform/Raspberry/Pi3 *NON-OSI*: Add ATF binaries
   Platform/Raspberry/Pi3 *NON-OSI*: Add Device Tree binaries
   Platform/Raspberry/Pi3 *NON-OSI*: Add logo driver

  .../Raspberry/Pi3/AcpiTables/AcpiTables.h |   82 +
  .../Raspberry/Pi3/AcpiTables/AcpiTables.inf   |   46 +
  Platform/Raspberry/Pi3/AcpiTables/Csrt.aslc   |  332 +++
  Platform/Raspberry/Pi3/AcpiTables/Dbg2.aslc   |   34 +
  Platform/Raspberry/Pi3/AcpiTables/Dsdt.asl|  511 +
  Platform/Raspberry/Pi3/AcpiTables/Fadt.aslc   |   52 +
  Platform/Raspberry/Pi3/AcpiTables/Gtdt.aslc   |   33 +
  

Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-30 Thread Leif Lindholm
On Wed, Jan 30, 2019 at 09:59:34PM +, Leif Lindholm wrote:
> Hi Pete,
> 
> I have two annoying pieces of feedback that apply to the whole set.
> 
> Firstly, I would really appreciate if we could have some sort of
> commit messages rather than just subject lines.
> So, for ACPI, mention the provenance and limitations.
> For SMBIOS, version supported and any relevant omissions or surprising
> inclusions. And so on.
> 
> Secondly, we try to follow a //... pattern.
> Could you possibly find it in your heart to do a global move and
> search-and-replace of Platform/Raspberry to Platform/RaspberryPi?

Err, Ard has pointed out to me that I may want to be more explicit
here.
My request is to rename Platform/Raspberry to Platform/RaspberryPi,
such that we end up with Platform/RaspberryPi/Pi3/RPi3.dsc.

It would also look more consistent to me if we renamed the
subdirectory RPi3 instead of Pi3, but I don't actually _care_ :)

Best Regards,

Leif

> 
> Best Regards,
> 
> Leif
> 
> On Tue, Jan 29, 2019 at 04:26:32PM +, Pete Batard wrote:
> > Changes applied to v4:
> > 
> > * Silicon/Broadcom/Include has been moved to 
> > Silicon/Broadcom/Bcm283x/Include.
> >   The [Packages] and [Includes] directives were also updated accordingly.
> > * Move the GpioLib function declarations into their own separate header.
> > * Add NOOPT to BUILD_TARGETS.
> > * Remove the no longer needed '-mcmodel=small' workaround from AcpiTables.
> > 
> > Changes not applied to v4:
> > 
> > * Ensure that all the ACPI tables _CID names, and the rest of the tables, 
> > are
> >   ACPI specs compliant, since we are constrained with regards to their usage
> >   for Microsoft Windows.
> > 
> > 
> > Preamble:
> > 
> > Because of its price point, ease of use and availability, the Raspberry Pi 
> > is
> > undeniably one of the most successful ARM platform in existence today. Its
> > widespread adoption therefore makes it a perfect fit as an EDK2 platform.
> > 
> > However, up until now, the Raspberry Pi hasn't been supported as a bona fide
> > platform in our repository. This series of patches remedies that by 
> > introducing
> > the Raspberry Pi 3 Model B and Model B+ as a viable EDK2 platform.
> > 
> > Notes regarding non-OSI content:
> > 
> > * Even though the ARM Trusted Firmware binary blobs are subject to a
> >   BSD-3-Clause licence, which may be compatible with the EDK2 one, we chose
> >   to follow the lead of other platforms that provide ATF binaries in non 
> > OSI.
> >   Ultimately, once there is a new dot release of ATF, we plan to remove 
> > these
> >   binaries and point to a dot release build configuartion.
> > * The Device Tree binaries (and source descriptors) are subject to a GPLv2
> >   license, as per the ones published by the Raspberry Pi Foundation.
> > * The Logo source code is under an EDK2 license, but the logo itself, which
> >   we obtained authorisation to use from the Raspberry Pi Foundation itself
> >   after detailing our planned usage, is subject to the trademark licensing
> >   terms put forward by the Foundation.
> > 
> > Additional Notes:
> > 
> > * Detailed instructions on how to build and test the platform firmware are
> >   included in the Readme.md found at the root of the platform.
> > * As detailed in the Readme, the resulting platform firmware has been
> >   successfully used to install and run Linux OSes, such as Ubuntu 18.10, as
> >   well as Windows 10 1809 (*full* UI version, not IoT).
> > 
> > Regards,
> > 
> > /Pete
> > 
> > Pete Batard (23):
> >   Silicon/Broadcom/Bcm282x: Add interrupt driver
> >   Silicon/Broadcom/Bcm283x: Add GpioLib
> >   Platform/Raspberry/Pi3: Add ACPI tables
> >   Platform/Raspberry/Pi3: Add reset and memory init libraries
> >   Platform/Raspberry/Pi3: Add platform library
> >   Platform/Raspberry/Pi3: Add RTC library
> >   Platform/Raspberry/Pi3: Add firmware driver
> >   Platform/Raspberry/Pi3: Add platform config driver
> >   Platform/Raspberry/Pi3: Add SMBIOS driver
> >   Platform/Raspberry/Pi3: Add display driver
> >   Platform/Raspberry/Pi3: Add console driver
> >   Platform/Raspberry/Pi3: Add NV storage driver
> >   Platform/Raspberry/Pi3: Add Device Tree driver
> >   Platform/Raspberry/Pi3: Add base MMC driver
> >   Platform/Raspberry/Pi3: Add Arasan MMC driver
> >   Platform/Raspberry/Pi3: Platform/Raspberry/Pi3: Add SD Host driver
> >   Platform/Raspberry/Pi3: Add platform boot manager and helper libraries
> >   Platform/Raspberry/Pi3: Add USB host driver
> >   Platform/Raspberry/Pi3: Add platform
> >   Platform/Raspberry/Pi3: Add platform readme
> >   Platform/Raspberry/Pi3 *NON-OSI*: Add ATF binaries
> >   Platform/Raspberry/Pi3 *NON-OSI*: Add Device Tree binaries
> >   Platform/Raspberry/Pi3 *NON-OSI*: Add logo driver
> > 
> >  .../Raspberry/Pi3/AcpiTables/AcpiTables.h |   82 +
> >  .../Raspberry/Pi3/AcpiTables/AcpiTables.inf   |   46 +
> >  Platform/Raspberry/Pi3/AcpiTables/Csrt.aslc   |  332 +++
> >  Platform/Raspberry/Pi3/AcpiTables/Dbg2.aslc   |   34 

Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-30 Thread Leif Lindholm
Hi Pete,

I have two annoying pieces of feedback that apply to the whole set.

Firstly, I would really appreciate if we could have some sort of
commit messages rather than just subject lines.
So, for ACPI, mention the provenance and limitations.
For SMBIOS, version supported and any relevant omissions or surprising
inclusions. And so on.

Secondly, we try to follow a //... pattern.
Could you possibly find it in your heart to do a global move and
search-and-replace of Platform/Raspberry to Platform/RaspberryPi?

Best Regards,

Leif

On Tue, Jan 29, 2019 at 04:26:32PM +, Pete Batard wrote:
> Changes applied to v4:
> 
> * Silicon/Broadcom/Include has been moved to Silicon/Broadcom/Bcm283x/Include.
>   The [Packages] and [Includes] directives were also updated accordingly.
> * Move the GpioLib function declarations into their own separate header.
> * Add NOOPT to BUILD_TARGETS.
> * Remove the no longer needed '-mcmodel=small' workaround from AcpiTables.
> 
> Changes not applied to v4:
> 
> * Ensure that all the ACPI tables _CID names, and the rest of the tables, are
>   ACPI specs compliant, since we are constrained with regards to their usage
>   for Microsoft Windows.
> 
> 
> Preamble:
> 
> Because of its price point, ease of use and availability, the Raspberry Pi is
> undeniably one of the most successful ARM platform in existence today. Its
> widespread adoption therefore makes it a perfect fit as an EDK2 platform.
> 
> However, up until now, the Raspberry Pi hasn't been supported as a bona fide
> platform in our repository. This series of patches remedies that by 
> introducing
> the Raspberry Pi 3 Model B and Model B+ as a viable EDK2 platform.
> 
> Notes regarding non-OSI content:
> 
> * Even though the ARM Trusted Firmware binary blobs are subject to a
>   BSD-3-Clause licence, which may be compatible with the EDK2 one, we chose
>   to follow the lead of other platforms that provide ATF binaries in non OSI.
>   Ultimately, once there is a new dot release of ATF, we plan to remove these
>   binaries and point to a dot release build configuartion.
> * The Device Tree binaries (and source descriptors) are subject to a GPLv2
>   license, as per the ones published by the Raspberry Pi Foundation.
> * The Logo source code is under an EDK2 license, but the logo itself, which
>   we obtained authorisation to use from the Raspberry Pi Foundation itself
>   after detailing our planned usage, is subject to the trademark licensing
>   terms put forward by the Foundation.
> 
> Additional Notes:
> 
> * Detailed instructions on how to build and test the platform firmware are
>   included in the Readme.md found at the root of the platform.
> * As detailed in the Readme, the resulting platform firmware has been
>   successfully used to install and run Linux OSes, such as Ubuntu 18.10, as
>   well as Windows 10 1809 (*full* UI version, not IoT).
> 
> Regards,
> 
> /Pete
> 
> Pete Batard (23):
>   Silicon/Broadcom/Bcm282x: Add interrupt driver
>   Silicon/Broadcom/Bcm283x: Add GpioLib
>   Platform/Raspberry/Pi3: Add ACPI tables
>   Platform/Raspberry/Pi3: Add reset and memory init libraries
>   Platform/Raspberry/Pi3: Add platform library
>   Platform/Raspberry/Pi3: Add RTC library
>   Platform/Raspberry/Pi3: Add firmware driver
>   Platform/Raspberry/Pi3: Add platform config driver
>   Platform/Raspberry/Pi3: Add SMBIOS driver
>   Platform/Raspberry/Pi3: Add display driver
>   Platform/Raspberry/Pi3: Add console driver
>   Platform/Raspberry/Pi3: Add NV storage driver
>   Platform/Raspberry/Pi3: Add Device Tree driver
>   Platform/Raspberry/Pi3: Add base MMC driver
>   Platform/Raspberry/Pi3: Add Arasan MMC driver
>   Platform/Raspberry/Pi3: Platform/Raspberry/Pi3: Add SD Host driver
>   Platform/Raspberry/Pi3: Add platform boot manager and helper libraries
>   Platform/Raspberry/Pi3: Add USB host driver
>   Platform/Raspberry/Pi3: Add platform
>   Platform/Raspberry/Pi3: Add platform readme
>   Platform/Raspberry/Pi3 *NON-OSI*: Add ATF binaries
>   Platform/Raspberry/Pi3 *NON-OSI*: Add Device Tree binaries
>   Platform/Raspberry/Pi3 *NON-OSI*: Add logo driver
> 
>  .../Raspberry/Pi3/AcpiTables/AcpiTables.h |   82 +
>  .../Raspberry/Pi3/AcpiTables/AcpiTables.inf   |   46 +
>  Platform/Raspberry/Pi3/AcpiTables/Csrt.aslc   |  332 +++
>  Platform/Raspberry/Pi3/AcpiTables/Dbg2.aslc   |   34 +
>  Platform/Raspberry/Pi3/AcpiTables/Dsdt.asl|  511 +
>  Platform/Raspberry/Pi3/AcpiTables/Fadt.aslc   |   52 +
>  Platform/Raspberry/Pi3/AcpiTables/Gtdt.aslc   |   33 +
>  Platform/Raspberry/Pi3/AcpiTables/Madt.aslc   |   62 +
>  Platform/Raspberry/Pi3/AcpiTables/Pep.asl |   95 +
>  Platform/Raspberry/Pi3/AcpiTables/Pep.c   |   84 +
>  Platform/Raspberry/Pi3/AcpiTables/Pep.h   |  126 ++
>  Platform/Raspberry/Pi3/AcpiTables/Rhpx.asl|  201 ++
>  Platform/Raspberry/Pi3/AcpiTables/Sdhc.asl|  105 +
>  Platform/Raspberry/Pi3/AcpiTables/Spcr.asl|   53 +
>  Platform/Raspberry/Pi3/AcpiTables/Uart.asl

Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-30 Thread Ard Biesheuvel
On Wed, 30 Jan 2019 at 20:42, Leif Lindholm  wrote:
>
> On Wed, Jan 30, 2019 at 08:38:19PM +0100, Ard Biesheuvel wrote:
> > On Tue, 29 Jan 2019 at 22:10, Pete Batard  wrote:
> > >
> > > On 2019.01.29 17:40, Ard Biesheuvel wrote:
> > > > I managed to build and run a RELEASE image, and I must say, I'm
> > > > impressed. It works really well, and looks really slick too. Thanks a
> > > > lot for taking the time to upstream this, it makes the RPI3 a lot more
> > > > usable for people that want to run a generic distro.
> > >
> > > I'm very happy to hear that.
> > >
> > > Indeed, our hope is that, once the firmware gets "officialized" into
> > > edk2-platforms, mainline Linux distros will switch to using its
> > > facilities and make the whole Linux boot process a friendlier/more
> > > familiar experience for Pi3 users.
> > >
> > > Of course, you have to thank Andrei Warkentin for this nice outcome,
> > > since he put a lot of effort into it, as well as all the people who
> > > contributed to the firmware (including Linaro & Microsoft).
> > >
> > > > Tested-by: Ard Biesheuvel 
> > >
> > > Many thanks for this.
> > >
> >
> > What happened to patch #20? I don't think I received it.
>
> I have it, both for my cc and from the list.
> It's also in the archive:
> https://lists.01.org/pipermail/edk2-devel/2019-January/035947.html
>

OK, found it in my spam folder :-)
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-30 Thread Leif Lindholm
On Wed, Jan 30, 2019 at 08:38:19PM +0100, Ard Biesheuvel wrote:
> On Tue, 29 Jan 2019 at 22:10, Pete Batard  wrote:
> >
> > On 2019.01.29 17:40, Ard Biesheuvel wrote:
> > > I managed to build and run a RELEASE image, and I must say, I'm
> > > impressed. It works really well, and looks really slick too. Thanks a
> > > lot for taking the time to upstream this, it makes the RPI3 a lot more
> > > usable for people that want to run a generic distro.
> >
> > I'm very happy to hear that.
> >
> > Indeed, our hope is that, once the firmware gets "officialized" into
> > edk2-platforms, mainline Linux distros will switch to using its
> > facilities and make the whole Linux boot process a friendlier/more
> > familiar experience for Pi3 users.
> >
> > Of course, you have to thank Andrei Warkentin for this nice outcome,
> > since he put a lot of effort into it, as well as all the people who
> > contributed to the firmware (including Linaro & Microsoft).
> >
> > > Tested-by: Ard Biesheuvel 
> >
> > Many thanks for this.
> >
> 
> What happened to patch #20? I don't think I received it.

I have it, both for my cc and from the list.
It's also in the archive:
https://lists.01.org/pipermail/edk2-devel/2019-January/035947.html

/
Leif
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-30 Thread Ard Biesheuvel
On Tue, 29 Jan 2019 at 22:10, Pete Batard  wrote:
>
> On 2019.01.29 17:40, Ard Biesheuvel wrote:
> > I managed to build and run a RELEASE image, and I must say, I'm
> > impressed. It works really well, and looks really slick too. Thanks a
> > lot for taking the time to upstream this, it makes the RPI3 a lot more
> > usable for people that want to run a generic distro.
>
> I'm very happy to hear that.
>
> Indeed, our hope is that, once the firmware gets "officialized" into
> edk2-platforms, mainline Linux distros will switch to using its
> facilities and make the whole Linux boot process a friendlier/more
> familiar experience for Pi3 users.
>
> Of course, you have to thank Andrei Warkentin for this nice outcome,
> since he put a lot of effort into it, as well as all the people who
> contributed to the firmware (including Linaro & Microsoft).
>
> > Tested-by: Ard Biesheuvel 
>
> Many thanks for this.
>

What happened to patch #20? I don't think I received it.
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-29 Thread Pete Batard

On 2019.01.29 17:40, Ard Biesheuvel wrote:

I managed to build and run a RELEASE image, and I must say, I'm
impressed. It works really well, and looks really slick too. Thanks a
lot for taking the time to upstream this, it makes the RPI3 a lot more
usable for people that want to run a generic distro.


I'm very happy to hear that.

Indeed, our hope is that, once the firmware gets "officialized" into 
edk2-platforms, mainline Linux distros will switch to using its 
facilities and make the whole Linux boot process a friendlier/more 
familiar experience for Pi3 users.


Of course, you have to thank Andrei Warkentin for this nice outcome, 
since he put a lot of effort into it, as well as all the people who 
contributed to the firmware (including Linaro & Microsoft).



Tested-by: Ard Biesheuvel 


Many thanks for this.

/Pete
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-29 Thread Ard Biesheuvel
Hi Pete,

On Tue, 29 Jan 2019 at 17:27, Pete Batard  wrote:
>
> Changes applied to v4:
>
> * Silicon/Broadcom/Include has been moved to Silicon/Broadcom/Bcm283x/Include.
>   The [Packages] and [Includes] directives were also updated accordingly.
> * Move the GpioLib function declarations into their own separate header.
> * Add NOOPT to BUILD_TARGETS.
> * Remove the no longer needed '-mcmodel=small' workaround from AcpiTables.
>
> Changes not applied to v4:
>
> * Ensure that all the ACPI tables _CID names, and the rest of the tables, are
>   ACPI specs compliant, since we are constrained with regards to their usage
>   for Microsoft Windows.
>

I managed to build and run a RELEASE image, and I must say, I'm
impressed. It works really well, and looks really slick too. Thanks a
lot for taking the time to upstream this, it makes the RPI3 a lot more
usable for people that want to run a generic distro.

So

Tested-by: Ard Biesheuvel 

I'll give others some time to respond before proceeding.

>
> Preamble:
>
> Because of its price point, ease of use and availability, the Raspberry Pi is
> undeniably one of the most successful ARM platform in existence today. Its
> widespread adoption therefore makes it a perfect fit as an EDK2 platform.
>
> However, up until now, the Raspberry Pi hasn't been supported as a bona fide
> platform in our repository. This series of patches remedies that by 
> introducing
> the Raspberry Pi 3 Model B and Model B+ as a viable EDK2 platform.
>
> Notes regarding non-OSI content:
>
> * Even though the ARM Trusted Firmware binary blobs are subject to a
>   BSD-3-Clause licence, which may be compatible with the EDK2 one, we chose
>   to follow the lead of other platforms that provide ATF binaries in non OSI.
>   Ultimately, once there is a new dot release of ATF, we plan to remove these
>   binaries and point to a dot release build configuartion.
> * The Device Tree binaries (and source descriptors) are subject to a GPLv2
>   license, as per the ones published by the Raspberry Pi Foundation.
> * The Logo source code is under an EDK2 license, but the logo itself, which
>   we obtained authorisation to use from the Raspberry Pi Foundation itself
>   after detailing our planned usage, is subject to the trademark licensing
>   terms put forward by the Foundation.
>
> Additional Notes:
>
> * Detailed instructions on how to build and test the platform firmware are
>   included in the Readme.md found at the root of the platform.
> * As detailed in the Readme, the resulting platform firmware has been
>   successfully used to install and run Linux OSes, such as Ubuntu 18.10, as
>   well as Windows 10 1809 (*full* UI version, not IoT).
>
> Regards,
>
> /Pete
>
> Pete Batard (23):
>   Silicon/Broadcom/Bcm282x: Add interrupt driver
>   Silicon/Broadcom/Bcm283x: Add GpioLib
>   Platform/Raspberry/Pi3: Add ACPI tables
>   Platform/Raspberry/Pi3: Add reset and memory init libraries
>   Platform/Raspberry/Pi3: Add platform library
>   Platform/Raspberry/Pi3: Add RTC library
>   Platform/Raspberry/Pi3: Add firmware driver
>   Platform/Raspberry/Pi3: Add platform config driver
>   Platform/Raspberry/Pi3: Add SMBIOS driver
>   Platform/Raspberry/Pi3: Add display driver
>   Platform/Raspberry/Pi3: Add console driver
>   Platform/Raspberry/Pi3: Add NV storage driver
>   Platform/Raspberry/Pi3: Add Device Tree driver
>   Platform/Raspberry/Pi3: Add base MMC driver
>   Platform/Raspberry/Pi3: Add Arasan MMC driver
>   Platform/Raspberry/Pi3: Platform/Raspberry/Pi3: Add SD Host driver
>   Platform/Raspberry/Pi3: Add platform boot manager and helper libraries
>   Platform/Raspberry/Pi3: Add USB host driver
>   Platform/Raspberry/Pi3: Add platform
>   Platform/Raspberry/Pi3: Add platform readme
>   Platform/Raspberry/Pi3 *NON-OSI*: Add ATF binaries
>   Platform/Raspberry/Pi3 *NON-OSI*: Add Device Tree binaries
>   Platform/Raspberry/Pi3 *NON-OSI*: Add logo driver
>
>  .../Raspberry/Pi3/AcpiTables/AcpiTables.h |   82 +
>  .../Raspberry/Pi3/AcpiTables/AcpiTables.inf   |   46 +
>  Platform/Raspberry/Pi3/AcpiTables/Csrt.aslc   |  332 +++
>  Platform/Raspberry/Pi3/AcpiTables/Dbg2.aslc   |   34 +
>  Platform/Raspberry/Pi3/AcpiTables/Dsdt.asl|  511 +
>  Platform/Raspberry/Pi3/AcpiTables/Fadt.aslc   |   52 +
>  Platform/Raspberry/Pi3/AcpiTables/Gtdt.aslc   |   33 +
>  Platform/Raspberry/Pi3/AcpiTables/Madt.aslc   |   62 +
>  Platform/Raspberry/Pi3/AcpiTables/Pep.asl |   95 +
>  Platform/Raspberry/Pi3/AcpiTables/Pep.c   |   84 +
>  Platform/Raspberry/Pi3/AcpiTables/Pep.h   |  126 ++
>  Platform/Raspberry/Pi3/AcpiTables/Rhpx.asl|  201 ++
>  Platform/Raspberry/Pi3/AcpiTables/Sdhc.asl|  105 +
>  Platform/Raspberry/Pi3/AcpiTables/Spcr.asl|   53 +
>  Platform/Raspberry/Pi3/AcpiTables/Uart.asl|  158 ++
>  Platform/Raspberry/Pi3/DeviceTree/License.txt |  340 +++
>  .../Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb   |  Bin 0 -> 25617 bytes
>  .../Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dts   | 1263 

[edk2] [PATCH v4 edk2-platforms 00/23] Platform/Raspberry: Add Raspberry Pi 3 support

2019-01-29 Thread Pete Batard
Changes applied to v4:

* Silicon/Broadcom/Include has been moved to Silicon/Broadcom/Bcm283x/Include.
  The [Packages] and [Includes] directives were also updated accordingly.
* Move the GpioLib function declarations into their own separate header.
* Add NOOPT to BUILD_TARGETS.
* Remove the no longer needed '-mcmodel=small' workaround from AcpiTables.

Changes not applied to v4:

* Ensure that all the ACPI tables _CID names, and the rest of the tables, are
  ACPI specs compliant, since we are constrained with regards to their usage
  for Microsoft Windows.


Preamble:

Because of its price point, ease of use and availability, the Raspberry Pi is
undeniably one of the most successful ARM platform in existence today. Its
widespread adoption therefore makes it a perfect fit as an EDK2 platform.

However, up until now, the Raspberry Pi hasn't been supported as a bona fide
platform in our repository. This series of patches remedies that by introducing
the Raspberry Pi 3 Model B and Model B+ as a viable EDK2 platform.

Notes regarding non-OSI content:

* Even though the ARM Trusted Firmware binary blobs are subject to a
  BSD-3-Clause licence, which may be compatible with the EDK2 one, we chose
  to follow the lead of other platforms that provide ATF binaries in non OSI.
  Ultimately, once there is a new dot release of ATF, we plan to remove these
  binaries and point to a dot release build configuartion.
* The Device Tree binaries (and source descriptors) are subject to a GPLv2
  license, as per the ones published by the Raspberry Pi Foundation.
* The Logo source code is under an EDK2 license, but the logo itself, which
  we obtained authorisation to use from the Raspberry Pi Foundation itself
  after detailing our planned usage, is subject to the trademark licensing
  terms put forward by the Foundation.

Additional Notes:

* Detailed instructions on how to build and test the platform firmware are
  included in the Readme.md found at the root of the platform.
* As detailed in the Readme, the resulting platform firmware has been
  successfully used to install and run Linux OSes, such as Ubuntu 18.10, as
  well as Windows 10 1809 (*full* UI version, not IoT).

Regards,

/Pete

Pete Batard (23):
  Silicon/Broadcom/Bcm282x: Add interrupt driver
  Silicon/Broadcom/Bcm283x: Add GpioLib
  Platform/Raspberry/Pi3: Add ACPI tables
  Platform/Raspberry/Pi3: Add reset and memory init libraries
  Platform/Raspberry/Pi3: Add platform library
  Platform/Raspberry/Pi3: Add RTC library
  Platform/Raspberry/Pi3: Add firmware driver
  Platform/Raspberry/Pi3: Add platform config driver
  Platform/Raspberry/Pi3: Add SMBIOS driver
  Platform/Raspberry/Pi3: Add display driver
  Platform/Raspberry/Pi3: Add console driver
  Platform/Raspberry/Pi3: Add NV storage driver
  Platform/Raspberry/Pi3: Add Device Tree driver
  Platform/Raspberry/Pi3: Add base MMC driver
  Platform/Raspberry/Pi3: Add Arasan MMC driver
  Platform/Raspberry/Pi3: Platform/Raspberry/Pi3: Add SD Host driver
  Platform/Raspberry/Pi3: Add platform boot manager and helper libraries
  Platform/Raspberry/Pi3: Add USB host driver
  Platform/Raspberry/Pi3: Add platform
  Platform/Raspberry/Pi3: Add platform readme
  Platform/Raspberry/Pi3 *NON-OSI*: Add ATF binaries
  Platform/Raspberry/Pi3 *NON-OSI*: Add Device Tree binaries
  Platform/Raspberry/Pi3 *NON-OSI*: Add logo driver

 .../Raspberry/Pi3/AcpiTables/AcpiTables.h |   82 +
 .../Raspberry/Pi3/AcpiTables/AcpiTables.inf   |   46 +
 Platform/Raspberry/Pi3/AcpiTables/Csrt.aslc   |  332 +++
 Platform/Raspberry/Pi3/AcpiTables/Dbg2.aslc   |   34 +
 Platform/Raspberry/Pi3/AcpiTables/Dsdt.asl|  511 +
 Platform/Raspberry/Pi3/AcpiTables/Fadt.aslc   |   52 +
 Platform/Raspberry/Pi3/AcpiTables/Gtdt.aslc   |   33 +
 Platform/Raspberry/Pi3/AcpiTables/Madt.aslc   |   62 +
 Platform/Raspberry/Pi3/AcpiTables/Pep.asl |   95 +
 Platform/Raspberry/Pi3/AcpiTables/Pep.c   |   84 +
 Platform/Raspberry/Pi3/AcpiTables/Pep.h   |  126 ++
 Platform/Raspberry/Pi3/AcpiTables/Rhpx.asl|  201 ++
 Platform/Raspberry/Pi3/AcpiTables/Sdhc.asl|  105 +
 Platform/Raspberry/Pi3/AcpiTables/Spcr.asl|   53 +
 Platform/Raspberry/Pi3/AcpiTables/Uart.asl|  158 ++
 Platform/Raspberry/Pi3/DeviceTree/License.txt |  340 +++
 .../Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dtb   |  Bin 0 -> 25617 bytes
 .../Pi3/DeviceTree/bcm2710-rpi-3-b-plus.dts   | 1263 
 .../Pi3/DeviceTree/bcm2710-rpi-3-b.dtb|  Bin 0 -> 25354 bytes
 .../Pi3/DeviceTree/bcm2710-rpi-3-b.dts| 1259 +++
 .../ArasanMmcHostDxe/ArasanMmcHostDxe.c   |  723 +++
 .../ArasanMmcHostDxe/ArasanMmcHostDxe.h   |   50 +
 .../ArasanMmcHostDxe/ArasanMmcHostDxe.inf |   52 +
 .../Pi3/Drivers/ConfigDxe/ConfigDxe.c |  351 
 .../Pi3/Drivers/ConfigDxe/ConfigDxe.inf   |   78 +
 .../Drivers/ConfigDxe/ConfigDxeFormSetGuid.h  |   23 +
 .../Pi3/Drivers/ConfigDxe/ConfigDxeHii.uni|  100 +