]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BeagleBoardPkg/Sec/Arm/Macro.inc
Adding support for BeagleBoard.
[mirror_edk2.git] / BeagleBoardPkg / Sec / Arm / Macro.inc
diff --git a/BeagleBoardPkg/Sec/Arm/Macro.inc b/BeagleBoardPkg/Sec/Arm/Macro.inc
new file mode 100755 (executable)
index 0000000..cacfef9
--- /dev/null
@@ -0,0 +1,67 @@
+//%HEADER%\r
+  MACRO\r
+  MmioWrite32Macro $Address, $Data\r
+  ldr  r1, = ($Address)               \r
+  ldr  r0, = ($Data)                \r
+  str  r0, [r1] \r
+  MEND
+    
+  MACRO\r
+  MmioOr32Macro $Address, $OrData\r
+  ldr  r1, =($Address)              \r
+  ldr  r2, =($OrData)               \r
+  ldr  r0, [r1]                     \r
+  orr  r0, r0, r2                   \r
+  str  r0, [r1]\r
+  MEND
+
+  MACRO\r
+  MmioAnd32Macro $Address, $AndData\r
+  ldr  r1, =($Address)                \r
+  ldr  r2, =($AndData)                \r
+  ldr  r0, [r1]                       \r
+  and  r0, r0, r2                     \r
+  str  r0, [r1]\r
+  MEND
+
+  MACRO\r
+  MmioAndThenOr32Macro $Address, $AndData, $OrData\r
+  ldr  r1, =($Address)                        \r
+  ldr  r0, [r1]                                       \r
+  ldr  r2, =($AndData)                                \r
+  and  r0, r0, r2                                     \r
+  ldr  r2, =($OrData)                                 \r
+  orr  r0, r0, r2                                     \r
+  str  r0, [r1]         \r
+  MEND
+
+  MACRO\r
+  MmioWriteFromReg32Macro $Address, $Reg\r
+  ldr  r1, =($Address)  \r
+  str  $Reg, [r1]       \r
+  MEND
+
+  MACRO\r
+  MmioRead32Macro $Address  \r
+  ldr  r1, =($Address)        \r
+  ldr  r0, [r1]  \r
+  MEND
+
+  MACRO\r
+  MmioReadToReg32Macro $Address, $Reg\r
+  ldr  r1, =($Address)                  \r
+  ldr  $Reg, [r1]       \r
+  MEND
+
+  MACRO\r
+  LoadConstantMacro $Data\r
+  ldr  r0, =($Data)\r
+  MEND
+
+  MACRO\r
+  LoadConstantToRegMacro $Data, $Reg\r
+  ldr  $Reg, =($Data)\r
+  MEND\r
+  \r
+  END\r
+  
\ No newline at end of file