ArmPlatformPkg: Introduced ArmPlatformSysConfigLib NULL library

Some platforms do not have SysConfig controller used by the ARM
Versatile Express.
Some peripheral drivers currently rely on SysConfigLib (eg: PL031
RTC driver, LCD driver).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16143 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Olivier Martin 2014-09-18 21:15:29 +00:00 committed by oliviermartin
parent efb419ea76
commit 601e360786
4 changed files with 90 additions and 106 deletions

View File

@ -75,7 +75,7 @@
PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf
NorFlashPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/NorFlashArmRealViewEbLib/NorFlashArmRealViewEbLib.inf
LcdPlatformLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/PL111LcdArmRealViewEbLib/PL111LcdArmRealViewEbLib.inf
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmRealViewEbPkg/Library/SysConfigArmRealViewEbLib/SysConfigArmRealViewEbLib.inf
ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf
# Networking Requirements for ArmPlatformPkg/Bds
NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf

View File

@ -1,95 +0,0 @@
/** @file SysConfigArmRealViewEb.c
Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
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 <Base.h>
#include <Library/IoLib.h>
#include <Library/DebugLib.h>
#include <Library/ArmPlatformSysConfigLib.h>
#include <ArmPlatform.h>
/****************************************************************************
*
* This file makes it easier to access the System Configuration Registers
* in the ARM Versatile Express motherboard.
*
****************************************************************************/
RETURN_STATUS
ArmPlatformSysConfigInitialize (
VOID
)
{
return RETURN_SUCCESS;
}
RETURN_STATUS
ArmPlatformSysConfigGet (
IN SYS_CONFIG_FUNCTION Function,
OUT UINT32* Value
)
{
RETURN_STATUS Status;
Status = RETURN_SUCCESS;
// Intercept some functions
switch(Function) {
default:
Status = RETURN_UNSUPPORTED;
}
return Status;
}
RETURN_STATUS
ArmPlatformSysConfigSet (
IN SYS_CONFIG_FUNCTION Function,
IN UINT32 Value
)
{
RETURN_STATUS Status;
Status = RETURN_SUCCESS;
// Intercept some functions
switch(Function) {
default:
Status = RETURN_UNSUPPORTED;
}
return Status;
}
RETURN_STATUS
ArmPlatformSysConfigSetDevice (
IN SYS_CONFIG_FUNCTION Function,
IN UINT32 Device,
IN UINT32 Value
)
{
RETURN_STATUS Status;
Status = RETURN_SUCCESS;
// Intercept some functions
switch(Function) {
default:
Status = RETURN_UNSUPPORTED;
}
return Status;
}

View File

@ -0,0 +1,85 @@
/** @file
Copyright (c) 2011-2014, ARM Ltd. All rights reserved.<BR>
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 <Base.h>
#include <Library/ArmPlatformSysConfigLib.h>
RETURN_STATUS
ArmPlatformSysConfigInitialize (
VOID
)
{
return RETURN_SUCCESS;
}
/***************************************
* GENERAL FUNCTION: AccessSysCfgRegister
* Interacts with
* SYS_CFGSTAT
* SYS_CFGDATA
* SYS_CFGCTRL
* for setting and for reading out values
***************************************/
RETURN_STATUS
AccessSysCfgRegister (
IN UINT32 ReadWrite,
IN UINT32 Function,
IN UINT32 Site,
IN UINT32 Position,
IN UINT32 Device,
IN OUT UINT32* Data
)
{
return RETURN_UNSUPPORTED;
}
RETURN_STATUS
ArmPlatformSysConfigGet (
IN SYS_CONFIG_FUNCTION Function,
OUT UINT32* Value
)
{
return RETURN_UNSUPPORTED;
}
RETURN_STATUS
ArmPlatformSysConfigGetValues (
IN SYS_CONFIG_FUNCTION Function,
IN UINTN Size,
OUT UINT32* Values
)
{
return RETURN_UNSUPPORTED;
}
RETURN_STATUS
ArmPlatformSysConfigSet (
IN SYS_CONFIG_FUNCTION Function,
IN UINT32 Value
)
{
return RETURN_UNSUPPORTED;
}
RETURN_STATUS
ArmPlatformSysConfigSetDevice (
IN SYS_CONFIG_FUNCTION Function,
IN UINT32 Device,
IN UINT32 Value
)
{
return RETURN_UNSUPPORTED;
}

View File

@ -1,8 +1,6 @@
#/** @file
#
# Component description file for SysConfigArmRealViewEbLib module
#
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
# Copyright (c) 2011-2014, ARM Ltd. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@ -16,19 +14,15 @@
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = SysConfigArmRealViewEbLib
FILE_GUID = 46eddfa0-8de0-11e0-944b-0002a5d5c51b
BASE_NAME = ArmPlatformSysConfigLibNull
FILE_GUID = b2a191a9-9bac-4c83-a2f3-d5f6e71efd03
MODULE_TYPE = BASE
VERSION_STRING = 1.0
LIBRARY_CLASS = ArmPlatformSysConfigLib
[Sources.common]
SysConfigArmRealViewEb.c
ArmPlatformSysConfigLibNull.c
[Packages]
MdePkg/MdePkg.dec
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec
ArmPlatformPkg/ArmPlatformPkg.dec
[LibraryClasses]
BaseLib