From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) by mx.groups.io with SMTP id smtpd.web09.36164.1629185178053462157 for ; Tue, 17 Aug 2021 00:26:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@semihalf-com.20150623.gappssmtp.com header.s=20150623 header.b=DjTp5Vyp; spf=none, err=SPF record not found (domain: semihalf.com, ip: 209.85.208.169, mailfrom: gjb@semihalf.com) Received: by mail-lj1-f169.google.com with SMTP id h9so31421905ljq.8 for ; Tue, 17 Aug 2021 00:26:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=v5WZGzDPQ8bLOHl17lxgfJ3Lo2AUDY1HUJGTDVR0NBY=; b=DjTp5VypVGYPME4HwgEwMhFh6OsfM5tYRyfIMB5nW9jgKe95rDTmwA5t8UsXz3sPV1 8/DNsow7fN+dm9Ls5NzhuNLbY2UIVQz3yMtxiPd9tFXOrTIW5iTpN8hkolW+sIiGGQVD f6MHrHQc8T/G8eMQtPPunLk5Ro2z9WDxaima1JYye1jv89IVxx/2YhfOcz/3MP9GpEVt eaE7c62RVMbZvF71g+J1rnNuGovLBrYtSk5CqiFPTNxrmeoNC6/63BXtkkxiR04mcdkm sAbV50E1alH8XwKdo5VbkBAek8cqIVota+lO8fuc4sS4TgB0e0bguyY2xs6SYc6m2UQa QluA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=v5WZGzDPQ8bLOHl17lxgfJ3Lo2AUDY1HUJGTDVR0NBY=; b=cNxj8uVCfb2rrNtdZw6/5/hc6daWwiYniH6AWXKns+rdz7/xXbn2wQeGD3ioaGNHTU zKlIuJLJuhkDX6MPsKlorwAbiZ6el7XgGsE39lONB5YXXMuFwVKdixQYNT/VobJWv2FJ EeS5frkz0Zzngq1CsEyFU5XvFn2i5JArbN7fbKNlYb6IG2xoY88YSXNnrvgCYEam+S05 NOwKhhO00mjrJ/Hdu08exDnB/eHsCrIC10PN2V7ZlMctMsVvXn6vCQIP49cgcp+APWmQ LoaFiYXCRVJebgX/kcDtuWxefajhNecojM/SmQfds9SnssMqCUVzvLDek+AdrHt63Wog Bg3A== X-Gm-Message-State: AOAM531M2KioA9qzjxI2IYXvhdpJ16XZ1tChA/wxV3WwUAvFe6pAtMGy xseG/RPuCb4VjziR5880WJAQNFhSMzK1/Q== X-Google-Smtp-Source: ABdhPJy15NqqaGnMUYY+8fOMwCUS29MyDRvAvy2lT2ZJiXH0fT7dpcwEll5NYkLu/VZB74IRTQPxVg== X-Received: by 2002:a2e:bc1a:: with SMTP id b26mr1955477ljf.132.1629185175488; Tue, 17 Aug 2021 00:26:15 -0700 (PDT) Return-Path: Received: from gilgamesh.lab.semihalf.net ([83.142.187.85]) by smtp.gmail.com with ESMTPSA id l14sm133974lji.106.2021.08.17.00.26.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Aug 2021 00:26:14 -0700 (PDT) From: "Grzegorz Bernacki" To: devel@edk2.groups.io Cc: leif@nuviainc.com, ardb+tianocore@kernel.org, Samer.El-Haj-Mahmoud@arm.com, sunny.Wang@arm.com, mw@semihalf.com, upstream@semihalf.com, pete@akeo.ie, Grzegorz Bernacki Subject: [edk2-platforms PATCH v2] Platform/RaspberryPi: Remove unnecessary files. Date: Tue, 17 Aug 2021 09:26:02 +0200 Message-Id: <20210817072602.3567820-1-gjb@semihalf.com> X-Mailer: git-send-email 2.29.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 --- 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