From: "Pete Batard" <pete@akeo.ie>
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 [thread overview]
Message-ID: <20191119113809.2472-4-pete@akeo.ie> (raw)
In-Reply-To: <20191119113809.2472-1-pete@akeo.ie>
From: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@arm.com>
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 <pete@akeo.ie>
---
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 <andrey.warkentin@gmail.com>
# 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 <andrey.warkentin@gmail.com>
#
# 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 <andrey.warkentin@gmail.com>
# 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 <andrey.warkentin@gmail.com>
# 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 <andrey.warkentin@gmail.com>
# 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 <andrey.warkentin@gmail.com>
# 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 <andrey.warkentin@gmail.com>
@@ -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 <pete@akeo.ie>
#
# 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 <andrey.warkentin@gmail.com>
# 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 <andrey.warkentin@gmail.com>
* 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 <andrey.warkentin@gmail.com>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -30,4 +31,7 @@ [LibraryClasses]
DebugLib
IoLib
+[FixedPcd]
+ gBcm283xTokenSpaceGuid.PcdBcm283xRegistersAddress
+
[Guids]
--
2.21.0.windows.1
next prev parent reply other threads:[~2019-11-19 11:38 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-19 11:38 [edk2-platforms][PATCH v2 0/7] Platform/RPi: Early Raspberry Pi 4 groundwork Pete Batard
2019-11-19 11:38 ` [edk2-platforms][PATCH v2 1/7] Platform/RPi: Add missing model name Pete Batard
2019-11-19 12:02 ` Philippe Mathieu-Daudé
2019-11-19 12:14 ` [edk2-devel] " Leif Lindholm
2019-11-19 12:25 ` Philippe Mathieu-Daudé
2019-11-19 12:50 ` Leif Lindholm
2019-11-19 12:25 ` Pete Batard
2019-11-19 11:38 ` [edk2-platforms][PATCH v2 2/7] Platform/RPi: Add model family detection Pete Batard
2019-11-19 11:38 ` Pete Batard [this message]
2019-11-19 11:43 ` [edk2-platforms][PATCH v2 3/7] Platform/RPi: Replace Bcm283x SoC base register address with a PCD Philippe Mathieu-Daudé
2019-11-19 11:57 ` Pete Batard
2019-11-19 12:16 ` Philippe Mathieu-Daudé
2019-11-19 12:44 ` Leif Lindholm
2019-11-19 12:51 ` Ard Biesheuvel
2019-11-19 11:38 ` [edk2-platforms][PATCH v2 4/7] Platform/RPi: Use offsets for Bcm238x SoC register addresses Pete Batard
2019-11-19 11:46 ` Philippe Mathieu-Daudé
2019-11-19 11:38 ` [edk2-platforms][PATCH v2 5/7] Silicon/Broadcom: Add Bcm2711 header Pete Batard
2019-11-19 11:51 ` Philippe Mathieu-Daudé
2019-11-19 11:38 ` [edk2-platforms][PATCH v2 6/7] Platform/RPi: Read more variables from VideoCore during early init Pete Batard
2019-11-19 11:38 ` [edk2-platforms][PATCH v2 7/7] Platform/RPi: Clean up and improve early memory init Pete Batard
2019-11-19 18:20 ` [edk2-platforms][PATCH v2 0/7] Platform/RPi: Early Raspberry Pi 4 groundwork Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191119113809.2472-4-pete@akeo.ie \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox