From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by mx.groups.io with SMTP id smtpd.web12.39711.1629209008160235508 for ; Tue, 17 Aug 2021 07:03:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=dZJGy1Fs; spf=pass (domain: kernel.org, ip: 198.145.29.99, mailfrom: ardb@kernel.org) Received: by mail.kernel.org (Postfix) with ESMTPSA id 3A53260E09 for ; Tue, 17 Aug 2021 14:03:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1629209007; bh=AqWlzI7Zlyroiv2YXzvHGi4ILb4SOju6XZf+VCR+BEk=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=dZJGy1FsizyxrbI0Q9J90RrQS8HD1D4HAe/UeYhcwA1Si0Uz0qJy+4UJMYe0IFkUk 3ovkKjYUCkHlrwWs26k3aQT1LKV1gdONsVuUF+2HRNoVB2bNSOIIdgTZr+pITThiXH J8YzEoQ7c6KizPxi6N5bLI5A4QkQinoIeU6extPMmMhFWngc57CUlurujXzDhpCP7m cPpFQVZNuYpR4pYEvUCtjrVfaRxzSsgT0YjaJ9N/HF2m/2Ei1TpRoCbRtpLUpsvlyz SyshbX00g53TfDRYZKoXIs3MA9m+lB9yX4MNkPhUZ6vduHC3EKrtpcYM9hArARtl/s p+Hshhsq4dANA== Received: by mail-ot1-f41.google.com with SMTP id m7-20020a9d4c87000000b0051875f56b95so8007793otf.6 for ; Tue, 17 Aug 2021 07:03:27 -0700 (PDT) X-Gm-Message-State: AOAM532/cA08E8SJa5ydovSpWFIZsCtshJy+O3aFN+nMWl3SX1YzWFyu xbJb3CbGDqZzp3zDu8o4A/U0ScrJwtL4XWp9L3k= X-Google-Smtp-Source: ABdhPJwtFEJ0nZy/PXtFBCDjD3+UWqTAKDSQUFbhZLqsjYdbFbmnyNC4TkYlvmgdgRC+fP5tNQwKo/W8E+Bq9U0PDSA= X-Received: by 2002:a9d:5c2:: with SMTP id 60mr2669789otd.77.1629209005906; Tue, 17 Aug 2021 07:03:25 -0700 (PDT) MIME-Version: 1.0 References: <20210817072602.3567820-1-gjb@semihalf.com> In-Reply-To: <20210817072602.3567820-1-gjb@semihalf.com> From: "Ard Biesheuvel" Date: Tue, 17 Aug 2021 16:03:11 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [edk2-platforms PATCH v2] Platform/RaspberryPi: Remove unnecessary files. To: Grzegorz Bernacki Cc: edk2-devel-groups-io , Leif Lindholm , Ard Biesheuvel , Samer El-Haj-Mahmoud , Sunny Wang , Marcin Wojtas , upstream@semihalf.com, Peter Batard Content-Type: text/plain; charset="UTF-8" On Tue, 17 Aug 2021 at 09:26, Grzegorz Bernacki 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 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 > - Copyright (c) 2018, AMD Incorporated. All rights reserved.
> - Copyright (c) 2014, Hewlett-Packard Development Company, L.P.
> - Copyright (c) 2012 - 2016, ARM Ltd. All rights reserved.
> - Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
> - Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
> - > - SPDX-License-Identifier: BSD-2-Clause-Patent > - > -**/ > - > -#include > -#include > -#include > -#include > -#include > -#include > - > -#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 > - * Copyright (c) 2019-2020, Pete Batard > - * 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 > -#include > -#include > -#include > - > - .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 > -# 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 { > - > - SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.inf > - } > - > - # > - # DXE > - # > - MdeModulePkg/Core/Dxe/DxeMain.inf { > - > - NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf > - } > - MdeModulePkg/Universal/PCD/Dxe/Pcd.inf { > - > - 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 { > - > - NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf > - DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf > - } > -!if $(SECURE_BOOT_ENABLE) == TRUE > - MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf { > - > - 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 { > - > - 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 { > - > - 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 { > - > - 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 { > - > - 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 { > - > - gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset|0x00000000 > - gEmbeddedTokenSpaceGuid.PcdDmaDeviceLimit|0xbfffffff > - } > - > - # > - # UEFI application (Shell Embedded Boot Loader) > - # > - ShellPkg/Application/Shell/Shell.inf { > - > - 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 > - > - > - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF > - gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE > - gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 > - gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x200000 > - } > -!if $(INCLUDE_TFTP_COMMAND) == TRUE > - ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf { > - > - 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 { > - > -- 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 >