From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by mx.groups.io with SMTP id smtpd.web10.10144.1574163509457035063 for ; Tue, 19 Nov 2019 03:38:29 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@akeo-ie.20150623.gappssmtp.com header.s=20150623 header.b=ii7wxhYs; spf=none, err=permanent DNS error (domain: akeo.ie, ip: 209.85.221.65, mailfrom: pete@akeo.ie) Received: by mail-wr1-f65.google.com with SMTP id b3so23400322wrs.13 for ; Tue, 19 Nov 2019 03:38:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akeo-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Iuiz/+pqMmV+zMt2bOc/qHcwgcgUS8mFnTah4d/aYdA=; b=ii7wxhYsfPQN7RSDyqEPzLHGxwNXMOtg9hWrLfQaZknk/ecuhWv2wLkGn6JBrQsEgO ugXuwu84M1VALtWcp52szodj/VzBvFxWId9FkwLB9GHm2Ws6ZFZqYZQYDGaapMAm9Eoa WiZmleYJGWTF4pcJjXmaNuyPTQIpd5Zs31wix3n13gHswhpybWGj7iCdVmRhiLvjr4L7 ma5cowkv01+u10/uchUZJXx4ZtBF/gMvk6g12Aqc8T3RoqcFTbBgHEJDdquFi8MWTgm1 yLKGdv6nXPh5kogGWUa7zOCGarLkKW49NDVB5gekwpWb2hSXh2+S+WooWZT8Oxegy6U4 aIVQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Iuiz/+pqMmV+zMt2bOc/qHcwgcgUS8mFnTah4d/aYdA=; b=bF4YljuxaAOE6vDKNvosBu9rLZHMSAW0ruXmXK4pFcKSpPDdEcMTak0pA9l6EtsQGZ Zlh6PEKxcFwflWuzfSZjc3MafrkJTcgB+OncOe1xfg3H+lKyxst5UZiyEyG9CO3eJRt9 AuDYIQcNDrx80fI+tOnM8U9PlQtc/3KCJ1nGyvrJdEkHK4a1wmz//iMtKL6PnJ2Y28Ne sZRiALDCu6WLUdQuVkT0O9vTlvs5XUP+D2f+wdP5m4XS3FNclix8Ydb1V+mu36TfsY/E IXbQKVoOs2kS53X6qHLFRjF1aFHIEMroAkRZuZf/wmBm5mWVyxnlm2GM+zSE9NpvZ7uw OyVw== X-Gm-Message-State: APjAAAU0xYpoXoDfTKCPK33sywFPIuGumqCLG75McO4+9va+v7Q9RtK5 7biH4gzBgpKND3bj080VjPLz/7arbwE= X-Google-Smtp-Source: APXvYqx8xkcqtAeB+StYCvhpFySzNMlE1n3f5UyqJkBYySm4lOajFSbfyYysyz+qFTo5pjdayNKIyA== X-Received: by 2002:adf:e58f:: with SMTP id l15mr13273399wrm.1.1574163507473; Tue, 19 Nov 2019 03:38:27 -0800 (PST) Return-Path: Received: from localhost.localdomain ([84.203.67.47]) by smtp.gmail.com with ESMTPSA id j66sm2608273wma.19.2019.11.19.03.38.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Nov 2019 03:38:26 -0800 (PST) From: "Pete Batard" To: devel@edk2.groups.io Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, philmd@redhat.com, samer.el-haj-mahmoud@arm.com Subject: [edk2-platforms][PATCH v2 3/7] Platform/RPi: Replace Bcm283x SoC base register address with a PCD Date: Tue, 19 Nov 2019 11:38:05 +0000 Message-Id: <20191119113809.2472-4-pete@akeo.ie> X-Mailer: git-send-email 2.21.0.windows.1 In-Reply-To: <20191119113809.2472-1-pete@akeo.ie> References: <20191119113809.2472-1-pete@akeo.ie> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Samer El-Haj-Mahmoud Define BCM2836_SOC_REGISTERS from PcdBcm283xRegistersAddress. This is needed in preparation for adding Raspberry Pi 4 support, since the two Pi's have a different base addresses for the Bcm283x specific registers. Signed-off-by: Pete Batard --- Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf | 2 ++ Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf | 2 ++ Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf | 4 ++++ Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf | 5 ++++- Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf | 2 ++ Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf | 3 ++- Platform/RaspberryPi/RPi3/RPi3.dsc | 7 ++++++- Silicon/Broadcom/Bcm283x/Bcm283x.dec | 7 +++++++ Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf | 4 +++- Silicon/Broadcom/Bcm283x/Drivers/RngDxe/RngDxe.inf | 5 +++++ Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836.h | 3 ++- Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf | 4 ++++ 12 files changed, 43 insertions(+), 5 deletions(-) diff --git a/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf index 3f0d7b6b9e9d..6db8a1c5e400 100644 --- a/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf +++ b/Platform/RaspberryPi/Drivers/ArasanMmcHostDxe/ArasanMmcHostDxe.inf @@ -1,5 +1,6 @@ #/** @file # +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2017, Andrei Warkentin # Copyright (c) Microsoft Corporation. All rights reserved. # @@ -41,6 +42,7 @@ [Protocols] gRaspberryPiFirmwareProtocolGuid ## CONSUMES [Pcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress gRaspberryPiTokenSpaceGuid.PcdSdIsArasan [Depex] diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf index 28fc2682b585..817cb98c1933 100644 --- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf @@ -1,5 +1,6 @@ #/** @file # +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2018, Andrei Warkentin # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -54,6 +55,7 @@ [Protocols] gRaspberryPiConfigAppliedProtocolGuid ## PRODUCES [Pcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress gRaspberryPiTokenSpaceGuid.PcdCpuClock gRaspberryPiTokenSpaceGuid.PcdCustomCpuClock gRaspberryPiTokenSpaceGuid.PcdSdIsArasan diff --git a/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf index e880c2fb0261..8817f20622d6 100644 --- a/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf +++ b/Platform/RaspberryPi/Drivers/DwUsbHostDxe/DwUsbHostDxe.inf @@ -1,5 +1,6 @@ #/** @file # +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2017-2018, Andrei Warkentin # Copyright (c) 2015-2016, Linaro Limited. All rights reserved. # @@ -51,5 +52,8 @@ [Protocols] gEfiUsb2HcProtocolGuid gRaspberryPiFirmwareProtocolGuid +[FixedPcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress + [Depex] gRaspberryPiFirmwareProtocolGuid diff --git a/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf index 87bca98fec28..a3fc0fa49a3c 100644 --- a/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf +++ b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.inf @@ -1,5 +1,5 @@ #/** @file -# +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2017-2018, Andrei Warkentin # Copyright (c) 2016, Linaro, Ltd. All rights reserved. # @@ -40,5 +40,8 @@ [LibraryClasses] [Protocols] gRaspberryPiFirmwareProtocolGuid ## PRODUCES +[FixedPcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress + [Depex] TRUE diff --git a/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf index 7386ff251864..ca8b30700328 100644 --- a/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf +++ b/Platform/RaspberryPi/Drivers/SdHostDxe/SdHostDxe.inf @@ -1,5 +1,6 @@ #/** @file # +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2017, Andrei Warkentin # Copyright (c) Microsoft Corporation. All rights reserved. # @@ -43,6 +44,7 @@ [Protocols] gRaspberryPiFirmwareProtocolGuid ## CONSUMES [Pcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress gRaspberryPiTokenSpaceGuid.PcdSdIsArasan [Depex] diff --git a/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf index ed986034b957..bcc6f8b6ec13 100644 --- a/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf +++ b/Platform/RaspberryPi/Library/PlatformLib/PlatformLib.inf @@ -2,7 +2,7 @@ # # Copyright (c) 2017-2018, Andrei Warkentin # Copyright (c) 2014-2016, Linaro Limited. All rights reserved. -# Copyright (c) 2011-2014, ARM Limited. All rights reserved. +# Copyright (c) 2011-2019, ARM Limited. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -47,6 +47,7 @@ [FixedPcd] gArmTokenSpaceGuid.PcdArmPrimaryCoreMask gArmTokenSpaceGuid.PcdArmPrimaryCore gArmTokenSpaceGuid.PcdFdSize + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress gEmbeddedTokenSpaceGuid.PcdDmaDeviceOffset gArmTokenSpaceGuid.PcdSystemMemoryBase gArmTokenSpaceGuid.PcdSystemMemorySize diff --git a/Platform/RaspberryPi/RPi3/RPi3.dsc b/Platform/RaspberryPi/RPi3/RPi3.dsc index a0365c5cf606..98c75e373fa7 100644 --- a/Platform/RaspberryPi/RPi3/RPi3.dsc +++ b/Platform/RaspberryPi/RPi3/RPi3.dsc @@ -1,6 +1,6 @@ # @file # -# Copyright (c) 2011-2015, ARM Limited. All rights reserved. +# Copyright (c) 2011 - 2019, ARM Limited. All rights reserved. # Copyright (c) 2014, Linaro Limited. All rights reserved. # Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved. # Copyright (c) 2017 - 2018, Andrei Warkentin @@ -372,6 +372,11 @@ [PcdsFixedAtBuild.common] gArmTokenSpaceGuid.PcdSystemMemoryBase|0x00400000 gArmTokenSpaceGuid.PcdSystemMemorySize|0x3FC00000 + # + # Device specific addresses + # + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress|0x3f000000 + ## NS16550 compatible UART gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x3f215040 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE diff --git a/Silicon/Broadcom/Bcm283x/Bcm283x.dec b/Silicon/Broadcom/Bcm283x/Bcm283x.dec index ec62ff27fbb3..5b839b00d286 100644 --- a/Silicon/Broadcom/Bcm283x/Bcm283x.dec +++ b/Silicon/Broadcom/Bcm283x/Bcm283x.dec @@ -1,5 +1,6 @@ ## @file # +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2019, Pete Batard # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -14,3 +15,9 @@ [Defines] [Includes] Include + +[Guids] + gBcm283xTokenSpaceGuid = {0x82f36a92, 0xfb7e, 0x43a1, {0xb9, 0x9e, 0x49, 0x13, 0x3f, 0xc7, 0xa4, 0x2e}} + +[PcdsFixedAtBuild.common] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress|0x0|UINT32|0x00000001 diff --git a/Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf b/Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf index cdce11a51e14..f984c4b52623 100644 --- a/Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf +++ b/Silicon/Broadcom/Bcm283x/Drivers/InterruptDxe/InterruptDxe.inf @@ -1,5 +1,5 @@ #/** @file -# +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2017, Andrei Warkentin # Copyright (c) 2016 Linaro, Ltd. All rights reserved. # @@ -27,6 +27,7 @@ [LibraryClasses] BaseLib DebugLib IoLib + PcdLib UefiBootServicesTableLib UefiLib UefiDriverEntryPoint @@ -36,6 +37,7 @@ [Protocols] gEfiCpuArchProtocolGuid ## CONSUMES ## NOTIFY [FixedPcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress [Depex] diff --git a/Silicon/Broadcom/Bcm283x/Drivers/RngDxe/RngDxe.inf b/Silicon/Broadcom/Bcm283x/Drivers/RngDxe/RngDxe.inf index cb1695bd2dfc..8eb90de85cfd 100644 --- a/Silicon/Broadcom/Bcm283x/Drivers/RngDxe/RngDxe.inf +++ b/Silicon/Broadcom/Bcm283x/Drivers/RngDxe/RngDxe.inf @@ -1,5 +1,6 @@ #/** @file # +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2019 Linaro, Ltd. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -26,6 +27,7 @@ [LibraryClasses] BaseMemoryLib DebugLib IoLib + PcdLib UefiBootServicesTableLib UefiDriverEntryPoint @@ -35,5 +37,8 @@ [Protocols] [Guids] gEfiRngAlgorithmRaw +[FixedPcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress + [Depex] TRUE diff --git a/Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836.h b/Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836.h index 4007301228be..8bd68c234bfd 100644 --- a/Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836.h +++ b/Silicon/Broadcom/Bcm283x/Include/IndustryStandard/Bcm2836.h @@ -1,5 +1,6 @@ /** @file * + * Copyright (c) 2019, ARM Limited. All rights reserved. * Copyright (c) 2017, Andrei Warkentin * Copyright (c) 2016, Linaro Limited. All rights reserved. * @@ -13,7 +14,7 @@ /* * Both "core" and SoC perpherals (1M each). */ -#define BCM2836_SOC_REGISTERS 0x3f000000 +#define BCM2836_SOC_REGISTERS (FixedPcdGet64 (PcdBcm283xRegistersAddress)) #define BCM2836_SOC_REGISTER_LENGTH 0x02000000 /* diff --git a/Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf b/Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf index 50da4eb771f3..ff1b5af6db6e 100644 --- a/Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf +++ b/Silicon/Broadcom/Bcm283x/Library/GpioLib/GpioLib.inf @@ -2,6 +2,7 @@ # # Manipulate GPIOs. # +# Copyright (c) 2019, ARM Limited. All rights reserved. # Copyright (c) 2018, Andrei Warkentin # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -30,4 +31,7 @@ [LibraryClasses] DebugLib IoLib +[FixedPcd] + gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress + [Guids] -- 2.21.0.windows.1