From d355ba4855592b7664d5ca36f6516d937e3aa4a4 Mon Sep 17 00:00:00 2001 From: oliviermartin Date: Sat, 11 Jun 2011 11:25:03 +0000 Subject: [PATCH] ArmPlatformPkg/ArmRealViewEb: Add SysConfigLib support The ARM RealViewEB tiles could have their microcontrollers mapped into the ARM RealView EB motherboard memory map git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11796 6f19259b-4bc3-4df7-8a09-765794883524 --- .../ArmRealViewEb-RTSM-A8.dsc | 1 + .../ArmRealViewEb-RTSM-A9x2.dsc | 1 + .../SysConfigArmRealViewEb.c | 95 +++++++++++++++++++ .../SysConfigArmRealViewEbLib.inf | 45 +++++++++ 4 files changed, 142 insertions(+) create mode 100644 ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEb.c create mode 100644 ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc index 47b4d25f47..dee94ad69f 100644 --- a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc +++ b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc @@ -113,6 +113,7 @@ BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf + ArmPlatformSysConfigLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf NorFlashPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/NorFlashArmRealViewEbLib/NorFlashArmRealViewEbLib.inf LcdPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/PL111LcdArmRealViewEbLib/PL111LcdArmRealViewEbLib.inf diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc index b6c3acde18..f9d2acfba7 100644 --- a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc +++ b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc @@ -114,6 +114,7 @@ BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf + ArmPlatformSysConfigLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf NorFlashPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/NorFlashArmRealViewEbLib/NorFlashArmRealViewEbLib.inf LcdPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/PL111LcdArmRealViewEbLib/PL111LcdArmRealViewEbLib.inf diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEb.c b/ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEb.c new file mode 100644 index 0000000000..d23368452a --- /dev/null +++ b/ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEb.c @@ -0,0 +1,95 @@ +/** @file SysCfgArmPlatform.c + + Copyright (c) 2011, ARM Ltd. All rights reserved.
+ This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include +#include +#include + +#include +#include + +/**************************************************************************** + * + * This file makes it easier to access the System Configuration Registers + * in the ARM Versatile Express motherboard. + * + ****************************************************************************/ + +EFI_STATUS +ArmPlatformSysConfigInitialize ( + VOID + ) +{ + return EFI_SUCCESS; +} + +EFI_STATUS +ArmPlatformSysConfigGet ( + IN SYS_CONFIG_FUNCTION Function, + OUT UINT32* Value + ) +{ + EFI_STATUS Status; + + Status = EFI_SUCCESS; + + // Intercept some functions + switch(Function) { + + default: + Status = EFI_UNSUPPORTED; + } + + return Status; +} + +EFI_STATUS +ArmPlatformSysConfigSet ( + IN SYS_CONFIG_FUNCTION Function, + IN UINT32 Value + ) +{ + EFI_STATUS Status; + + Status = EFI_SUCCESS; + + // Intercept some functions + switch(Function) { + + default: + Status = EFI_UNSUPPORTED; + } + + return Status; +} + +EFI_STATUS +ArmPlatformSysConfigSetDevice ( + IN SYS_CONFIG_FUNCTION Function, + IN UINT32 Device, + IN UINT32 Value + ) +{ + EFI_STATUS Status; + + Status = EFI_SUCCESS; + + // Intercept some functions + switch(Function) { + + default: + Status = EFI_UNSUPPORTED; + } + + return Status; +} diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf b/ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf new file mode 100644 index 0000000000..eeeab226db --- /dev/null +++ b/ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf @@ -0,0 +1,45 @@ +#/** @file +# +# Component discription file for ArmVeGraphicsDxe module +# +# Copyright (c) 2011, ARM Ltd. All rights reserved.
+# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = SysConfigArmRealViewEbLib + FILE_GUID = 46eddfa0-8de0-11e0-944b-0002a5d5c51b + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = ArmPlatformSysConfigLib + +[Sources.common] + SysConfigArmRealViewEb.c + +[Packages] + MdePkg/MdePkg.dec + ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec + ArmPlatformPkg/ArmPlatformPkg.dec + +[LibraryClasses] + BaseLib + +[Guids] + +[Protocols] + +[FeaturePcd] + +[FixedPcd.common] + +[Pcd.common] + +[Depex]