summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg/Include
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-11 11:08:34 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-11 11:08:34 +0000
commit7b80d1a3b60f75732de1a8a84ad9a34bcd6d2adb (patch)
tree5946dc01fc9f0f6b1d724a78b52c01485d5f4ad7 /ArmPlatformPkg/Include
parent863be5d010636e1115cf2f7afe743999f194e3a1 (diff)
downloadedk2-platforms-7b80d1a3b60f75732de1a8a84ad9a34bcd6d2adb.tar.xz
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
Diffstat (limited to 'ArmPlatformPkg/Include')
-rw-r--r--ArmPlatformPkg/Include/Library/ArmPlatformSysConfigLib.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/ArmPlatformPkg/Include/Library/ArmPlatformSysConfigLib.h b/ArmPlatformPkg/Include/Library/ArmPlatformSysConfigLib.h
new file mode 100644
index 0000000000..62855832cb
--- /dev/null
+++ b/ArmPlatformPkg/Include/Library/ArmPlatformSysConfigLib.h
@@ -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__ */