Patches applied cleanly & built with no issues. No issues spotted in functional testing & passes the SCT tests required by SBBR.
-Jeff
On Sat, Jan 1, 2022 at 09:49 PM, Jeremy Linton wrote:
>
> The RPi4 has a SPI flash with unused capacity. This set detects if
> that capacity is sufficient for a UEFI variable store and utilizes
> it as such. This fixes a long list of problems, and along the way likely
> also fixes a random boot failure caused by the FaultTolerantWriteDxe
> garbage collecting, and erasing the flash volume header which is being
> used to return information about the underlying variable storage capacity=
>
> .
>
> This set was dependent on an earlier, mostly ignored set of changes to
> move the GPIO/etc devices into their own SSDT and disable them. Because
> of that, the two sets have been merged.
>
> Why is that? Because the SPI flash is mux'ed with the PWM used to play
> audio out the 3.5mm audio jack on this device. This causes a long list
> of problems we must try and avoid, starting with the fact that the pins
> need to be controlled by the uefi runtime service. The other problem is
> obviously that any time a variable is updated, if the user is utilizing
> the 3.5mm audio they will hear clicks and pops. Turns out that behavior
> isn't unique to this patch set because the low level boot/etc exhibits th=
>
> is
> when running in a TFA+uboot/edk2 environment. A fairly small tweak to TFA
> fixes the majority of this, and the remaining runtime problems caused
> by this patch actually are very slight and generally not noticeable unles=
>
> s
> one goes looking for them. OTOH, we revert to the earlier non persisted
> variable store if the firmware is running in a DT only mode, or the
> user enables the ACPI GPIO block.
>
> V1->V2:
> Move Rhpx.asl into GPIO SSDT, this fixes a windows problem if the
> GPIO description is removed.
> Add longer explanation to Readme.md as well as update it to note
> CM4/RPi400, newer menu item variables, etc.
> Various code cleanups caught by updated PatchCheck
> More agressive ifdef'ing out RPi4 only code for RPi3
>
> Jeremy Linton (10):
> Platform/RaspberryPi: Cleanup menu visibility
> Platform/RaspberryPi: Give the user control over the XHCI mailbox
> Platform/RaspberryPi: Move GPIO/SPI/I2C to SSDT
> Platform/RaspberryPi: Add menu item to enable/disable GPIO
> Platform/RaspberryPi: Add constants for controlling SPI
> Platform/RaspberryPi: Add mailbox cmd to control audio amp
> Platform/RaspberryPi: Add SPI/GPIO to memory map
> Platform/RaspberryPi: Allow pin function selection at runtime
> Platform/RaspberryPi: Add SPI flash variable store.
> Platform/RaspberryPi: Update RPi4 Readme
>
> Platform/RaspberryPi/AcpiTables/AcpiTables.inf | 1 +
> Platform/RaspberryPi/AcpiTables/Dsdt.asl | 7 -
> Platform/RaspberryPi/AcpiTables/GpuDevs.asl | 126 ----
> Platform/RaspberryPi/AcpiTables/SsdtGpio.asl | 159 +++++
> Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 47 ++
> .../RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf | 2 +
> .../RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni | 10 +
> .../RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr | 36 +-
> Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c | 4 +
> Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf | 1 +
> .../Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c | 60 +-
> .../Drivers/VarBlockServiceDxe/FvbInfo.c | 8 +-
> .../Drivers/VarBlockServiceDxe/VarBlockService.c | 657 +++++++++++++++=
> +++++-
> .../Drivers/VarBlockServiceDxe/VarBlockService.h | 10 +
> .../VarBlockServiceDxe/VarBlockServiceDxe.c | 38 +-
> .../VarBlockServiceDxe/VarBlockServiceDxe.inf | 6 +
> Platform/RaspberryPi/Include/ConfigVars.h | 4 +
> .../RaspberryPi/Include/IndustryStandard/RpiMbox.h | 1 +
> .../RaspberryPi/Include/Protocol/RpiFirmware.h | 7 +
> Platform/RaspberryPi/RPi3/RPi3.dsc | 12 +
> Platform/RaspberryPi/RPi4/RPi4.dsc | 14 +
> Platform/RaspberryPi/RPi4/Readme.md | 63 +-
> Platform/RaspberryPi/RaspberryPi.dec | 2 +
> .../Bcm283x/Include/IndustryStandard/Bcm2836.h | 34 ++
> Silicon/Broadcom/Bcm283x/Include/Library/GpioLib.h | 6 +
> Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.c | 16 +-
> 26 files changed, 1160 insertions(+), 171 deletions(-)
> create mode 100644 Platform/RaspberryPi/AcpiTables/SsdtGpio.asl
>
> --=20
> 2.13.7
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#86564): https://edk2.groups.io/g/devel/message/86564
Mute This Topic: https://groups.io/mt/88087663/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-