-/** @file
-*
-* Copyright (c) 2011, ARM Limited. All rights reserved.
-*
-* 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.
-*
-**/
-
-#include <Library/IoLib.h>
-#include <Library/ArmPlatformLib.h>
-#include <Library/DebugLib.h>
-#include <Library/PcdLib.h>
-
-#include <Omap3530/Omap3530.h>
-#include <BeagleBoard.h>
-
-VOID
-PadConfiguration (
- BEAGLEBOARD_REVISION Revision
- );
-
-VOID
-ClockInit (
- VOID
- );
-
-/**
- Detect board revision
-
- @return Board revision
-**/
-BEAGLEBOARD_REVISION
-BeagleBoardGetRevision (
- VOID
- )
-{
- UINT32 OldPinDir;
- UINT32 Revision;
-
- // Read GPIO 171, 172, 173
- OldPinDir = MmioRead32 (GPIO6_BASE + GPIO_OE);
- MmioWrite32(GPIO6_BASE + GPIO_OE, (OldPinDir | BIT11 | BIT12 | BIT13));
- Revision = MmioRead32 (GPIO6_BASE + GPIO_DATAIN);
-
- // Restore I/O settings
- MmioWrite32 (GPIO6_BASE + GPIO_OE, OldPinDir);
-
- return (BEAGLEBOARD_REVISION)((Revision >> 11) & 0x7);
-}
-
-/**
- Return if Trustzone is supported by your platform
-
- A non-zero value must be returned if you want to support a Secure World on your platform.
- ArmPlatformTrustzoneInit() will later set up the secure regions.
- This function can return 0 even if Trustzone is supported by your processor. In this case,
- the platform will continue to run in Secure World.
-
- @return A non-zero value if Trustzone supported.
-
-**/
-UINTN
-ArmPlatformTrustzoneSupported (
- VOID
- )
-{
- // The BeagleBoard starts in Normal World (Non Secure World)
- return FALSE;
-}
-
-/**
- Remap the memory at 0x0
-
- Some platform requires or gives the ability to remap the memory at the address 0x0.
- This function can do nothing if this feature is not relevant to your platform.
-
-**/
-VOID
-ArmPlatformBootRemapping (
- VOID
- )
-{
- // Do nothing for the BeagleBoard
-}
-
-/**
- Return the current Boot Mode
-
- This function returns the boot reason on the platform
-
-**/
-EFI_BOOT_MODE
-ArmPlatformGetBootMode (
- VOID
- )
-{
- return BOOT_WITH_FULL_CONFIGURATION;
-}
-
-/**
- Initialize controllers that must setup at the early stage
-
- Some peripherals must be initialized in Secure World.
- For example, some L2x0 requires to be initialized in Secure World
-
-**/
-VOID
-ArmPlatformNormalInitialize (
- VOID
- )
-{
- BEAGLEBOARD_REVISION Revision;
-
- Revision = BeagleBoardGetRevision();
-
- // Set up Pin muxing.
- PadConfiguration (Revision);
-
- // Set up system clocking
- ClockInit ();
-
- // Turn off the functional clock for Timer 3
- MmioAnd32 (CM_FCLKEN_PER, 0xFFFFFFFF ^ CM_ICLKEN_PER_EN_GPT3_ENABLE );
- ArmDataSyncronizationBarrier ();
-
- // Clear IRQs
- MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
- ArmDataSyncronizationBarrier ();
-}
-
-/**
- Initialize the system (or sometimes called permanent) memory
-
- This memory is generally represented by the DRAM.
-
-**/
-VOID
-ArmPlatformInitializeSystemMemory (
- VOID
- )
-{
- // We do not need to initialize the System Memory on RTSM
-}
+/** @file\r
+*\r
+* Copyright (c) 2011-2012, ARM Limited. All rights reserved.\r
+*\r
+* This program and the accompanying materials\r
+* are licensed and made available under the terms and conditions of the BSD License\r
+* which accompanies this distribution. The full text of the license may be found at\r
+* http://opensource.org/licenses/bsd-license.php\r
+*\r
+* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+*\r
+**/\r
+\r
+#include <Library/IoLib.h>\r
+#include <Library/ArmPlatformLib.h>\r
+#include <Library/DebugLib.h>\r
+#include <Library/PcdLib.h>\r
+\r
+#include <Omap3530/Omap3530.h>\r
+#include <BeagleBoard.h>\r
+\r
+VOID\r
+PadConfiguration (\r
+ BEAGLEBOARD_REVISION Revision\r
+ );\r
+\r
+VOID\r
+ClockInit (\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Detect board revision\r
+\r
+ @return Board revision\r
+**/\r
+BEAGLEBOARD_REVISION\r
+BeagleBoardGetRevision (\r
+ VOID\r
+ )\r
+{\r
+ UINT32 OldPinDir;\r
+ UINT32 Revision;\r
+\r
+ // Read GPIO 171, 172, 173\r
+ OldPinDir = MmioRead32 (GPIO6_BASE + GPIO_OE);\r
+ MmioWrite32(GPIO6_BASE + GPIO_OE, (OldPinDir | BIT11 | BIT12 | BIT13));\r
+ Revision = MmioRead32 (GPIO6_BASE + GPIO_DATAIN);\r
+\r
+ // Restore I/O settings\r
+ MmioWrite32 (GPIO6_BASE + GPIO_OE, OldPinDir);\r
+\r
+ return (BEAGLEBOARD_REVISION)((Revision >> 11) & 0x7);\r
+}\r
+\r
+/**\r
+ Return the current Boot Mode\r
+\r
+ This function returns the boot reason on the platform\r
+\r
+**/\r
+EFI_BOOT_MODE\r
+ArmPlatformGetBootMode (\r
+ VOID\r
+ )\r
+{\r
+ return BOOT_WITH_FULL_CONFIGURATION;\r
+}\r
+\r
+/**\r
+ Initialize controllers that must setup at the early stage\r
+\r
+ Some peripherals must be initialized in Secure World.\r
+ For example, some L2x0 requires to be initialized in Secure World\r
+\r
+**/\r
+RETURN_STATUS\r
+ArmPlatformInitialize (\r
+ IN UINTN MpId\r
+ )\r
+{\r
+ BEAGLEBOARD_REVISION Revision;\r
+\r
+ Revision = BeagleBoardGetRevision();\r
+\r
+ // Set up Pin muxing.\r
+ PadConfiguration (Revision);\r
+\r
+ // Set up system clocking\r
+ ClockInit ();\r
+\r
+ // Turn off the functional clock for Timer 3\r
+ MmioAnd32 (CM_FCLKEN_PER, 0xFFFFFFFF ^ CM_ICLKEN_PER_EN_GPT3_ENABLE );\r
+ ArmDataSyncronizationBarrier ();\r
+\r
+ // Clear IRQs\r
+ MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);\r
+ ArmDataSyncronizationBarrier ();\r
+\r
+ return RETURN_SUCCESS;\r
+}\r
+\r
+/**\r
+ Initialize the system (or sometimes called permanent) memory\r
+\r
+ This memory is generally represented by the DRAM.\r
+\r
+**/\r
+VOID\r
+ArmPlatformInitializeSystemMemory (\r
+ VOID\r
+ )\r
+{\r
+ // We do not need to initialize the System Memory on RTSM\r
+}\r
+\r
+VOID\r
+ArmPlatformGetPlatformPpiList (\r
+ OUT UINTN *PpiListSize,\r
+ OUT EFI_PEI_PPI_DESCRIPTOR **PpiList\r
+ )\r
+{\r
+ *PpiListSize = 0;\r
+ *PpiList = NULL;\r
+}\r
+\r
+UINTN\r
+ArmPlatformGetCorePosition (\r
+ IN UINTN MpId\r
+ )\r
+{\r
+ return 1;\r
+}\r
+\r