<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2-platforms.git/Platform/RaspberryPi/RaspberryPi.dec, branch CodeCleanup</title>
<subtitle>EDK II sample platform branches and tags (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/'/>
<updated>2024-03-11T14:18:22+00:00</updated>
<entry>
<title>Platform/RaspberryPi: Give the user control over the XHCI mailbox</title>
<updated>2024-03-11T14:18:22+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2024-01-17T21:36:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=332bb0cb7661226d18dfd28e3feab8968eba9fee'/>
<id>urn:sha1:332bb0cb7661226d18dfd28e3feab8968eba9fee</id>
<content type='text'>
It's a complete tossup whether removing the mailbox call after we have
set up the XHCI works for a given kernel+distro in DT mode. So lets give
users who want to try DT the option of flipping this on/off.

Users that don't want to have to deal with DT, can use ACPI.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: Add 'clock-frequency' property for miniuart</title>
<updated>2022-02-08T16:54:47+00:00</updated>
<author>
<name>Adrien Thierry</name>
<email>athierry@redhat.com</email>
</author>
<published>2022-02-08T15:45:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=b0f3f903720e8399400b1ce45065274462069f2d'/>
<id>urn:sha1:b0f3f903720e8399400b1ce45065274462069f2d</id>
<content type='text'>
Describe the miniuart clock frequency in a _DSD property, so that it can
be read from the Linux driver [1]

The miniuart clock frequency is the core clock frequency on the
Raspberry Pi. It can be modified by the user using the 'core_freq'
property in the config.txt file. So, we fetch it from the underlying
Raspberry Pi firmware.

[1] https://lore.kernel.org/all/20220207232129.402882-1-athierry@redhat.com/

Signed-off-by: Adrien Thierry &lt;athierry@redhat.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: Add XHCI/PCI selection menu</title>
<updated>2021-08-22T13:54:28+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2021-08-20T04:16:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=63a54c6f40444a405c7458ee1b6565a12eb4bbb2'/>
<id>urn:sha1:63a54c6f40444a405c7458ee1b6565a12eb4bbb2</id>
<content type='text'>
Arm has standardized a PCI SMC conduit that can be used
to access the PCI config space in a standardized way. This
functionality doesn't yet exist in many OS/Distro's. Lets
add another advanced config item that allows the user
to toggle between presenting the XHCI on the base RPi4
as a platform device, or presenting this newer PCIe
conduit. The CM4 doesn't have an attached XHCI controller
soldered to the PCIe, so PCIe mode is the default.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Andrei Warkentin &lt;awarkentin@vmware.com&gt;
Reviewed-By: Samer El-Haj-Mahmoud &lt;Samer.El-Haj-Mahmoud@arm.com&gt;
Tested-by: Jared McNeill &lt;jmcneill@invisible.ca&gt;
</content>
</entry>
<entry>
<title>Revert "Platform/RaspberryPi: Setup option for disabling Fast Boot"</title>
<updated>2021-08-03T16:37:04+00:00</updated>
<author>
<name>Grzegorz Bernacki</name>
<email>gjb@semihalf.com</email>
</author>
<published>2021-08-03T16:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=2f0188b56ef4f96f2888b30f220fee934cb27805'/>
<id>urn:sha1:2f0188b56ef4f96f2888b30f220fee934cb27805</id>
<content type='text'>
This reverts commit efdc159ef7c9f15581a0f63d755a1530ff475156.

This commit is not longer required as Boot Discovery Policy has been
implemented for Raspberry Pi.

Signed-off-by: Grzegorz Bernacki &lt;gjb@semihalf.com&gt;
Reviewed-by: Sunny Wang &lt;sunny.wang@arm.com&gt;
Reviewed-by: Samer El-Haj-Mahmoud &lt;Samer.El-Haj-Mahmoud@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
Tested-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: Dynamically build UARTs info in ACPI</title>
<updated>2021-06-12T20:02:25+00:00</updated>
<author>
<name>Sunny Wang</name>
<email>Sunny.Wang@arm.com</email>
</author>
<published>2021-06-07T07:53:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=ea709f165df7899d0a9602fc9f65b824baeac490'/>
<id>urn:sha1:ea709f165df7899d0a9602fc9f65b824baeac490</id>
<content type='text'>
Changes:
  1. Add code to ConfigDxe driver and AcpiTables module to dynamically
     build either Mini UART or PL011 UART info in ACPI. This also fixes
     the issue discussed in https://github.com/pftf/RPi4/issues/118.
  2. Cleanup by moving duplicate Debug Port 2 table related defines and
     structures to a newly created header file (RpiDebugPort2Table.h).

Testing Done:
  - Booted to UEFI shell and use acpiview command to check the result of
    the different UART settings in config.txt (enabling either Mini UART
    or PL011) and SPCR, DBG2 tables and device BTH0 are dynamically
    changed as expected.

Signed-off-by: Sunny Wang &lt;sunny.wang@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
Tested-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: Setup option for disabling Fast Boot</title>
<updated>2021-04-15T18:48:51+00:00</updated>
<author>
<name>Sunny Wang</name>
<email>Sunny.Wang@arm.com</email>
</author>
<published>2021-04-13T07:14:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=efdc159ef7c9f15581a0f63d755a1530ff475156'/>
<id>urn:sha1:efdc159ef7c9f15581a0f63d755a1530ff475156</id>
<content type='text'>
This is a fix for https://github.com/pftf/RPi4/issues/114.

Changes:
  1. Add a setup option called BootPolicy and consume the setting
     during boot to decide whether to perform or skip ConnectAll.
  2. The Default setting is set to Full discovery because it is not
     worth enabling Fast boot by default on RaspberryPi systems.
     Enabling it just saves boot time about 1 second, but caused a
     lot of issues.

Testing Done:
  - Booted to Standalone UEFI shell on SD card and use drivers
    command to check the result with Fast Boot and Full discovery
    settings. Then, child/device handles are created as expected.

Note and to-do items:
  - The root cause looks like that boot loaders and some tools like
    grub and iPXE haven't supported selective connect/Fast boot.
    However, system firmware should still provide a setup option for
    user to enable Fast boot with old version boot loaders and tools,
    which is why we proposed this change. We will also report this
    issue to boot loader and tool vendors/open source GitHubs.
  - We will add more options for connecting specific type devices so
    that we can still have the shortest boot time for all use cases.

Cc: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Cc: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Link: https://github.com/pftf/RPi4/issues/144
Link: https://github.com/pftf/RPi4/issues/114
Signed-off-by: Sunny Wang &lt;sunny.wang@arm.com&gt;
Acked-by: Samer El-Haj-Mahmoud &lt;Samer.El-Haj-Mahmoud@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: User control of eMMC2 DMA</title>
<updated>2021-02-20T14:37:20+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2021-02-01T20:44:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=35f23fa7842e97e6bb4ae0ca138d72c9291970eb'/>
<id>urn:sha1:35f23fa7842e97e6bb4ae0ca138d72c9291970eb</id>
<content type='text'>
DMA translation on the eMMC2 vary based on SoC, and
this is made worse by the poor _DMA support in Linux.

For now the "safe" option is to simply run the eMMC2
controller in PIO mode. More advanced users or !Linux
operating systems may choose to enable this to gain
a perf boost.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Andrei Warkentin &lt;awarkentin@vmware.com&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: Add system/user defined reset delay</title>
<updated>2021-01-04T17:08:28+00:00</updated>
<author>
<name>Pete Batard</name>
<email>pete@akeo.ie</email>
</author>
<published>2020-12-22T13:45:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=94e9fba43d7e132be3c582c676968a7f408072c1'/>
<id>urn:sha1:94e9fba43d7e132be3c582c676968a7f408072c1</id>
<content type='text'>
Due to the method in which NV variables are stored on removable media
for the Raspberry Pi platform, and the manner in which we dump updated
variables right before reset, it is possible, and has been repeatedly
demonstrated with SSD-based USB 3.0 devices, that the updated file does
not actually end up being written to permanent storage, due to the
device write-cache not having enough time to be flushed before reset.

To compensate for this, since we don't know of a generic method that
would allow turning off USB mass storage devices write cache (and also
because we are seeing an issue that seems related for SD-based media),
we add a new reset delay PCD, which can be set by the user, and which
we also set as required when NV variables are being dumped.

Our testing show that, with more than 3 seconds of extra delay, the
storage media has enough time to finalize its internal write, thus
solving the issue of configuration changes not being persisted.

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Andrei Warkentin &lt;awarkentin@vmware.com&gt;
Tested-by: Samer El-Haj-Mahmoud &lt;Samer.El-Haj-Mahmoud@arm.com&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi4: Allow the user to set Temp</title>
<updated>2020-09-01T12:11:30+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2020-08-31T17:25:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=7093026e924291b9e9f6f5211a052c6a761a4704'/>
<id>urn:sha1:7093026e924291b9e9f6f5211a052c6a761a4704</id>
<content type='text'>
Now that we have the ability to enable an AML fan object,
allow the user to select the temperature at which the
fan cycles on.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: Add entry for user fan control</title>
<updated>2020-09-01T12:11:30+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2020-08-31T17:25:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=ee550dd7f240e5eae13a1a37e679a9df3d154681'/>
<id>urn:sha1:ee550dd7f240e5eae13a1a37e679a9df3d154681</id>
<content type='text'>
Add a menu item that allows the user to enable GPIO based
fan control via SSDT and the previous NameObj replacement
commit. This should only be seen/enabled on RPI4
because that is what its been tested with.

Given GPIO pin current limitations its likely that a bit of
additional circuitry is required to drive a fan, and the GPIO
high/low signal can only be used as a enable/disable signal. A
search for "rpi npn gpio fan" or similar should turn up some
hits for how to do this. Alternatively there are some commercial
boards (FAN SHIM) which operate via simple GPIO control.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
</feed>
