system76-edk2/ArmPlatformPkg/Include/Library/ArmPlatformSysConfigLib.h
oliviermartin 7b80d1a3b6 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
2011-06-11 11:08:34 +00:00

56 lines
1.3 KiB
C

/** @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__ */