ArmPlatformPkg: Introduce ArmPlatformSysConfigLib

The purpose of this library is to create an interface to communicate
with the platform micro-controller.
It abstracts the communication protocol (eg: SPI, UART, etc) between
the application processor and the micro-controller.

ArmPlatformPkg/ArmVExpressPkg: Implement ArmPlaformSysConfigLib

This implementation allows to communicate with the microcontroller of the
Versatile Express motherboard.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11785 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
oliviermartin
2011-06-11 11:08:34 +00:00
parent 863be5d010
commit 7b80d1a3b6
5 changed files with 379 additions and 0 deletions

View File

@ -0,0 +1,55 @@
/** @file ArmPlatformSysConfigLib.h
Copyright (c) 2011, 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.
**/
#ifndef __ARM_PLATFORM_SYS_CONFIG_H__
#define __ARM_PLATFORM_SYS_CONFIG_H__
#include <Base.h>
/* This header file makes it easier to access the System Configuration Registers
* in the ARM Versatile Express motherboard.
*/
//
// Typedef
//
typedef UINT32 SYS_CONFIG_FUNCTION;
//
// Functions
//
EFI_STATUS
ArmPlatformSysConfigInitialize (
VOID
);
EFI_STATUS
ArmPlatformSysConfigGet (
IN SYS_CONFIG_FUNCTION Function,
OUT UINT32* Value
);
EFI_STATUS
ArmPlatformSysConfigSet (
IN SYS_CONFIG_FUNCTION Function,
IN UINT32 Value
);
EFI_STATUS
ArmPlatformSysConfigSetDevice (
IN SYS_CONFIG_FUNCTION Function,
IN UINT32 Device,
IN UINT32 Value
);
#endif /* __SYS_CFG_REGISTERS_H__ */