From nobody Tue May 7 18:46:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79410+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79410+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1629185179; cv=none; d=zohomail.com; s=zohoarc; b=Cl51wEMgtyrKWnOQtb6J8w9mu4crMGXAzfYbNc9ZJ/4llm20fbwU9odVdBrGFr9h7PzX70xOhYu8kHBGX3Dlhz1hwec6P/QO0w+Xcm0DqpYaHU6u+zcgveB0pV3/VHUfMuuRaRDFrTHOalM10me+aeJHYDFfPh08AwWHFsPqO/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629185179; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=84GiBHDoshuLE9wZ/YPluQKe6ILpqmNA4TtNcitYA2w=; b=eGRX6/cCuMGnHRKwwES4UJZuUNie2jPDqpYtjcgeFwXUzrrQsO69aLoOJES7ETbqSsoQ2ntaqyX99dxbQpjMATXPjr5NPM7B3Oo9qOe/gUUx5ZMy1ysSTvLqitafTx89a8JPevUeNALTpZHxp2aRIuPPxfa01borjHVGsH0RM9A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79410+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1629185179766655.1695198310236; Tue, 17 Aug 2021 00:26:19 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id a1pzYY1788612xCzoHUWIOkh; Tue, 17 Aug 2021 00:26:19 -0700 X-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 X-Received: by mail-lj1-f169.google.com with SMTP id h9so31421905ljq.8 for ; Tue, 17 Aug 2021 00:26:17 -0700 (PDT) X-Gm-Message-State: pF4k7YuSZNv34jHJBq5CuVMXx1787277AA= 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) X-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-devel] [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> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,gjb@semihalf.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629185179; bh=hLHvAZXHeC1Hilrrd/N5+vD43LFXGSM1+9Kc7egycPM=; h=Cc:Date:From:Reply-To:Subject:To; b=Vhb3GWUhvZ6d9FrAZHXtOmDOPkzwFouw/JJLHW2HL71k+35K/Yj8rxjOB/iuO7TZshI 6UmR9VWZOQn5H4jV7aYR7VHG5Kh691AGehN2tp9AZOhFShirlIWUe//73E34HxkYYo0E2 q+17ERzaDJOrmtg8lLNlYgh7uyRatjVYW2o= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629185181651100001 Content-Type: text/plain; charset="utf-8" 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/DualSeri= alPortLib.c.orig delete mode 100644 Platform/RaspberryPi/Library/DualSerialPortLib/DualSeri= alPortLib.c.rej delete mode 100644 Platform/RaspberryPi/Library/PlatformLib/AArch64/Raspbe= rryPiHelper.S.orig delete mode 100644 Platform/RaspberryPi/Library/PlatformLib/AArch64/Raspbe= rryPiHelper.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/DualSerialPortL= ib.c.orig b/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLi= b.c.orig deleted file mode 100644 index 5e83bbf022..0000000000 --- a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortLib.c.or= ig +++ /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 =3D (UINT64)PcdGet32 (PcdSerialClockRate); -#if (RPI_MODEL =3D=3D 4) - Divisor =3D MmioRead32(BCM2836_CM_BASE + BCM2836_CM_VPU_CLOCK_DIVISOR) &= 0xFFFFFF; - if (Divisor !=3D 0) - BaseClockRate =3D (BaseClockRate << 12) / Divisor; -#endif - - // - // As per the BCM2xxx datasheets: - // baudrate =3D system_clock_freq / (8 * (divisor + 1)). - // - Divisor =3D (UINT32)BaseClockRate / (SerialBaudRate * 8); - if (Divisor !=3D 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_SU= CCESS. - 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 =3D ((MmioRead32(GPIO_BASE_ADDRESS + 4) & 0x0003F000) =3D= =3D 0x00024000); - UsePl011UartSet =3D TRUE; - } - - if (UsePl011Uart) { - BaudRate =3D FixedPcdGet64 (PcdUartDefaultBaudRate); - ReceiveFifoDepth =3D 0; // Use default FIFO depth - Parity =3D (EFI_PARITY_TYPE)FixedPcdGet8 (PcdUartDefaultParity); - DataBits =3D FixedPcdGet8 (PcdUartDefaultDataBits); - StopBits =3D (EFI_STOP_BITS_TYPE) FixedPcdGet8 (PcdUartDefaultStopBits= ); - - return PL011UartInitializePort ( - PL011_UART_REGISTER_BASE, - PL011UartClockGetFreq(), - &BaudRate, - &ReceiveFifoDepth, - &Parity, - &DataBits, - &StopBits - ); - } else { - SerialRegisterBase =3D MINI_UART_REGISTER_BASE; - Divisor =3D SerialPortGetDivisor (PcdGet32 (PcdSerialBaudRate)); - - // - // See if the serial port is already initialized - // - Initialized =3D TRUE; - if ((SerialPortReadRegister (SerialRegisterBase, R_UART_LCR) & 0x3F) != =3D (PcdGet8 (PcdSerialLineControl) & 0x3F)) { - Initialized =3D FALSE; - } - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(Seria= lPortReadRegister (SerialRegisterBase, R_UART_LCR) | B_UART_LCR_DLAB)); - CurrentDivisor =3D SerialPortReadRegister (SerialRegisterBase, R_UART= _BAUD_HIGH) << 8; - CurrentDivisor |=3D (UINT32) SerialPortReadRegister (SerialRegisterBas= e, R_UART_BAUD_LOW); - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8)(Seria= lPortReadRegister (SerialRegisterBase, R_UART_LCR) & ~B_UART_LCR_DLAB)); - if (CurrentDivisor !=3D Divisor) { - Initialized =3D 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_U= ART_LSR_TEMT | B_UART_LSR_TXRDY)) !=3D (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)= ); - - // - // Configure baud rate - // - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, B_UART_LCR_DL= AB); - 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)(PcdGe= t8 (PcdSerialLineControl) & 0x3F)); - - // - // Enable and reset FIFOs - // Strip reserved bits from PcdSerialFifoControl - // - SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, 0x00); - SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, (UINT8)(PcdGe= t8 (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 re= ad 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 =3D=3D Buffer) { - return 0; - } - - SerialRegisterBase =3D MINI_UART_REGISTER_BASE; - - Mcr =3D (UINT8)(SerialPortReadRegister (SerialRegisterBase, R_UART_MCR= ) & ~B_UART_MCR_RTS); - - for (Result =3D 0; NumberOfBytes-- !=3D 0; Result++, Buffer++) { - // - // Wait for the serial port to have some data. - // - while ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & B_= UART_LSR_RXRDY) =3D=3D 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 =3D 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 FALS= E is returned. - - @retval TRUE Data is waiting to be read from the serial devi= ce. - @retval FALSE There is no data waiting to be read from the se= rial device. - -**/ -BOOLEAN -EFIAPI -SerialPortPoll ( - VOID - ) -{ - UINTN SerialRegisterBase; - - if (UsePl011Uart) { - return PL011UartPoll (PL011_UART_REGISTER_BASE); - } else { - SerialRegisterBase =3D MINI_UART_REGISTER_BASE; - - // - // Read the serial port status - // - if ((SerialPortReadRegister (SerialRegisterBase, R_UART_LSR) & B_UART_= LSR_RXRDY) !=3D 0) { - if (PcdGetBool (PcdSerialUseHardwareFlowControl)) { - // - // Clear RTS to prevent peer from sending data - // - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, (UINT8)(S= erialPortReadRegister (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)(Ser= ialPortReadRegister (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 seria= l device. - @retval RETURN_UNSUPPORTED The serial device does not support this op= eration. - @retval RETURN_DEVICE_ERROR The serial device is not functioning corre= ctly. - -**/ -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_TERMINA= L_READY | - EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) !=3D 0) { - return RETURN_UNSUPPORTED; - } - - SerialRegisterBase =3D MINI_UART_REGISTER_BASE; - - // - // Read the Modem Control Register. - // - Mcr =3D SerialPortReadRegister (SerialRegisterBase, R_UART_MCR); - Mcr &=3D (~(B_UART_MCR_DTRC | B_UART_MCR_RTS)); - - if ((Control & EFI_SERIAL_DATA_TERMINAL_READY) =3D=3D EFI_SERIAL_DATA_= TERMINAL_READY) { - Mcr |=3D B_UART_MCR_DTRC; - } - - if ((Control & EFI_SERIAL_REQUEST_TO_SEND) =3D=3D EFI_SERIAL_REQUEST_T= O_SEND) { - Mcr |=3D 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 si= gnals 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 op= eration. - @retval RETURN_DEVICE_ERROR The serial device is not functioning corre= ctly. - -**/ -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 =3D MINI_UART_REGISTER_BASE; - - *Control =3D 0; - - // - // Read the Modem Status Register. - // - Msr =3D SerialPortReadRegister (SerialRegisterBase, R_UART_MSR); - - if ((Msr & B_UART_MSR_CTS) =3D=3D B_UART_MSR_CTS) { - *Control |=3D EFI_SERIAL_CLEAR_TO_SEND; - } - - if ((Msr & B_UART_MSR_DSR) =3D=3D B_UART_MSR_DSR) { - *Control |=3D EFI_SERIAL_DATA_SET_READY; - } - - if ((Msr & B_UART_MSR_RI) =3D=3D B_UART_MSR_RI) { - *Control |=3D EFI_SERIAL_RING_INDICATE; - } - - if ((Msr & B_UART_MSR_DCD) =3D=3D B_UART_MSR_DCD) { - *Control |=3D EFI_SERIAL_CARRIER_DETECT; - } - - // - // Read the Modem Control Register. - // - Mcr =3D SerialPortReadRegister (SerialRegisterBase, R_UART_MCR); - - if ((Mcr & B_UART_MCR_DTRC) =3D=3D B_UART_MCR_DTRC) { - *Control |=3D EFI_SERIAL_DATA_TERMINAL_READY; - } - - if ((Mcr & B_UART_MCR_RTS) =3D=3D B_UART_MCR_RTS) { - *Control |=3D EFI_SERIAL_REQUEST_TO_SEND; - } - - if (PcdGetBool (PcdSerialUseHardwareFlowControl)) { - *Control |=3D EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE; - } - - // - // Read the Line Status Register. - // - Lsr =3D SerialPortReadRegister (SerialRegisterBase, R_UART_LSR); - - if ((Lsr & (B_UART_LSR_TEMT | B_UART_LSR_TXRDY)) =3D=3D (B_UART_LSR_TE= MT | B_UART_LSR_TXRDY)) { - *Control |=3D EFI_SERIAL_OUTPUT_BUFFER_EMPTY; - } - - if ((Lsr & B_UART_LSR_RXRDY) =3D=3D 0) { - *Control |=3D EFI_SERIAL_INPUT_BUFFER_EMPTY; - } - - return RETURN_SUCCESS; - } -} - -/** - Sets the baud rate, receive FIFO depth, transmit/receice time out, parit= y, - 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 d= evice's default time - out value. - On output, the value actually set. - @param Parity The type of parity to use on this serial devic= e. A Parity value of - DefaultParity will use the device's default pa= rity value. - On output, the value actually set. - @param DataBits The number of data bits to use on the serial d= evice. 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 ser= ial device. - @retval RETURN_UNSUPPORTED The serial device does not support thi= s operation. - @retval RETURN_INVALID_PARAMETER One or more of the attributes has an u= nsupported value. - @retval RETURN_DEVICE_ERROR The serial device is not functioning c= orrectly. - -**/ -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 =3D MINI_UART_REGISTER_BASE; - - // - // Check for default settings and fill in actual values. - // - if (*BaudRate =3D=3D 0) { - *BaudRate =3D PcdGet32 (PcdSerialBaudRate); - } - SerialBaudRate =3D (UINT32) *BaudRate; - - if (*DataBits =3D=3D 0) { - LcrData =3D (UINT8) (PcdGet8 (PcdSerialLineControl) & 0x3); - *DataBits =3D LcrData + 5; - } else { - if ((*DataBits < 5) || (*DataBits > 8)) { - return RETURN_INVALID_PARAMETER; - } - // - // Map 5..8 to 0..3 - // - LcrData =3D (UINT8) (*DataBits - (UINT8) 5); - } - - if (*Parity =3D=3D DefaultParity) { - LcrParity =3D (UINT8) ((PcdGet8 (PcdSerialLineControl) >> 3) & 0x7); - switch (LcrParity) { - case 0: - *Parity =3D NoParity; - break; - - case 3: - *Parity =3D EvenParity; - break; - - case 1: - *Parity =3D OddParity; - break; - - case 7: - *Parity =3D SpaceParity; - break; - - case 5: - *Parity =3D MarkParity; - break; - - default: - break; - } - } else { - switch (*Parity) { - case NoParity: - LcrParity =3D 0; - break; - - case EvenParity: - LcrParity =3D 3; - break; - - case OddParity: - LcrParity =3D 1; - break; - - case SpaceParity: - LcrParity =3D 7; - break; - - case MarkParity: - LcrParity =3D 5; - break; - - default: - return RETURN_INVALID_PARAMETER; - } - } - - if (*StopBits =3D=3D DefaultStopBits) { - LcrStop =3D (UINT8) ((PcdGet8 (PcdSerialLineControl) >> 2) & 0x1); - switch (LcrStop) { - case 0: - *StopBits =3D OneStopBit; - break; - - case 1: - if (*DataBits =3D=3D 5) { - *StopBits =3D OneFiveStopBits; - } else { - *StopBits =3D TwoStopBits; - } - break; - - default: - break; - } - } else { - switch (*StopBits) { - case OneStopBit: - LcrStop =3D 0; - break; - - case OneFiveStopBits: - case TwoStopBits: - LcrStop =3D 1; - break; - - default: - return RETURN_INVALID_PARAMETER; - } - } - - // - // Configure baud rate - // - Divisor =3D SerialPortGetDivisor (SerialBaudRate); - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, B_UART_LCR_DL= AB); - 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 =3D (UINT8) ((LcrParity << 3) | (LcrStop << 2) | LcrData); - SerialPortWriteRegister (SerialRegisterBase, R_UART_LCR, (UINT8) (Lcr = & 0x3F)); - - return RETURN_SUCCESS; - } -} diff --git a/Platform/RaspberryPi/Library/DualSerialPortLib/DualSerialPortL= ib.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; -=20 -- // -- // 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 =3D (UINT64)PcdGet32 (PcdSerialClockRate); --#if (RPI_MODEL =3D=3D 4) -- Divisor =3D MmioRead32(BCM2836_CM_BASE + BCM2836_CM_VPU_CLOCK_DIVISOR) = & 0xFFFFFF; -- if (Divisor !=3D 0) -- BaseClockRate =3D (BaseClockRate << 12) / Divisor; --#endif -+ BaseClockRate =3D PcdGet32 (PcdSerialClockRate); -=20 - // - // As per the BCM2xxx datasheets: - // baudrate =3D system_clock_freq / (8 * (divisor + 1)). - // -- Divisor =3D (UINT32)BaseClockRate / (SerialBaudRate * 8); -+ Divisor =3D BaseClockRate / (SerialBaudRate * 8); - if (Divisor !=3D 0) { - Divisor--; - } diff --git a/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHe= lper.S.orig b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiH= elper.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 =3D=3D 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 =3D=3D 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 =3D 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 =3D (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/RaspberryPiHe= lper.S.rej b/Platform/RaspberryPi/Library/PlatformLib/AArch64/RaspberryPiHe= lper.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] -=20 --#if (RPI_MODEL =3D=3D 3) - run .Lclkinfo_buffer -=20 - ldr w0, .Lfrequency - adr x2, _gPcd_BinaryPatch_PcdSerialClockRate - str w0, [x2] --#endif -=20 - ret -=20 -@@ -135,7 +133,6 @@ ASM_FUNC (ArmPlatformPeiBootAction) - .long 0 // end tag - .set .Lrevinfo_size, . - .Lrevinfo_buffer -=20 --#if (RPI_MODEL =3D=3D 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 -=20 - //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 =3D RPi4 - PLATFORM_GUID =3D a7eca3b4-21b0-4989-8c18-c08f3ae87837 - PLATFORM_VERSION =3D 1.0 - DSC_SPECIFICATION =3D 0x0001001A - OUTPUT_DIRECTORY =3D Build/$(PLATFORM_NAME) - SUPPORTED_ARCHITECTURES =3D AARCH64 - BUILD_TARGETS =3D DEBUG|RELEASE|NOOPT - SKUID_IDENTIFIER =3D DEFAULT - FLASH_DEFINITION =3D Platform/RaspberryPi/$(PLATFORM_NAME)= /$(PLATFORM_NAME).fdf - - # - # Defines for default states. These can be changed on the command line. - # -D FLAG=3DVALUE - # - DEFINE SECURE_BOOT_ENABLE =3D FALSE - DEFINE INCLUDE_TFTP_COMMAND =3D FALSE - DEFINE DEBUG_PRINT_ERROR_LEVEL =3D 0x8000004F - -!ifndef TFA_BUILD_ARTIFACTS - # - # Default TF-A binary checked into edk2-non-osi. - # - DEFINE TFA_BUILD_BL31 =3D Platform/RaspberryPi/$(PLATFORM_NAME)/TrustedF= irmware/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 co= py - # operations ends up being very helpful. - # - DEFINE TFA_BUILD_BL31 =3D $(TFA_BUILD_ARTIFACTS)/bl31.bin -!endif - -##########################################################################= ###### -# -# Library Class section - list of all Library Classes needed by this Platf= orm. -# -##########################################################################= ###### - -!include MdePkg/MdeLibs.dsc.inc - -[LibraryClasses.common] -!if $(TARGET) =3D=3D RELEASE - DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf -!else - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf -!endif - DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseD= ebugPrintErrorLevelLib.inf - - BaseLib|MdePkg/Library/BaseLib/BaseLib.inf - SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf - BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.i= nf - SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchroniza= tionLib.inf - PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibN= ull.inf - ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseRepor= tStatusCodeLibNull.inf - PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf - PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeC= offGetEntryPointLib.inf - PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf - IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf - UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompres= sLib.inf - CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf - - UefiLib|MdePkg/Library/UefiLib/UefiLib.inf - HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf - UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/U= efiRuntimeServicesTableLib.inf - DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf - UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBoo= tServicesTableLib.inf - DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableL= ib.inf - DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf - UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntry= Point.inf - UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiA= pplicationEntryPoint.inf - HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf - UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServic= esLib.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 gen= erate 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/ArmCacheMainte= nanceLib.inf - DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/Def= aultExceptionHandlerLib.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/ArmPlatfo= rmStackLib.inf - ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf - ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf - ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/Ar= mGenericTimerPhyCounterLib.inf - - # Dual serial port library - PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartCloc= kLib.inf - PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf - SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DebugDualSe= rialPortLib.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 S= tandard IO window - # in the debugger will show load and unload commands for symbols. You ca= n cut and paste this - # into the command window to load symbols. We should be able to use a sc= ript to do this, but - # the version of RVD I have does not support scripts accessing system me= mory. - # - #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffEx= traActionLib.inf - PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCof= fExtraActionLib.inf - #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePe= CoffExtraActionLibNull.inf - - DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.i= nf - DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgent= TimerLibNull.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) =3D=3D TRUE - TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasure= mentLib.inf - AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf - - # re-use the UserPhysicalPresent() dummy implementation from the ovmf tr= ee - PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf -!else - TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf - AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLib= Null.inf -!endif - VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf - VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ib.inf - VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/Var= iablePolicyHelperLib.inf - GpioLib|Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf - - # - # PCI dependencies - # - # PCI root port configuation and description - PciHostBridgeLib|Silicon/Broadcom/Bcm27xx/Library/Bcm2711PciHostBridgeLi= b/Bcm2711PciHostBridgeLib.inf - # The "segment lib" provides the CAM accessors/etc when they aren't ECAM= standard - PciSegmentLib|Silicon/Broadcom/Bcm27xx/Library/Bcm2711PciSegmentLib/PciS= egmentLib.inf - -[LibraryClasses.common.SEC] - PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf - BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf - MemoryInitPeiLib|Platform/RaspberryPi/Library/MemoryInitPeiLib/MemoryIni= tPeiLib.inf - PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf - ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib= /PrePiExtractGuidedSectionLib.inf - LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCusto= mDecompressLib.inf - PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf - HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf - PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/Pre= PiHobListPointerLib.inf - MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMe= moryAllocationLib.inf - -[LibraryClasses.common.DXE_CORE] - HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf - MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeC= oreMemoryAllocationLib.inf - DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf - ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExt= ractGuidedSectionLib.inf - PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerform= anceLib.inf - -[LibraryClasses.common.DXE_DRIVER] - SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeS= ecurityManagementLib.inf - PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.= inf - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAll= ocationLib.inf -!if $(INCLUDE_TFTP_COMMAND) =3D=3D 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/UefiMemoryAll= ocationLib.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/DxeExt= ractGuidedSectionLib.inf - PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.= inf - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAll= ocationLib.inf - -[LibraryClasses.common.DXE_RUNTIME_DRIVER] - # Runtime debug messages may crash an OS unless serial output to MMIO ma= pped UARTs is inhibited - DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibS= erialPort.inf - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAll= ocationLib.inf - CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf - EfiResetSystemLib|Platform/RaspberryPi/Library/ResetLib/ResetLib.inf - ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf - VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ibRuntimeDxe.inf - -!if $(SECURE_BOOT_ENABLE) =3D=3D 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 a= ppended to any -# standard flags that are defined by the build proc= ess. -##########################################################################= ######################### - -[BuildOptions] - GCC:*_*_*_CC_FLAGS =3D -DRPI_MODEL=3D4 - GCC:*_*_*_PP_FLAGS =3D -DRPI_MODEL=3D4 - GCC:*_*_*_ASLPP_FLAGS =3D -DRPI_MODEL=3D4 - GCC:*_*_*_ASLCC_FLAGS =3D -DRPI_MODEL=3D4 - GCC:*_*_*_VFRPP_FLAGS =3D -DRPI_MODEL=3D4 - GCC:RELEASE_*_*_CC_FLAGS =3D -DMDEPKG_NDEBUG -DNDEBUG - -[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] - GCC:*_*_AARCH64_DLINK_FLAGS =3D -z common-page-size=3D0x10000 - -##########################################################################= ###### -# -# 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 T= able 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) =3D=3D 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_LEV= EL) - - 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) =3D=3D 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) =3D=3D 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|0= x04 -!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/UefiBootManag= erLib.inf - BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf - PlatformBootManagerLib|Platform/RaspberryPi/Library/PlatformBootManagerL= ib/PlatformBootManagerLib.inf - CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/Customize= dDisplayLib.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|FAL= SE - gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c= , 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0= x31 } - - gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"EDK2" - gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE - -[PcdsDynamicHii.common.DEFAULT] - - # - # Clock overrides. - # - - gRaspberryPiTokenSpaceGuid.PcdCpuClock|L"CpuClock"|gConfigDxeFormSetGuid= |0x0|1 - gRaspberryPiTokenSpaceGuid.PcdCustomCpuClock|L"CustomCpuClock"|gConfigDx= eFormSetGuid|0x0|gRaspberryPiTokenSpaceGuid.PcdCpuDefSpeedMHz - - # - # SD-related. - # - - gRaspberryPiTokenSpaceGuid.PcdSdIsArasan|L"SdIsArasan"|gConfigDxeFormSet= Guid|0x0|0 - gRaspberryPiTokenSpaceGuid.PcdMmcForce1Bit|L"MmcForce1Bit"|gConfigDxeFor= mSetGuid|0x0|0 - gRaspberryPiTokenSpaceGuid.PcdMmcForceDefaultSpeed|L"MmcForceDefaultSpee= d"|gConfigDxeFormSetGuid|0x0|0 - gRaspberryPiTokenSpaceGuid.PcdMmcSdDefaultSpeedMHz|L"MmcSdDefaultSpeedMH= z"|gConfigDxeFormSetGuid|0x0|25 - gRaspberryPiTokenSpaceGuid.PcdMmcSdHighSpeedMHz|L"MmcSdHighSpeedMHz"|gCo= nfigDxeFormSetGuid|0x0|50 - gRaspberryPiTokenSpaceGuid.PcdMmcDisableMulti|L"MmcDisableMulti"|gConfig= DxeFormSetGuid|0x0|0 - gRaspberryPiTokenSpaceGuid.PcdMmcEnableDma|L"MmcEnableDma"|gConfigDxeFor= mSetGuid|0x0|0 - - # - # Debug-related. - # - - gRaspberryPiTokenSpaceGuid.PcdDebugEnableJTAG|L"DebugEnableJTAG"|gConfig= DxeFormSetGuid|0x0|0 - - # - # Display-related. - # - - # - # Just enable native resolution by default. - # - gRaspberryPiTokenSpaceGuid.PcdDisplayEnableScaledVModes|L"DisplayEnableS= caledVModes"|gConfigDxeFormSetGuid|0x0|0x20 - gRaspberryPiTokenSpaceGuid.PcdDisplayEnableSShot|L"DisplayEnableSShot"|g= ConfigDxeFormSetGuid|0x0|1 - - # - # Supporting > 3GB of memory. - # - gRaspberryPiTokenSpaceGuid.PcdRamMoreThan3GB|L"RamMoreThan3GB"|gConfigDx= eFormSetGuid|0x0|0 - gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB|L"RamLimitTo3GB"|gConfigDxeF= ormSetGuid|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"|gConfig= DxeFormSetGuid|0x0|0 - - # - # Enable a fan in the ACPI thermal zone on GPIO pin # - # - # 0 - DISABLED - # 19 - Enabled on pin 19 - # - gRaspberryPiTokenSpaceGuid.PcdFanOnGpio|L"FanOnGpio"|gConfigDxeFormSetGu= id|0x0|0 - gRaspberryPiTokenSpaceGuid.PcdFanTemp|L"FanTemp"|gConfigDxeFormSetGuid|0= x0|60 - - # - # Reset-related. - # - - gRaspberryPiTokenSpaceGuid.PcdPlatformResetDelay|L"ResetDelay"|gRaspberr= yPiTokenSpaceGuid|0x0|0 - - # - # Common UEFI ones. - # - - gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVar= iableGuid|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"|gRaspberr= yPiTokenSpaceGuid|0x0|80 - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|L"Columns"|gRaspberryPiTo= kenSpaceGuid|0x0|80 - gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|L"Rows"|gRaspberryPiTok= enSpaceGuid|0x0|25 - gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|L"Rows"|gRaspberryPiTokenSpa= ceGuid|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/DualSer= ialPortLib.inf - } - - # - # DXE - # - MdeModulePkg/Core/Dxe/DxeMain.inf { - - NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32Gu= idedSectionExtractLib.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) =3D=3D TRUE - MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf { - - NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificatio= nLib.inf - } - SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDx= e.inf -!else - MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf -!endif - MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf - MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntim= eDxe.inf - EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf - EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf { - - RealTimeClockLib|EmbeddedPkg/Library/VirtualRealTimeClockLib/Virtual= RealTimeClockLib.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/DualSer= ialPortLib.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/BootGraphicsRes= ourceTableDxe.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/BootMaintenanc= eManagerUiLib.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/UefiShellComman= dLib.inf - NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2Comm= andsLib.inf - NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1Comm= andsLib.inf - NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3Comm= andsLib.inf - NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1Co= mmandsLib.inf - NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comm= andsLib.inf - NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1= CommandsLib.inf - NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1= CommandsLib.inf - NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewC= ommandLib.inf - HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandlePar= singLib.inf - PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf - BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcf= gCommandLib.inf - - - gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF - gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE - gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 - gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x200000 - } -!if $(INCLUDE_TFTP_COMMAND) =3D=3D 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 -=20 -+[PcdsPatchableInModule] -+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|500000000 -+ - [PcdsDynamicHii.common.DEFAULT] -=20 - # -@@ -621,7 +623,7 @@ [Components.common] - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf - MdeModulePkg/Universal/SerialDxe/SerialDxe.inf { - -- SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSe= rialPortLib.inf -+ SerialPortLib|Platform/RaspberryPi/Library/DualSerialPortLib/DualSe= rialPortDxeLib.inf - } - Platform/RaspberryPi/Drivers/DisplayDxe/DisplayDxe.inf - EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79410): https://edk2.groups.io/g/devel/message/79410 Mute This Topic: https://groups.io/mt/84942974/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-