summaryrefslogtreecommitdiff
path: root/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MrcOemMmio.h
diff options
context:
space:
mode:
Diffstat (limited to 'ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MrcOemMmio.h')
-rw-r--r--ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MrcOemMmio.h192
1 files changed, 192 insertions, 0 deletions
diff --git a/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MrcOemMmio.h b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MrcOemMmio.h
new file mode 100644
index 0000000..f5621cd
--- /dev/null
+++ b/ReferenceCode/Chipset/SystemAgent/MemoryInit/Pei/MrcOemMmio.h
@@ -0,0 +1,192 @@
+/** @file
+
+ This file contains the memory mapped I/O manipulation definitions.
+
+@copyright
+ Copyright (c) 1999 - 2012 Intel Corporation. All rights reserved.
+ This software and associated documentation (if any) is furnished
+ under a license and may only be used or copied in accordance
+ with the terms of the license. Except as permitted by such
+ license, no part of this software or documentation may be
+ reproduced, stored in a retrieval system, or transmitted in any
+ form or by any means without the express written consent of
+ Intel Corporation.
+
+ This file contains an 'Intel Peripheral Driver' and uniquely
+ identified as "Intel Reference Module" and is
+ licensed for Intel CPUs and chipsets under the terms of your
+ license agreement with Intel or your vendor. This file may
+ be modified by the user, subject to additional terms of the
+ license agreement.
+**/
+
+#ifndef _MrcOemMmio_h_
+#define _MrcOemMmio_h_
+
+#include "MrcTypes.h"
+
+/**
+@brief
+ Read 64 bits from the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[out] Value - Where to store the read value.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing.
+**/
+extern
+void
+MrcOemMmioRead64 (
+ IN U32 Offset,
+ OUT U64 *Value,
+ IN U32 BaseAddress
+ );
+
+/**
+@brief
+ Read 32 bits from the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[out] Value - Where to store the read value.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing.
+**/
+extern
+void
+MrcOemMmioRead (
+ IN U32 Offset,
+ OUT U32 *Value,
+ IN U32 BaseAddress
+ );
+
+/**
+@brief
+ Read 16 bits from the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[out] Value - Where to store the read value.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing.
+**/
+extern
+void
+MrcOemMmioRead16 (
+ IN U32 Offset,
+ OUT U16 *Value,
+ IN U32 BaseAddress
+ );
+
+/**
+@brief
+ Read 8 bits from the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[out] Value - Where to store the read value.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing.
+**/
+extern
+void
+MrcOemMmioRead8 (
+ IN U32 Offset,
+ OUT U8 *Value,
+ IN U32 BaseAddress
+ );
+
+/**
+@brief
+ Write 64 bits to the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[in] Value - The value to write.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing
+**/
+extern
+void
+MrcOemMmioWrite64 (
+ IN U32 Offset,
+ IN U64 Value,
+ IN U32 BaseAddress
+ );
+
+/**
+@brief
+ Write 32 bits to the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[in] Value - The value to write.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing.
+**/
+extern
+void
+MrcOemMmioWrite (
+ IN U32 Offset,
+ IN U32 Value,
+ IN U32 BaseAddress
+ );
+
+/**
+@brief
+ Write 16 bits to the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[in] Value - The value to write.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing.
+**/
+extern
+void
+MrcOemMmioWrite16 (
+ IN U32 Offset,
+ IN U16 Value,
+ IN U32 BaseAddress
+ );
+
+/**
+@brief
+ Write 8 bits to the Memory Mapped I/O space.
+
+ @param[in] Offset - Offset from the specified base address.
+ @param[in] Value - The value to write.
+ @param[in] BaseAddress - MMIO space base address.
+
+ @retval Nothing.
+**/
+extern
+void
+MrcOemMmioWrite8 (
+ IN U32 Offset,
+ IN U8 Value,
+ IN U32 BaseAddress
+ );
+
+extern
+void
+MmioReadCount (
+ void
+ );
+
+/**
+@brief
+ This function count the number of access to writes MMIO registers.
+
+ @param[in] Nothing
+
+ @retval Nothing
+**/
+extern
+void
+MmioWriteCount (
+ void
+ );
+
+#endif // _MrcOemMmio_h_