* [edk2-platforms PATCH v2] Platform/RaspberryPi: Remove unnecessary files.
@ 2021-08-17 7:26 Grzegorz Bernacki
2021-08-17 14:03 ` Ard Biesheuvel
0 siblings, 1 reply; 2+ messages in thread
From: Grzegorz Bernacki @ 2021-08-17 7:26 UTC (permalink / raw)
To: devel
Cc: leif, ardb+tianocore, Samer.El-Haj-Mahmoud, sunny.Wang, mw,
upstream, pete, Grzegorz Bernacki
Commit 2f0188b56ef4 ("Revert "Platform/RaspberryPi: Setup option for...")
mistakenly introduced to files which are residues from a
conflict resolution. Fix that.
Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
---
Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig | 613 ----------------
Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej | 31 -
Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig | 180 -----
Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej | 32 -
Platform/RaspberryPi/RPi4/RPi4.dsc.orig | 760 --------------------
Platform/RaspberryPi/RPi4/RPi4.dsc.rej | 29 -
6 files changed, 1645 deletions(-)
delete mode 100644 Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig
delete mode 100644 Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej
delete mode 100644 Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig
delete mode 100644 Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej
delete mode 100644 Platform/RaspberryPi/RPi4/RPi4.dsc.orig
delete mode 100644 Platform/RaspberryPi/RPi4/RPi4.dsc.rej
diff --git a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig b/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig
deleted file mode 100644
index 5e83bbf022..0000000000
--- a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig
+++ /dev/null
@@ -1,613 +0,0 @@
-/** @file
- 16550 and PL011 Serial Port library functions for Raspberry Pi
-
- Copyright (c) 2020, Pete Batard <pete@akeo.ie>
- Copyright (c) 2018, AMD Incorporated. All rights reserved.<BR>
- Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
- Copyright (c) 2012 - 2016, ARM Ltd. All rights reserved.<BR>
- Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
- Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <Base.h>
-#include <Library/IoLib.h>
-#include <Library/PcdLib.h>
-#include <Library/PL011UartClockLib.h>
-#include <Library/PL011UartLib.h>
-#include <Library/SerialPortLib.h>
-
-#include "DualSerialPortLib.h"
-
-/**
- Return the baud generator divisor to use for 16650 setup.
-
- @param SerialBaudRate The desired baud rate.
-
- @return The baud generator divisor.
-**/
-STATIC
-UINT32
-SerialPortGetDivisor (
- UINT32 SerialBaudRate
-)
-{
- UINT64 BaseClockRate;
- UINT32 Divisor;
-
- //
- // On the Raspberry Pi, the clock to use for the 16650-compatible UART
- // is the base clock divided by the 12.12 fixed point VPU clock divisor.
- //
- BaseClockRate = (UINT64)PcdGet32 (PcdSerialClockRate);
-#if (RPI_MODEL == 4)
- Divisor = MmioRead32(BCM2836_CM_BASE + BCM2836_CM_VPU_CLOCK_DIVISOR) & 0xFFFFFF;
- if (Divisor != 0)
- BaseClockRate = (BaseClockRate << 12) / Divisor;
-#endif
-
- //
- // As per the BCM2xxx datasheets:
- // baudrate = system_clock_freq / (8 * (divisor + 1)).
- //
- Divisor = (UINT32)BaseClockRate / (SerialBaudRate * 8);
- if (Divisor != 0) {
- Divisor--;
- }
- return Divisor;
-}
-
-/**
- Initialize the serial device hardware.
-
- If no initialization is required, then return RETURN_SUCCESS.
- If the serial device was successfully initialized, then return RETURN_SUCCESS.
- If the serial device could not be initialized, then return RETURN_DEVICE_ERROR.
-
- @retval RETURN_SUCCESS The serial device was initialized.
- @retval RETURN_DEVICE_ERROR The serial device could not be initialized.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortInitialize (
- VOID
- )
-{
- UINTN SerialRegisterBase;
- UINT32 Divisor;
- UINT32 CurrentDivisor;
- BOOLEAN Initialized;
- UINT64 BaudRate;
- UINT32 ReceiveFifoDepth;
- EFI_PARITY_TYPE Parity;
- UINT8 DataBits;
- EFI_STOP_BITS_TYPE StopBits;
-
- //
- // First thing we need to do is determine which of PL011 or miniUART is selected
- //
- if (!UsePl011UartSet) {
- UsePl011Uart = ((MmioRead32(GPIO_BASE_ADDRESS + 4) & 0x0003F000) == 0x00024000);
- UsePl011UartSet = TRUE;
- }
-
- if (UsePl011Uart) {
- BaudRate = FixedPcdGet64 (PcdUartDefaultBaudRate);
- ReceiveFifoDepth = 0; // Use default FIFO depth
- Parity = (EFI_PARITY_TYPE)FixedPcdGet8 (PcdUartDefaultParity);
- DataBits = FixedPcdGet8 (PcdUartDefaultDataBits);
- StopBits = (EFI_STOP_BITS_TYPE) FixedPcdGet8 (PcdUartDefaultStopBits);
-
- return PL011UartInitializePort (
- PL011_UART_REGISTER_BASE,
- PL011UartClockGetFreq(),
- &BaudRate,
- &ReceiveFifoDepth,
- &Parity,
- &DataBits,
- &StopBits
- );
- } else {
- SerialRegisterBase = MINI_UART_REGISTER_BASE;
- Divisor = SerialPortGetDivisor (PcdGet32 (PcdSerialBaudRate));
-
- //
- // See if the serial port is already initialized
- //
- Initialized = TRUE;
- if ((SerialPortReadRegister (SerialRegisterBase, R_UART_LCR) & 0x3F) != (PcdGet8 (PcdSerialLineControl) & 0x3F)) {
- Initialized = FALSE;
- }
- SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_LCR) | B_UART_LCR_DLAB));
- CurrentDivisor = SerialPortReadRegister (SerialRegisterBase, R_UART_BAUD_HIGH) << 8;
- CurrentDivisor |= (UINT32) SerialPortReadRegister (SerialRegisterBase, R_UART_BAUD_LOW);
- SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_LCR) & ~B_UART_LCR_DLAB));
- if (CurrentDivisor != Divisor) {
- Initialized = FALSE;
- }
- if (Initialized) {
- return RETURN_SUCCESS;
- }
-
- //
- // Wait for the serial port to be ready.
- // Verify that both the transmit FIFO and the shift register are empty.
- //
- while ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)) != (B_UART_LSR_TEMT | B_UART_LSR_TXRDY));
-
- //
- // Configure baud rate
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, B_UART_LCR_DLAB);
- SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_HIGH, (UINT8) (Divisor >> 8));
- SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_LOW, (UINT8) (Divisor & 0xff));
-
- //
- // Clear DLAB and configure Data Bits, Parity, and Stop Bits.
- // Strip reserved bits from PcdSerialLineControl
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(PcdGet8 (PcdSerialLineControl) & 0x3F));
-
- //
- // Enable and reset FIFOs
- // Strip reserved bits from PcdSerialFifoControl
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, 0x00);
- SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, (UINT8)(PcdGet8 (PcdSerialFifoControl) & (B_UART_FCR_FIFOE | B_UART_FCR_FIFO64)));
-
- //
- // Set FIFO Polled Mode by clearing IER after setting FCR
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_IER, 0x00);
-
- //
- // Put Modem Control Register(MCR) into its reset state of 0x00.
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, 0x00);
-
- return RETURN_SUCCESS;
- }
-}
-
-/**
- Reads data from a serial device into a buffer.
-
- @param Buffer Pointer to the data buffer to store the data read from the serial device.
- @param NumberOfBytes Number of bytes to read from the serial device.
-
- @retval 0 NumberOfBytes is 0.
- @retval >0 The number of bytes read from the serial device.
- If this value is less than NumberOfBytes, then the read operation failed.
-
-**/
-UINTN
-EFIAPI
-SerialPortRead (
- OUT UINT8 *Buffer,
- IN UINTN NumberOfBytes
- )
-{
- UINTN SerialRegisterBase;
- UINTN Result;
- UINT8 Mcr;
-
- if (UsePl011Uart) {
- return PL011UartRead (PL011_UART_REGISTER_BASE, Buffer, NumberOfBytes);
- } else {
- if (NULL == Buffer) {
- return 0;
- }
-
- SerialRegisterBase = MINI_UART_REGISTER_BASE;
-
- Mcr = (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_MCR) & ~B_UART_MCR_RTS);
-
- for (Result = 0; NumberOfBytes-- != 0; Result++, Buffer++) {
- //
- // Wait for the serial port to have some data.
- //
- while ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & B_UART_LSR_RXRDY) == 0) {
- if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
- //
- // Set RTS to let the peer send some data
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, (UINT8)(Mcr | B_UART_MCR_RTS));
- }
- }
- if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
- //
- // Clear RTS to prevent peer from sending data
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, Mcr);
- }
-
- //
- // Read byte from the receive buffer.
- //
- *Buffer = SerialPortReadRegister (SerialRegisterBase, R_UART_RXBUF);
- }
-
- return Result;
- }
-}
-
-/**
- Polls a serial device to see if there is any data waiting to be read.
-
- Polls aserial device to see if there is any data waiting to be read.
- If there is data waiting to be read from the serial device, then TRUE is returned.
- If there is no data waiting to be read from the serial device, then FALSE is returned.
-
- @retval TRUE Data is waiting to be read from the serial device.
- @retval FALSE There is no data waiting to be read from the serial device.
-
-**/
-BOOLEAN
-EFIAPI
-SerialPortPoll (
- VOID
- )
-{
- UINTN SerialRegisterBase;
-
- if (UsePl011Uart) {
- return PL011UartPoll (PL011_UART_REGISTER_BASE);
- } else {
- SerialRegisterBase = MINI_UART_REGISTER_BASE;
-
- //
- // Read the serial port status
- //
- if ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & B_UART_LSR_RXRDY) != 0) {
- if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
- //
- // Clear RTS to prevent peer from sending data
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_MCR) & ~B_UART_MCR_RTS));
- }
- return TRUE;
- }
-
- if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
- //
- // Set RTS to let the peer send some data
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_MCR) | B_UART_MCR_RTS));
- }
-
- return FALSE;
- }
-}
-
-/**
- Sets the control bits on a serial device.
-
- @param Control Sets the bits of Control that are settable.
-
- @retval RETURN_SUCCESS The new control bits were set on the serial device.
- @retval RETURN_UNSUPPORTED The serial device does not support this operation.
- @retval RETURN_DEVICE_ERROR The serial device is not functioning correctly.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortSetControl (
- IN UINT32 Control
- )
-{
- UINTN SerialRegisterBase;
- UINT8 Mcr;
-
- if (UsePl011Uart) {
- return PL011UartSetControl (PL011_UART_REGISTER_BASE, Control);
- } else {
- //
- // First determine the parameter is invalid.
- //
- if ((Control & (~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY |
- EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) != 0) {
- return RETURN_UNSUPPORTED;
- }
-
- SerialRegisterBase = MINI_UART_REGISTER_BASE;
-
- //
- // Read the Modem Control Register.
- //
- Mcr = SerialPortReadRegister (SerialRegisterBase, R_UART_MCR);
- Mcr &= (~(B_UART_MCR_DTRC | B_UART_MCR_RTS));
-
- if ((Control & EFI_SERIAL_DATA_TERMINAL_READY) == EFI_SERIAL_DATA_TERMINAL_READY) {
- Mcr |= B_UART_MCR_DTRC;
- }
-
- if ((Control & EFI_SERIAL_REQUEST_TO_SEND) == EFI_SERIAL_REQUEST_TO_SEND) {
- Mcr |= B_UART_MCR_RTS;
- }
-
- //
- // Write the Modem Control Register.
- //
- SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, Mcr);
-
- return RETURN_SUCCESS;
- }
-}
-
-/**
- Retrieve the status of the control bits on a serial device.
-
- @param Control A pointer to return the current control signals from the serial device.
-
- @retval RETURN_SUCCESS The control bits were read from the serial device.
- @retval RETURN_UNSUPPORTED The serial device does not support this operation.
- @retval RETURN_DEVICE_ERROR The serial device is not functioning correctly.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortGetControl (
- OUT UINT32 *Control
- )
-{
- UINTN SerialRegisterBase;
- UINT8 Msr;
- UINT8 Mcr;
- UINT8 Lsr;
-
- if (UsePl011Uart) {
- return PL011UartGetControl (PL011_UART_REGISTER_BASE, Control);
- } else {
- SerialRegisterBase = MINI_UART_REGISTER_BASE;
-
- *Control = 0;
-
- //
- // Read the Modem Status Register.
- //
- Msr = SerialPortReadRegister (SerialRegisterBase, R_UART_MSR);
-
- if ((Msr & B_UART_MSR_CTS) == B_UART_MSR_CTS) {
- *Control |= EFI_SERIAL_CLEAR_TO_SEND;
- }
-
- if ((Msr & B_UART_MSR_DSR) == B_UART_MSR_DSR) {
- *Control |= EFI_SERIAL_DATA_SET_READY;
- }
-
- if ((Msr & B_UART_MSR_RI) == B_UART_MSR_RI) {
- *Control |= EFI_SERIAL_RING_INDICATE;
- }
-
- if ((Msr & B_UART_MSR_DCD) == B_UART_MSR_DCD) {
- *Control |= EFI_SERIAL_CARRIER_DETECT;
- }
-
- //
- // Read the Modem Control Register.
- //
- Mcr = SerialPortReadRegister (SerialRegisterBase, R_UART_MCR);
-
- if ((Mcr & B_UART_MCR_DTRC) == B_UART_MCR_DTRC) {
- *Control |= EFI_SERIAL_DATA_TERMINAL_READY;
- }
-
- if ((Mcr & B_UART_MCR_RTS) == B_UART_MCR_RTS) {
- *Control |= EFI_SERIAL_REQUEST_TO_SEND;
- }
-
- if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
- *Control |= EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE;
- }
-
- //
- // Read the Line Status Register.
- //
- Lsr = SerialPortReadRegister (SerialRegisterBase, R_UART_LSR);
-
- if ((Lsr & (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)) == (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)) {
- *Control |= EFI_SERIAL_OUTPUT_BUFFER_EMPTY;
- }
-
- if ((Lsr & B_UART_LSR_RXRDY) == 0) {
- *Control |= EFI_SERIAL_INPUT_BUFFER_EMPTY;
- }
-
- return RETURN_SUCCESS;
- }
-}
-
-/**
- Sets the baud rate, receive FIFO depth, transmit/receice time out, parity,
- data bits, and stop bits on a serial device.
-
- @param BaudRate The requested baud rate. A BaudRate value of 0 will use the
- device's default interface speed.
- On output, the value actually set.
- @param ReveiveFifoDepth The requested depth of the FIFO on the receive side of the
- serial interface. A ReceiveFifoDepth value of 0 will use
- the device's default FIFO depth.
- On output, the value actually set.
- @param Timeout The requested time out for a single character in microseconds.
- This timeout applies to both the transmit and receive side of the
- interface. A Timeout value of 0 will use the device's default time
- out value.
- On output, the value actually set.
- @param Parity The type of parity to use on this serial device. A Parity value of
- DefaultParity will use the device's default parity value.
- On output, the value actually set.
- @param DataBits The number of data bits to use on the serial device. A DataBits
- vaule of 0 will use the device's default data bit setting.
- On output, the value actually set.
- @param StopBits The number of stop bits to use on this serial device. A StopBits
- value of DefaultStopBits will use the device's default number of
- stop bits.
- On output, the value actually set.
-
- @retval RETURN_SUCCESS The new attributes were set on the serial device.
- @retval RETURN_UNSUPPORTED The serial device does not support this operation.
- @retval RETURN_INVALID_PARAMETER One or more of the attributes has an unsupported value.
- @retval RETURN_DEVICE_ERROR The serial device is not functioning correctly.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortSetAttributes (
- IN OUT UINT64 *BaudRate,
- IN OUT UINT32 *ReceiveFifoDepth,
- IN OUT UINT32 *Timeout,
- IN OUT EFI_PARITY_TYPE *Parity,
- IN OUT UINT8 *DataBits,
- IN OUT EFI_STOP_BITS_TYPE *StopBits
- )
-{
- UINTN SerialRegisterBase;
- UINT32 SerialBaudRate;
- UINTN Divisor;
- UINT8 Lcr;
- UINT8 LcrData;
- UINT8 LcrParity;
- UINT8 LcrStop;
-
- if (UsePl011Uart) {
- return PL011UartInitializePort (
- PL011_UART_REGISTER_BASE,
- PL011UartClockGetFreq(),
- BaudRate,
- ReceiveFifoDepth,
- Parity,
- DataBits,
- StopBits
- );
- } else {
- SerialRegisterBase = MINI_UART_REGISTER_BASE;
-
- //
- // Check for default settings and fill in actual values.
- //
- if (*BaudRate == 0) {
- *BaudRate = PcdGet32 (PcdSerialBaudRate);
- }
- SerialBaudRate = (UINT32) *BaudRate;
-
- if (*DataBits == 0) {
- LcrData = (UINT8) (PcdGet8 (PcdSerialLineControl) & 0x3);
- *DataBits = LcrData + 5;
- } else {
- if ((*DataBits < 5) || (*DataBits > 8)) {
- return RETURN_INVALID_PARAMETER;
- }
- //
- // Map 5..8 to 0..3
- //
- LcrData = (UINT8) (*DataBits - (UINT8) 5);
- }
-
- if (*Parity == DefaultParity) {
- LcrParity = (UINT8) ((PcdGet8 (PcdSerialLineControl) >> 3) & 0x7);
- switch (LcrParity) {
- case 0:
- *Parity = NoParity;
- break;
-
- case 3:
- *Parity = EvenParity;
- break;
-
- case 1:
- *Parity = OddParity;
- break;
-
- case 7:
- *Parity = SpaceParity;
- break;
-
- case 5:
- *Parity = MarkParity;
- break;
-
- default:
- break;
- }
- } else {
- switch (*Parity) {
- case NoParity:
- LcrParity = 0;
- break;
-
- case EvenParity:
- LcrParity = 3;
- break;
-
- case OddParity:
- LcrParity = 1;
- break;
-
- case SpaceParity:
- LcrParity = 7;
- break;
-
- case MarkParity:
- LcrParity = 5;
- break;
-
- default:
- return RETURN_INVALID_PARAMETER;
- }
- }
-
- if (*StopBits == DefaultStopBits) {
- LcrStop = (UINT8) ((PcdGet8 (PcdSerialLineControl) >> 2) & 0x1);
- switch (LcrStop) {
- case 0:
- *StopBits = OneStopBit;
- break;
-
- case 1:
- if (*DataBits == 5) {
- *StopBits = OneFiveStopBits;
- } else {
- *StopBits = TwoStopBits;
- }
- break;
-
- default:
- break;
- }
- } else {
- switch (*StopBits) {
- case OneStopBit:
- LcrStop = 0;
- break;
-
- case OneFiveStopBits:
- case TwoStopBits:
- LcrStop = 1;
- break;
-
- default:
- return RETURN_INVALID_PARAMETER;
- }
- }
-
- //
- // Configure baud rate
- //
- Divisor = SerialPortGetDivisor (SerialBaudRate);
- SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, B_UART_LCR_DLAB);
- SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_HIGH, (UINT8) (Divisor >> 8));
- SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_LOW, (UINT8) (Divisor & 0xff));
-
- //
- // Clear DLAB and configure Data Bits, Parity, and Stop Bits.
- // Strip reserved bits from line control value
- //
- Lcr = (UINT8) ((LcrParity << 3) | (LcrStop << 2) | LcrData);
- SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8) (Lcr & 0x3F));
-
- return RETURN_SUCCESS;
- }
-}
diff --git a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej b/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej
deleted file mode 100644
index fd8a1b2f20..0000000000
--- a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej
+++ /dev/null
@@ -1,31 +0,0 @@
---- Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c
-+++ Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c
-@@ -34,25 +34,16 @@ SerialPortGetDivisor (
- UINT32 SerialBaudRate
- )
- {
-- UINT64 BaseClockRate;
-+ UINT32 BaseClockRate;
- UINT32 Divisor;
-
-- //
-- // On the Raspberry Pi, the clock to use for the 16650-compatible UART
-- // is the base clock divided by the 12.12 fixed point VPU clock divisor.
-- //
-- BaseClockRate = (UINT64)PcdGet32 (PcdSerialClockRate);
--#if (RPI_MODEL == 4)
-- Divisor = MmioRead32(BCM2836_CM_BASE + BCM2836_CM_VPU_CLOCK_DIVISOR) & 0xFFFFFF;
-- if (Divisor != 0)
-- BaseClockRate = (BaseClockRate << 12) / Divisor;
--#endif
-+ BaseClockRate = PcdGet32 (PcdSerialClockRate);
-
- //
- // As per the BCM2xxx datasheets:
- // baudrate = system_clock_freq / (8 * (divisor + 1)).
- //
-- Divisor = (UINT32)BaseClockRate / (SerialBaudRate * 8);
-+ Divisor = BaseClockRate / (SerialBaudRate * 8);
- if (Divisor != 0) {
- Divisor--;
- }
diff --git a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig
deleted file mode 100644
index 58351e4fb8..0000000000
--- a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig
+++ /dev/null
@@ -1,180 +0,0 @@
-/** @file
- *
- * Copyright (c) 2020, Andrei Warkentin <andrey.warkentin@gmail.com>
- * Copyright (c) 2019-2020, Pete Batard <pete@akeo.ie>
- * Copyright (c) 2016, Linaro Limited. All rights reserved.
- * Copyright (c) 2011-2020, ARM Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-2-Clause-Patent
- *
- **/
-
-#include <AsmMacroIoLibV8.h>
-#include <Library/ArmLib.h>
-#include <IndustryStandard/Bcm2836.h>
-#include <IndustryStandard/RpiMbox.h>
-
- .macro drain
- mov x5, #RPI_MBOX_MAX_TRIES
-0: ldr w6, [x4, #BCM2836_MBOX_STATUS_OFFSET]
- tbnz w6, #BCM2836_MBOX_STATUS_EMPTY, 1f
- dmb ld
- ldr wzr, [x4, #BCM2836_MBOX_READ_OFFSET]
- subs x5, x5, #1
- b.ne 0b
-1:
- .endm
-
- .macro poll, status
- mov x5, #RPI_MBOX_MAX_TRIES
-0: ldr w6, [x4, #BCM2836_MBOX_STATUS_OFFSET]
- tbz w6, #\status, 1f
- dmb ld
- subs x5, x5, #1
- b.ne 0b
-1:
- .endm
-
- .macro run, command_buffer
- adr x0, \command_buffer
- orr x0, x0, #RPI_MBOX_VC_CHANNEL
- add x0, x0, x1
-
- poll BCM2836_MBOX_STATUS_FULL
- str w0, [x4, #BCM2836_MBOX_WRITE_OFFSET]
- dmb sy
- poll BCM2836_MBOX_STATUS_EMPTY
- dmb sy
- ldr wzr, [x4, #BCM2836_MBOX_READ_OFFSET]
- dmb ld
- .endm
-
-ASM_FUNC (ArmPlatformPeiBootAction)
- mov x1, #FixedPcdGet64 (PcdDmaDeviceOffset)
- orr x0, x0, #RPI_MBOX_VC_CHANNEL
- // x1 holds the value of PcdDmaDeviceOffset throughout this function
-
- MOV32 (x4, BCM2836_MBOX_BASE_ADDRESS)
-
- drain
-
- run .Lmeminfo_buffer
-
- ldr w0, .Lmembase
- adr x2, mSystemMemoryBase
- str x0, [x2]
-
- ldr w0, .Lmemsize
- sub x0, x0, #1
- adr x2, mSystemMemoryEnd
- str x0, [x2]
-
- run .Lvcinfo_buffer
-
- ldr w0, .Lvcbase
- adr x2, mVideoCoreBase
- str x0, [x2]
-
- ldr w0, .Lvcsize
- adr x2, mVideoCoreSize
- str x0, [x2]
-
- run .Lrevinfo_buffer
-
- ldr w0, .Lrevision
- adr x2, mBoardRevision
- str w0, [x2]
-
-#if (RPI_MODEL == 3)
- run .Lclkinfo_buffer
-
- ldr w0, .Lfrequency
- adr x2, _gPcd_BinaryPatch_PcdSerialClockRate
- str w0, [x2]
-#endif
-
- ret
-
- .align 4
-.Lmeminfo_buffer:
- .long .Lmeminfo_size
- .long 0x0
- .long RPI_MBOX_GET_ARM_MEMSIZE
- .long 8 // buf size
- .long 0 // input len
-.Lmembase:
- .long 0 // mem base
-.Lmemsize:
- .long 0 // mem size
- .long 0 // end tag
- .set .Lmeminfo_size, . - .Lmeminfo_buffer
-
- .align 4
-.Lvcinfo_buffer:
- .long .Lvcinfo_size
- .long 0x0
- .long RPI_MBOX_GET_VC_MEMSIZE
- .long 8 // buf size
- .long 0 // input len
-.Lvcbase:
- .long 0 // videocore base
-.Lvcsize:
- .long 0 // videocore size
- .long 0 // end tag
- .set .Lvcinfo_size, . - .Lvcinfo_buffer
-
- .align 4
-.Lrevinfo_buffer:
- .long .Lrevinfo_size
- .long 0x0
- .long RPI_MBOX_GET_BOARD_REVISION
- .long 4 // buf size
- .long 0 // input len
-.Lrevision:
- .long 0 // revision
- .long 0 // end tag
- .set .Lrevinfo_size, . - .Lrevinfo_buffer
-
-#if (RPI_MODEL == 3)
- .align 4
-.Lclkinfo_buffer:
- .long .Lclkinfo_size
- .long 0x0
- .long RPI_MBOX_GET_CLOCK_RATE
- .long 8 // buf size
- .long 4 // input len
- .long 4 // clock id: 0x04 = Core/VPU
-.Lfrequency:
- .long 0 // frequency
- .long 0 // end tag
- .set .Lclkinfo_size, . - .Lclkinfo_buffer
-#endif
-
-//UINTN
-//ArmPlatformGetPrimaryCoreMpId (
-// VOID
-// );
-ASM_FUNC (ArmPlatformGetPrimaryCoreMpId)
- MOV32 (w0, FixedPcdGet32 (PcdArmPrimaryCore))
- ret
-
-//UINTN
-//ArmPlatformIsPrimaryCore (
-// IN UINTN MpId
-// );
-ASM_FUNC (ArmPlatformIsPrimaryCore)
- mov x0, #1
- ret
-
-//UINTN
-//ArmPlatformGetCorePosition (
-// IN UINTN MpId
-// );
-// With this function: CorePos = (ClusterId * 4) + CoreId
-ASM_FUNC (ArmPlatformGetCorePosition)
- and x1, x0, #ARM_CORE_MASK
- and x0, x0, #ARM_CLUSTER_MASK
- add x0, x1, x0, LSR #6
- ret
-
-ASM_FUNCTION_REMOVE_IF_UNREFERENCED
diff --git a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej
deleted file mode 100644
index e42851fafe..0000000000
--- a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej
+++ /dev/null
@@ -1,32 +0,0 @@
---- Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
-+++ Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
-@@ -85,13 +85,11 @@ ASM_FUNC (ArmPlatformPeiBootAction)
- adr x2, mBoardRevision
- str w0, [x2]
-
--#if (RPI_MODEL == 3)
- run .Lclkinfo_buffer
-
- ldr w0, .Lfrequency
- adr x2, _gPcd_BinaryPatch_PcdSerialClockRate
- str w0, [x2]
--#endif
-
- ret
-
-@@ -135,7 +133,6 @@ ASM_FUNC (ArmPlatformPeiBootAction)
- .long 0 // end tag
- .set .Lrevinfo_size, . - .Lrevinfo_buffer
-
--#if (RPI_MODEL == 3)
- .align 4
- .Lclkinfo_buffer:
- .long .Lclkinfo_size
-@@ -148,7 +145,6 @@ ASM_FUNC (ArmPlatformPeiBootAction)
- .long 0 // frequency
- .long 0 // end tag
- .set .Lclkinfo_size, . - .Lclkinfo_buffer
--#endif
-
- //UINTN
- //ArmPlatformGetPrimaryCoreMpId (
diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc.orig b/Platform/RaspberryPi/RPi4/RPi4.dsc.orig
deleted file mode 100644
index 2c05c31118..0000000000
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc.orig
+++ /dev/null
@@ -1,760 +0,0 @@
-# @file
-#
-# Copyright (c) 2011 - 2020, ARM Limited. All rights reserved.
-# Copyright (c) 2017 - 2018, Andrei Warkentin <andrey.warkentin@gmail.com>
-# Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.
-# Copyright (c) 2014, Linaro Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-##
-
-################################################################################
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-################################################################################
-[Defines]
- PLATFORM_NAME = RPi4
- PLATFORM_GUID = a7eca3b4-21b0-4989-8c18-c08f3ae87837
- PLATFORM_VERSION = 1.0
- DSC_SPECIFICATION = 0x0001001A
- OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
- SUPPORTED_ARCHITECTURES = AARCH64
- BUILD_TARGETS = DEBUG|RELEASE|NOOPT
- SKUID_IDENTIFIER = DEFAULT
- FLASH_DEFINITION = Platform/RaspberryPi/$(PLATFORM_NAME)/$(PLATFORM_NAME).fdf
-
- #
- # Defines for default states. These can be changed on the command line.
- # -D FLAG=VALUE
- #
- DEFINE SECURE_BOOT_ENABLE = FALSE
- DEFINE INCLUDE_TFTP_COMMAND = FALSE
- DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
-
-!ifndef TFA_BUILD_ARTIFACTS
- #
- # Default TF-A binary checked into edk2-non-osi.
- #
- DEFINE TFA_BUILD_BL31 = Platform/RaspberryPi/$(PLATFORM_NAME)/TrustedFirmware/bl31.bin
-!else
- #
- # Usually we use the checked-in binaries, but for developers working
- # on the firmware, being able to use a local TF-A build without extra copy
- # operations ends up being very helpful.
- #
- DEFINE TFA_BUILD_BL31 = $(TFA_BUILD_ARTIFACTS)/bl31.bin
-!endif
-
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this Platform.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses.common]
-!if $(TARGET) == RELEASE
- DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!else
- DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!endif
- DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
-
- BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
- SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
- BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
- SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
- PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
- ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
- PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
- PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
- PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
- IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
- UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
- CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-
- UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
- HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
- UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
- UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
- DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
- DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
- UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
- UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
- HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
- UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
- SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-
- UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
- OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
-
- #
- # Ramdisk Requirements
- #
- FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
-
- # Allow dynamic PCDs
- #
- PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-
- # use the accelerated BaseMemoryLibOptDxe by default, overrides for SEC/PEI below
- BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
-
- #
- # It is not possible to prevent the ARM compiler from inserting calls to intrinsic functions.
- # This library provides the instrinsic functions such a compiler may generate calls to.
- #
- NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
-
- # Add support for GCC stack protector
- NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
-
- # ARM Architectural Libraries
- CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
- DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
- CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
- ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
- ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
- ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
- DmaLib|EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.inf
- TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
- ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
- ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
- ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
- ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
-
- # Dual serial port library
- PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf
- PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
- SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DebugDualSerialPortLib.inf
-
- # Cryptographic libraries
- RngLib|MdePkg/Library/DxeRngLib/DxeRngLib.inf
- IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
- BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
- OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
- TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
-
- #
- # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
- # in the debugger will show load and unload commands for symbols. You can cut and paste this
- # into the command window to load symbols. We should be able to use a script to do this, but
- # the version of RVD I have does not support scripts accessing system memory.
- #
- #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
- PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
- #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
-
- DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
- DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
-
- # Flattened Device Tree (FDT) access library
- FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
-
- # USB Libraries
- UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
-
- #
- # Secure Boot dependencies
- #
-!if $(SECURE_BOOT_ENABLE) == TRUE
- TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
- AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
-
- # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
- PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
-!else
- TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
- AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
-!endif
- VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
- VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
- VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
- GpioLib|Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf
-
- #
- # PCI dependencies
- #
- # PCI root port configuation and description
- PciHostBridgeLib|Silicon/Broadcom/Bcm27xx/Library/Bcm2711PciHostBridgeLib/Bcm2711PciHostBridgeLib.inf
- # The "segment lib" provides the CAM accessors/etc when they aren't ECAM standard
- PciSegmentLib|Silicon/Broadcom/Bcm27xx/Library/Bcm2711PciSegmentLib/PciSegmentLib.inf
-
-[LibraryClasses.common.SEC]
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
- BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
- MemoryInitPeiLib|Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
- PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
- ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
- LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
- PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
- HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
- PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
- MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_CORE]
- HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
- MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
- DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
- ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
- PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
- SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
- PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-!if $(INCLUDE_TFTP_COMMAND) == TRUE
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
- FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
-!endif
-
-[LibraryClasses.common.UEFI_APPLICATION]
- PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
- HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
- FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
- ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
- PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
- # Runtime debug messages may crash an OS unless serial output to MMIO mapped UARTs is inhibited
- DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
- CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
- EfiResetSystemLib|Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
- ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
- VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
-
-!if $(SECURE_BOOT_ENABLE) == TRUE
- BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
-!endif
-
-###################################################################################################
-# BuildOptions Section - Define the module specific tool chain flags that should be used as
-# the default flags for a module. These flags are appended to any
-# standard flags that are defined by the build process.
-###################################################################################################
-
-[BuildOptions]
- GCC:*_*_*_CC_FLAGS = -DRPI_MODEL=4
- GCC:*_*_*_PP_FLAGS = -DRPI_MODEL=4
- GCC:*_*_*_ASLPP_FLAGS = -DRPI_MODEL=4
- GCC:*_*_*_ASLCC_FLAGS = -DRPI_MODEL=4
- GCC:*_*_*_VFRPP_FLAGS = -DRPI_MODEL=4
- GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG -DNDEBUG
-
-[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
- GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsFeatureFlag.common]
- # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
- gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
-
- gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
- gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
-
- ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
- # It could be set FALSE to save size.
- gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
- gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
- gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport|FALSE
-
-[PcdsFixedAtBuild.common]
- gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
- gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
- gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
- gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
- gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
- gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
- gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
- gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
-
- # DEBUG_ASSERT_ENABLED 0x01
- # DEBUG_PRINT_ENABLED 0x02
- # DEBUG_CODE_ENABLED 0x04
- # CLEAR_MEMORY_ENABLED 0x08
- # ASSERT_BREAKPOINT_ENABLED 0x10
- # ASSERT_DEADLOOP_ENABLED 0x20
-!if $(TARGET) == RELEASE
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
-!else
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
-!endif
-
- # DEBUG_INIT 0x00000001 // Initialization
- # DEBUG_WARN 0x00000002 // Warnings
- # DEBUG_LOAD 0x00000004 // Load events
- # DEBUG_FS 0x00000008 // EFI File system
- # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
- # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
- # DEBUG_INFO 0x00000040 // Informational debug messages
- # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
- # DEBUG_VARIABLE 0x00000100 // Variable
- # DEBUG_BM 0x00000400 // Boot Manager
- # DEBUG_BLKIO 0x00001000 // BlkIo Driver
- # DEBUG_NET 0x00004000 // SNP Driver
- # DEBUG_UNDI 0x00010000 // UNDI Driver
- # DEBUG_LOADFILE 0x00020000 // LoadFile
- # DEBUG_EVENT 0x00080000 // Event messages
- # DEBUG_GCD 0x00100000 // Global Coherency Database changes
- # DEBUG_CACHE 0x00200000 // Memory range cachability changes
- # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
- # // significantly impact boot performance
- # DEBUG_ERROR 0x80000000 // Error
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
-
- gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
-
- #
- # Optional feature to help prevent EFI memory map fragments
- # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
- # Values are in EFI Pages (4K). DXE Core will make sure that
- # at least this much of each type of memory can be allocated
- # from a single memory range. This way you only end up with
- # maximum of two fragments for each type in the memory map
- # (the memory used, and the free memory that was prereserved
- # but not used).
- #
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
-!if $(SECURE_BOOT_ENABLE) == TRUE
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
-!else
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
-!endif
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|12000
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
-
- gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0xc0000000
- gEmbeddedTokenSpaceGuid.PcdDmaDeviceLimit|0xffffffff
-
- gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"EDK2-DEV"
-
-!if $(SECURE_BOOT_ENABLE) == TRUE
- # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
- gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
- gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
- gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
-!endif
-
- gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
-
- # Default platform supported RFC 4646 languages: (American) English
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes|"en-US"
-
-[LibraryClasses.common]
- ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
- ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
- ArmPlatformLib|Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
- TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
- CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
- UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
- BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
- PlatformBootManagerLib|Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
- CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
- FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
- AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
- UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsFeatureFlag.common]
- gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
- gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
- gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
-
-[PcdsFixedAtBuild.common]
- gArmPlatformTokenSpaceGuid.PcdCoreCount|4
- gArmTokenSpaceGuid.PcdVFPEnabled|1
-
- gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
- gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
- gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
-
- # Size of the region used by UEFI in permanent memory (Reserved 64MB)
- gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
- #
- # 0x00000000 - 0x001F0000 FD (PcdFdBaseAddress, PcdFdSize)
- # 0x001F0000 - 0x00200000 DTB (PcdFdtBaseAddress, PcdFdtSize)
- # 0x00200000 - ... RAM (PcdSystemMemoryBase, PcdSystemMemorySize)
- #
- # This matches PcdFvBaseAddress, since everything less is the FD, and
- # will be reserved away.
- #
- gArmTokenSpaceGuid.PcdSystemMemoryBase|0x00200000
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x3fe00000
-
- #
- # Device specific addresses
- #
- gBcm27xxTokenSpaceGuid.PcdBcm27xxRegistersAddress|0xfc000000
- gBcm27xxTokenSpaceGuid.PcdBcmGenetRegistersAddress|0xfd580000
- gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress|0xfe000000
-
- # PCIe specific addresses
- gBcm27xxTokenSpaceGuid.PcdBcm27xxPciRegBase|0xfd500000
- gBcm27xxTokenSpaceGuid.PcdBcm27xxPciBusMmioAdr|0xf8000000
- gBcm27xxTokenSpaceGuid.PcdBcm27xxPciBusMmioLen|0x3ffffff
- gBcm27xxTokenSpaceGuid.PcdBcm27xxPciCpuMmioAdr|0x600000000
-
- # UARTs
- gArmPlatformTokenSpaceGuid.PL011UartInteger|0
- gArmPlatformTokenSpaceGuid.PL011UartFractional|0
- gArmPlatformTokenSpaceGuid.PL011UartClkInHz|48000000
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1000000000
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x27
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|8
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
-
- #
- # ARM General Interrupt Controller
- #
- gArmTokenSpaceGuid.PcdGicDistributorBase|0xFF841000
- gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xFF842000
- gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceHBase|0xFF844000
- gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceVBase|0xFF846000
- gRaspberryPiTokenSpaceGuid.PcdGicGsivId|0x19
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|0x30
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|0x31
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|0x32
- gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|0x33
-
- #
- # Fixed CPU settings.
- #
- gRaspberryPiTokenSpaceGuid.PcdCpuLowSpeedMHz|800
- gRaspberryPiTokenSpaceGuid.PcdCpuDefSpeedMHz|1500
- gRaspberryPiTokenSpaceGuid.PcdCpuMaxSpeedMHz|2200
-
- ## Default Terminal Type
- ## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM
- gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
-
- gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
- gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
-
- gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK2"
- gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
-
-[PcdsDynamicHii.common.DEFAULT]
-
- #
- # Clock overrides.
- #
-
- gRaspberryPiTokenSpaceGuid.PcdCpuClock|L"CpuClock"|gConfigDxeFormSetGuid|0x0|1
- gRaspberryPiTokenSpaceGuid.PcdCustomCpuClock|L"CustomCpuClock"|gConfigDxeFormSetGuid|0x0|gRaspberryPiTokenSpaceGuid.PcdCpuDefSpeedMHz
-
- #
- # SD-related.
- #
-
- gRaspberryPiTokenSpaceGuid.PcdSdIsArasan|L"SdIsArasan"|gConfigDxeFormSetGuid|0x0|0
- gRaspberryPiTokenSpaceGuid.PcdMmcForce1Bit|L"MmcForce1Bit"|gConfigDxeFormSetGuid|0x0|0
- gRaspberryPiTokenSpaceGuid.PcdMmcForceDefaultSpeed|L"MmcForceDefaultSpeed"|gConfigDxeFormSetGuid|0x0|0
- gRaspberryPiTokenSpaceGuid.PcdMmcSdDefaultSpeedMHz|L"MmcSdDefaultSpeedMHz"|gConfigDxeFormSetGuid|0x0|25
- gRaspberryPiTokenSpaceGuid.PcdMmcSdHighSpeedMHz|L"MmcSdHighSpeedMHz"|gConfigDxeFormSetGuid|0x0|50
- gRaspberryPiTokenSpaceGuid.PcdMmcDisableMulti|L"MmcDisableMulti"|gConfigDxeFormSetGuid|0x0|0
- gRaspberryPiTokenSpaceGuid.PcdMmcEnableDma|L"MmcEnableDma"|gConfigDxeFormSetGuid|0x0|0
-
- #
- # Debug-related.
- #
-
- gRaspberryPiTokenSpaceGuid.PcdDebugEnableJTAG|L"DebugEnableJTAG"|gConfigDxeFormSetGuid|0x0|0
-
- #
- # Display-related.
- #
-
- #
- # Just enable native resolution by default.
- #
- gRaspberryPiTokenSpaceGuid.PcdDisplayEnableScaledVModes|L"DisplayEnableScaledVModes"|gConfigDxeFormSetGuid|0x0|0x20
- gRaspberryPiTokenSpaceGuid.PcdDisplayEnableSShot|L"DisplayEnableSShot"|gConfigDxeFormSetGuid|0x0|1
-
- #
- # Supporting > 3GB of memory.
- #
- gRaspberryPiTokenSpaceGuid.PcdRamMoreThan3GB|L"RamMoreThan3GB"|gConfigDxeFormSetGuid|0x0|0
- gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|L"RamLimitTo3GB"|gConfigDxeFormSetGuid|0x0|1
-
- #
- # Device Tree and ACPI selection.
- #
- # 0 - SYSTEM_TABLE_MODE_ACPI (default)
- # 1 - SYSTEM_TABLE_MODE_BOTH
- # 2 - SYSTEM_TABLE_MODE_DT
- #
- gRaspberryPiTokenSpaceGuid.PcdSystemTableMode|L"SystemTableMode"|gConfigDxeFormSetGuid|0x0|0
-
- #
- # Enable a fan in the ACPI thermal zone on GPIO pin #
- #
- # 0 - DISABLED
- # 19 - Enabled on pin 19
- #
- gRaspberryPiTokenSpaceGuid.PcdFanOnGpio|L"FanOnGpio"|gConfigDxeFormSetGuid|0x0|0
- gRaspberryPiTokenSpaceGuid.PcdFanTemp|L"FanTemp"|gConfigDxeFormSetGuid|0x0|60
-
- #
- # Reset-related.
- #
-
- gRaspberryPiTokenSpaceGuid.PcdPlatformResetDelay|L"ResetDelay"|gRaspberryPiTokenSpaceGuid|0x0|0
-
- #
- # Common UEFI ones.
- #
-
- gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
- #
- # This is silly, but by pointing SetupConXXX and ConXXX PCDs to
- # the same variables, I can use the graphical configuration to
- # change the mode used by ConSplitter.
- #
- gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn|L"Columns"|gRaspberryPiTokenSpaceGuid|0x0|80
- gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|L"Columns"|gRaspberryPiTokenSpaceGuid|0x0|80
- gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|L"Rows"|gRaspberryPiTokenSpaceGuid|0x0|25
- gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|L"Rows"|gRaspberryPiTokenSpaceGuid|0x0|25
-
-[PcdsDynamicDefault.common]
- #
- # Set video resolution for boot options and for text setup.
- #
- gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0
- gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0
- gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
- gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
-
-################################################################################
-#
-# Components Section - list of all EDK II Modules needed by this Platform
-#
-################################################################################
-[Components.common]
- #
- # PEI Phase modules
- #
- ArmPlatformPkg/PrePi/PeiUniCore.inf {
- <LibraryClasses>
- SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.inf
- }
-
- #
- # DXE
- #
- MdeModulePkg/Core/Dxe/DxeMain.inf {
- <LibraryClasses>
- NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
- }
- MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
- <LibraryClasses>
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
- }
-
- #
- # Architectural Protocols
- #
- ArmPkg/Drivers/CpuDxe/CpuDxe.inf
- MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
- Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
- MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
- <LibraryClasses>
- NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
- DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
- }
-!if $(SECURE_BOOT_ENABLE) == TRUE
- MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
- <LibraryClasses>
- NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
- }
- SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
-!else
- MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
-!endif
- MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
- MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
- EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
- EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {
- <LibraryClasses>
- RealTimeClockLib|EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
- }
- EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
-
- MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
- MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
- MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
- MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
- MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {
- <LibraryClasses>
- SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.inf
- }
- Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
- EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf
-
- MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-
- ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
- Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
- Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
- Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
- ArmPkg/Drivers/TimerDxe/TimerDxe.inf
- MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
- MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-
- #
- # FAT filesystem + GPT/MBR partitioning
- #
- MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
- MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
- MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
- FatPkg/EnhancedFatDxe/Fat.inf
-
- #
- # ACPI Support
- #
- MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
- MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
- Platform/RaspberryPi/AcpiTables/AcpiTables.inf
-
- #
- # SMBIOS Support
- #
- Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
- MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
-
- #
- # RAM Disk Support
- #
- MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-
- #
- # Bds
- #
- MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
- MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
- MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
- MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
- MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
- Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
- MdeModulePkg/Application/UiApp/UiApp.inf {
- <LibraryClasses>
- NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
- NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
- NULL|Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
- NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
- }
-
- #
- # SCSI Bus and Disk Driver
- #
- MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-
- #
- # USB Support
- #
- MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
- Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
- MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
- MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
- MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
- #
- # SD/MMC support
- #
- # Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
- Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
- Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
-
- #
- # Networking stack
- #
-!include NetworkPkg/Network.dsc.inc
- Silicon/Broadcom/Drivers/Net/BcmGenetDxe/BcmGenetDxe.inf {
- <PcdsFixedAtBuild>
- gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0x00000000
- gEmbeddedTokenSpaceGuid.PcdDmaDeviceLimit|0xffffffff
- }
-
- #
- # RNG
- #
- Silicon/Broadcom/Bcm283x/Drivers/Bcm2838RngDxe/Bcm2838RngDxe.inf
-
- #
- # PCI Support
- #
- ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
- MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
- MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
- EmbeddedPkg/Drivers/NonCoherentIoMmuDxe/NonCoherentIoMmuDxe.inf {
- <PcdsFixedAtBuild>
- gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0x00000000
- gEmbeddedTokenSpaceGuid.PcdDmaDeviceLimit|0xbfffffff
- }
-
- #
- # UEFI application (Shell Embedded Boot Loader)
- #
- ShellPkg/Application/Shell/Shell.inf {
- <LibraryClasses>
- ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
- NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
- HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
- PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
- BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
-
- <PcdsFixedAtBuild>
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
- gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
- gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x200000
- }
-!if $(INCLUDE_TFTP_COMMAND) == TRUE
- ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
- <PcdsFixedAtBuild>
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
- }
-!endif
diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc.rej b/Platform/RaspberryPi/RPi4/RPi4.dsc.rej
deleted file mode 100644
index 0b40df6896..0000000000
--- a/Platform/RaspberryPi/RPi4/RPi4.dsc.rej
+++ /dev/null
@@ -1,29 +0,0 @@
---- Platform/RaspberryPi/RPi4/RPi4.dsc
-+++ Platform/RaspberryPi/RPi4/RPi4.dsc
-@@ -429,7 +429,6 @@ [PcdsFixedAtBuild.common]
- gArmPlatformTokenSpaceGuid.PL011UartClkInHz|48000000
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
-- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1000000000
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x27
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|8
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
-@@ -465,6 +464,9 @@ [PcdsFixedAtBuild.common]
- gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK2"
- gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
-
-+[PcdsPatchableInModule]
-+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|500000000
-+
- [PcdsDynamicHii.common.DEFAULT]
-
- #
-@@ -621,7 +623,7 @@ [Components.common]
- MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
- MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {
- <LibraryClasses>
-- SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.inf
-+ SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortDxeLib.inf
- }
- Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
- EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [edk2-platforms PATCH v2] Platform/RaspberryPi: Remove unnecessary files.
2021-08-17 7:26 [edk2-platforms PATCH v2] Platform/RaspberryPi: Remove unnecessary files Grzegorz Bernacki
@ 2021-08-17 14:03 ` Ard Biesheuvel
0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2021-08-17 14:03 UTC (permalink / raw)
To: Grzegorz Bernacki
Cc: edk2-devel-groups-io, Leif Lindholm, Ard Biesheuvel,
Samer El-Haj-Mahmoud, Sunny Wang, Marcin Wojtas, upstream,
Peter Batard
On Tue, 17 Aug 2021 at 09:26, Grzegorz Bernacki <gjb@semihalf.com> wrote:
>
> Commit 2f0188b56ef4 ("Revert "Platform/RaspberryPi: Setup option for...")
> mistakenly introduced to files which are residues from a
> conflict resolution. Fix that.
>
> Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
Pushed as b291607503dc..f24aa7708d9b
Thanks,
> ---
> Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig | 613 ----------------
> Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej | 31 -
> Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig | 180 -----
> Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej | 32 -
> Platform/RaspberryPi/RPi4/RPi4.dsc.orig | 760 --------------------
> Platform/RaspberryPi/RPi4/RPi4.dsc.rej | 29 -
> 6 files changed, 1645 deletions(-)
> delete mode 100644 Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig
> delete mode 100644 Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej
> delete mode 100644 Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig
> delete mode 100644 Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej
> delete mode 100644 Platform/RaspberryPi/RPi4/RPi4.dsc.orig
> delete mode 100644 Platform/RaspberryPi/RPi4/RPi4.dsc.rej
>
> diff --git a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig b/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig
> deleted file mode 100644
> index 5e83bbf022..0000000000
> --- a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.orig
> +++ /dev/null
> @@ -1,613 +0,0 @@
> -/** @file
> - 16550 and PL011 Serial Port library functions for Raspberry Pi
> -
> - Copyright (c) 2020, Pete Batard <pete@akeo.ie>
> - Copyright (c) 2018, AMD Incorporated. All rights reserved.<BR>
> - Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
> - Copyright (c) 2012 - 2016, ARM Ltd. All rights reserved.<BR>
> - Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> - Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> -
> - SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include <Base.h>
> -#include <Library/IoLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/PL011UartClockLib.h>
> -#include <Library/PL011UartLib.h>
> -#include <Library/SerialPortLib.h>
> -
> -#include "DualSerialPortLib.h"
> -
> -/**
> - Return the baud generator divisor to use for 16650 setup.
> -
> - @param SerialBaudRate The desired baud rate.
> -
> - @return The baud generator divisor.
> -**/
> -STATIC
> -UINT32
> -SerialPortGetDivisor (
> - UINT32 SerialBaudRate
> -)
> -{
> - UINT64 BaseClockRate;
> - UINT32 Divisor;
> -
> - //
> - // On the Raspberry Pi, the clock to use for the 16650-compatible UART
> - // is the base clock divided by the 12.12 fixed point VPU clock divisor.
> - //
> - BaseClockRate = (UINT64)PcdGet32 (PcdSerialClockRate);
> -#if (RPI_MODEL == 4)
> - Divisor = MmioRead32(BCM2836_CM_BASE + BCM2836_CM_VPU_CLOCK_DIVISOR) & 0xFFFFFF;
> - if (Divisor != 0)
> - BaseClockRate = (BaseClockRate << 12) / Divisor;
> -#endif
> -
> - //
> - // As per the BCM2xxx datasheets:
> - // baudrate = system_clock_freq / (8 * (divisor + 1)).
> - //
> - Divisor = (UINT32)BaseClockRate / (SerialBaudRate * 8);
> - if (Divisor != 0) {
> - Divisor--;
> - }
> - return Divisor;
> -}
> -
> -/**
> - Initialize the serial device hardware.
> -
> - If no initialization is required, then return RETURN_SUCCESS.
> - If the serial device was successfully initialized, then return RETURN_SUCCESS.
> - If the serial device could not be initialized, then return RETURN_DEVICE_ERROR.
> -
> - @retval RETURN_SUCCESS The serial device was initialized.
> - @retval RETURN_DEVICE_ERROR The serial device could not be initialized.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortInitialize (
> - VOID
> - )
> -{
> - UINTN SerialRegisterBase;
> - UINT32 Divisor;
> - UINT32 CurrentDivisor;
> - BOOLEAN Initialized;
> - UINT64 BaudRate;
> - UINT32 ReceiveFifoDepth;
> - EFI_PARITY_TYPE Parity;
> - UINT8 DataBits;
> - EFI_STOP_BITS_TYPE StopBits;
> -
> - //
> - // First thing we need to do is determine which of PL011 or miniUART is selected
> - //
> - if (!UsePl011UartSet) {
> - UsePl011Uart = ((MmioRead32(GPIO_BASE_ADDRESS + 4) & 0x0003F000) == 0x00024000);
> - UsePl011UartSet = TRUE;
> - }
> -
> - if (UsePl011Uart) {
> - BaudRate = FixedPcdGet64 (PcdUartDefaultBaudRate);
> - ReceiveFifoDepth = 0; // Use default FIFO depth
> - Parity = (EFI_PARITY_TYPE)FixedPcdGet8 (PcdUartDefaultParity);
> - DataBits = FixedPcdGet8 (PcdUartDefaultDataBits);
> - StopBits = (EFI_STOP_BITS_TYPE) FixedPcdGet8 (PcdUartDefaultStopBits);
> -
> - return PL011UartInitializePort (
> - PL011_UART_REGISTER_BASE,
> - PL011UartClockGetFreq(),
> - &BaudRate,
> - &ReceiveFifoDepth,
> - &Parity,
> - &DataBits,
> - &StopBits
> - );
> - } else {
> - SerialRegisterBase = MINI_UART_REGISTER_BASE;
> - Divisor = SerialPortGetDivisor (PcdGet32 (PcdSerialBaudRate));
> -
> - //
> - // See if the serial port is already initialized
> - //
> - Initialized = TRUE;
> - if ((SerialPortReadRegister (SerialRegisterBase, R_UART_LCR) & 0x3F) != (PcdGet8 (PcdSerialLineControl) & 0x3F)) {
> - Initialized = FALSE;
> - }
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_LCR) | B_UART_LCR_DLAB));
> - CurrentDivisor = SerialPortReadRegister (SerialRegisterBase, R_UART_BAUD_HIGH) << 8;
> - CurrentDivisor |= (UINT32) SerialPortReadRegister (SerialRegisterBase, R_UART_BAUD_LOW);
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_LCR) & ~B_UART_LCR_DLAB));
> - if (CurrentDivisor != Divisor) {
> - Initialized = FALSE;
> - }
> - if (Initialized) {
> - return RETURN_SUCCESS;
> - }
> -
> - //
> - // Wait for the serial port to be ready.
> - // Verify that both the transmit FIFO and the shift register are empty.
> - //
> - while ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)) != (B_UART_LSR_TEMT | B_UART_LSR_TXRDY));
> -
> - //
> - // Configure baud rate
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, B_UART_LCR_DLAB);
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_HIGH, (UINT8) (Divisor >> 8));
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_LOW, (UINT8) (Divisor & 0xff));
> -
> - //
> - // Clear DLAB and configure Data Bits, Parity, and Stop Bits.
> - // Strip reserved bits from PcdSerialLineControl
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(PcdGet8 (PcdSerialLineControl) & 0x3F));
> -
> - //
> - // Enable and reset FIFOs
> - // Strip reserved bits from PcdSerialFifoControl
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, 0x00);
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, (UINT8)(PcdGet8 (PcdSerialFifoControl) & (B_UART_FCR_FIFOE | B_UART_FCR_FIFO64)));
> -
> - //
> - // Set FIFO Polled Mode by clearing IER after setting FCR
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_IER, 0x00);
> -
> - //
> - // Put Modem Control Register(MCR) into its reset state of 0x00.
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, 0x00);
> -
> - return RETURN_SUCCESS;
> - }
> -}
> -
> -/**
> - Reads data from a serial device into a buffer.
> -
> - @param Buffer Pointer to the data buffer to store the data read from the serial device.
> - @param NumberOfBytes Number of bytes to read from the serial device.
> -
> - @retval 0 NumberOfBytes is 0.
> - @retval >0 The number of bytes read from the serial device.
> - If this value is less than NumberOfBytes, then the read operation failed.
> -
> -**/
> -UINTN
> -EFIAPI
> -SerialPortRead (
> - OUT UINT8 *Buffer,
> - IN UINTN NumberOfBytes
> - )
> -{
> - UINTN SerialRegisterBase;
> - UINTN Result;
> - UINT8 Mcr;
> -
> - if (UsePl011Uart) {
> - return PL011UartRead (PL011_UART_REGISTER_BASE, Buffer, NumberOfBytes);
> - } else {
> - if (NULL == Buffer) {
> - return 0;
> - }
> -
> - SerialRegisterBase = MINI_UART_REGISTER_BASE;
> -
> - Mcr = (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_MCR) & ~B_UART_MCR_RTS);
> -
> - for (Result = 0; NumberOfBytes-- != 0; Result++, Buffer++) {
> - //
> - // Wait for the serial port to have some data.
> - //
> - while ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & B_UART_LSR_RXRDY) == 0) {
> - if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
> - //
> - // Set RTS to let the peer send some data
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, (UINT8)(Mcr | B_UART_MCR_RTS));
> - }
> - }
> - if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
> - //
> - // Clear RTS to prevent peer from sending data
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, Mcr);
> - }
> -
> - //
> - // Read byte from the receive buffer.
> - //
> - *Buffer = SerialPortReadRegister (SerialRegisterBase, R_UART_RXBUF);
> - }
> -
> - return Result;
> - }
> -}
> -
> -/**
> - Polls a serial device to see if there is any data waiting to be read.
> -
> - Polls aserial device to see if there is any data waiting to be read.
> - If there is data waiting to be read from the serial device, then TRUE is returned.
> - If there is no data waiting to be read from the serial device, then FALSE is returned.
> -
> - @retval TRUE Data is waiting to be read from the serial device.
> - @retval FALSE There is no data waiting to be read from the serial device.
> -
> -**/
> -BOOLEAN
> -EFIAPI
> -SerialPortPoll (
> - VOID
> - )
> -{
> - UINTN SerialRegisterBase;
> -
> - if (UsePl011Uart) {
> - return PL011UartPoll (PL011_UART_REGISTER_BASE);
> - } else {
> - SerialRegisterBase = MINI_UART_REGISTER_BASE;
> -
> - //
> - // Read the serial port status
> - //
> - if ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & B_UART_LSR_RXRDY) != 0) {
> - if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
> - //
> - // Clear RTS to prevent peer from sending data
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_MCR) & ~B_UART_MCR_RTS));
> - }
> - return TRUE;
> - }
> -
> - if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
> - //
> - // Set RTS to let the peer send some data
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_MCR) | B_UART_MCR_RTS));
> - }
> -
> - return FALSE;
> - }
> -}
> -
> -/**
> - Sets the control bits on a serial device.
> -
> - @param Control Sets the bits of Control that are settable.
> -
> - @retval RETURN_SUCCESS The new control bits were set on the serial device.
> - @retval RETURN_UNSUPPORTED The serial device does not support this operation.
> - @retval RETURN_DEVICE_ERROR The serial device is not functioning correctly.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortSetControl (
> - IN UINT32 Control
> - )
> -{
> - UINTN SerialRegisterBase;
> - UINT8 Mcr;
> -
> - if (UsePl011Uart) {
> - return PL011UartSetControl (PL011_UART_REGISTER_BASE, Control);
> - } else {
> - //
> - // First determine the parameter is invalid.
> - //
> - if ((Control & (~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY |
> - EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) != 0) {
> - return RETURN_UNSUPPORTED;
> - }
> -
> - SerialRegisterBase = MINI_UART_REGISTER_BASE;
> -
> - //
> - // Read the Modem Control Register.
> - //
> - Mcr = SerialPortReadRegister (SerialRegisterBase, R_UART_MCR);
> - Mcr &= (~(B_UART_MCR_DTRC | B_UART_MCR_RTS));
> -
> - if ((Control & EFI_SERIAL_DATA_TERMINAL_READY) == EFI_SERIAL_DATA_TERMINAL_READY) {
> - Mcr |= B_UART_MCR_DTRC;
> - }
> -
> - if ((Control & EFI_SERIAL_REQUEST_TO_SEND) == EFI_SERIAL_REQUEST_TO_SEND) {
> - Mcr |= B_UART_MCR_RTS;
> - }
> -
> - //
> - // Write the Modem Control Register.
> - //
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, Mcr);
> -
> - return RETURN_SUCCESS;
> - }
> -}
> -
> -/**
> - Retrieve the status of the control bits on a serial device.
> -
> - @param Control A pointer to return the current control signals from the serial device.
> -
> - @retval RETURN_SUCCESS The control bits were read from the serial device.
> - @retval RETURN_UNSUPPORTED The serial device does not support this operation.
> - @retval RETURN_DEVICE_ERROR The serial device is not functioning correctly.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortGetControl (
> - OUT UINT32 *Control
> - )
> -{
> - UINTN SerialRegisterBase;
> - UINT8 Msr;
> - UINT8 Mcr;
> - UINT8 Lsr;
> -
> - if (UsePl011Uart) {
> - return PL011UartGetControl (PL011_UART_REGISTER_BASE, Control);
> - } else {
> - SerialRegisterBase = MINI_UART_REGISTER_BASE;
> -
> - *Control = 0;
> -
> - //
> - // Read the Modem Status Register.
> - //
> - Msr = SerialPortReadRegister (SerialRegisterBase, R_UART_MSR);
> -
> - if ((Msr & B_UART_MSR_CTS) == B_UART_MSR_CTS) {
> - *Control |= EFI_SERIAL_CLEAR_TO_SEND;
> - }
> -
> - if ((Msr & B_UART_MSR_DSR) == B_UART_MSR_DSR) {
> - *Control |= EFI_SERIAL_DATA_SET_READY;
> - }
> -
> - if ((Msr & B_UART_MSR_RI) == B_UART_MSR_RI) {
> - *Control |= EFI_SERIAL_RING_INDICATE;
> - }
> -
> - if ((Msr & B_UART_MSR_DCD) == B_UART_MSR_DCD) {
> - *Control |= EFI_SERIAL_CARRIER_DETECT;
> - }
> -
> - //
> - // Read the Modem Control Register.
> - //
> - Mcr = SerialPortReadRegister (SerialRegisterBase, R_UART_MCR);
> -
> - if ((Mcr & B_UART_MCR_DTRC) == B_UART_MCR_DTRC) {
> - *Control |= EFI_SERIAL_DATA_TERMINAL_READY;
> - }
> -
> - if ((Mcr & B_UART_MCR_RTS) == B_UART_MCR_RTS) {
> - *Control |= EFI_SERIAL_REQUEST_TO_SEND;
> - }
> -
> - if (PcdGetBool (PcdSerialUseHardwareFlowControl)) {
> - *Control |= EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE;
> - }
> -
> - //
> - // Read the Line Status Register.
> - //
> - Lsr = SerialPortReadRegister (SerialRegisterBase, R_UART_LSR);
> -
> - if ((Lsr & (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)) == (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)) {
> - *Control |= EFI_SERIAL_OUTPUT_BUFFER_EMPTY;
> - }
> -
> - if ((Lsr & B_UART_LSR_RXRDY) == 0) {
> - *Control |= EFI_SERIAL_INPUT_BUFFER_EMPTY;
> - }
> -
> - return RETURN_SUCCESS;
> - }
> -}
> -
> -/**
> - Sets the baud rate, receive FIFO depth, transmit/receice time out, parity,
> - data bits, and stop bits on a serial device.
> -
> - @param BaudRate The requested baud rate. A BaudRate value of 0 will use the
> - device's default interface speed.
> - On output, the value actually set.
> - @param ReveiveFifoDepth The requested depth of the FIFO on the receive side of the
> - serial interface. A ReceiveFifoDepth value of 0 will use
> - the device's default FIFO depth.
> - On output, the value actually set.
> - @param Timeout The requested time out for a single character in microseconds.
> - This timeout applies to both the transmit and receive side of the
> - interface. A Timeout value of 0 will use the device's default time
> - out value.
> - On output, the value actually set.
> - @param Parity The type of parity to use on this serial device. A Parity value of
> - DefaultParity will use the device's default parity value.
> - On output, the value actually set.
> - @param DataBits The number of data bits to use on the serial device. A DataBits
> - vaule of 0 will use the device's default data bit setting.
> - On output, the value actually set.
> - @param StopBits The number of stop bits to use on this serial device. A StopBits
> - value of DefaultStopBits will use the device's default number of
> - stop bits.
> - On output, the value actually set.
> -
> - @retval RETURN_SUCCESS The new attributes were set on the serial device.
> - @retval RETURN_UNSUPPORTED The serial device does not support this operation.
> - @retval RETURN_INVALID_PARAMETER One or more of the attributes has an unsupported value.
> - @retval RETURN_DEVICE_ERROR The serial device is not functioning correctly.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortSetAttributes (
> - IN OUT UINT64 *BaudRate,
> - IN OUT UINT32 *ReceiveFifoDepth,
> - IN OUT UINT32 *Timeout,
> - IN OUT EFI_PARITY_TYPE *Parity,
> - IN OUT UINT8 *DataBits,
> - IN OUT EFI_STOP_BITS_TYPE *StopBits
> - )
> -{
> - UINTN SerialRegisterBase;
> - UINT32 SerialBaudRate;
> - UINTN Divisor;
> - UINT8 Lcr;
> - UINT8 LcrData;
> - UINT8 LcrParity;
> - UINT8 LcrStop;
> -
> - if (UsePl011Uart) {
> - return PL011UartInitializePort (
> - PL011_UART_REGISTER_BASE,
> - PL011UartClockGetFreq(),
> - BaudRate,
> - ReceiveFifoDepth,
> - Parity,
> - DataBits,
> - StopBits
> - );
> - } else {
> - SerialRegisterBase = MINI_UART_REGISTER_BASE;
> -
> - //
> - // Check for default settings and fill in actual values.
> - //
> - if (*BaudRate == 0) {
> - *BaudRate = PcdGet32 (PcdSerialBaudRate);
> - }
> - SerialBaudRate = (UINT32) *BaudRate;
> -
> - if (*DataBits == 0) {
> - LcrData = (UINT8) (PcdGet8 (PcdSerialLineControl) & 0x3);
> - *DataBits = LcrData + 5;
> - } else {
> - if ((*DataBits < 5) || (*DataBits > 8)) {
> - return RETURN_INVALID_PARAMETER;
> - }
> - //
> - // Map 5..8 to 0..3
> - //
> - LcrData = (UINT8) (*DataBits - (UINT8) 5);
> - }
> -
> - if (*Parity == DefaultParity) {
> - LcrParity = (UINT8) ((PcdGet8 (PcdSerialLineControl) >> 3) & 0x7);
> - switch (LcrParity) {
> - case 0:
> - *Parity = NoParity;
> - break;
> -
> - case 3:
> - *Parity = EvenParity;
> - break;
> -
> - case 1:
> - *Parity = OddParity;
> - break;
> -
> - case 7:
> - *Parity = SpaceParity;
> - break;
> -
> - case 5:
> - *Parity = MarkParity;
> - break;
> -
> - default:
> - break;
> - }
> - } else {
> - switch (*Parity) {
> - case NoParity:
> - LcrParity = 0;
> - break;
> -
> - case EvenParity:
> - LcrParity = 3;
> - break;
> -
> - case OddParity:
> - LcrParity = 1;
> - break;
> -
> - case SpaceParity:
> - LcrParity = 7;
> - break;
> -
> - case MarkParity:
> - LcrParity = 5;
> - break;
> -
> - default:
> - return RETURN_INVALID_PARAMETER;
> - }
> - }
> -
> - if (*StopBits == DefaultStopBits) {
> - LcrStop = (UINT8) ((PcdGet8 (PcdSerialLineControl) >> 2) & 0x1);
> - switch (LcrStop) {
> - case 0:
> - *StopBits = OneStopBit;
> - break;
> -
> - case 1:
> - if (*DataBits == 5) {
> - *StopBits = OneFiveStopBits;
> - } else {
> - *StopBits = TwoStopBits;
> - }
> - break;
> -
> - default:
> - break;
> - }
> - } else {
> - switch (*StopBits) {
> - case OneStopBit:
> - LcrStop = 0;
> - break;
> -
> - case OneFiveStopBits:
> - case TwoStopBits:
> - LcrStop = 1;
> - break;
> -
> - default:
> - return RETURN_INVALID_PARAMETER;
> - }
> - }
> -
> - //
> - // Configure baud rate
> - //
> - Divisor = SerialPortGetDivisor (SerialBaudRate);
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, B_UART_LCR_DLAB);
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_HIGH, (UINT8) (Divisor >> 8));
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_BAUD_LOW, (UINT8) (Divisor & 0xff));
> -
> - //
> - // Clear DLAB and configure Data Bits, Parity, and Stop Bits.
> - // Strip reserved bits from line control value
> - //
> - Lcr = (UINT8) ((LcrParity << 3) | (LcrStop << 2) | LcrData);
> - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8) (Lcr & 0x3F));
> -
> - return RETURN_SUCCESS;
> - }
> -}
> diff --git a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej b/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej
> deleted file mode 100644
> index fd8a1b2f20..0000000000
> --- a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.rej
> +++ /dev/null
> @@ -1,31 +0,0 @@
> ---- Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c
> -+++ Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c
> -@@ -34,25 +34,16 @@ SerialPortGetDivisor (
> - UINT32 SerialBaudRate
> - )
> - {
> -- UINT64 BaseClockRate;
> -+ UINT32 BaseClockRate;
> - UINT32 Divisor;
> -
> -- //
> -- // On the Raspberry Pi, the clock to use for the 16650-compatible UART
> -- // is the base clock divided by the 12.12 fixed point VPU clock divisor.
> -- //
> -- BaseClockRate = (UINT64)PcdGet32 (PcdSerialClockRate);
> --#if (RPI_MODEL == 4)
> -- Divisor = MmioRead32(BCM2836_CM_BASE + BCM2836_CM_VPU_CLOCK_DIVISOR) & 0xFFFFFF;
> -- if (Divisor != 0)
> -- BaseClockRate = (BaseClockRate << 12) / Divisor;
> --#endif
> -+ BaseClockRate = PcdGet32 (PcdSerialClockRate);
> -
> - //
> - // As per the BCM2xxx datasheets:
> - // baudrate = system_clock_freq / (8 * (divisor + 1)).
> - //
> -- Divisor = (UINT32)BaseClockRate / (SerialBaudRate * 8);
> -+ Divisor = BaseClockRate / (SerialBaudRate * 8);
> - if (Divisor != 0) {
> - Divisor--;
> - }
> diff --git a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig
> deleted file mode 100644
> index 58351e4fb8..0000000000
> --- a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.orig
> +++ /dev/null
> @@ -1,180 +0,0 @@
> -/** @file
> - *
> - * Copyright (c) 2020, Andrei Warkentin <andrey.warkentin@gmail.com>
> - * Copyright (c) 2019-2020, Pete Batard <pete@akeo.ie>
> - * Copyright (c) 2016, Linaro Limited. All rights reserved.
> - * Copyright (c) 2011-2020, ARM Limited. All rights reserved.
> - *
> - * SPDX-License-Identifier: BSD-2-Clause-Patent
> - *
> - **/
> -
> -#include <AsmMacroIoLibV8.h>
> -#include <Library/ArmLib.h>
> -#include <IndustryStandard/Bcm2836.h>
> -#include <IndustryStandard/RpiMbox.h>
> -
> - .macro drain
> - mov x5, #RPI_MBOX_MAX_TRIES
> -0: ldr w6, [x4, #BCM2836_MBOX_STATUS_OFFSET]
> - tbnz w6, #BCM2836_MBOX_STATUS_EMPTY, 1f
> - dmb ld
> - ldr wzr, [x4, #BCM2836_MBOX_READ_OFFSET]
> - subs x5, x5, #1
> - b.ne 0b
> -1:
> - .endm
> -
> - .macro poll, status
> - mov x5, #RPI_MBOX_MAX_TRIES
> -0: ldr w6, [x4, #BCM2836_MBOX_STATUS_OFFSET]
> - tbz w6, #\status, 1f
> - dmb ld
> - subs x5, x5, #1
> - b.ne 0b
> -1:
> - .endm
> -
> - .macro run, command_buffer
> - adr x0, \command_buffer
> - orr x0, x0, #RPI_MBOX_VC_CHANNEL
> - add x0, x0, x1
> -
> - poll BCM2836_MBOX_STATUS_FULL
> - str w0, [x4, #BCM2836_MBOX_WRITE_OFFSET]
> - dmb sy
> - poll BCM2836_MBOX_STATUS_EMPTY
> - dmb sy
> - ldr wzr, [x4, #BCM2836_MBOX_READ_OFFSET]
> - dmb ld
> - .endm
> -
> -ASM_FUNC (ArmPlatformPeiBootAction)
> - mov x1, #FixedPcdGet64 (PcdDmaDeviceOffset)
> - orr x0, x0, #RPI_MBOX_VC_CHANNEL
> - // x1 holds the value of PcdDmaDeviceOffset throughout this function
> -
> - MOV32 (x4, BCM2836_MBOX_BASE_ADDRESS)
> -
> - drain
> -
> - run .Lmeminfo_buffer
> -
> - ldr w0, .Lmembase
> - adr x2, mSystemMemoryBase
> - str x0, [x2]
> -
> - ldr w0, .Lmemsize
> - sub x0, x0, #1
> - adr x2, mSystemMemoryEnd
> - str x0, [x2]
> -
> - run .Lvcinfo_buffer
> -
> - ldr w0, .Lvcbase
> - adr x2, mVideoCoreBase
> - str x0, [x2]
> -
> - ldr w0, .Lvcsize
> - adr x2, mVideoCoreSize
> - str x0, [x2]
> -
> - run .Lrevinfo_buffer
> -
> - ldr w0, .Lrevision
> - adr x2, mBoardRevision
> - str w0, [x2]
> -
> -#if (RPI_MODEL == 3)
> - run .Lclkinfo_buffer
> -
> - ldr w0, .Lfrequency
> - adr x2, _gPcd_BinaryPatch_PcdSerialClockRate
> - str w0, [x2]
> -#endif
> -
> - ret
> -
> - .align 4
> -.Lmeminfo_buffer:
> - .long .Lmeminfo_size
> - .long 0x0
> - .long RPI_MBOX_GET_ARM_MEMSIZE
> - .long 8 // buf size
> - .long 0 // input len
> -.Lmembase:
> - .long 0 // mem base
> -.Lmemsize:
> - .long 0 // mem size
> - .long 0 // end tag
> - .set .Lmeminfo_size, . - .Lmeminfo_buffer
> -
> - .align 4
> -.Lvcinfo_buffer:
> - .long .Lvcinfo_size
> - .long 0x0
> - .long RPI_MBOX_GET_VC_MEMSIZE
> - .long 8 // buf size
> - .long 0 // input len
> -.Lvcbase:
> - .long 0 // videocore base
> -.Lvcsize:
> - .long 0 // videocore size
> - .long 0 // end tag
> - .set .Lvcinfo_size, . - .Lvcinfo_buffer
> -
> - .align 4
> -.Lrevinfo_buffer:
> - .long .Lrevinfo_size
> - .long 0x0
> - .long RPI_MBOX_GET_BOARD_REVISION
> - .long 4 // buf size
> - .long 0 // input len
> -.Lrevision:
> - .long 0 // revision
> - .long 0 // end tag
> - .set .Lrevinfo_size, . - .Lrevinfo_buffer
> -
> -#if (RPI_MODEL == 3)
> - .align 4
> -.Lclkinfo_buffer:
> - .long .Lclkinfo_size
> - .long 0x0
> - .long RPI_MBOX_GET_CLOCK_RATE
> - .long 8 // buf size
> - .long 4 // input len
> - .long 4 // clock id: 0x04 = Core/VPU
> -.Lfrequency:
> - .long 0 // frequency
> - .long 0 // end tag
> - .set .Lclkinfo_size, . - .Lclkinfo_buffer
> -#endif
> -
> -//UINTN
> -//ArmPlatformGetPrimaryCoreMpId (
> -// VOID
> -// );
> -ASM_FUNC (ArmPlatformGetPrimaryCoreMpId)
> - MOV32 (w0, FixedPcdGet32 (PcdArmPrimaryCore))
> - ret
> -
> -//UINTN
> -//ArmPlatformIsPrimaryCore (
> -// IN UINTN MpId
> -// );
> -ASM_FUNC (ArmPlatformIsPrimaryCore)
> - mov x0, #1
> - ret
> -
> -//UINTN
> -//ArmPlatformGetCorePosition (
> -// IN UINTN MpId
> -// );
> -// With this function: CorePos = (ClusterId * 4) + CoreId
> -ASM_FUNC (ArmPlatformGetCorePosition)
> - and x1, x0, #ARM_CORE_MASK
> - and x0, x0, #ARM_CLUSTER_MASK
> - add x0, x1, x0, LSR #6
> - ret
> -
> -ASM_FUNCTION_REMOVE_IF_UNREFERENCED
> diff --git a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej
> deleted file mode 100644
> index e42851fafe..0000000000
> --- a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S.rej
> +++ /dev/null
> @@ -1,32 +0,0 @@
> ---- Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
> -+++ Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHelper.S
> -@@ -85,13 +85,11 @@ ASM_FUNC (ArmPlatformPeiBootAction)
> - adr x2, mBoardRevision
> - str w0, [x2]
> -
> --#if (RPI_MODEL == 3)
> - run .Lclkinfo_buffer
> -
> - ldr w0, .Lfrequency
> - adr x2, _gPcd_BinaryPatch_PcdSerialClockRate
> - str w0, [x2]
> --#endif
> -
> - ret
> -
> -@@ -135,7 +133,6 @@ ASM_FUNC (ArmPlatformPeiBootAction)
> - .long 0 // end tag
> - .set .Lrevinfo_size, . - .Lrevinfo_buffer
> -
> --#if (RPI_MODEL == 3)
> - .align 4
> - .Lclkinfo_buffer:
> - .long .Lclkinfo_size
> -@@ -148,7 +145,6 @@ ASM_FUNC (ArmPlatformPeiBootAction)
> - .long 0 // frequency
> - .long 0 // end tag
> - .set .Lclkinfo_size, . - .Lclkinfo_buffer
> --#endif
> -
> - //UINTN
> - //ArmPlatformGetPrimaryCoreMpId (
> diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc.orig b/Platform/RaspberryPi/RPi4/RPi4.dsc.orig
> deleted file mode 100644
> index 2c05c31118..0000000000
> --- a/Platform/RaspberryPi/RPi4/RPi4.dsc.orig
> +++ /dev/null
> @@ -1,760 +0,0 @@
> -# @file
> -#
> -# Copyright (c) 2011 - 2020, ARM Limited. All rights reserved.
> -# Copyright (c) 2017 - 2018, Andrei Warkentin <andrey.warkentin@gmail.com>
> -# Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.
> -# Copyright (c) 2014, Linaro Limited. All rights reserved.
> -#
> -# SPDX-License-Identifier: BSD-2-Clause-Patent
> -#
> -##
> -
> -################################################################################
> -#
> -# Defines Section - statements that will be processed to create a Makefile.
> -#
> -################################################################################
> -[Defines]
> - PLATFORM_NAME = RPi4
> - PLATFORM_GUID = a7eca3b4-21b0-4989-8c18-c08f3ae87837
> - PLATFORM_VERSION = 1.0
> - DSC_SPECIFICATION = 0x0001001A
> - OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
> - SUPPORTED_ARCHITECTURES = AARCH64
> - BUILD_TARGETS = DEBUG|RELEASE|NOOPT
> - SKUID_IDENTIFIER = DEFAULT
> - FLASH_DEFINITION = Platform/RaspberryPi/$(PLATFORM_NAME)/$(PLATFORM_NAME).fdf
> -
> - #
> - # Defines for default states. These can be changed on the command line.
> - # -D FLAG=VALUE
> - #
> - DEFINE SECURE_BOOT_ENABLE = FALSE
> - DEFINE INCLUDE_TFTP_COMMAND = FALSE
> - DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
> -
> -!ifndef TFA_BUILD_ARTIFACTS
> - #
> - # Default TF-A binary checked into edk2-non-osi.
> - #
> - DEFINE TFA_BUILD_BL31 = Platform/RaspberryPi/$(PLATFORM_NAME)/TrustedFirmware/bl31.bin
> -!else
> - #
> - # Usually we use the checked-in binaries, but for developers working
> - # on the firmware, being able to use a local TF-A build without extra copy
> - # operations ends up being very helpful.
> - #
> - DEFINE TFA_BUILD_BL31 = $(TFA_BUILD_ARTIFACTS)/bl31.bin
> -!endif
> -
> -################################################################################
> -#
> -# Library Class section - list of all Library Classes needed by this Platform.
> -#
> -################################################################################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
> -[LibraryClasses.common]
> -!if $(TARGET) == RELEASE
> - DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -!else
> - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
> -!endif
> - DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> -
> - BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> - SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
> - BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
> - SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
> - PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
> - ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
> - PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> - PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
> - PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
> - IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
> - CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
> -
> - UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> - HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> - UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
> - DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> - UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
> - DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
> - DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> - UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
> - UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
> - HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> - UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
> - SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
> -
> - UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> - OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
> -
> - #
> - # Ramdisk Requirements
> - #
> - FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
> -
> - # Allow dynamic PCDs
> - #
> - PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> -
> - # use the accelerated BaseMemoryLibOptDxe by default, overrides for SEC/PEI below
> - BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
> -
> - #
> - # It is not possible to prevent the ARM compiler from inserting calls to intrinsic functions.
> - # This library provides the instrinsic functions such a compiler may generate calls to.
> - #
> - NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> -
> - # Add support for GCC stack protector
> - NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> -
> - # ARM Architectural Libraries
> - CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
> - DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
> - CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
> - ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
> - ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
> - ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
> - DmaLib|EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.inf
> - TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
> - ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
> - ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
> - ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
> - ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
> -
> - # Dual serial port library
> - PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf
> - PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
> - SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DebugDualSerialPortLib.inf
> -
> - # Cryptographic libraries
> - RngLib|MdePkg/Library/DxeRngLib/DxeRngLib.inf
> - IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
> - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> - OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
> - TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
> -
> - #
> - # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
> - # in the debugger will show load and unload commands for symbols. You can cut and paste this
> - # into the command window to load symbols. We should be able to use a script to do this, but
> - # the version of RVD I have does not support scripts accessing system memory.
> - #
> - #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
> - PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
> - #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
> -
> - DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
> - DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
> -
> - # Flattened Device Tree (FDT) access library
> - FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
> -
> - # USB Libraries
> - UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
> -
> - #
> - # Secure Boot dependencies
> - #
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> - TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
> - AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
> -
> - # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
> - PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
> -!else
> - TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
> - AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
> -!endif
> - VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
> - VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
> - VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
> - GpioLib|Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf
> -
> - #
> - # PCI dependencies
> - #
> - # PCI root port configuation and description
> - PciHostBridgeLib|Silicon/Broadcom/Bcm27xx/Library/Bcm2711PciHostBridgeLib/Bcm2711PciHostBridgeLib.inf
> - # The "segment lib" provides the CAM accessors/etc when they aren't ECAM standard
> - PciSegmentLib|Silicon/Broadcom/Bcm27xx/Library/Bcm2711PciSegmentLib/PciSegmentLib.inf
> -
> -[LibraryClasses.common.SEC]
> - PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> - BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> - MemoryInitPeiLib|Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryInitPeiLib.inf
> - PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
> - ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
> - LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
> - PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
> - HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
> - PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
> - MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
> -
> -[LibraryClasses.common.DXE_CORE]
> - HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
> - MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
> - DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
> - ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
> - PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
> -
> -[LibraryClasses.common.DXE_DRIVER]
> - SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
> - PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
> - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -!if $(INCLUDE_TFTP_COMMAND) == TRUE
> - ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
> - FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
> -!endif
> -
> -[LibraryClasses.common.UEFI_APPLICATION]
> - PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
> - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> - HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> - ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
> - FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER]
> - ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
> - PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
> - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -
> -[LibraryClasses.common.DXE_RUNTIME_DRIVER]
> - # Runtime debug messages may crash an OS unless serial output to MMIO mapped UARTs is inhibited
> - DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
> - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> - CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
> - EfiResetSystemLib|Platform/RaspberryPi/Library/ResetLib/ResetLib.inf
> - ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
> - VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
> -
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> - BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> -!endif
> -
> -###################################################################################################
> -# BuildOptions Section - Define the module specific tool chain flags that should be used as
> -# the default flags for a module. These flags are appended to any
> -# standard flags that are defined by the build process.
> -###################################################################################################
> -
> -[BuildOptions]
> - GCC:*_*_*_CC_FLAGS = -DRPI_MODEL=4
> - GCC:*_*_*_PP_FLAGS = -DRPI_MODEL=4
> - GCC:*_*_*_ASLPP_FLAGS = -DRPI_MODEL=4
> - GCC:*_*_*_ASLCC_FLAGS = -DRPI_MODEL=4
> - GCC:*_*_*_VFRPP_FLAGS = -DRPI_MODEL=4
> - GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG -DNDEBUG
> -
> -[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> - GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
> -
> -################################################################################
> -#
> -# Pcd Section - list of all EDK II PCD Entries defined by this Platform
> -#
> -################################################################################
> -
> -[PcdsFeatureFlag.common]
> - # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
> - gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
> -
> - gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
> - gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
> -
> - ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
> - # It could be set FALSE to save size.
> - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
> - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
> - gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport|FALSE
> -
> -[PcdsFixedAtBuild.common]
> - gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
> - gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
> - gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
> - gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
> - gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
> - gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
> - gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
> - gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
> -
> - # DEBUG_ASSERT_ENABLED 0x01
> - # DEBUG_PRINT_ENABLED 0x02
> - # DEBUG_CODE_ENABLED 0x04
> - # CLEAR_MEMORY_ENABLED 0x08
> - # ASSERT_BREAKPOINT_ENABLED 0x10
> - # ASSERT_DEADLOOP_ENABLED 0x20
> -!if $(TARGET) == RELEASE
> - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
> -!else
> - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
> -!endif
> -
> - # DEBUG_INIT 0x00000001 // Initialization
> - # DEBUG_WARN 0x00000002 // Warnings
> - # DEBUG_LOAD 0x00000004 // Load events
> - # DEBUG_FS 0x00000008 // EFI File system
> - # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
> - # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
> - # DEBUG_INFO 0x00000040 // Informational debug messages
> - # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
> - # DEBUG_VARIABLE 0x00000100 // Variable
> - # DEBUG_BM 0x00000400 // Boot Manager
> - # DEBUG_BLKIO 0x00001000 // BlkIo Driver
> - # DEBUG_NET 0x00004000 // SNP Driver
> - # DEBUG_UNDI 0x00010000 // UNDI Driver
> - # DEBUG_LOADFILE 0x00020000 // LoadFile
> - # DEBUG_EVENT 0x00080000 // Event messages
> - # DEBUG_GCD 0x00100000 // Global Coherency Database changes
> - # DEBUG_CACHE 0x00200000 // Memory range cachability changes
> - # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
> - # // significantly impact boot performance
> - # DEBUG_ERROR 0x80000000 // Error
> - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
> -
> - gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
> -
> - #
> - # Optional feature to help prevent EFI memory map fragments
> - # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
> - # Values are in EFI Pages (4K). DXE Core will make sure that
> - # at least this much of each type of memory can be allocated
> - # from a single memory range. This way you only end up with
> - # maximum of two fragments for each type in the memory map
> - # (the memory used, and the free memory that was prereserved
> - # but not used).
> - #
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
> -!else
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
> -!endif
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|12000
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
> - gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
> -
> - gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0xc0000000
> - gEmbeddedTokenSpaceGuid.PcdDmaDeviceLimit|0xffffffff
> -
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"EDK2-DEV"
> -
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> - # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
> - gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
> - gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
> - gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
> -!endif
> -
> - gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> -
> - # Default platform supported RFC 4646 languages: (American) English
> - gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes|"en-US"
> -
> -[LibraryClasses.common]
> - ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> - ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
> - ArmPlatformLib|Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf
> - TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
> - CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
> - UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
> - BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> - PlatformBootManagerLib|Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> - CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
> - FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
> - AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER]
> - UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
> -
> -################################################################################
> -#
> -# Pcd Section - list of all EDK II PCD Entries defined by this Platform
> -#
> -################################################################################
> -
> -[PcdsFeatureFlag.common]
> - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
> - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
> - gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
> -
> -[PcdsFixedAtBuild.common]
> - gArmPlatformTokenSpaceGuid.PcdCoreCount|4
> - gArmTokenSpaceGuid.PcdVFPEnabled|1
> -
> - gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
> - gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
> - gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
> -
> - # Size of the region used by UEFI in permanent memory (Reserved 64MB)
> - gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
> - #
> - # 0x00000000 - 0x001F0000 FD (PcdFdBaseAddress, PcdFdSize)
> - # 0x001F0000 - 0x00200000 DTB (PcdFdtBaseAddress, PcdFdtSize)
> - # 0x00200000 - ... RAM (PcdSystemMemoryBase, PcdSystemMemorySize)
> - #
> - # This matches PcdFvBaseAddress, since everything less is the FD, and
> - # will be reserved away.
> - #
> - gArmTokenSpaceGuid.PcdSystemMemoryBase|0x00200000
> - gArmTokenSpaceGuid.PcdSystemMemorySize|0x3fe00000
> -
> - #
> - # Device specific addresses
> - #
> - gBcm27xxTokenSpaceGuid.PcdBcm27xxRegistersAddress|0xfc000000
> - gBcm27xxTokenSpaceGuid.PcdBcmGenetRegistersAddress|0xfd580000
> - gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress|0xfe000000
> -
> - # PCIe specific addresses
> - gBcm27xxTokenSpaceGuid.PcdBcm27xxPciRegBase|0xfd500000
> - gBcm27xxTokenSpaceGuid.PcdBcm27xxPciBusMmioAdr|0xf8000000
> - gBcm27xxTokenSpaceGuid.PcdBcm27xxPciBusMmioLen|0x3ffffff
> - gBcm27xxTokenSpaceGuid.PcdBcm27xxPciCpuMmioAdr|0x600000000
> -
> - # UARTs
> - gArmPlatformTokenSpaceGuid.PL011UartInteger|0
> - gArmPlatformTokenSpaceGuid.PL011UartFractional|0
> - gArmPlatformTokenSpaceGuid.PL011UartClkInHz|48000000
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1000000000
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x27
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|8
> - gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
> - gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0
> -
> - #
> - # ARM General Interrupt Controller
> - #
> - gArmTokenSpaceGuid.PcdGicDistributorBase|0xFF841000
> - gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xFF842000
> - gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceHBase|0xFF844000
> - gRaspberryPiTokenSpaceGuid.PcdGicInterruptInterfaceVBase|0xFF846000
> - gRaspberryPiTokenSpaceGuid.PcdGicGsivId|0x19
> - gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq0|0x30
> - gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq1|0x31
> - gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq2|0x32
> - gRaspberryPiTokenSpaceGuid.PcdGicPmuIrq3|0x33
> -
> - #
> - # Fixed CPU settings.
> - #
> - gRaspberryPiTokenSpaceGuid.PcdCpuLowSpeedMHz|800
> - gRaspberryPiTokenSpaceGuid.PcdCpuDefSpeedMHz|1500
> - gRaspberryPiTokenSpaceGuid.PcdCpuMaxSpeedMHz|2200
> -
> - ## Default Terminal Type
> - ## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM
> - gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
> -
> - gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
> - gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
> -
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK2"
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
> -
> -[PcdsDynamicHii.common.DEFAULT]
> -
> - #
> - # Clock overrides.
> - #
> -
> - gRaspberryPiTokenSpaceGuid.PcdCpuClock|L"CpuClock"|gConfigDxeFormSetGuid|0x0|1
> - gRaspberryPiTokenSpaceGuid.PcdCustomCpuClock|L"CustomCpuClock"|gConfigDxeFormSetGuid|0x0|gRaspberryPiTokenSpaceGuid.PcdCpuDefSpeedMHz
> -
> - #
> - # SD-related.
> - #
> -
> - gRaspberryPiTokenSpaceGuid.PcdSdIsArasan|L"SdIsArasan"|gConfigDxeFormSetGuid|0x0|0
> - gRaspberryPiTokenSpaceGuid.PcdMmcForce1Bit|L"MmcForce1Bit"|gConfigDxeFormSetGuid|0x0|0
> - gRaspberryPiTokenSpaceGuid.PcdMmcForceDefaultSpeed|L"MmcForceDefaultSpeed"|gConfigDxeFormSetGuid|0x0|0
> - gRaspberryPiTokenSpaceGuid.PcdMmcSdDefaultSpeedMHz|L"MmcSdDefaultSpeedMHz"|gConfigDxeFormSetGuid|0x0|25
> - gRaspberryPiTokenSpaceGuid.PcdMmcSdHighSpeedMHz|L"MmcSdHighSpeedMHz"|gConfigDxeFormSetGuid|0x0|50
> - gRaspberryPiTokenSpaceGuid.PcdMmcDisableMulti|L"MmcDisableMulti"|gConfigDxeFormSetGuid|0x0|0
> - gRaspberryPiTokenSpaceGuid.PcdMmcEnableDma|L"MmcEnableDma"|gConfigDxeFormSetGuid|0x0|0
> -
> - #
> - # Debug-related.
> - #
> -
> - gRaspberryPiTokenSpaceGuid.PcdDebugEnableJTAG|L"DebugEnableJTAG"|gConfigDxeFormSetGuid|0x0|0
> -
> - #
> - # Display-related.
> - #
> -
> - #
> - # Just enable native resolution by default.
> - #
> - gRaspberryPiTokenSpaceGuid.PcdDisplayEnableScaledVModes|L"DisplayEnableScaledVModes"|gConfigDxeFormSetGuid|0x0|0x20
> - gRaspberryPiTokenSpaceGuid.PcdDisplayEnableSShot|L"DisplayEnableSShot"|gConfigDxeFormSetGuid|0x0|1
> -
> - #
> - # Supporting > 3GB of memory.
> - #
> - gRaspberryPiTokenSpaceGuid.PcdRamMoreThan3GB|L"RamMoreThan3GB"|gConfigDxeFormSetGuid|0x0|0
> - gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|L"RamLimitTo3GB"|gConfigDxeFormSetGuid|0x0|1
> -
> - #
> - # Device Tree and ACPI selection.
> - #
> - # 0 - SYSTEM_TABLE_MODE_ACPI (default)
> - # 1 - SYSTEM_TABLE_MODE_BOTH
> - # 2 - SYSTEM_TABLE_MODE_DT
> - #
> - gRaspberryPiTokenSpaceGuid.PcdSystemTableMode|L"SystemTableMode"|gConfigDxeFormSetGuid|0x0|0
> -
> - #
> - # Enable a fan in the ACPI thermal zone on GPIO pin #
> - #
> - # 0 - DISABLED
> - # 19 - Enabled on pin 19
> - #
> - gRaspberryPiTokenSpaceGuid.PcdFanOnGpio|L"FanOnGpio"|gConfigDxeFormSetGuid|0x0|0
> - gRaspberryPiTokenSpaceGuid.PcdFanTemp|L"FanTemp"|gConfigDxeFormSetGuid|0x0|60
> -
> - #
> - # Reset-related.
> - #
> -
> - gRaspberryPiTokenSpaceGuid.PcdPlatformResetDelay|L"ResetDelay"|gRaspberryPiTokenSpaceGuid|0x0|0
> -
> - #
> - # Common UEFI ones.
> - #
> -
> - gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
> - #
> - # This is silly, but by pointing SetupConXXX and ConXXX PCDs to
> - # the same variables, I can use the graphical configuration to
> - # change the mode used by ConSplitter.
> - #
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn|L"Columns"|gRaspberryPiTokenSpaceGuid|0x0|80
> - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|L"Columns"|gRaspberryPiTokenSpaceGuid|0x0|80
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|L"Rows"|gRaspberryPiTokenSpaceGuid|0x0|25
> - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|L"Rows"|gRaspberryPiTokenSpaceGuid|0x0|25
> -
> -[PcdsDynamicDefault.common]
> - #
> - # Set video resolution for boot options and for text setup.
> - #
> - gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0
> - gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
> -
> -################################################################################
> -#
> -# Components Section - list of all EDK II Modules needed by this Platform
> -#
> -################################################################################
> -[Components.common]
> - #
> - # PEI Phase modules
> - #
> - ArmPlatformPkg/PrePi/PeiUniCore.inf {
> - <LibraryClasses>
> - SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.inf
> - }
> -
> - #
> - # DXE
> - #
> - MdeModulePkg/Core/Dxe/DxeMain.inf {
> - <LibraryClasses>
> - NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
> - }
> - MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
> - <LibraryClasses>
> - PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> - }
> -
> - #
> - # Architectural Protocols
> - #
> - ArmPkg/Drivers/CpuDxe/CpuDxe.inf
> - MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
> - Platform/RaspberryPi/Drivers/VarBlockServiceDxe/VarBlockServiceDxe.inf
> - MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
> - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
> - <LibraryClasses>
> - NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
> - DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> - }
> -!if $(SECURE_BOOT_ENABLE) == TRUE
> - MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
> - <LibraryClasses>
> - NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
> - }
> - SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
> -!else
> - MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
> -!endif
> - MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> - MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
> - EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
> - EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {
> - <LibraryClasses>
> - RealTimeClockLib|EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
> - }
> - EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
> -
> - MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
> - MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
> - MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
> - MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {
> - <LibraryClasses>
> - SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.inf
> - }
> - Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
> - EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf
> -
> - MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
> -
> - ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
> - Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf
> - Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.inf
> - Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf
> - ArmPkg/Drivers/TimerDxe/TimerDxe.inf
> - MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
> - MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
> -
> - #
> - # FAT filesystem + GPT/MBR partitioning
> - #
> - MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
> - MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> - MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
> - FatPkg/EnhancedFatDxe/Fat.inf
> -
> - #
> - # ACPI Support
> - #
> - MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
> - MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
> - Platform/RaspberryPi/AcpiTables/AcpiTables.inf
> -
> - #
> - # SMBIOS Support
> - #
> - Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
> - MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> -
> - #
> - # RAM Disk Support
> - #
> - MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
> -
> - #
> - # Bds
> - #
> - MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
> - MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
> - MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
> - MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
> - MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
> - Platform/RaspberryPi/Drivers/LogoDxe/LogoDxe.inf
> - MdeModulePkg/Application/UiApp/UiApp.inf {
> - <LibraryClasses>
> - NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
> - NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
> - NULL|Platform/RaspberryPi/Library/PlatformUiAppLib/PlatformUiAppLib.inf
> - NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
> - }
> -
> - #
> - # SCSI Bus and Disk Driver
> - #
> - MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
> - MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
> -
> - #
> - # USB Support
> - #
> - MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
> - Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf
> - MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
> - MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
> - MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> -
> - #
> - # SD/MMC support
> - #
> - # Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf
> - Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf
> - Platform/RaspberryPi/Drivers/MmcDxe/MmcDxe.inf
> -
> - #
> - # Networking stack
> - #
> -!include NetworkPkg/Network.dsc.inc
> - Silicon/Broadcom/Drivers/Net/BcmGenetDxe/BcmGenetDxe.inf {
> - <PcdsFixedAtBuild>
> - gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0x00000000
> - gEmbeddedTokenSpaceGuid.PcdDmaDeviceLimit|0xffffffff
> - }
> -
> - #
> - # RNG
> - #
> - Silicon/Broadcom/Bcm283x/Drivers/Bcm2838RngDxe/Bcm2838RngDxe.inf
> -
> - #
> - # PCI Support
> - #
> - ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
> - MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
> - MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
> - EmbeddedPkg/Drivers/NonCoherentIoMmuDxe/NonCoherentIoMmuDxe.inf {
> - <PcdsFixedAtBuild>
> - gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0x00000000
> - gEmbeddedTokenSpaceGuid.PcdDmaDeviceLimit|0xbfffffff
> - }
> -
> - #
> - # UEFI application (Shell Embedded Boot Loader)
> - #
> - ShellPkg/Application/Shell/Shell.inf {
> - <LibraryClasses>
> - ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
> - NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
> - NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
> - NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
> - NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
> - NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
> - NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
> - NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
> - NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
> - HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
> - PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> - BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
> -
> - <PcdsFixedAtBuild>
> - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
> - gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
> - gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
> - gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x200000
> - }
> -!if $(INCLUDE_TFTP_COMMAND) == TRUE
> - ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
> - <PcdsFixedAtBuild>
> - gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
> - }
> -!endif
> diff --git a/Platform/RaspberryPi/RPi4/RPi4.dsc.rej b/Platform/RaspberryPi/RPi4/RPi4.dsc.rej
> deleted file mode 100644
> index 0b40df6896..0000000000
> --- a/Platform/RaspberryPi/RPi4/RPi4.dsc.rej
> +++ /dev/null
> @@ -1,29 +0,0 @@
> ---- Platform/RaspberryPi/RPi4/RPi4.dsc
> -+++ Platform/RaspberryPi/RPi4/RPi4.dsc
> -@@ -429,7 +429,6 @@ [PcdsFixedAtBuild.common]
> - gArmPlatformTokenSpaceGuid.PL011UartClkInHz|48000000
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|4
> -- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1000000000
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|0x27
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|8
> - gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
> -@@ -465,6 +464,9 @@ [PcdsFixedAtBuild.common]
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK2"
> - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
> -
> -+[PcdsPatchableInModule]
> -+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|500000000
> -+
> - [PcdsDynamicHii.common.DEFAULT]
> -
> - #
> -@@ -621,7 +623,7 @@ [Components.common]
> - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
> - MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {
> - <LibraryClasses>
> -- SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.inf
> -+ SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortDxeLib.inf
> - }
> - Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf
> - EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-08-17 14:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-17 7:26 [edk2-platforms PATCH v2] Platform/RaspberryPi: Remove unnecessary files Grzegorz Bernacki
2021-08-17 14:03 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox