diff mbox

[Linaro-uefi] Chips/TI Platforms/TI: drop BeagleBoard

Message ID 1477417788-20995-1-git-send-email-ard.biesheuvel@linaro.org
State Accepted
Commit 5bb039eab696ce67355c3b6ac0112be49956efe2
Headers show

Commit Message

Ard Biesheuvel Oct. 25, 2016, 5:49 p.m. UTC
There is no longer a reason to keep a clone of the EDK2 version in
OpenPlatformPkg, so remove it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Chips/TexasInstruments/Omap35xx/Contributions.txt                                       |  218 ---
 Chips/TexasInstruments/Omap35xx/Flash/Flash.c                                           |  774 ----------
 Chips/TexasInstruments/Omap35xx/Flash/Flash.h                                           |  106 --
 Chips/TexasInstruments/Omap35xx/Flash/Flash.inf                                         |   48 -
 Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c                                             |  135 --
 Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf                                           |   45 -
 Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h                            |   90 --
 Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h                               |   44 -
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h                             |   40 -
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h                          |  130 --
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h                         |  131 --
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h                         |  107 --
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h                          |   62 -
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h                    |   48 -
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h                        |  214 ---
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h             |  303 ----
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h                         |  165 ---
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h                        |   82 --
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h                         |   54 -
 Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h                          |   48 -
 Chips/TexasInstruments/Omap35xx/Include/TPS65950.h                                      |   80 --
 Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c                        |  357 -----
 Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf                           |   54 -
 Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c             |  445 ------
 Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c             |  400 ------
 Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h             |  157 --
 Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf           |   52 -
 Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c         |  165 ---
 Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf       |   46 -
 Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c                           |   72 -
 Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf                         |   48 -
 Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c                     |  102 --
 Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf                   |   41 -
 Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf           |   45 -
 Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c                     |  133 --
 Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c                         |  176 ---
 Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf                       |   50 -
 Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c                               |   83 --
 Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf                             |   37 -
 Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c             |  297 ----
 Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf           |   38 -
 Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c                 |   90 --
 Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf               |   40 -
 Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c                   |  214 ---
 Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf                 |   44 -
 Chips/TexasInstruments/Omap35xx/License.txt                                             |   26 -
 Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c                                        | 1494 --------------------
 Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h                                        |  175 ---
 Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf                                      |   54 -
 Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c                                 |  677 ---------
 Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h                                 |   44 -
 Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf                               |   53 -
 Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec                                         |   58 -
 Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc                                         |  188 ---
 Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c                             |  633 ---------
 Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h                             |  292 ----
 Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf                           |   56 -
 Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c                          |  306 ----
 Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c                                        |  325 -----
 Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf                                      |   45 -
 Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c                                  |  116 --
 Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf                                |   48 -
 Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c                                        |  376 -----
 Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf                                   |   57 -
 Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf                                      |   65 -
 Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c                                   |  242 ----
 Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h                                   |   66 -
 Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c                             |  150 --
 Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec                               |   36 -
 Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc                               |  481 -------
 Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf                               |  310 ----
 Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat                          |   41 -
 Platforms/TexasInstruments/BeagleBoard/Contributions.txt                                |  218 ---
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc           |   21 -
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh          |   23 -
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_dummy.axf                   |  Bin 7984 -> 0 bytes
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc                |   67 -
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc            |   23 -
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc          |  194 ---
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc          |  118 --
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm        |  211 ---
 Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm |  188 ---
 Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h                            |  179 ---
 Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c             |  135 --
 Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S       |   37 -
 Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm     |   48 -
 Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf        |   54 -
 Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c          |   84 --
 Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c                   |   69 -
 Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c        |  322 -----
 Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c                    |  299 ----
 Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf                  |   53 -
 Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c              |  103 --
 Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf            |   41 -
 Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c          |  165 ---
 Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf        |   49 -
 Platforms/TexasInstruments/BeagleBoard/License.txt                                      |   26 -
 Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile                                |   20 -
 Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c                           |  408 ------
 Platforms/TexasInstruments/BeagleBoard/Tools/makefile                                   |   22 -
 Platforms/TexasInstruments/BeagleBoard/Tools/replace.c                                  |  146 --
 Platforms/TexasInstruments/BeagleBoard/b.bat                                            |   68 -
 Platforms/TexasInstruments/BeagleBoard/ba.bat                                           |   68 -
 Platforms/TexasInstruments/BeagleBoard/build.sh                                         |  150 --
 Platforms/TexasInstruments/BeagleBoard/readme.txt                                       |   78 -
 105 files changed, 16211 deletions(-)

Comments

Leif Lindholm Oct. 25, 2016, 5:55 p.m. UTC | #1
On Tue, Oct 25, 2016 at 06:49:48PM +0100, Ard Biesheuvel wrote:
> There is no longer a reason to keep a clone of the EDK2 version in
> OpenPlatformPkg, so remove it.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

> ---
>  Chips/TexasInstruments/Omap35xx/Contributions.txt                                       |  218 ---
>  Chips/TexasInstruments/Omap35xx/Flash/Flash.c                                           |  774 ----------
>  Chips/TexasInstruments/Omap35xx/Flash/Flash.h                                           |  106 --
>  Chips/TexasInstruments/Omap35xx/Flash/Flash.inf                                         |   48 -
>  Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c                                             |  135 --
>  Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf                                           |   45 -
>  Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h                            |   90 --
>  Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h                               |   44 -
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h                             |   40 -
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h                          |  130 --
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h                         |  131 --
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h                         |  107 --
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h                          |   62 -
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h                    |   48 -
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h                        |  214 ---
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h             |  303 ----
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h                         |  165 ---
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h                        |   82 --
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h                         |   54 -
>  Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h                          |   48 -
>  Chips/TexasInstruments/Omap35xx/Include/TPS65950.h                                      |   80 --
>  Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c                        |  357 -----
>  Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf                           |   54 -
>  Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c             |  445 ------
>  Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c             |  400 ------
>  Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h             |  157 --
>  Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf           |   52 -
>  Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c         |  165 ---
>  Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf       |   46 -
>  Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c                           |   72 -
>  Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf                         |   48 -
>  Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c                     |  102 --
>  Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf                   |   41 -
>  Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf           |   45 -
>  Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c                     |  133 --
>  Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c                         |  176 ---
>  Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf                       |   50 -
>  Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c                               |   83 --
>  Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf                             |   37 -
>  Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c             |  297 ----
>  Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf           |   38 -
>  Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c                 |   90 --
>  Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf               |   40 -
>  Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c                   |  214 ---
>  Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf                 |   44 -
>  Chips/TexasInstruments/Omap35xx/License.txt                                             |   26 -
>  Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c                                        | 1494 --------------------
>  Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h                                        |  175 ---
>  Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf                                      |   54 -
>  Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c                                 |  677 ---------
>  Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h                                 |   44 -
>  Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf                               |   53 -
>  Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec                                         |   58 -
>  Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc                                         |  188 ---
>  Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c                             |  633 ---------
>  Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h                             |  292 ----
>  Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf                           |   56 -
>  Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c                          |  306 ----
>  Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c                                        |  325 -----
>  Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf                                      |   45 -
>  Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c                                  |  116 --
>  Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf                                |   48 -
>  Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c                                        |  376 -----
>  Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf                                   |   57 -
>  Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf                                      |   65 -
>  Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c                                   |  242 ----
>  Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h                                   |   66 -
>  Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c                             |  150 --
>  Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec                               |   36 -
>  Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc                               |  481 -------
>  Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf                               |  310 ----
>  Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat                          |   41 -
>  Platforms/TexasInstruments/BeagleBoard/Contributions.txt                                |  218 ---
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc           |   21 -
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh          |   23 -
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_dummy.axf                   |  Bin 7984 -> 0 bytes
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc                |   67 -
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc            |   23 -
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc          |  194 ---
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc          |  118 --
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm        |  211 ---
>  Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm |  188 ---
>  Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h                            |  179 ---
>  Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c             |  135 --
>  Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S       |   37 -
>  Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm     |   48 -
>  Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf        |   54 -
>  Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c          |   84 --
>  Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c                   |   69 -
>  Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c        |  322 -----
>  Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c                    |  299 ----
>  Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf                  |   53 -
>  Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c              |  103 --
>  Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf            |   41 -
>  Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c          |  165 ---
>  Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf        |   49 -
>  Platforms/TexasInstruments/BeagleBoard/License.txt                                      |   26 -
>  Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile                                |   20 -
>  Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c                           |  408 ------
>  Platforms/TexasInstruments/BeagleBoard/Tools/makefile                                   |   22 -
>  Platforms/TexasInstruments/BeagleBoard/Tools/replace.c                                  |  146 --
>  Platforms/TexasInstruments/BeagleBoard/b.bat                                            |   68 -
>  Platforms/TexasInstruments/BeagleBoard/ba.bat                                           |   68 -
>  Platforms/TexasInstruments/BeagleBoard/build.sh                                         |  150 --
>  Platforms/TexasInstruments/BeagleBoard/readme.txt                                       |   78 -
>  105 files changed, 16211 deletions(-)
> 
> diff --git a/Chips/TexasInstruments/Omap35xx/Contributions.txt b/Chips/TexasInstruments/Omap35xx/Contributions.txt
> deleted file mode 100644
> index f87cbd73c693..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Contributions.txt
> +++ /dev/null
> @@ -1,218 +0,0 @@
> -
> -======================
> -= Code Contributions =
> -======================
> -
> -To make a contribution to a TianoCore project, follow these steps.
> -1. Create a change description in the format specified below to
> -   use in the source control commit log.
> -2. Your commit message must include your "Signed-off-by" signature,
> -   and "Contributed-under" message.
> -3. Your "Contributed-under" message explicitly states that the
> -   contribution is made under the terms of the specified
> -   contribution agreement.  Your "Contributed-under" message
> -   must include the name of contribution agreement and version.
> -   For example: Contributed-under: TianoCore Contribution Agreement 1.0
> -   The "TianoCore Contribution Agreement" is included below in
> -   this document.
> -4. Submit your code to the TianoCore project using the process
> -   that the project documents on its web page.  If the process is
> -   not documented, then submit the code on development email list
> -   for the project.
> -5. It is preferred that contributions are submitted using the same
> -   copyright license as the base project. When that is not possible,
> -   then contributions using the following licenses can be accepted:
> -   * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
> -   * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
> -   * MIT: http://opensource.org/licenses/MIT
> -   * Python-2.0: http://opensource.org/licenses/Python-2.0
> -   * Zlib: http://opensource.org/licenses/Zlib
> -
> -   Contributions of code put into the public domain can also be
> -   accepted.
> -
> -   Contributions using other licenses might be accepted, but further
> -   review will be required.
> -
> -=====================================================
> -= Change Description / Commit Message / Patch Email =
> -=====================================================
> -
> -Your change description should use the standard format for a
> -commit message, and must include your "Signed-off-by" signature
> -and the "Contributed-under" message.
> -
> -== Sample Change Description / Commit Message =
> -
> -=== Start of sample patch email message ===
> -
> -From: Contributor Name <contributor@example.com>
> -Subject: [PATCH] CodeModule: Brief-single-line-summary
> -
> -Full-commit-message
> -
> -Contributed-under: TianoCore Contribution Agreement 1.0
> -Signed-off-by: Contributor Name <contributor@example.com>
> ----
> -
> -An extra message for the patch email which will not be considered part
> -of the commit message can be added here.
> -
> -Patch content inline or attached
> -
> -=== End of sample patch email message ===
> -
> -=== Notes for sample patch email ===
> -
> -* The first line of commit message is taken from the email's subject
> -  line following [PATCH]. The remaining portion of the commit message
> -  is the email's content until the '---' line.
> -* git format-patch is one way to create this format
> -
> -=== Definitions for sample patch email ===
> -
> -* "CodeModule" is a short idenfier for the affected code.  For
> -  example MdePkg, or MdeModulePkg UsbBusDxe.
> -* "Brief-single-line-summary" is a short summary of the change.
> -* The entire first line should be less than ~70 characters.
> -* "Full-commit-message" a verbose multiple line comment describing
> -  the change.  Each line should be less than ~70 characters.
> -* "Contributed-under" explicitely states that the contribution is
> -  made under the terms of the contribtion agreement.  This
> -  agreement is included below in this document.
> -* "Signed-off-by" is the contributor's signature identifying them
> -  by their real/legal name and their email address.
> -
> -========================================
> -= TianoCore Contribution Agreement 1.0 =
> -========================================
> -
> -INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
> -INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
> -PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
> -TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
> -TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
> -REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
> -CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
> -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
> -BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
> -AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
> -AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
> -USE THE CONTENT.
> -
> -Unless otherwise indicated, all Content made available on the TianoCore
> -site is provided to you under the terms and conditions of the BSD
> -License ("BSD"). A copy of the BSD License is available at
> -http://opensource.org/licenses/bsd-license.php
> -or when applicable, in the associated License.txt file.
> -
> -Certain other content may be made available under other licenses as
> -indicated in or with such Content. (For example, in a License.txt file.)
> -
> -You accept and agree to the following terms and conditions for Your
> -present and future Contributions submitted to TianoCore site. Except
> -for the license granted to Intel hereunder, You reserve all right,
> -title, and interest in and to Your Contributions.
> -
> -== SECTION 1: Definitions ==
> -* "You" or "Contributor" shall mean the copyright owner or legal
> -  entity authorized by the copyright owner that is making a
> -  Contribution hereunder. All other entities that control, are
> -  controlled by, or are under common control with that entity are
> -  considered to be a single Contributor. For the purposes of this
> -  definition, "control" means (i) the power, direct or indirect, to
> -  cause the direction or management of such entity, whether by
> -  contract or otherwise, or (ii) ownership of fifty percent (50%)
> -  or more of the outstanding shares, or (iii) beneficial ownership
> -  of such entity.
> -* "Contribution" shall mean any original work of authorship,
> -  including any modifications or additions to an existing work,
> -  that is intentionally submitted by You to the TinaoCore site for
> -  inclusion in, or documentation of, any of the Content. For the
> -  purposes of this definition, "submitted" means any form of
> -  electronic, verbal, or written communication sent to the
> -  TianoCore site or its representatives, including but not limited
> -  to communication on electronic mailing lists, source code
> -  control systems, and issue tracking systems that are managed by,
> -  or on behalf of, the TianoCore site for the purpose of
> -  discussing and improving the Content, but excluding
> -  communication that is conspicuously marked or otherwise
> -  designated in writing by You as "Not a Contribution."
> -
> -== SECTION 2: License for Contributions ==
> -* Contributor hereby agrees that redistribution and use of the
> -  Contribution in source and binary forms, with or without
> -  modification, are permitted provided that the following
> -  conditions are met:
> -** Redistributions of source code must retain the Contributor's
> -   copyright notice, this list of conditions and the following
> -   disclaimer.
> -** Redistributions in binary form must reproduce the Contributor's
> -   copyright notice, this list of conditions and the following
> -   disclaimer in the documentation and/or other materials provided
> -   with the distribution.
> -* Disclaimer. None of the names of Contributor, Intel, or the names
> -  of their respective contributors may be used to endorse or
> -  promote products derived from this software without specific
> -  prior written permission.
> -* Contributor grants a license (with the right to sublicense) under
> -  claims of Contributor's patents that Contributor can license that
> -  are infringed by the Contribution (as delivered by Contributor) to
> -  make, use, distribute, sell, offer for sale, and import the
> -  Contribution and derivative works thereof solely to the minimum
> -  extent necessary for licensee to exercise the granted copyright
> -  license; this patent license applies solely to those portions of
> -  the Contribution that are unmodified. No hardware per se is
> -  licensed.
> -* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
> -  CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
> -  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> -  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> -  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> -  CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> -  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> -  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> -  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> -  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> -  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
> -  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
> -  CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> -  DAMAGE.
> -
> -== SECTION 3: Representations ==
> -* You represent that You are legally entitled to grant the above
> -  license. If your employer(s) has rights to intellectual property
> -  that You create that includes Your Contributions, You represent
> -  that You have received permission to make Contributions on behalf
> -  of that employer, that Your employer has waived such rights for
> -  Your Contributions.
> -* You represent that each of Your Contributions is Your original
> -  creation (see Section 4 for submissions on behalf of others).
> -  You represent that Your Contribution submissions include complete
> -  details of any third-party license or other restriction
> -  (including, but not limited to, related patents and trademarks)
> -  of which You are personally aware and which are associated with
> -  any part of Your Contributions.
> -
> -== SECTION 4: Third Party Contributions ==
> -* Should You wish to submit work that is not Your original creation,
> -  You may submit it to TianoCore site separately from any
> -  Contribution, identifying the complete details of its source
> -  and of any license or other restriction (including, but not
> -  limited to, related patents, trademarks, and license agreements)
> -  of which You are personally aware, and conspicuously marking the
> -  work as "Submitted on behalf of a third-party: [named here]".
> -
> -== SECTION 5: Miscellaneous ==
> -* Applicable Laws. Any claims arising under or relating to this
> -  Agreement shall be governed by the internal substantive laws of
> -  the State of Delaware or federal courts located in Delaware,
> -  without regard to principles of conflict of laws.
> -* Language. This Agreement is in the English language only, which
> -  language shall be controlling in all respects, and all versions
> -  of this Agreement in any other language shall be for accommodation
> -  only and shall not be binding. All communications and notices made
> -  or given pursuant to this Agreement, and all documentation and
> -  support to be provided, unless otherwise noted, shall be in the
> -  English language.
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Flash/Flash.c b/Chips/TexasInstruments/Omap35xx/Flash/Flash.c
> deleted file mode 100644
> index b8de109d87b4..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Flash/Flash.c
> +++ /dev/null
> @@ -1,774 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include "Flash.h"
> -
> -NAND_PART_INFO_TABLE gNandPartInfoTable[1] = {
> -  { 0x2C, 0xBA, 17, 11 }
> -};
> -
> -NAND_FLASH_INFO *gNandFlashInfo = NULL;
> -UINT8           *gEccCode;
> -UINTN           gNum512BytesChunks = 0;
> -
> -//
> -
> -// Device path for SemiHosting. It contains our autogened Caller ID GUID.
> -
> -//
> -
> -typedef struct {
> -
> -  VENDOR_DEVICE_PATH        Guid;
> -
> -  EFI_DEVICE_PATH_PROTOCOL  End;
> -
> -} FLASH_DEVICE_PATH;
> -
> -
> -
> -FLASH_DEVICE_PATH gDevicePath = {
> -  {
> -    { HARDWARE_DEVICE_PATH, HW_VENDOR_DP, { sizeof (VENDOR_DEVICE_PATH), 0 } },
> -    EFI_CALLER_ID_GUID
> -  },
> -  { END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0} }
> -};
> -
> -
> -
> -//Actual page address = Column address + Page address + Block address.
> -UINTN
> -GetActualPageAddressInBytes (
> -  UINTN BlockIndex,
> -  UINTN PageIndex
> -)
> -{
> -  //BlockAddressStart = Start of the Block address in actual NAND
> -  //PageAddressStart = Start of the Page address in actual NAND
> -  return ((BlockIndex << gNandFlashInfo->BlockAddressStart) + (PageIndex << gNandFlashInfo->PageAddressStart));
> -}
> -
> -VOID
> -NandSendCommand (
> -  UINT8 Command
> -)
> -{
> -  MmioWrite16(GPMC_NAND_COMMAND_0, Command);
> -}
> -
> -VOID
> -NandSendAddress (
> -  UINT8 Address
> -)
> -{
> -  MmioWrite16(GPMC_NAND_ADDRESS_0, Address);
> -}
> -
> -UINT16
> -NandReadStatus (
> -  VOID
> -  )
> -{
> -  //Send READ STATUS command
> -  NandSendCommand(READ_STATUS_CMD);
> -
> -  //Read status.
> -  return MmioRead16(GPMC_NAND_DATA_0);
> -}
> -
> -VOID
> -NandSendAddressCycles (
> -  UINTN Address
> -)
> -{
> -  //Column address
> -  NandSendAddress(Address & 0xff);
> -  Address >>= 8;
> -
> -  //Column address
> -  NandSendAddress(Address & 0x07);
> -  Address >>= 3;
> -
> -  //Page and Block address
> -  NandSendAddress(Address & 0xff);
> -  Address >>= 8;
> -
> -  //Block address
> -  NandSendAddress(Address & 0xff);
> -  Address >>= 8;
> -
> -  //Block address
> -  NandSendAddress(Address & 0x01);
> -}
> -
> -VOID
> -GpmcInit (
> -  VOID
> -  )
> -{
> -  //Enable Smart-idle mode.
> -  MmioWrite32 (GPMC_SYSCONFIG, SMARTIDLEMODE);
> -
> -  //Set IRQSTATUS and IRQENABLE to the reset value
> -  MmioWrite32 (GPMC_IRQSTATUS, 0x0);
> -  MmioWrite32 (GPMC_IRQENABLE, 0x0);
> -
> -  //Disable GPMC timeout control.
> -  MmioWrite32 (GPMC_TIMEOUT_CONTROL, TIMEOUTDISABLE);
> -
> -  //Set WRITEPROTECT bit to enable write access.
> -  MmioWrite32 (GPMC_CONFIG, WRITEPROTECT_HIGH);
> -
> -  //NOTE: Following GPMC_CONFIGi_0 register settings are taken from u-boot memory dump.
> -  MmioWrite32 (GPMC_CONFIG1_0, DEVICETYPE_NAND | DEVICESIZE_X16);
> -  MmioWrite32 (GPMC_CONFIG2_0, CSRDOFFTIME | CSWROFFTIME);
> -  MmioWrite32 (GPMC_CONFIG3_0, ADVRDOFFTIME | ADVWROFFTIME);
> -  MmioWrite32 (GPMC_CONFIG4_0, OEONTIME | OEOFFTIME | WEONTIME | WEOFFTIME);
> -  MmioWrite32 (GPMC_CONFIG5_0, RDCYCLETIME | WRCYCLETIME | RDACCESSTIME | PAGEBURSTACCESSTIME);
> -  MmioWrite32 (GPMC_CONFIG6_0, WRACCESSTIME | WRDATAONADMUXBUS | CYCLE2CYCLEDELAY | CYCLE2CYCLESAMECSEN);
> -  MmioWrite32 (GPMC_CONFIG7_0, MASKADDRESS_128MB | CSVALID | BASEADDRESS);
> -}
> -
> -EFI_STATUS
> -NandDetectPart (
> -  VOID
> -)
> -{
> -  UINT8      NandInfo = 0;
> -  UINT8      PartInfo[5];
> -  UINTN      Index;
> -  BOOLEAN    Found = FALSE;
> -
> -  //Send READ ID command
> -  NandSendCommand(READ_ID_CMD);
> -
> -  //Send one address cycle.
> -  NandSendAddress(0);
> -
> -  //Read 5-bytes to idenfity code programmed into the NAND flash devices.
> -  //BYTE 0 = Manufacture ID
> -  //Byte 1 = Device ID
> -  //Byte 2, 3, 4 = Nand part specific information (Page size, Block size etc)
> -  for (Index = 0; Index < sizeof(PartInfo); Index++) {
> -    PartInfo[Index] = MmioRead16(GPMC_NAND_DATA_0);
> -  }
> -
> -  //Check if the ManufactureId and DeviceId are part of the currently supported nand parts.
> -  for (Index = 0; Index < sizeof(gNandPartInfoTable)/sizeof(NAND_PART_INFO_TABLE); Index++) {
> -    if (gNandPartInfoTable[Index].ManufactureId == PartInfo[0] && gNandPartInfoTable[Index].DeviceId == PartInfo[1]) {
> -      gNandFlashInfo->BlockAddressStart = gNandPartInfoTable[Index].BlockAddressStart;
> -      gNandFlashInfo->PageAddressStart = gNandPartInfoTable[Index].PageAddressStart;
> -      Found = TRUE;
> -      break;
> -    }
> -  }
> -
> -  if (Found == FALSE) {
> -    DEBUG ((EFI_D_ERROR, "Nand part is not currently supported. Manufacture id: %x, Device id: %x\n", PartInfo[0], PartInfo[1]));
> -    return EFI_NOT_FOUND;
> -  }
> -
> -  //Populate NAND_FLASH_INFO based on the result of READ ID command.
> -  gNandFlashInfo->ManufactureId = PartInfo[0];
> -  gNandFlashInfo->DeviceId = PartInfo[1];
> -  NandInfo = PartInfo[3];
> -
> -  if (PAGE_SIZE(NandInfo) == PAGE_SIZE_2K_VAL) {
> -    gNandFlashInfo->PageSize = PAGE_SIZE_2K;
> -  } else {
> -    DEBUG ((EFI_D_ERROR, "Unknown Page size.\n"));
> -    return EFI_DEVICE_ERROR;
> -  }
> -
> -  if (SPARE_AREA_SIZE(NandInfo) == SPARE_AREA_SIZE_64B_VAL) {
> -    gNandFlashInfo->SparePageSize = SPARE_AREA_SIZE_64B;
> -  } else {
> -    DEBUG ((EFI_D_ERROR, "Unknown Spare area size.\n"));
> -    return EFI_DEVICE_ERROR;
> -  }
> -
> -  if (BLOCK_SIZE(NandInfo) == BLOCK_SIZE_128K_VAL) {
> -    gNandFlashInfo->BlockSize = BLOCK_SIZE_128K;
> -  } else {
> -    DEBUG ((EFI_D_ERROR, "Unknown Block size.\n"));
> -    return EFI_DEVICE_ERROR;
> -  }
> -
> -  if (ORGANIZATION(NandInfo) == ORGANIZATION_X8) {
> -    gNandFlashInfo->Organization = 0;
> -  } else if (ORGANIZATION(NandInfo) == ORGANIZATION_X16) {
> -    gNandFlashInfo->Organization = 1;
> -  }
> -
> -  //Calculate total number of blocks.
> -  gNandFlashInfo->NumPagesPerBlock = DivU64x32(gNandFlashInfo->BlockSize, gNandFlashInfo->PageSize);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -VOID
> -NandConfigureEcc (
> -  VOID
> -  )
> -{
> -  //Define ECC size 0 and size 1 to 512 bytes
> -  MmioWrite32 (GPMC_ECC_SIZE_CONFIG, (ECCSIZE0_512BYTES | ECCSIZE1_512BYTES));
> -}
> -
> -VOID
> -NandEnableEcc (
> -  VOID
> -  )
> -{
> -  //Clear all the ECC result registers and select ECC result register 1
> -  MmioWrite32 (GPMC_ECC_CONTROL, (ECCCLEAR | ECCPOINTER_REG1));
> -
> -  //Enable ECC engine on CS0
> -  MmioWrite32 (GPMC_ECC_CONFIG, (ECCENABLE | ECCCS_0 | ECC16B));
> -}
> -
> -VOID
> -NandDisableEcc (
> -  VOID
> -  )
> -{
> -  //Turn off ECC engine.
> -  MmioWrite32 (GPMC_ECC_CONFIG, ECCDISABLE);
> -}
> -
> -VOID
> -NandCalculateEcc (
> -  VOID
> -  )
> -{
> -  UINTN Index;
> -  UINTN EccResultRegister;
> -  UINTN EccResult;
> -
> -  //Capture 32-bit ECC result for each 512-bytes chunk.
> -  //In our case PageSize is 2K so read ECC1-ECC4 result registers and
> -  //generate total of 12-bytes of ECC code for the particular page.
> -
> -  EccResultRegister = GPMC_ECC1_RESULT;
> -
> -  for (Index = 0; Index < gNum512BytesChunks; Index++) {
> -
> -    EccResult = MmioRead32 (EccResultRegister);
> -
> -    //Calculate ECC code from 32-bit ECC result value.
> -    //NOTE: Following calculation is not part of TRM. We got this information
> -    //from Beagleboard mailing list.
> -    gEccCode[Index * 3] = EccResult & 0xFF;
> -    gEccCode[(Index * 3) + 1] = (EccResult >> 16) & 0xFF;
> -    gEccCode[(Index * 3) + 2] = (((EccResult >> 20) & 0xF0) | ((EccResult >> 8) & 0x0F));
> -
> -    //Point to next ECC result register.
> -    EccResultRegister += 4;
> -  }
> -}
> -
> -EFI_STATUS
> -NandReadPage (
> -  IN  UINTN                         BlockIndex,
> -  IN  UINTN                         PageIndex,
> -  OUT VOID                          *Buffer,
> -  OUT UINT8                         *SpareBuffer
> -)
> -{
> -  UINTN      Address;
> -  UINTN      Index;
> -  UINTN      NumMainAreaWords = (gNandFlashInfo->PageSize/2);
> -  UINTN      NumSpareAreaWords = (gNandFlashInfo->SparePageSize/2);
> -  UINT16     *MainAreaWordBuffer = Buffer;
> -  UINT16     *SpareAreaWordBuffer = (UINT16 *)SpareBuffer;
> -  UINTN      Timeout = MAX_RETRY_COUNT;
> -
> -  //Generate device address in bytes to access specific block and page index
> -  Address = GetActualPageAddressInBytes(BlockIndex, PageIndex);
> -
> -  //Send READ command
> -  NandSendCommand(PAGE_READ_CMD);
> -
> -  //Send 5 Address cycles to access specific device address
> -  NandSendAddressCycles(Address);
> -
> -  //Send READ CONFIRM command
> -  NandSendCommand(PAGE_READ_CONFIRM_CMD);
> -
> -  //Poll till device is busy.
> -  while (Timeout) {
> -    if ((NandReadStatus() & NAND_READY) == NAND_READY) {
> -      break;
> -    }
> -    Timeout--;
> -  }
> -
> -  if (Timeout == 0) {
> -    DEBUG ((EFI_D_ERROR, "Read page timed out.\n"));
> -    return EFI_TIMEOUT;
> -  }
> -
> -  //Reissue READ command
> -  NandSendCommand(PAGE_READ_CMD);
> -
> -  //Enable ECC engine.
> -  NandEnableEcc();
> -
> -  //Read data into the buffer.
> -  for (Index = 0; Index < NumMainAreaWords; Index++) {
> -    *MainAreaWordBuffer++ = MmioRead16(GPMC_NAND_DATA_0);
> -  }
> -
> -  //Read spare area into the buffer.
> -  for (Index = 0; Index < NumSpareAreaWords; Index++) {
> -    *SpareAreaWordBuffer++ = MmioRead16(GPMC_NAND_DATA_0);
> -  }
> -
> -  //Calculate ECC.
> -  NandCalculateEcc();
> -
> -  //Turn off ECC engine.
> -  NandDisableEcc();
> -
> -  //Perform ECC correction.
> -  //Need to implement..
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -NandWritePage (
> -  IN  UINTN                         BlockIndex,
> -  IN  UINTN                         PageIndex,
> -  OUT VOID                          *Buffer,
> -  IN  UINT8                         *SpareBuffer
> -)
> -{
> -  UINTN      Address;
> -  UINT16     *MainAreaWordBuffer = Buffer;
> -  UINT16     *SpareAreaWordBuffer = (UINT16 *)SpareBuffer;
> -  UINTN      Index;
> -  UINTN      NandStatus;
> -  UINTN      Timeout = MAX_RETRY_COUNT;
> -
> -  //Generate device address in bytes to access specific block and page index
> -  Address = GetActualPageAddressInBytes(BlockIndex, PageIndex);
> -
> -  //Send SERIAL DATA INPUT command
> -  NandSendCommand(PROGRAM_PAGE_CMD);
> -
> -  //Send 5 Address cycles to access specific device address
> -  NandSendAddressCycles(Address);
> -
> -  //Enable ECC engine.
> -  NandEnableEcc();
> -
> -  //Data input from Buffer
> -  for (Index = 0; Index < (gNandFlashInfo->PageSize/2); Index++) {
> -    MmioWrite16(GPMC_NAND_DATA_0, *MainAreaWordBuffer++);
> -
> -    //After each write access, device has to wait to accept data.
> -    //Currently we may not be programming proper timing parameters to
> -    //the GPMC_CONFIGi_0 registers and we would need to figure that out.
> -    //Without following delay, page programming fails.
> -    gBS->Stall(1);
> -  }
> -
> -  //Calculate ECC.
> -  NandCalculateEcc();
> -
> -  //Turn off ECC engine.
> -  NandDisableEcc();
> -
> -  //Prepare Spare area buffer with ECC codes.
> -  SetMem(SpareBuffer, gNandFlashInfo->SparePageSize, 0xFF);
> -  CopyMem(&SpareBuffer[ECC_POSITION], gEccCode, gNum512BytesChunks * 3);
> -
> -  //Program spare area with calculated ECC.
> -  for (Index = 0; Index < (gNandFlashInfo->SparePageSize/2); Index++) {
> -    MmioWrite16(GPMC_NAND_DATA_0, *SpareAreaWordBuffer++);
> -  }
> -
> -  //Send PROGRAM command
> -  NandSendCommand(PROGRAM_PAGE_CONFIRM_CMD);
> -
> -  //Poll till device is busy.
> -  NandStatus = 0;
> -  while (Timeout) {
> -    NandStatus = NandReadStatus();
> -    if ((NandStatus & NAND_READY) == NAND_READY) {
> -      break;
> -    }
> -    Timeout--;
> -  }
> -
> -  if (Timeout == 0) {
> -    DEBUG ((EFI_D_ERROR, "Program page timed out.\n"));
> -    return EFI_TIMEOUT;
> -  }
> -
> -  //Bit0 indicates Pass/Fail status
> -  if (NandStatus & NAND_FAILURE) {
> -    return EFI_DEVICE_ERROR;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -NandEraseBlock (
> -  IN UINTN BlockIndex
> -)
> -{
> -  UINTN      Address;
> -  UINTN      NandStatus;
> -  UINTN      Timeout = MAX_RETRY_COUNT;
> -
> -  //Generate device address in bytes to access specific block and page index
> -  Address = GetActualPageAddressInBytes(BlockIndex, 0);
> -
> -  //Send ERASE SETUP command
> -  NandSendCommand(BLOCK_ERASE_CMD);
> -
> -  //Send 3 address cycles to device to access Page address and Block address
> -  Address >>= 11; //Ignore column addresses
> -
> -  NandSendAddress(Address & 0xff);
> -  Address >>= 8;
> -
> -  NandSendAddress(Address & 0xff);
> -  Address >>= 8;
> -
> -  NandSendAddress(Address & 0xff);
> -
> -  //Send ERASE CONFIRM command
> -  NandSendCommand(BLOCK_ERASE_CONFIRM_CMD);
> -
> -  //Poll till device is busy.
> -  NandStatus = 0;
> -  while (Timeout) {
> -    NandStatus = NandReadStatus();
> -    if ((NandStatus & NAND_READY) == NAND_READY) {
> -      break;
> -    }
> -    Timeout--;
> -    gBS->Stall(1);
> -  }
> -
> -  if (Timeout == 0) {
> -    DEBUG ((EFI_D_ERROR, "Erase block timed out for Block: %d.\n", BlockIndex));
> -    return EFI_TIMEOUT;
> -  }
> -
> -  //Bit0 indicates Pass/Fail status
> -  if (NandStatus & NAND_FAILURE) {
> -    return EFI_DEVICE_ERROR;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -NandReadBlock (
> -  IN UINTN                          StartBlockIndex,
> -  IN UINTN                          EndBlockIndex,
> -  OUT VOID                          *Buffer,
> -  OUT VOID                          *SpareBuffer
> -)
> -{
> -  UINTN      BlockIndex;
> -  UINTN      PageIndex;
> -  EFI_STATUS Status = EFI_SUCCESS;
> -
> -  for (BlockIndex = StartBlockIndex; BlockIndex <= EndBlockIndex; BlockIndex++) {
> -    //For each block read number of pages
> -    for (PageIndex = 0; PageIndex < gNandFlashInfo->NumPagesPerBlock; PageIndex++) {
> -      Status = NandReadPage(BlockIndex, PageIndex, Buffer, SpareBuffer);
> -      if (EFI_ERROR(Status)) {
> -        return Status;
> -      }
> -      Buffer = ((UINT8 *)Buffer + gNandFlashInfo->PageSize);
> -    }
> -  }
> -
> -  return Status;
> -}
> -
> -EFI_STATUS
> -NandWriteBlock (
> -  IN UINTN                          StartBlockIndex,
> -  IN UINTN                          EndBlockIndex,
> -  OUT VOID                          *Buffer,
> -  OUT VOID                          *SpareBuffer
> -  )
> -{
> -  UINTN      BlockIndex;
> -  UINTN      PageIndex;
> -  EFI_STATUS Status = EFI_SUCCESS;
> -
> -  for (BlockIndex = StartBlockIndex; BlockIndex <= EndBlockIndex; BlockIndex++) {
> -    //Page programming.
> -    for (PageIndex = 0; PageIndex < gNandFlashInfo->NumPagesPerBlock; PageIndex++) {
> -      Status = NandWritePage(BlockIndex, PageIndex, Buffer, SpareBuffer);
> -      if (EFI_ERROR(Status)) {
> -        return Status;
> -      }
> -      Buffer = ((UINT8 *)Buffer + gNandFlashInfo->PageSize);
> -    }
> -  }
> -
> -  return Status;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -NandFlashReset (
> -  IN EFI_BLOCK_IO_PROTOCOL          *This,
> -  IN BOOLEAN                        ExtendedVerification
> -  )
> -{
> -  UINTN BusyStall = 50;                            // microSeconds
> -  UINTN ResetBusyTimeout = (1000000 / BusyStall);  // 1 Second
> -
> -  //Send RESET command to device.
> -  NandSendCommand(RESET_CMD);
> -
> -  //Wait for 1ms before we check status register.
> -  gBS->Stall(1000);
> -
> -  //Check BIT#5 & BIT#6 in Status register to make sure RESET is done.
> -  while ((NandReadStatus() & NAND_RESET_STATUS) != NAND_RESET_STATUS) {
> -
> -    //In case of extended verification, wait for extended amount of time
> -    //to make sure device is reset.
> -    if (ExtendedVerification) {
> -      if (ResetBusyTimeout == 0) {
> -        return EFI_DEVICE_ERROR;
> -      }
> -
> -      gBS->Stall(BusyStall);
> -      ResetBusyTimeout--;
> -    }
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -NandFlashReadBlocks (
> -  IN EFI_BLOCK_IO_PROTOCOL          *This,
> -  IN UINT32                         MediaId,
> -  IN EFI_LBA                        Lba,
> -  IN UINTN                          BufferSize,
> -  OUT VOID                          *Buffer
> -  )
> -{
> -  UINTN      NumBlocks;
> -  UINTN      EndBlockIndex;
> -  EFI_STATUS Status;
> -  UINT8      *SpareBuffer = NULL;
> -
> -  if (Buffer == NULL) {
> -    Status = EFI_INVALID_PARAMETER;
> -    goto exit;
> -  }
> -
> -  if (Lba > LAST_BLOCK) {
> -    Status = EFI_INVALID_PARAMETER;
> -    goto exit;
> -  }
> -
> -  if ((BufferSize % gNandFlashInfo->BlockSize) != 0) {
> -    Status = EFI_BAD_BUFFER_SIZE;
> -    goto exit;
> -  }
> -
> -  NumBlocks = DivU64x32(BufferSize, gNandFlashInfo->BlockSize);
> -  EndBlockIndex = ((UINTN)Lba + NumBlocks) - 1;
> -
> -  SpareBuffer = (UINT8 *)AllocatePool(gNandFlashInfo->SparePageSize);
> -  if (SpareBuffer == NULL) {
> -    Status = EFI_OUT_OF_RESOURCES;
> -    goto exit;
> -  }
> -
> -  //Read block
> -  Status = NandReadBlock((UINTN)Lba, EndBlockIndex, Buffer, SpareBuffer);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG((EFI_D_ERROR, "Read block fails: %x\n", Status));
> -    goto exit;
> -  }
> -
> -exit:
> -  if (SpareBuffer != NULL) {
> -    FreePool (SpareBuffer);
> -  }
> -
> -  return Status;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -NandFlashWriteBlocks (
> -  IN EFI_BLOCK_IO_PROTOCOL          *This,
> -  IN UINT32                         MediaId,
> -  IN EFI_LBA                        Lba,
> -  IN UINTN                          BufferSize,
> -  IN VOID                           *Buffer
> -  )
> -{
> -  UINTN      BlockIndex;
> -  UINTN      NumBlocks;
> -  UINTN      EndBlockIndex;
> -  EFI_STATUS Status;
> -  UINT8      *SpareBuffer = NULL;
> -
> -  if (Buffer == NULL) {
> -    Status = EFI_INVALID_PARAMETER;
> -    goto exit;
> -  }
> -
> -  if (Lba > LAST_BLOCK) {
> -    Status = EFI_INVALID_PARAMETER;
> -    goto exit;
> -  }
> -
> -  if ((BufferSize % gNandFlashInfo->BlockSize) != 0) {
> -    Status = EFI_BAD_BUFFER_SIZE;
> -    goto exit;
> -  }
> -
> -  NumBlocks = DivU64x32(BufferSize, gNandFlashInfo->BlockSize);
> -  EndBlockIndex = ((UINTN)Lba + NumBlocks) - 1;
> -
> -  SpareBuffer = (UINT8 *)AllocatePool(gNandFlashInfo->SparePageSize);
> -  if (SpareBuffer == NULL) {
> -    Status = EFI_OUT_OF_RESOURCES;
> -    goto exit;
> -  }
> -
> -  // Erase block
> -  for (BlockIndex = (UINTN)Lba; BlockIndex <= EndBlockIndex; BlockIndex++) {
> -    Status = NandEraseBlock(BlockIndex);
> -    if (EFI_ERROR(Status)) {
> -      DEBUG((EFI_D_ERROR, "Erase block failed. Status: %x\n", Status));
> -      goto exit;
> -    }
> -  }
> -
> -  // Program data
> -  Status = NandWriteBlock((UINTN)Lba, EndBlockIndex, Buffer, SpareBuffer);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG((EFI_D_ERROR, "Block write fails: %x\n", Status));
> -    goto exit;
> -  }
> -
> -exit:
> -  if (SpareBuffer != NULL) {
> -    FreePool (SpareBuffer);
> -  }
> -
> -  return Status;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -NandFlashFlushBlocks (
> -  IN EFI_BLOCK_IO_PROTOCOL  *This
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> -
> -
> -EFI_BLOCK_IO_MEDIA gNandFlashMedia = {
> -  SIGNATURE_32('n','a','n','d'),            // MediaId
> -  FALSE,                                    // RemovableMedia
> -  TRUE,                                     // MediaPresent
> -  FALSE,                                    // LogicalPartition
> -  FALSE,                                    // ReadOnly
> -  FALSE,                                    // WriteCaching
> -  0,                                        // BlockSize
> -  2,                                        // IoAlign
> -  0,                                        // Pad
> -  0                                         // LastBlock
> -};
> -
> -EFI_BLOCK_IO_PROTOCOL BlockIo =
> -{
> -  EFI_BLOCK_IO_INTERFACE_REVISION,  // Revision
> -  &gNandFlashMedia,                  // *Media
> -  NandFlashReset,                   // Reset
> -  NandFlashReadBlocks,              // ReadBlocks
> -  NandFlashWriteBlocks,             // WriteBlocks
> -  NandFlashFlushBlocks              // FlushBlocks
> -};
> -
> -EFI_STATUS
> -NandFlashInitialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_STATUS  Status;
> -
> -  gNandFlashInfo = (NAND_FLASH_INFO *)AllocateZeroPool (sizeof(NAND_FLASH_INFO));
> -
> -  //Initialize GPMC module.
> -  GpmcInit();
> -
> -  //Reset NAND part
> -  NandFlashReset(&BlockIo, FALSE);
> -
> -  //Detect NAND part and populate gNandFlashInfo structure
> -  Status = NandDetectPart ();
> -  if (EFI_ERROR(Status)) {
> -    DEBUG((EFI_D_ERROR, "Nand part id detection failure: Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  //Count total number of 512Bytes chunk based on the page size.
> -  if (gNandFlashInfo->PageSize == PAGE_SIZE_512B) {
> -    gNum512BytesChunks = 1;
> -  } else if (gNandFlashInfo->PageSize == PAGE_SIZE_2K) {
> -    gNum512BytesChunks = 4;
> -  } else if (gNandFlashInfo->PageSize == PAGE_SIZE_4K) {
> -    gNum512BytesChunks = 8;
> -  }
> -
> -  gEccCode = (UINT8 *)AllocatePool(gNum512BytesChunks * 3);
> -  if (gEccCode == NULL) {
> -    return EFI_OUT_OF_RESOURCES;
> -  }
> -
> -  //Configure ECC
> -  NandConfigureEcc ();
> -
> -  //Patch EFI_BLOCK_IO_MEDIA structure.
> -  gNandFlashMedia.BlockSize = gNandFlashInfo->BlockSize;
> -  gNandFlashMedia.LastBlock = LAST_BLOCK;
> -
> -  //Publish BlockIO.
> -  Status = gBS->InstallMultipleProtocolInterfaces (
> -                  &ImageHandle,
> -                  &gEfiBlockIoProtocolGuid, &BlockIo,
> -                  &gEfiDevicePathProtocolGuid, &gDevicePath,
> -                  NULL
> -                  );
> -  return Status;
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Flash/Flash.h b/Chips/TexasInstruments/Omap35xx/Flash/Flash.h
> deleted file mode 100644
> index 46ec4db9e183..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Flash/Flash.h
> +++ /dev/null
> @@ -1,106 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 FLASH_H
> -#define FLASH_H
> -
> -#include <Uefi.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/IoLib.h>
> -
> -#include <Protocol/BlockIo.h>
> -#include <Protocol/Cpu.h>
> -#include <Omap3530/Omap3530.h>
> -
> -#define PAGE_SIZE(x)             ((x) & 0x01)
> -#define PAGE_SIZE_2K_VAL         (0x01UL)
> -
> -#define SPARE_AREA_SIZE(x)       (((x) >> 2) & 0x01)
> -#define SPARE_AREA_SIZE_64B_VAL  (0x1UL)
> -
> -#define BLOCK_SIZE(x)            (((x) >> 4) & 0x01)
> -#define BLOCK_SIZE_128K_VAL      (0x01UL)
> -
> -#define ORGANIZATION(x)          (((x) >> 6) & 0x01)
> -#define ORGANIZATION_X8          (0x0UL)
> -#define ORGANIZATION_X16         (0x1UL)
> -
> -#define PAGE_SIZE_512B           (512)
> -#define PAGE_SIZE_2K             (2048)
> -#define PAGE_SIZE_4K             (4096)
> -#define SPARE_AREA_SIZE_16B      (16)
> -#define SPARE_AREA_SIZE_64B      (64)
> -
> -#define BLOCK_SIZE_16K           (16*1024)
> -#define BLOCK_SIZE_128K          (128*1024)
> -
> -#define BLOCK_COUNT              (2048)
> -#define LAST_BLOCK               (BLOCK_COUNT - 1)
> -
> -#define ECC_POSITION             2
> -
> -//List of commands.
> -#define RESET_CMD                0xFF
> -#define READ_ID_CMD              0x90
> -
> -#define READ_STATUS_CMD          0x70
> -
> -#define PAGE_READ_CMD            0x00
> -#define PAGE_READ_CONFIRM_CMD    0x30
> -
> -#define BLOCK_ERASE_CMD          0x60
> -#define BLOCK_ERASE_CONFIRM_CMD  0xD0
> -
> -#define PROGRAM_PAGE_CMD         0x80
> -#define PROGRAM_PAGE_CONFIRM_CMD 0x10
> -
> -//Nand status register bit definition
> -#define NAND_SUCCESS             (0x0UL << 0)
> -#define NAND_FAILURE             BIT0
> -
> -#define NAND_BUSY                (0x0UL << 6)
> -#define NAND_READY               BIT6
> -
> -#define NAND_RESET_STATUS        (0x60UL << 0)
> -
> -#define MAX_RETRY_COUNT          1500
> -
> -
> -typedef struct {
> -  UINT8 ManufactureId;
> -  UINT8 DeviceId;
> -  UINT8 BlockAddressStart; //Start of the Block address in actual NAND
> -  UINT8 PageAddressStart;  //Start of the Page address in actual NAND
> -} NAND_PART_INFO_TABLE;
> -
> -typedef struct {
> -  UINT8     ManufactureId;
> -  UINT8     DeviceId;
> -  UINT8     Organization;      //x8 or x16
> -  UINT32    PageSize;
> -  UINT32    SparePageSize;
> -  UINT32    BlockSize;
> -  UINT32    NumPagesPerBlock;
> -  UINT8     BlockAddressStart; //Start of the Block address in actual NAND
> -  UINT8     PageAddressStart;  //Start of the Page address in actual NAND
> -} NAND_FLASH_INFO;
> -
> -#endif //FLASH_H
> diff --git a/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf b/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
> deleted file mode 100644
> index 4d9b630b0adc..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = NandFlash
> -  FILE_GUID                      = 4d00ef14-c4e0-426b-81b7-30a00a14aad6
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = NandFlashInitialize
> -
> -
> -[Sources.common]
> -  Flash.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  PcdLib
> -  UefiLib
> -  UefiDriverEntryPoint
> -  MemoryAllocationLib
> -  IoLib
> -
> -[Guids]
> -
> -[Protocols]
> -  gEfiBlockIoProtocolGuid
> -  gEfiCpuArchProtocolGuid
> -
> -[Pcd]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxGpmcOffset
> -
> -[depex]
> -  TRUE
> diff --git a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c b/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c
> deleted file mode 100644
> index 4d713f7bf58d..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c
> +++ /dev/null
> @@ -1,135 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Uefi.h>
> -
> -#include <Library/IoLib.h>
> -#include <Library/OmapLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -
> -#include <Protocol/EmbeddedGpio.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -EFI_STATUS
> -Get (
> -  IN  EMBEDDED_GPIO     *This,
> -  IN  EMBEDDED_GPIO_PIN Gpio,
> -  OUT UINTN               *Value
> -  )
> -{
> -  UINTN  Port;
> -  UINTN  Pin;
> -  UINT32 DataInRegister;
> -
> -  if (Value == NULL)
> -  {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  Port    = GPIO_PORT(Gpio);
> -  Pin     = GPIO_PIN(Gpio);
> -
> -  DataInRegister = GpioBase(Port) + GPIO_DATAIN;
> -
> -  if (MmioRead32 (DataInRegister) & GPIO_DATAIN_MASK(Pin)) {
> -    *Value = 1;
> -  } else {
> -    *Value = 0;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -Set (
> -  IN  EMBEDDED_GPIO       *This,
> -  IN  EMBEDDED_GPIO_PIN   Gpio,
> -  IN  EMBEDDED_GPIO_MODE  Mode
> -  )
> -{
> -  UINTN  Port;
> -  UINTN  Pin;
> -  UINT32 OutputEnableRegister;
> -  UINT32 SetDataOutRegister;
> -  UINT32 ClearDataOutRegister;
> -
> -  Port    = GPIO_PORT(Gpio);
> -  Pin     = GPIO_PIN(Gpio);
> -
> -  OutputEnableRegister = GpioBase(Port) + GPIO_OE;
> -  SetDataOutRegister   = GpioBase(Port) + GPIO_SETDATAOUT;
> -  ClearDataOutRegister = GpioBase(Port) + GPIO_CLEARDATAOUT;
> -
> -  switch (Mode)
> -  {
> -    case GPIO_MODE_INPUT:
> -      MmioAndThenOr32(OutputEnableRegister, ~GPIO_OE_MASK(Pin), GPIO_OE_INPUT(Pin));
> -      break;
> -
> -    case GPIO_MODE_OUTPUT_0:
> -      MmioWrite32 (ClearDataOutRegister, GPIO_CLEARDATAOUT_BIT(Pin));
> -      MmioAndThenOr32(OutputEnableRegister, ~GPIO_OE_MASK(Pin), GPIO_OE_OUTPUT(Pin));
> -      break;
> -
> -    case GPIO_MODE_OUTPUT_1:
> -      MmioWrite32 (SetDataOutRegister, GPIO_SETDATAOUT_BIT(Pin));
> -      MmioAndThenOr32(OutputEnableRegister, ~GPIO_OE_MASK(Pin), GPIO_OE_OUTPUT(Pin));
> -      break;
> -
> -    default:
> -      return EFI_UNSUPPORTED;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -GetMode (
> -  IN  EMBEDDED_GPIO       *This,
> -  IN  EMBEDDED_GPIO_PIN   Gpio,
> -  OUT EMBEDDED_GPIO_MODE  *Mode
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_STATUS
> -SetPull (
> -  IN  EMBEDDED_GPIO       *This,
> -  IN  EMBEDDED_GPIO_PIN   Gpio,
> -  IN  EMBEDDED_GPIO_PULL  Direction
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EMBEDDED_GPIO Gpio = {
> -  Get,
> -  Set,
> -  GetMode,
> -  SetPull
> -};
> -
> -EFI_STATUS
> -GpioInitialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_STATUS  Status;
> -
> -  Status = gBS->InstallMultipleProtocolInterfaces(&ImageHandle, &gEmbeddedGpioProtocolGuid, &Gpio, NULL);
> -  return Status;
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf b/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
> deleted file mode 100644
> index 62073ff58c31..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = Gpio
> -  FILE_GUID                      = E7D9CAE1-6930-46E3-BDF9-0027446E7DF2
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = GpioInitialize
> -
> -
> -[Sources.common]
> -  Gpio.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  IoLib
> -  UefiDriverEntryPoint
> -  OmapLib
> -
> -[Guids]
> -
> -[Protocols]
> -  gEmbeddedGpioProtocolGuid
> -
> -[Pcd]
> -
> -[depex]
> -  TRUE
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h b/Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h
> deleted file mode 100755
> index dfac36f07e98..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h
> +++ /dev/null
> @@ -1,90 +0,0 @@
> -/** @file
> -
> -  Abstractions for simple OMAP DMA.
> -  OMAP_DMA4 structure elements are described in the OMAP35xx TRM.
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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 __OMAP_DMA_LIB_H__
> -#define __OMAP_DMA_LIB_H__
> -
> -
> -// Example from DMA chapter of the OMAP35xx spec
> -typedef struct {
> -  UINT8     DataType;                      // DMA4_CSDPi[1:0]
> -  UINT8     ReadPortAccessType;            // DMA4_CSDPi[8:7]
> -  UINT8     WritePortAccessType;           // DMA4_CSDPi[15:14]
> -  UINT8     SourceEndiansim;               // DMA4_CSDPi[21]
> -  UINT8     DestinationEndianism;          // DMA4_CSDPi[19]
> -  UINT8     WriteMode;                     // DMA4_CSDPi[17:16]
> -  UINT8     SourcePacked;                  // DMA4_CSDPi[6]
> -  UINT8     DestinationPacked;             // DMA4_CSDPi[13]
> -  UINT32    NumberOfElementPerFrame;       // DMA4_CENi
> -  UINT32    NumberOfFramePerTransferBlock; // DMA4_CFNi
> -  UINT32    SourceStartAddress;            // DMA4_CSSAi
> -  UINT32    DestinationStartAddress;       // DMA4_CDSAi
> -  UINT32    SourceElementIndex;            // DMA4_CSEi
> -  UINT32    SourceFrameIndex;              // DMA4_CSFi
> -  UINT32    DestinationElementIndex;       // DMA4_CDEi
> -  UINT32    DestinationFrameIndex;         // DMA4_CDFi
> -  UINT8     ReadPortAccessMode;            // DMA4_CCRi[13:12]
> -  UINT8     WritePortAccessMode;           // DMA4_CCRi[15:14]
> -  UINT8     ReadPriority;                  // DMA4_CCRi[6]
> -  UINT8     WritePriority;                 // DMA4_CCRi[23]
> -  UINT8     ReadRequestNumber;             // DMA4_CCRi[4:0]
> -  UINT8     WriteRequestNumber;            // DMA4_CCRi[20:19]
> -} OMAP_DMA4;
> -
> -
> -/**
> -  Configure OMAP DMA Channel
> -
> -  @param  Channel               DMA Channel to configure
> -  @param  Dma4                  Pointer to structure used to initialize DMA registers for the Channel
> -
> -  @retval EFI_SUCCESS           The range was mapped for the returned NumberOfBytes.
> -  @retval EFI_INVALID_PARAMETER Channel is not valid
> -  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -EnableDmaChannel (
> -  IN  UINTN       Channel,
> -  IN  OMAP_DMA4   *Dma4
> -  );
> -
> -/**
> -  Turn of DMA channel configured by EnableDma().
> -
> -  @param  Channel               DMA Channel to configure
> -  @param  SuccesMask            Bits in DMA4_CSR register indicate EFI_SUCCESS
> -  @param  ErrorMask             Bits in DMA4_CSR register indicate EFI_DEVICE_ERROR
> -
> -  @retval EFI_SUCCESS           DMA hardware disabled
> -  @retval EFI_INVALID_PARAMETER Channel is not valid
> -  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -DisableDmaChannel (
> -  IN  UINTN       Channel,
> -  IN  UINT32      SuccessMask,
> -  IN  UINT32      ErrorMask
> -  );
> -
> -
> -
> -#endif
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h b/Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h
> deleted file mode 100644
> index ec14603ccd82..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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 __OMAPLIB_H__
> -#define __OMAPLIB_H__
> -
> -UINT32
> -EFIAPI
> -GpioBase (
> -  IN  UINTN Port
> -  );
> -
> -UINT32
> -EFIAPI
> -TimerBase (
> -  IN  UINTN Timer
> -  );
> -
> -UINTN
> -EFIAPI
> -InterruptVectorForTimer (
> -  IN  UINTN TImer
> -  );
> -
> -UINT32
> -EFIAPI
> -UartBase (
> -  IN  UINTN Uart
> -  );
> -
> -
> -#endif // __OMAPLIB_H__
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h
> deleted file mode 100644
> index 4d3781576493..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530_H__
> -#define __OMAP3530_H__
> -
> -#include "Omap3530Gpio.h"
> -#include "Omap3530Interrupt.h"
> -#include "Omap3530Prcm.h"
> -#include "Omap3530Timer.h"
> -#include "Omap3530Uart.h"
> -#include "Omap3530Usb.h"
> -#include "Omap3530MMCHS.h"
> -#include "Omap3530I2c.h"
> -#include "Omap3530PadConfiguration.h"
> -#include "Omap3530Gpmc.h"
> -#include "Omap3530Dma.h"
> -
> -
> -//CONTROL_PBIAS_LITE
> -#define CONTROL_PBIAS_LITE    0x48002520
> -#define PBIASLITEVMODE0       BIT0
> -#define PBIASLITEPWRDNZ0      BIT1
> -#define PBIASSPEEDCTRL0       BIT2
> -#define PBIASLITEVMODE1       BIT8
> -#define PBIASLITEWRDNZ1       BIT9
> -
> -#endif // __OMAP3530_H__
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h
> deleted file mode 100755
> index a6e070dda370..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h
> +++ /dev/null
> @@ -1,130 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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 __OMAP3530DMA_H__
> -#define __OMAP3530DMA_H__
> -
> -
> -#define DMA4_MAX_CHANNEL 31
> -
> -#define DMA4_IRQENABLE_L(_i)  (0x48056018 + (0x4*(_i)))
> -
> -#define DMA4_CCR(_i)  (0x48056080 + (0x60*(_i)))
> -#define DMA4_CICR(_i) (0x48056088 + (0x60*(_i)))
> -#define DMA4_CSR(_i)  (0x4805608c + (0x60*(_i)))
> -#define DMA4_CSDP(_i) (0x48056090 + (0x60*(_i)))
> -#define DMA4_CEN(_i)  (0x48056094 + (0x60*(_i)))
> -#define DMA4_CFN(_i)  (0x48056098 + (0x60*(_i)))
> -#define DMA4_CSSA(_i) (0x4805609c + (0x60*(_i)))
> -#define DMA4_CDSA(_i) (0x480560a0 + (0x60*(_i)))
> -#define DMA4_CSEI(_i) (0x480560a4 + (0x60*(_i)))
> -#define DMA4_CSFI(_i) (0x480560a8 + (0x60*(_i)))
> -#define DMA4_CDEI(_i) (0x480560ac + (0x60*(_i)))
> -#define DMA4_CDFI(_i) (0x480560b0 + (0x60*(_i)))
> -
> -#define DMA4_GCR      (0x48056078)
> -
> -// Channel Source Destination parameters
> -#define DMA4_CSDP_DATA_TYPE8    0
> -#define DMA4_CSDP_DATA_TYPE16   1
> -#define DMA4_CSDP_DATA_TYPE32   2
> -
> -#define DMA4_CSDP_SRC_PACKED      BIT6
> -#define DMA4_CSDP_SRC_NONPACKED   0
> -
> -#define DMA4_CSDP_SRC_BURST_EN    (0x0 << 7)
> -#define DMA4_CSDP_SRC_BURST_EN16  (0x1 << 7)
> -#define DMA4_CSDP_SRC_BURST_EN32  (0x2 << 7)
> -#define DMA4_CSDP_SRC_BURST_EN64  (0x3 << 7)
> -
> -#define DMA4_CSDP_DST_PACKED      BIT13
> -#define DMA4_CSDP_DST_NONPACKED   0
> -
> -#define DMA4_CSDP_BURST_EN        (0x0 << 14)
> -#define DMA4_CSDP_BURST_EN16      (0x1 << 14)
> -#define DMA4_CSDP_BURST_EN32      (0x2 << 14)
> -#define DMA4_CSDP_BURST_EN64      (0x3 << 14)
> -
> -#define DMA4_CSDP_WRITE_MODE_NONE_POSTED      (0x0 << 16)
> -#define DMA4_CSDP_WRITE_MODE_POSTED           (0x1 << 16)
> -#define DMA4_CSDP_WRITE_MODE_LAST_NON_POSTED  (0x2 << 16)
> -
> -#define DMA4_CSDP_DST_ENDIAN_LOCK_LOCK    BIT18
> -#define DMA4_CSDP_DST_ENDIAN_LOCK_ADAPT   0
> -
> -#define DMA4_CSDP_DST_ENDIAN_BIG          BIT19
> -#define DMA4_CSDP_DST_ENDIAN_LITTLE       0
> -
> -#define DMA4_CSDP_SRC_ENDIAN_LOCK_LOCK    BIT20
> -#define DMA4_CSDP_SRC_ENDIAN_LOCK_ADAPT   0
> -
> -#define DMA4_CSDP_SRC_ENDIAN_BIG          BIT21
> -#define DMA4_CSDP_SRC_ENDIAN_LITTLE       0
> -
> -// Channel Control
> -#define DMA4_CCR_SYNCHRO_CONTROL_MASK     0x1f
> -
> -#define DMA4_CCR_FS_ELEMENT     (0    | 0)
> -#define DMA4_CCR_FS_BLOCK       (0    | BIT18)
> -#define DMA4_CCR_FS_FRAME       (BIT5 | 0)
> -#define DMA4_CCR_FS_PACKET      (BIT5 | BIT18)
> -
> -#define DMA4_CCR_READ_PRIORITY_HIGH   BIT6
> -#define DMA4_CCR_READ_PRIORITY_LOW    0
> -
> -#define DMA4_CCR_ENABLE               BIT7
> -#define DMA4_CCR_DISABLE              0
> -
> -#define DMA4_CCR_SUSPEND_SENSITIVE_IGNORE BIT8
> -#define DMA4_CCR_SUSPEND_SENSITIVE        0
> -
> -#define DMA4_CCR_RD_ACTIVE                BIT9
> -#define DMA4_CCR_WR_ACTIVE                BIT10
> -
> -#define DMA4_CCR_SRC_AMODE                (0     | 0)
> -#define DMA4_CCR_SRC_AMODE_POST_INC       (0     | BIT12)
> -#define DMA4_CCR_SRC_AMODE_SINGLE_INDEX   (BIT13 | 0)
> -#define DMA4_CCR_SRC_AMODE_DOUBLE_INDEX   (BIT13 | BIT12)
> -
> -#define DMA4_CCR_DST_AMODE                (0     | 0)
> -#define DMA4_CCR_DST_AMODE_POST_INC       (0     | BIT14)
> -#define DMA4_CCR_DST_AMODE_SINGLE_INDEX   (BIT15 | 0)
> -#define DMA4_CCR_DST_AMODE_DOUBLE_INDEX   (BIT15 | BIT14)
> -
> -#define DMA4_CCR_CONST_FILL_ENABLE        BIT16
> -#define DMA4_CCR_TRANSPARENT_COPY_ENABLE  BIT17
> -
> -#define DMA4_CCR_SEL_SRC_DEST_SYNC_SOURCE BIT24
> -
> -#define DMA4_CSR_DROP                     BIT1
> -#define DMA4_CSR_HALF                     BIT2
> -#define DMA4_CSR_FRAME                    BIT3
> -#define DMA4_CSR_LAST                     BIT4
> -#define DMA4_CSR_BLOCK                    BIT5
> -#define DMA4_CSR_SYNC                     BIT6
> -#define DMA4_CSR_PKT                      BIT7
> -#define DMA4_CSR_TRANS_ERR                BIT8
> -#define DMA4_CSR_SECURE_ERR               BIT9
> -#define DMA4_CSR_SUPERVISOR_ERR           BIT10
> -#define DMA4_CSR_MISALIGNED_ADRS_ERR      BIT11
> -#define DMA4_CSR_DRAIN_END                BIT12
> -#define DMA4_CSR_RESET                    0x1FE
> -#define DMA4_CSR_ERR                      (DMA4_CSR_TRANS_ERR | DMA4_CSR_SECURE_ERR | DMA4_CSR_SUPERVISOR_ERR | DMA4_CSR_MISALIGNED_ADRS_ERR)
> -
> -// same mapping as CSR except for SYNC. Enable all since we are polling
> -#define DMA4_CICR_ENABLE_ALL              0x1FBE
> -
> -
> -#endif
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h
> deleted file mode 100644
> index e45a0f23b5ea..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h
> +++ /dev/null
> @@ -1,131 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530GPIO_H__
> -#define __OMAP3530GPIO_H__
> -
> -#define GPIO1_BASE (0x48310000)
> -#define GPIO2_BASE (0x49050000)
> -#define GPIO3_BASE (0x49052000)
> -#define GPIO4_BASE (0x49054000)
> -#define GPIO5_BASE (0x49056000)
> -#define GPIO6_BASE (0x49058000)
> -
> -#define GPIO_SYSCONFIG        (0x0010)
> -#define GPIO_SYSSTATUS        (0x0014)
> -#define GPIO_IRQSTATUS1       (0x0018)
> -#define GPIO_IRQENABLE1       (0x001C)
> -#define GPIO_WAKEUPENABLE     (0x0020)
> -#define GPIO_IRQSTATUS2       (0x0028)
> -#define GPIO_IRQENABLE2       (0x002C)
> -#define GPIO_CTRL             (0x0030)
> -#define GPIO_OE               (0x0034)
> -#define GPIO_DATAIN           (0x0038)
> -#define GPIO_DATAOUT          (0x003C)
> -#define GPIO_LEVELDETECT0     (0x0040)
> -#define GPIO_LEVELDETECT1     (0x0044)
> -#define GPIO_RISINGDETECT     (0x0048)
> -#define GPIO_FALLINGDETECT    (0x004C)
> -#define GPIO_DEBOUNCENABLE    (0x0050)
> -#define GPIO_DEBOUNCINGTIME   (0x0054)
> -#define GPIO_CLEARIRQENABLE1  (0x0060)
> -#define GPIO_SETIRQENABLE1    (0x0064)
> -#define GPIO_CLEARIRQENABLE2  (0x0070)
> -#define GPIO_SETIRQENABLE2    (0x0074)
> -#define GPIO_CLEARWKUENA      (0x0080)
> -#define GPIO_SETWKUENA        (0x0084)
> -#define GPIO_CLEARDATAOUT     (0x0090)
> -#define GPIO_SETDATAOUT       (0x0094)
> -
> -#define GPIO_SYSCONFIG_IDLEMODE_MASK      (3UL << 3)
> -#define GPIO_SYSCONFIG_IDLEMODE_FORCE     (0UL << 3)
> -#define GPIO_SYSCONFIG_IDLEMODE_NONE      BIT3
> -#define GPIO_SYSCONFIG_IDLEMODE_SMART     (2UL << 3)
> -#define GPIO_SYSCONFIG_ENAWAKEUP_MASK     BIT2
> -#define GPIO_SYSCONFIG_ENAWAKEUP_DISABLE  (0UL << 2)
> -#define GPIO_SYSCONFIG_ENAWAKEUP_ENABLE   BIT2
> -#define GPIO_SYSCONFIG_SOFTRESET_MASK     BIT1
> -#define GPIO_SYSCONFIG_SOFTRESET_NORMAL   (0UL << 1)
> -#define GPIO_SYSCONFIG_SOFTRESET_RESET    BIT1
> -#define GPIO_SYSCONFIG_AUTOIDLE_MASK      BIT0
> -#define GPIO_SYSCONFIG_AUTOIDLE_FREE_RUN  (0UL << 0)
> -#define GPIO_SYSCONFIG_AUTOIDLE_ON        BIT0
> -
> -#define GPIO_SYSSTATUS_RESETDONE_MASK     BIT0
> -#define GPIO_SYSSTATUS_RESETDONE_ONGOING  (0UL << 0)
> -#define GPIO_SYSSTATUS_RESETDONE_COMPLETE BIT0
> -
> -#define GPIO_IRQSTATUS_MASK(x)            (1UL << (x))
> -#define GPIO_IRQSTATUS_NOT_TRIGGERED(x)   (0UL << (x))
> -#define GPIO_IRQSTATUS_TRIGGERED(x)       (1UL << (x))
> -#define GPIO_IRQSTATUS_CLEAR(x)           (1UL << (x))
> -
> -#define GPIO_IRQENABLE_MASK(x)            (1UL << (x))
> -#define GPIO_IRQENABLE_DISABLE(x)         (0UL << (x))
> -#define GPIO_IRQENABLE_ENABLE(x)          (1UL << (x))
> -
> -#define GPIO_WAKEUPENABLE_MASK(x)         (1UL << (x))
> -#define GPIO_WAKEUPENABLE_DISABLE(x)      (0UL << (x))
> -#define GPIO_WAKEUPENABLE_ENABLE(x)       (1UL << (x))
> -
> -#define GPIO_CTRL_GATINGRATIO_MASK        (3UL << 1)
> -#define GPIO_CTRL_GATINGRATIO_DIV_1       (0UL << 1)
> -#define GPIO_CTRL_GATINGRATIO_DIV_2       BIT1
> -#define GPIO_CTRL_GATINGRATIO_DIV_4       (2UL << 1)
> -#define GPIO_CTRL_GATINGRATIO_DIV_8       (3UL << 1)
> -#define GPIO_CTRL_DISABLEMODULE_MASK      BIT0
> -#define GPIO_CTRL_DISABLEMODULE_ENABLE    (0UL << 0)
> -#define GPIO_CTRL_DISABLEMODULE_DISABLE   BIT0
> -
> -#define GPIO_OE_MASK(x)                   (1UL << (x))
> -#define GPIO_OE_OUTPUT(x)                 (0UL << (x))
> -#define GPIO_OE_INPUT(x)                  (1UL << (x))
> -
> -#define GPIO_DATAIN_MASK(x)               (1UL << (x))
> -
> -#define GPIO_DATAOUT_MASK(x)              (1UL << (x))
> -
> -#define GPIO_LEVELDETECT_MASK(x)          (1UL << (x))
> -#define GPIO_LEVELDETECT_DISABLE(x)       (0UL << (x))
> -#define GPIO_LEVELDETECT_ENABLE(x)        (1UL << (x))
> -
> -#define GPIO_RISINGDETECT_MASK(x)         (1UL << (x))
> -#define GPIO_RISINGDETECT_DISABLE(x)      (0UL << (x))
> -#define GPIO_RISINGDETECT_ENABLE(x)       (1UL << (x))
> -
> -#define GPIO_FALLINGDETECT_MASK(x)        (1UL << (x))
> -#define GPIO_FALLINGDETECT_DISABLE(x)     (0UL << (x))
> -#define GPIO_FALLINGDETECT_ENABLE(x)      (1UL << (x))
> -
> -#define GPIO_DEBOUNCENABLE_MASK(x)        (1UL << (x))
> -#define GPIO_DEBOUNCENABLE_DISABLE(x)     (0UL << (x))
> -#define GPIO_DEBOUNCENABLE_ENABLE(x)      (1UL << (x))
> -
> -#define GPIO_DEBOUNCINGTIME_MASK          (0xFF)
> -#define GPIO_DEBOUNCINGTIME_US(x)         ((((x) / 31) - 1) & GPIO_DEBOUNCINGTIME_MASK)
> -
> -#define GPIO_CLEARIRQENABLE_BIT(x)        (1UL << (x))
> -
> -#define GPIO_SETIRQENABLE_BIT(x)          (1UL << (x))
> -
> -#define GPIO_CLEARWKUENA_BIT(x)           (1UL << (x))
> -
> -#define GPIO_SETWKUENA_BIT(x)             (1UL << (x))
> -
> -#define GPIO_CLEARDATAOUT_BIT(x)          (1UL << (x))
> -
> -#define GPIO_SETDATAOUT_BIT(x)            (1UL << (x))
> -
> -#endif // __OMAP3530GPIO_H__
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h
> deleted file mode 100644
> index 6943d303ec63..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h
> +++ /dev/null
> @@ -1,107 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530GPMC_H__
> -#define __OMAP3530GPMC_H__
> -
> -#define GPMC_BASE             (0x6E000000)
> -
> -//GPMC NAND definitions.
> -#define GPMC_SYSCONFIG        (GPMC_BASE + 0x10)
> -#define SMARTIDLEMODE         (0x2UL << 3)
> -
> -#define GPMC_SYSSTATUS        (GPMC_BASE + 0x14)
> -#define GPMC_IRQSTATUS        (GPMC_BASE + 0x18)
> -#define GPMC_IRQENABLE        (GPMC_BASE + 0x1C)
> -
> -#define GPMC_TIMEOUT_CONTROL  (GPMC_BASE + 0x40)
> -#define TIMEOUTENABLE         BIT0
> -#define TIMEOUTDISABLE        (0x0UL << 0)
> -
> -#define GPMC_ERR_ADDRESS      (GPMC_BASE + 0x44)
> -#define GPMC_ERR_TYPE         (GPMC_BASE + 0x48)
> -
> -#define GPMC_CONFIG           (GPMC_BASE + 0x50)
> -#define WRITEPROTECT_HIGH     BIT4
> -#define WRITEPROTECT_LOW      (0x0UL << 4)
> -
> -#define GPMC_STATUS           (GPMC_BASE + 0x54)
> -
> -#define GPMC_CONFIG1_0        (GPMC_BASE + 0x60)
> -#define DEVICETYPE_NOR        (0x0UL << 10)
> -#define DEVICETYPE_NAND       (0x2UL << 10)
> -#define DEVICESIZE_X8         (0x0UL << 12)
> -#define DEVICESIZE_X16        BIT12
> -
> -#define GPMC_CONFIG2_0        (GPMC_BASE + 0x64)
> -#define CSONTIME              (0x0UL << 0)
> -#define CSRDOFFTIME           (0x14UL << 8)
> -#define CSWROFFTIME           (0x14UL << 16)
> -
> -#define GPMC_CONFIG3_0        (GPMC_BASE + 0x68)
> -#define ADVRDOFFTIME          (0x14UL << 8)
> -#define ADVWROFFTIME          (0x14UL << 16)
> -
> -#define GPMC_CONFIG4_0        (GPMC_BASE + 0x6C)
> -#define OEONTIME              BIT0
> -#define OEOFFTIME             (0xFUL << 8)
> -#define WEONTIME              BIT16
> -#define WEOFFTIME             (0xFUL << 24)
> -
> -#define GPMC_CONFIG5_0        (GPMC_BASE + 0x70)
> -#define RDCYCLETIME           (0x14UL << 0)
> -#define WRCYCLETIME           (0x14UL << 8)
> -#define RDACCESSTIME          (0xCUL << 16)
> -#define PAGEBURSTACCESSTIME   BIT24
> -
> -#define GPMC_CONFIG6_0        (GPMC_BASE + 0x74)
> -#define CYCLE2CYCLESAMECSEN   BIT7
> -#define CYCLE2CYCLEDELAY      (0xAUL << 8)
> -#define WRDATAONADMUXBUS      (0xFUL << 16)
> -#define WRACCESSTIME          BIT24
> -
> -#define GPMC_CONFIG7_0        (GPMC_BASE + 0x78)
> -#define BASEADDRESS           (0x30UL << 0)
> -#define CSVALID               BIT6
> -#define MASKADDRESS_128MB     (0x8UL << 8)
> -
> -#define GPMC_NAND_COMMAND_0   (GPMC_BASE + 0x7C)
> -#define GPMC_NAND_ADDRESS_0   (GPMC_BASE + 0x80)
> -#define GPMC_NAND_DATA_0      (GPMC_BASE + 0x84)
> -
> -#define GPMC_ECC_CONFIG       (GPMC_BASE + 0x1F4)
> -#define ECCENABLE             BIT0
> -#define ECCDISABLE            (0x0UL << 0)
> -#define ECCCS_0               (0x0UL << 1)
> -#define ECC16B                BIT7
> -
> -#define GPMC_ECC_CONTROL      (GPMC_BASE + 0x1F8)
> -#define ECCPOINTER_REG1       BIT0
> -#define ECCCLEAR              BIT8
> -
> -#define GPMC_ECC_SIZE_CONFIG  (GPMC_BASE + 0x1FC)
> -#define ECCSIZE0_512BYTES     (0xFFUL << 12)
> -#define ECCSIZE1_512BYTES     (0xFFUL << 22)
> -
> -#define GPMC_ECC1_RESULT      (GPMC_BASE + 0x200)
> -#define GPMC_ECC2_RESULT      (GPMC_BASE + 0x204)
> -#define GPMC_ECC3_RESULT      (GPMC_BASE + 0x208)
> -#define GPMC_ECC4_RESULT      (GPMC_BASE + 0x20C)
> -#define GPMC_ECC5_RESULT      (GPMC_BASE + 0x210)
> -#define GPMC_ECC6_RESULT      (GPMC_BASE + 0x214)
> -#define GPMC_ECC7_RESULT      (GPMC_BASE + 0x218)
> -#define GPMC_ECC8_RESULT      (GPMC_BASE + 0x21C)
> -#define GPMC_ECC9_RESULT      (GPMC_BASE + 0x220)
> -
> -#endif //__OMAP3530GPMC_H__
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h
> deleted file mode 100644
> index 31d4d5ea6403..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530I2C_H__
> -#define __OMAP3530I2C_H__
> -
> -//I2C register definitions.
> -#define I2C1BASE        0x48070000
> -
> -#define I2C_IE          (I2C1BASE + 0x4)
> -#define XRDY_IE         BIT4
> -#define RRDY_IE         BIT3
> -#define ARDY_IE         BIT2
> -#define NACK_IE         BIT1
> -
> -#define I2C_STAT        (I2C1BASE + 0x8)
> -#define BB              BIT12
> -#define XRDY            BIT4
> -#define RRDY            BIT3
> -#define ARDY            BIT2
> -#define NACK            BIT1
> -
> -#define I2C_WE          (I2C1BASE + 0xC)
> -#define I2C_SYSS        (I2C1BASE + 0x10)
> -#define I2C_BUF         (I2C1BASE + 0x14)
> -#define I2C_CNT         (I2C1BASE + 0x18)
> -#define I2C_DATA        (I2C1BASE + 0x1C)
> -#define I2C_SYSC        (I2C1BASE + 0x20)
> -
> -#define I2C_CON         (I2C1BASE + 0x24)
> -#define STT             BIT0
> -#define STP             BIT1
> -#define XSA             BIT8
> -#define TRX             BIT9
> -#define MST             BIT10
> -#define I2C_EN          BIT15
> -
> -#define I2C_OA0         (I2C1BASE + 0x28)
> -#define I2C_SA          (I2C1BASE + 0x2C)
> -#define I2C_PSC         (I2C1BASE + 0x30)
> -#define I2C_SCLL        (I2C1BASE + 0x34)
> -#define I2C_SCLH        (I2C1BASE + 0x38)
> -#define I2C_SYSTEST     (I2C1BASE + 0x3C)
> -#define I2C_BUFSTAT     (I2C1BASE + 0x40)
> -#define I2C_OA1         (I2C1BASE + 0x44)
> -#define I2C_OA2         (I2C1BASE + 0x48)
> -#define I2C_OA3         (I2C1BASE + 0x4C)
> -#define I2C_ACTOA       (I2C1BASE + 0x50)
> -#define I2C_SBLOCK      (I2C1BASE + 0x54)
> -
> -#endif //__OMAP3530I2C_H__
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h
> deleted file mode 100644
> index 774d8730153d..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530INTERRUPT_H__
> -#define __OMAP3530INTERRUPT_H__
> -
> -#define INTERRUPT_BASE (0x48200000)
> -
> -#define INT_NROF_VECTORS      (96)
> -#define MAX_VECTOR            (INT_NROF_VECTORS - 1)
> -#define INTCPS_SYSCONFIG      (INTERRUPT_BASE + 0x0010)
> -#define INTCPS_SYSSTATUS      (INTERRUPT_BASE + 0x0014)
> -#define INTCPS_SIR_IRQ        (INTERRUPT_BASE + 0x0040)
> -#define INTCPS_SIR_IFQ        (INTERRUPT_BASE + 0x0044)
> -#define INTCPS_CONTROL        (INTERRUPT_BASE + 0x0048)
> -#define INTCPS_PROTECTION     (INTERRUPT_BASE + 0x004C)
> -#define INTCPS_IDLE           (INTERRUPT_BASE + 0x0050)
> -#define INTCPS_IRQ_PRIORITY   (INTERRUPT_BASE + 0x0060)
> -#define INTCPS_FIQ_PRIORITY   (INTERRUPT_BASE + 0x0064)
> -#define INTCPS_THRESHOLD      (INTERRUPT_BASE + 0x0068)
> -#define INTCPS_ITR(n)         (INTERRUPT_BASE + 0x0080 + (0x20 * (n)))
> -#define INTCPS_MIR(n)         (INTERRUPT_BASE + 0x0084 + (0x20 * (n)))
> -#define INTCPS_MIR_CLEAR(n)   (INTERRUPT_BASE + 0x0088 + (0x20 * (n)))
> -#define INTCPS_MIR_SET(n)     (INTERRUPT_BASE + 0x008C + (0x20 * (n)))
> -#define INTCPS_ISR_SET(n)     (INTERRUPT_BASE + 0x0090 + (0x20 * (n)))
> -#define INTCPS_ISR_CLEAR(n)   (INTERRUPT_BASE + 0x0094 + (0x20 * (n)))
> -#define INTCPS_PENDING_IRQ(n) (INTERRUPT_BASE + 0x0098 + (0x20 * (n)))
> -#define INTCPS_PENDING_FIQ(n) (INTERRUPT_BASE + 0x009C + (0x20 * (n)))
> -#define INTCPS_ILR(m)         (INTERRUPT_BASE + 0x0100 + (0x04 * (m)))
> -
> -#define INTCPS_ILR_FIQ            BIT0
> -#define INTCPS_SIR_IRQ_MASK       (0x7F)
> -#define INTCPS_CONTROL_NEWIRQAGR  BIT0
> -#define INTCPS_CONTROL_NEWFIQAGR  BIT1
> -
> -#endif // __OMAP3530INTERRUPT_H__
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h
> deleted file mode 100644
> index 88b43de48085..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h
> +++ /dev/null
> @@ -1,214 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530SDIO_H__
> -#define __OMAP3530SDIO_H__
> -
> -//MMC/SD/SDIO1 register definitions.
> -#define MMCHS1BASE        0x4809C000
> -#define MMC_REFERENCE_CLK (96000000)
> -
> -#define MMCHS_SYSCONFIG   (MMCHS1BASE + 0x10)
> -#define SOFTRESET         BIT1
> -#define ENAWAKEUP         BIT2
> -
> -#define MMCHS_SYSSTATUS   (MMCHS1BASE + 0x14)
> -#define RESETDONE_MASK    BIT0
> -#define RESETDONE         BIT0
> -
> -#define MMCHS_CSRE        (MMCHS1BASE + 0x24)
> -#define MMCHS_SYSTEST     (MMCHS1BASE + 0x28)
> -
> -#define MMCHS_CON         (MMCHS1BASE + 0x2C)
> -#define OD                BIT0
> -#define NOINIT            (0x0UL << 1)
> -#define INIT              BIT1
> -#define HR                BIT2
> -#define STR               BIT3
> -#define MODE              BIT4
> -#define DW8_1_4_BIT       (0x0UL << 5)
> -#define DW8_8_BIT         BIT5
> -#define MIT               BIT6
> -#define CDP               BIT7
> -#define WPP               BIT8
> -#define CTPL              BIT11
> -#define CEATA_OFF         (0x0UL << 12)
> -#define CEATA_ON          BIT12
> -
> -#define MMCHS_PWCNT       (MMCHS1BASE + 0x30)
> -
> -#define MMCHS_BLK         (MMCHS1BASE + 0x104)
> -#define BLEN_512BYTES     (0x200UL << 0)
> -
> -#define MMCHS_ARG         (MMCHS1BASE + 0x108)
> -
> -#define MMCHS_CMD         (MMCHS1BASE + 0x10C)
> -#define DE_ENABLE         BIT0
> -#define BCE_ENABLE        BIT1
> -#define ACEN_ENABLE       BIT2
> -#define DDIR_READ         BIT4
> -#define DDIR_WRITE        (0x0UL << 4)
> -#define MSBS_SGLEBLK      (0x0UL << 5)
> -#define MSBS_MULTBLK      BIT5
> -#define RSP_TYPE_MASK     (0x3UL << 16)
> -#define RSP_TYPE_136BITS  BIT16
> -#define RSP_TYPE_48BITS   (0x2UL << 16)
> -#define CCCE_ENABLE       BIT19
> -#define CICE_ENABLE       BIT20
> -#define DP_ENABLE         BIT21
> -#define INDX(CMD_INDX)    ((CMD_INDX & 0x3F) << 24)
> -
> -#define MMCHS_RSP10       (MMCHS1BASE + 0x110)
> -#define MMCHS_RSP32       (MMCHS1BASE + 0x114)
> -#define MMCHS_RSP54       (MMCHS1BASE + 0x118)
> -#define MMCHS_RSP76       (MMCHS1BASE + 0x11C)
> -#define MMCHS_DATA        (MMCHS1BASE + 0x120)
> -
> -#define MMCHS_PSTATE      (MMCHS1BASE + 0x124)
> -#define CMDI_MASK         BIT0
> -#define CMDI_ALLOWED      (0x0UL << 0)
> -#define CMDI_NOT_ALLOWED  BIT0
> -#define DATI_MASK         BIT1
> -#define DATI_ALLOWED      (0x0UL << 1)
> -#define DATI_NOT_ALLOWED  BIT1
> -
> -#define MMCHS_HCTL        (MMCHS1BASE + 0x128)
> -#define DTW_1_BIT         (0x0UL << 1)
> -#define DTW_4_BIT         BIT1
> -#define SDBP_MASK         BIT8
> -#define SDBP_OFF          (0x0UL << 8)
> -#define SDBP_ON           BIT8
> -#define SDVS_1_8_V        (0x5UL << 9)
> -#define SDVS_3_0_V        (0x6UL << 9)
> -#define IWE               BIT24
> -
> -#define MMCHS_SYSCTL      (MMCHS1BASE + 0x12C)
> -#define ICE               BIT0
> -#define ICS_MASK          BIT1
> -#define ICS               BIT1
> -#define CEN               BIT2
> -#define CLKD_MASK         (0x3FFUL << 6)
> -#define CLKD_80KHZ        (0x258UL) //(96*1000/80)/2
> -#define CLKD_400KHZ       (0xF0UL)
> -#define DTO_MASK          (0xFUL << 16)
> -#define DTO_VAL           (0xEUL << 16)
> -#define SRA               BIT24
> -#define SRC_MASK          BIT25
> -#define SRC               BIT25
> -#define SRD               BIT26
> -
> -#define MMCHS_STAT        (MMCHS1BASE + 0x130)
> -#define CC                BIT0
> -#define TC                BIT1
> -#define BWR               BIT4
> -#define BRR               BIT5
> -#define ERRI              BIT15
> -#define CTO               BIT16
> -#define DTO               BIT20
> -#define DCRC              BIT21
> -#define DEB               BIT22
> -
> -#define MMCHS_IE          (MMCHS1BASE + 0x134)
> -#define CC_EN             BIT0
> -#define TC_EN             BIT1
> -#define BWR_EN            BIT4
> -#define BRR_EN            BIT5
> -#define CTO_EN            BIT16
> -#define CCRC_EN           BIT17
> -#define CEB_EN            BIT18
> -#define CIE_EN            BIT19
> -#define DTO_EN            BIT20
> -#define DCRC_EN           BIT21
> -#define DEB_EN            BIT22
> -#define CERR_EN           BIT28
> -#define BADA_EN           BIT29
> -
> -#define MMCHS_ISE         (MMCHS1BASE + 0x138)
> -#define CC_SIGEN          BIT0
> -#define TC_SIGEN          BIT1
> -#define BWR_SIGEN         BIT4
> -#define BRR_SIGEN         BIT5
> -#define CTO_SIGEN         BIT16
> -#define CCRC_SIGEN        BIT17
> -#define CEB_SIGEN         BIT18
> -#define CIE_SIGEN         BIT19
> -#define DTO_SIGEN         BIT20
> -#define DCRC_SIGEN        BIT21
> -#define DEB_SIGEN         BIT22
> -#define CERR_SIGEN        BIT28
> -#define BADA_SIGEN        BIT29
> -
> -#define MMCHS_AC12        (MMCHS1BASE + 0x13C)
> -
> -#define MMCHS_CAPA        (MMCHS1BASE + 0x140)
> -#define VS30              BIT25
> -#define VS18              BIT26
> -
> -#define MMCHS_CUR_CAPA    (MMCHS1BASE + 0x148)
> -#define MMCHS_REV         (MMCHS1BASE + 0x1FC)
> -
> -#define CMD0              INDX(0)
> -#define CMD0_INT_EN       (CC_EN | CEB_EN)
> -
> -#define CMD1              (INDX(1) | RSP_TYPE_48BITS)
> -#define CMD1_INT_EN       (CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD2              (INDX(2) | CCCE_ENABLE | RSP_TYPE_136BITS)
> -#define CMD2_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD3              (INDX(3) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
> -#define CMD3_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD5              (INDX(5) | RSP_TYPE_48BITS)
> -#define CMD5_INT_EN       (CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD7              (INDX(7) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
> -#define CMD7_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD8              (INDX(8) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
> -#define CMD8_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -//Reserved(0)[12:31], Supply voltage(1)[11:8], check pattern(0xCE)[7:0] = 0x1CE
> -#define CMD8_ARG          (0x0UL << 12 | BIT8 | 0xCEUL << 0)
> -
> -#define CMD9              (INDX(9) | CCCE_ENABLE | RSP_TYPE_136BITS)
> -#define CMD9_INT_EN       (CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD16             (INDX(16) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
> -#define CMD16_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD17             (INDX(17) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | DDIR_READ)
> -#define CMD17_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BRR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
> -
> -#define CMD18             (INDX(18) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | MSBS_MULTBLK | DDIR_READ | BCE_ENABLE | DE_ENABLE)
> -#define CMD18_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BRR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
> -
> -#define CMD23             (INDX(23) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
> -#define CMD23_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define CMD24             (INDX(24) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | DDIR_WRITE)
> -#define CMD24_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BWR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
> -
> -#define CMD25             (INDX(25) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | MSBS_MULTBLK | DDIR_READ | BCE_ENABLE | DE_ENABLE)
> -#define CMD25_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BRR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
> -
> -#define CMD55             (INDX(55) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
> -#define CMD55_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define ACMD41            (INDX(41) | RSP_TYPE_48BITS)
> -#define ACMD41_INT_EN     (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#define ACMD6             (INDX(6) | RSP_TYPE_48BITS)
> -#define ACMD6_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
> -
> -#endif //__OMAP3530SDIO_H__
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h
> deleted file mode 100644
> index 1588e1d4d91f..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h
> +++ /dev/null
> @@ -1,303 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530_PAD_CONFIGURATION_H__
> -#define __OMAP3530_PAD_CONFIGURATION_H__
> -
> -#define SYSTEM_CONTROL_MODULE_BASE  0x48002000
> -
> -//Pin definition
> -#define SDRC_D0             (SYSTEM_CONTROL_MODULE_BASE + 0x030)
> -#define SDRC_D1             (SYSTEM_CONTROL_MODULE_BASE + 0x032)
> -#define SDRC_D2             (SYSTEM_CONTROL_MODULE_BASE + 0x034)
> -#define SDRC_D3             (SYSTEM_CONTROL_MODULE_BASE + 0x036)
> -#define SDRC_D4             (SYSTEM_CONTROL_MODULE_BASE + 0x038)
> -#define SDRC_D5             (SYSTEM_CONTROL_MODULE_BASE + 0x03A)
> -#define SDRC_D6             (SYSTEM_CONTROL_MODULE_BASE + 0x03C)
> -#define SDRC_D7             (SYSTEM_CONTROL_MODULE_BASE + 0x03E)
> -#define SDRC_D8             (SYSTEM_CONTROL_MODULE_BASE + 0x040)
> -#define SDRC_D9             (SYSTEM_CONTROL_MODULE_BASE + 0x042)
> -#define SDRC_D10            (SYSTEM_CONTROL_MODULE_BASE + 0x044)
> -#define SDRC_D11            (SYSTEM_CONTROL_MODULE_BASE + 0x046)
> -#define SDRC_D12            (SYSTEM_CONTROL_MODULE_BASE + 0x048)
> -#define SDRC_D13            (SYSTEM_CONTROL_MODULE_BASE + 0x04A)
> -#define SDRC_D14            (SYSTEM_CONTROL_MODULE_BASE + 0x04C)
> -#define SDRC_D15            (SYSTEM_CONTROL_MODULE_BASE + 0x04E)
> -#define SDRC_D16            (SYSTEM_CONTROL_MODULE_BASE + 0x050)
> -#define SDRC_D17            (SYSTEM_CONTROL_MODULE_BASE + 0x052)
> -#define SDRC_D18            (SYSTEM_CONTROL_MODULE_BASE + 0x054)
> -#define SDRC_D19            (SYSTEM_CONTROL_MODULE_BASE + 0x056)
> -#define SDRC_D20            (SYSTEM_CONTROL_MODULE_BASE + 0x058)
> -#define SDRC_D21            (SYSTEM_CONTROL_MODULE_BASE + 0x05A)
> -#define SDRC_D22            (SYSTEM_CONTROL_MODULE_BASE + 0x05C)
> -#define SDRC_D23            (SYSTEM_CONTROL_MODULE_BASE + 0x05E)
> -#define SDRC_D24            (SYSTEM_CONTROL_MODULE_BASE + 0x060)
> -#define SDRC_D25            (SYSTEM_CONTROL_MODULE_BASE + 0x062)
> -#define SDRC_D26            (SYSTEM_CONTROL_MODULE_BASE + 0x064)
> -#define SDRC_D27            (SYSTEM_CONTROL_MODULE_BASE + 0x066)
> -#define SDRC_D28            (SYSTEM_CONTROL_MODULE_BASE + 0x068)
> -#define SDRC_D29            (SYSTEM_CONTROL_MODULE_BASE + 0x06A)
> -#define SDRC_D30            (SYSTEM_CONTROL_MODULE_BASE + 0x06C)
> -#define SDRC_D31            (SYSTEM_CONTROL_MODULE_BASE + 0x06E)
> -#define SDRC_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x070)
> -#define SDRC_DQS0           (SYSTEM_CONTROL_MODULE_BASE + 0x072)
> -#define SDRC_CKE0           (SYSTEM_CONTROL_MODULE_BASE + 0x262)
> -#define SDRC_CKE1           (SYSTEM_CONTROL_MODULE_BASE + 0x264)
> -#define SDRC_DQS1           (SYSTEM_CONTROL_MODULE_BASE + 0x074)
> -#define SDRC_DQS2           (SYSTEM_CONTROL_MODULE_BASE + 0x076)
> -#define SDRC_DQS3           (SYSTEM_CONTROL_MODULE_BASE + 0x078)
> -#define GPMC_A1             (SYSTEM_CONTROL_MODULE_BASE + 0x07A)
> -#define GPMC_A2             (SYSTEM_CONTROL_MODULE_BASE + 0x07C)
> -#define GPMC_A3             (SYSTEM_CONTROL_MODULE_BASE + 0x07E)
> -#define GPMC_A4             (SYSTEM_CONTROL_MODULE_BASE + 0x080)
> -#define GPMC_A5             (SYSTEM_CONTROL_MODULE_BASE + 0x082)
> -#define GPMC_A6             (SYSTEM_CONTROL_MODULE_BASE + 0x084)
> -#define GPMC_A7             (SYSTEM_CONTROL_MODULE_BASE + 0x086)
> -#define GPMC_A8             (SYSTEM_CONTROL_MODULE_BASE + 0x088)
> -#define GPMC_A9             (SYSTEM_CONTROL_MODULE_BASE + 0x08A)
> -#define GPMC_A10            (SYSTEM_CONTROL_MODULE_BASE + 0x08C)
> -#define GPMC_D0             (SYSTEM_CONTROL_MODULE_BASE + 0x08E)
> -#define GPMC_D1             (SYSTEM_CONTROL_MODULE_BASE + 0x090)
> -#define GPMC_D2             (SYSTEM_CONTROL_MODULE_BASE + 0x092)
> -#define GPMC_D3             (SYSTEM_CONTROL_MODULE_BASE + 0x094)
> -#define GPMC_D4             (SYSTEM_CONTROL_MODULE_BASE + 0x096)
> -#define GPMC_D5             (SYSTEM_CONTROL_MODULE_BASE + 0x098)
> -#define GPMC_D6             (SYSTEM_CONTROL_MODULE_BASE + 0x09A)
> -#define GPMC_D7             (SYSTEM_CONTROL_MODULE_BASE + 0x09C)
> -#define GPMC_D8             (SYSTEM_CONTROL_MODULE_BASE + 0x09E)
> -#define GPMC_D9             (SYSTEM_CONTROL_MODULE_BASE + 0x0A0)
> -#define GPMC_D10            (SYSTEM_CONTROL_MODULE_BASE + 0x0A2)
> -#define GPMC_D11            (SYSTEM_CONTROL_MODULE_BASE + 0x0A4)
> -#define GPMC_D12            (SYSTEM_CONTROL_MODULE_BASE + 0x0A6)
> -#define GPMC_D13            (SYSTEM_CONTROL_MODULE_BASE + 0x0A8)
> -#define GPMC_D14            (SYSTEM_CONTROL_MODULE_BASE + 0x0AA)
> -#define GPMC_D15            (SYSTEM_CONTROL_MODULE_BASE + 0x0AC)
> -#define GPMC_NCS0           (SYSTEM_CONTROL_MODULE_BASE + 0x0AE)
> -#define GPMC_NCS1           (SYSTEM_CONTROL_MODULE_BASE + 0x0B0)
> -#define GPMC_NCS2           (SYSTEM_CONTROL_MODULE_BASE + 0x0B2)
> -#define GPMC_NCS3           (SYSTEM_CONTROL_MODULE_BASE + 0x0B4)
> -#define GPMC_NCS4           (SYSTEM_CONTROL_MODULE_BASE + 0x0B6)
> -#define GPMC_NCS5           (SYSTEM_CONTROL_MODULE_BASE + 0x0B8)
> -#define GPMC_NCS6           (SYSTEM_CONTROL_MODULE_BASE + 0x0BA)
> -#define GPMC_NCS7           (SYSTEM_CONTROL_MODULE_BASE + 0x0BC)
> -#define GPMC_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x0BE)
> -#define GPMC_NADV_ALE       (SYSTEM_CONTROL_MODULE_BASE + 0x0C0)
> -#define GPMC_NOE            (SYSTEM_CONTROL_MODULE_BASE + 0x0C2)
> -#define GPMC_NWE            (SYSTEM_CONTROL_MODULE_BASE + 0x0C4)
> -#define GPMC_NBE0_CLE       (SYSTEM_CONTROL_MODULE_BASE + 0x0C6)
> -#define GPMC_NBE1           (SYSTEM_CONTROL_MODULE_BASE + 0x0C8)
> -#define GPMC_NWP            (SYSTEM_CONTROL_MODULE_BASE + 0x0CA)
> -#define GPMC_WAIT0          (SYSTEM_CONTROL_MODULE_BASE + 0x0CC)
> -#define GPMC_WAIT1          (SYSTEM_CONTROL_MODULE_BASE + 0x0CE)
> -#define GPMC_WAIT2          (SYSTEM_CONTROL_MODULE_BASE + 0x0D0)
> -#define GPMC_WAIT3          (SYSTEM_CONTROL_MODULE_BASE + 0x0D2)
> -#define DSS_PCLK            (SYSTEM_CONTROL_MODULE_BASE + 0x0D4)
> -#define DSS_HSYNC           (SYSTEM_CONTROL_MODULE_BASE + 0x0D6)
> -#define DSS_PSYNC           (SYSTEM_CONTROL_MODULE_BASE + 0x0D8)
> -#define DSS_ACBIAS          (SYSTEM_CONTROL_MODULE_BASE + 0x0DA)
> -#define DSS_DATA0           (SYSTEM_CONTROL_MODULE_BASE + 0x0DC)
> -#define DSS_DATA1           (SYSTEM_CONTROL_MODULE_BASE + 0x0DE)
> -#define DSS_DATA2           (SYSTEM_CONTROL_MODULE_BASE + 0x0E0)
> -#define DSS_DATA3           (SYSTEM_CONTROL_MODULE_BASE + 0x0E2)
> -#define DSS_DATA4           (SYSTEM_CONTROL_MODULE_BASE + 0x0E4)
> -#define DSS_DATA5           (SYSTEM_CONTROL_MODULE_BASE + 0x0E6)
> -#define DSS_DATA6           (SYSTEM_CONTROL_MODULE_BASE + 0x0E8)
> -#define DSS_DATA7           (SYSTEM_CONTROL_MODULE_BASE + 0x0EA)
> -#define DSS_DATA8           (SYSTEM_CONTROL_MODULE_BASE + 0x0EC)
> -#define DSS_DATA9           (SYSTEM_CONTROL_MODULE_BASE + 0x0EE)
> -#define DSS_DATA10          (SYSTEM_CONTROL_MODULE_BASE + 0x0F0)
> -#define DSS_DATA11          (SYSTEM_CONTROL_MODULE_BASE + 0x0F2)
> -#define DSS_DATA12          (SYSTEM_CONTROL_MODULE_BASE + 0x0F4)
> -#define DSS_DATA13          (SYSTEM_CONTROL_MODULE_BASE + 0x0F6)
> -#define DSS_DATA14          (SYSTEM_CONTROL_MODULE_BASE + 0x0F8)
> -#define DSS_DATA15          (SYSTEM_CONTROL_MODULE_BASE + 0x0FA)
> -#define DSS_DATA16          (SYSTEM_CONTROL_MODULE_BASE + 0x0FC)
> -#define DSS_DATA17          (SYSTEM_CONTROL_MODULE_BASE + 0x0FE)
> -#define DSS_DATA18          (SYSTEM_CONTROL_MODULE_BASE + 0x100)
> -#define DSS_DATA19          (SYSTEM_CONTROL_MODULE_BASE + 0x102)
> -#define DSS_DATA20          (SYSTEM_CONTROL_MODULE_BASE + 0x104)
> -#define DSS_DATA21          (SYSTEM_CONTROL_MODULE_BASE + 0x106)
> -#define DSS_DATA22          (SYSTEM_CONTROL_MODULE_BASE + 0x108)
> -#define DSS_DATA23          (SYSTEM_CONTROL_MODULE_BASE + 0x10A)
> -#define CAM_HS              (SYSTEM_CONTROL_MODULE_BASE + 0x10C)
> -#define CAM_VS              (SYSTEM_CONTROL_MODULE_BASE + 0x10E)
> -#define CAM_XCLKA           (SYSTEM_CONTROL_MODULE_BASE + 0x110)
> -#define CAM_PCLK            (SYSTEM_CONTROL_MODULE_BASE + 0x112)
> -#define CAM_FLD             (SYSTEM_CONTROL_MODULE_BASE + 0x114)
> -#define CAM_D0              (SYSTEM_CONTROL_MODULE_BASE + 0x116)
> -#define CAM_D1              (SYSTEM_CONTROL_MODULE_BASE + 0x118)
> -#define CAM_D2              (SYSTEM_CONTROL_MODULE_BASE + 0x11A)
> -#define CAM_D3              (SYSTEM_CONTROL_MODULE_BASE + 0x11C)
> -#define CAM_D4              (SYSTEM_CONTROL_MODULE_BASE + 0x11E)
> -#define CAM_D5              (SYSTEM_CONTROL_MODULE_BASE + 0x120)
> -#define CAM_D6              (SYSTEM_CONTROL_MODULE_BASE + 0x122)
> -#define CAM_D7              (SYSTEM_CONTROL_MODULE_BASE + 0x124)
> -#define CAM_D8              (SYSTEM_CONTROL_MODULE_BASE + 0x126)
> -#define CAM_D9              (SYSTEM_CONTROL_MODULE_BASE + 0x128)
> -#define CAM_D10             (SYSTEM_CONTROL_MODULE_BASE + 0x12A)
> -#define CAM_D11             (SYSTEM_CONTROL_MODULE_BASE + 0x12C)
> -#define CAM_XCLKB           (SYSTEM_CONTROL_MODULE_BASE + 0x12E)
> -#define CAM_WEN             (SYSTEM_CONTROL_MODULE_BASE + 0x130)
> -#define CAM_STROBE          (SYSTEM_CONTROL_MODULE_BASE + 0x132)
> -#define CSI2_DX0            (SYSTEM_CONTROL_MODULE_BASE + 0x134)
> -#define CSI2_DY0            (SYSTEM_CONTROL_MODULE_BASE + 0x136)
> -#define CSI2_DX1            (SYSTEM_CONTROL_MODULE_BASE + 0x138)
> -#define CSI2_DY1            (SYSTEM_CONTROL_MODULE_BASE + 0x13A)
> -#define MCBSP2_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x13C)
> -#define MCBSP2_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x13E)
> -#define MCBSP2_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x140)
> -#define MCBSP2_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x142)
> -#define MMC1_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x144)
> -#define MMC1_CMD            (SYSTEM_CONTROL_MODULE_BASE + 0x146)
> -#define MMC1_DAT0           (SYSTEM_CONTROL_MODULE_BASE + 0x148)
> -#define MMC1_DAT1           (SYSTEM_CONTROL_MODULE_BASE + 0x14A)
> -#define MMC1_DAT2           (SYSTEM_CONTROL_MODULE_BASE + 0x14C)
> -#define MMC1_DAT3           (SYSTEM_CONTROL_MODULE_BASE + 0x14E)
> -#define MMC1_DAT4           (SYSTEM_CONTROL_MODULE_BASE + 0x150)
> -#define MMC1_DAT5           (SYSTEM_CONTROL_MODULE_BASE + 0x152)
> -#define MMC1_DAT6           (SYSTEM_CONTROL_MODULE_BASE + 0x154)
> -#define MMC1_DAT7           (SYSTEM_CONTROL_MODULE_BASE + 0x156)
> -#define MMC2_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x158)
> -#define MMC2_CMD            (SYSTEM_CONTROL_MODULE_BASE + 0x15A)
> -#define MMC2_DAT0           (SYSTEM_CONTROL_MODULE_BASE + 0x15C)
> -#define MMC2_DAT1           (SYSTEM_CONTROL_MODULE_BASE + 0x15E)
> -#define MMC2_DAT2           (SYSTEM_CONTROL_MODULE_BASE + 0x160)
> -#define MMC2_DAT3           (SYSTEM_CONTROL_MODULE_BASE + 0x162)
> -#define MMC2_DAT4           (SYSTEM_CONTROL_MODULE_BASE + 0x164)
> -#define MMC2_DAT5           (SYSTEM_CONTROL_MODULE_BASE + 0x166)
> -#define MMC2_DAT6           (SYSTEM_CONTROL_MODULE_BASE + 0x168)
> -#define MMC2_DAT7           (SYSTEM_CONTROL_MODULE_BASE + 0x16A)
> -#define MCBSP3_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x16C)
> -#define MCBSP3_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x16E)
> -#define MCBSP3_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x170)
> -#define MCBSP3_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x172)
> -#define UART2_CTS           (SYSTEM_CONTROL_MODULE_BASE + 0x174)
> -#define UART2_RTS           (SYSTEM_CONTROL_MODULE_BASE + 0x176)
> -#define UART2_TX            (SYSTEM_CONTROL_MODULE_BASE + 0x178)
> -#define UART2_RX            (SYSTEM_CONTROL_MODULE_BASE + 0x17A)
> -#define UART1_TX            (SYSTEM_CONTROL_MODULE_BASE + 0x17C)
> -#define UART1_RTS           (SYSTEM_CONTROL_MODULE_BASE + 0x17E)
> -#define UART1_CTS           (SYSTEM_CONTROL_MODULE_BASE + 0x180)
> -#define UART1_RX            (SYSTEM_CONTROL_MODULE_BASE + 0x182)
> -#define MCBSP4_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x184)
> -#define MCBSP4_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x186)
> -#define MCBSP4_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x188)
> -#define MCBSP4_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x18A)
> -#define MCBSP1_CLKR         (SYSTEM_CONTROL_MODULE_BASE + 0x18C)
> -#define MCBSP1_FSR          (SYSTEM_CONTROL_MODULE_BASE + 0x18E)
> -#define MCBSP1_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x190)
> -#define MCBSP1_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x192)
> -#define MCBSP1_CLKS         (SYSTEM_CONTROL_MODULE_BASE + 0x194)
> -#define MCBSP1_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x196)
> -#define MCBSP1_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x198)
> -#define UART3_CTS_RCTX      (SYSTEM_CONTROL_MODULE_BASE + 0x19A)
> -#define UART3_RTS_SD        (SYSTEM_CONTROL_MODULE_BASE + 0x19C)
> -#define UART3_RX_IRRX       (SYSTEM_CONTROL_MODULE_BASE + 0x19E)
> -#define UART3_TX_IRTX       (SYSTEM_CONTROL_MODULE_BASE + 0x1A0)
> -#define HSUSB0_CLK          (SYSTEM_CONTROL_MODULE_BASE + 0x1A2)
> -#define HSUSB0_STP          (SYSTEM_CONTROL_MODULE_BASE + 0x1A4)
> -#define HSUSB0_DIR          (SYSTEM_CONTROL_MODULE_BASE + 0x1A6)
> -#define HSUSB0_NXT          (SYSTEM_CONTROL_MODULE_BASE + 0x1A8)
> -#define HSUSB0_DATA0        (SYSTEM_CONTROL_MODULE_BASE + 0x1AA)
> -#define HSUSB0_DATA1        (SYSTEM_CONTROL_MODULE_BASE + 0x1AC)
> -#define HSUSB0_DATA2        (SYSTEM_CONTROL_MODULE_BASE + 0x1AE)
> -#define HSUSB0_DATA3        (SYSTEM_CONTROL_MODULE_BASE + 0x1B0)
> -#define HSUSB0_DATA4        (SYSTEM_CONTROL_MODULE_BASE + 0x1B2)
> -#define HSUSB0_DATA5        (SYSTEM_CONTROL_MODULE_BASE + 0x1B4)
> -#define HSUSB0_DATA6        (SYSTEM_CONTROL_MODULE_BASE + 0x1B6)
> -#define HSUSB0_DATA7        (SYSTEM_CONTROL_MODULE_BASE + 0x1B8)
> -#define I2C1_SCL            (SYSTEM_CONTROL_MODULE_BASE + 0x1BA)
> -#define I2C1_SDA            (SYSTEM_CONTROL_MODULE_BASE + 0x1BC)
> -#define I2C2_SCL            (SYSTEM_CONTROL_MODULE_BASE + 0x1BE)
> -#define I2C2_SDA            (SYSTEM_CONTROL_MODULE_BASE + 0x1C0)
> -#define I2C3_SCL            (SYSTEM_CONTROL_MODULE_BASE + 0x1C2)
> -#define I2C3_SDA            (SYSTEM_CONTROL_MODULE_BASE + 0x1C4)
> -#define HDQ_SIO             (SYSTEM_CONTROL_MODULE_BASE + 0x1C6)
> -#define MCSPI1_CLK          (SYSTEM_CONTROL_MODULE_BASE + 0x1C8)
> -#define MCSPI1_SIMO         (SYSTEM_CONTROL_MODULE_BASE + 0x1CA)
> -#define MCSPI1_SOMI         (SYSTEM_CONTROL_MODULE_BASE + 0x1CC)
> -#define MCSPI1_CS0          (SYSTEM_CONTROL_MODULE_BASE + 0x1CE)
> -#define MCSPI1_CS1          (SYSTEM_CONTROL_MODULE_BASE + 0x1D0)
> -#define MCSPI1_CS2          (SYSTEM_CONTROL_MODULE_BASE + 0x1D2)
> -#define MCSPI1_CS3          (SYSTEM_CONTROL_MODULE_BASE + 0x1D4)
> -#define MCSPI2_CLK          (SYSTEM_CONTROL_MODULE_BASE + 0x1D6)
> -#define MCSPI2_SIMO         (SYSTEM_CONTROL_MODULE_BASE + 0x1D8)
> -#define MCSPI2_SOMI         (SYSTEM_CONTROL_MODULE_BASE + 0x1DA)
> -#define MCSPI2_CS0          (SYSTEM_CONTROL_MODULE_BASE + 0x1DC)
> -#define MCSPI2_CS1          (SYSTEM_CONTROL_MODULE_BASE + 0x1DE)
> -#define SYS_NIRQ            (SYSTEM_CONTROL_MODULE_BASE + 0x1E0)
> -#define SYS_CLKOUT2         (SYSTEM_CONTROL_MODULE_BASE + 0x1E2)
> -#define ETK_CLK             (SYSTEM_CONTROL_MODULE_BASE + 0x5D8)
> -#define ETK_CTL             (SYSTEM_CONTROL_MODULE_BASE + 0x5DA)
> -#define ETK_D0              (SYSTEM_CONTROL_MODULE_BASE + 0x5DC)
> -#define ETK_D1              (SYSTEM_CONTROL_MODULE_BASE + 0x5DE)
> -#define ETK_D2              (SYSTEM_CONTROL_MODULE_BASE + 0x5E0)
> -#define ETK_D3              (SYSTEM_CONTROL_MODULE_BASE + 0x5E2)
> -#define ETK_D4              (SYSTEM_CONTROL_MODULE_BASE + 0x5E4)
> -#define ETK_D5              (SYSTEM_CONTROL_MODULE_BASE + 0x5E6)
> -#define ETK_D6              (SYSTEM_CONTROL_MODULE_BASE + 0x5E8)
> -#define ETK_D7              (SYSTEM_CONTROL_MODULE_BASE + 0x5EA)
> -#define ETK_D8              (SYSTEM_CONTROL_MODULE_BASE + 0x5EC)
> -#define ETK_D9              (SYSTEM_CONTROL_MODULE_BASE + 0x5EE)
> -#define ETK_D10             (SYSTEM_CONTROL_MODULE_BASE + 0x5F0)
> -#define ETK_D11             (SYSTEM_CONTROL_MODULE_BASE + 0x5F2)
> -#define ETK_D12             (SYSTEM_CONTROL_MODULE_BASE + 0x5F4)
> -#define ETK_D13             (SYSTEM_CONTROL_MODULE_BASE + 0x5F6)
> -#define ETK_D14             (SYSTEM_CONTROL_MODULE_BASE + 0x5F8)
> -#define ETK_D15             (SYSTEM_CONTROL_MODULE_BASE + 0x5FA)
> -#define SYS_BOOT0           (SYSTEM_CONTROL_MODULE_BASE + 0xA0A)
> -#define SYS_BOOT1           (SYSTEM_CONTROL_MODULE_BASE + 0xA0C)
> -#define SYS_BOOT3           (SYSTEM_CONTROL_MODULE_BASE + 0xA10)
> -#define SYS_BOOT4           (SYSTEM_CONTROL_MODULE_BASE + 0xA12)
> -#define SYS_BOOT5           (SYSTEM_CONTROL_MODULE_BASE + 0xA14)
> -#define SYS_BOOT6           (SYSTEM_CONTROL_MODULE_BASE + 0xA16)
> -
> -//Mux modes
> -#define MUXMODE0            (0x0UL)
> -#define MUXMODE1            (0x1UL)
> -#define MUXMODE2            (0x2UL)
> -#define MUXMODE3            (0x3UL)
> -#define MUXMODE4            (0x4UL)
> -#define MUXMODE5            (0x5UL)
> -#define MUXMODE6            (0x6UL)
> -#define MUXMODE7            (0x7UL)
> -
> -//Pad configuration register.
> -#define PAD_CONFIG_MASK      (0xFFFFUL)
> -#define MUXMODE_OFFSET       0
> -#define MUXMODE_MASK         (0x7UL << MUXMODE_OFFSET)
> -#define PULL_CONFIG_OFFSET   3
> -#define PULL_CONFIG_MASK     (0x3UL << PULL_CONFIG_OFFSET)
> -#define INPUTENABLE_OFFSET   8
> -#define INPUTENABLE_MASK     (0x1UL << INPUTENABLE_OFFSET)
> -#define OFFMODE_VALUE_OFFSET 9
> -#define OFFMODE_VALUE_MASK   (0x1FUL << OFFMODE_VALUE_OFFSET)
> -#define WAKEUP_OFFSET        14
> -#define WAKEUP_MASK          (0x2UL << WAKEUP_OFFSET)
> -
> -#define PULL_DOWN_SELECTED   ((0x0UL << 1) | BIT0)
> -#define PULL_UP_SELECTED     (BIT1 | BIT0)
> -#define PULL_DISABLED        (0x0UL << 0)
> -
> -#define OUTPUT               (0x0UL) //Pin is configured in output only mode.
> -#define INPUT                (0x1UL) //Pin is configured in bi-directional mode.
> -
> -typedef struct {
> -  UINTN   Pin;
> -  UINTN   MuxMode;
> -  UINTN   PullConfig;
> -  UINTN   InputEnable;
> -} PAD_CONFIGURATION;
> -
> -#endif //__OMAP3530_PAD_CONFIGURATION_H__
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h
> deleted file mode 100644
> index 1871dbb12238..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h
> +++ /dev/null
> @@ -1,165 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530PRCM_H__
> -#define __OMAP3530PRCM_H__
> -
> -#define CM_FCLKEN1_CORE   (0x48004A00)
> -#define CM_FCLKEN3_CORE   (0x48004A08)
> -#define CM_ICLKEN1_CORE   (0x48004A10)
> -#define CM_ICLKEN3_CORE   (0x48004A18)
> -#define CM_CLKEN2_PLL     (0x48004D04)
> -#define CM_CLKSEL4_PLL    (0x48004D4C)
> -#define CM_CLKSEL5_PLL    (0x48004D50)
> -#define CM_FCLKEN_USBHOST  (0x48005400)
> -#define CM_ICLKEN_USBHOST  (0x48005410)
> -#define CM_CLKSTST_USBHOST (0x4800544c)
> -
> -//Wakeup clock defintion
> -#define CM_FCLKEN_WKUP    (0x48004C00)
> -#define CM_ICLKEN_WKUP    (0x48004C10)
> -
> -//Peripheral clock definition
> -#define CM_FCLKEN_PER     (0x48005000)
> -#define CM_ICLKEN_PER     (0x48005010)
> -#define CM_CLKSEL_PER     (0x48005040)
> -
> -//Reset management definition
> -#define PRM_RSTCTRL       (0x48307250)
> -#define PRM_RSTST         (0x48307258)
> -
> -//CORE clock
> -#define CM_FCLKEN1_CORE_EN_I2C1_MASK    BIT15
> -#define CM_FCLKEN1_CORE_EN_I2C1_DISABLE (0UL << 15)
> -#define CM_FCLKEN1_CORE_EN_I2C1_ENABLE  BIT15
> -
> -#define CM_ICLKEN1_CORE_EN_I2C1_MASK    BIT15
> -#define CM_ICLKEN1_CORE_EN_I2C1_DISABLE (0UL << 15)
> -#define CM_ICLKEN1_CORE_EN_I2C1_ENABLE  BIT15
> -
> -#define CM_FCLKEN1_CORE_EN_MMC1_MASK    BIT24
> -#define CM_FCLKEN1_CORE_EN_MMC1_DISABLE (0UL << 24)
> -#define CM_FCLKEN1_CORE_EN_MMC1_ENABLE  BIT24
> -
> -#define CM_FCLKEN3_CORE_EN_USBTLL_MASK    BIT2
> -#define CM_FCLKEN3_CORE_EN_USBTLL_DISABLE (0UL << 2)
> -#define CM_FCLKEN3_CORE_EN_USBTLL_ENABLE  BIT2
> -
> -#define CM_ICLKEN1_CORE_EN_MMC1_MASK    BIT24
> -#define CM_ICLKEN1_CORE_EN_MMC1_DISABLE (0UL << 24)
> -#define CM_ICLKEN1_CORE_EN_MMC1_ENABLE  BIT24
> -
> -#define CM_ICLKEN3_CORE_EN_USBTLL_MASK    BIT2
> -#define CM_ICLKEN3_CORE_EN_USBTLL_DISABLE (0UL << 2)
> -#define CM_ICLKEN3_CORE_EN_USBTLL_ENABLE  BIT2
> -
> -#define CM_CLKEN_FREQSEL_075_100        (0x03UL << 4)
> -#define CM_CLKEN_ENABLE                 (7UL << 0)
> -
> -#define CM_CLKSEL_PLL_MULT(x)           (((x) & 0x07FF) << 8)
> -#define CM_CLKSEL_PLL_DIV(x)            ((((x) - 1) & 0x7F) << 0)
> -
> -#define CM_CLKSEL_DIV_120M(x)           (((x) & 0x1F) << 0)
> -
> -#define CM_FCLKEN_USBHOST_EN_USBHOST2_MASK    BIT1
> -#define CM_FCLKEN_USBHOST_EN_USBHOST2_DISABLE (0UL << 1)
> -#define CM_FCLKEN_USBHOST_EN_USBHOST2_ENABLE  BIT1
> -
> -#define CM_FCLKEN_USBHOST_EN_USBHOST1_MASK    BIT0
> -#define CM_FCLKEN_USBHOST_EN_USBHOST1_DISABLE (0UL << 0)
> -#define CM_FCLKEN_USBHOST_EN_USBHOST1_ENABLE  BIT0
> -
> -#define CM_ICLKEN_USBHOST_EN_USBHOST_MASK     BIT0
> -#define CM_ICLKEN_USBHOST_EN_USBHOST_DISABLE  (0UL << 0)
> -#define CM_ICLKEN_USBHOST_EN_USBHOST_ENABLE   BIT0
> -
> -//Wakeup functional clock
> -#define CM_FCLKEN_WKUP_EN_GPIO1_DISABLE       (0UL << 3)
> -#define CM_FCLKEN_WKUP_EN_GPIO1_ENABLE        BIT3
> -
> -#define CM_FCLKEN_WKUP_EN_WDT2_DISABLE        (0UL << 5)
> -#define CM_FCLKEN_WKUP_EN_WDT2_ENABLE         BIT5
> -
> -//Wakeup interface clock
> -#define CM_ICLKEN_WKUP_EN_GPIO1_DISABLE       (0UL << 3)
> -#define CM_ICLKEN_WKUP_EN_GPIO1_ENABLE        BIT3
> -
> -#define CM_ICLKEN_WKUP_EN_WDT2_DISABLE        (0UL << 5)
> -#define CM_ICLKEN_WKUP_EN_WDT2_ENABLE         BIT5
> -
> -//Peripheral functional clock
> -#define CM_FCLKEN_PER_EN_GPT3_DISABLE         (0UL << 4)
> -#define CM_FCLKEN_PER_EN_GPT3_ENABLE          BIT4
> -
> -#define CM_FCLKEN_PER_EN_GPT4_DISABLE         (0UL << 5)
> -#define CM_FCLKEN_PER_EN_GPT4_ENABLE          BIT5
> -
> -#define CM_FCLKEN_PER_EN_UART3_DISABLE        (0UL << 11)
> -#define CM_FCLKEN_PER_EN_UART3_ENABLE         BIT11
> -
> -#define CM_FCLKEN_PER_EN_GPIO2_DISABLE        (0UL << 13)
> -#define CM_FCLKEN_PER_EN_GPIO2_ENABLE         BIT13
> -
> -#define CM_FCLKEN_PER_EN_GPIO3_DISABLE        (0UL << 14)
> -#define CM_FCLKEN_PER_EN_GPIO3_ENABLE         BIT14
> -
> -#define CM_FCLKEN_PER_EN_GPIO4_DISABLE        (0UL << 15)
> -#define CM_FCLKEN_PER_EN_GPIO4_ENABLE         BIT15
> -
> -#define CM_FCLKEN_PER_EN_GPIO5_DISABLE        (0UL << 16)
> -#define CM_FCLKEN_PER_EN_GPIO5_ENABLE         BIT16
> -
> -#define CM_FCLKEN_PER_EN_GPIO6_DISABLE        (0UL << 17)
> -#define CM_FCLKEN_PER_EN_GPIO6_ENABLE         BIT17
> -
> -//Peripheral interface clock
> -#define CM_ICLKEN_PER_EN_GPT3_DISABLE         (0UL << 4)
> -#define CM_ICLKEN_PER_EN_GPT3_ENABLE          BIT4
> -
> -#define CM_ICLKEN_PER_EN_GPT4_DISABLE         (0UL << 5)
> -#define CM_ICLKEN_PER_EN_GPT4_ENABLE          BIT5
> -
> -#define CM_ICLKEN_PER_EN_UART3_DISABLE        (0UL << 11)
> -#define CM_ICLKEN_PER_EN_UART3_ENABLE         BIT11
> -
> -#define CM_ICLKEN_PER_EN_GPIO2_DISABLE        (0UL << 13)
> -#define CM_ICLKEN_PER_EN_GPIO2_ENABLE         BIT13
> -
> -#define CM_ICLKEN_PER_EN_GPIO3_DISABLE        (0UL << 14)
> -#define CM_ICLKEN_PER_EN_GPIO3_ENABLE         BIT14
> -
> -#define CM_ICLKEN_PER_EN_GPIO4_DISABLE        (0UL << 15)
> -#define CM_ICLKEN_PER_EN_GPIO4_ENABLE         BIT15
> -
> -#define CM_ICLKEN_PER_EN_GPIO5_DISABLE        (0UL << 16)
> -#define CM_ICLKEN_PER_EN_GPIO5_ENABLE         BIT16
> -
> -#define CM_ICLKEN_PER_EN_GPIO6_DISABLE        (0UL << 17)
> -#define CM_ICLKEN_PER_EN_GPIO6_ENABLE         BIT17
> -
> -//Timer source clock selection
> -#define CM_CLKSEL_PER_CLKSEL_GPT3_32K         (0UL << 1)
> -#define CM_CLKSEL_PER_CLKSEL_GPT3_SYS         BIT1
> -
> -#define CM_CLKSEL_PER_CLKSEL_GPT4_32K         (0UL << 2)
> -#define CM_CLKSEL_PER_CLKSEL_GPT4_SYS         BIT2
> -
> -//Reset management (Global and Cold reset)
> -#define RST_GS            BIT1
> -#define RST_DPLL3         BIT2
> -#define GLOBAL_SW_RST     BIT1
> -#define GLOBAL_COLD_RST   (0x0UL << 0)
> -
> -#endif // __OMAP3530PRCM_H__
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h
> deleted file mode 100644
> index d66da8dc0446..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h
> +++ /dev/null
> @@ -1,82 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530TIMER_H__
> -#define __OMAP3530TIMER_H__
> -
> -#define GPTIMER1_BASE   (0x48313000)
> -#define GPTIMER2_BASE   (0x49032000)
> -#define GPTIMER3_BASE   (0x49034000)
> -#define GPTIMER4_BASE   (0x49036000)
> -#define GPTIMER5_BASE   (0x49038000)
> -#define GPTIMER6_BASE   (0x4903A000)
> -#define GPTIMER7_BASE   (0x4903C000)
> -#define GPTIMER8_BASE   (0x4903E000)
> -#define GPTIMER9_BASE   (0x49040000)
> -#define GPTIMER10_BASE  (0x48086000)
> -#define GPTIMER11_BASE  (0x48088000)
> -#define GPTIMER12_BASE  (0x48304000)
> -#define WDTIMER2_BASE   (0x48314000)
> -
> -#define GPTIMER_TIOCP_CFG (0x0010)
> -#define GPTIMER_TISTAT    (0x0014)
> -#define GPTIMER_TISR      (0x0018)
> -#define GPTIMER_TIER      (0x001C)
> -#define GPTIMER_TWER      (0x0020)
> -#define GPTIMER_TCLR      (0x0024)
> -#define GPTIMER_TCRR      (0x0028)
> -#define GPTIMER_TLDR      (0x002C)
> -#define GPTIMER_TTGR      (0x0030)
> -#define GPTIMER_TWPS      (0x0034)
> -#define GPTIMER_TMAR      (0x0038)
> -#define GPTIMER_TCAR1     (0x003C)
> -#define GPTIMER_TSICR     (0x0040)
> -#define GPTIMER_TCAR2     (0x0044)
> -#define GPTIMER_TPIR      (0x0048)
> -#define GPTIMER_TNIR      (0x004C)
> -#define GPTIMER_TCVR      (0x0050)
> -#define GPTIMER_TOCR      (0x0054)
> -#define GPTIMER_TOWR      (0x0058)
> -
> -#define WSPR              (0x048)
> -
> -#define TISR_TCAR_IT_FLAG_MASK  BIT2
> -#define TISR_OVF_IT_FLAG_MASK   BIT1
> -#define TISR_MAT_IT_FLAG_MASK   BIT0
> -#define TISR_ALL_INTERRUPT_MASK (TISR_TCAR_IT_FLAG_MASK | TISR_OVF_IT_FLAG_MASK | TISR_MAT_IT_FLAG_MASK)
> -
> -#define TISR_TCAR_IT_FLAG_NOT_PENDING   (0UL << 2)
> -#define TISR_OVF_IT_FLAG_NOT_PENDING    (0UL << 1)
> -#define TISR_MAT_IT_FLAG_NOT_PENDING    (0UL << 0)
> -#define TISR_NO_INTERRUPTS_PENDING      (TISR_TCAR_IT_FLAG_NOT_PENDING | TISR_OVF_IT_FLAG_NOT_PENDING | TISR_MAT_IT_FLAG_NOT_PENDING)
> -
> -#define TISR_TCAR_IT_FLAG_CLEAR BIT2
> -#define TISR_OVF_IT_FLAG_CLEAR  BIT1
> -#define TISR_MAT_IT_FLAG_CLEAR  BIT0
> -#define TISR_CLEAR_ALL          (TISR_TCAR_IT_FLAG_CLEAR | TISR_OVF_IT_FLAG_CLEAR | TISR_MAT_IT_FLAG_CLEAR)
> -
> -#define TCLR_AR_AUTORELOAD      BIT1
> -#define TCLR_AR_ONESHOT         (0UL << 1)
> -#define TCLR_ST_ON              BIT0
> -#define TCLR_ST_OFF             (0UL << 0)
> -
> -#define TIER_TCAR_IT_ENABLE     (BIT2
> -#define TIER_TCAR_IT_DISABLE    (0UL << 2)
> -#define TIER_OVF_IT_ENABLE      BIT1
> -#define TIER_OVF_IT_DISABLE     (0UL << 1)
> -#define TIER_MAT_IT_ENABLE      BIT0
> -#define TIER_MAT_IT_DISABLE     (0UL << 0)
> -
> -#endif // __OMAP3530TIMER_H__
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h
> deleted file mode 100644
> index 62cbe3070edc..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530UART_H__
> -#define __OMAP3530UART_H__
> -
> -#define UART1_BASE  (0x4806A000)
> -#define UART2_BASE  (0x4806C000)
> -#define UART3_BASE  (0x49020000)
> -
> -#define UART_DLL_REG  (0x0000)
> -#define UART_RBR_REG  (0x0000)
> -#define UART_THR_REG  (0x0000)
> -#define UART_DLH_REG  (0x0004)
> -#define UART_FCR_REG  (0x0008)
> -#define UART_LCR_REG  (0x000C)
> -#define UART_MCR_REG  (0x0010)
> -#define UART_LSR_REG  (0x0014)
> -#define UART_MDR1_REG (0x0020)
> -
> -#define UART_FCR_TX_FIFO_CLEAR          BIT2
> -#define UART_FCR_RX_FIFO_CLEAR          BIT1
> -#define UART_FCR_FIFO_ENABLE            BIT0
> -
> -#define UART_LCR_DIV_EN_ENABLE          BIT7
> -#define UART_LCR_DIV_EN_DISABLE         (0UL << 7)
> -#define UART_LCR_CHAR_LENGTH_8          (BIT1 | BIT0)
> -
> -#define UART_MCR_RTS_FORCE_ACTIVE       BIT1
> -#define UART_MCR_DTR_FORCE_ACTIVE       BIT0
> -
> -#define UART_LSR_TX_FIFO_E_MASK         BIT5
> -#define UART_LSR_TX_FIFO_E_NOT_EMPTY    (0UL << 5)
> -#define UART_LSR_TX_FIFO_E_EMPTY        BIT5
> -#define UART_LSR_RX_FIFO_E_MASK         BIT0
> -#define UART_LSR_RX_FIFO_E_NOT_EMPTY    BIT0
> -#define UART_LSR_RX_FIFO_E_EMPTY        (0UL << 0)
> -
> -// BIT2:BIT0
> -#define UART_MDR1_MODE_SELECT_DISABLE   (7UL)
> -#define UART_MDR1_MODE_SELECT_UART_16X  (0UL)
> -
> -#endif // __OMAP3530UART_H__
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h
> deleted file mode 100644
> index 5d64cafc577d..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530USB_H__
> -#define __OMAP3530USB_H__
> -
> -#define USB_BASE            (0x48060000)
> -
> -#define UHH_SYSCONFIG       (USB_BASE + 0x4010)
> -#define UHH_HOSTCONFIG      (USB_BASE + 0x4040)
> -#define UHH_SYSSTATUS       (USB_BASE + 0x4014)
> -
> -#define USB_EHCI_HCCAPBASE  (USB_BASE + 0x4800)
> -
> -#define UHH_SYSCONFIG_MIDLEMODE_NO_STANDBY  BIT12
> -#define UHH_SYSCONFIG_CLOCKACTIVITY_ON      BIT8
> -#define UHH_SYSCONFIG_SIDLEMODE_NO_STANDBY  BIT3
> -#define UHH_SYSCONFIG_ENAWAKEUP_ENABLE      BIT2
> -#define UHH_SYSCONFIG_SOFTRESET             BIT1
> -#define UHH_SYSCONFIG_AUTOIDLE_ALWAYS_RUN   (0UL <<  0)
> -
> -#define UHH_HOSTCONFIG_P3_CONNECT_STATUS_DISCONNECT (0UL << 10)
> -#define UHH_HOSTCONFIG_P2_CONNECT_STATUS_DISCONNECT (0UL <<  9)
> -#define UHH_HOSTCONFIG_P1_CONNECT_STATUS_DISCONNECT (0UL <<  8)
> -#define UHH_HOSTCONFIG_ENA_INCR_ALIGN_DISABLE       (0UL <<  5)
> -#define UHH_HOSTCONFIG_ENA_INCR16_ENABLE            BIT4
> -#define UHH_HOSTCONFIG_ENA_INCR8_ENABLE             BIT3
> -#define UHH_HOSTCONFIG_ENA_INCR4_ENABLE             BIT2
> -#define UHH_HOSTCONFIG_AUTOPPD_ON_OVERCUR_EN_ON     (0UL <<  1)
> -#define UHH_HOSTCONFIG_P1_ULPI_BYPASS_ULPI_MODE     (0UL <<  0)
> -
> -#define UHH_SYSSTATUS_RESETDONE                (BIT0 | BIT1 | BIT2)
> -
> -#endif // __OMAP3530USB_H__
> -
> -
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Include/TPS65950.h b/Chips/TexasInstruments/Omap35xx/Include/TPS65950.h
> deleted file mode 100644
> index 1db8b6db4617..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Include/TPS65950.h
> +++ /dev/null
> @@ -1,80 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __TPS65950_H__
> -#define __TPS65950_H__
> -
> -#define EXTERNAL_DEVICE_REGISTER_TO_SLAVE_ADDRESS(x)     (((x) >> 8) & 0xFF)
> -#define EXTERNAL_DEVICE_REGISTER_TO_REGISTER(x)          ((x) & 0xFF)
> -#define EXTERNAL_DEVICE_REGISTER(SlaveAddress, Register) (((SlaveAddress) & 0xFF) << 8 | ((Register) & 0xFF))
> -
> -// I2C Address group
> -#define I2C_ADDR_GRP_ID1      0x48
> -#define I2C_ADDR_GRP_ID2      0x49
> -#define I2C_ADDR_GRP_ID3      0x4A
> -#define I2C_ADDR_GRP_ID4      0x4B
> -#define I2C_ADDR_GRP_ID5      0x12
> -
> -// MMC definitions.
> -#define VMMC1_DEV_GRP         0x82
> -#define DEV_GRP_P1            BIT5
> -
> -#define VMMC1_DEDICATED_REG   0x85
> -#define VSEL_1_85V            0x0
> -#define VSEL_2_85V            0x1
> -#define VSEL_3_00V            0x2
> -#define VSEL_3_15V            0x3
> -
> -#define TPS65950_GPIO_CTRL    0xaa  //I2C_ADDR_GRP_ID2
> -#define CARD_DETECT_ENABLE    (BIT2 | BIT0) // GPIO ON + GPIO CD1 enabled
> -
> -
> -#define GPIODATAIN1           0x98  //I2C_ADDR_GRP_ID2
> -#define CARD_DETECT_BIT       BIT0
> -
> -// LEDEN register
> -#define LEDEN                 0xEE
> -#define LEDAON                BIT0
> -#define LEDBON                BIT1
> -#define LEDAPWM               BIT4
> -#define LEDBPWM               BIT5
> -
> -// RTC registers
> -#define SECONDS_REG           0x1C
> -#define MINUTES_REG           0x1D
> -#define HOURS_REG             0x1E
> -#define DAYS_REG              0x1F
> -#define MONTHS_REG            0x20
> -#define YEARS_REG             0x21
> -#define WEEKS_REG             0x22
> -#define RTC_CTRL_REG          0x29
> -
> -// USB PHY power
> -#define VAUX2_DEDICATED       0x79
> -#define VAUX2_DEV_GRP         0x76
> -
> -#define VAUX_DEV_GRP_NONE     0x00
> -#define VAUX_DEV_GRP_P1       0x20
> -#define VAUX_DEV_GRP_P2       0x40
> -#define VAUX_DEV_GRP_P3       0x80
> -#define VAUX_DEDICATED_18V    0x05
> -
> -// Display subsystem
> -#define VPLL2_DEDICATED       0x91
> -#define VPLL2_DEV_GRP         0x8E
> -
> -#define GPIODATADIR1          0x9B
> -#define SETGPIODATAOUT1       0xA4
> -
> -#endif //__TPS65950_H__
> diff --git a/Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c b/Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c
> deleted file mode 100644
> index 09e22b5921b0..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c
> +++ /dev/null
> @@ -1,357 +0,0 @@
> -/** @file
> -  Handle OMAP35xx interrupt controller
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -
> -**/
> -#include <PiDxe.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/ArmLib.h>
> -
> -#include <Protocol/Cpu.h>
> -#include <Protocol/HardwareInterrupt.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -//
> -// Notifications
> -//
> -EFI_EVENT EfiExitBootServicesEvent      = (EFI_EVENT)NULL;
> -
> -
> -HARDWARE_INTERRUPT_HANDLER  gRegisteredInterruptHandlers[INT_NROF_VECTORS];
> -
> -/**
> -  Shutdown our hardware
> -
> -  DXE Core will disable interrupts and turn off the timer and disable interrupts
> -  after all the event handlers have run.
> -
> -  @param[in]  Event   The Event that is being processed
> -  @param[in]  Context Event Context
> -**/
> -VOID
> -EFIAPI
> -ExitBootServicesEvent (
> -  IN EFI_EVENT  Event,
> -  IN VOID       *Context
> -  )
> -{
> -  // Disable all interrupts
> -  MmioWrite32 (INTCPS_MIR(0), 0xFFFFFFFF);
> -  MmioWrite32 (INTCPS_MIR(1), 0xFFFFFFFF);
> -  MmioWrite32 (INTCPS_MIR(2), 0xFFFFFFFF);
> -  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
> -
> -  // Add code here to disable all FIQs as debugger may have turned one on
> -}
> -
> -/**
> -  Register Handler for the specified interrupt source.
> -
> -  @param This     Instance pointer for this protocol
> -  @param Source   Hardware source of the interrupt
> -  @param Handler  Callback for interrupt. NULL to unregister
> -
> -  @retval EFI_SUCCESS Source was updated to support Handler.
> -  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -RegisterInterruptSource (
> -  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
> -  IN HARDWARE_INTERRUPT_SOURCE          Source,
> -  IN HARDWARE_INTERRUPT_HANDLER         Handler
> -  )
> -{
> -  if (Source > MAX_VECTOR) {
> -    ASSERT(FALSE);
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  if ((MmioRead32 (INTCPS_ILR(Source)) & INTCPS_ILR_FIQ) == INTCPS_ILR_FIQ) {
> -    // This vector has been programmed as FIQ so we can't use it for IRQ
> -    // EFI does not use FIQ, but the debugger can use it to check for
> -    // ctrl-c. So this ASSERT means you have a conflict with the debug agent
> -    ASSERT (FALSE);
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  if ((Handler == NULL) && (gRegisteredInterruptHandlers[Source] == NULL)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  if ((Handler != NULL) && (gRegisteredInterruptHandlers[Source] != NULL)) {
> -    return EFI_ALREADY_STARTED;
> -  }
> -
> -  gRegisteredInterruptHandlers[Source] = Handler;
> -  return This->EnableInterruptSource(This, Source);
> -}
> -
> -
> -/**
> -  Enable interrupt source Source.
> -
> -  @param This     Instance pointer for this protocol
> -  @param Source   Hardware source of the interrupt
> -
> -  @retval EFI_SUCCESS       Source interrupt enabled.
> -  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -EnableInterruptSource (
> -  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
> -  IN HARDWARE_INTERRUPT_SOURCE          Source
> -  )
> -{
> -  UINTN Bank;
> -  UINTN Bit;
> -
> -  if (Source > MAX_VECTOR) {
> -    ASSERT(FALSE);
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  Bank = Source / 32;
> -  Bit  = 1UL << (Source % 32);
> -
> -  MmioWrite32 (INTCPS_MIR_CLEAR(Bank), Bit);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -/**
> -  Disable interrupt source Source.
> -
> -  @param This     Instance pointer for this protocol
> -  @param Source   Hardware source of the interrupt
> -
> -  @retval EFI_SUCCESS       Source interrupt disabled.
> -  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -DisableInterruptSource (
> -  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
> -  IN HARDWARE_INTERRUPT_SOURCE          Source
> -  )
> -{
> -  UINTN Bank;
> -  UINTN Bit;
> -
> -  if (Source > MAX_VECTOR) {
> -    ASSERT(FALSE);
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  Bank = Source / 32;
> -  Bit  = 1UL << (Source % 32);
> -
> -  MmioWrite32 (INTCPS_MIR_SET(Bank), Bit);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -
> -/**
> -  Return current state of interrupt source Source.
> -
> -  @param This     Instance pointer for this protocol
> -  @param Source   Hardware source of the interrupt
> -  @param InterruptState  TRUE: source enabled, FALSE: source disabled.
> -
> -  @retval EFI_SUCCESS       InterruptState is valid
> -  @retval EFI_DEVICE_ERROR  InterruptState is not valid
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -GetInterruptSourceState (
> -  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
> -  IN HARDWARE_INTERRUPT_SOURCE          Source,
> -  IN BOOLEAN                            *InterruptState
> -  )
> -{
> -  UINTN Bank;
> -  UINTN Bit;
> -
> -  if (InterruptState == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  if (Source > MAX_VECTOR) {
> -    ASSERT(FALSE);
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  Bank = Source / 32;
> -  Bit  = 1UL << (Source % 32);
> -
> -  if ((MmioRead32(INTCPS_MIR(Bank)) & Bit) == Bit) {
> -    *InterruptState = FALSE;
> -  } else {
> -    *InterruptState = TRUE;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Signal to the hardware that the End Of Intrrupt state
> -  has been reached.
> -
> -  @param This     Instance pointer for this protocol
> -  @param Source   Hardware source of the interrupt
> -
> -  @retval EFI_SUCCESS       Source interrupt EOI'ed.
> -  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -EndOfInterrupt (
> -  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
> -  IN HARDWARE_INTERRUPT_SOURCE          Source
> -  )
> -{
> -  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
> -  ArmDataSynchronizationBarrier ();
> -  return EFI_SUCCESS;
> -}
> -
> -
> -/**
> -  EFI_CPU_INTERRUPT_HANDLER that is called when a processor interrupt occurs.
> -
> -  @param  InterruptType    Defines the type of interrupt or exception that
> -                           occurred on the processor.This parameter is processor architecture specific.
> -  @param  SystemContext    A pointer to the processor context when
> -                           the interrupt occurred on the processor.
> -
> -  @return None
> -
> -**/
> -VOID
> -EFIAPI
> -IrqInterruptHandler (
> -  IN EFI_EXCEPTION_TYPE           InterruptType,
> -  IN EFI_SYSTEM_CONTEXT           SystemContext
> -  )
> -{
> -  UINT32                     Vector;
> -  HARDWARE_INTERRUPT_HANDLER InterruptHandler;
> -
> -  Vector = MmioRead32 (INTCPS_SIR_IRQ) & INTCPS_SIR_IRQ_MASK;
> -
> -  // Needed to prevent infinite nesting when Time Driver lowers TPL
> -  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
> -  ArmDataSynchronizationBarrier ();
> -
> -  InterruptHandler = gRegisteredInterruptHandlers[Vector];
> -  if (InterruptHandler != NULL) {
> -    // Call the registered interrupt handler.
> -    InterruptHandler (Vector, SystemContext);
> -  }
> -
> -  // Needed to clear after running the handler
> -  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
> -  ArmDataSynchronizationBarrier ();
> -}
> -
> -//
> -// Making this global saves a few bytes in image size
> -//
> -EFI_HANDLE  gHardwareInterruptHandle = NULL;
> -
> -//
> -// The protocol instance produced by this driver
> -//
> -EFI_HARDWARE_INTERRUPT_PROTOCOL gHardwareInterruptProtocol = {
> -  RegisterInterruptSource,
> -  EnableInterruptSource,
> -  DisableInterruptSource,
> -  GetInterruptSourceState,
> -  EndOfInterrupt
> -};
> -
> -/**
> -  Initialize the state information for the CPU Architectural Protocol
> -
> -  @param  ImageHandle   of the loaded driver
> -  @param  SystemTable   Pointer to the System Table
> -
> -  @retval EFI_SUCCESS           Protocol registered
> -  @retval EFI_OUT_OF_RESOURCES  Cannot allocate protocol data structure
> -  @retval EFI_DEVICE_ERROR      Hardware problems
> -
> -**/
> -EFI_STATUS
> -InterruptDxeInitialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_STATUS  Status;
> -  EFI_CPU_ARCH_PROTOCOL   *Cpu;
> -
> -  // Make sure the Interrupt Controller Protocol is not already installed in the system.
> -  ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid);
> -
> -  // Make sure all interrupts are disabled by default.
> -  MmioWrite32 (INTCPS_MIR(0), 0xFFFFFFFF);
> -  MmioWrite32 (INTCPS_MIR(1), 0xFFFFFFFF);
> -  MmioWrite32 (INTCPS_MIR(2), 0xFFFFFFFF);
> -  MmioOr32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
> -
> -  Status = gBS->InstallMultipleProtocolInterfaces(&gHardwareInterruptHandle,
> -                                                  &gHardwareInterruptProtocolGuid,   &gHardwareInterruptProtocol,
> -                                                  NULL);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  //
> -  // Get the CPU protocol that this driver requires.
> -  //
> -  Status = gBS->LocateProtocol(&gEfiCpuArchProtocolGuid, NULL, (VOID **)&Cpu);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  //
> -  // Unregister the default exception handler.
> -  //
> -  Status = Cpu->RegisterInterruptHandler(Cpu, EXCEPT_ARM_IRQ, NULL);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  //
> -  // Register to receive interrupts
> -  //
> -  Status = Cpu->RegisterInterruptHandler(Cpu, EXCEPT_ARM_IRQ, IrqInterruptHandler);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  // Register for an ExitBootServicesEvent
> -  Status = gBS->CreateEvent(EVT_SIGNAL_EXIT_BOOT_SERVICES, TPL_NOTIFY, ExitBootServicesEvent, NULL, &EfiExitBootServicesEvent);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  return Status;
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf b/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
> deleted file mode 100644
> index 76276dd3601d..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -#/** @file
> -#
> -#  Interrupt DXE driver
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = Omap35xxBoardInterruptDxe
> -  FILE_GUID                      = 23eed05d-1b93-4a1a-8e1b-931d69e37952
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = InterruptDxeInitialize
> -
> -
> -[Sources.common]
> -  HardwareInterrupt.c
> -
> -
> -[Packages]
> -  ArmPkg/ArmPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -
> -[LibraryClasses]
> -  BaseLib
> -  UefiLib
> -  UefiBootServicesTableLib
> -  DebugLib
> -  PrintLib
> -  UefiDriverEntryPoint
> -  IoLib
> -  ArmLib
> -
> -[Protocols]
> -  gHardwareInterruptProtocolGuid
> -  gEfiCpuArchProtocolGuid
> -
> -[FixedPcd.common]
> -  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress
> -
> -[Depex]
> -  gEfiCpuArchProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c
> deleted file mode 100644
> index 418328afe496..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c
> +++ /dev/null
> @@ -1,445 +0,0 @@
> -/** @file
> -
> - 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.
> -
> - **/
> -
> -#include <PiDxe.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/DevicePathLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiRuntimeServicesTableLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -
> -#include <Guid/GlobalVariable.h>
> -
> -#include "LcdGraphicsOutputDxe.h"
> -
> -extern BOOLEAN mDisplayInitialized;
> -
> -//
> -// Function Definitions
> -//
> -
> -STATIC
> -EFI_STATUS
> -VideoCopyNoHorizontalOverlap (
> -  IN UINTN          BitsPerPixel,
> -  IN volatile VOID  *FrameBufferBase,
> -  IN UINT32         HorizontalResolution,
> -  IN UINTN          SourceX,
> -  IN UINTN          SourceY,
> -  IN UINTN          DestinationX,
> -  IN UINTN          DestinationY,
> -  IN UINTN          Width,
> -  IN UINTN          Height
> -  )
> -{
> -  EFI_STATUS    Status = EFI_SUCCESS;
> -  UINTN         SourceLine;
> -  UINTN         DestinationLine;
> -  UINTN         WidthInBytes;
> -  UINTN         LineCount;
> -  INTN          Step;
> -  VOID          *SourceAddr;
> -  VOID          *DestinationAddr;
> -
> -  if( DestinationY <= SourceY ) {
> -    // scrolling up (or horizontally but without overlap)
> -    SourceLine       = SourceY;
> -    DestinationLine  = DestinationY;
> -    Step             = 1;
> -  } else {
> -    // scrolling down
> -    SourceLine       = SourceY + Height;
> -    DestinationLine  = DestinationY + Height;
> -    Step             = -1;
> -  }
> -
> -  WidthInBytes = Width * 2;
> -
> -  for( LineCount = 0; LineCount < Height; LineCount++ ) {
> -    // Update the start addresses of source & destination using 16bit pointer arithmetic
> -    SourceAddr      = (VOID *)((UINT16 *)FrameBufferBase + SourceLine      * HorizontalResolution + SourceX     );
> -    DestinationAddr = (VOID *)((UINT16 *)FrameBufferBase + DestinationLine * HorizontalResolution + DestinationX);
> -
> -    // Copy the entire line Y from video ram to the temp buffer
> -    CopyMem( DestinationAddr, SourceAddr, WidthInBytes);
> -
> -    // Update the line numbers
> -    SourceLine      += Step;
> -    DestinationLine += Step;
> -  }
> -
> -  return Status;
> -}
> -
> -STATIC
> -EFI_STATUS
> -VideoCopyHorizontalOverlap (
> -  IN UINTN          BitsPerPixel,
> -  IN volatile VOID  *FrameBufferBase,
> -  UINT32            HorizontalResolution,
> -  IN UINTN          SourceX,
> -  IN UINTN          SourceY,
> -  IN UINTN          DestinationX,
> -  IN UINTN          DestinationY,
> -  IN UINTN          Width,
> -  IN UINTN          Height
> -  )
> -{
> -  EFI_STATUS      Status = EFI_SUCCESS;
> -
> -  UINT16 *PixelBuffer16bit;
> -  UINT16 *SourcePixel16bit;
> -  UINT16 *DestinationPixel16bit;
> -
> -  UINT32          SourcePixelY;
> -  UINT32          DestinationPixelY;
> -  UINTN           SizeIn16Bits;
> -
> -  // Allocate a temporary buffer
> -  PixelBuffer16bit = (UINT16 *) AllocatePool((Height * Width) * sizeof(UINT16));
> -
> -  if (PixelBuffer16bit == NULL) {
> -    Status = EFI_OUT_OF_RESOURCES;
> -    goto EXIT;
> -  }
> -
> -  // Access each pixel inside the source area of the Video Memory and copy it to the temp buffer
> -
> -  SizeIn16Bits = Width * 2;
> -
> -  for (SourcePixelY = SourceY, DestinationPixel16bit = PixelBuffer16bit;
> -       SourcePixelY < SourceY + Height;
> -       SourcePixelY++, DestinationPixel16bit += Width)
> -  {
> -    // Calculate the source address:
> -    SourcePixel16bit = (UINT16 *)FrameBufferBase + SourcePixelY * HorizontalResolution + SourceX;
> -
> -    // Copy the entire line Y from Video to the temp buffer
> -    CopyMem( (VOID *)DestinationPixel16bit, (CONST VOID *)SourcePixel16bit, SizeIn16Bits);
> -  }
> -
> -  // Copy from the temp buffer into the destination area of the Video Memory
> -
> -  for (DestinationPixelY = DestinationY, SourcePixel16bit = PixelBuffer16bit;
> -       DestinationPixelY < DestinationY + Height;
> -       DestinationPixelY++, SourcePixel16bit += Width)
> -  {
> -    // Calculate the target address:
> -    DestinationPixel16bit = (UINT16 *)FrameBufferBase + (DestinationPixelY * HorizontalResolution + DestinationX);
> -
> -    // Copy the entire line Y from the temp buffer to Video
> -    CopyMem( (VOID *)DestinationPixel16bit, (CONST VOID *)SourcePixel16bit, SizeIn16Bits);
> -  }
> -
> -  // Free the allocated memory
> -  FreePool((VOID *) PixelBuffer16bit);
> -
> -
> -EXIT:
> -  return Status;
> -}
> -
> -STATIC
> -EFI_STATUS
> -BltVideoFill (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
> -  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *EfiSourcePixel,     OPTIONAL
> -  IN UINTN                               SourceX,
> -  IN UINTN                               SourceY,
> -  IN UINTN                               DestinationX,
> -  IN UINTN                               DestinationY,
> -  IN UINTN                               Width,
> -  IN UINTN                               Height,
> -  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
> -  )
> -{
> -  EFI_PIXEL_BITMASK*  PixelInformation;
> -  EFI_STATUS          Status;
> -  UINT32              HorizontalResolution;
> -  VOID                *FrameBufferBase;
> -  UINT16              *DestinationPixel16bit;
> -  UINT16              Pixel16bit;
> -  UINT32              DestinationPixelX;
> -  UINT32              DestinationLine;
> -
> -  Status           = EFI_SUCCESS;
> -  PixelInformation = &This->Mode->Info->PixelInformation;
> -  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
> -  HorizontalResolution = This->Mode->Info->HorizontalResolution;
> -
> -  // Convert the EFI pixel at the start of the BltBuffer(0,0) into a video display pixel
> -  Pixel16bit = (UINT16) (
> -      ( (EfiSourcePixel->Red      <<  8) & PixelInformation->RedMask      )
> -    | ( (EfiSourcePixel->Green    <<  3) & PixelInformation->GreenMask    )
> -    | ( (EfiSourcePixel->Blue     >>  3) & PixelInformation->BlueMask     )
> -   );
> -
> -  // Copy the SourcePixel into every pixel inside the target rectangle
> -  for (DestinationLine = DestinationY;
> -       DestinationLine < DestinationY + Height;
> -       DestinationLine++)
> -  {
> -    for (DestinationPixelX = DestinationX;
> -         DestinationPixelX < DestinationX + Width;
> -         DestinationPixelX++)
> -    {
> -      // Calculate the target address:
> -      DestinationPixel16bit =  (UINT16 *)FrameBufferBase + DestinationLine * HorizontalResolution  + DestinationPixelX;
> -
> -      // Copy the pixel into the new target
> -      *DestinationPixel16bit = Pixel16bit;
> -    }
> -  }
> -
> -
> -  return Status;
> -}
> -
> -STATIC
> -EFI_STATUS
> -BltVideoToBltBuffer (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
> -  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
> -  IN UINTN                               SourceX,
> -  IN UINTN                               SourceY,
> -  IN UINTN                               DestinationX,
> -  IN UINTN                               DestinationY,
> -  IN UINTN                               Width,
> -  IN UINTN                               Height,
> -  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
> -  )
> -{
> -  EFI_STATUS         Status;
> -  UINT32             HorizontalResolution;
> -  EFI_PIXEL_BITMASK  *PixelInformation;
> -  EFI_GRAPHICS_OUTPUT_BLT_PIXEL *EfiDestinationPixel;
> -  VOID               *FrameBufferBase;
> -  UINT16             *SourcePixel16bit;
> -  UINT16             Pixel16bit;
> -  UINT32             SourcePixelX;
> -  UINT32             SourceLine;
> -  UINT32             DestinationPixelX;
> -  UINT32             DestinationLine;
> -  UINT32             BltBufferHorizontalResolution;
> -
> -  Status = EFI_SUCCESS;
> -  PixelInformation = &This->Mode->Info->PixelInformation;
> -  HorizontalResolution = This->Mode->Info->HorizontalResolution;
> -  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
> -
> -  if(( Delta != 0 ) && ( Delta != Width * sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL))) {
> -    // Delta is not zero and it is different from the width.
> -    // Divide it by the size of a pixel to find out the buffer's horizontal resolution.
> -    BltBufferHorizontalResolution = (UINT32) (Delta / sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> -  } else {
> -    BltBufferHorizontalResolution = Width;
> -  }
> -
> -  // Access each pixel inside the Video Memory
> -  for (SourceLine = SourceY, DestinationLine = DestinationY;
> -       SourceLine < SourceY + Height;
> -       SourceLine++, DestinationLine++)
> -  {
> -    for (SourcePixelX = SourceX, DestinationPixelX = DestinationX;
> -         SourcePixelX < SourceX + Width;
> -         SourcePixelX++, DestinationPixelX++)
> -    {
> -      // Calculate the source and target addresses:
> -      SourcePixel16bit = (UINT16 *)FrameBufferBase + SourceLine * HorizontalResolution + SourcePixelX;
> -      EfiDestinationPixel = BltBuffer + DestinationLine * BltBufferHorizontalResolution + DestinationPixelX;
> -
> -      // Snapshot the pixel from the video buffer once, to speed up the operation.
> -      // If we were dereferencing the pointer, as it is volatile, we would perform 3 memory read operations.
> -      Pixel16bit = *SourcePixel16bit;
> -
> -      // Copy the pixel into the new target
> -      EfiDestinationPixel->Red      = (UINT8) ( (Pixel16bit & PixelInformation->RedMask     ) >>  8 );
> -      EfiDestinationPixel->Green    = (UINT8) ( (Pixel16bit & PixelInformation->GreenMask   ) >>  3 );
> -      EfiDestinationPixel->Blue     = (UINT8) ( (Pixel16bit & PixelInformation->BlueMask    ) <<  3 );
> -    }
> -  }
> -
> -  return Status;
> -}
> -
> -STATIC
> -EFI_STATUS
> -BltBufferToVideo (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
> -  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
> -  IN UINTN                               SourceX,
> -  IN UINTN                               SourceY,
> -  IN UINTN                               DestinationX,
> -  IN UINTN                               DestinationY,
> -  IN UINTN                               Width,
> -  IN UINTN                               Height,
> -  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
> -  )
> -{
> -  EFI_STATUS         Status;
> -  UINT32             HorizontalResolution;
> -  EFI_PIXEL_BITMASK  *PixelInformation;
> -  EFI_GRAPHICS_OUTPUT_BLT_PIXEL *EfiSourcePixel;
> -  VOID               *FrameBufferBase;
> -  UINT16             *DestinationPixel16bit;
> -  UINT32             SourcePixelX;
> -  UINT32             SourceLine;
> -  UINT32             DestinationPixelX;
> -  UINT32             DestinationLine;
> -  UINT32             BltBufferHorizontalResolution;
> -
> -  Status = EFI_SUCCESS;
> -  PixelInformation = &This->Mode->Info->PixelInformation;
> -  HorizontalResolution = This->Mode->Info->HorizontalResolution;
> -  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
> -
> -  if(( Delta != 0 ) && ( Delta != Width * sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL))) {
> -    // Delta is not zero and it is different from the width.
> -    // Divide it by the size of a pixel to find out the buffer's horizontal resolution.
> -    BltBufferHorizontalResolution = (UINT32) (Delta / sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> -  } else {
> -    BltBufferHorizontalResolution = Width;
> -  }
> -
> -  // Access each pixel inside the BltBuffer Memory
> -  for (SourceLine = SourceY, DestinationLine = DestinationY;
> -       SourceLine < SourceY + Height;
> -       SourceLine++, DestinationLine++) {
> -
> -    for (SourcePixelX = SourceX, DestinationPixelX = DestinationX;
> -         SourcePixelX < SourceX + Width;
> -         SourcePixelX++, DestinationPixelX++)
> -    {
> -      // Calculate the source and target addresses:
> -      EfiSourcePixel  = BltBuffer + SourceLine * BltBufferHorizontalResolution + SourcePixelX;
> -      DestinationPixel16bit = (UINT16 *)FrameBufferBase + DestinationLine * HorizontalResolution + DestinationPixelX;
> -
> -      // Copy the pixel into the new target
> -      // Only the most significant bits will be copied across:
> -      // To convert from 8 bits to 5 bits per pixel we throw away the 3 least significant bits
> -        *DestinationPixel16bit = (UINT16) (
> -              ( (EfiSourcePixel->Red      <<  8) & PixelInformation->RedMask      )
> -            | ( (EfiSourcePixel->Green    <<  3) & PixelInformation->GreenMask    )
> -            | ( (EfiSourcePixel->Blue     >>  3) & PixelInformation->BlueMask     )
> -            );
> -      }
> -    }
> -
> -  return Status;
> -}
> -
> -STATIC
> -EFI_STATUS
> -BltVideoToVideo (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
> -  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
> -  IN UINTN                               SourceX,
> -  IN UINTN                               SourceY,
> -  IN UINTN                               DestinationX,
> -  IN UINTN                               DestinationY,
> -  IN UINTN                               Width,
> -  IN UINTN                               Height,
> -  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
> -  )
> -{
> -  EFI_STATUS         Status;
> -  UINT32             HorizontalResolution;
> -  UINTN              BitsPerPixel;
> -  VOID               *FrameBufferBase;
> -
> -  BitsPerPixel = 16;
> -
> -  HorizontalResolution = This->Mode->Info->HorizontalResolution;
> -  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
> -
> -  //
> -  // BltVideo to BltVideo:
> -  //
> -  //  Source is the Video Memory,
> -  //  Destination is the Video Memory
> -
> -  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
> -
> -  // The UEFI spec currently states:
> -  // "There is no limitation on the overlapping of the source and destination rectangles"
> -  // Therefore, we must be careful to avoid overwriting the source data
> -  if( SourceY == DestinationY ) {
> -    // Copying within the same height, e.g. horizontal shift
> -    if( SourceX == DestinationX ) {
> -      // Nothing to do
> -      Status = EFI_SUCCESS;
> -    } else if( ((SourceX>DestinationX)?(SourceX - DestinationX):(DestinationX - SourceX)) < Width ) {
> -      // There is overlap
> -      Status = VideoCopyHorizontalOverlap (BitsPerPixel, FrameBufferBase, HorizontalResolution, SourceX, SourceY, DestinationX, DestinationY, Width, Height );
> -    } else {
> -      // No overlap
> -      Status = VideoCopyNoHorizontalOverlap (BitsPerPixel, FrameBufferBase, HorizontalResolution, SourceX, SourceY, DestinationX, DestinationY, Width, Height );
> -    }
> -  } else {
> -    // Copying from different heights
> -    Status = VideoCopyNoHorizontalOverlap (BitsPerPixel, FrameBufferBase, HorizontalResolution, SourceX, SourceY, DestinationX, DestinationY, Width, Height );
> -  }
> -
> -  return Status;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -LcdGraphicsBlt (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
> -  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
> -  IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION   BltOperation,
> -  IN UINTN                               SourceX,
> -  IN UINTN                               SourceY,
> -  IN UINTN                               DestinationX,
> -  IN UINTN                               DestinationY,
> -  IN UINTN                               Width,
> -  IN UINTN                               Height,
> -  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
> -  )
> -{
> -  EFI_STATUS    Status;
> -  LCD_INSTANCE  *Instance;
> -
> -  Instance = LCD_INSTANCE_FROM_GOP_THIS(This);
> -
> -  if (!mDisplayInitialized) {
> -    InitializeDisplay (Instance);
> -  }
> -
> -  switch (BltOperation) {
> -  case EfiBltVideoFill:
> -    Status = BltVideoFill (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
> -    break;
> -
> -  case EfiBltVideoToBltBuffer:
> -    Status = BltVideoToBltBuffer (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
> -    break;
> -
> -  case EfiBltBufferToVideo:
> -    Status = BltBufferToVideo (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
> -    break;
> -
> -  case EfiBltVideoToVideo:
> -    Status = BltVideoToVideo (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
> -    break;
> -
> -  case EfiGraphicsOutputBltOperationMax:
> -  default:
> -    DEBUG((DEBUG_ERROR, "LcdGraphicsBlt: Invalid Operation\n"));
> -    Status = EFI_INVALID_PARAMETER;
> -    break;
> -}
> -
> -  return Status;
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c
> deleted file mode 100644
> index 4364dd71a02b..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c
> +++ /dev/null
> @@ -1,400 +0,0 @@
> -/** @file
> -
> - Copyright (c) 2011-2014, 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.
> -
> -**/
> -
> -#include "LcdGraphicsOutputDxe.h"
> -
> -BOOLEAN mDisplayInitialized = FALSE;
> -
> -LCD_MODE LcdModes[] = {
> -  {
> -    0, 640, 480,
> -    9, 4,
> -    96, 16, 48,
> -    2, 10, 33
> -  },
> -  {
> -    1, 800, 600,
> -    11, 2,
> -    120, 56, 64,
> -    5, 37, 22
> -  },
> -  {
> -    2, 1024, 768,
> -    6, 2,
> -    96, 16, 48,
> -    2, 10, 33
> -  },
> -};
> -
> -LCD_INSTANCE mLcdTemplate = {
> -  LCD_INSTANCE_SIGNATURE,
> -  NULL, // Handle
> -  { // ModeInfo
> -    0, // Version
> -    0, // HorizontalResolution
> -    0, // VerticalResolution
> -    PixelBltOnly, // PixelFormat
> -    {
> -      0xF800, //RedMask;
> -      0x7E0, //GreenMask;
> -      0x1F, //BlueMask;
> -      0x0//ReservedMask
> -    }, // PixelInformation
> -    0, // PixelsPerScanLine
> -  },
> -  { // Mode
> -    3, // MaxMode;
> -    0, // Mode;
> -    NULL, // Info;
> -    0, // SizeOfInfo;
> -    0, // FrameBufferBase;
> -    0 // FrameBufferSize;
> -  },
> -  { // Gop
> -    LcdGraphicsQueryMode,  // QueryMode
> -    LcdGraphicsSetMode,    // SetMode
> -    LcdGraphicsBlt,        // Blt
> -    NULL                     // *Mode
> -  },
> -  { // DevicePath
> -    {
> -      {
> -        HARDWARE_DEVICE_PATH, HW_VENDOR_DP,
> -        { (UINT8) (sizeof(VENDOR_DEVICE_PATH)), (UINT8) ((sizeof(VENDOR_DEVICE_PATH)) >> 8) },
> -      },
> -      // Hardware Device Path for Lcd
> -      EFI_CALLER_ID_GUID // Use the driver's GUID
> -    },
> -    {
> -      END_DEVICE_PATH_TYPE,
> -      END_ENTIRE_DEVICE_PATH_SUBTYPE,
> -      { sizeof(EFI_DEVICE_PATH_PROTOCOL), 0}
> -    }
> -  }
> -};
> -
> -EFI_STATUS
> -LcdInstanceContructor (
> -  OUT LCD_INSTANCE** NewInstance
> -  )
> -{
> -  LCD_INSTANCE* Instance;
> -
> -  Instance = AllocateCopyPool (sizeof(LCD_INSTANCE), &mLcdTemplate);
> -  if (Instance == NULL) {
> -    return EFI_OUT_OF_RESOURCES;
> -  }
> -
> -  Instance->Gop.Mode          = &Instance->Mode;
> -  Instance->Mode.Info         = &Instance->ModeInfo;
> -
> -  *NewInstance = Instance;
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -LcdPlatformGetVram (
> -  OUT EFI_PHYSICAL_ADDRESS*  VramBaseAddress,
> -  OUT UINTN*                 VramSize
> -  )
> -{
> -  EFI_STATUS             Status;
> -  EFI_CPU_ARCH_PROTOCOL  *Cpu;
> -  UINTN                  MaxSize;
> -
> -  MaxSize = 0x500000;
> -  *VramSize = MaxSize;
> -
> -  // Allocate VRAM from DRAM
> -  Status = gBS->AllocatePages (AllocateAnyPages, EfiBootServicesData, EFI_SIZE_TO_PAGES((MaxSize)), VramBaseAddress);
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  // Ensure the Cpu architectural protocol is already installed
> -  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&Cpu);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  // Mark the VRAM as un-cacheable. The VRAM is inside the DRAM, which is cacheable.
> -  Status = Cpu->SetMemoryAttributes (Cpu, *VramBaseAddress, *VramSize, EFI_MEMORY_UC);
> -  if (EFI_ERROR(Status)) {
> -    gBS->FreePool (VramBaseAddress);
> -    return Status;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -DssSetMode (
> -  UINT32 VramBaseAddress,
> -  UINTN  ModeNumber
> -  )
> -{
> -  // Make sure the interface clock is running
> -  MmioWrite32 (CM_ICLKEN_DSS, EN_DSS);
> -
> -  // Stop the functional clocks
> -  MmioAnd32 (CM_FCLKEN_DSS, ~(EN_DSS1 | EN_DSS2 | EN_TV));
> -
> -  // Program the DSS clock divisor
> -  MmioWrite32 (CM_CLKSEL_DSS, 0x1000 | (LcdModes[ModeNumber].DssDivisor));
> -
> -  // Start the functional clocks
> -  MmioOr32 (CM_FCLKEN_DSS, (EN_DSS1 | EN_DSS2 | EN_TV));
> -
> -  // Wait for DSS to stabilize
> -  gBS->Stall(1);
> -
> -  // Reset the subsystem
> -  MmioWrite32(DSS_SYSCONFIG, DSS_SOFTRESET);
> -  while (!(MmioRead32 (DSS_SYSSTATUS) & DSS_RESETDONE));
> -
> -  // Configure LCD parameters
> -  MmioWrite32 (DISPC_SIZE_LCD,
> -               ((LcdModes[ModeNumber].HorizontalResolution - 1)
> -               | ((LcdModes[ModeNumber].VerticalResolution - 1) << 16))
> -              );
> -  MmioWrite32 (DISPC_TIMING_H,
> -               ( (LcdModes[ModeNumber].HSync - 1)
> -               | ((LcdModes[ModeNumber].HFrontPorch - 1) << 8)
> -               | ((LcdModes[ModeNumber].HBackPorch - 1) << 20))
> -              );
> -  MmioWrite32 (DISPC_TIMING_V,
> -               ( (LcdModes[ModeNumber].VSync - 1)
> -               | ((LcdModes[ModeNumber].VFrontPorch - 1) << 8)
> -               | ((LcdModes[ModeNumber].VBackPorch - 1) << 20))
> -              );
> -
> -  // Set the framebuffer to only load frames (no gamma tables)
> -  MmioAnd32 (DISPC_CONFIG, CLEARLOADMODE);
> -  MmioOr32  (DISPC_CONFIG, LOAD_FRAME_ONLY);
> -
> -  // Divisor for the pixel clock
> -  MmioWrite32(DISPC_DIVISOR, ((1 << 16) | LcdModes[ModeNumber].DispcDivisor) );
> -
> -  // Set up the graphics layer
> -  MmioWrite32 (DISPC_GFX_PRELD, 0x2D8);
> -  MmioWrite32 (DISPC_GFX_BA0, VramBaseAddress);
> -  MmioWrite32 (DISPC_GFX_SIZE,
> -               ((LcdModes[ModeNumber].HorizontalResolution - 1)
> -               | ((LcdModes[ModeNumber].VerticalResolution - 1) << 16))
> -              );
> -
> -  MmioWrite32(DISPC_GFX_ATTR, (GFXENABLE | RGB16 | BURSTSIZE16));
> -
> -  // Start it all
> -  MmioOr32 (DISPC_CONTROL, (LCDENABLE | ACTIVEMATRIX | DATALINES24 | BYPASS_MODE | LCDENABLESIGNAL));
> -  MmioOr32 (DISPC_CONTROL, GOLCD);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -HwInitializeDisplay (
> -  UINTN VramBaseAddress,
> -  UINTN VramSize
> -  )
> -{
> -  EFI_STATUS    Status;
> -  UINT8         Data;
> -  EFI_TPL       OldTpl;
> -  EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
> -
> -  // Enable power lines used by TFP410
> -  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
> -  Data = VAUX_DEV_GRP_P1;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VPLL2_DEV_GRP), 1, &Data);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  Data = VAUX_DEDICATED_18V;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VPLL2_DEDICATED), 1, &Data);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // Power up TFP410 (set GPIO2 on TPS - for BeagleBoard-xM)
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATADIR1), 1, &Data);
> -  ASSERT_EFI_ERROR (Status);
> -  Data |= BIT2;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATADIR1), 1, &Data);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  Data = BIT2;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, SETGPIODATAOUT1), 1, &Data);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  gBS->RestoreTPL(OldTpl);
> -
> -  // Power up TFP410 (set GPIO 170 - for older BeagleBoards)
> -  MmioAnd32 (GPIO6_BASE + GPIO_OE, ~BIT10);
> -  MmioOr32  (GPIO6_BASE + GPIO_SETDATAOUT, BIT10);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -InitializeDisplay (
> -  IN LCD_INSTANCE* Instance
> -  )
> -{
> -  EFI_STATUS           Status;
> -  UINTN                VramSize;
> -  EFI_PHYSICAL_ADDRESS VramBaseAddress;
> -
> -  Status = LcdPlatformGetVram (&VramBaseAddress, &VramSize);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  Instance->Mode.FrameBufferBase = VramBaseAddress;
> -  Instance->Mode.FrameBufferSize = VramSize;
> -
> -  Status = HwInitializeDisplay((UINTN)VramBaseAddress, VramSize);
> -  if (!EFI_ERROR (Status)) {
> -    mDisplayInitialized = TRUE;
> -  }
> -
> -  return Status;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -LcdGraphicsQueryMode (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL            *This,
> -  IN UINT32                                  ModeNumber,
> -  OUT UINTN                                  *SizeOfInfo,
> -  OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION   **Info
> -  )
> -{
> -  LCD_INSTANCE  *Instance;
> -
> -  Instance = LCD_INSTANCE_FROM_GOP_THIS(This);
> -
> -  if (!mDisplayInitialized) {
> -    InitializeDisplay (Instance);
> -  }
> -
> -  // Error checking
> -  if ( (This == NULL) || (Info == NULL) || (SizeOfInfo == NULL) || (ModeNumber >= This->Mode->MaxMode) ) {
> -    DEBUG((DEBUG_ERROR, "LcdGraphicsQueryMode: ERROR - For mode number %d : Invalid Parameter.\n", ModeNumber ));
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  *Info = AllocateCopyPool(sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION), &Instance->ModeInfo);
> -  if (*Info == NULL) {
> -    return EFI_OUT_OF_RESOURCES;
> -  }
> -
> -  *SizeOfInfo = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
> -
> -  (*Info)->Version = 0;
> -  (*Info)->HorizontalResolution = LcdModes[ModeNumber].HorizontalResolution;
> -  (*Info)->VerticalResolution = LcdModes[ModeNumber].VerticalResolution;
> -  (*Info)->PixelFormat = PixelBltOnly;
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -LcdGraphicsSetMode (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL   *This,
> -  IN UINT32                         ModeNumber
> -  )
> -{
> -  LCD_INSTANCE  *Instance;
> -
> -  Instance = LCD_INSTANCE_FROM_GOP_THIS(This);
> -
> -  if (ModeNumber >= Instance->Mode.MaxMode) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  if (!mDisplayInitialized) {
> -    InitializeDisplay (Instance);
> -  }
> -
> -  DssSetMode((UINT32)Instance->Mode.FrameBufferBase, ModeNumber);
> -
> -  Instance->Mode.Mode = ModeNumber;
> -  Instance->ModeInfo.HorizontalResolution = LcdModes[ModeNumber].HorizontalResolution;
> -  Instance->ModeInfo.VerticalResolution = LcdModes[ModeNumber].VerticalResolution;
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -LcdGraphicsOutputDxeInitialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_STATUS Status = EFI_SUCCESS;
> -  LCD_INSTANCE* Instance;
> -
> -  Status = LcdInstanceContructor (&Instance);
> -  if (EFI_ERROR(Status)) {
> -    goto EXIT;
> -  }
> -
> -  // Install the Graphics Output Protocol and the Device Path
> -  Status = gBS->InstallMultipleProtocolInterfaces(
> -             &Instance->Handle,
> -             &gEfiGraphicsOutputProtocolGuid, &Instance->Gop,
> -             &gEfiDevicePathProtocolGuid,     &Instance->DevicePath,
> -             NULL
> -             );
> -
> -  if (EFI_ERROR(Status)) {
> -    DEBUG((DEBUG_ERROR, "GraphicsOutputDxeInitialize: Can not install the protocol. Exit Status=%r\n", Status));
> -    goto EXIT;
> -  }
> -
> -  // Register for an ExitBootServicesEvent
> -  // When ExitBootServices starts, this function here will make sure that the graphics driver will shut down properly,
> -  // i.e. it will free up all allocated memory and perform any necessary hardware re-configuration.
> -  /*Status = gBS->CreateEvent (
> -               EVT_SIGNAL_EXIT_BOOT_SERVICES,
> -               TPL_NOTIFY,
> -               LcdGraphicsExitBootServicesEvent, NULL,
> -               &Instance->ExitBootServicesEvent
> -               );
> -
> -  if (EFI_ERROR(Status)) {
> -    DEBUG((DEBUG_ERROR, "GraphicsOutputDxeInitialize: Can not install the ExitBootServicesEvent handler. Exit Status=%r\n", Status));
> -    goto EXIT_ERROR_UNINSTALL_PROTOCOL;
> -  }*/
> -
> -  // To get here, everything must be fine, so just exit
> -  goto EXIT;
> -
> -//EXIT_ERROR_UNINSTALL_PROTOCOL:
> -  /* The following function could return an error message,
> -   * however, to get here something must have gone wrong already,
> -   * so preserve the original error, i.e. don't change
> -   * the Status variable, even it fails to uninstall the protocol.
> -   */
> -  /*  gBS->UninstallMultipleProtocolInterfaces (
> -        Instance->Handle,
> -        &gEfiGraphicsOutputProtocolGuid, &Instance->Gop, // Uninstall Graphics Output protocol
> -        &gEfiDevicePathProtocolGuid,     &Instance->DevicePath,     // Uninstall device path
> -        NULL
> -        );*/
> -
> -EXIT:
> -  return Status;
> -
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
> deleted file mode 100644
> index a1bd7afdb023..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
> +++ /dev/null
> @@ -1,157 +0,0 @@
> -/** @file
> -
> - 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 __OMAP3_DSS_GRAPHICS__
> -#define __OMAP3_DSS_GRAPHICS__
> -
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/IoLib.h>
> -
> -#include <Protocol/DevicePathToText.h>
> -#include <Protocol/EmbeddedExternalDevice.h>
> -#include <Protocol/Cpu.h>
> -
> -#include <Guid/GlobalVariable.h>
> -
> -#include <Omap3530/Omap3530.h>
> -#include <TPS65950.h>
> -
> -typedef struct {
> -  VENDOR_DEVICE_PATH            Guid;
> -  EFI_DEVICE_PATH_PROTOCOL      End;
> -} LCD_GRAPHICS_DEVICE_PATH;
> -
> -typedef struct {
> -  UINTN                                 Signature;
> -  EFI_HANDLE                            Handle;
> -  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  ModeInfo;
> -  EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE     Mode;
> -  EFI_GRAPHICS_OUTPUT_PROTOCOL          Gop;
> -  LCD_GRAPHICS_DEVICE_PATH              DevicePath;
> -//  EFI_EVENT                             ExitBootServicesEvent;
> -} LCD_INSTANCE;
> -
> -#define LCD_INSTANCE_SIGNATURE  SIGNATURE_32('l', 'c', 'd', '0')
> -#define LCD_INSTANCE_FROM_GOP_THIS(a)     CR (a, LCD_INSTANCE, Gop, LCD_INSTANCE_SIGNATURE)
> -
> -typedef struct {
> -  UINTN             Mode;
> -  UINTN             HorizontalResolution;
> -  UINTN             VerticalResolution;
> -
> -  UINT32            DssDivisor;
> -  UINT32            DispcDivisor;
> -
> -  UINT32            HSync;
> -  UINT32            HFrontPorch;
> -  UINT32            HBackPorch;
> -
> -  UINT32            VSync;
> -  UINT32            VFrontPorch;
> -  UINT32            VBackPorch;
> -} LCD_MODE;
> -
> -EFI_STATUS
> -InitializeDisplay (
> -  IN LCD_INSTANCE* Instance
> -);
> -
> -EFI_STATUS
> -EFIAPI
> -LcdGraphicsQueryMode (
> -  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL          *This,
> -  IN  UINT32                                ModeNumber,
> -  OUT UINTN                                 *SizeOfInfo,
> -  OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  **Info
> -);
> -
> -EFI_STATUS
> -EFIAPI
> -LcdGraphicsSetMode (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL  *This,
> -  IN UINT32                        ModeNumber
> -);
> -
> -EFI_STATUS
> -EFIAPI
> -LcdGraphicsBlt (
> -  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
> -  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
> -  IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION   BltOperation,
> -  IN UINTN                               SourceX,
> -  IN UINTN                               SourceY,
> -  IN UINTN                               DestinationX,
> -  IN UINTN                               DestinationY,
> -  IN UINTN                               Width,
> -  IN UINTN                               Height,
> -  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
> -);
> -
> -// HW registers
> -#define CM_FCLKEN_DSS   0x48004E00
> -#define CM_ICLKEN_DSS   0x48004E10
> -
> -#define DSS_CONTROL     0x48050040
> -#define DSS_SYSCONFIG   0x48050010
> -#define DSS_SYSSTATUS   0x48050014
> -
> -#define DISPC_CONTROL   0x48050440
> -#define DISPC_CONFIG    0x48050444
> -#define DISPC_SIZE_LCD  0x4805047C
> -#define DISPC_TIMING_H  0x48050464
> -#define DISPC_TIMING_V  0x48050468
> -
> -#define CM_CLKSEL_DSS   0x48004E40
> -#define DISPC_DIVISOR   0x48050470
> -#define DISPC_POL_FREQ  0x4805046C
> -
> -#define DISPC_GFX_TABLE_BA 0x480504B8
> -#define DISPC_GFX_BA0   0x48050480
> -#define DISPC_GFX_BA1   0x48050484
> -#define DISPC_GFX_POS   0x48050488
> -#define DISPC_GFX_SIZE  0x4805048C
> -#define DISPC_GFX_ATTR  0x480504A0
> -#define DISPC_GFX_PRELD 0x4805062C
> -
> -#define DISPC_DEFAULT_COLOR_0 0x4805044C
> -
> -//#define DISPC_IRQSTATUS
> -
> -// Bits
> -#define EN_TV           0x4
> -#define EN_DSS2         0x2
> -#define EN_DSS1         0x1
> -#define EN_DSS          0x1
> -
> -#define DSS_SOFTRESET   0x2
> -#define DSS_RESETDONE   0x1
> -
> -#define BYPASS_MODE     (BIT15 | BIT16)
> -
> -#define LCDENABLE       BIT0
> -#define ACTIVEMATRIX    BIT3
> -#define GOLCD           BIT5
> -#define DATALINES24     (BIT8 | BIT9)
> -#define LCDENABLESIGNAL BIT28
> -
> -#define GFXENABLE       BIT0
> -#define RGB16           (0x6 << 1)
> -#define BURSTSIZE16     (0x2 << 6)
> -
> -#define CLEARLOADMODE   ~(BIT2 | BIT1)
> -#define LOAD_FRAME_ONLY BIT2
> -
> -#endif
> diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
> deleted file mode 100644
> index 1fec2dbbac6f..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -#/** @file
> -#
> -#  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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = LcdGraphicsDxe
> -  FILE_GUID                      = E68088EF-D1A4-4336-C1DB-4D3A204730A6
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -  ENTRY_POINT                    = LcdGraphicsOutputDxeInitialize
> -
> -[Sources.common]
> -  LcdGraphicsOutputDxe.c
> -  LcdGraphicsOutputBlt.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  MdeModulePkg/MdeModulePkg.dec
> -  ArmPkg/ArmPkg.dec
> -  ArmPlatformPkg/ArmPlatformPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -
> -[LibraryClasses]
> -  ArmLib
> -  UefiLib
> -  BaseLib
> -  DebugLib
> -  TimerLib
> -  UefiDriverEntryPoint
> -  UefiBootServicesTableLib
> -  IoLib
> -  BaseMemoryLib
> -
> -[Protocols]
> -  gEfiDevicePathProtocolGuid
> -  gEfiGraphicsOutputProtocolGuid
> -  gEfiDevicePathToTextProtocolGuid
> -  gEmbeddedExternalDeviceProtocolGuid
> -
> -[Depex]
> -  gEfiCpuArchProtocolGuid AND gEfiTimerArchProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c b/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c
> deleted file mode 100755
> index 11f0bdd117af..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c
> +++ /dev/null
> @@ -1,165 +0,0 @@
> -/** @file
> -  Debug Agent timer lib for OMAP 35xx.
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -
> -**/
> -#include <Base.h>
> -#include <Library/BaseLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/OmapLib.h>
> -#include <Library/ArmLib.h>
> -#include <Library/PcdLib.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -
> -volatile UINT32 gVector;
> -
> -// Cached registers
> -volatile UINT32 gTISR;
> -volatile UINT32 gTCLR;
> -volatile UINT32 gTLDR;
> -volatile UINT32 gTCRR;
> -volatile UINT32 gTIER;
> -
> -VOID
> -EnableInterruptSource (
> -  VOID
> -  )
> -{
> -  UINTN Bank;
> -  UINTN Bit;
> -
> -  // Map vector to FIQ, IRQ is default
> -  MmioWrite32 (INTCPS_ILR (gVector), 1);
> -
> -  Bank = gVector / 32;
> -  Bit  = 1UL << (gVector % 32);
> -
> -  MmioWrite32 (INTCPS_MIR_CLEAR(Bank), Bit);
> -}
> -
> -VOID
> -DisableInterruptSource (
> -  VOID
> -  )
> -{
> -  UINTN Bank;
> -  UINTN Bit;
> -
> -  Bank = gVector / 32;
> -  Bit  = 1UL << (gVector % 32);
> -
> -  MmioWrite32 (INTCPS_MIR_SET(Bank), Bit);
> -}
> -
> -
> -
> -/**
> -  Setup all the hardware needed for the debug agents timer.
> -
> -  This function is used to set up debug enviroment. It may enable interrupts.
> -
> -**/
> -VOID
> -EFIAPI
> -DebugAgentTimerIntialize (
> -  VOID
> -  )
> -{
> -  UINT32      TimerBaseAddress;
> -  UINT32      TimerNumber;
> -
> -  TimerNumber = PcdGet32(PcdOmap35xxDebugAgentTimer);
> -  gVector = InterruptVectorForTimer (TimerNumber);
> -
> -  // Set up the timer registers
> -  TimerBaseAddress = TimerBase (TimerNumber);
> -  gTISR = TimerBaseAddress + GPTIMER_TISR;
> -  gTCLR = TimerBaseAddress + GPTIMER_TCLR;
> -  gTLDR = TimerBaseAddress + GPTIMER_TLDR;
> -  gTCRR = TimerBaseAddress + GPTIMER_TCRR;
> -  gTIER = TimerBaseAddress + GPTIMER_TIER;
> -
> -  if ((TimerNumber < 2) || (TimerNumber > 9)) {
> -    // This code assumes one the General Purpose timers is used
> -    // GPT2 - GPT9
> -    CpuDeadLoop ();
> -  }
> -  // Set source clock for GPT2 - GPT9 to SYS_CLK
> -  MmioOr32 (CM_CLKSEL_PER, 1 << (TimerNumber - 2));
> -
> -}
> -
> -
> -/**
> -  Set the period for the debug agent timer. Zero means disable the timer.
> -
> -  @param[in] TimerPeriodMilliseconds    Frequency of the debug agent timer.
> -
> -**/
> -VOID
> -EFIAPI
> -DebugAgentTimerSetPeriod (
> -  IN  UINT32  TimerPeriodMilliseconds
> -  )
> -{
> -  UINT64      TimerCount;
> -  INT32       LoadValue;
> -
> -  if (TimerPeriodMilliseconds == 0) {
> -    // Turn off GPTIMER3
> -    MmioWrite32 (gTCLR, TCLR_ST_OFF);
> -
> -    DisableInterruptSource ();
> -  } else {
> -    // Calculate required timer count
> -    TimerCount = DivU64x32(TimerPeriodMilliseconds * 1000000, PcdGet32(PcdDebugAgentTimerFreqNanoSeconds));
> -
> -    // Set GPTIMER5 Load register
> -    LoadValue = (INT32) -TimerCount;
> -    MmioWrite32 (gTLDR, LoadValue);
> -    MmioWrite32 (gTCRR, LoadValue);
> -
> -    // Enable Overflow interrupt
> -    MmioWrite32 (gTIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_ENABLE | TIER_MAT_IT_DISABLE);
> -
> -    // Turn on GPTIMER3, it will reload at overflow
> -    MmioWrite32 (gTCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON);
> -
> -    EnableInterruptSource ();
> -  }
> -}
> -
> -
> -/**
> -  Perform End Of Interrupt for the debug agent timer. This is called in the
> -  interrupt handler after the interrupt has been processed.
> -
> -**/
> -VOID
> -EFIAPI
> -DebugAgentTimerEndOfInterrupt (
> -  VOID
> -  )
> -{
> -   // Clear all timer interrupts
> -  MmioWrite32 (gTISR, TISR_CLEAR_ALL);
> -
> -  // Poll interrupt status bits to ensure clearing
> -  while ((MmioRead32 (gTISR) & TISR_ALL_INTERRUPT_MASK) != TISR_NO_INTERRUPTS_PENDING);
> -
> -  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWFIQAGR);
> -  ArmDataSynchronizationBarrier ();
> -
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf b/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
> deleted file mode 100755
> index bf09b1155c1d..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -#/** @file
> -# Component description file for Base PCI Cf8 Library.
> -#
> -# PCI CF8 Library that uses I/O ports 0xCF8 and 0xCFC to perform PCI Configuration cycles.
> -#  Layers on top of an I/O Library instance.
> -# Copyright (c) 2007, Intel Corporation. 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.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = DebugAgentTimerLibNull
> -  FILE_GUID                      = E82F99DE-74ED-4e56-BBA1-B143FCA3F69A
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = DebugAgentTimerLib|SEC BASE DXE_CORE
> -
> -
> -[Sources.common]
> -  DebugAgentTimerLib.c
> -
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -  ArmPkg/ArmPkg.dec
> -
> -
> -[LibraryClasses]
> -  BaseLib
> -  IoLib
> -  OmapLib
> -  ArmLib
> -
> -[Pcd]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxDebugAgentTimer
> -  gOmap35xxTokenSpaceGuid.PcdDebugAgentTimerFreqNanoSeconds
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c b/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c
> deleted file mode 100644
> index 47161755de84..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -/** @file
> -  Add custom commands for BeagleBoard development.
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <PiDxe.h>
> -#include <Library/ArmLib.h>
> -#include <Library/CacheMaintenanceLib.h>
> -#include <Library/EblCmdLib.h>
> -#include <Library/BaseLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiRuntimeServicesTableLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/EfiFileLib.h>
> -
> -
> -//PcdEmbeddedFdBaseAddress
> -
> -/**
> -  Fill Me In
> -
> -  Argv[0] - "%CommandName%"
> -
> -  @param  Argc   Number of command arguments in Argv
> -  @param  Argv   Array of strings that represent the parsed command line.
> -                 Argv[0] is the command name
> -
> -  @return EFI_SUCCESS
> -
> -**/
> -EFI_STATUS
> -EblEdk2Cmd (
> -  IN UINTN  Argc,
> -  IN CHAR8  **Argv
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> -
> -GLOBAL_REMOVE_IF_UNREFERENCED const EBL_COMMAND_TABLE mLibCmdTemplate[] =
> -{
> -  {
> -    "edk2",
> -    " filename ; Load FD into memory and boot from it",
> -    NULL,
> -    EblEdk2Cmd
> -  }
> -};
> -
> -
> -VOID
> -EblInitializeExternalCmd (
> -  VOID
> -  )
> -{
> -  EblAddCommands (mLibCmdTemplate, sizeof (mLibCmdTemplate)/sizeof (EBL_COMMAND_TABLE));
> -  return;
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf b/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf
> deleted file mode 100644
> index dd7a13cf6629..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -#/** @file
> -# Component description file for the entry point to a EFIDXE Drivers
> -#
> -# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification
> -# Copyright (c) 2007 - 2007, Intel Corporation. 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.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardEblCmdLib
> -  FILE_GUID                      = ea62bdc3-1063-425f-8851-98cb47f213a8
> -  MODULE_TYPE                    = UEFI_DRIVER
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = EblCmdLib|DXE_DRIVER UEFI_APPLICATION UEFI_DRIVER
> -
> -
> -#
> -# The following information is for reference only and not required by the build tools.
> -#
> -#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
> -#
> -
> -[Sources.common]
> -  EblCmdLib.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  ArmPkg/ArmPkg.dec
> -
> -[LibraryClasses]
> -  BaseLib
> -  DebugLib
> -
> -[Protocols]
> -
> -[Guids]
> -
> -[Pcd]
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c b/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c
> deleted file mode 100644
> index dcc518244a42..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c
> +++ /dev/null
> @@ -1,102 +0,0 @@
> -/** @file
> -  Basic serial IO abstaction for GDB
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Uefi.h>
> -#include <Library/GdbSerialLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/OmapLib.h>
> -#include <Omap3530/Omap3530.h>
> -
> -RETURN_STATUS
> -EFIAPI
> -GdbSerialLibConstructor (
> -  VOID
> -  )
> -{
> -  return RETURN_SUCCESS;
> -}
> -
> -RETURN_STATUS
> -EFIAPI
> -GdbSerialInit (
> -  IN UINT64     BaudRate,
> -  IN UINT8      Parity,
> -  IN UINT8      DataBits,
> -  IN UINT8      StopBits
> -  )
> -{
> -  return RETURN_SUCCESS;
> -}
> -
> -BOOLEAN
> -EFIAPI
> -GdbIsCharAvailable (
> -  VOID
> -  )
> -{
> -  UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -
> -  if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {
> -    return TRUE;
> -  } else {
> -    return FALSE;
> -  }
> -}
> -
> -CHAR8
> -EFIAPI
> -GdbGetChar (
> -  VOID
> -  )
> -{
> -  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -  UINT32  RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;
> -  CHAR8   Char;
> -
> -  while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);
> -  Char = MmioRead8(RBR);
> -
> -  return Char;
> -}
> -
> -VOID
> -EFIAPI
> -GdbPutChar (
> -  IN  CHAR8   Char
> -  )
> -{
> -  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -  UINT32  THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;
> -
> -  while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);
> -  MmioWrite8(THR, Char);
> -}
> -
> -VOID
> -GdbPutString (
> -  IN CHAR8  *String
> -  )
> -{
> -  while (*String != '\0') {
> -    GdbPutChar (*String);
> -    String++;
> -  }
> -}
> -
> -
> -
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf b/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf
> deleted file mode 100644
> index 2cacd0f0e6c7..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = GdbSerialLib
> -  FILE_GUID                      = E2423349-EF5D-439B-95F5-8B8D8E3B443F
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = GdbSerialLib
> -
> -  CONSTRUCTOR                    = GdbSerialLibConstructor
> -
> -
> -[Sources.common]
> -  GdbSerialLib.c
> -
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  DebugLib
> -  IoLib
> -  OmapLib
> -
> -[FixedPcd]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf b/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
> deleted file mode 100644
> index e20b65477ad3..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -#/** @file
> -# Timer library implementation
> -#
> -# A non-functional instance of the Timer Library that can be used as a template
> -#  for the implementation of a functional timer library instance. This library instance can
> -#  also be used to test build DXE, Runtime, DXE SAL, and DXE SMM modules that require timer
> -#  services as well as EBC modules that require timer services
> -# Copyright (c) 2007, Intel Corporation. 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.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardTimerLib
> -  FILE_GUID                      = fe1d7183-9abb-42ce-9a3b-36d7c6a8959f
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = TimerLib
> -
> -[Sources.common]
> -  TimerLib.c
> -
> -[Packages]
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -
> -[LibraryClasses]
> -  DebugLib
> -  OmapLib
> -  IoLib
> -
> -[Pcd]
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c b/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c
> deleted file mode 100644
> index 652c47b6f61a..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c
> +++ /dev/null
> @@ -1,133 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Uefi.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/TimerLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/OmapLib.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -RETURN_STATUS
> -EFIAPI
> -TimerConstructor (
> -  VOID
> -  )
> -{
> -  UINTN  Timer            = PcdGet32(PcdOmap35xxFreeTimer);
> -  UINT32 TimerBaseAddress = TimerBase(Timer);
> -
> -  if ((MmioRead32 (TimerBaseAddress + GPTIMER_TCLR) & TCLR_ST_ON) == 0) {
> -    // Set source clock for GPT3 & GPT4 to SYS_CLK
> -    MmioOr32 (CM_CLKSEL_PER, CM_CLKSEL_PER_CLKSEL_GPT3_SYS | CM_CLKSEL_PER_CLKSEL_GPT4_SYS);
> -
> -    // Set count & reload registers
> -    MmioWrite32 (TimerBaseAddress + GPTIMER_TCRR, 0x00000000);
> -    MmioWrite32 (TimerBaseAddress + GPTIMER_TLDR, 0x00000000);
> -
> -    // Disable interrupts
> -    MmioWrite32 (TimerBaseAddress + GPTIMER_TIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_DISABLE | TIER_MAT_IT_DISABLE);
> -
> -    // Start Timer
> -    MmioWrite32 (TimerBaseAddress + GPTIMER_TCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON);
> -
> -    // Disable OMAP Watchdog timer (WDT2)
> -    MmioWrite32 (WDTIMER2_BASE + WSPR, 0xAAAA);
> -    DEBUG ((EFI_D_ERROR, "Magic delay to disable watchdog timers properly.\n"));
> -    MmioWrite32 (WDTIMER2_BASE + WSPR, 0x5555);
> -  }
> -  return EFI_SUCCESS;
> -}
> -
> -UINTN
> -EFIAPI
> -MicroSecondDelay (
> -  IN  UINTN MicroSeconds
> -  )
> -{
> -  UINT64  NanoSeconds;
> -
> -  NanoSeconds = MultU64x32(MicroSeconds, 1000);
> -
> -  while (NanoSeconds > (UINTN)-1) {
> -    NanoSecondDelay((UINTN)-1);
> -    NanoSeconds -= (UINTN)-1;
> -  }
> -
> -  NanoSecondDelay(NanoSeconds);
> -
> -  return MicroSeconds;
> -}
> -
> -UINTN
> -EFIAPI
> -NanoSecondDelay (
> -  IN  UINTN NanoSeconds
> -  )
> -{
> -  UINT32  Delay;
> -  UINT32  StartTime;
> -  UINT32  CurrentTime;
> -  UINT32  ElapsedTime;
> -  UINT32  TimerCountRegister;
> -
> -  Delay = (NanoSeconds / PcdGet32(PcdEmbeddedPerformanceCounterPeriodInNanoseconds)) + 1;
> -
> -  TimerCountRegister = TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR;
> -
> -  StartTime = MmioRead32 (TimerCountRegister);
> -
> -  do
> -  {
> -    CurrentTime = MmioRead32 (TimerCountRegister);
> -    ElapsedTime = CurrentTime - StartTime;
> -  } while (ElapsedTime < Delay);
> -
> -  NanoSeconds = ElapsedTime * PcdGet32(PcdEmbeddedPerformanceCounterPeriodInNanoseconds);
> -
> -  return NanoSeconds;
> -}
> -
> -UINT64
> -EFIAPI
> -GetPerformanceCounter (
> -  VOID
> -  )
> -{
> -  return (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR);
> -}
> -
> -UINT64
> -EFIAPI
> -GetPerformanceCounterProperties (
> -  OUT UINT64  *StartValue,  OPTIONAL
> -  OUT UINT64  *EndValue     OPTIONAL
> -  )
> -{
> -  if (StartValue != NULL) {
> -    // Timer starts with the reload value
> -    *StartValue = (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TLDR);
> -  }
> -
> -  if (EndValue != NULL) {
> -    // Timer counts up to 0xFFFFFFFF
> -    *EndValue = 0xFFFFFFFF;
> -  }
> -
> -  return PcdGet64(PcdEmbeddedPerformanceCounterFrequencyInHz);
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c b/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c
> deleted file mode 100755
> index 41cfefbebc11..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c
> +++ /dev/null
> @@ -1,176 +0,0 @@
> -/** @file
> -  Abstractions for simple OMAP DMA channel.
> -
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -
> -**/
> -
> -#include <Base.h>
> -#include <Library/DebugLib.h>
> -#include <Library/OmapDmaLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Omap3530/Omap3530.h>
> -
> -
> -/**
> -  Configure OMAP DMA Channel
> -
> -  @param  Channel               DMA Channel to configure
> -  @param  Dma4                  Pointer to structure used to initialize DMA registers for the Channel
> -
> -  @retval EFI_SUCCESS           The range was mapped for the returned NumberOfBytes.
> -  @retval EFI_INVALID_PARAMETER Channel is not valid
> -  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -EnableDmaChannel (
> -  IN  UINTN       Channel,
> -  IN  OMAP_DMA4   *DMA4
> -  )
> -{
> -  UINT32  RegVal;
> -
> -
> -  if (Channel > DMA4_MAX_CHANNEL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  /* 1) Configure the transfer parameters in the logical DMA registers */
> -  /*-------------------------------------------------------------------*/
> -
> -  /* a) Set the data type CSDP[1:0], the Read/Write Port access type
> -        CSDP[8:7]/[15:14], the Source/dest endianism CSDP[21]/CSDP[19],
> -        write mode CSDP[17:16], source/dest packed or nonpacked CSDP[6]/CSDP[13] */
> -
> -  // Read CSDP
> -  RegVal = MmioRead32 (DMA4_CSDP (Channel));
> -
> -  // Build reg
> -  RegVal = ((RegVal & ~ 0x3) | DMA4->DataType );
> -  RegVal = ((RegVal & ~(0x3 <<  7)) | (DMA4->ReadPortAccessType << 7));
> -  RegVal = ((RegVal & ~(0x3 << 14)) | (DMA4->WritePortAccessType << 14));
> -  RegVal = ((RegVal & ~(0x1 << 21)) | (DMA4->SourceEndiansim << 21));
> -  RegVal = ((RegVal & ~(0x1 << 19)) | (DMA4->DestinationEndianism << 19));
> -  RegVal = ((RegVal & ~(0x3 << 16)) | (DMA4->WriteMode << 16));
> -  RegVal = ((RegVal & ~(0x1 <<  6)) | (DMA4->SourcePacked << 6));
> -  RegVal = ((RegVal & ~(0x1 << 13)) | (DMA4->DestinationPacked << 13));
> -  // Write CSDP
> -  MmioWrite32 (DMA4_CSDP (Channel), RegVal);
> -
> -  /* b) Set the number of element per frame CEN[23:0]*/
> -  MmioWrite32 (DMA4_CEN (Channel), DMA4->NumberOfElementPerFrame);
> -
> -  /* c) Set the number of frame per block CFN[15:0]*/
> -  MmioWrite32 (DMA4_CFN (Channel), DMA4->NumberOfFramePerTransferBlock);
> -
> -  /* d) Set the Source/dest start address index CSSA[31:0]/CDSA[31:0]*/
> -  MmioWrite32 (DMA4_CSSA (Channel), DMA4->SourceStartAddress);
> -  MmioWrite32 (DMA4_CDSA (Channel), DMA4->DestinationStartAddress);
> -
> -  /* e) Set the Read Port addressing mode CCR[13:12], the Write Port addressing mode CCR[15:14],
> -        read/write priority CCR[6]/CCR[26]
> -        I changed LCH CCR[20:19]=00 and CCR[4:0]=00000 to
> -        LCH CCR[20:19]= DMA4->WriteRequestNumber and CCR[4:0]=DMA4->ReadRequestNumber
> -  */
> -
> -  // Read CCR
> -  RegVal = MmioRead32 (DMA4_CCR (Channel));
> -
> -  // Build reg
> -  RegVal  = ((RegVal &  ~0x1f)            | DMA4->ReadRequestNumber);
> -  RegVal  = ((RegVal &  ~(BIT20 | BIT19)) | DMA4->WriteRequestNumber << 19);
> -  RegVal  = ((RegVal & ~(0x3 << 12)) | (DMA4->ReadPortAccessMode << 12));
> -  RegVal  = ((RegVal & ~(0x3 << 14)) | (DMA4->WritePortAccessMode << 14));
> -  RegVal  = ((RegVal & ~(0x1 <<  6)) | (DMA4->ReadPriority << 6));
> -  RegVal  = ((RegVal & ~(0x1 << 26)) | (DMA4->WritePriority << 26));
> -
> -  // Write CCR
> -  MmioWrite32 (DMA4_CCR (Channel), RegVal);
> -
> -  /* f)- Set the source element index CSEI[15:0]*/
> -  MmioWrite32 (DMA4_CSEI (Channel), DMA4->SourceElementIndex);
> -
> -  /* - Set the source frame index CSFI[15:0]*/
> -  MmioWrite32 (DMA4_CSFI (Channel), DMA4->SourceFrameIndex);
> -
> -
> -  /* - Set the destination element index CDEI[15:0]*/
> -  MmioWrite32 (DMA4_CDEI (Channel), DMA4->DestinationElementIndex);
> -
> -  /* - Set the destination frame index CDFI[31:0]*/
> -  MmioWrite32 (DMA4_CDFI (Channel), DMA4->DestinationFrameIndex);
> -
> -  MmioWrite32 (DMA4_CDFI (Channel), DMA4->DestinationFrameIndex);
> -
> -  // Enable all the status bits since we are polling
> -  MmioWrite32 (DMA4_CICR (Channel), DMA4_CICR_ENABLE_ALL);
> -  MmioWrite32 (DMA4_CSR (Channel),  DMA4_CSR_RESET);
> -
> -  /* 2) Start the DMA transfer by Setting the enable bit CCR[7]=1 */
> -  /*--------------------------------------------------------------*/
> -  //write enable bit
> -  MmioOr32 (DMA4_CCR(Channel), DMA4_CCR_ENABLE); //Launch transfer
> -
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Turn of DMA channel configured by EnableDma().
> -
> -  @param  Channel               DMA Channel to configure
> -  @param  SuccesMask            Bits in DMA4_CSR register indicate EFI_SUCCESS
> -  @param  ErrorMask             Bits in DMA4_CSR register indicate EFI_DEVICE_ERROR
> -
> -  @retval EFI_SUCCESS           DMA hardware disabled
> -  @retval EFI_INVALID_PARAMETER Channel is not valid
> -  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -DisableDmaChannel (
> -  IN  UINTN       Channel,
> -  IN  UINT32      SuccessMask,
> -  IN  UINT32      ErrorMask
> -  )
> -{
> -  EFI_STATUS  Status = EFI_SUCCESS;
> -  UINT32      Reg;
> -
> -
> -  if (Channel > DMA4_MAX_CHANNEL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  do {
> -    Reg = MmioRead32 (DMA4_CSR(Channel));
> -    if ((Reg & ErrorMask) != 0) {
> -      Status = EFI_DEVICE_ERROR;
> -      DEBUG ((EFI_D_ERROR, "DMA Error (%d) %x\n", Channel, Reg));
> -      break;
> -    }
> -  } while ((Reg & SuccessMask) != SuccessMask);
> -
> -
> -  // Disable all status bits and clear them
> -  MmioWrite32 (DMA4_CICR (Channel), 0);
> -  MmioWrite32 (DMA4_CSR (Channel),  DMA4_CSR_RESET);
> -
> -  MmioAnd32 (DMA4_CCR(0), ~(DMA4_CCR_ENABLE | DMA4_CCR_RD_ACTIVE | DMA4_CCR_WR_ACTIVE));
> -  return Status;
> -}
> -
> -
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf b/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
> deleted file mode 100755
> index 1893adf1180a..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = OmapDmaLib
> -  FILE_GUID                      = 09B17D99-BB07-49a8-B0D2-06D6AFCBE3AB
> -  MODULE_TYPE                    = UEFI_DRIVER
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = OmapDmaLib
> -
> -
> -[Sources.common]
> -  OmapDmaLib.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  ArmPkg/ArmPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  DebugLib
> -  UefiBootServicesTableLib
> -  MemoryAllocationLib
> -  UncachedMemoryAllocationLib
> -  IoLib
> -  BaseMemoryLib
> -  ArmLib
> -
> -
> -[Protocols]
> -  gEfiCpuArchProtocolGuid
> -
> -[Guids]
> -
> -[Pcd]
> -
> -[Depex]
> -  gEfiCpuArchProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c b/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c
> deleted file mode 100644
> index 29645ee55a91..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c
> +++ /dev/null
> @@ -1,83 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Base.h>
> -#include <Library/DebugLib.h>
> -#include <Library/OmapLib.h>
> -#include <Omap3530/Omap3530.h>
> -
> -UINT32
> -GpioBase (
> -  IN  UINTN Port
> -  )
> -{
> -  switch (Port) {
> -  case 1:  return GPIO1_BASE;
> -  case 2:  return GPIO2_BASE;
> -  case 3:  return GPIO3_BASE;
> -  case 4:  return GPIO4_BASE;
> -  case 5:  return GPIO5_BASE;
> -  case 6:  return GPIO6_BASE;
> -  default: ASSERT(FALSE); return 0;
> -  }
> -}
> -
> -UINT32
> -TimerBase (
> -  IN  UINTN Timer
> -  )
> -{
> -  switch (Timer) {
> -  case  1: return GPTIMER1_BASE;
> -  case  2: return GPTIMER2_BASE;
> -  case  3: return GPTIMER3_BASE;
> -  case  4: return GPTIMER4_BASE;
> -  case  5: return GPTIMER5_BASE;
> -  case  6: return GPTIMER6_BASE;
> -  case  7: return GPTIMER7_BASE;
> -  case  8: return GPTIMER8_BASE;
> -  case  9: return GPTIMER9_BASE;
> -  case 10: return GPTIMER10_BASE;
> -  case 11: return GPTIMER11_BASE;
> -  case 12: return GPTIMER12_BASE;
> -  default: return 0;
> -  }
> -}
> -
> -UINTN
> -InterruptVectorForTimer (
> -  IN  UINTN Timer
> -  )
> -{
> -  if ((Timer < 1) || (Timer > 12)) {
> -    ASSERT(FALSE);
> -    return 0xFFFFFFFF;
> -  }
> -
> -  return 36 + Timer;
> -}
> -
> -UINT32
> -UartBase (
> -  IN  UINTN Uart
> -  )
> -{
> -  switch (Uart) {
> -  case 1:  return UART1_BASE;
> -  case 2:  return UART2_BASE;
> -  case 3:  return UART3_BASE;
> -  default: ASSERT(FALSE); return 0;
> -  }
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf b/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
> deleted file mode 100644
> index b75d68696c66..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = OmapLib
> -  FILE_GUID                      = d035f5c2-1b92-4746-9f6c-5ff6202970df
> -  MODULE_TYPE                    = UEFI_DRIVER
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = OmapLib
> -
> -[Sources.common]
> -  OmapLib.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  DebugLib
> -
> -[Protocols]
> -
> -[Guids]
> -
> -[Pcd]
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c b/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c
> deleted file mode 100755
> index 0ae452ebd7c1..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c
> +++ /dev/null
> @@ -1,297 +0,0 @@
> -/** @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 <Uefi.h>
> -
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiRuntimeServicesTableLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/IoLib.h>
> -
> -#include <Protocol/RealTimeClock.h>
> -#include <Protocol/EmbeddedExternalDevice.h>
> -
> -#include <Omap3530/Omap3530.h>
> -#include <TPS65950.h>
> -
> -
> -EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
> -INT16                      TimeZone = EFI_UNSPECIFIED_TIMEZONE;
> -
> -/**
> -  Returns the current time and date information, and the time-keeping capabilities
> -  of the hardware platform.
> -
> -  @param  Time                  A pointer to storage to receive a snapshot of the current time.
> -  @param  Capabilities          An optional pointer to a buffer to receive the real time clock
> -                                device's capabilities.
> -
> -  @retval EFI_SUCCESS           The operation completed successfully.
> -  @retval EFI_INVALID_PARAMETER Time is NULL.
> -  @retval EFI_DEVICE_ERROR      The time could not be retrieved due to hardware error.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibGetTime (
> -  OUT EFI_TIME                *Time,
> -  OUT EFI_TIME_CAPABILITIES   *Capabilities
> -  )
> -{
> -  EFI_STATUS            Status;
> -  UINT8                 Data;
> -  EFI_TPL               OldTpl;
> -
> -  if (Time == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
> -
> -  /* Get time and date */
> -  ZeroMem(Time, sizeof(EFI_TIME));
> -
> -  // Latch values
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -  Data |= BIT6;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -
> -  // Read registers
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -  Time->Year = 2000 + ((Data >> 4) & 0xF) * 10 + (Data & 0xF);
> -
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -  Time->Month = ((Data >> 4) & 0x1) * 10 + (Data & 0xF);
> -
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -  Time->Day = ((Data >> 4) & 0x3) * 10 + (Data & 0xF);
> -
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -  Time->Hour = ((Data >> 4) & 0x3) * 10 + (Data & 0xF);
> -
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -  Time->Minute = ((Data >> 4) & 0x7) * 10 + (Data & 0xF);
> -
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -  Time->Second = ((Data >> 4) & 0x7) * 10 + (Data & 0xF);
> -
> -  Time->TimeZone = TimeZone;
> -  // TODO: check what to use here
> -  Time->Daylight = EFI_TIME_ADJUST_DAYLIGHT;
> -
> -  // Set capabilities
> -
> -  // TODO: Set real capabilities
> -  if (Capabilities != NULL) {
> -    Capabilities->Resolution = 1;
> -    Capabilities->Accuracy = 50000000;
> -    Capabilities->SetsToZero = FALSE;
> -  }
> -
> -EXIT:
> -  gBS->RestoreTPL(OldTpl);
> -
> -  return (Status == EFI_SUCCESS) ? Status : EFI_DEVICE_ERROR;
> -}
> -
> -/**
> -  Sets the current local time and date information.
> -
> -  @param  Time                  A pointer to the current time.
> -
> -  @retval EFI_SUCCESS           The operation completed successfully.
> -  @retval EFI_INVALID_PARAMETER A time field is out of range.
> -  @retval EFI_DEVICE_ERROR      The time could not be set due due to hardware error.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibSetTime (
> -  IN EFI_TIME                *Time
> -  )
> -{
> -  EFI_STATUS Status;
> -  UINT8      Data;
> -  UINT8      MonthDayCount[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
> -  EFI_TPL    OldTpl;
> -
> -  // Input validation according both to UEFI spec and hardware constraints
> -  // UEFI spec says valid year range is 1900-9999 but TPS only supports 2000-2099
> -  if ( (Time == NULL)
> -    || (Time->Year < 2000 || Time->Year > 2099)
> -    || (Time->Month < 1 || Time->Month > 12)
> -    || (Time->Day < 1 || Time->Day > MonthDayCount[Time->Month])
> -    || (Time->Hour > 23)
> -    || (Time->Minute > 59)
> -    || (Time->Second > 59)
> -    || (Time->Nanosecond > 999999999)
> -    || ((Time->TimeZone < -1440 || Time->TimeZone > 1440) && Time->TimeZone != 2047)
> -  ) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
> -
> -  Data = Time->Year - 2000;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -
> -  Data = ((Time->Month / 10) << 4) | (Time->Month % 10);
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -
> -  Data = ((Time->Day / 10) << 4) | (Time->Day % 10);
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -
> -  Data = ((Time->Hour / 10) << 4) | (Time->Hour % 10);
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -
> -  Data = ((Time->Minute / 10) << 4) | (Time->Minute % 10);
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -
> -  Data = ((Time->Second / 10) << 4) | (Time->Second % 10);
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
> -  if (Status != EFI_SUCCESS) goto EXIT;
> -
> -  TimeZone = Time->TimeZone;
> -
> -EXIT:
> -  gBS->RestoreTPL(OldTpl);
> -
> -  return (Status == EFI_SUCCESS) ? Status : EFI_DEVICE_ERROR;
> -}
> -
> -/**
> -  Returns the current wakeup alarm clock setting.
> -
> -  @param  Enabled               Indicates if the alarm is currently enabled or disabled.
> -  @param  Pending               Indicates if the alarm signal is pending and requires acknowledgement.
> -  @param  Time                  The current alarm setting.
> -
> -  @retval EFI_SUCCESS           The alarm settings were returned.
> -  @retval EFI_INVALID_PARAMETER Any parameter is NULL.
> -  @retval EFI_DEVICE_ERROR      The wakeup time could not be retrieved due to a hardware error.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibGetWakeupTime (
> -  OUT BOOLEAN     *Enabled,
> -  OUT BOOLEAN     *Pending,
> -  OUT EFI_TIME    *Time
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -/**
> -  Sets the system wakeup alarm clock time.
> -
> -  @param  Enabled               Enable or disable the wakeup alarm.
> -  @param  Time                  If Enable is TRUE, the time to set the wakeup alarm for.
> -
> -  @retval EFI_SUCCESS           If Enable is TRUE, then the wakeup alarm was enabled. If
> -                                Enable is FALSE, then the wakeup alarm was disabled.
> -  @retval EFI_INVALID_PARAMETER A time field is out of range.
> -  @retval EFI_DEVICE_ERROR      The wakeup time could not be set due to a hardware error.
> -  @retval EFI_UNSUPPORTED       A wakeup timer is not supported on this platform.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibSetWakeupTime (
> -  IN BOOLEAN      Enabled,
> -  OUT EFI_TIME    *Time
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -/**
> -  This is the declaration of an EFI image entry point. This can be the entry point to an application
> -  written to this specification, an EFI boot service driver, or an EFI runtime driver.
> -
> -  @param  ImageHandle           Handle that identifies the loaded image.
> -  @param  SystemTable           System Table for this image.
> -
> -  @retval EFI_SUCCESS           The operation completed successfully.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibRtcInitialize (
> -  IN EFI_HANDLE                            ImageHandle,
> -  IN EFI_SYSTEM_TABLE                      *SystemTable
> -  )
> -{
> -  EFI_STATUS    Status;
> -  EFI_HANDLE    Handle;
> -  UINT8         Data;
> -  EFI_TPL       OldTpl;
> -
> -  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
> -  Data = 1;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
> -  ASSERT_EFI_ERROR(Status);
> -  gBS->RestoreTPL(OldTpl);
> -
> -  // Setup the setters and getters
> -  gRT->GetTime       = LibGetTime;
> -  gRT->SetTime       = LibSetTime;
> -  gRT->GetWakeupTime = LibGetWakeupTime;
> -  gRT->SetWakeupTime = LibSetWakeupTime;
> -
> -  // Install the protocol
> -  Handle = NULL;
> -  Status = gBS->InstallMultipleProtocolInterfaces (
> -                  &Handle,
> -                  &gEfiRealTimeClockArchProtocolGuid,  NULL,
> -                  NULL
> -                 );
> -
> -  return Status;
> -}
> -
> -/**
> -  Fixup internal data so that EFI can be call in virtual mode.
> -  Call the passed in Child Notify event and convert any pointers in
> -  lib to virtual mode.
> -
> -  @param[in]    Event   The Event that is being processed
> -  @param[in]    Context Event Context
> -**/
> -VOID
> -EFIAPI
> -LibRtcVirtualNotifyEvent (
> -  IN EFI_EVENT        Event,
> -  IN VOID             *Context
> -  )
> -{
> -  return;
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf b/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf
> deleted file mode 100755
> index 83edd86d6ccd..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -#  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.
> -#
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = RealTimeClockLib
> -  FILE_GUID                      = EC1713DB-7DB5-4c99-8FE2-6F52F95A1132
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = RealTimeClockLib
> -
> -[Sources.common]
> -  RealTimeClockLib.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  IoLib
> -  UefiLib
> -  DebugLib
> -  PcdLib
> -
> -[Protocols]
> -  gEmbeddedExternalDeviceProtocolGuid
> -
> -[depex]
> -  gEmbeddedExternalDeviceProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c b/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c
> deleted file mode 100644
> index 82f04eaad1c8..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c
> +++ /dev/null
> @@ -1,90 +0,0 @@
> -/** @file
> -  Template library implementation to support ResetSystem Runtime call.
> -
> -  Fill in the templates with what ever makes you system reset.
> -
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -
> -#include <PiDxe.h>
> -
> -#include <Library/PcdLib.h>
> -#include <Library/ArmLib.h>
> -#include <Library/CacheMaintenanceLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/EfiResetSystemLib.h>
> -
> -
> -/**
> -  Resets the entire platform.
> -
> -  @param  ResetType             The type of reset to perform.
> -  @param  ResetStatus           The status code for the reset.
> -  @param  DataSize              The size, in bytes, of WatchdogData.
> -  @param  ResetData             For a ResetType of EfiResetCold, EfiResetWarm, or
> -                                EfiResetShutdown the data buffer starts with a Null-terminated
> -                                Unicode string, optionally followed by additional binary data.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibResetSystem (
> -  IN EFI_RESET_TYPE   ResetType,
> -  IN EFI_STATUS       ResetStatus,
> -  IN UINTN            DataSize,
> -  IN CHAR16           *ResetData OPTIONAL
> -  )
> -{
> -  if (ResetData != NULL) {
> -    DEBUG((EFI_D_ERROR, "%s", ResetData));
> -  }
> -
> -  switch (ResetType) {
> -  case EfiResetWarm:
> -    // Map a warm reset into a cold reset
> -  case EfiResetCold:
> -  case EfiResetShutdown:
> -  default:
> -    // Perform cold reset of the system.
> -    MmioOr32 (PRM_RSTCTRL, RST_DPLL3);
> -    while ((MmioRead32 (PRM_RSTST) & GLOBAL_COLD_RST) != 0x1);
> -    break;
> -  }
> -
> -  // If the reset didn't work, return an error.
> -  ASSERT (FALSE);
> -  return EFI_DEVICE_ERROR;
> -}
> -
> -
> -
> -/**
> -  Initialize any infrastructure required for LibResetSystem () to function.
> -
> -  @param  ImageHandle   The firmware allocated handle for the EFI image.
> -  @param  SystemTable   A pointer to the EFI System Table.
> -
> -  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibInitializeResetSystem (
> -  IN EFI_HANDLE        ImageHandle,
> -  IN EFI_SYSTEM_TABLE  *SystemTable
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf b/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf
> deleted file mode 100644
> index 20496fa16735..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -#/** @file
> -# Reset System lib to make it easy to port new platforms
> -#
> -# Copyright (c) 2008, Apple Inc. 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.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardResetSystemLib
> -  FILE_GUID                      = 781371a2-3fdd-41d4-96a1-7b34cbc9e895
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = EfiResetSystemLib
> -
> -
> -[Sources.common]
> -  ResetSystemLib.c
> -
> -[Packages]
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -  ArmPkg/ArmPkg.dec
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -
> -[Pcd.common]
> -  gArmTokenSpaceGuid.PcdCpuResetAddress
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedFdBaseAddress
> -
> -[LibraryClasses]
> -  DebugLib
> -  BeagleBoardSystemLib
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c b/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c
> deleted file mode 100644
> index 7ac12c729f57..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c
> +++ /dev/null
> @@ -1,214 +0,0 @@
> -/** @file
> -  Serial I/O Port library functions with no library constructor/destructor
> -
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> -  Copyright (c) 2015, Intel Corporation. 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.
> -
> -**/
> -
> -#include <Base.h>
> -#include <Library/DebugLib.h>
> -#include <Library/SerialPortLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/OmapLib.h>
> -#include <Omap3530/Omap3530.h>
> -
> -/*
> -
> -  Programmed hardware of Serial port.
> -
> -  @return    Always return EFI_UNSUPPORTED.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortInitialize (
> -  VOID
> -  )
> -{
> -  // assume assembly code at reset vector has setup UART
> -  return RETURN_SUCCESS;
> -}
> -
> -/**
> -  Write data to serial device.
> -
> -  @param  Buffer           Point of data buffer which need to be writed.
> -  @param  NumberOfBytes    Number of output bytes which are cached in Buffer.
> -
> -  @retval 0                Write data failed.
> -  @retval !0               Actual number of bytes writed to serial device.
> -
> -**/
> -UINTN
> -EFIAPI
> -SerialPortWrite (
> -  IN UINT8     *Buffer,
> -  IN UINTN     NumberOfBytes
> -)
> -{
> -  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -  UINT32  THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;
> -  UINTN   Count;
> -
> -  for (Count = 0; Count < NumberOfBytes; Count++, Buffer++) {
> -    while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);
> -    MmioWrite8(THR, *Buffer);
> -  }
> -
> -  return NumberOfBytes;
> -}
> -
> -
> -/**
> -  Read data from serial device and save the datas in buffer.
> -
> -  @param  Buffer           Point of data buffer which need to be writed.
> -  @param  NumberOfBytes    Number of output bytes which are cached in Buffer.
> -
> -  @retval 0                Read data failed.
> -  @retval !0               Aactual number of bytes read from serial device.
> -
> -**/
> -UINTN
> -EFIAPI
> -SerialPortRead (
> -  OUT UINT8     *Buffer,
> -  IN  UINTN     NumberOfBytes
> -)
> -{
> -  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -  UINT32  RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;
> -  UINTN   Count;
> -
> -  for (Count = 0; Count < NumberOfBytes; Count++, Buffer++) {
> -    while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);
> -    *Buffer = MmioRead8(RBR);
> -  }
> -
> -  return NumberOfBytes;
> -}
> -
> -
> -/**
> -  Check to see if any data is avaiable to be read from the debug device.
> -
> -  @retval EFI_SUCCESS       At least one byte of data is avaiable to be read
> -  @retval EFI_NOT_READY     No data is avaiable to be read
> -  @retval EFI_DEVICE_ERROR  The serial device is not functioning properly
> -
> -**/
> -BOOLEAN
> -EFIAPI
> -SerialPortPoll (
> -  VOID
> -  )
> -{
> -  UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -
> -  if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {
> -    return TRUE;
> -  } else {
> -    return FALSE;
> -  }
> -}
> -
> -/**
> -  Sets the control bits on a serial device.
> -
> -  @param[in] Control            Sets the bits of Control that are settable.
> -
> -  @retval RETURN_SUCCESS        The new control bits were set on the serial device.
> -  @retval RETURN_UNSUPPORTED    The serial device does not support this operation.
> -  @retval RETURN_DEVICE_ERROR   The serial device is not functioning correctly.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortSetControl (
> -  IN UINT32 Control
> -  )
> -{
> -  return RETURN_UNSUPPORTED;
> -}
> -
> -/**
> -  Retrieve the status of the control bits on a serial device.
> -
> -  @param[out] Control           A pointer to return the current control signals from the serial device.
> -
> -  @retval RETURN_SUCCESS        The control bits were read from the serial device.
> -  @retval RETURN_UNSUPPORTED    The serial device does not support this operation.
> -  @retval RETURN_DEVICE_ERROR   The serial device is not functioning correctly.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortGetControl (
> -  OUT UINT32 *Control
> -  )
> -{
> -  *Control = 0;
> -  if (!SerialPortPoll ()) {
> -    *Control = EFI_SERIAL_INPUT_BUFFER_EMPTY;
> -  }
> -  return RETURN_SUCCESS;
> -}
> -
> -/**
> -  Sets the baud rate, receive FIFO depth, transmit/receice time out, parity,
> -  data bits, and stop bits on a serial device.
> -
> -  @param BaudRate           The requested baud rate. A BaudRate value of 0 will use the
> -                            device's default interface speed.
> -                            On output, the value actually set.
> -  @param ReveiveFifoDepth   The requested depth of the FIFO on the receive side of the
> -                            serial interface. A ReceiveFifoDepth value of 0 will use
> -                            the device's default FIFO depth.
> -                            On output, the value actually set.
> -  @param Timeout            The requested time out for a single character in microseconds.
> -                            This timeout applies to both the transmit and receive side of the
> -                            interface. A Timeout value of 0 will use the device's default time
> -                            out value.
> -                            On output, the value actually set.
> -  @param Parity             The type of parity to use on this serial device. A Parity value of
> -                            DefaultParity will use the device's default parity value.
> -                            On output, the value actually set.
> -  @param DataBits           The number of data bits to use on the serial device. A DataBits
> -                            vaule of 0 will use the device's default data bit setting.
> -                            On output, the value actually set.
> -  @param StopBits           The number of stop bits to use on this serial device. A StopBits
> -                            value of DefaultStopBits will use the device's default number of
> -                            stop bits.
> -                            On output, the value actually set.
> -
> -  @retval RETURN_SUCCESS            The new attributes were set on the serial device.
> -  @retval RETURN_UNSUPPORTED        The serial device does not support this operation.
> -  @retval RETURN_INVALID_PARAMETER  One or more of the attributes has an unsupported value.
> -  @retval RETURN_DEVICE_ERROR       The serial device is not functioning correctly.
> -
> -**/
> -RETURN_STATUS
> -EFIAPI
> -SerialPortSetAttributes (
> -  IN OUT UINT64             *BaudRate,
> -  IN OUT UINT32             *ReceiveFifoDepth,
> -  IN OUT UINT32             *Timeout,
> -  IN OUT EFI_PARITY_TYPE    *Parity,
> -  IN OUT UINT8              *DataBits,
> -  IN OUT EFI_STOP_BITS_TYPE *StopBits
> -  )
> -{
> -  return RETURN_UNSUPPORTED;
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf b/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf
> deleted file mode 100644
> index 3382ef75296f..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -#/** @file
> -# EDK Serial port lib
> -#
> -# Copyright (c) 2009, Apple Inc. 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.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardSerialPortLib
> -  FILE_GUID                      = 97546cbd-c0ff-4c48-ab0b-e4f58862acd3
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = SerialPortLib
> -
> -
> -#
> -#  VALID_ARCHITECTURES           = ARM IA32 X64 IPF EBC
> -#
> -
> -[Sources.common]
> -  SerialPortLib.c
> -
> -[LibraryClasses]
> -  DebugLib
> -  IoLib
> -  OmapLib
> -
> -[Packages]
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  MdePkg/MdePkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[FixedPcd]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/License.txt b/Chips/TexasInstruments/Omap35xx/License.txt
> deleted file mode 100755
> index 05dbd3606dcc..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/License.txt
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -Copyright (c) 2009-2010, Apple Inc. All rights reserved.
> -Copyright (c) 2011-2012, ARM Limited. All rights reserved.
> -
> -Redistribution and use in source and binary forms, with or without
> -modification, are permitted provided that the following conditions
> -are met:
> -
> -* Redistributions of source code must retain the above copyright
> -  notice, this list of conditions and the following disclaimer.
> -* Redistributions in binary form must reproduce the above copyright
> -  notice, this list of conditions and the following disclaimer in
> -  the documentation and/or other materials provided with the
> -  distribution.
> -
> -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
> -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
> -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> -POSSIBILITY OF SUCH DAMAGE.
> diff --git a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c b/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c
> deleted file mode 100644
> index 9f0ebe0f65d5..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c
> +++ /dev/null
> @@ -1,1494 +0,0 @@
> -/** @file
> -  MMC/SD Card driver for OMAP 35xx (SDIO not supported)
> -
> -  This driver always produces a BlockIo protocol but it starts off with no Media
> -  present. A TimerCallBack detects when media is inserted or removed and after
> -  a media change event a call to BlockIo ReadBlocks/WriteBlocks will cause the
> -  media to be detected (or removed) and the BlockIo Media structure will get
> -  updated. No MMC/SD Card harward registers are updated until the first BlockIo
> -  ReadBlocks/WriteBlocks after media has been insterted (booting with a card
> -  plugged in counts as an insertion event).
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include "MMCHS.h"
> -
> -EFI_BLOCK_IO_MEDIA gMMCHSMedia = {
> -  SIGNATURE_32('s','d','i','o'),            // MediaId
> -  TRUE,                                     // RemovableMedia
> -  FALSE,                                    // MediaPresent
> -  FALSE,                                    // LogicalPartition
> -  FALSE,                                    // ReadOnly
> -  FALSE,                                    // WriteCaching
> -  512,                                      // BlockSize
> -  4,                                        // IoAlign
> -  0,                                        // Pad
> -  0                                         // LastBlock
> -};
> -
> -typedef struct {
> -  VENDOR_DEVICE_PATH  Mmc;
> -  EFI_DEVICE_PATH     End;
> -} MMCHS_DEVICE_PATH;
> -
> -MMCHS_DEVICE_PATH gMmcHsDevicePath = {
> -  {
> -    HARDWARE_DEVICE_PATH,
> -    HW_VENDOR_DP,
> -    (UINT8)(sizeof(VENDOR_DEVICE_PATH)),
> -    (UINT8)((sizeof(VENDOR_DEVICE_PATH)) >> 8),
> -    0xb615f1f5, 0x5088, 0x43cd, 0x80, 0x9c, 0xa1, 0x6e, 0x52, 0x48, 0x7d, 0x00
> -  },
> -  {
> -    END_DEVICE_PATH_TYPE,
> -    END_ENTIRE_DEVICE_PATH_SUBTYPE,
> -    { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0 }
> -  }
> -};
> -
> -CARD_INFO                  gCardInfo;
> -EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
> -EFI_EVENT                  gTimerEvent;
> -BOOLEAN                    gMediaChange = FALSE;
> -
> -//
> -// Internal Functions
> -//
> -
> -
> -VOID
> -ParseCardCIDData (
> -  UINT32 Response0,
> -  UINT32 Response1,
> -  UINT32 Response2,
> -  UINT32 Response3
> -  )
> -{
> -  gCardInfo.CIDData.MDT = ((Response0 >> 8) & 0xFFF);
> -  gCardInfo.CIDData.PSN = (((Response0 >> 24) & 0xFF) | ((Response1 & 0xFFFFFF) << 8));
> -  gCardInfo.CIDData.PRV = ((Response1 >> 24) & 0xFF);
> -  gCardInfo.CIDData.PNM[4] = ((Response2) & 0xFF);
> -  gCardInfo.CIDData.PNM[3] = ((Response2 >> 8) & 0xFF);
> -  gCardInfo.CIDData.PNM[2] = ((Response2 >> 16) & 0xFF);
> -  gCardInfo.CIDData.PNM[1] = ((Response2 >> 24) & 0xFF);
> -  gCardInfo.CIDData.PNM[0] = ((Response3) & 0xFF);
> -  gCardInfo.CIDData.OID = ((Response3 >> 8) & 0xFFFF);
> -  gCardInfo.CIDData.MID = ((Response3 >> 24) & 0xFF);
> -}
> -
> -
> -VOID
> -UpdateMMCHSClkFrequency (
> -  UINTN NewCLKD
> -  )
> -{
> -  //Set Clock enable to 0x0 to not provide the clock to the card
> -  MmioAnd32 (MMCHS_SYSCTL, ~CEN);
> -
> -  //Set new clock frequency.
> -  MmioAndThenOr32 (MMCHS_SYSCTL, ~CLKD_MASK, NewCLKD << 6);
> -
> -  //Poll till Internal Clock Stable
> -  while ((MmioRead32 (MMCHS_SYSCTL) & ICS_MASK) != ICS);
> -
> -  //Set Clock enable to 0x1 to provide the clock to the card
> -  MmioOr32 (MMCHS_SYSCTL, CEN);
> -}
> -
> -
> -EFI_STATUS
> -SendCmd (
> -  UINTN Cmd,
> -  UINTN CmdInterruptEnableVal,
> -  UINTN CmdArgument
> -  )
> -{
> -  UINTN MmcStatus;
> -  UINTN RetryCount = 0;
> -
> -  //Check if command line is in use or not. Poll till command line is available.
> -  while ((MmioRead32 (MMCHS_PSTATE) & DATI_MASK) == DATI_NOT_ALLOWED);
> -
> -  //Provide the block size.
> -  MmioWrite32 (MMCHS_BLK, BLEN_512BYTES);
> -
> -  //Setting Data timeout counter value to max value.
> -  MmioAndThenOr32 (MMCHS_SYSCTL, ~DTO_MASK, DTO_VAL);
> -
> -  //Clear Status register.
> -  MmioWrite32 (MMCHS_STAT, 0xFFFFFFFF);
> -
> -  //Set command argument register
> -  MmioWrite32 (MMCHS_ARG, CmdArgument);
> -
> -  //Enable interrupt enable events to occur
> -  MmioWrite32 (MMCHS_IE, CmdInterruptEnableVal);
> -
> -  //Send a command
> -  MmioWrite32 (MMCHS_CMD, Cmd);
> -
> -  //Check for the command status.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    do {
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while (MmcStatus == 0);
> -
> -    //Read status of command response
> -    if ((MmcStatus & ERRI) != 0) {
> -
> -      //Perform soft-reset for mmci_cmd line.
> -      MmioOr32 (MMCHS_SYSCTL, SRC);
> -      while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
> -
> -      DEBUG ((EFI_D_INFO, "MmcStatus: %x\n", MmcStatus));
> -      return EFI_DEVICE_ERROR;
> -    }
> -
> -    //Check if command is completed.
> -    if ((MmcStatus & CC) == CC) {
> -      MmioWrite32 (MMCHS_STAT, CC);
> -      break;
> -    }
> -
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -VOID
> -GetBlockInformation (
> -  UINTN *BlockSize,
> -  UINTN *NumBlocks
> -  )
> -{
> -  CSD_SDV2 *CsdSDV2Data;
> -  UINTN    CardSize;
> -
> -  if (gCardInfo.CardType == SD_CARD_2_HIGH) {
> -    CsdSDV2Data = (CSD_SDV2 *)&gCardInfo.CSDData;
> -
> -    //Populate BlockSize.
> -    *BlockSize = (0x1UL << CsdSDV2Data->READ_BL_LEN);
> -
> -    //Calculate Total number of blocks.
> -    CardSize = CsdSDV2Data->C_SIZELow16 | (CsdSDV2Data->C_SIZEHigh6 << 2);
> -    *NumBlocks = ((CardSize + 1) * 1024);
> -  } else {
> -    //Populate BlockSize.
> -    *BlockSize = (0x1UL << gCardInfo.CSDData.READ_BL_LEN);
> -
> -    //Calculate Total number of blocks.
> -    CardSize = gCardInfo.CSDData.C_SIZELow2 | (gCardInfo.CSDData.C_SIZEHigh10 << 2);
> -    *NumBlocks = (CardSize + 1) * (1 << (gCardInfo.CSDData.C_SIZE_MULT + 2));
> -  }
> -
> -  //For >=2G card, BlockSize may be 1K, but the transfer size is 512 bytes.
> -  if (*BlockSize > 512) {
> -    *NumBlocks = MultU64x32(*NumBlocks, *BlockSize/2);
> -    *BlockSize = 512;
> -  }
> -
> -  DEBUG ((EFI_D_INFO, "Card type: %x, BlockSize: %x, NumBlocks: %x\n", gCardInfo.CardType, *BlockSize, *NumBlocks));
> -}
> -
> -
> -VOID
> -CalculateCardCLKD (
> -  UINTN *ClockFrequencySelect
> -  )
> -{
> -  UINT8    MaxDataTransferRate;
> -  UINTN    TransferRateValue = 0;
> -  UINTN    TimeValue = 0 ;
> -  UINTN    Frequency = 0;
> -
> -  MaxDataTransferRate = gCardInfo.CSDData.TRAN_SPEED;
> -
> -  // For SD Cards  we would need to send CMD6 to set
> -  // speeds abouve 25MHz. High Speed mode 50 MHz and up
> -
> -  //Calculate Transfer rate unit (Bits 2:0 of TRAN_SPEED)
> -  switch (MaxDataTransferRate & 0x7) {
> -    case 0:
> -      TransferRateValue = 100 * 1000;
> -      break;
> -
> -    case 1:
> -      TransferRateValue = 1 * 1000 * 1000;
> -      break;
> -
> -    case 2:
> -      TransferRateValue = 10 * 1000 * 1000;
> -      break;
> -
> -    case 3:
> -      TransferRateValue = 100 * 1000 * 1000;
> -      break;
> -
> -    default:
> -      DEBUG((EFI_D_ERROR, "Invalid parameter.\n"));
> -      ASSERT(FALSE);
> -  }
> -
> -  //Calculate Time value (Bits 6:3 of TRAN_SPEED)
> -  switch ((MaxDataTransferRate >> 3) & 0xF) {
> -    case 1:
> -      TimeValue = 10;
> -      break;
> -
> -    case 2:
> -      TimeValue = 12;
> -      break;
> -
> -    case 3:
> -      TimeValue = 13;
> -      break;
> -
> -    case 4:
> -      TimeValue = 15;
> -      break;
> -
> -    case 5:
> -      TimeValue = 20;
> -      break;
> -
> -    case 6:
> -      TimeValue = 25;
> -      break;
> -
> -    case 7:
> -      TimeValue = 30;
> -      break;
> -
> -    case 8:
> -      TimeValue = 35;
> -      break;
> -
> -    case 9:
> -      TimeValue = 40;
> -      break;
> -
> -    case 10:
> -      TimeValue = 45;
> -      break;
> -
> -    case 11:
> -      TimeValue = 50;
> -      break;
> -
> -    case 12:
> -      TimeValue = 55;
> -      break;
> -
> -    case 13:
> -      TimeValue = 60;
> -      break;
> -
> -    case 14:
> -      TimeValue = 70;
> -      break;
> -
> -    case 15:
> -      TimeValue = 80;
> -      break;
> -
> -    default:
> -      DEBUG((EFI_D_ERROR, "Invalid parameter.\n"));
> -      ASSERT(FALSE);
> -  }
> -
> -  Frequency = TransferRateValue * TimeValue/10;
> -
> -  //Calculate Clock divider value to program in MMCHS_SYSCTL[CLKD] field.
> -  *ClockFrequencySelect = ((MMC_REFERENCE_CLK/Frequency) + 1);
> -
> -  DEBUG ((EFI_D_INFO, "MaxDataTransferRate: 0x%x, Frequency: %d KHz, ClockFrequencySelect: %x\n", MaxDataTransferRate, Frequency/1000, *ClockFrequencySelect));
> -}
> -
> -
> -VOID
> -GetCardConfigurationData (
> -  VOID
> -  )
> -{
> -  UINTN  BlockSize;
> -  UINTN  NumBlocks;
> -  UINTN  ClockFrequencySelect;
> -
> -  //Calculate BlockSize and Total number of blocks in the detected card.
> -  GetBlockInformation(&BlockSize, &NumBlocks);
> -  gCardInfo.BlockSize = BlockSize;
> -  gCardInfo.NumBlocks = NumBlocks;
> -
> -  //Calculate Card clock divider value.
> -  CalculateCardCLKD(&ClockFrequencySelect);
> -  gCardInfo.ClockFrequencySelect = ClockFrequencySelect;
> -}
> -
> -
> -EFI_STATUS
> -InitializeMMCHS (
> -  VOID
> -  )
> -{
> -  UINT8      Data = 0;
> -  EFI_STATUS Status;
> -
> -  //Select Device group to belong to P1 device group in Power IC.
> -  Data = DEV_GRP_P1;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEV_GRP), 1, &Data);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  //Configure voltage regulator for MMC1 in Power IC to output 3.0 voltage.
> -  Data = VSEL_3_00V;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEDICATED_REG), 1, &Data);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  //After ramping up voltage, set VDDS stable bit to indicate that voltage level is stable.
> -  MmioOr32 (CONTROL_PBIAS_LITE, (PBIASLITEVMODE0 | PBIASLITEPWRDNZ0 | PBIASSPEEDCTRL0 | PBIASLITEVMODE1 | PBIASLITEWRDNZ1));
> -
> -  // Enable WP GPIO
> -  MmioAndThenOr32 (GPIO1_BASE + GPIO_OE, ~BIT23, BIT23);
> -
> -  // Enable Card Detect
> -  Data = CARD_DETECT_ENABLE;
> -  gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, TPS65950_GPIO_CTRL), 1, &Data);
> -
> -
> -  return Status;
> -}
> -
> -
> -EFI_STATUS
> -PerformCardIdenfication (
> -  VOID
> -  )
> -{
> -  EFI_STATUS Status;
> -  UINTN      CmdArgument = 0;
> -  UINTN      Response = 0;
> -  UINTN      RetryCount = 0;
> -  BOOLEAN    SDCmd8Supported = FALSE;
> -
> -  //Enable interrupts.
> -  MmioWrite32 (MMCHS_IE, (BADA_EN | CERR_EN | DEB_EN | DCRC_EN | DTO_EN | CIE_EN |
> -    CEB_EN | CCRC_EN | CTO_EN | BRR_EN | BWR_EN | TC_EN | CC_EN));
> -
> -  //Controller INIT procedure start.
> -  MmioOr32 (MMCHS_CON, INIT);
> -  MmioWrite32 (MMCHS_CMD, 0x00000000);
> -  while (!(MmioRead32 (MMCHS_STAT) & CC));
> -
> -  //Wait for 1 ms
> -  gBS->Stall(1000);
> -
> -  //Set CC bit to 0x1 to clear the flag
> -  MmioOr32 (MMCHS_STAT, CC);
> -
> -  //Retry INIT procedure.
> -  MmioWrite32 (MMCHS_CMD, 0x00000000);
> -  while (!(MmioRead32 (MMCHS_STAT) & CC));
> -
> -  //End initialization sequence
> -  MmioAnd32 (MMCHS_CON, ~INIT);
> -
> -  MmioOr32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_ON));
> -
> -  //Change clock frequency to 400KHz to fit protocol
> -  UpdateMMCHSClkFrequency(CLKD_400KHZ);
> -
> -  MmioOr32 (MMCHS_CON, OD);
> -
> -  //Send CMD0 command.
> -  Status = SendCmd (CMD0, CMD0_INT_EN, CmdArgument);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "Cmd0 fails.\n"));
> -    return Status;
> -  }
> -
> -  DEBUG ((EFI_D_INFO, "CMD0 response: %x\n", MmioRead32 (MMCHS_RSP10)));
> -
> -  //Send CMD5 command.
> -  Status = SendCmd (CMD5, CMD5_INT_EN, CmdArgument);
> -  if (Status == EFI_SUCCESS) {
> -    DEBUG ((EFI_D_ERROR, "CMD5 Success. SDIO card. Follow SDIO card specification.\n"));
> -    DEBUG ((EFI_D_INFO, "CMD5 response: %x\n", MmioRead32 (MMCHS_RSP10)));
> -    //NOTE: Returning unsupported error for now. Need to implement SDIO specification.
> -    return EFI_UNSUPPORTED;
> -  } else {
> -    DEBUG ((EFI_D_INFO, "CMD5 fails. Not an SDIO card.\n"));
> -  }
> -
> -  MmioOr32 (MMCHS_SYSCTL, SRC);
> -  gBS->Stall(1000);
> -  while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
> -
> -  //Send CMD8 command. (New v2.00 command for Voltage check)
> -  //Only 2.7V - 3.6V is supported for SD2.0, only SD 2.0 card can pass.
> -  //MMC & SD1.1 card will fail this command.
> -  CmdArgument = CMD8_ARG;
> -  Status = SendCmd (CMD8, CMD8_INT_EN, CmdArgument);
> -  if (Status == EFI_SUCCESS) {
> -    Response = MmioRead32 (MMCHS_RSP10);
> -    DEBUG ((EFI_D_INFO, "CMD8 success. CMD8 response: %x\n", Response));
> -    if (Response != CmdArgument) {
> -      return EFI_DEVICE_ERROR;
> -    }
> -    DEBUG ((EFI_D_INFO, "Card is SD2.0\n"));
> -    SDCmd8Supported = TRUE; //Supports high capacity.
> -  } else {
> -    DEBUG ((EFI_D_INFO, "CMD8 fails. Not an SD2.0 card.\n"));
> -  }
> -
> -  MmioOr32 (MMCHS_SYSCTL, SRC);
> -  gBS->Stall(1000);
> -  while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
> -
> -  //Poll till card is busy
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    //Send CMD55 command.
> -    CmdArgument = 0;
> -    Status = SendCmd (CMD55, CMD55_INT_EN, CmdArgument);
> -    if (Status == EFI_SUCCESS) {
> -      DEBUG ((EFI_D_INFO, "CMD55 success. CMD55 response: %x\n", MmioRead32 (MMCHS_RSP10)));
> -      gCardInfo.CardType = SD_CARD;
> -    } else {
> -      DEBUG ((EFI_D_INFO, "CMD55 fails.\n"));
> -      gCardInfo.CardType = MMC_CARD;
> -    }
> -
> -    //Send appropriate command for the card type which got detected.
> -    if (gCardInfo.CardType == SD_CARD) {
> -      CmdArgument = ((UINTN *) &(gCardInfo.OCRData))[0];
> -
> -      //Set HCS bit.
> -      if (SDCmd8Supported) {
> -        CmdArgument |= HCS;
> -      }
> -
> -      Status = SendCmd (ACMD41, ACMD41_INT_EN, CmdArgument);
> -      if (EFI_ERROR(Status)) {
> -        DEBUG ((EFI_D_INFO, "ACMD41 fails.\n"));
> -        return Status;
> -      }
> -      ((UINT32 *) &(gCardInfo.OCRData))[0] = MmioRead32 (MMCHS_RSP10);
> -      DEBUG ((EFI_D_INFO, "SD card detected. ACMD41 OCR: %x\n", ((UINT32 *) &(gCardInfo.OCRData))[0]));
> -    } else if (gCardInfo.CardType == MMC_CARD) {
> -      CmdArgument = 0;
> -      Status = SendCmd (CMD1, CMD1_INT_EN, CmdArgument);
> -      if (EFI_ERROR(Status)) {
> -        DEBUG ((EFI_D_INFO, "CMD1 fails.\n"));
> -        return Status;
> -      }
> -      Response = MmioRead32 (MMCHS_RSP10);
> -      DEBUG ((EFI_D_INFO, "MMC card detected.. CMD1 response: %x\n", Response));
> -
> -      //NOTE: For now, I am skipping this since I only have an SD card.
> -      //Compare card OCR and host OCR (Section 22.6.1.3.2.4)
> -      return EFI_UNSUPPORTED; //For now, MMC is not supported.
> -    }
> -
> -    //Poll the card until it is out of its power-up sequence.
> -    if (gCardInfo.OCRData.Busy == 1) {
> -
> -      if (SDCmd8Supported) {
> -        gCardInfo.CardType = SD_CARD_2;
> -      }
> -
> -      //Card is ready. Check CCS (Card capacity status) bit (bit#30).
> -      //SD 2.0 standard card will response with CCS 0, SD high capacity card will respond with CCS 1.
> -      if (gCardInfo.OCRData.AccessMode & BIT1) {
> -        gCardInfo.CardType = SD_CARD_2_HIGH;
> -        DEBUG ((EFI_D_INFO, "High capacity card.\n"));
> -      } else {
> -        DEBUG ((EFI_D_INFO, "Standard capacity card.\n"));
> -      }
> -
> -      break;
> -    }
> -
> -    gBS->Stall(1000);
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    DEBUG ((EFI_D_ERROR, "Timeout error. RetryCount: %d\n", RetryCount));
> -    return EFI_TIMEOUT;
> -  }
> -
> -  //Read CID data.
> -  CmdArgument = 0;
> -  Status = SendCmd (CMD2, CMD2_INT_EN, CmdArgument);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "CMD2 fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  DEBUG ((EFI_D_INFO, "CMD2 response: %x %x %x %x\n", MmioRead32 (MMCHS_RSP10), MmioRead32 (MMCHS_RSP32), MmioRead32 (MMCHS_RSP54), MmioRead32 (MMCHS_RSP76)));
> -
> -  //Parse CID register data.
> -  ParseCardCIDData(MmioRead32 (MMCHS_RSP10), MmioRead32 (MMCHS_RSP32), MmioRead32 (MMCHS_RSP54), MmioRead32 (MMCHS_RSP76));
> -
> -  //Read RCA
> -  CmdArgument = 0;
> -  Status = SendCmd (CMD3, CMD3_INT_EN, CmdArgument);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "CMD3 fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  //Set RCA for the detected card. RCA is CMD3 response.
> -  gCardInfo.RCA = (MmioRead32 (MMCHS_RSP10) >> 16);
> -  DEBUG ((EFI_D_INFO, "CMD3 response: RCA %x\n", gCardInfo.RCA));
> -
> -  //MMC Bus setting change after card identification.
> -  MmioAnd32 (MMCHS_CON, ~OD);
> -  MmioOr32 (MMCHS_HCTL, SDVS_3_0_V);
> -  UpdateMMCHSClkFrequency(CLKD_400KHZ); //Set the clock frequency to 400KHz.
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -EFI_STATUS
> -GetCardSpecificData (
> -  VOID
> -  )
> -{
> -  EFI_STATUS Status;
> -  UINTN      CmdArgument;
> -
> -  //Send CMD9 to retrieve CSD.
> -  CmdArgument = gCardInfo.RCA << 16;
> -  Status = SendCmd (CMD9, CMD9_INT_EN, CmdArgument);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "CMD9 fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  //Populate 128-bit CSD register data.
> -  ((UINT32 *)&(gCardInfo.CSDData))[0] = MmioRead32 (MMCHS_RSP10);
> -  ((UINT32 *)&(gCardInfo.CSDData))[1] = MmioRead32 (MMCHS_RSP32);
> -  ((UINT32 *)&(gCardInfo.CSDData))[2] = MmioRead32 (MMCHS_RSP54);
> -  ((UINT32 *)&(gCardInfo.CSDData))[3] = MmioRead32 (MMCHS_RSP76);
> -
> -  DEBUG ((EFI_D_INFO, "CMD9 response: %x %x %x %x\n", MmioRead32 (MMCHS_RSP10), MmioRead32 (MMCHS_RSP32), MmioRead32 (MMCHS_RSP54), MmioRead32 (MMCHS_RSP76)));
> -
> -  //Calculate total number of blocks and max. data transfer rate supported by the detected card.
> -  GetCardConfigurationData();
> -
> -  return Status;
> -}
> -
> -
> -EFI_STATUS
> -PerformCardConfiguration (
> -  VOID
> -  )
> -{
> -  UINTN      CmdArgument = 0;
> -  EFI_STATUS Status;
> -
> -  //Send CMD7
> -  CmdArgument = gCardInfo.RCA << 16;
> -  Status = SendCmd (CMD7, CMD7_INT_EN, CmdArgument);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "CMD7 fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  if ((gCardInfo.CardType != UNKNOWN_CARD) && (gCardInfo.CardType != MMC_CARD)) {
> -    // We could read SCR register, but SD Card Phys spec stats any SD Card shall
> -    // set SCR.SD_BUS_WIDTHS to support 4-bit mode, so why bother?
> -
> -    // Send ACMD6 (application specific commands must be prefixed with CMD55)
> -    Status = SendCmd (CMD55, CMD55_INT_EN, CmdArgument);
> -    if (!EFI_ERROR (Status)) {
> -      // set device into 4-bit data bus mode
> -      Status = SendCmd (ACMD6, ACMD6_INT_EN, 0x2);
> -      if (!EFI_ERROR (Status)) {
> -        // Set host controler into 4-bit mode
> -        MmioOr32 (MMCHS_HCTL, DTW_4_BIT);
> -        DEBUG ((EFI_D_INFO, "SD Memory Card set to 4-bit mode\n"));
> -      }
> -    }
> -  }
> -
> -  //Send CMD16 to set the block length
> -  CmdArgument = gCardInfo.BlockSize;
> -  Status = SendCmd (CMD16, CMD16_INT_EN, CmdArgument);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "CMD16 fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  //Change MMCHS clock frequency to what detected card can support.
> -  UpdateMMCHSClkFrequency(gCardInfo.ClockFrequencySelect);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -EFI_STATUS
> -ReadBlockData (
> -  IN  EFI_BLOCK_IO_PROTOCOL       *This,
> -  OUT VOID                        *Buffer
> -  )
> -{
> -  UINTN MmcStatus;
> -  UINTN *DataBuffer = Buffer;
> -  UINTN DataSize = This->Media->BlockSize/4;
> -  UINTN Count;
> -  UINTN RetryCount = 0;
> -
> -  //Check controller status to make sure there is no error.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    do {
> -      //Read Status.
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while(MmcStatus == 0);
> -
> -    //Check if Buffer read ready (BRR) bit is set?
> -    if (MmcStatus & BRR) {
> -
> -      //Clear BRR bit
> -      MmioOr32 (MMCHS_STAT, BRR);
> -
> -      //Read block worth of data.
> -      for (Count = 0; Count < DataSize; Count++) {
> -        *DataBuffer++ = MmioRead32 (MMCHS_DATA);
> -      }
> -      break;
> -    }
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -EFI_STATUS
> -WriteBlockData (
> -  IN  EFI_BLOCK_IO_PROTOCOL       *This,
> -  OUT VOID                        *Buffer
> -  )
> -{
> -  UINTN MmcStatus;
> -  UINTN *DataBuffer = Buffer;
> -  UINTN DataSize = This->Media->BlockSize/4;
> -  UINTN Count;
> -  UINTN RetryCount = 0;
> -
> -  //Check controller status to make sure there is no error.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    do {
> -      //Read Status.
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while(MmcStatus == 0);
> -
> -    //Check if Buffer write ready (BWR) bit is set?
> -    if (MmcStatus & BWR) {
> -
> -      //Clear BWR bit
> -      MmioOr32 (MMCHS_STAT, BWR);
> -
> -      //Write block worth of data.
> -      for (Count = 0; Count < DataSize; Count++) {
> -        MmioWrite32 (MMCHS_DATA, *DataBuffer++);
> -      }
> -
> -      break;
> -    }
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -DmaBlocks (
> -  IN EFI_BLOCK_IO_PROTOCOL        *This,
> -  IN  UINTN                       Lba,
> -  IN OUT VOID                     *Buffer,
> -  IN  UINTN                       BlockCount,
> -  IN  OPERATION_TYPE              OperationType
> -  )
> -{
> -  EFI_STATUS            Status;
> -  UINTN                 DmaSize = 0;
> -  UINTN                 Cmd = 0;
> -  UINTN                 CmdInterruptEnable;
> -  UINTN                 CmdArgument;
> -  VOID                  *BufferMap;
> -  EFI_PHYSICAL_ADDRESS  BufferAddress;
> -  OMAP_DMA4             Dma4;
> -  DMA_MAP_OPERATION     DmaOperation;
> -  EFI_STATUS            MmcStatus;
> -  UINTN                 RetryCount = 0;
> -
> -CpuDeadLoop ();
> -  // Map passed in buffer for DMA xfer
> -  DmaSize = BlockCount * This->Media->BlockSize;
> -  Status = DmaMap (DmaOperation, Buffer, &DmaSize, &BufferAddress, &BufferMap);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  ZeroMem (&DmaOperation, sizeof (DMA_MAP_OPERATION));
> -
> -
> -  Dma4.DataType = 2;                      // DMA4_CSDPi[1:0]   32-bit elements from MMCHS_DATA
> -
> -  Dma4.SourceEndiansim = 0;               // DMA4_CSDPi[21]
> -
> -  Dma4.DestinationEndianism = 0;          // DMA4_CSDPi[19]
> -
> -  Dma4.SourcePacked = 0;                  // DMA4_CSDPi[6]
> -
> -  Dma4.DestinationPacked = 0;             // DMA4_CSDPi[13]
> -
> -  Dma4.NumberOfElementPerFrame = This->Media->BlockSize/4; // DMA4_CENi  (TRM 4K is optimum value)
> -
> -  Dma4.NumberOfFramePerTransferBlock = BlockCount;         // DMA4_CFNi
> -
> -  Dma4.ReadPriority = 0;                  // DMA4_CCRi[6]      Low priority read
> -
> -  Dma4.WritePriority = 0;                 // DMA4_CCRi[23]     Prefetech disabled
> -
> -
> -  //Populate the command information based on the operation type.
> -  if (OperationType == READ) {
> -    Cmd = CMD18; //Multiple block read
> -    CmdInterruptEnable = CMD18_INT_EN;
> -    DmaOperation = MapOperationBusMasterCommonBuffer;
> -
> -    Dma4.ReadPortAccessType =0 ;            // DMA4_CSDPi[8:7]   Can not burst MMCHS_DATA reg
> -
> -    Dma4.WritePortAccessType = 3;           // DMA4_CSDPi[15:14] Memory burst 16x32
> -
> -    Dma4.WriteMode = 1;                     // DMA4_CSDPi[17:16] Write posted
> -
> -
> -
> -    Dma4.SourceStartAddress = MMCHS_DATA;                   // DMA4_CSSAi
> -
> -    Dma4.DestinationStartAddress = (UINT32)BufferAddress;   // DMA4_CDSAi
> -
> -    Dma4.SourceElementIndex = 1;                            // DMA4_CSEi
> -
> -    Dma4.SourceFrameIndex = 0x200;                          // DMA4_CSFi
> -
> -    Dma4.DestinationElementIndex = 1;                       // DMA4_CDEi
> -
> -    Dma4.DestinationFrameIndex = 0;                         // DMA4_CDFi
> -
> -
> -
> -    Dma4.ReadPortAccessMode = 0;            // DMA4_CCRi[13:12]  Always read MMCHS_DATA
> -
> -    Dma4.WritePortAccessMode = 1;           // DMA4_CCRi[15:14]  Post increment memory address
> -
> -    Dma4.ReadRequestNumber = 0x1e;          // DMA4_CCRi[4:0]    Syncro with MMCA_DMA_RX (61)
> -
> -    Dma4.WriteRequestNumber = 1;            // DMA4_CCRi[20:19]  Syncro upper 0x3e == 62 (one based)
> -
> -  } else if (OperationType == WRITE) {
> -    Cmd = CMD25; //Multiple block write
> -    CmdInterruptEnable = CMD25_INT_EN;
> -    DmaOperation = MapOperationBusMasterRead;
> -
> -    Dma4.ReadPortAccessType = 3;            // DMA4_CSDPi[8:7]   Memory burst 16x32
> -
> -    Dma4.WritePortAccessType = 0;           // DMA4_CSDPi[15:14] Can not burst MMCHS_DATA reg
> -
> -    Dma4.WriteMode = 1;                     // DMA4_CSDPi[17:16] Write posted ???
> -
> -
> -
> -    Dma4.SourceStartAddress = (UINT32)BufferAddress;        // DMA4_CSSAi
> -
> -    Dma4.DestinationStartAddress = MMCHS_DATA;              // DMA4_CDSAi
> -
> -    Dma4.SourceElementIndex = 1;                            // DMA4_CSEi
> -
> -    Dma4.SourceFrameIndex = 0x200;                          // DMA4_CSFi
> -
> -    Dma4.DestinationElementIndex = 1;                       // DMA4_CDEi
> -
> -    Dma4.DestinationFrameIndex = 0;                         // DMA4_CDFi
> -
> -
> -
> -    Dma4.ReadPortAccessMode = 1;            // DMA4_CCRi[13:12]  Post increment memory address
> -
> -    Dma4.WritePortAccessMode = 0;           // DMA4_CCRi[15:14]  Always write MMCHS_DATA
> -
> -    Dma4.ReadRequestNumber = 0x1d;          // DMA4_CCRi[4:0]    Syncro with MMCA_DMA_TX (60)
> -
> -    Dma4.WriteRequestNumber = 1;            // DMA4_CCRi[20:19]  Syncro upper 0x3d == 61 (one based)
> -
> -  } else {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -
> -  EnableDmaChannel (2, &Dma4);
> -
> -
> -  //Set command argument based on the card access mode (Byte mode or Block mode)
> -  if (gCardInfo.OCRData.AccessMode & BIT1) {
> -    CmdArgument = Lba;
> -  } else {
> -    CmdArgument = Lba * This->Media->BlockSize;
> -  }
> -
> -  //Send Command.
> -  Status = SendCmd (Cmd, CmdInterruptEnable, CmdArgument);
> -  if (EFI_ERROR (Status)) {
> -    DEBUG ((EFI_D_ERROR, "CMD fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -    //Check for the Transfer completion.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    //Read Status
> -    do {
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while (MmcStatus == 0);
> -
> -    //Check if Transfer complete (TC) bit is set?
> -    if (MmcStatus & TC) {
> -      break;
> -    } else {
> -      DEBUG ((EFI_D_ERROR, "MmcStatus for TC: %x\n", MmcStatus));
> -      //Check if DEB, DCRC or DTO interrupt occured.
> -      if ((MmcStatus & DEB) | (MmcStatus & DCRC) | (MmcStatus & DTO)) {
> -        //There was an error during the data transfer.
> -
> -        //Set SRD bit to 1 and wait until it return to 0x0.
> -        MmioOr32 (MMCHS_SYSCTL, SRD);
> -        while((MmioRead32 (MMCHS_SYSCTL) & SRD) != 0x0);
> -
> -        DisableDmaChannel (2, DMA4_CSR_BLOCK, DMA4_CSR_ERR);
> -        DmaUnmap (BufferMap);
> -        return EFI_DEVICE_ERROR;
> -      }
> -    }
> -    RetryCount++;
> -  }
> -
> -  DisableDmaChannel (2, DMA4_CSR_BLOCK, DMA4_CSR_ERR);
> -  Status = DmaUnmap (BufferMap);
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    DEBUG ((EFI_D_ERROR, "TransferBlockData timed out.\n"));
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return Status;
> -}
> -
> -
> -EFI_STATUS
> -TransferBlock (
> -  IN EFI_BLOCK_IO_PROTOCOL        *This,
> -  IN  UINTN                       Lba,
> -  IN OUT VOID                     *Buffer,
> -  IN  OPERATION_TYPE              OperationType
> -  )
> -{
> -  EFI_STATUS Status;
> -  UINTN      MmcStatus;
> -  UINTN      RetryCount = 0;
> -  UINTN      Cmd = 0;
> -  UINTN      CmdInterruptEnable = 0;
> -  UINTN      CmdArgument = 0;
> -
> -
> -  //Populate the command information based on the operation type.
> -  if (OperationType == READ) {
> -    Cmd = CMD17; //Single block read
> -    CmdInterruptEnable = CMD18_INT_EN;
> -  } else if (OperationType == WRITE) {
> -    Cmd = CMD24; //Single block write
> -    CmdInterruptEnable = CMD24_INT_EN;
> -  }
> -
> -  //Set command argument based on the card access mode (Byte mode or Block mode)
> -  if (gCardInfo.OCRData.AccessMode & BIT1) {
> -    CmdArgument = Lba;
> -  } else {
> -    CmdArgument = Lba * This->Media->BlockSize;
> -  }
> -
> -  //Send Command.
> -  Status = SendCmd (Cmd, CmdInterruptEnable, CmdArgument);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "CMD fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  //Read or Write data.
> -  if (OperationType == READ) {
> -    Status = ReadBlockData (This, Buffer);
> -    if (EFI_ERROR(Status)) {
> -      DEBUG((EFI_D_ERROR, "ReadBlockData fails.\n"));
> -      return Status;
> -    }
> -  } else if (OperationType == WRITE) {
> -    Status = WriteBlockData (This, Buffer);
> -    if (EFI_ERROR(Status)) {
> -      DEBUG((EFI_D_ERROR, "WriteBlockData fails.\n"));
> -      return Status;
> -    }
> -  }
> -
> -  //Check for the Transfer completion.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    //Read Status
> -    do {
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while (MmcStatus == 0);
> -
> -    //Check if Transfer complete (TC) bit is set?
> -    if (MmcStatus & TC) {
> -      break;
> -    } else {
> -      DEBUG ((EFI_D_ERROR, "MmcStatus for TC: %x\n", MmcStatus));
> -      //Check if DEB, DCRC or DTO interrupt occured.
> -      if ((MmcStatus & DEB) | (MmcStatus & DCRC) | (MmcStatus & DTO)) {
> -        //There was an error during the data transfer.
> -
> -        //Set SRD bit to 1 and wait until it return to 0x0.
> -        MmioOr32 (MMCHS_SYSCTL, SRD);
> -        while((MmioRead32 (MMCHS_SYSCTL) & SRD) != 0x0);
> -
> -        return EFI_DEVICE_ERROR;
> -      }
> -    }
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    DEBUG ((EFI_D_ERROR, "TransferBlockData timed out.\n"));
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -BOOLEAN
> -CardPresent (
> -  VOID
> -  )
> -{
> -  EFI_STATUS  Status;
> -  UINT8       Data;
> -
> -  //
> -  // Card detect is a GPIO0 on the TPS65950
> -  //
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATAIN1), 1, &Data);
> -  if (EFI_ERROR (Status)) {
> -    return FALSE;
> -  }
> -
> -  if ((Data & CARD_DETECT_BIT) == CARD_DETECT_BIT) {
> -    // No Card present
> -    return FALSE;
> -  } else {
> -    return TRUE;
> -  }
> -}
> -
> -EFI_STATUS
> -DetectCard (
> -  VOID
> -  )
> -{
> -  EFI_STATUS    Status;
> -
> -  if (!CardPresent ()) {
> -    return EFI_NO_MEDIA;
> -  }
> -
> -  //Initialize MMC host controller clocks.
> -  Status = InitializeMMCHS ();
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "Initialize MMC host controller fails. Status: %x\n", Status));
> -    return Status;
> -  }
> -
> -  //Software reset of the MMCHS host controller.
> -  MmioWrite32 (MMCHS_SYSCONFIG, SOFTRESET);
> -  gBS->Stall(1000);
> -  while ((MmioRead32 (MMCHS_SYSSTATUS) & RESETDONE_MASK) != RESETDONE);
> -
> -  //Soft reset for all.
> -  MmioWrite32 (MMCHS_SYSCTL, SRA);
> -  gBS->Stall(1000);
> -  while ((MmioRead32 (MMCHS_SYSCTL) & SRA) != 0x0);
> -
> -  //Voltage capabilities initialization. Activate VS18 and VS30.
> -  MmioOr32 (MMCHS_CAPA, (VS30 | VS18));
> -
> -  //Wakeup configuration
> -  MmioOr32 (MMCHS_SYSCONFIG, ENAWAKEUP);
> -  MmioOr32 (MMCHS_HCTL, IWE);
> -
> -  //MMCHS Controller default initialization
> -  MmioOr32 (MMCHS_CON, (OD | DW8_1_4_BIT | CEATA_OFF));
> -
> -  MmioWrite32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_OFF));
> -
> -  //Enable internal clock
> -  MmioOr32 (MMCHS_SYSCTL, ICE);
> -
> -  //Set the clock frequency to 80KHz.
> -  UpdateMMCHSClkFrequency (CLKD_80KHZ);
> -
> -  //Enable SD bus power.
> -  MmioOr32 (MMCHS_HCTL, (SDBP_ON));
> -
> -  //Poll till SD bus power bit is set.
> -  while ((MmioRead32 (MMCHS_HCTL) & SDBP_MASK) != SDBP_ON);
> -
> -  //Card idenfication
> -  Status = PerformCardIdenfication ();
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "No MMC/SD card detected.\n"));
> -    return Status;
> -  }
> -
> -  //Get CSD (Card specific data) for the detected card.
> -  Status = GetCardSpecificData();
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  //Configure the card in data transfer mode.
> -  Status = PerformCardConfiguration();
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  //Patch the Media structure.
> -  gMMCHSMedia.LastBlock    = (gCardInfo.NumBlocks - 1);
> -  gMMCHSMedia.BlockSize    = gCardInfo.BlockSize;
> -  gMMCHSMedia.ReadOnly     = (MmioRead32 (GPIO1_BASE + GPIO_DATAIN) & BIT23) == BIT23;
> -  gMMCHSMedia.MediaPresent = TRUE;
> -  gMMCHSMedia.MediaId++;
> -
> -  DEBUG ((EFI_D_INFO, "SD Card Media Change on Handle 0x%08x\n", gImageHandle));
> -
> -  return Status;
> -}
> -
> -#define MAX_MMCHS_TRANSFER_SIZE  0x4000
> -
> -EFI_STATUS
> -SdReadWrite (
> -  IN EFI_BLOCK_IO_PROTOCOL    *This,
> -  IN  UINTN                   Lba,
> -  OUT VOID                    *Buffer,
> -  IN  UINTN                   BufferSize,
> -  IN  OPERATION_TYPE          OperationType
> -  )
> -{
> -  EFI_STATUS Status = EFI_SUCCESS;
> -  UINTN      RetryCount = 0;
> -  UINTN      BlockCount;
> -  UINTN      BytesToBeTranferedThisPass = 0;
> -  UINTN      BytesRemainingToBeTransfered;
> -  EFI_TPL    OldTpl;
> -
> -  BOOLEAN    Update;
> -
> -
> -
> -  Update               = FALSE;
> -
> -  if (gMediaChange) {
> -    Update = TRUE;
> -    Status = DetectCard  ();
> -    if (EFI_ERROR (Status)) {
> -      // We detected a removal
> -      gMMCHSMedia.MediaPresent = FALSE;
> -      gMMCHSMedia.LastBlock    = 0;
> -      gMMCHSMedia.BlockSize    = 512;  // Should be zero but there is a bug in DiskIo
> -      gMMCHSMedia.ReadOnly     = FALSE;
> -    }
> -    gMediaChange             = FALSE;
> -  } else if (!gMMCHSMedia.MediaPresent) {
> -    Status = EFI_NO_MEDIA;
> -    goto Done;
> -  }
> -
> -  if (Update) {
> -    DEBUG ((EFI_D_INFO, "SD Card ReinstallProtocolInterface ()\n"));
> -    gBS->ReinstallProtocolInterface (
> -          gImageHandle,
> -          &gEfiBlockIoProtocolGuid,
> -          &gBlockIo,
> -          &gBlockIo
> -          );
> -    return EFI_MEDIA_CHANGED;
> -  }
> -
> -  if (EFI_ERROR (Status)) {
> -    goto Done;
> -  }
> -
> -  if (Buffer == NULL) {
> -    Status = EFI_INVALID_PARAMETER;
> -    goto Done;
> -  }
> -
> -  if (Lba > This->Media->LastBlock) {
> -    Status = EFI_INVALID_PARAMETER;
> -    goto Done;
> -  }
> -
> -  if ((BufferSize % This->Media->BlockSize) != 0) {
> -    Status = EFI_BAD_BUFFER_SIZE;
> -    goto Done;
> -  }
> -
> -  //Check if the data lines are not in use.
> -  while ((RetryCount++ < MAX_RETRY_COUNT) && ((MmioRead32 (MMCHS_PSTATE) & DATI_MASK) != DATI_ALLOWED));
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    Status = EFI_TIMEOUT;
> -    goto Done;
> -  }
> -
> -  OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
> -
> -  BytesRemainingToBeTransfered = BufferSize;
> -  while (BytesRemainingToBeTransfered > 0) {
> -
> -    if (gMediaChange) {
> -      Status = EFI_NO_MEDIA;
> -      DEBUG ((EFI_D_INFO, "SdReadWrite() EFI_NO_MEDIA due to gMediaChange\n"));
> -      goto DoneRestoreTPL;
> -    }
> -
> -    // Turn OFF DMA path until it is debugged
> -    // BytesToBeTranferedThisPass = (BytesToBeTranferedThisPass >= MAX_MMCHS_TRANSFER_SIZE) ? MAX_MMCHS_TRANSFER_SIZE : BytesRemainingToBeTransfered;
> -    BytesToBeTranferedThisPass   = This->Media->BlockSize;
> -
> -    BlockCount = BytesToBeTranferedThisPass/This->Media->BlockSize;
> -
> -    if (BlockCount > 1) {
> -      Status = DmaBlocks (This, Lba, Buffer, BlockCount, OperationType);
> -    } else {
> -      //Transfer a block worth of data.
> -      Status = TransferBlock (This, Lba, Buffer, OperationType);
> -    }
> -
> -    if (EFI_ERROR(Status)) {
> -      DEBUG ((EFI_D_ERROR, "TransferBlockData fails. %x\n", Status));
> -      goto DoneRestoreTPL;
> -    }
> -
> -    BytesRemainingToBeTransfered -= BytesToBeTranferedThisPass;
> -    Lba    += BlockCount;
> -    Buffer = (UINT8 *)Buffer + This->Media->BlockSize;
> -  }
> -
> -DoneRestoreTPL:
> -
> -  gBS->RestoreTPL (OldTpl);
> -
> -Done:
> -
> -  return Status;
> -
> -}
> -
> -
> -/**
> -
> -  Reset the Block Device.
> -
> -
> -
> -  @param  This                 Indicates a pointer to the calling context.
> -
> -  @param  ExtendedVerification Driver may perform diagnostics on reset.
> -
> -
> -
> -  @retval EFI_SUCCESS          The device was reset.
> -
> -  @retval EFI_DEVICE_ERROR     The device is not functioning properly and could
> -
> -                               not be reset.
> -
> -
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -MMCHSReset (
> -  IN EFI_BLOCK_IO_PROTOCOL          *This,
> -  IN BOOLEAN                        ExtendedVerification
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> -
> -/**
> -
> -  Read BufferSize bytes from Lba into Buffer.
> -
> -
> -
> -  @param  This       Indicates a pointer to the calling context.
> -
> -  @param  MediaId    Id of the media, changes every time the media is replaced.
> -
> -  @param  Lba        The starting Logical Block Address to read from
> -
> -  @param  BufferSize Size of Buffer, must be a multiple of device block size.
> -
> -  @param  Buffer     A pointer to the destination buffer for the data. The caller is
> -
> -                     responsible for either having implicit or explicit ownership of the buffer.
> -
> -
> -
> -  @retval EFI_SUCCESS           The data was read correctly from the device.
> -
> -  @retval EFI_DEVICE_ERROR      The device reported an error while performing the read.
> -
> -  @retval EFI_NO_MEDIA          There is no media in the device.
> -
> -  @retval EFI_MEDIA_CHANGED     The MediaId does not matched the current device.
> -
> -  @retval EFI_BAD_BUFFER_SIZE   The Buffer was not a multiple of the block size of the device.
> -
> -  @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
> -
> -                                or the buffer is not on proper alignment.
> -
> -EFI_STATUS
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -MMCHSReadBlocks (
> -  IN EFI_BLOCK_IO_PROTOCOL          *This,
> -  IN UINT32                         MediaId,
> -  IN EFI_LBA                        Lba,
> -  IN UINTN                          BufferSize,
> -  OUT VOID                          *Buffer
> -  )
> -{
> -  EFI_STATUS Status;
> -
> -  //Perform Read operation.
> -  Status = SdReadWrite (This, (UINTN)Lba, Buffer, BufferSize, READ);
> -
> -  return Status;
> -
> -}
> -
> -
> -/**
> -
> -  Write BufferSize bytes from Lba into Buffer.
> -
> -
> -
> -  @param  This       Indicates a pointer to the calling context.
> -
> -  @param  MediaId    The media ID that the write request is for.
> -
> -  @param  Lba        The starting logical block address to be written. The caller is
> -
> -                     responsible for writing to only legitimate locations.
> -
> -  @param  BufferSize Size of Buffer, must be a multiple of device block size.
> -
> -  @param  Buffer     A pointer to the source buffer for the data.
> -
> -
> -
> -  @retval EFI_SUCCESS           The data was written correctly to the device.
> -
> -  @retval EFI_WRITE_PROTECTED   The device can not be written to.
> -
> -  @retval EFI_DEVICE_ERROR      The device reported an error while performing the write.
> -
> -  @retval EFI_NO_MEDIA          There is no media in the device.
> -
> -  @retval EFI_MEDIA_CHNAGED     The MediaId does not matched the current device.
> -
> -  @retval EFI_BAD_BUFFER_SIZE   The Buffer was not a multiple of the block size of the device.
> -
> -  @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
> -
> -                                or the buffer is not on proper alignment.
> -
> -
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -MMCHSWriteBlocks (
> -  IN EFI_BLOCK_IO_PROTOCOL          *This,
> -  IN UINT32                         MediaId,
> -  IN EFI_LBA                        Lba,
> -  IN UINTN                          BufferSize,
> -  IN VOID                           *Buffer
> -  )
> -{
> -  EFI_STATUS  Status;
> -
> -  //Perform write operation.
> -  Status = SdReadWrite (This, (UINTN)Lba, Buffer, BufferSize, WRITE);
> -
> -
> -  return Status;
> -
> -}
> -
> -
> -/**
> -
> -  Flush the Block Device.
> -
> -
> -
> -  @param  This              Indicates a pointer to the calling context.
> -
> -
> -
> -  @retval EFI_SUCCESS       All outstanding data was written to the device
> -
> -  @retval EFI_DEVICE_ERROR  The device reported an error while writting back the data
> -
> -  @retval EFI_NO_MEDIA      There is no media in the device.
> -
> -
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -MMCHSFlushBlocks (
> -  IN EFI_BLOCK_IO_PROTOCOL  *This
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> -
> -EFI_BLOCK_IO_PROTOCOL gBlockIo = {
> -  EFI_BLOCK_IO_INTERFACE_REVISION,   // Revision
> -  &gMMCHSMedia,                      // *Media
> -  MMCHSReset,                        // Reset
> -  MMCHSReadBlocks,                   // ReadBlocks
> -  MMCHSWriteBlocks,                  // WriteBlocks
> -  MMCHSFlushBlocks                   // FlushBlocks
> -};
> -
> -
> -/**
> -
> -  Timer callback to convert card present hardware into a boolean that indicates
> -
> -  a media change event has happened. If you just check the GPIO you could see
> -
> -  card 1 and then check again after card 1 was removed and card 2 was inserted
> -
> -  and you would still see media present. Thus you need the timer tick to catch
> -
> -  the toggle event.
> -
> -
> -
> -  @param  Event                 Event whose notification function is being invoked.
> -
> -  @param  Context               The pointer to the notification function's context,
> -
> -                                which is implementation-dependent. Not used.
> -
> -
> -
> -**/
> -VOID
> -EFIAPI
> -TimerCallback (
> -  IN  EFI_EVENT   Event,
> -  IN  VOID        *Context
> -  )
> -{
> -  BOOLEAN Present;
> -
> -  Present = CardPresent ();
> -  if (gMMCHSMedia.MediaPresent) {
> -    if (!Present && !gMediaChange) {
> -      gMediaChange = TRUE;
> -    }
> -  } else {
> -    if (Present && !gMediaChange) {
> -      gMediaChange = TRUE;
> -    }
> -  }
> -}
> -
> -
> -EFI_STATUS
> -EFIAPI
> -MMCHSInitialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_STATUS  Status;
> -
> -  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  ZeroMem (&gCardInfo, sizeof (CARD_INFO));
> -
> -  Status = gBS->CreateEvent (EVT_TIMER | EVT_NOTIFY_SIGNAL, TPL_CALLBACK, TimerCallback, NULL, &gTimerEvent);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  Status = gBS->SetTimer (gTimerEvent, TimerPeriodic, FixedPcdGet32 (PcdMmchsTimerFreq100NanoSeconds));
> -  ASSERT_EFI_ERROR (Status);
> -
> -  //Publish BlockIO.
> -  Status = gBS->InstallMultipleProtocolInterfaces (
> -                  &ImageHandle,
> -                  &gEfiBlockIoProtocolGuid,    &gBlockIo,
> -                  &gEfiDevicePathProtocolGuid, &gMmcHsDevicePath,
> -                  NULL
> -                  );
> -  return Status;
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h b/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h
> deleted file mode 100644
> index 06960a3bd6ce..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h
> +++ /dev/null
> @@ -1,175 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 _MMCHS_H_
> -#define _MMCHS_H_
> -
> -#include <Uefi.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/OmapLib.h>
> -#include <Library/OmapDmaLib.h>
> -#include <Library/DmaLib.h>
> -
> -#include <Protocol/EmbeddedExternalDevice.h>
> -#include <Protocol/BlockIo.h>
> -#include <Protocol/DevicePath.h>
> -
> -#include <Omap3530/Omap3530.h>
> -#include <TPS65950.h>
> -
> -#define MAX_RETRY_COUNT  (100*5)
> -
> -#define HCS               BIT30 //Host capacity support/1 = Supporting high capacity
> -#define CCS               BIT30 //Card capacity status/1 = High capacity card
> -typedef struct {
> -  UINT32  Reserved0:   7; // 0
> -  UINT32  V170_V195:   1; // 1.70V - 1.95V
> -  UINT32  V200_V260:   7; // 2.00V - 2.60V
> -  UINT32  V270_V360:   9; // 2.70V - 3.60V
> -  UINT32  RESERVED_1:  5; // Reserved
> -  UINT32  AccessMode:  2; // 00b (byte mode), 10b (sector mode)
> -  UINT32  Busy:        1; // This bit is set to LOW if the card has not finished the power up routine
> -}OCR;
> -
> -typedef struct {
> -  UINT32  NOT_USED;   // 1 [0:0]
> -  UINT32  CRC;        // CRC7 checksum [7:1]
> -  UINT32  MDT;        // Manufacturing date [19:8]
> -  UINT32  RESERVED_1; // Reserved [23:20]
> -  UINT32  PSN;        // Product serial number [55:24]
> -  UINT8   PRV;        // Product revision [63:56]
> -  UINT8   PNM[5];     // Product name [64:103]
> -  UINT16  OID;        // OEM/Application ID [119:104]
> -  UINT8   MID;        // Manufacturer ID [127:120]
> -}CID;
> -
> -typedef struct {
> -  UINT8   NOT_USED:           1; // Not used, always 1 [0:0]
> -  UINT8   CRC:                7; // CRC [7:1]
> -
> -  UINT8   RESERVED_1:         2; // Reserved [9:8]
> -  UINT8   FILE_FORMAT:        2; // File format [11:10]
> -  UINT8   TMP_WRITE_PROTECT:  1; // Temporary write protection [12:12]
> -  UINT8   PERM_WRITE_PROTECT: 1; // Permanent write protection [13:13]
> -  UINT8   COPY:               1; // Copy flag (OTP) [14:14]
> -  UINT8   FILE_FORMAT_GRP:    1; // File format group [15:15]
> -
> -  UINT16  RESERVED_2:         5; // Reserved [20:16]
> -  UINT16  WRITE_BL_PARTIAL:   1; // Partial blocks for write allowed [21:21]
> -  UINT16  WRITE_BL_LEN:       4; // Max. write data block length [25:22]
> -  UINT16  R2W_FACTOR:         3; // Write speed factor [28:26]
> -  UINT16  RESERVED_3:         2; // Reserved [30:29]
> -  UINT16  WP_GRP_ENABLE:      1; // Write protect group enable [31:31]
> -
> -  UINT32  WP_GRP_SIZE:        7; // Write protect group size [38:32]
> -  UINT32  SECTOR_SIZE:        7; // Erase sector size [45:39]
> -  UINT32  ERASE_BLK_EN:       1; // Erase single block enable [46:46]
> -  UINT32  C_SIZE_MULT:        3; // Device size multiplier [49:47]
> -  UINT32  VDD_W_CURR_MAX:     3; // Max. write current @ VDD max [52:50]
> -  UINT32  VDD_W_CURR_MIN:     3; // Max. write current @ VDD min [55:53]
> -  UINT32  VDD_R_CURR_MAX:     3; // Max. read current @ VDD max [58:56]
> -  UINT32  VDD_R_CURR_MIN:     3; // Max. read current @ VDD min [61:59]
> -  UINT32  C_SIZELow2:         2; // Device size [63:62]
> -
> -  UINT32  C_SIZEHigh10:       10;// Device size [73:64]
> -  UINT32  RESERVED_4:         2; // Reserved [75:74]
> -  UINT32  DSR_IMP:            1; // DSR implemented [76:76]
> -  UINT32  READ_BLK_MISALIGN:  1; // Read block misalignment [77:77]
> -  UINT32  WRITE_BLK_MISALIGN: 1; // Write block misalignment [78:78]
> -  UINT32  READ_BL_PARTIAL:    1; // Partial blocks for read allowed [79:79]
> -  UINT32  READ_BL_LEN:        4; // Max. read data block length [83:80]
> -  UINT32  CCC:                12;// Card command classes [95:84]
> -
> -  UINT8   TRAN_SPEED          ;  // Max. bus clock frequency [103:96]
> -  UINT8   NSAC                ;  // Data read access-time 2 in CLK cycles (NSAC*100) [111:104]
> -  UINT8   TAAC                ;  // Data read access-time 1 [119:112]
> -
> -  UINT8   RESERVED_5:         6; // Reserved [125:120]
> -  UINT8   CSD_STRUCTURE:      2; // CSD structure [127:126]
> -}CSD;
> -
> -typedef struct {
> -  UINT8   NOT_USED:           1; // Not used, always 1 [0:0]
> -  UINT8   CRC:                7; // CRC [7:1]
> -  UINT8   RESERVED_1:         2; // Reserved [9:8]
> -  UINT8   FILE_FORMAT:        2; // File format [11:10]
> -  UINT8   TMP_WRITE_PROTECT:  1; // Temporary write protection [12:12]
> -  UINT8   PERM_WRITE_PROTECT: 1; // Permanent write protection [13:13]
> -  UINT8   COPY:               1; // Copy flag (OTP) [14:14]
> -  UINT8   FILE_FORMAT_GRP:    1; // File format group [15:15]
> -  UINT16  RESERVED_2:         5; // Reserved [20:16]
> -  UINT16  WRITE_BL_PARTIAL:   1; // Partial blocks for write allowed [21:21]
> -  UINT16  WRITE_BL_LEN:       4; // Max. write data block length [25:22]
> -  UINT16  R2W_FACTOR:         3; // Write speed factor [28:26]
> -  UINT16  RESERVED_3:         2; // Reserved [30:29]
> -  UINT16  WP_GRP_ENABLE:      1; // Write protect group enable [31:31]
> -  UINT16  WP_GRP_SIZE:        7; // Write protect group size [38:32]
> -  UINT16  SECTOR_SIZE:        7; // Erase sector size [45:39]
> -  UINT16  ERASE_BLK_EN:       1; // Erase single block enable [46:46]
> -  UINT16  RESERVED_4:         1; // Reserved [47:47]
> -  UINT32  C_SIZELow16:        16;// Device size [69:48]
> -  UINT32  C_SIZEHigh6:        6; // Device size [69:48]
> -  UINT32  RESERVED_5:         6; // Reserved [75:70]
> -  UINT32  DSR_IMP:            1; // DSR implemented [76:76]
> -  UINT32  READ_BLK_MISALIGN:  1; // Read block misalignment [77:77]
> -  UINT32  WRITE_BLK_MISALIGN: 1; // Write block misalignment [78:78]
> -  UINT32  READ_BL_PARTIAL:    1; // Partial blocks for read allowed [79:79]
> -  UINT16  READ_BL_LEN:        4; // Max. read data block length [83:80]
> -  UINT16  CCC:                12;// Card command classes [95:84]
> -  UINT8   TRAN_SPEED          ;  // Max. bus clock frequency [103:96]
> -  UINT8   NSAC                ;  // Data read access-time 2 in CLK cycles (NSAC*100) [111:104]
> -  UINT8   TAAC                ;  // Data read access-time 1 [119:112]
> -  UINT8   RESERVED_6:         6; // 0 [125:120]
> -  UINT8   CSD_STRUCTURE:      2; // CSD structure [127:126]
> -}CSD_SDV2;
> -
> -typedef enum {
> -  UNKNOWN_CARD,
> -  MMC_CARD,              //MMC card
> -  SD_CARD,               //SD 1.1 card
> -  SD_CARD_2,             //SD 2.0 or above standard card
> -  SD_CARD_2_HIGH         //SD 2.0 or above high capacity card
> -} CARD_TYPE;
> -
> -typedef enum {
> -  READ,
> -  WRITE
> -} OPERATION_TYPE;
> -
> -typedef struct  {
> -  UINT16    RCA;
> -  UINTN     BlockSize;
> -  UINTN     NumBlocks;
> -  UINTN     ClockFrequencySelect;
> -  CARD_TYPE CardType;
> -  OCR       OCRData;
> -  CID       CIDData;
> -  CSD       CSDData;
> -} CARD_INFO;
> -
> -EFI_STATUS
> -DetectCard (
> -  VOID
> -  );
> -
> -extern EFI_BLOCK_IO_PROTOCOL gBlockIo;
> -
> -#endif
> diff --git a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf b/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf
> deleted file mode 100644
> index e40abdc73c4d..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = MMCHS
> -  FILE_GUID                      = 100c2cfa-b586-4198-9b4c-1683d195b1da
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = MMCHSInitialize
> -
> -
> -[Sources.common]
> -  MMCHS.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  PcdLib
> -  UefiLib
> -  UefiDriverEntryPoint
> -  MemoryAllocationLib
> -  IoLib
> -  OmapDmaLib
> -  DmaLib
> -
> -[Guids]
> -
> -[Protocols]
> -  gEfiBlockIoProtocolGuid
> -  gEfiCpuArchProtocolGuid
> -  gEfiDevicePathProtocolGuid
> -  gEmbeddedExternalDeviceProtocolGuid
> -
> -[Pcd]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base
> -  gOmap35xxTokenSpaceGuid.PcdMmchsTimerFreq100NanoSeconds
> -
> -[depex]
> -  gEmbeddedExternalDeviceProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c b/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c
> deleted file mode 100755
> index ad922a18e348..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c
> +++ /dev/null
> @@ -1,677 +0,0 @@
> -/** @file
> -*
> -*  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
> -*  Copyright (c) 2011 - 2014, 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 "MmcHostDxe.h"
> -
> -EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
> -UINT8                      mMaxDataTransferRate = 0;
> -UINT32                     mRca = 0;
> -BOOLEAN                    mBitModeSet = FALSE;
> -
> -
> -typedef struct {
> -  VENDOR_DEVICE_PATH  Mmc;
> -  EFI_DEVICE_PATH     End;
> -} MMCHS_DEVICE_PATH;
> -
> -MMCHS_DEVICE_PATH gMMCDevicePath = {
> -  {
> -    {
> -      HARDWARE_DEVICE_PATH,
> -      HW_VENDOR_DP,
> -      { (UINT8)(sizeof(VENDOR_DEVICE_PATH)), (UINT8)((sizeof(VENDOR_DEVICE_PATH)) >> 8) },
> -    },
> -    { 0xb615f1f5, 0x5088, 0x43cd, { 0x80, 0x9c, 0xa1, 0x6e, 0x52, 0x48, 0x7d, 0x00 } }
> -  },
> -  {
> -    END_DEVICE_PATH_TYPE,
> -    END_ENTIRE_DEVICE_PATH_SUBTYPE,
> -    { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0 }
> -  }
> -};
> -
> -BOOLEAN
> -IgnoreCommand (
> -  UINT32 Command
> -  )
> -{
> -  switch(Command) {
> -    case MMC_CMD12:
> -      return TRUE;
> -    case MMC_CMD13:
> -      return TRUE;
> -    default:
> -      return FALSE;
> -  }
> -}
> -
> -UINT32
> -TranslateCommand (
> -  UINT32 Command
> -  )
> -{
> -  UINT32 Translation;
> -
> -  switch(Command) {
> -    case MMC_CMD2:
> -      Translation = CMD2;
> -      break;
> -    case MMC_CMD3:
> -      Translation = CMD3;
> -      break;
> -    /*case MMC_CMD6:
> -      Translation = CMD6;
> -      break;*/
> -    case MMC_CMD7:
> -      Translation = CMD7;
> -      break;
> -    case MMC_CMD8:
> -      Translation = CMD8;
> -      break;
> -    case MMC_CMD9:
> -      Translation = CMD9;
> -      break;
> -    /*case MMC_CMD12:
> -      Translation = CMD12;
> -      break;
> -    case MMC_CMD13:
> -      Translation = CMD13;
> -      break;*/
> -    case MMC_CMD16:
> -      Translation = CMD16;
> -      break;
> -    case MMC_CMD17:
> -      Translation = 0x113A0014;//CMD17;
> -      break;
> -    case MMC_CMD24:
> -      Translation = CMD24 | 4;
> -      break;
> -    case MMC_CMD55:
> -      Translation = CMD55;
> -      break;
> -    case MMC_ACMD41:
> -      Translation = ACMD41;
> -      break;
> -    default:
> -      Translation = Command;
> -  }
> -
> -  return Translation;
> -}
> -
> -VOID
> -CalculateCardCLKD (
> -  UINTN *ClockFrequencySelect
> -  )
> -{
> -  UINTN    TransferRateValue = 0;
> -  UINTN    TimeValue = 0 ;
> -  UINTN    Frequency = 0;
> -
> -  DEBUG ((DEBUG_BLKIO, "CalculateCardCLKD()\n"));
> -
> -  // For SD Cards  we would need to send CMD6 to set
> -  // speeds abouve 25MHz. High Speed mode 50 MHz and up
> -
> -  // Calculate Transfer rate unit (Bits 2:0 of TRAN_SPEED)
> -  switch (mMaxDataTransferRate & 0x7) { // 2
> -    case 0:
> -      TransferRateValue = 100 * 1000;
> -      break;
> -
> -    case 1:
> -      TransferRateValue = 1 * 1000 * 1000;
> -      break;
> -
> -    case 2:
> -      TransferRateValue = 10 * 1000 * 1000;
> -      break;
> -
> -    case 3:
> -      TransferRateValue = 100 * 1000 * 1000;
> -      break;
> -
> -    default:
> -      DEBUG ((DEBUG_BLKIO, "Invalid parameter.\n"));
> -      ASSERT(FALSE);
> -      return;
> -  }
> -
> -  //Calculate Time value (Bits 6:3 of TRAN_SPEED)
> -  switch ((mMaxDataTransferRate >> 3) & 0xF) { // 6
> -    case 1:
> -      TimeValue = 10;
> -      break;
> -
> -    case 2:
> -      TimeValue = 12;
> -      break;
> -
> -    case 3:
> -      TimeValue = 13;
> -      break;
> -
> -    case 4:
> -      TimeValue = 15;
> -      break;
> -
> -    case 5:
> -      TimeValue = 20;
> -      break;
> -
> -    case 6:
> -      TimeValue = 25;
> -      break;
> -
> -    case 7:
> -      TimeValue = 30;
> -      break;
> -
> -    case 8:
> -      TimeValue = 35;
> -      break;
> -
> -    case 9:
> -      TimeValue = 40;
> -      break;
> -
> -    case 10:
> -      TimeValue = 45;
> -      break;
> -
> -    case 11:
> -      TimeValue = 50;
> -      break;
> -
> -    case 12:
> -      TimeValue = 55;
> -      break;
> -
> -    case 13:
> -      TimeValue = 60;
> -      break;
> -
> -    case 14:
> -      TimeValue = 70;
> -      break;
> -
> -    case 15:
> -      TimeValue = 80;
> -      break;
> -
> -    default:
> -      DEBUG ((DEBUG_BLKIO, "Invalid parameter.\n"));
> -      ASSERT(FALSE);
> -      return;
> -  }
> -
> -  Frequency = TransferRateValue * TimeValue/10;
> -
> -  // Calculate Clock divider value to program in MMCHS_SYSCTL[CLKD] field.
> -  *ClockFrequencySelect = ((MMC_REFERENCE_CLK/Frequency) + 1);
> -
> -  DEBUG ((DEBUG_BLKIO, "mMaxDataTransferRate: 0x%x, Frequency: %d KHz, ClockFrequencySelect: %x\n", mMaxDataTransferRate, Frequency/1000, *ClockFrequencySelect));
> -}
> -
> -VOID
> -UpdateMMCHSClkFrequency (
> -  UINTN NewCLKD
> -  )
> -{
> -  DEBUG ((DEBUG_BLKIO, "UpdateMMCHSClkFrequency()\n"));
> -
> -  // Set Clock enable to 0x0 to not provide the clock to the card
> -  MmioAnd32 (MMCHS_SYSCTL, ~CEN);
> -
> -  // Set new clock frequency.
> -  MmioAndThenOr32 (MMCHS_SYSCTL, ~CLKD_MASK, NewCLKD << 6);
> -
> -  // Poll till Internal Clock Stable
> -  while ((MmioRead32 (MMCHS_SYSCTL) & ICS_MASK) != ICS);
> -
> -  // Set Clock enable to 0x1 to provide the clock to the card
> -  MmioOr32 (MMCHS_SYSCTL, CEN);
> -}
> -
> -EFI_STATUS
> -InitializeMMCHS (
> -  VOID
> -  )
> -{
> -  UINT8      Data;
> -  EFI_STATUS Status;
> -
> -  DEBUG ((DEBUG_BLKIO, "InitializeMMCHS()\n"));
> -
> -  // Select Device group to belong to P1 device group in Power IC.
> -  Data = DEV_GRP_P1;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEV_GRP), 1, &Data);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  // Configure voltage regulator for MMC1 in Power IC to output 3.0 voltage.
> -  Data = VSEL_3_00V;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEDICATED_REG), 1, &Data);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  // After ramping up voltage, set VDDS stable bit to indicate that voltage level is stable.
> -  MmioOr32 (CONTROL_PBIAS_LITE, (PBIASLITEVMODE0 | PBIASLITEPWRDNZ0 | PBIASSPEEDCTRL0 | PBIASLITEVMODE1 | PBIASLITEWRDNZ1));
> -
> -  // Enable WP GPIO
> -  MmioAndThenOr32 (GPIO1_BASE + GPIO_OE, ~BIT23, BIT23);
> -
> -  // Enable Card Detect
> -  Data = CARD_DETECT_ENABLE;
> -  gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, TPS65950_GPIO_CTRL), 1, &Data);
> -
> -  return Status;
> -}
> -
> -BOOLEAN
> -MMCIsCardPresent (
> -  IN EFI_MMC_HOST_PROTOCOL     *This
> -  )
> -{
> -  EFI_STATUS  Status;
> -  UINT8       Data;
> -
> -  //
> -  // Card detect is a GPIO0 on the TPS65950
> -  //
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATAIN1), 1, &Data);
> -  if (EFI_ERROR (Status)) {
> -    return FALSE;
> -  }
> -
> -  return !(Data & CARD_DETECT_BIT);
> -}
> -
> -BOOLEAN
> -MMCIsReadOnly (
> -  IN EFI_MMC_HOST_PROTOCOL     *This
> -  )
> -{
> -  /* Note:
> -   * On our BeagleBoard the SD card WP pin is always read as TRUE.
> -   * Probably something wrong with GPIO configuration.
> -   * BeagleBoard-xM uses microSD cards so there is no write protect at all.
> -   * Hence commenting out SD card WP pin read status.
> -   */
> -  //return (MmioRead32 (GPIO1_BASE + GPIO_DATAIN) & BIT23) == BIT23;
> -  return 0;
> -
> -}
> -
> -// TODO
> -EFI_GUID mPL180MciDevicePathGuid = EFI_CALLER_ID_GUID;
> -
> -EFI_STATUS
> -MMCBuildDevicePath (
> -  IN EFI_MMC_HOST_PROTOCOL     *This,
> -  IN EFI_DEVICE_PATH_PROTOCOL  **DevicePath
> -  )
> -{
> -  EFI_DEVICE_PATH_PROTOCOL    *NewDevicePathNode;
> -
> -  NewDevicePathNode = CreateDeviceNode(HARDWARE_DEVICE_PATH,HW_VENDOR_DP,sizeof(VENDOR_DEVICE_PATH));
> -  CopyGuid(&((VENDOR_DEVICE_PATH*)NewDevicePathNode)->Guid,&mPL180MciDevicePathGuid);
> -  *DevicePath = NewDevicePathNode;
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -MMCSendCommand (
> -  IN EFI_MMC_HOST_PROTOCOL     *This,
> -  IN MMC_CMD                   MmcCmd,
> -  IN UINT32                    Argument
> -  )
> -{
> -  UINTN MmcStatus;
> -  UINTN RetryCount = 0;
> -
> -  if (IgnoreCommand(MmcCmd))
> -    return EFI_SUCCESS;
> -
> -  MmcCmd = TranslateCommand(MmcCmd);
> -
> -  //DEBUG ((EFI_D_ERROR, "MMCSendCommand(%d)\n", MmcCmd));
> -
> -  // Check if command line is in use or not. Poll till command line is available.
> -  while ((MmioRead32 (MMCHS_PSTATE) & DATI_MASK) == DATI_NOT_ALLOWED);
> -
> -  // Provide the block size.
> -  MmioWrite32 (MMCHS_BLK, BLEN_512BYTES);
> -
> -  // Setting Data timeout counter value to max value.
> -  MmioAndThenOr32 (MMCHS_SYSCTL, ~DTO_MASK, DTO_VAL);
> -
> -  // Clear Status register.
> -  MmioWrite32 (MMCHS_STAT, 0xFFFFFFFF);
> -
> -  // Set command argument register
> -  MmioWrite32 (MMCHS_ARG, Argument);
> -
> -  //TODO: fix this
> -  //Enable interrupt enable events to occur
> -  //MmioWrite32 (MMCHS_IE, CmdInterruptEnableVal);
> -
> -  // Send a command
> -  MmioWrite32 (MMCHS_CMD, MmcCmd);
> -
> -  // Check for the command status.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    do {
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while (MmcStatus == 0);
> -
> -    // Read status of command response
> -    if ((MmcStatus & ERRI) != 0) {
> -
> -      // Perform soft-reset for mmci_cmd line.
> -      MmioOr32 (MMCHS_SYSCTL, SRC);
> -      while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
> -
> -      //DEBUG ((EFI_D_INFO, "MmcStatus: 0x%x\n", MmcStatus));
> -      return EFI_DEVICE_ERROR;
> -    }
> -
> -    // Check if command is completed.
> -    if ((MmcStatus & CC) == CC) {
> -      MmioWrite32 (MMCHS_STAT, CC);
> -      break;
> -    }
> -
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    DEBUG ((DEBUG_BLKIO, "MMCSendCommand: Timeout\n"));
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -MMCNotifyState (
> -  IN EFI_MMC_HOST_PROTOCOL    *This,
> -  IN MMC_STATE                State
> -  )
> -{
> -  EFI_STATUS              Status;
> -  UINTN                   FreqSel;
> -
> -  switch(State) {
> -    case MmcInvalidState:
> -      ASSERT(0);
> -      break;
> -    case MmcHwInitializationState:
> -      mBitModeSet = FALSE;
> -
> -      DEBUG ((DEBUG_BLKIO, "MMCHwInitializationState()\n"));
> -      Status = InitializeMMCHS ();
> -      if (EFI_ERROR(Status)) {
> -        DEBUG ((DEBUG_BLKIO, "Initialize MMC host controller fails. Status: %x\n", Status));
> -        return Status;
> -      }
> -
> -      // Software reset of the MMCHS host controller.
> -      MmioWrite32 (MMCHS_SYSCONFIG, SOFTRESET);
> -      gBS->Stall(1000);
> -      while ((MmioRead32 (MMCHS_SYSSTATUS) & RESETDONE_MASK) != RESETDONE);
> -
> -      // Soft reset for all.
> -      MmioWrite32 (MMCHS_SYSCTL, SRA);
> -      gBS->Stall(1000);
> -      while ((MmioRead32 (MMCHS_SYSCTL) & SRA) != 0x0);
> -
> -      //Voltage capabilities initialization. Activate VS18 and VS30.
> -      MmioOr32 (MMCHS_CAPA, (VS30 | VS18));
> -
> -      // Wakeup configuration
> -      MmioOr32 (MMCHS_SYSCONFIG, ENAWAKEUP);
> -      MmioOr32 (MMCHS_HCTL, IWE);
> -
> -      // MMCHS Controller default initialization
> -      MmioOr32 (MMCHS_CON, (OD | DW8_1_4_BIT | CEATA_OFF));
> -
> -      MmioWrite32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_OFF));
> -
> -      // Enable internal clock
> -      MmioOr32 (MMCHS_SYSCTL, ICE);
> -
> -      // Set the clock frequency to 80KHz.
> -      UpdateMMCHSClkFrequency (CLKD_80KHZ);
> -
> -      // Enable SD bus power.
> -      MmioOr32 (MMCHS_HCTL, (SDBP_ON));
> -
> -      // Poll till SD bus power bit is set.
> -      while ((MmioRead32 (MMCHS_HCTL) & SDBP_MASK) != SDBP_ON);
> -
> -      // Enable interrupts.
> -      MmioWrite32 (MMCHS_IE, (BADA_EN | CERR_EN | DEB_EN | DCRC_EN | DTO_EN | CIE_EN |
> -        CEB_EN | CCRC_EN | CTO_EN | BRR_EN | BWR_EN | TC_EN | CC_EN));
> -
> -      // Controller INIT procedure start.
> -      MmioOr32 (MMCHS_CON, INIT);
> -      MmioWrite32 (MMCHS_CMD, 0x00000000);
> -      while (!(MmioRead32 (MMCHS_STAT) & CC));
> -
> -      // Wait for 1 ms
> -      gBS->Stall (1000);
> -
> -      // Set CC bit to 0x1 to clear the flag
> -      MmioOr32 (MMCHS_STAT, CC);
> -
> -      // Retry INIT procedure.
> -      MmioWrite32 (MMCHS_CMD, 0x00000000);
> -      while (!(MmioRead32 (MMCHS_STAT) & CC));
> -
> -      // End initialization sequence
> -      MmioAnd32 (MMCHS_CON, ~INIT);
> -
> -      MmioOr32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_ON));
> -
> -      // Change clock frequency to 400KHz to fit protocol
> -      UpdateMMCHSClkFrequency(CLKD_400KHZ);
> -
> -      MmioOr32 (MMCHS_CON, OD);
> -      break;
> -    case MmcIdleState:
> -      break;
> -    case MmcReadyState:
> -      break;
> -    case MmcIdentificationState:
> -      break;
> -    case MmcStandByState:
> -      CalculateCardCLKD (&FreqSel);
> -      UpdateMMCHSClkFrequency (FreqSel);
> -      break;
> -    case MmcTransferState:
> -      if (!mBitModeSet) {
> -        Status = MMCSendCommand (This, CMD55, mRca << 16);
> -        if (!EFI_ERROR (Status)) {
> -          // Set device into 4-bit data bus mode
> -          Status = MMCSendCommand (This, ACMD6, 0x2);
> -          if (!EFI_ERROR (Status)) {
> -            // Set host controler into 4-bit mode
> -            MmioOr32 (MMCHS_HCTL, DTW_4_BIT);
> -            DEBUG ((DEBUG_BLKIO, "SD Memory Card set to 4-bit mode\n"));
> -            mBitModeSet = TRUE;
> -          }
> -        }
> -      }
> -      break;
> -    case MmcSendingDataState:
> -      break;
> -    case MmcReceiveDataState:
> -      break;
> -    case MmcProgrammingState:
> -      break;
> -    case MmcDisconnectState:
> -    default:
> -      ASSERT(0);
> -  }
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -MMCReceiveResponse (
> -  IN EFI_MMC_HOST_PROTOCOL     *This,
> -  IN MMC_RESPONSE_TYPE         Type,
> -  IN UINT32*                   Buffer
> -  )
> -{
> -  if (Buffer == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  if (Type == MMC_RESPONSE_TYPE_R2) {
> -    Buffer[0] = MmioRead32 (MMCHS_RSP10);
> -    Buffer[1] = MmioRead32 (MMCHS_RSP32);
> -    Buffer[2] = MmioRead32 (MMCHS_RSP54);
> -    Buffer[3] = MmioRead32 (MMCHS_RSP76);
> -  } else {
> -    Buffer[0] = MmioRead32 (MMCHS_RSP10);
> -  }
> -
> -  if (Type == MMC_RESPONSE_TYPE_CSD) {
> -    mMaxDataTransferRate = Buffer[3] & 0xFF;
> -  } else if (Type == MMC_RESPONSE_TYPE_RCA) {
> -    mRca = Buffer[0] >> 16;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -MMCReadBlockData (
> -  IN EFI_MMC_HOST_PROTOCOL      *This,
> -  IN EFI_LBA                    Lba,
> -  IN UINTN                      Length,
> -  IN UINT32*                    Buffer
> -  )
> -{
> -  UINTN MmcStatus;
> -  UINTN Count;
> -  UINTN RetryCount = 0;
> -
> -  DEBUG ((DEBUG_BLKIO, "MMCReadBlockData(LBA: 0x%x, Length: 0x%x, Buffer: 0x%x)\n", Lba, Length, Buffer));
> -
> -  // Check controller status to make sure there is no error.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    do {
> -      // Read Status.
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while(MmcStatus == 0);
> -
> -    // Check if Buffer read ready (BRR) bit is set?
> -    if (MmcStatus & BRR) {
> -
> -      // Clear BRR bit
> -      MmioOr32 (MMCHS_STAT, BRR);
> -
> -      for (Count = 0; Count < Length / 4; Count++) {
> -        *Buffer++ = MmioRead32(MMCHS_DATA);
> -      }
> -      break;
> -    }
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -MMCWriteBlockData (
> -  IN EFI_MMC_HOST_PROTOCOL    *This,
> -  IN EFI_LBA                  Lba,
> -  IN UINTN                    Length,
> -  IN UINT32*                  Buffer
> -  )
> -{
> -  UINTN MmcStatus;
> -  UINTN Count;
> -  UINTN RetryCount = 0;
> -
> -  // Check controller status to make sure there is no error.
> -  while (RetryCount < MAX_RETRY_COUNT) {
> -    do {
> -      // Read Status.
> -      MmcStatus = MmioRead32 (MMCHS_STAT);
> -    } while(MmcStatus == 0);
> -
> -    // Check if Buffer write ready (BWR) bit is set?
> -    if (MmcStatus & BWR) {
> -
> -      // Clear BWR bit
> -      MmioOr32 (MMCHS_STAT, BWR);
> -
> -      // Write block worth of data.
> -      for (Count = 0; Count < Length / 4; Count++) {
> -        MmioWrite32 (MMCHS_DATA, *Buffer++);
> -      }
> -
> -      break;
> -    }
> -    RetryCount++;
> -  }
> -
> -  if (RetryCount == MAX_RETRY_COUNT) {
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_MMC_HOST_PROTOCOL gMMCHost = {
> -  MMC_HOST_PROTOCOL_REVISION,
> -  MMCIsCardPresent,
> -  MMCIsReadOnly,
> -  MMCBuildDevicePath,
> -  MMCNotifyState,
> -  MMCSendCommand,
> -  MMCReceiveResponse,
> -  MMCReadBlockData,
> -  MMCWriteBlockData
> -};
> -
> -EFI_STATUS
> -MMCInitialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_STATUS    Status;
> -  EFI_HANDLE    Handle = NULL;
> -
> -  DEBUG ((DEBUG_BLKIO, "MMCInitialize()\n"));
> -
> -  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  Status = gBS->InstallMultipleProtocolInterfaces (
> -                  &Handle,
> -                  &gEfiMmcHostProtocolGuid,         &gMMCHost,
> -                  NULL
> -                  );
> -  ASSERT_EFI_ERROR (Status);
> -
> -  return Status;
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h b/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h
> deleted file mode 100755
> index 0748ddfa473f..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -/** @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.
> -*
> -**/
> -
> -#ifndef _MMC_HOST_DXE_H_
> -#define _MMC_HOST_DXE_H_
> -
> -#include <Uefi.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/DevicePathLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/OmapLib.h>
> -#include <Library/OmapDmaLib.h>
> -#include <Library/DmaLib.h>
> -
> -#include <Protocol/EmbeddedExternalDevice.h>
> -#include <Protocol/BlockIo.h>
> -#include <Protocol/DevicePath.h>
> -#include <Protocol/MmcHost.h>
> -
> -#include <Omap3530/Omap3530.h>
> -#include <TPS65950.h>
> -
> -#define MAX_RETRY_COUNT  (100*5)
> -
> -extern EFI_BLOCK_IO_PROTOCOL gBlockIo;
> -
> -#endif
> diff --git a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf b/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
> deleted file mode 100755
> index f6cca8c88050..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -#  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.
> -#
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = MMC
> -  FILE_GUID                      = 100c2cfa-b586-4198-9b4c-1683d195b1da
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = MMCInitialize
> -
> -
> -[Sources.common]
> -  MmcHostDxe.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  PcdLib
> -  UefiLib
> -  UefiDriverEntryPoint
> -  MemoryAllocationLib
> -  IoLib
> -  OmapDmaLib
> -  DmaLib
> -
> -[Guids]
> -
> -[Protocols]
> -  gEfiBlockIoProtocolGuid
> -  gEfiCpuArchProtocolGuid
> -  gEfiDevicePathProtocolGuid
> -  gEmbeddedExternalDeviceProtocolGuid
> -  gEfiMmcHostProtocolGuid
> -
> -[Pcd]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base
> -  gOmap35xxTokenSpaceGuid.PcdMmchsTimerFreq100NanoSeconds
> -
> -[depex]
> -  gEmbeddedExternalDeviceProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec b/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> deleted file mode 100644
> index 8924e2ac4757..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> +++ /dev/null
> @@ -1,58 +0,0 @@
> -#/** @file
> -# Omap35xx SoC package.
> -#
> -# Copyright (c) 2009 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  DEC_SPECIFICATION              = 0x00010005
> -  PACKAGE_NAME                   = Omap35xxPkg
> -  PACKAGE_GUID                   = D196A631-B7B7-4953-A3EE-0F773CBABF20
> -  PACKAGE_VERSION                = 0.1
> -
> -################################################################################
> -#
> -# Include Section - list of Include Paths that are provided by this package.
> -#                   Comments are used for Keywords and Module Types.
> -#
> -# Supported Module Types:
> -#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
> -#
> -################################################################################
> -[Includes.common]
> -  Include                        # Root include for the package
> -
> -[LibraryClasses]
> -  ##  @libraryclass  Abstract location of basic OMAP components
> -  ##
> -  OmapLib|Include/Library/OmapLib.h
> -
> -  ##  @libraryclass  Abstract OMAP and ARM DMA, modeled after PCI IO protocol
> -  ##
> -  OmapDmaLib|Include/Library/OmapDmaLib.h
> -
> -
> -[Guids.common]
> -  gOmap35xxTokenSpaceGuid    =  { 0x24b09abe, 0x4e47, 0x481c, { 0xa9, 0xad, 0xce, 0xf1, 0x2c, 0x39, 0x23, 0x27} }
> -
> -[PcdsFeatureFlag.common]
> -
> -[PcdsFixedAtBuild.common]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart|3|UINT32|0x00000202
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxGpmcOffset|0x00000000|UINT32|0x00000203
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base|0x00000000|UINT32|0x00000204
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer|3|UINT32|0x00000205
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer|4|UINT32|0x00000206
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxDebugAgentTimer|5|UINT32|0x00000207
> -  gOmap35xxTokenSpaceGuid.PcdDebugAgentTimerFreqNanoSeconds|77|UINT32|0x00000208
> -  gOmap35xxTokenSpaceGuid.PcdMmchsTimerFreq100NanoSeconds|1000000|UINT32|0x00000209
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc b/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc
> deleted file mode 100644
> index 9056bba831c5..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc
> +++ /dev/null
> @@ -1,188 +0,0 @@
> -#/** @file
> -# Omap35xx SoC package.
> -#
> -# Copyright (c) 2009 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -################################################################################
> -#
> -# Defines Section - statements that will be processed to create a Makefile.
> -#
> -################################################################################
> -[Defines]
> -  PLATFORM_NAME                  = Omap35xxPkg
> -  PLATFORM_GUID                  = D196A631-B7B7-4953-A3EE-0F773CBABF20
> -  PLATFORM_VERSION               = 0.1
> -  DSC_SPECIFICATION              = 0x00010005
> -  OUTPUT_DIRECTORY               = Build/Omap35xxPkg
> -  SUPPORTED_ARCHITECTURES        = ARM
> -  BUILD_TARGETS                  = DEBUG|RELEASE
> -  SKUID_IDENTIFIER               = DEFAULT
> -  DEFINE TARGET_HACK             = DEBUG
> -
> -
> -[LibraryClasses.common]
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -
> -  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> -  ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
> -  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> -  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
> -  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
> -  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
> -
> -  RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
> -
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -  OmapLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
> -  OmapDmaLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
> -
> -  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
> -
> -  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
> -  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
> -  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
> -  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
> -
> -#
> -# Assume everything is fixed at build
> -#
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -
> -  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> -
> - # UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
> -  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
> -
> -  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
> -
> -
> -[LibraryClasses.common.DXE_DRIVER]
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -
> -
> -[LibraryClasses.ARM]
> -  #
> -  # Note: This NULL library feature is not yet in the edk2/BaseTools, but it is checked in to
> -  # the BaseTools project. So you need to build with the BaseTools project util this feature gets synced.
> -  #
> -  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> -
> -
> -[BuildOptions]
> -  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7
> -  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7
> -  XCODE:*_*_ARM_ARCHDLINK_FLAGS  == -arch armv7
> -
> -  GCC:*_*_ARM_ARCHCC_FLAGS     == -march=armv7-a -mthumb
> -  GCC:*_*_ARM_ARCHASM_FLAGS    == -march=armv7-a
> -
> -  RVCT:*_*_ARM_ARCHCC_FLAGS     == --cpu 7-A
> -  RVCT:*_*_ARM_ARCHASM_FLAGS    == --cpu 7-A
> -
> -
> -################################################################################
> -#
> -# Pcd Section - list of all EDK II PCD Entries defined by this Platform
> -#
> -################################################################################
> -
> -
> -[PcdsFixedAtBuild.common]
> -
> -# DEBUG_ASSERT_ENABLED       0x01
> -# DEBUG_PRINT_ENABLED        0x02
> -# DEBUG_CODE_ENABLED         0x04
> -# CLEAR_MEMORY_ENABLED       0x08
> -# ASSERT_BREAKPOINT_ENABLED  0x10
> -# ASSERT_DEADLOOP_ENABLED    0x20
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
> -
> -#  DEBUG_INIT      0x00000001  // Initialization
> -#  DEBUG_WARN      0x00000002  // Warnings
> -#  DEBUG_LOAD      0x00000004  // Load events
> -#  DEBUG_FS        0x00000008  // EFI File system
> -#  DEBUG_POOL      0x00000010  // Alloc & Free's
> -#  DEBUG_PAGE      0x00000020  // Alloc & Free's
> -#  DEBUG_INFO      0x00000040  // Verbose
> -#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
> -#  DEBUG_VARIABLE  0x00000100  // Variable
> -#  DEBUG_BM        0x00000400  // Boot Manager
> -#  DEBUG_BLKIO     0x00001000  // BlkIo Driver
> -#  DEBUG_NET       0x00004000  // SNI Driver
> -#  DEBUG_UNDI      0x00010000  // UNDI Driver
> -#  DEBUG_LOADFILE  0x00020000  // UNDI Driver
> -#  DEBUG_EVENT     0x00080000  // Event messages
> -#  DEBUG_ERROR     0x80000000  // Error
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000004
> -
> -  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
> -
> -  gEmbeddedTokenSpaceGuid.PcdPrePiTempMemorySize|0
> -  gEmbeddedTokenSpaceGuid.PcdPrePiBfvBaseAddress|0
> -  gEmbeddedTokenSpaceGuid.PcdPrePiBfvSize|0
> -  gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0
> -  gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0
> -  gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000
> -  gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory
> -  gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack
> -  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80000000
> -  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
> -
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxGpmcOffset|0x6E000000
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base|0x4809C000
> -
> -  # Console
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart|3
> -
> -  # Timers
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer|3
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer|4
> -  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
> -
> -  #
> -  # ARM Pcds
> -  #
> -  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
> -
> -################################################################################
> -#
> -# Components Section - list of all EDK II Modules needed by this Platform
> -#
> -################################################################################
> -[Components.common]
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
> -
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
> -
> -
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c
> deleted file mode 100644
> index 17ea03ccf486..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c
> +++ /dev/null
> @@ -1,633 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include "PciEmulation.h"
> -
> -EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
> -
> -#define HOST_CONTROLLER_OPERATION_REG_SIZE  0x44
> -
> -typedef struct {
> -  ACPI_HID_DEVICE_PATH      AcpiDevicePath;
> -  PCI_DEVICE_PATH           PciDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} EFI_PCI_IO_DEVICE_PATH;
> -
> -typedef struct {
> -  UINT32                  Signature;
> -  EFI_PCI_IO_DEVICE_PATH  DevicePath;
> -  EFI_PCI_IO_PROTOCOL     PciIoProtocol;
> -  PCI_TYPE00              *ConfigSpace;
> -  PCI_ROOT_BRIDGE         RootBridge;
> -  UINTN                   Segment;
> -} EFI_PCI_IO_PRIVATE_DATA;
> -
> -#define EFI_PCI_IO_PRIVATE_DATA_SIGNATURE     SIGNATURE_32('p', 'c', 'i', 'o')
> -#define EFI_PCI_IO_PRIVATE_DATA_FROM_THIS(a)  CR(a, EFI_PCI_IO_PRIVATE_DATA, PciIoProtocol, EFI_PCI_IO_PRIVATE_DATA_SIGNATURE)
> -
> -EFI_PCI_IO_DEVICE_PATH PciIoDevicePathTemplate =
> -{
> -  {
> -    { ACPI_DEVICE_PATH, ACPI_DP, { sizeof (ACPI_HID_DEVICE_PATH), 0 } },
> -    EISA_PNP_ID(0x0A03),  // HID
> -    0                     // UID
> -  },
> -  {
> -    { HARDWARE_DEVICE_PATH, HW_PCI_DP, { sizeof (PCI_DEVICE_PATH), 0 } },
> -    0,
> -    0
> -  },
> -  { END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0} }
> -};
> -
> -STATIC
> -VOID
> -ConfigureUSBHost (
> -  VOID
> -  )
> -{
> -  EFI_STATUS Status;
> -  UINT8      Data = 0;
> -
> -  // Take USB host out of force-standby mode
> -  MmioWrite32 (UHH_SYSCONFIG, UHH_SYSCONFIG_MIDLEMODE_NO_STANDBY
> -                            | UHH_SYSCONFIG_CLOCKACTIVITY_ON
> -                            | UHH_SYSCONFIG_SIDLEMODE_NO_STANDBY
> -                            | UHH_SYSCONFIG_ENAWAKEUP_ENABLE
> -                            | UHH_SYSCONFIG_AUTOIDLE_ALWAYS_RUN);
> -  MmioWrite32 (UHH_HOSTCONFIG, UHH_HOSTCONFIG_P3_CONNECT_STATUS_DISCONNECT
> -                             | UHH_HOSTCONFIG_P2_CONNECT_STATUS_DISCONNECT
> -                             | UHH_HOSTCONFIG_P1_CONNECT_STATUS_DISCONNECT
> -                             | UHH_HOSTCONFIG_ENA_INCR_ALIGN_DISABLE
> -                             | UHH_HOSTCONFIG_ENA_INCR16_ENABLE
> -                             | UHH_HOSTCONFIG_ENA_INCR8_ENABLE
> -                             | UHH_HOSTCONFIG_ENA_INCR4_ENABLE
> -                             | UHH_HOSTCONFIG_AUTOPPD_ON_OVERCUR_EN_ON
> -                             | UHH_HOSTCONFIG_P1_ULPI_BYPASS_ULPI_MODE);
> -
> -  // USB reset (GPIO 147 - Port 5 pin 19) output high
> -  MmioAnd32 (GPIO5_BASE + GPIO_OE, ~BIT19);
> -  MmioWrite32 (GPIO5_BASE + GPIO_SETDATAOUT, BIT19);
> -
> -  // Get the Power IC protocol
> -  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // Power the USB PHY
> -  Data = VAUX_DEV_GRP_P1;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEV_GRP), 1, &Data);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  Data = VAUX_DEDICATED_18V;
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEDICATED), 1, &Data);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // Enable power to the USB hub
> -  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // LEDAON controls the power to the USB host, PWM is disabled
> -  Data &= ~LEDAPWM;
> -  Data |= LEDAON;
> -
> -  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
> -  ASSERT_EFI_ERROR (Status);
> -}
> -
> -
> -EFI_STATUS
> -PciIoPollMem (
> -  IN EFI_PCI_IO_PROTOCOL           *This,
> -  IN  EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN  UINT8                        BarIndex,
> -  IN  UINT64                       Offset,
> -  IN  UINT64                       Mask,
> -  IN  UINT64                       Value,
> -  IN  UINT64                       Delay,
> -  OUT UINT64                       *Result
> -  )
> -{
> -  ASSERT (FALSE);
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_STATUS
> -PciIoPollIo (
> -  IN EFI_PCI_IO_PROTOCOL           *This,
> -  IN  EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN  UINT8                        BarIndex,
> -  IN  UINT64                       Offset,
> -  IN  UINT64                       Mask,
> -  IN  UINT64                       Value,
> -  IN  UINT64                       Delay,
> -  OUT UINT64                       *Result
> -  )
> -{
> -  ASSERT (FALSE);
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_STATUS
> -PciIoMemRead (
> -  IN EFI_PCI_IO_PROTOCOL              *This,
> -  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN     UINT8                        BarIndex,
> -  IN     UINT64                       Offset,
> -  IN     UINTN                        Count,
> -  IN OUT VOID                         *Buffer
> -  )
> -{
> -  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS(This);
> -
> -  return PciRootBridgeIoMemRead (&Private->RootBridge.Io,
> -                                (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
> -                                Private->ConfigSpace->Device.Bar[BarIndex] + Offset,
> -                                Count,
> -                                Buffer
> -                                );
> -}
> -
> -EFI_STATUS
> -PciIoMemWrite (
> -  IN EFI_PCI_IO_PROTOCOL              *This,
> -  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN     UINT8                        BarIndex,
> -  IN     UINT64                       Offset,
> -  IN     UINTN                        Count,
> -  IN OUT VOID                         *Buffer
> -  )
> -{
> -  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS(This);
> -
> -  return PciRootBridgeIoMemWrite (&Private->RootBridge.Io,
> -                                 (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
> -                                 Private->ConfigSpace->Device.Bar[BarIndex] + Offset,
> -                                 Count,
> -                                 Buffer
> -                                 );
> -}
> -
> -EFI_STATUS
> -PciIoIoRead (
> -  IN EFI_PCI_IO_PROTOCOL              *This,
> -  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN     UINT8                        BarIndex,
> -  IN     UINT64                       Offset,
> -  IN     UINTN                        Count,
> -  IN OUT VOID                         *Buffer
> -  )
> -{
> -  ASSERT (FALSE);
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_STATUS
> -PciIoIoWrite (
> -  IN EFI_PCI_IO_PROTOCOL              *This,
> -  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN     UINT8                        BarIndex,
> -  IN     UINT64                       Offset,
> -  IN     UINTN                        Count,
> -  IN OUT VOID                         *Buffer
> -  )
> -{
> -  ASSERT (FALSE);
> -  return EFI_UNSUPPORTED;
> -}
> -
> -/**
> -  Enable a PCI driver to read PCI controller registers in PCI configuration space.
> -
> -  @param[in]      This    A pointer to the EFI_PCI_IO_PROTOCOL instance.
> -  @param[in]      Width   Signifies the width of the memory operations.
> -  @param[in]      Offset  The offset within the PCI configuration space for
> -                          the PCI controller.
> -  @param[in]      Count   The number of PCI configuration operations to
> -                          perform. Bytes moved is Width size * Count,
> -                          starting at Offset.
> -
> -  @param[in out]  Buffer  The destination buffer to store the results.
> -
> -  @retval  EFI_SUCCESS            The data was read from the PCI controller.
> -  @retval  EFI_INVALID_PARAMETER  "Width" is invalid.
> -  @retval  EFI_INVALID_PARAMETER  "Buffer" is NULL.
> -
> -**/
> -EFI_STATUS
> -PciIoPciRead (
> -  IN     EFI_PCI_IO_PROTOCOL       *This,
> -  IN     EFI_PCI_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT32                     Offset,
> -  IN     UINTN                      Count,
> -  IN OUT VOID                      *Buffer
> -  )
> -{
> -  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS (This);
> -  EFI_STATUS Status;
> -
> -  if ((Width < 0) || (Width >= EfiPciIoWidthMaximum) || (Buffer == NULL)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Status = PciRootBridgeIoMemRW (
> -             (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH)Width,
> -             Count,
> -             TRUE,
> -             (PTR)(UINTN)Buffer,
> -             TRUE,
> -             (PTR)(UINTN)(((UINT8 *)Private->ConfigSpace) + Offset)  //Fix me ConfigSpace
> -             );
> -
> -  return Status;
> -}
> -
> -/**
> -  Enable a PCI driver to write PCI controller registers in PCI configuration space.
> -
> -  @param[in]      This    A pointer to the EFI_PCI_IO_PROTOCOL instance.
> -  @param[in]      Width   Signifies the width of the memory operations.
> -  @param[in]      Offset  The offset within the PCI configuration space for
> -                          the PCI controller.
> -  @param[in]      Count   The number of PCI configuration operations to
> -                          perform. Bytes moved is Width size * Count,
> -                          starting at Offset.
> -
> -  @param[in out]  Buffer  The source buffer to write data from.
> -
> -  @retval  EFI_SUCCESS            The data was read from the PCI controller.
> -  @retval  EFI_INVALID_PARAMETER  "Width" is invalid.
> -  @retval  EFI_INVALID_PARAMETER  "Buffer" is NULL.
> -
> -**/
> -EFI_STATUS
> -PciIoPciWrite (
> -  IN EFI_PCI_IO_PROTOCOL              *This,
> -  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN     UINT32                       Offset,
> -  IN     UINTN                        Count,
> -  IN OUT VOID                         *Buffer
> -  )
> -{
> -  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS (This);
> -
> -  if ((Width < 0) || (Width >= EfiPciIoWidthMaximum) || (Buffer == NULL)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  return PciRootBridgeIoMemRW ((EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
> -                               Count,
> -                               TRUE,
> -                               (PTR)(UINTN)(((UINT8 *)Private->ConfigSpace) + Offset),
> -                               TRUE,
> -                               (PTR)(UINTN)Buffer
> -                               );
> -}
> -
> -EFI_STATUS
> -PciIoCopyMem (
> -  IN EFI_PCI_IO_PROTOCOL              *This,
> -  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
> -  IN     UINT8                        DestBarIndex,
> -  IN     UINT64                       DestOffset,
> -  IN     UINT8                        SrcBarIndex,
> -  IN     UINT64                       SrcOffset,
> -  IN     UINTN                        Count
> -  )
> -{
> -  ASSERT (FALSE);
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_STATUS
> -PciIoMap (
> -  IN EFI_PCI_IO_PROTOCOL                *This,
> -  IN     EFI_PCI_IO_PROTOCOL_OPERATION  Operation,
> -  IN     VOID                           *HostAddress,
> -  IN OUT UINTN                          *NumberOfBytes,
> -  OUT    EFI_PHYSICAL_ADDRESS           *DeviceAddress,
> -  OUT    VOID                           **Mapping
> -  )
> -{
> -  DMA_MAP_OPERATION   DmaOperation;
> -
> -  if (Operation == EfiPciIoOperationBusMasterRead) {
> -    DmaOperation = MapOperationBusMasterRead;
> -  } else if (Operation == EfiPciIoOperationBusMasterWrite) {
> -    DmaOperation = MapOperationBusMasterWrite;
> -  } else if (Operation == EfiPciIoOperationBusMasterCommonBuffer) {
> -    DmaOperation = MapOperationBusMasterCommonBuffer;
> -  } else {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -  return DmaMap (DmaOperation, HostAddress, NumberOfBytes, DeviceAddress, Mapping);
> -}
> -
> -EFI_STATUS
> -PciIoUnmap (
> -  IN EFI_PCI_IO_PROTOCOL           *This,
> -  IN  VOID                         *Mapping
> -  )
> -{
> -  return DmaUnmap (Mapping);
> -}
> -
> -/**
> -  Allocate pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer
> -  mapping.
> -
> -  @param[in]   This         A pointer to the EFI_PCI_IO_PROTOCOL instance.
> -  @param[in]   Type         This parameter is not used and must be ignored.
> -  @param[in]   MemoryType   The type of memory to allocate, EfiBootServicesData or
> -                            EfiRuntimeServicesData.
> -  @param[in]   Pages        The number of pages to allocate.
> -  @param[out]  HostAddress  A pointer to store the base system memory address of
> -                            the allocated range.
> -  @param[in]   Attributes   The requested bit mask of attributes for the allocated
> -                            range. Only the attributes,
> -                            EFI_PCI_ATTRIBUTE_MEMORY_WRITE_COMBINE and
> -                            EFI_PCI_ATTRIBUTE_MEMORY_CACHED may be used with this
> -                            function. If any other bits are set, then EFI_UNSUPPORTED
> -                            is returned. This function ignores this bit mask.
> -
> -  @retval  EFI_SUCCESS            The requested memory pages were allocated.
> -  @retval  EFI_INVALID_PARAMETER  HostAddress is NULL.
> -  @retval  EFI_INVALID_PARAMETER  MemoryType is invalid.
> -  @retval  EFI_UNSUPPORTED        Attributes is unsupported.
> -  @retval  EFI_OUT_OF_RESOURCES   The memory pages could not be allocated.
> -
> -**/
> -EFI_STATUS
> -PciIoAllocateBuffer (
> -  IN EFI_PCI_IO_PROTOCOL  *This,
> -  IN  EFI_ALLOCATE_TYPE   Type,
> -  IN  EFI_MEMORY_TYPE     MemoryType,
> -  IN  UINTN               Pages,
> -  OUT VOID                **HostAddress,
> -  IN  UINT64              Attributes
> -  )
> -{
> -  if (Attributes &
> -      (~(EFI_PCI_ATTRIBUTE_MEMORY_WRITE_COMBINE |
> -         EFI_PCI_ATTRIBUTE_MEMORY_CACHED         ))) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  return DmaAllocateBuffer (MemoryType, Pages, HostAddress);
> -}
> -
> -
> -EFI_STATUS
> -PciIoFreeBuffer (
> -  IN EFI_PCI_IO_PROTOCOL           *This,
> -  IN  UINTN                        Pages,
> -  IN  VOID                         *HostAddress
> -  )
> -{
> -  return DmaFreeBuffer (Pages, HostAddress);
> -}
> -
> -
> -EFI_STATUS
> -PciIoFlush (
> -  IN EFI_PCI_IO_PROTOCOL  *This
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Retrieves this PCI controller's current PCI bus number, device number, and function number.
> -
> -  @param[in]   This            A pointer to the EFI_PCI_IO_PROTOCOL instance.
> -  @param[out]  SegmentNumber   The PCI controller's current PCI segment number.
> -  @param[out]  BusNumber       The PCI controller's current PCI bus number.
> -  @param[out]  DeviceNumber    The PCI controller's current PCI device number.
> -  @param[out]  FunctionNumber  The PCI controller’s current PCI function number.
> -
> -  @retval  EFI_SUCCESS            The PCI controller location was returned.
> -  @retval  EFI_INVALID_PARAMETER  At least one out of the four output parameters is
> -                                  a NULL pointer.
> -**/
> -EFI_STATUS
> -PciIoGetLocation (
> -  IN   EFI_PCI_IO_PROTOCOL  *This,
> -  OUT  UINTN                *SegmentNumber,
> -  OUT  UINTN                *BusNumber,
> -  OUT  UINTN                *DeviceNumber,
> -  OUT  UINTN                *FunctionNumber
> -  )
> -{
> -  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS (This);
> -
> -  if ((SegmentNumber == NULL) || (BusNumber      == NULL) ||
> -      (DeviceNumber  == NULL) || (FunctionNumber == NULL)    ) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  *SegmentNumber  = Private->Segment;
> -  *BusNumber      = 0xff;
> -  *DeviceNumber   = 0;
> -  *FunctionNumber = 0;
> -
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Performs an operation on the attributes that this PCI controller supports.
> -
> -  The operations include getting the set of supported attributes, retrieving
> -  the current attributes, setting the current attributes, enabling attributes,
> -  and disabling attributes.
> -
> -  @param[in]   This        A pointer to the EFI_PCI_IO_PROTOCOL instance.
> -  @param[in]   Operation   The operation to perform on the attributes for this
> -                           PCI controller.
> -  @param[in]   Attributes  The mask of attributes that are used for Set,
> -                           Enable and Disable operations.
> -  @param[out]  Result      A pointer to the result mask of attributes that are
> -                           returned for the Get and Supported operations. This
> -                           is an optional parameter that may be NULL for the
> -                           Set, Enable, and Disable operations.
> -
> -  @retval  EFI_SUCCESS            The operation on the PCI controller's
> -                                  attributes was completed. If the operation
> -                                  was Get or Supported, then the attribute mask
> -                                  is returned in Result.
> -  @retval  EFI_INVALID_PARAMETER  Operation is greater than or equal to
> -                                  EfiPciIoAttributeOperationMaximum.
> -  @retval  EFI_INVALID_PARAMETER  Operation is Get and Result is NULL.
> -  @retval  EFI_INVALID_PARAMETER  Operation is Supported and Result is NULL.
> -
> -**/
> -EFI_STATUS
> -PciIoAttributes (
> -  IN EFI_PCI_IO_PROTOCOL                       *This,
> -  IN  EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION  Operation,
> -  IN  UINT64                                   Attributes,
> -  OUT UINT64                                   *Result OPTIONAL
> -  )
> -{
> -  switch (Operation) {
> -  case EfiPciIoAttributeOperationGet:
> -  case EfiPciIoAttributeOperationSupported:
> -    if (Result == NULL) {
> -      return EFI_INVALID_PARAMETER;
> -    }
> -    //
> -    // We are not a real PCI device so just say things we kind of do
> -    //
> -    *Result = EFI_PCI_DEVICE_ENABLE;
> -    break;
> -
> -  case EfiPciIoAttributeOperationSet:
> -  case EfiPciIoAttributeOperationEnable:
> -  case EfiPciIoAttributeOperationDisable:
> -    if (Attributes & (~EFI_PCI_DEVICE_ENABLE)) {
> -      return EFI_UNSUPPORTED;
> -    }
> -    // Since we are not a real PCI device no enable/set or disable operations exist.
> -    return EFI_SUCCESS;
> -
> -  default:
> -    return EFI_INVALID_PARAMETER;
> -  };
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -PciIoGetBarAttributes (
> -  IN EFI_PCI_IO_PROTOCOL             *This,
> -  IN  UINT8                          BarIndex,
> -  OUT UINT64                         *Supports, OPTIONAL
> -  OUT VOID                           **Resources OPTIONAL
> -  )
> -{
> -  ASSERT (FALSE);
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_STATUS
> -PciIoSetBarAttributes (
> -  IN EFI_PCI_IO_PROTOCOL              *This,
> -  IN     UINT64                       Attributes,
> -  IN     UINT8                        BarIndex,
> -  IN OUT UINT64                       *Offset,
> -  IN OUT UINT64                       *Length
> -  )
> -{
> -  ASSERT (FALSE);
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_PCI_IO_PROTOCOL PciIoTemplate =
> -{
> -  PciIoPollMem,
> -  PciIoPollIo,
> -  { PciIoMemRead, PciIoMemWrite },
> -  { PciIoIoRead,  PciIoIoWrite },
> -  { PciIoPciRead, PciIoPciWrite },
> -  PciIoCopyMem,
> -  PciIoMap,
> -  PciIoUnmap,
> -  PciIoAllocateBuffer,
> -  PciIoFreeBuffer,
> -  PciIoFlush,
> -  PciIoGetLocation,
> -  PciIoAttributes,
> -  PciIoGetBarAttributes,
> -  PciIoSetBarAttributes,
> -  0,
> -  0
> -};
> -
> -EFI_STATUS
> -EFIAPI
> -PciEmulationEntryPoint (
> -  IN EFI_HANDLE       ImageHandle,
> -  IN EFI_SYSTEM_TABLE *SystemTable
> -  )
> -{
> -  EFI_STATUS              Status;
> -  EFI_HANDLE              Handle;
> -  EFI_PCI_IO_PRIVATE_DATA *Private;
> -  UINT8                   CapabilityLength;
> -  UINT8                   PhysicalPorts;
> -  UINTN                   Count;
> -
> -
> -  //Configure USB host for OMAP3530.
> -  ConfigureUSBHost();
> -
> -  // Create a private structure
> -  Private = AllocatePool(sizeof(EFI_PCI_IO_PRIVATE_DATA));
> -  if (Private == NULL) {
> -    Status = EFI_OUT_OF_RESOURCES;
> -    return Status;
> -  }
> -
> -  Private->Signature              = EFI_PCI_IO_PRIVATE_DATA_SIGNATURE;  // Fill in signature
> -  Private->RootBridge.Signature   = PCI_ROOT_BRIDGE_SIGNATURE;          // Fake Root Bridge structure needs a signature too
> -  Private->RootBridge.MemoryStart = USB_EHCI_HCCAPBASE;                 // Get the USB capability register base
> -  Private->Segment                = 0;                                  // Default to segment zero
> -
> -  // Find out the capability register length and number of physical ports.
> -  CapabilityLength = MmioRead8(Private->RootBridge.MemoryStart);
> -  PhysicalPorts    = (MmioRead32 (Private->RootBridge.MemoryStart + 0x4)) & 0x0000000F;
> -
> -  // Calculate the total size of the USB registers.
> -  Private->RootBridge.MemorySize = CapabilityLength + (HOST_CONTROLLER_OPERATION_REG_SIZE + ((4 * PhysicalPorts) - 1));
> -
> -  // Enable Port Power bit in Port status and control registers in EHCI register space.
> -  // Port Power Control (PPC) bit in the HCSPARAMS register is already set which indicates
> -  // host controller implementation includes port power control.
> -  for (Count = 0; Count < PhysicalPorts; Count++) {
> -    MmioOr32 ((Private->RootBridge.MemoryStart + CapabilityLength + HOST_CONTROLLER_OPERATION_REG_SIZE + 4*Count), 0x00001000);
> -  }
> -
> -  // Create fake PCI config space.
> -  Private->ConfigSpace = AllocateZeroPool(sizeof(PCI_TYPE00));
> -  if (Private->ConfigSpace == NULL) {
> -    Status = EFI_OUT_OF_RESOURCES;
> -    FreePool(Private);
> -    return Status;
> -  }
> -
> -  // Configure PCI config space
> -  Private->ConfigSpace->Hdr.VendorId = 0xFFFF; // Invalid vendor Id as it is not an actual device.
> -  Private->ConfigSpace->Hdr.DeviceId = 0x0000; // Not relevant as the vendor id is not valid.
> -  Private->ConfigSpace->Hdr.ClassCode[0] = 0x20;
> -  Private->ConfigSpace->Hdr.ClassCode[1] = 0x03;
> -  Private->ConfigSpace->Hdr.ClassCode[2] = 0x0C;
> -  Private->ConfigSpace->Device.Bar[0] = Private->RootBridge.MemoryStart;
> -
> -  Handle = NULL;
> -
> -  // Unique device path.
> -  CopyMem(&Private->DevicePath, &PciIoDevicePathTemplate, sizeof(PciIoDevicePathTemplate));
> -  Private->DevicePath.AcpiDevicePath.UID = 0;
> -
> -  // Copy protocol structure
> -  CopyMem(&Private->PciIoProtocol, &PciIoTemplate, sizeof(PciIoTemplate));
> -
> -  Status = gBS->InstallMultipleProtocolInterfaces(&Handle,
> -                                                  &gEfiPciIoProtocolGuid,       &Private->PciIoProtocol,
> -                                                  &gEfiDevicePathProtocolGuid,  &Private->DevicePath,
> -                                                  NULL);
> -  if (EFI_ERROR(Status)) {
> -    DEBUG((EFI_D_ERROR, "PciEmulationEntryPoint InstallMultipleProtocolInterfaces() failed.\n"));
> -  }
> -
> -  return Status;
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h
> deleted file mode 100644
> index d5ee04318939..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h
> +++ /dev/null
> @@ -1,292 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 _PCI_ROOT_BRIDGE_H_
> -#define _PCI_ROOT_BRIDGE_H_
> -
> -#include <PiDxe.h>
> -
> -#include <TPS65950.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/DxeServicesTableLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/PciLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/OmapDmaLib.h>
> -#include <Library/DmaLib.h>
> -
> -#include <Protocol/EmbeddedExternalDevice.h>
> -#include <Protocol/DevicePath.h>
> -#include <Protocol/PciIo.h>
> -#include <Protocol/PciRootBridgeIo.h>
> -#include <Protocol/PciHostBridgeResourceAllocation.h>
> -
> -#include <IndustryStandard/Pci22.h>
> -#include <IndustryStandard/Acpi.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -
> -
> -#define EFI_RESOURCE_NONEXISTENT  0xFFFFFFFFFFFFFFFFULL
> -#define EFI_RESOURCE_LESS         0xFFFFFFFFFFFFFFFEULL
> -#define EFI_RESOURCE_SATISFIED    0x0000000000000000ULL
> -
> -
> -typedef struct {
> -  ACPI_HID_DEVICE_PATH      AcpiDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
> -} EFI_PCI_ROOT_BRIDGE_DEVICE_PATH;
> -
> -
> -#define ACPI_CONFIG_IO    0
> -#define ACPI_CONFIG_MMIO  1
> -#define ACPI_CONFIG_BUS   2
> -
> -typedef struct {
> -  EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR Desc[3];
> -  EFI_ACPI_END_TAG_DESCRIPTOR       EndDesc;
> -} ACPI_CONFIG_INFO;
> -
> -
> -#define PCI_ROOT_BRIDGE_SIGNATURE SIGNATURE_32 ('P', 'c', 'i', 'F')
> -
> -typedef struct {
> -  UINT32                                            Signature;
> -  EFI_HANDLE                                        Handle;
> -  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL                   Io;
> -  EFI_PCI_ROOT_BRIDGE_DEVICE_PATH                   DevicePath;
> -
> -  UINT8   StartBus;
> -  UINT8   EndBus;
> -  UINT16  Type;
> -  UINT32  MemoryStart;
> -  UINT32  MemorySize;
> -  UINTN   IoOffset;
> -  UINT32  IoStart;
> -  UINT32  IoSize;
> -  UINT64  PciAttributes;
> -
> -  ACPI_CONFIG_INFO  *Config;
> -
> -} PCI_ROOT_BRIDGE;
> -
> -
> -#define INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS(a) CR (a, PCI_ROOT_BRIDGE, Io, PCI_ROOT_BRIDGE_SIGNATURE)
> -
> -
> -typedef union {
> -  UINT8   volatile  *buf;
> -  UINT8   volatile  *ui8;
> -  UINT16  volatile  *ui16;
> -  UINT32  volatile  *ui32;
> -  UINT64  volatile  *ui64;
> -  UINTN   volatile  ui;
> -} PTR;
> -
> -
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoPollMem (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN  UINT64                                 Address,
> -  IN  UINT64                                 Mask,
> -  IN  UINT64                                 Value,
> -  IN  UINT64                                 Delay,
> -  OUT UINT64                                 *Result
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoPollIo (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN  UINT64                                 Address,
> -  IN  UINT64                                 Mask,
> -  IN  UINT64                                 Value,
> -  IN  UINT64                                 Delay,
> -  OUT UINT64                                 *Result
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoMemRead (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoMemWrite (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoIoRead (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 UserAddress,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *UserBuffer
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoIoWrite (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 UserAddress,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *UserBuffer
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoCopyMem (
> -  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN UINT64                                 DestAddress,
> -  IN UINT64                                 SrcAddress,
> -  IN UINTN                                  Count
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoPciRead (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoPciWrite (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoMap (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL            *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION  Operation,
> -  IN     VOID                                       *HostAddress,
> -  IN OUT UINTN                                      *NumberOfBytes,
> -  OUT    EFI_PHYSICAL_ADDRESS                       *DeviceAddress,
> -  OUT    VOID                                       **Mapping
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoUnmap (
> -  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
> -  IN VOID                             *Mapping
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoAllocateBuffer (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
> -  IN  EFI_ALLOCATE_TYPE                Type,
> -  IN  EFI_MEMORY_TYPE                  MemoryType,
> -  IN  UINTN                            Pages,
> -  OUT VOID                             **HostAddress,
> -  IN  UINT64                           Attributes
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoFreeBuffer (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
> -  IN  UINTN                            Pages,
> -  OUT VOID                             *HostAddress
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoFlush (
> -  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoGetAttributes (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
> -  OUT UINT64                           *Supported,
> -  OUT UINT64                           *Attributes
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoSetAttributes (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
> -  IN     UINT64                           Attributes,
> -  IN OUT UINT64                           *ResourceBase,
> -  IN OUT UINT64                           *ResourceLength
> -  );
> -
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoConfiguration (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
> -  OUT VOID                             **Resources
> -  );
> -
> -//
> -// Private Function Prototypes
> -//
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoMemRW (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN  UINTN                                  Count,
> -  IN  BOOLEAN                                InStrideFlag,
> -  IN  PTR                                    In,
> -  IN  BOOLEAN                                OutStrideFlag,
> -  OUT PTR                                    Out
> -  );
> -
> -BOOLEAN
> -PciIoMemAddressValid (
> -  IN EFI_PCI_IO_PROTOCOL  *This,
> -  IN UINT64               Address
> -  );
> -
> -EFI_STATUS
> -EmulatePciIoForEhci (
> -  INTN    MvPciIfMaxIf
> -  );
> -
> -#endif
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
> deleted file mode 100644
> index 02e09c334d28..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2009, Apple Inc. 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.
> -
> -**/
> -
> -[Defines]
> -  INF_VERSION                     = 0x00010005
> -  BASE_NAME                       = BeagleBoardPciEmulation
> -  FILE_GUID                       = feaa2e2b-53ac-4d5e-ae10-1efd5da4a2ba
> -  MODULE_TYPE                     = DXE_DRIVER
> -  VERSION_STRING                  = 1.0
> -
> -  ENTRY_POINT                     = PciEmulationEntryPoint
> -
> -[Sources.common]
> -  PciRootBridgeIo.c
> -  PciEmulation.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  MdeModulePkg/MdeModulePkg.dec
> -  IntelFrameworkPkg/IntelFrameworkPkg.dec
> -  ArmPkg/ArmPkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  BaseLib
> -  DxeServicesTableLib
> -  UefiLib
> -  UefiBootServicesTableLib
> -  UefiDriverEntryPoint
> -  UefiRuntimeServicesTableLib
> -  IoLib
> -  OmapDmaLib
> -  DmaLib
> -
> -[Protocols]
> -  gEfiPciRootBridgeIoProtocolGuid
> -  gEfiDevicePathProtocolGuid
> -  gEfiPciHostBridgeResourceAllocationProtocolGuid
> -  gEfiPciIoProtocolGuid
> -  gEmbeddedExternalDeviceProtocolGuid
> -
> -[Depex]
> -  gEfiMetronomeArchProtocolGuid AND
> -  gEmbeddedExternalDeviceProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c
> deleted file mode 100644
> index e8635ed88d91..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c
> +++ /dev/null
> @@ -1,306 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include "PciEmulation.h"
> -
> -BOOLEAN
> -PciRootBridgeMemAddressValid (
> -  IN PCI_ROOT_BRIDGE  *Private,
> -  IN UINT64           Address
> -  )
> -{
> -  if ((Address >= Private->MemoryStart) && (Address < (Private->MemoryStart + Private->MemorySize))) {
> -    return TRUE;
> -  }
> -
> -  return FALSE;
> -}
> -
> -
> -EFI_STATUS
> -PciRootBridgeIoMemRW (
> -  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN  UINTN                                  Count,
> -  IN  BOOLEAN                                InStrideFlag,
> -  IN  PTR                                    In,
> -  IN  BOOLEAN                                OutStrideFlag,
> -  OUT PTR                                    Out
> -  )
> -{
> -  UINTN  Stride;
> -  UINTN  InStride;
> -  UINTN  OutStride;
> -
> -
> -  Width     = (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) (Width & 0x03);
> -  Stride    = (UINTN)1 << Width;
> -  InStride  = InStrideFlag  ? Stride : 0;
> -  OutStride = OutStrideFlag ? Stride : 0;
> -
> -  //
> -  // Loop for each iteration and move the data
> -  //
> -  switch (Width) {
> -  case EfiPciWidthUint8:
> -    for (;Count > 0; Count--, In.buf += InStride, Out.buf += OutStride) {
> -      *In.ui8 = *Out.ui8;
> -    }
> -    break;
> -  case EfiPciWidthUint16:
> -    for (;Count > 0; Count--, In.buf += InStride, Out.buf += OutStride) {
> -      *In.ui16 = *Out.ui16;
> -    }
> -    break;
> -  case EfiPciWidthUint32:
> -    for (;Count > 0; Count--, In.buf += InStride, Out.buf += OutStride) {
> -      *In.ui32 = *Out.ui32;
> -    }
> -    break;
> -  default:
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -EFI_STATUS
> -PciRootBridgeIoPciRW (
> -  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN BOOLEAN                                Write,
> -  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN UINT64                                 UserAddress,
> -  IN UINTN                                  Count,
> -  IN OUT VOID                               *UserBuffer
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
> -
> -  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
> -  @param  Width                 Signifies the width of the memory operations.
> -  @param  Address               The base address of the memory operations.
> -  @param  Count                 The number of memory operations to perform.
> -  @param  Buffer                For read operations, the destination buffer to store the results. For write
> -                                operations, the source buffer to write data from.
> -
> -  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
> -  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
> -  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoMemRead (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  )
> -{
> -  PCI_ROOT_BRIDGE   *Private;
> -  UINTN             AlignMask;
> -  PTR               In;
> -  PTR               Out;
> -
> -  if ( Buffer == NULL ) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Private = INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS (This);
> -
> -  if (!PciRootBridgeMemAddressValid (Private, Address)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  AlignMask = (1 << (Width & 0x03)) - 1;
> -  if (Address & AlignMask) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  In.buf  = Buffer;
> -  Out.buf = (VOID *)(UINTN) Address;
> -
> -  switch (Width) {
> -  case EfiPciWidthUint8:
> -  case EfiPciWidthUint16:
> -  case EfiPciWidthUint32:
> -  case EfiPciWidthUint64:
> -    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, TRUE, Out);
> -
> -  case EfiPciWidthFifoUint8:
> -  case EfiPciWidthFifoUint16:
> -  case EfiPciWidthFifoUint32:
> -  case EfiPciWidthFifoUint64:
> -    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, FALSE, Out);
> -
> -  case EfiPciWidthFillUint8:
> -  case EfiPciWidthFillUint16:
> -  case EfiPciWidthFillUint32:
> -  case EfiPciWidthFillUint64:
> -    return PciRootBridgeIoMemRW (Width, Count, FALSE, In, TRUE, Out);
> -
> -  default:
> -    break;
> -  }
> -
> -  return EFI_INVALID_PARAMETER;
> -}
> -
> -
> -
> -/**
> -  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
> -
> -  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
> -  @param  Width                 Signifies the width of the memory operations.
> -  @param  Address               The base address of the memory operations.
> -  @param  Count                 The number of memory operations to perform.
> -  @param  Buffer                For read operations, the destination buffer to store the results. For write
> -                                operations, the source buffer to write data from.
> -
> -  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
> -  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
> -  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoMemWrite (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  )
> -{
> -  PCI_ROOT_BRIDGE *Private;
> -  UINTN  AlignMask;
> -  PTR    In;
> -  PTR    Out;
> -
> -  if ( Buffer == NULL ) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Private = INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS (This);
> -
> -  if (!PciRootBridgeMemAddressValid (Private, Address)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  AlignMask = (1 << (Width & 0x03)) - 1;
> -  if (Address & AlignMask) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  In.buf  = (VOID *)(UINTN) Address;
> -  Out.buf = Buffer;
> -
> -  switch (Width) {
> -  case EfiPciWidthUint8:
> -  case EfiPciWidthUint16:
> -  case EfiPciWidthUint32:
> -  case EfiPciWidthUint64:
> -    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, TRUE, Out);
> -
> -  case EfiPciWidthFifoUint8:
> -  case EfiPciWidthFifoUint16:
> -  case EfiPciWidthFifoUint32:
> -  case EfiPciWidthFifoUint64:
> -    return PciRootBridgeIoMemRW (Width, Count, FALSE, In, TRUE, Out);
> -
> -  case EfiPciWidthFillUint8:
> -  case EfiPciWidthFillUint16:
> -  case EfiPciWidthFillUint32:
> -  case EfiPciWidthFillUint64:
> -    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, FALSE, Out);
> -
> -  default:
> -    break;
> -  }
> -
> -  return EFI_INVALID_PARAMETER;
> -}
> -
> -/**
> -  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
> -
> -  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
> -  @param  Width                 Signifies the width of the memory operations.
> -  @param  Address               The base address of the memory operations.
> -  @param  Count                 The number of memory operations to perform.
> -  @param  Buffer                For read operations, the destination buffer to store the results. For write
> -                                operations, the source buffer to write data from.
> -
> -  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
> -  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
> -  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoPciRead (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  )
> -{
> -  if (Buffer == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  return PciRootBridgeIoPciRW (This, FALSE, Width, Address, Count, Buffer);
> -}
> -
> -
> -
> -/**
> -  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
> -
> -  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
> -  @param  Width                 Signifies the width of the memory operations.
> -  @param  Address               The base address of the memory operations.
> -  @param  Count                 The number of memory operations to perform.
> -  @param  Buffer                For read operations, the destination buffer to store the results. For write
> -                                operations, the source buffer to write data from.
> -
> -  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
> -  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
> -  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -PciRootBridgeIoPciWrite (
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
> -  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
> -  IN     UINT64                                 Address,
> -  IN     UINTN                                  Count,
> -  IN OUT VOID                                   *Buffer
> -  )
> -{
> -  if (Buffer == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  return PciRootBridgeIoPciRW (This, TRUE, Width, Address, Count, Buffer);
> -}
> -
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c b/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c
> deleted file mode 100644
> index f2f43e252fdd..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c
> +++ /dev/null
> @@ -1,325 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Uefi.h>
> -#include <Omap3530/Omap3530.h>
> -
> -#include <Library/DebugLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -
> -#include <Protocol/SmbusHc.h>
> -
> -#define MAX_RETRY  1000
> -
> -//
> -// Internal Functions
> -//
> -STATIC
> -EFI_STATUS
> -WaitForBusBusy (
> -  VOID
> -  )
> -{
> -  UINTN Retry = 0;
> -
> -  while (++Retry < MAX_RETRY && (MmioRead16(I2C_STAT) & BB) == 0x1);
> -
> -  if (Retry == MAX_RETRY) {
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -STATIC
> -EFI_STATUS
> -PollForStatus(
> -  UINT16 StatusBit
> -  )
> -{
> -  UINTN Retry = 0;
> -
> -  while(Retry < MAX_RETRY) {
> -    if (MmioRead16(I2C_STAT) & StatusBit) {
> -      //Clear particular status bit from Status register.
> -      MmioOr16(I2C_STAT, StatusBit);
> -      break;
> -    }
> -    Retry++;
> -  }
> -
> -  if (Retry == MAX_RETRY) {
> -    return EFI_TIMEOUT;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -STATIC
> -EFI_STATUS
> -ConfigureI2c (
> -  VOID
> -  )
> -{
> -  //Program prescaler to obtain 12-MHz clock
> -  MmioWrite16(I2C_PSC, 0x0000);
> -
> -  //Program SCLL and SCLH
> -  //NOTE: Following values are the register dump after U-Boot code executed.
> -  //We need to figure out how its calculated based on the I2C functional clock and I2C_PSC.
> -  MmioWrite16(I2C_SCLL, 0x0035);
> -  MmioWrite16(I2C_SCLH, 0x0035);
> -
> -  //Take the I2C controller out of reset.
> -  MmioOr16(I2C_CON, I2C_EN);
> -
> -  //Initialize the I2C controller.
> -
> -  //Set I2C controller in Master mode.
> -  MmioOr16(I2C_CON, MST);
> -
> -  //Enable interrupts for receive/transmit mode.
> -  MmioOr16(I2C_IE, (XRDY_IE | RRDY_IE | ARDY_IE | NACK_IE));
> -
> -  return EFI_SUCCESS;
> -}
> -
> -STATIC
> -EFI_STATUS
> -I2CReadOneByte (
> -  UINT8 *Data
> -  )
> -{
> -  EFI_STATUS Status;
> -
> -  //I2C bus status checking
> -  Status = WaitForBusBusy();
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  //Poll till Receive ready bit is set.
> -  Status = PollForStatus(RRDY);
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  *Data = MmioRead8(I2C_DATA);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -STATIC
> -EFI_STATUS
> -I2CWriteOneByte (
> -  UINT8 Data
> -  )
> -{
> -  EFI_STATUS Status;
> -
> -  //I2C bus status checking
> -  Status = WaitForBusBusy();
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  //Data transfer
> -  //Poll till Transmit ready bit is set
> -  Status = PollForStatus(XRDY);
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  MmioWrite8(I2C_DATA, Data);
> -
> -  //Wait and check if the NACK is not set.
> -  gBS->Stall(1000);
> -  if (MmioRead16(I2C_STAT) & NACK) {
> -    return EFI_DEVICE_ERROR;
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -STATIC
> -EFI_STATUS
> -SmbusBlockRead (
> -  OUT UINT8       *Buffer,
> -  IN  UINTN       Length
> -  )
> -{
> -  UINTN      Index = 0;
> -  EFI_STATUS Status = EFI_SUCCESS;
> -
> -  //Transfer configuration for receiving data.
> -  MmioWrite16(I2C_CNT, Length);
> -  //Need stop bit before sending data.
> -  MmioWrite16(I2C_CON, (I2C_EN | MST | STP | STT));
> -
> -  while (Index < Length) {
> -    //Read a byte
> -    Status = I2CReadOneByte(&Buffer[Index++]);
> -    if (EFI_ERROR(Status)) {
> -      return Status;
> -    }
> -  }
> -
> -  //Transfer completion
> -  Status = PollForStatus(ARDY);
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  return Status;
> -}
> -
> -STATIC
> -EFI_STATUS
> -SmbusBlockWrite (
> -  IN UINT8       *Buffer,
> -  IN UINTN       Length
> -  )
> -{
> -  UINTN      Index = 0;
> -  EFI_STATUS Status = EFI_SUCCESS;
> -
> -  //Transfer configuration for transmitting data
> -  MmioWrite16(I2C_CNT, Length);
> -  MmioWrite16(I2C_CON, (I2C_EN | TRX | MST | STT | STP));
> -
> -  while (Index < Length) {
> -    //Send a byte
> -    Status = I2CWriteOneByte(Buffer[Index++]);
> -    if (EFI_ERROR(Status)) {
> -      return Status;
> -    }
> -  }
> -
> -  //Transfer completion
> -  Status = PollForStatus(ARDY);
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  return Status;
> -}
> -
> -//
> -// Public Functions.
> -//
> -EFI_STATUS
> -EFIAPI
> -SmbusExecute (
> -  IN CONST EFI_SMBUS_HC_PROTOCOL    *This,
> -  IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
> -  IN CONST EFI_SMBUS_DEVICE_COMMAND Command,
> -  IN CONST EFI_SMBUS_OPERATION      Operation,
> -  IN CONST BOOLEAN                  PecCheck,
> -  IN OUT   UINTN                    *Length,
> -  IN OUT   VOID                     *Buffer
> -  )
> -{
> -  UINT8      *ByteBuffer  = Buffer;
> -  EFI_STATUS Status       = EFI_SUCCESS;
> -  UINT8      SlaveAddr    = (UINT8)(SlaveAddress.SmbusDeviceAddress);
> -
> -  if (PecCheck) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  if ((Operation != EfiSmbusWriteBlock) && (Operation != EfiSmbusReadBlock)) {
> -    return EFI_UNSUPPORTED;
> -  }
> -
> -  //Set the Slave address.
> -  MmioWrite16(I2C_SA, SlaveAddr);
> -
> -  if (Operation == EfiSmbusReadBlock) {
> -    Status = SmbusBlockRead(ByteBuffer, *Length);
> -  } else if (Operation == EfiSmbusWriteBlock) {
> -    Status = SmbusBlockWrite(ByteBuffer, *Length);
> -  }
> -
> -  return Status;
> -}
> -
> -EFI_STATUS
> -EFIAPI
> -SmbusArpDevice (
> -  IN CONST EFI_SMBUS_HC_PROTOCOL    *This,
> -  IN       BOOLEAN                  ArpAll,
> -  IN       EFI_SMBUS_UDID           *SmbusUdid OPTIONAL,
> -  IN OUT   EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -
> -EFI_STATUS
> -EFIAPI
> -SmbusGetArpMap (
> -  IN CONST EFI_SMBUS_HC_PROTOCOL    *This,
> -  IN OUT   UINTN                    *Length,
> -  IN OUT   EFI_SMBUS_DEVICE_MAP     **SmbusDeviceMap
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -
> -EFI_STATUS
> -EFIAPI
> -SmbusNotify (
> -  IN CONST  EFI_SMBUS_HC_PROTOCOL     *This,
> -  IN CONST  EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress,
> -  IN CONST  UINTN                     Data,
> -  IN CONST  EFI_SMBUS_NOTIFY_FUNCTION NotifyFunction
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -EFI_SMBUS_HC_PROTOCOL SmbusProtocol =
> -{
> -  SmbusExecute,
> -  SmbusArpDevice,
> -  SmbusGetArpMap,
> -  SmbusNotify
> -};
> -
> -EFI_STATUS
> -InitializeSmbus (
> -    IN EFI_HANDLE       ImageHandle,
> -    IN EFI_SYSTEM_TABLE *SystemTable
> -    )
> -{
> -  EFI_HANDLE      Handle = NULL;
> -  EFI_STATUS      Status;
> -
> -  //Configure I2C controller.
> -  Status = ConfigureI2c();
> -  if (EFI_ERROR(Status)) {
> -    DEBUG ((EFI_D_ERROR, "InitializeI2c fails.\n"));
> -    return Status;
> -  }
> -
> -  // Install the SMBUS interface
> -  Status = gBS->InstallMultipleProtocolInterfaces(&Handle, &gEfiSmbusHcProtocolGuid, &SmbusProtocol, NULL);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  return Status;
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf b/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
> deleted file mode 100644
> index a92474f41f20..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = Smbus
> -  FILE_GUID                      = d5125e0f-1226-444f-a218-0085996ed5da
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = InitializeSmbus
> -
> -[Sources.common]
> -  Smbus.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  PcdLib
> -  UefiLib
> -  UefiDriverEntryPoint
> -  MemoryAllocationLib
> -  IoLib
> -
> -[Guids]
> -
> -[Protocols]
> -  gEfiSmbusHcProtocolGuid
> -
> -[Pcd]
> -
> -[depex]
> -  TRUE
> diff --git a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c b/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c
> deleted file mode 100644
> index 66f9d853ff11..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c
> +++ /dev/null
> @@ -1,116 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Uefi.h>
> -
> -#include <TPS65950.h>
> -
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -
> -#include <Protocol/EmbeddedExternalDevice.h>
> -#include <Protocol/SmbusHc.h>
> -
> -EFI_SMBUS_HC_PROTOCOL *Smbus;
> -
> -EFI_STATUS
> -Read (
> -  IN  EMBEDDED_EXTERNAL_DEVICE    *This,
> -  IN  UINTN                       Register,
> -  IN  UINTN                       Length,
> -  OUT VOID                        *Buffer
> -  )
> -{
> -  EFI_STATUS               Status;
> -  EFI_SMBUS_DEVICE_ADDRESS SlaveAddress;
> -  UINT8                    DeviceRegister;
> -  UINTN                    DeviceRegisterLength = 1;
> -
> -  SlaveAddress.SmbusDeviceAddress = EXTERNAL_DEVICE_REGISTER_TO_SLAVE_ADDRESS(Register);
> -  DeviceRegister = (UINT8)EXTERNAL_DEVICE_REGISTER_TO_REGISTER(Register);
> -
> -  //Write DeviceRegister.
> -  Status = Smbus->Execute(Smbus, SlaveAddress, 0, EfiSmbusWriteBlock, FALSE, &DeviceRegisterLength, &DeviceRegister);
> -  if (EFI_ERROR(Status)) {
> -    return Status;
> -  }
> -
> -  //Read Data
> -  Status = Smbus->Execute(Smbus, SlaveAddress, 0, EfiSmbusReadBlock, FALSE, &Length, Buffer);
> -  return Status;
> -}
> -
> -EFI_STATUS
> -Write (
> -  IN EMBEDDED_EXTERNAL_DEVICE   *This,
> -  IN UINTN                      Register,
> -  IN UINTN                      Length,
> -  IN VOID                       *Buffer
> -  )
> -{
> -  EFI_STATUS               Status;
> -  EFI_SMBUS_DEVICE_ADDRESS SlaveAddress;
> -  UINT8                    DeviceRegister;
> -  UINTN                    DeviceBufferLength = Length + 1;
> -  UINT8                    *DeviceBuffer;
> -
> -  SlaveAddress.SmbusDeviceAddress = EXTERNAL_DEVICE_REGISTER_TO_SLAVE_ADDRESS(Register);
> -  DeviceRegister = (UINT8)EXTERNAL_DEVICE_REGISTER_TO_REGISTER(Register);
> -
> -  //Prepare buffer for writing
> -  DeviceBuffer = (UINT8 *)AllocatePool(DeviceBufferLength);
> -  if (DeviceBuffer == NULL) {
> -    Status = EFI_OUT_OF_RESOURCES;
> -    goto exit;
> -  }
> -
> -  //Set Device register followed by data to write.
> -  DeviceBuffer[0] = DeviceRegister;
> -  CopyMem(&DeviceBuffer[1], Buffer, Length);
> -
> -  //Write Data
> -  Status = Smbus->Execute(Smbus, SlaveAddress, 0, EfiSmbusWriteBlock, FALSE, &DeviceBufferLength, DeviceBuffer);
> -  if (EFI_ERROR(Status)) {
> -    goto exit;
> -  }
> -
> -exit:
> -  if (DeviceBuffer) {
> -    FreePool(DeviceBuffer);
> -  }
> -
> -  return Status;
> -}
> -
> -EMBEDDED_EXTERNAL_DEVICE ExternalDevice = {
> -  Read,
> -  Write
> -};
> -
> -EFI_STATUS
> -TPS65950Initialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_STATUS  Status;
> -
> -  Status = gBS->LocateProtocol(&gEfiSmbusHcProtocolGuid, NULL, (VOID **)&Smbus);
> -  ASSERT_EFI_ERROR(Status);
> -
> -  Status = gBS->InstallMultipleProtocolInterfaces(&ImageHandle, &gEmbeddedExternalDeviceProtocolGuid, &ExternalDevice, NULL);
> -  return Status;
> -}
> diff --git a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf b/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
> deleted file mode 100644
> index bd851551042d..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = TPS65950
> -  FILE_GUID                      = 71fe861a-5450-48b6-bfb0-b93522616f99
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = TPS65950Initialize
> -
> -
> -[Sources.common]
> -  TPS65950.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  BaseMemoryLib
> -  PcdLib
> -  UefiLib
> -  UefiDriverEntryPoint
> -  MemoryAllocationLib
> -
> -[Guids]
> -
> -[Protocols]
> -  gEfiSmbusHcProtocolGuid
> -  gEmbeddedExternalDeviceProtocolGuid
> -
> -[Pcd]
> -
> -[depex]
> -  gEfiSmbusHcProtocolGuid
> diff --git a/Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c b/Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c
> deleted file mode 100644
> index 8b56d457e413..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c
> +++ /dev/null
> @@ -1,376 +0,0 @@
> -/** @file
> -  Template for Timer Architecture Protocol driver of the ARM flavor
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -
> -#include <PiDxe.h>
> -
> -#include <Library/BaseLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/OmapLib.h>
> -
> -#include <Protocol/Timer.h>
> -#include <Protocol/HardwareInterrupt.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -
> -// The notification function to call on every timer interrupt.
> -volatile EFI_TIMER_NOTIFY      mTimerNotifyFunction   = (EFI_TIMER_NOTIFY)NULL;
> -
> -
> -// The current period of the timer interrupt
> -volatile UINT64 mTimerPeriod = 0;
> -
> -// Cached copy of the Hardware Interrupt protocol instance
> -EFI_HARDWARE_INTERRUPT_PROTOCOL *gInterrupt = NULL;
> -
> -// Cached registers
> -volatile UINT32 TISR;
> -volatile UINT32 TCLR;
> -volatile UINT32 TLDR;
> -volatile UINT32 TCRR;
> -volatile UINT32 TIER;
> -
> -// Cached interrupt vector
> -volatile UINTN  gVector;
> -
> -
> -/**
> -
> -  C Interrupt Handler calledin the interrupt context when Source interrupt is active.
> -
> -
> -  @param Source         Source of the interrupt. Hardware routing off a specific platform defines
> -                        what source means.
> -
> -  @param SystemContext  Pointer to system register context. Mostly used by debuggers and will
> -                        update the system context after the return from the interrupt if
> -                        modified. Don't change these values unless you know what you are doing
> -
> -**/
> -VOID
> -EFIAPI
> -TimerInterruptHandler (
> -  IN  HARDWARE_INTERRUPT_SOURCE   Source,
> -  IN  EFI_SYSTEM_CONTEXT          SystemContext
> -  )
> -{
> -  EFI_TPL OriginalTPL;
> -
> -
> -
> -  //
> -  // DXE core uses this callback for the EFI timer tick. The DXE core uses locks
> -  // that raise to TPL_HIGH and then restore back to current level. Thus we need
> -  // to make sure TPL level is set to TPL_HIGH while we are handling the timer tick.
> -  //
> -  OriginalTPL = gBS->RaiseTPL (TPL_HIGH_LEVEL);
> -
> -  if (mTimerNotifyFunction) {
> -    mTimerNotifyFunction(mTimerPeriod);
> -  }
> -
> -  // Clear all timer interrupts
> -  MmioWrite32 (TISR, TISR_CLEAR_ALL);
> -
> -  // Poll interrupt status bits to ensure clearing
> -  while ((MmioRead32 (TISR) & TISR_ALL_INTERRUPT_MASK) != TISR_NO_INTERRUPTS_PENDING);
> -
> -  gBS->RestoreTPL (OriginalTPL);
> -}
> -
> -/**
> -  This function registers the handler NotifyFunction so it is called every time
> -  the timer interrupt fires.  It also passes the amount of time since the last
> -  handler call to the NotifyFunction.  If NotifyFunction is NULL, then the
> -  handler is unregistered.  If the handler is registered, then EFI_SUCCESS is
> -  returned.  If the CPU does not support registering a timer interrupt handler,
> -  then EFI_UNSUPPORTED is returned.  If an attempt is made to register a handler
> -  when a handler is already registered, then EFI_ALREADY_STARTED is returned.
> -  If an attempt is made to unregister a handler when a handler is not registered,
> -  then EFI_INVALID_PARAMETER is returned.  If an error occurs attempting to
> -  register the NotifyFunction with the timer interrupt, then EFI_DEVICE_ERROR
> -  is returned.
> -
> -  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
> -  @param  NotifyFunction   The function to call when a timer interrupt fires. This
> -                           function executes at TPL_HIGH_LEVEL. The DXE Core will
> -                           register a handler for the timer interrupt, so it can know
> -                           how much time has passed. This information is used to
> -                           signal timer based events. NULL will unregister the handler.
> -  @retval EFI_SUCCESS           The timer handler was registered.
> -  @retval EFI_UNSUPPORTED       The platform does not support timer interrupts.
> -  @retval EFI_ALREADY_STARTED   NotifyFunction is not NULL, and a handler is already
> -                                registered.
> -  @retval EFI_INVALID_PARAMETER NotifyFunction is NULL, and a handler was not
> -                                previously registered.
> -  @retval EFI_DEVICE_ERROR      The timer handler could not be registered.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -TimerDriverRegisterHandler (
> -  IN EFI_TIMER_ARCH_PROTOCOL  *This,
> -  IN EFI_TIMER_NOTIFY         NotifyFunction
> -  )
> -{
> -  if ((NotifyFunction == NULL) && (mTimerNotifyFunction == NULL)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  if ((NotifyFunction != NULL) && (mTimerNotifyFunction != NULL)) {
> -    return EFI_ALREADY_STARTED;
> -  }
> -
> -  mTimerNotifyFunction = NotifyFunction;
> -
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -
> -  This function adjusts the period of timer interrupts to the value specified
> -  by TimerPeriod.  If the timer period is updated, then the selected timer
> -  period is stored in EFI_TIMER.TimerPeriod, and EFI_SUCCESS is returned.  If
> -  the timer hardware is not programmable, then EFI_UNSUPPORTED is returned.
> -  If an error occurs while attempting to update the timer period, then the
> -  timer hardware will be put back in its state prior to this call, and
> -  EFI_DEVICE_ERROR is returned.  If TimerPeriod is 0, then the timer interrupt
> -  is disabled.  This is not the same as disabling the CPU's interrupts.
> -  Instead, it must either turn off the timer hardware, or it must adjust the
> -  interrupt controller so that a CPU interrupt is not generated when the timer
> -  interrupt fires.
> -
> -  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
> -  @param  TimerPeriod      The rate to program the timer interrupt in 100 nS units. If
> -                           the timer hardware is not programmable, then EFI_UNSUPPORTED is
> -                           returned. If the timer is programmable, then the timer period
> -                           will be rounded up to the nearest timer period that is supported
> -                           by the timer hardware. If TimerPeriod is set to 0, then the
> -                           timer interrupts will be disabled.
> -
> -
> -  @retval EFI_SUCCESS           The timer period was changed.
> -  @retval EFI_UNSUPPORTED       The platform cannot change the period of the timer interrupt.
> -  @retval EFI_DEVICE_ERROR      The timer period could not be changed due to a device error.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -TimerDriverSetTimerPeriod (
> -  IN EFI_TIMER_ARCH_PROTOCOL  *This,
> -  IN UINT64                   TimerPeriod
> -  )
> -{
> -  EFI_STATUS  Status;
> -  UINT64      TimerCount;
> -  INT32       LoadValue;
> -
> -  if (TimerPeriod == 0) {
> -    // Turn off GPTIMER3
> -    MmioWrite32 (TCLR, TCLR_ST_OFF);
> -
> -    Status = gInterrupt->DisableInterruptSource(gInterrupt, gVector);
> -  } else {
> -    // Calculate required timer count
> -    TimerCount = DivU64x32(TimerPeriod * 100, PcdGet32(PcdEmbeddedPerformanceCounterPeriodInNanoseconds));
> -
> -    // Set GPTIMER3 Load register
> -    LoadValue = (INT32) -TimerCount;
> -    MmioWrite32 (TLDR, LoadValue);
> -    MmioWrite32 (TCRR, LoadValue);
> -
> -    // Enable Overflow interrupt
> -    MmioWrite32 (TIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_ENABLE | TIER_MAT_IT_DISABLE);
> -
> -    // Turn on GPTIMER3, it will reload at overflow
> -    MmioWrite32 (TCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON);
> -
> -    Status = gInterrupt->EnableInterruptSource(gInterrupt, gVector);
> -  }
> -
> -  //
> -  // Save the new timer period
> -  //
> -  mTimerPeriod = TimerPeriod;
> -  return Status;
> -}
> -
> -
> -/**
> -  This function retrieves the period of timer interrupts in 100 ns units,
> -  returns that value in TimerPeriod, and returns EFI_SUCCESS.  If TimerPeriod
> -  is NULL, then EFI_INVALID_PARAMETER is returned.  If a TimerPeriod of 0 is
> -  returned, then the timer is currently disabled.
> -
> -  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
> -  @param  TimerPeriod      A pointer to the timer period to retrieve in 100 ns units. If
> -                           0 is returned, then the timer is currently disabled.
> -
> -
> -  @retval EFI_SUCCESS           The timer period was returned in TimerPeriod.
> -  @retval EFI_INVALID_PARAMETER TimerPeriod is NULL.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -TimerDriverGetTimerPeriod (
> -  IN EFI_TIMER_ARCH_PROTOCOL   *This,
> -  OUT UINT64                   *TimerPeriod
> -  )
> -{
> -  if (TimerPeriod == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  *TimerPeriod = mTimerPeriod;
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  This function generates a soft timer interrupt. If the platform does not support soft
> -  timer interrupts, then EFI_UNSUPPORTED is returned. Otherwise, EFI_SUCCESS is returned.
> -  If a handler has been registered through the EFI_TIMER_ARCH_PROTOCOL.RegisterHandler()
> -  service, then a soft timer interrupt will be generated. If the timer interrupt is
> -  enabled when this service is called, then the registered handler will be invoked. The
> -  registered handler should not be able to distinguish a hardware-generated timer
> -  interrupt from a software-generated timer interrupt.
> -
> -  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
> -
> -  @retval EFI_SUCCESS           The soft timer interrupt was generated.
> -  @retval EFI_UNSUPPORTED       The platform does not support the generation of soft timer interrupts.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -TimerDriverGenerateSoftInterrupt (
> -  IN EFI_TIMER_ARCH_PROTOCOL  *This
> -  )
> -{
> -  return EFI_UNSUPPORTED;
> -}
> -
> -
> -/**
> -  Interface stucture for the Timer Architectural Protocol.
> -
> -  @par Protocol Description:
> -  This protocol provides the services to initialize a periodic timer
> -  interrupt, and to register a handler that is called each time the timer
> -  interrupt fires.  It may also provide a service to adjust the rate of the
> -  periodic timer interrupt.  When a timer interrupt occurs, the handler is
> -  passed the amount of time that has passed since the previous timer
> -  interrupt.
> -
> -  @param RegisterHandler
> -  Registers a handler that will be called each time the
> -  timer interrupt fires.  TimerPeriod defines the minimum
> -  time between timer interrupts, so TimerPeriod will also
> -  be the minimum time between calls to the registered
> -  handler.
> -
> -  @param SetTimerPeriod
> -  Sets the period of the timer interrupt in 100 nS units.
> -  This function is optional, and may return EFI_UNSUPPORTED.
> -  If this function is supported, then the timer period will
> -  be rounded up to the nearest supported timer period.
> -
> -
> -  @param GetTimerPeriod
> -  Retrieves the period of the timer interrupt in 100 nS units.
> -
> -  @param GenerateSoftInterrupt
> -  Generates a soft timer interrupt that simulates the firing of
> -  the timer interrupt. This service can be used to invoke the   registered handler if the timer interrupt has been masked for
> -  a period of time.
> -
> -**/
> -EFI_TIMER_ARCH_PROTOCOL   gTimer = {
> -  TimerDriverRegisterHandler,
> -  TimerDriverSetTimerPeriod,
> -  TimerDriverGetTimerPeriod,
> -  TimerDriverGenerateSoftInterrupt
> -};
> -
> -
> -/**
> -  Initialize the state information for the Timer Architectural Protocol and
> -  the Timer Debug support protocol that allows the debugger to break into a
> -  running program.
> -
> -  @param  ImageHandle   of the loaded driver
> -  @param  SystemTable   Pointer to the System Table
> -
> -  @retval EFI_SUCCESS           Protocol registered
> -  @retval EFI_OUT_OF_RESOURCES  Cannot allocate protocol data structure
> -  @retval EFI_DEVICE_ERROR      Hardware problems
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -TimerInitialize (
> -  IN EFI_HANDLE         ImageHandle,
> -  IN EFI_SYSTEM_TABLE   *SystemTable
> -  )
> -{
> -  EFI_HANDLE  Handle = NULL;
> -  EFI_STATUS  Status;
> -  UINT32      TimerBaseAddress;
> -
> -  // Find the interrupt controller protocol.  ASSERT if not found.
> -  Status = gBS->LocateProtocol (&gHardwareInterruptProtocolGuid, NULL, (VOID **)&gInterrupt);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // Set up the timer registers
> -  TimerBaseAddress = TimerBase (FixedPcdGet32(PcdOmap35xxArchTimer));
> -  TISR = TimerBaseAddress + GPTIMER_TISR;
> -  TCLR = TimerBaseAddress + GPTIMER_TCLR;
> -  TLDR = TimerBaseAddress + GPTIMER_TLDR;
> -  TCRR = TimerBaseAddress + GPTIMER_TCRR;
> -  TIER = TimerBaseAddress + GPTIMER_TIER;
> -
> -  // Disable the timer
> -  Status = TimerDriverSetTimerPeriod (&gTimer, 0);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // Install interrupt handler
> -  gVector = InterruptVectorForTimer (FixedPcdGet32(PcdOmap35xxArchTimer));
> -  Status = gInterrupt->RegisterInterruptSource (gInterrupt, gVector, TimerInterruptHandler);
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // Turn on the functional clock for Timer
> -  MmioOr32 (CM_FCLKEN_PER, CM_FCLKEN_PER_EN_GPT3_ENABLE);
> -
> -  // Set up default timer
> -  Status = TimerDriverSetTimerPeriod (&gTimer, FixedPcdGet32(PcdTimerPeriod));
> -  ASSERT_EFI_ERROR (Status);
> -
> -  // Install the Timer Architectural Protocol onto a new handle
> -  Status = gBS->InstallMultipleProtocolInterfaces (
> -                  &Handle,
> -                  &gEfiTimerArchProtocolGuid,      &gTimer,
> -                  NULL
> -                  );
> -  ASSERT_EFI_ERROR(Status);
> -
> -  return Status;
> -}
> -
> diff --git a/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf b/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
> deleted file mode 100644
> index 6344a1d28889..000000000000
> --- a/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -#/** @file
> -#
> -#    Component description file for Timer module
> -#
> -#  Copyright (c) 2009, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardTimerDxe
> -  FILE_GUID                      = 6ddbf08b-cfc9-43cc-9e81-0784ba312ca0
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = TimerInitialize
> -
> -[Sources.common]
> -  Timer.c
> -
> -[Packages]
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  ArmPkg/ArmPkg.dec
> -
> -[LibraryClasses]
> -  BaseLib
> -  UefiRuntimeServicesTableLib
> -  UefiLib
> -  UefiBootServicesTableLib
> -  BaseMemoryLib
> -  DebugLib
> -  UefiDriverEntryPoint
> -  IoLib
> -  OmapLib
> -
> -[Guids]
> -
> -[Protocols]
> -  gEfiTimerArchProtocolGuid
> -  gHardwareInterruptProtocolGuid
> -
> -[Pcd.common]
> -  gEmbeddedTokenSpaceGuid.PcdTimerPeriod
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer
> -
> -[Depex]
> -  gHardwareInterruptProtocolGuid
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf b/Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf
> deleted file mode 100644
> index 2b20a09549d5..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf
> +++ /dev/null
> @@ -1,65 +0,0 @@
> -
> -#/** @file
> -#
> -#    Component description file for Bds module
> -#
> -#  Copyright (c) 2009, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardBds
> -  FILE_GUID                      = 934431fe-5745-402e-913d-17b4434eb0f3
> -  MODULE_TYPE                    = DXE_DRIVER
> -  VERSION_STRING                 = 1.0
> -
> -  ENTRY_POINT                    = BdsInitialize
> -
> -[Sources.common]
> -  BdsEntry.c
> -  FirmwareVolume.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -
> -[LibraryClasses]
> -  DevicePathLib
> -  BaseLib
> -  HobLib
> -  UefiRuntimeServicesTableLib
> -  ReportStatusCodeLib
> -  PerformanceLib
> -  DxeServicesTableLib
> -  MemoryAllocationLib
> -  UefiLib
> -  UefiBootServicesTableLib
> -  BaseMemoryLib
> -  DebugLib
> -  PrintLib
> -  UefiDriverEntryPoint
> -
> -[Guids]
> -
> -
> -[Protocols]
> -  gEfiBdsArchProtocolGuid
> -  gEfiSimpleTextInProtocolGuid
> -  gEfiSimpleTextOutProtocolGuid
> -  gEfiSerialIoProtocolGuid
> -  gEfiDevicePathProtocolGuid
> -  gEfiSimpleFileSystemProtocolGuid
> -  gEfiUsbIoProtocolGuid
> -  gEfiFirmwareVolume2ProtocolGuid
> -
> -[Depex]
> -  TRUE
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c b/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c
> deleted file mode 100644
> index f2f1ae3983a6..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c
> +++ /dev/null
> @@ -1,242 +0,0 @@
> -/** @file
> -  The entry of the embedded BDS. This BDS does not follow the Boot Manager requirements
> -  of the UEFI specification as it is designed to implement an embedded systmes
> -  propriatary boot scheme.
> -
> -  This template assume a DXE driver produces a SerialIo protocol not using the EFI
> -  driver module and it will attempt to connect a console on top of this.
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include "BdsEntry.h"
> -
> -
> -BOOLEAN     gConsolePresent = FALSE;
> -
> -EFI_BDS_ARCH_PROTOCOL  gBdsProtocol = {
> -  BdsEntry,
> -};
> -
> -
> -
> -
> -/**
> -  This function uses policy data from the platform to determine what operating
> -  system or system utility should be loaded and invoked.  This function call
> -  also optionally make the use of user input to determine the operating system
> -  or system utility to be loaded and invoked.  When the DXE Core has dispatched
> -  all the drivers on the dispatch queue, this function is called.  This
> -  function will attempt to connect the boot devices required to load and invoke
> -  the selected operating system or system utility.  During this process,
> -  additional firmware volumes may be discovered that may contain addition DXE
> -  drivers that can be dispatched by the DXE Core.   If a boot device cannot be
> -  fully connected, this function calls the DXE Service Dispatch() to allow the
> -  DXE drivers from any newly discovered firmware volumes to be dispatched.
> -  Then the boot device connection can be attempted again.  If the same boot
> -  device connection operation fails twice in a row, then that boot device has
> -  failed, and should be skipped.  This function should never return.
> -
> -  @param  This             The EFI_BDS_ARCH_PROTOCOL instance.
> -
> -  @return None.
> -
> -**/
> -VOID
> -EFIAPI
> -BdsEntry (
> -  IN EFI_BDS_ARCH_PROTOCOL  *This
> -  )
> -{
> -  EFI_STATUS                Status;
> -  UINTN                     NoHandles;
> -  EFI_HANDLE                *Buffer;
> -  EFI_HANDLE                FvHandle;
> -  EFI_HANDLE                ImageHandle;
> -  EFI_HANDLE                UsbDeviceHandle;
> -  EFI_GUID                  NameGuid;
> -  UINTN                     Size;
> -  UINTN                     HandleCount;
> -  UINTN                     OldHandleCount;
> -  EFI_HANDLE                *HandleBuffer;
> -  UINTN                     Index;
> -  EFI_DEVICE_PATH_PROTOCOL  *LoadImageDevicePath;
> -  EFI_DEVICE_PATH_PROTOCOL  *FileSystemDevicePath;
> -
> -  PERF_END   (NULL, "DXE", NULL, 0);
> -  PERF_START (NULL, "BDS", NULL, 0);
> -
> -
> -  //
> -  // Now do the EFI stuff
> -  //
> -  Size = 0x100;
> -  gST->FirmwareVendor = AllocateRuntimePool (Size);
> -  ASSERT (gST->FirmwareVendor != NULL);
> -
> -  UnicodeSPrint (gST->FirmwareVendor, Size, L"BeagleBoard EFI %a %a", __DATE__, __TIME__);
> -
> -  //
> -  // Now we need to setup the EFI System Table with information about the console devices.
> -  // This code is normally in the console spliter driver on platforms that support multiple
> -  // consoles at the same time
> -  //
> -  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiSimpleTextOutProtocolGuid, NULL, &NoHandles, &Buffer);
> -  if (!EFI_ERROR (Status)) {
> -    // Use the first SimpleTextOut we find and update the EFI System Table
> -    gST->ConsoleOutHandle = Buffer[0];
> -    gST->StandardErrorHandle = Buffer[0];
> -    Status = gBS->HandleProtocol (Buffer[0], &gEfiSimpleTextOutProtocolGuid, (VOID **)&gST->ConOut);
> -    ASSERT_EFI_ERROR (Status);
> -
> -    gST->StdErr = gST->ConOut;
> -
> -    gST->ConOut->OutputString (gST->ConOut, L"BDS: Console Started!!!!\n\r");
> -    FreePool (Buffer);
> -
> -    gConsolePresent = TRUE;
> -  }
> -
> -
> -  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiSimpleTextInProtocolGuid, NULL, &NoHandles, &Buffer);
> -  if (!EFI_ERROR (Status)) {
> -    // Use the first SimpleTextIn we find and update the EFI System Table
> -    gST->ConsoleInHandle = Buffer[0];
> -    Status = gBS->HandleProtocol (Buffer[0], &gEfiSimpleTextInProtocolGuid, (VOID **)&gST->ConIn);
> -    ASSERT_EFI_ERROR (Status);
> -
> -    FreePool (Buffer);
> -  }
> -
> -  //
> -  // We now have EFI Consoles up and running. Print () will work now. DEBUG () and ASSERT () worked
> -  // prior to this point as they were configured to use a more primative output scheme.
> -  //
> -
> -  //
> -  //Perform Connect
> -  //
> -  HandleCount = 0;
> -  while (1) {
> -    OldHandleCount = HandleCount;
> -    Status = gBS->LocateHandleBuffer (
> -                    AllHandles,
> -                    NULL,
> -                    NULL,
> -                    &HandleCount,
> -                    &HandleBuffer
> -                    );
> -    if (EFI_ERROR (Status)) {
> -      break;
> -    }
> -
> -    if (HandleCount == OldHandleCount) {
> -      break;
> -    }
> -
> -    for (Index = 0; Index < HandleCount; Index++) {
> -      gBS->ConnectController (HandleBuffer[Index], NULL, NULL, TRUE);
> -    }
> -  }
> -
> -  EfiSignalEventReadyToBoot ();
> -
> -  //Locate handles for SimpleFileSystem protocol
> -  Status = gBS->LocateHandleBuffer (
> -                  ByProtocol,
> -                  &gEfiSimpleFileSystemProtocolGuid,
> -                  NULL,
> -                  &HandleCount,
> -                  &HandleBuffer
> -                  );
> -  if (!EFI_ERROR(Status)) {
> -    for (Index = 0; Index < HandleCount; Index++) {
> -      //Get the device path
> -      FileSystemDevicePath = DevicePathFromHandle(HandleBuffer[Index]);
> -      if (FileSystemDevicePath == NULL) {
> -        continue;
> -      }
> -
> -      //Check if UsbIo is on any handles in the device path.
> -      Status = gBS->LocateDevicePath(&gEfiUsbIoProtocolGuid, &FileSystemDevicePath, &UsbDeviceHandle);
> -      if (EFI_ERROR(Status)) {
> -        continue;
> -      }
> -
> -      //Check if Usb stick has a magic EBL file.
> -      LoadImageDevicePath = FileDevicePath(HandleBuffer[Index], L"Ebl.efi");
> -      Status = gBS->LoadImage (TRUE, gImageHandle, LoadImageDevicePath, NULL, 0, &ImageHandle);
> -      if (EFI_ERROR(Status)) {
> -        continue;
> -      }
> -
> -      //Boot to Shell on USB stick.
> -      Status = gBS->StartImage (ImageHandle, NULL, NULL);
> -      if (EFI_ERROR(Status)) {
> -        continue;
> -      }
> -    }
> -  }
> -
> -  //
> -  // Normal UEFI behavior is to process Globally Defined Variables as defined in Chapter 3
> -  // (Boot Manager) of the UEFI specification. For this embedded system we don't do this.
> -  //
> -
> -  //
> -  // Search all the FVs for an application with a UI Section of Ebl. A .FDF file can be used
> -  // to control the names of UI sections in an FV.
> -  //
> -  Status = FindApplicationMatchingUiSection (L"Ebl", &FvHandle, &NameGuid);
> -  if (!EFI_ERROR (Status)) {
> -
> -    //Boot to Shell.
> -    Status = LoadPeCoffSectionFromFv (FvHandle, &NameGuid);
> -
> -    if (EFI_ERROR(Status)) {
> -      DEBUG((EFI_D_ERROR, "Boot from Shell failed. Status: %r\n", Status));
> -    }
> -  }
> -
> -  //
> -  // EFI does not define the behaviour if all boot attemps fail and the last one returns.
> -  // So we make a policy choice to reset the system since this BDS does not have a UI.
> -  //
> -  gRT->ResetSystem (EfiResetShutdown, Status, 0, NULL);
> -
> -  return ;
> -}
> -
> -
> -EFI_STATUS
> -EFIAPI
> -BdsInitialize (
> -  IN EFI_HANDLE                            ImageHandle,
> -  IN EFI_SYSTEM_TABLE                      *SystemTable
> -  )
> -{
> -  EFI_STATUS  Status;
> -
> -  //
> -  // Install protocol interface
> -  //
> -  Status = gBS->InstallMultipleProtocolInterfaces (
> -                  &ImageHandle,
> -                  &gEfiBdsArchProtocolGuid, &gBdsProtocol,
> -                  NULL
> -                  );
> -  ASSERT_EFI_ERROR (Status);
> -
> -  return Status;
> -}
> -
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h b/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h
> deleted file mode 100644
> index 646f7b276d45..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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 __BDS_ENTRY_H__
> -#define __BDS_ENTRY_H__
> -
> -#include <PiDxe.h>
> -#include <Library/BaseLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/PrintLib.h>
> -#include <Library/BaseMemoryLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/DxeServicesTableLib.h>
> -#include <Library/UefiRuntimeServicesTableLib.h>
> -#include <Library/HobLib.h>
> -#include <Library/DevicePathLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/PrintLib.h>
> -#include <Library/PerformanceLib.h>
> -
> -#include <Protocol/Bds.h>
> -#include <Protocol/SerialIo.h>
> -#include <Protocol/FirmwareVolume2.h>
> -#include <Protocol/SimpleTextIn.h>
> -#include <Protocol/SimpleTextOut.h>
> -#include <Protocol/EmbeddedDevice.h>
> -#include <Protocol/DevicePath.h>
> -#include <Protocol/SimpleFileSystem.h>
> -#include <Protocol/UsbIo.h>
> -
> -
> -EFI_STATUS
> -LoadPeCoffSectionFromFv (
> - IN  EFI_HANDLE   FvHandle,
> - IN  EFI_GUID     *NameGuid
> - );
> -
> -EFI_STATUS
> -FindApplicationMatchingUiSection (
> -  IN  CHAR16      *UiString,
> -  OUT EFI_HANDLE  *FvHandle,
> -  OUT EFI_GUID    *NameGuid
> -  );
> -
> -VOID
> -EFIAPI
> -BdsEntry (
> -  IN EFI_BDS_ARCH_PROTOCOL  *This
> -  );
> -
> -#endif
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c b/Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c
> deleted file mode 100644
> index 31e1c5100eff..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c
> +++ /dev/null
> @@ -1,150 +0,0 @@
> -/** @file
> -  The entry of the embedded BDS. This BDS does not follow the Boot Manager requirements
> -  of the UEFI specification as it is designed to implement an embedded systmes
> -  propriatary boot scheme.
> -
> -  This template assume a DXE driver produces a SerialIo protocol not using the EFI
> -  driver module and it will attempt to connect a console on top of this.
> -
> -
> -  Copyright (c) 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include "BdsEntry.h"
> -
> -
> -EFI_STATUS
> -FindApplicationMatchingUiSection (
> -  IN  CHAR16      *UiString,
> -  OUT EFI_HANDLE  *FvHandle,
> -  OUT EFI_GUID    *NameGuid
> -  )
> -{
> -  EFI_STATUS                    Status;
> -  EFI_STATUS                    NextStatus;
> -  UINTN                         NoHandles;
> -  EFI_HANDLE                    *Buffer;
> -  UINTN                         Index;
> -  EFI_FV_FILETYPE               FileType;
> -  EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv;
> -  VOID                          *Key;
> -  EFI_FV_FILE_ATTRIBUTES        Attributes;
> -  UINTN                         Size;
> -  UINTN                         UiStringLen;
> -  CHAR16                        *UiSection;
> -  UINT32                        Authentication;
> -
> -
> -  UiStringLen = 0;
> -  if (UiString != NULL) {
> -    DEBUG ((DEBUG_ERROR, "UiString %s\n", UiString));
> -    UiStringLen = StrLen (UiString);
> -  }
> -
> -  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiFirmwareVolume2ProtocolGuid, NULL, &NoHandles, &Buffer);
> -  if (!EFI_ERROR (Status)) {
> -    for (Index = 0; Index < NoHandles; Index++) {
> -      Status = gBS->HandleProtocol (Buffer[Index], &gEfiFirmwareVolume2ProtocolGuid, (VOID **)&Fv);
> -      if (!EFI_ERROR (Status)) {
> -        Key = AllocatePool (Fv->KeySize);
> -        ASSERT (Key != NULL);
> -        ZeroMem (Key, Fv->KeySize);
> -
> -        FileType = EFI_FV_FILETYPE_APPLICATION;
> -
> -        do {
> -          NextStatus = Fv->GetNextFile (Fv, Key, &FileType, NameGuid, &Attributes, &Size);
> -          if (!EFI_ERROR (NextStatus)) {
> -            if (UiString == NULL) {
> -              //
> -              // If UiString is NULL match first application we find.
> -              //
> -              *FvHandle = Buffer[Index];
> -              FreePool (Key);
> -              return Status;
> -            }
> -
> -            UiSection = NULL;
> -            Status = Fv->ReadSection (
> -                          Fv,
> -                          NameGuid,
> -                          EFI_SECTION_USER_INTERFACE,
> -                          0,
> -                          (VOID **)&UiSection,
> -                          &Size,
> -                          &Authentication
> -                          );
> -            if (!EFI_ERROR (Status)) {
> -              if (StrnCmp (UiString, UiSection, UiStringLen) == 0) {
> -                //
> -                // We found a UiString match.
> -                //
> -                *FvHandle = Buffer[Index];
> -                FreePool (Key);
> -                FreePool (UiSection);
> -                return Status;
> -              }
> -              FreePool (UiSection);
> -            }
> -          }
> -        } while (!EFI_ERROR (NextStatus));
> -
> -        FreePool (Key);
> -      }
> -    }
> -
> -    FreePool (Buffer);
> -   }
> -
> -  return EFI_NOT_FOUND;
> -}
> -
> -
> -EFI_DEVICE_PATH *
> -FvFileDevicePath (
> -  IN  EFI_HANDLE   FvHandle,
> -  IN  EFI_GUID     *NameGuid
> -  )
> -{
> -  EFI_DEVICE_PATH_PROTOCOL          *DevicePath;
> -  MEDIA_FW_VOL_FILEPATH_DEVICE_PATH NewNode;
> -
> -  DevicePath = DevicePathFromHandle (FvHandle);
> -
> -  EfiInitializeFwVolDevicepathNode (&NewNode, NameGuid);
> -
> -  return AppendDevicePathNode (DevicePath, (EFI_DEVICE_PATH_PROTOCOL *)&NewNode);
> -}
> -
> -
> -
> -EFI_STATUS
> -LoadPeCoffSectionFromFv (
> - IN  EFI_HANDLE   FvHandle,
> - IN  EFI_GUID     *NameGuid
> - )
> -{
> -  EFI_STATUS                    Status;
> -  EFI_DEVICE_PATH_PROTOCOL      *DevicePath;
> -  EFI_HANDLE                    ImageHandle;
> -
> -  DevicePath = FvFileDevicePath (FvHandle, NameGuid);
> -
> -  Status = gBS->LoadImage (TRUE, gImageHandle, DevicePath, NULL, 0, &ImageHandle);
> -  if (!EFI_ERROR (Status)) {
> -    PERF_END (NULL, "BDS", NULL, 0);
> -    Status = gBS->StartImage (ImageHandle, NULL, NULL);
> -  }
> -
> -  return Status;
> -}
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec
> deleted file mode 100644
> index 496442a627e8..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -#/** @file
> -# Beagle board package.
> -#
> -# Copyright (c) 2009, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  DEC_SPECIFICATION              = 0x00010005
> -  PACKAGE_NAME                   = BeagleBoardPkg
> -  PACKAGE_GUID                   = 6eba6648-d853-4eb3-9761-528b82d5ab04
> -  PACKAGE_VERSION                = 0.1
> -
> -################################################################################
> -#
> -# Include Section - list of Include Paths that are provided by this package.
> -#                   Comments are used for Keywords and Module Types.
> -#
> -# Supported Module Types:
> -#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
> -#
> -################################################################################
> -[Includes.common]
> -  Include                        # Root include for the package
> -
> -[Guids.common]
> -  gBeagleBoardTokenSpaceGuid    =  { 0x6834fe45, 0x4aee, 0x4fc6, { 0xbc, 0xb5, 0xff, 0x45, 0xb7, 0xa8, 0x71, 0xe2 } }
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc
> deleted file mode 100644
> index f04aa983d307..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc
> +++ /dev/null
> @@ -1,481 +0,0 @@
> -#/** @file
> -# Beagle board package.
> -#
> -# Copyright (c) 2009 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -################################################################################
> -#
> -# Defines Section - statements that will be processed to create a Makefile.
> -#
> -################################################################################
> -[Defines]
> -  PLATFORM_NAME                  = BeagleBoardPkg
> -  PLATFORM_GUID                  = 91fa6c28-33df-46ac-aee6-292d6811ea31
> -  PLATFORM_VERSION               = 0.1
> -  DSC_SPECIFICATION              = 0x00010005
> -  OUTPUT_DIRECTORY               = Build/BeagleBoard
> -  SUPPORTED_ARCHITECTURES        = ARM
> -  BUILD_TARGETS                  = DEBUG|RELEASE
> -  SKUID_IDENTIFIER               = DEFAULT
> -  FLASH_DEFINITION               = OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf
> -
> -
> -[LibraryClasses.common]
> -  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> -  ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
> -  ArmPlatformLib|OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf
> -  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf
> -  ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
> -  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
> -
> -  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> -  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
> -
> -!if $(TARGET) == RELEASE
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> -  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
> -!else
> -  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
> -  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
> -#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
> -!endif
> -  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> -
> -  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -
> -  EfiResetSystemLib|OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf
> -
> -  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
> -  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -
> -  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
> -
> -  # These libraries are used by the dynamic EFI Shell commands
> -  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
> -  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
> -  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
> -
> -  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
> -
> -  #
> -  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
> -  # in the debugger will show load and unload commands for symbols. You can cut and paste this
> -  # into the command window to load symbols. We should be able to use a script to do this, but
> -  # the version of RVD I have does not support scipts accessing system memory.
> -  #
> -#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
> -  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
> -#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
> -
> -
> -  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
> -  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
> -  CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
> -  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
> -
> -  SerialPortLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf
> -  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
> -
> -  RealTimeClockLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf
> -
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -
> -  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
> -  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> -  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
> -
> -  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
> -  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
> -  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
> -
> -#
> -# Assume everything is fixed at build
> -#
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -
> -  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> -
> -  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
> -
> -  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
> -
> -  TimerLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
> -  OmapLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
> -  OmapDmaLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
> -  DebugAgentTimerLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
> -
> -  GdbSerialLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf
> -  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
> -  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
> -  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
> -
> -  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
> -  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
> -  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
> -
> -[LibraryClasses.common.SEC]
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
> -  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
> -  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
> -  LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
> -
> -  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
> -
> -  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
> -  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
> -  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
> -  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
> -  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
> -  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
> -
> -  # 1/123 faster than Stm or Vstm version
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -
> -  # Uncomment to turn on GDB stub in SEC.
> -  #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf
> -
> -[LibraryClasses.common.PEI_CORE]
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
> -
> -[LibraryClasses.common.DXE_CORE]
> -  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
> -  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
> -  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
> -  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
> -  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
> -  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
> -  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
> -
> -  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
> -
> -
> -[LibraryClasses.common.DXE_DRIVER]
> -  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
> -  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
> -
> -[LibraryClasses.common.UEFI_APPLICATION]
> -  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
> -  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
> -  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
> -  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER]
> -  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
> -  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
> -  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
> -  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
> -  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
> -
> -[LibraryClasses.common.DXE_RUNTIME_DRIVER]
> -  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
> -  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
> -  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
> -  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
> -#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
> -  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
> -
> -
> -[LibraryClasses.ARM]
> -  #
> -  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
> -  # This library provides the instrinsic functions generate by a given compiler.
> -  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
> -  #
> -  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> -
> -  # Add support for GCC stack protector
> -  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> -
> -[BuildOptions]
> -  XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7
> -
> -  GCC:*_*_ARM_PLATFORM_FLAGS == -march=armv7-a
> -
> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A8
> -
> -################################################################################
> -#
> -# Pcd Section - list of all EDK II PCD Entries defined by this Platform
> -#
> -################################################################################
> -
> -[PcdsFeatureFlag.common]
> -  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
> -  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
> -  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
> -  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
> -
> -  #
> -  # Control what commands are supported from the UI
> -  # Turn these on and off to add features or save size
> -  #
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
> -
> -  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
> -
> -  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
> -  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
> -
> -  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
> -  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE
> -
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
> -
> -  ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
> -  #  It could be set FALSE to save size.
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
> -
> -[PcdsFixedAtBuild.common]
> -  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Beagle Board"
> -
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"BeagleEdk2"
> -  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
> -  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
> -  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
> -  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
> -  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
> -  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
> -  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
> -
> -# DEBUG_ASSERT_ENABLED       0x01
> -# DEBUG_PRINT_ENABLED        0x02
> -# DEBUG_CODE_ENABLED         0x04
> -# CLEAR_MEMORY_ENABLED       0x08
> -# ASSERT_BREAKPOINT_ENABLED  0x10
> -# ASSERT_DEADLOOP_ENABLED    0x20
> -!if $(TARGET) == RELEASE
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
> -!else
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
> -!endif
> -
> -#  DEBUG_INIT      0x00000001  // Initialization
> -#  DEBUG_WARN      0x00000002  // Warnings
> -#  DEBUG_LOAD      0x00000004  // Load events
> -#  DEBUG_FS        0x00000008  // EFI File system
> -#  DEBUG_POOL      0x00000010  // Alloc & Free's
> -#  DEBUG_PAGE      0x00000020  // Alloc & Free's
> -#  DEBUG_INFO      0x00000040  // Verbose
> -#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
> -#  DEBUG_VARIABLE  0x00000100  // Variable
> -#  DEBUG_BM        0x00000400  // Boot Manager
> -#  DEBUG_BLKIO     0x00001000  // BlkIo Driver
> -#  DEBUG_NET       0x00004000  // SNI Driver
> -#  DEBUG_UNDI      0x00010000  // UNDI Driver
> -#  DEBUG_LOADFILE  0x00020000  // UNDI Driver
> -#  DEBUG_EVENT     0x00080000  // Event messages
> -#  DEBUG_ERROR     0x80000000  // Error
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
> -
> -  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
> -
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
> -
> -#
> -# Optional feature to help prevent EFI memory map fragments
> -# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
> -# Values are in EFI Pages (4K). DXE Core will make sure that
> -# at least this much of each type of memory can be allocated
> -# from a single memory range. This way you only end up with
> -# maximum of two fragements for each type in the memory map
> -# (the memory used, and the free memory that was prereserved
> -# but not used).
> -#
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10
> -  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
> -
> -
> -#
> -# Beagle board Specific PCDs
> -#
> -  gArmTokenSpaceGuid.PcdVFPEnabled|1
> -
> -  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
> -  gArmTokenSpaceGuid.PcdSystemMemorySize|0x08000000
> -
> -  # Size of the region used by UEFI in permanent memory (Reserved 16MB)
> -  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x01000000
> -
> -  # Size of the region reserved for fixed address allocations (Reserved 32MB)
> -  gArmTokenSpaceGuid.PcdArmLinuxKernelMaxOffset|0x02000000
> -
> -  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80008000
> -  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
> -
> -  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
> -
> -  # We want to use the Shell Libraries but don't want it to initialise
> -  # automatically. We initialise the libraries when the command is called by the
> -  # Shell.
> -  gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
> -
> -  #
> -  # ARM Pcds
> -  #
> -  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
> -
> -  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SD"
> -  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/Image"
> -  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"console=tty0 console=ttyS2,115200n8 root=UUID=a4af765b-c2b5-48f4-9564-7a4e9104c4f6 rootwait ro earlyprintk"
> -  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10
> -
> -  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(E68088EF-D1A4-4336-C1DB-4D3A204730A6)"
> -  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
> -
> -################################################################################
> -#
> -# Components Section - list of all EDK II Modules needed by this Platform
> -#
> -################################################################################
> -[Components.common]
> -
> -  #
> -  # SEC
> -  #
> -  ArmPlatformPkg/PrePi/PeiUniCore.inf
> -
> -  #
> -  # DXE
> -  #
> -  MdeModulePkg/Core/Dxe/DxeMain.inf {
> -    <LibraryClasses>
> -      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
> -      NULL|EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
> -  }
> -
> -  ArmPkg/Drivers/CpuDxe/CpuDxe.inf
> -
> -  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
> -  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
> -  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
> -  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> -  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
> -  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
> -
> -  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
> -  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
> -  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> -  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
> -  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
> -#
> -# This version uses semi-hosting console
> -#  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf {
> -#    <LibraryClasses>
> -#      SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf
> -#  }
> -
> -  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
> -  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
> -  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
> -
> -  #
> -  # Semi-hosting filesystem
> -  #
> -  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
> -
> -  #
> -  # FAT filesystem + GPT/MBR partitioning
> -  #
> -  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
> -  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> -  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
> -
> -  #
> -  # USB
> -  #
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
> -
> -  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf {
> -    <PcdsFixedAtBuild>
> -      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff
> -  }
> -
> -  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
> -  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> -
> -  #
> -  # Nand Flash
> -  #
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
> -
> -  #
> -  # MMC/SD
> -  #
> -  EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
> -
> -  #
> -  # I2C
> -  #
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
> -
> -  #
> -  # SoC Drivers
> -  #
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
> -
> -  #
> -  # Power IC
> -  #
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
> -
> -  #
> -  # Bds
> -  #
> -  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
> -  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
> -  ArmPlatformPkg/Bds/Bds.inf
> -
> -  # Legacy Linux Loader
> -  ArmPkg/Application/LinuxLoader/LinuxLoader.inf
> -
> -  #
> -  # Example Application
> -  #
> -  MdeModulePkg/Application/HelloWorld/HelloWorld.inf
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf
> deleted file mode 100644
> index 9728efd43b76..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf
> +++ /dev/null
> @@ -1,310 +0,0 @@
> -# FLASH layout file for Beagle board.
> -#
> -# Copyright (c) 2009, Apple Inc. 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.
> -#
> -
> -################################################################################
> -#
> -# FD Section
> -# The [FD] Section is made up of the definition statements and a
> -# description of what goes into  the Flash Device Image.  Each FD section
> -# defines one flash "device" image.  A flash device image may be one of
> -# the following: Removable media bootable image (like a boot floppy
> -# image,) an Option ROM image (that would be "flashed" into an add-in
> -# card,) a System "Flash"  image (that would be burned into a system's
> -# flash) or an Update ("Capsule") image that will be used to update and
> -# existing system flash.
> -#
> -################################################################################
> -
> -
> -[FD.BeagleBoard_EFI]
> -BaseAddress   = 0x80008000|gArmTokenSpaceGuid.PcdFdBaseAddress  #The base address of the FLASH Device.
> -Size          = 0x000B0000|gArmTokenSpaceGuid.PcdFdSize         #The size in bytes of the FLASH Device
> -ErasePolarity = 1
> -BlockSize     = 0x1
> -NumBlocks     = 0xB0000
> -
> -################################################################################
> -#
> -# Following are lists of FD Region layout which correspond to the locations of different
> -# images within the flash device.
> -#
> -# Regions must be defined in ascending order and may not overlap.
> -#
> -# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
> -# the pipe "|" character, followed by the size of the region, also in hex with the leading
> -# "0x" characters. Like:
> -# Offset|Size
> -# PcdOffsetCName|PcdSizeCName
> -# RegionType <FV, DATA, or FILE>
> -#
> -################################################################################
> -0x00000000|0x000B0000
> -gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize
> -FV = FVMAIN_COMPACT
> -
> -################################################################################
> -#
> -# FV Section
> -#
> -# [FV] section is used to define what components or modules are placed within a flash
> -# device file.  This section also defines order the components and modules are positioned
> -# within the image.  The [FV] section consists of define statements, set statements and
> -# module statements.
> -#
> -################################################################################
> -
> -[FV.FvMain]
> -BlockSize          = 0x1
> -NumBlocks          = 0         # This FV gets compressed so make it just big enough
> -FvAlignment        = 8         # FV alignment and FV attributes setting.
> -ERASE_POLARITY     = 1
> -MEMORY_MAPPED      = TRUE
> -STICKY_WRITE       = TRUE
> -LOCK_CAP           = TRUE
> -LOCK_STATUS        = TRUE
> -WRITE_DISABLED_CAP = TRUE
> -WRITE_ENABLED_CAP  = TRUE
> -WRITE_STATUS       = TRUE
> -WRITE_LOCK_CAP     = TRUE
> -WRITE_LOCK_STATUS  = TRUE
> -READ_DISABLED_CAP  = TRUE
> -READ_ENABLED_CAP   = TRUE
> -READ_STATUS        = TRUE
> -READ_LOCK_CAP      = TRUE
> -READ_LOCK_STATUS   = TRUE
> -FvNameGuid         = d0dd3e90-343d-4cb3-8f69-772214989282
> -
> -  INF MdeModulePkg/Core/Dxe/DxeMain.inf
> -
> -  #
> -  # PI DXE Drivers producing Architectural Protocols (EFI Services)
> -  #
> -  INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
> -
> -  INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
> -  INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
> -  INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
> -  INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
> -  INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
> -  INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
> -
> -  INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
> -  INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
> -  INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> -  INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
> -  INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
> -
> -  INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
> -  INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
> -  INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
> -
> -!if $(TARGET) == RELEASE
> -  #
> -  # Semi-hosting filesystem
> -  #
> -  INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
> -!endif
> -
> -  #
> -  # Nand Flash
> -  #
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
> -
> -  #
> -  # MMC/SD
> -  #
> -  INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
> -
> -  #
> -  # I2C
> -  #
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
> -
> -  #
> -  # SoC Drivers
> -  #
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
> -
> -  #
> -  # Power IC
> -  #
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
> -
> -  #
> -  # FAT filesystem + GPT/MBR partitioning
> -  #
> -  INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
> -  INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
> -  INF FatBinPkg/EnhancedFatDxe/Fat.inf
> -  INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
> -
> -  #
> -  # USB Support
> -  #
> -
> -  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
> -
> -  INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
> -  INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
> -  INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> -
> -  #
> -  # UEFI application (Shell Embedded Boot Loader)
> -  #
> -  INF ShellBinPkg/UefiShell/UefiShell.inf
> -
> -  #
> -  # Bds
> -  #
> -  INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
> -  INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
> -  INF ArmPlatformPkg/Bds/Bds.inf
> -
> -  # Legacy Linux Loader
> -  INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf
> -
> -
> -[FV.FVMAIN_COMPACT]
> -FvAlignment        = 8
> -ERASE_POLARITY     = 1
> -MEMORY_MAPPED      = TRUE
> -STICKY_WRITE       = TRUE
> -LOCK_CAP           = TRUE
> -LOCK_STATUS        = TRUE
> -WRITE_DISABLED_CAP = TRUE
> -WRITE_ENABLED_CAP  = TRUE
> -WRITE_STATUS       = TRUE
> -WRITE_LOCK_CAP     = TRUE
> -WRITE_LOCK_STATUS  = TRUE
> -READ_DISABLED_CAP  = TRUE
> -READ_ENABLED_CAP   = TRUE
> -READ_STATUS        = TRUE
> -READ_LOCK_CAP      = TRUE
> -READ_LOCK_STATUS   = TRUE
> -
> -  INF ArmPlatformPkg/PrePi/PeiUniCore.inf
> -
> -  FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
> -    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
> -      SECTION FV_IMAGE = FVMAIN
> -    }
> -  }
> -
> -
> -################################################################################
> -#
> -# Rules are use with the [FV] section's module INF type to define
> -# how an FFS file is created for a given INF file. The following Rule are the default
> -# rules for the different module type. User can add the customized rules to define the
> -# content of the FFS file.
> -#
> -################################################################################
> -
> -
> -############################################################################
> -# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   #
> -############################################################################
> -#
> -#[Rule.Common.DXE_DRIVER]
> -#  FILE DRIVER = $(NAMED_GUID) {
> -#    DXE_DEPEX    DXE_DEPEX               Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
> -#    COMPRESS PI_STD {
> -#      GUIDED {
> -#        PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
> -#        UI       STRING="$(MODULE_NAME)" Optional
> -#        VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
> -#      }
> -#    }
> -#  }
> -#
> -############################################################################
> -
> -[Rule.Common.SEC]
> -  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
> -    TE  TE    Align = 32                $(INF_OUTPUT)/$(MODULE_NAME).efi
> -  }
> -
> -[Rule.Common.PEI_CORE]
> -  FILE PEI_CORE = $(NAMED_GUID) {
> -    TE     TE                           $(INF_OUTPUT)/$(MODULE_NAME).efi
> -    UI     STRING ="$(MODULE_NAME)" Optional
> -  }
> -
> -[Rule.Common.PEIM]
> -  FILE PEIM = $(NAMED_GUID) {
> -     PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex
> -     PE32      PE32                     $(INF_OUTPUT)/$(MODULE_NAME).efi
> -     UI       STRING="$(MODULE_NAME)" Optional
> -  }
> -
> -[Rule.Common.PEIM.TIANOCOMPRESSED]
> -  FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
> -    PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex
> -    GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
> -      PE32      PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
> -      UI        STRING="$(MODULE_NAME)" Optional
> -    }
> -  }
> -
> -[Rule.Common.DXE_CORE]
> -  FILE DXE_CORE = $(NAMED_GUID) {
> -    PE32     PE32                       $(INF_OUTPUT)/$(MODULE_NAME).efi
> -    UI       STRING="$(MODULE_NAME)" Optional
> -  }
> -
> -
> -[Rule.Common.UEFI_DRIVER]
> -  FILE DRIVER = $(NAMED_GUID) {
> -    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
> -    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
> -    UI           STRING="$(MODULE_NAME)" Optional
> -  }
> -
> -[Rule.Common.DXE_DRIVER]
> -  FILE DRIVER = $(NAMED_GUID) {
> -    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
> -    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
> -    UI           STRING="$(MODULE_NAME)" Optional
> -  }
> -
> -[Rule.Common.DXE_RUNTIME_DRIVER]
> -  FILE DRIVER = $(NAMED_GUID) {
> -    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
> -    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
> -    UI           STRING="$(MODULE_NAME)" Optional
> -  }
> -
> -[Rule.Common.UEFI_APPLICATION]
> -  FILE APPLICATION = $(NAMED_GUID) {
> -    UI     STRING ="$(MODULE_NAME)" Optional
> -    PE32   PE32                         $(INF_OUTPUT)/$(MODULE_NAME).efi
> -  }
> -
> -[Rule.Common.UEFI_DRIVER.BINARY]
> -  FILE DRIVER = $(NAMED_GUID) {
> -    DXE_DEPEX DXE_DEPEX Optional      |.depex
> -    PE32      PE32                    |.efi
> -    UI        STRING="$(MODULE_NAME)" Optional
> -    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
> -  }
> -
> -[Rule.Common.UEFI_APPLICATION.BINARY]
> -  FILE APPLICATION = $(NAMED_GUID) {
> -    PE32      PE32                    |.efi
> -    UI        STRING="$(MODULE_NAME)" Optional
> -    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
> -  }
> diff --git a/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat b/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat
> deleted file mode 100644
> index 5f6897e306d8..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -PRM_CLKSRC_CTRL=0x00000080
> -PRM_CLKSEL=0x00000003
> -CM_CLKSEL1_EMU=0x03020A50
> -CM_CLKSEL_CORE=0x0000030A
> -CM_CLKSEL_WKUP=0x00000015
> -CM_CLKEN_PLL_DPLL3=0x00370037
> -CM_AUTOIDLE_PLL_DPLL3=0x00000000
> -CM_CLKSEL1_PLL=0x094C0C00
> -CM_CLKEN_PLL_DPLL4=0x00370037
> -CM_AUTOIDLE_PLL_DPLL4=0x00000000
> -CM_CLKSEL2_PLL=0x0001B00C
> -CM_CLKSEL3_PLL=0x00000009
> -CM_CLKEN_PLL_MPU=0x00000037
> -CM_AUTOIDLE_PLL_MPU=0x00000000
> -CM_CLKSEL1_PLL_MPU=0x0011F40C
> -CM_CLKSEL2_PLL_MPU=0x00000001
> -CM_CLKSTCTRL_MPU=0x00000000
> -SDRC_SYSCONFIG_LSB=0x0000
> -SDRC_CS_CFG_LSB=0x0001
> -SDRC_SHARING_LSB=0x0100
> -SDRC_ERR_TYPE_LSB=0x0000
> -SDRC_DLLA_CTRL=0x0000000A
> -SDRC_POWER=0x00000081
> -MEMORY_TYPE_CS0=0x0003
> -SDRC_MCFG_0=0x02D04011
> -SDRC_MR_0_LSB=0x0032
> -SDRC_EMR1_0_LSB=0x0000
> -SDRC_EMR2_0_LSB=0x0000
> -SDRC_EMR3_0_LSB=0x0000
> -SDRC_ACTIM_CTRLA_0=0xBA9DC4C6
> -SDRC_ACTIM_CTRLB_0=0x00012522
> -SDRC_RFRCTRL_0=0x0004E201
> -MEMORY_TYPE_CS1=0x0003
> -SDRC_MCFG_1=0x02D04011
> -SDRC_MR_1_LSB=0x0032
> -SDRC_EMR1_1_LSB=0x0000
> -SDRC_EMR2_1_LSB=0x0000
> -SDRC_EMR3_1_LSB=0x0000
> -SDRC_ACTIM_CTRLA_1=0xBA9DC4C6
> -SDRC_ACTIM_CTRLB_1=0x00012522
> -SDRC_RFRCTRL_1=0x0004E201
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Contributions.txt b/Platforms/TexasInstruments/BeagleBoard/Contributions.txt
> deleted file mode 100644
> index f87cbd73c693..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Contributions.txt
> +++ /dev/null
> @@ -1,218 +0,0 @@
> -
> -======================
> -= Code Contributions =
> -======================
> -
> -To make a contribution to a TianoCore project, follow these steps.
> -1. Create a change description in the format specified below to
> -   use in the source control commit log.
> -2. Your commit message must include your "Signed-off-by" signature,
> -   and "Contributed-under" message.
> -3. Your "Contributed-under" message explicitly states that the
> -   contribution is made under the terms of the specified
> -   contribution agreement.  Your "Contributed-under" message
> -   must include the name of contribution agreement and version.
> -   For example: Contributed-under: TianoCore Contribution Agreement 1.0
> -   The "TianoCore Contribution Agreement" is included below in
> -   this document.
> -4. Submit your code to the TianoCore project using the process
> -   that the project documents on its web page.  If the process is
> -   not documented, then submit the code on development email list
> -   for the project.
> -5. It is preferred that contributions are submitted using the same
> -   copyright license as the base project. When that is not possible,
> -   then contributions using the following licenses can be accepted:
> -   * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
> -   * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
> -   * MIT: http://opensource.org/licenses/MIT
> -   * Python-2.0: http://opensource.org/licenses/Python-2.0
> -   * Zlib: http://opensource.org/licenses/Zlib
> -
> -   Contributions of code put into the public domain can also be
> -   accepted.
> -
> -   Contributions using other licenses might be accepted, but further
> -   review will be required.
> -
> -=====================================================
> -= Change Description / Commit Message / Patch Email =
> -=====================================================
> -
> -Your change description should use the standard format for a
> -commit message, and must include your "Signed-off-by" signature
> -and the "Contributed-under" message.
> -
> -== Sample Change Description / Commit Message =
> -
> -=== Start of sample patch email message ===
> -
> -From: Contributor Name <contributor@example.com>
> -Subject: [PATCH] CodeModule: Brief-single-line-summary
> -
> -Full-commit-message
> -
> -Contributed-under: TianoCore Contribution Agreement 1.0
> -Signed-off-by: Contributor Name <contributor@example.com>
> ----
> -
> -An extra message for the patch email which will not be considered part
> -of the commit message can be added here.
> -
> -Patch content inline or attached
> -
> -=== End of sample patch email message ===
> -
> -=== Notes for sample patch email ===
> -
> -* The first line of commit message is taken from the email's subject
> -  line following [PATCH]. The remaining portion of the commit message
> -  is the email's content until the '---' line.
> -* git format-patch is one way to create this format
> -
> -=== Definitions for sample patch email ===
> -
> -* "CodeModule" is a short idenfier for the affected code.  For
> -  example MdePkg, or MdeModulePkg UsbBusDxe.
> -* "Brief-single-line-summary" is a short summary of the change.
> -* The entire first line should be less than ~70 characters.
> -* "Full-commit-message" a verbose multiple line comment describing
> -  the change.  Each line should be less than ~70 characters.
> -* "Contributed-under" explicitely states that the contribution is
> -  made under the terms of the contribtion agreement.  This
> -  agreement is included below in this document.
> -* "Signed-off-by" is the contributor's signature identifying them
> -  by their real/legal name and their email address.
> -
> -========================================
> -= TianoCore Contribution Agreement 1.0 =
> -========================================
> -
> -INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
> -INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
> -PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
> -TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
> -TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
> -REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
> -CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
> -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
> -BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
> -AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
> -AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
> -USE THE CONTENT.
> -
> -Unless otherwise indicated, all Content made available on the TianoCore
> -site is provided to you under the terms and conditions of the BSD
> -License ("BSD"). A copy of the BSD License is available at
> -http://opensource.org/licenses/bsd-license.php
> -or when applicable, in the associated License.txt file.
> -
> -Certain other content may be made available under other licenses as
> -indicated in or with such Content. (For example, in a License.txt file.)
> -
> -You accept and agree to the following terms and conditions for Your
> -present and future Contributions submitted to TianoCore site. Except
> -for the license granted to Intel hereunder, You reserve all right,
> -title, and interest in and to Your Contributions.
> -
> -== SECTION 1: Definitions ==
> -* "You" or "Contributor" shall mean the copyright owner or legal
> -  entity authorized by the copyright owner that is making a
> -  Contribution hereunder. All other entities that control, are
> -  controlled by, or are under common control with that entity are
> -  considered to be a single Contributor. For the purposes of this
> -  definition, "control" means (i) the power, direct or indirect, to
> -  cause the direction or management of such entity, whether by
> -  contract or otherwise, or (ii) ownership of fifty percent (50%)
> -  or more of the outstanding shares, or (iii) beneficial ownership
> -  of such entity.
> -* "Contribution" shall mean any original work of authorship,
> -  including any modifications or additions to an existing work,
> -  that is intentionally submitted by You to the TinaoCore site for
> -  inclusion in, or documentation of, any of the Content. For the
> -  purposes of this definition, "submitted" means any form of
> -  electronic, verbal, or written communication sent to the
> -  TianoCore site or its representatives, including but not limited
> -  to communication on electronic mailing lists, source code
> -  control systems, and issue tracking systems that are managed by,
> -  or on behalf of, the TianoCore site for the purpose of
> -  discussing and improving the Content, but excluding
> -  communication that is conspicuously marked or otherwise
> -  designated in writing by You as "Not a Contribution."
> -
> -== SECTION 2: License for Contributions ==
> -* Contributor hereby agrees that redistribution and use of the
> -  Contribution in source and binary forms, with or without
> -  modification, are permitted provided that the following
> -  conditions are met:
> -** Redistributions of source code must retain the Contributor's
> -   copyright notice, this list of conditions and the following
> -   disclaimer.
> -** Redistributions in binary form must reproduce the Contributor's
> -   copyright notice, this list of conditions and the following
> -   disclaimer in the documentation and/or other materials provided
> -   with the distribution.
> -* Disclaimer. None of the names of Contributor, Intel, or the names
> -  of their respective contributors may be used to endorse or
> -  promote products derived from this software without specific
> -  prior written permission.
> -* Contributor grants a license (with the right to sublicense) under
> -  claims of Contributor's patents that Contributor can license that
> -  are infringed by the Contribution (as delivered by Contributor) to
> -  make, use, distribute, sell, offer for sale, and import the
> -  Contribution and derivative works thereof solely to the minimum
> -  extent necessary for licensee to exercise the granted copyright
> -  license; this patent license applies solely to those portions of
> -  the Contribution that are unmodified. No hardware per se is
> -  licensed.
> -* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
> -  CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
> -  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> -  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> -  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> -  CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> -  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> -  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> -  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> -  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> -  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
> -  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
> -  CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> -  DAMAGE.
> -
> -== SECTION 3: Representations ==
> -* You represent that You are legally entitled to grant the above
> -  license. If your employer(s) has rights to intellectual property
> -  that You create that includes Your Contributions, You represent
> -  that You have received permission to make Contributions on behalf
> -  of that employer, that Your employer has waived such rights for
> -  Your Contributions.
> -* You represent that each of Your Contributions is Your original
> -  creation (see Section 4 for submissions on behalf of others).
> -  You represent that Your Contribution submissions include complete
> -  details of any third-party license or other restriction
> -  (including, but not limited to, related patents and trademarks)
> -  of which You are personally aware and which are associated with
> -  any part of Your Contributions.
> -
> -== SECTION 4: Third Party Contributions ==
> -* Should You wish to submit work that is not Your original creation,
> -  You may submit it to TianoCore site separately from any
> -  Contribution, identifying the complete details of its source
> -  and of any license or other restriction (including, but not
> -  limited to, related patents, trademarks, and license agreements)
> -  of which You are personally aware, and conspicuously marking the
> -  work as "Submitted on behalf of a third-party: [named here]".
> -
> -== SECTION 5: Miscellaneous ==
> -* Applicable Laws. Any claims arising under or relating to this
> -  Agreement shall be governed by the internal substantive laws of
> -  the State of Delaware or federal courts located in Delaware,
> -  without regard to principles of conflict of laws.
> -* Language. This Agreement is in the English language only, which
> -  language shall be controlling in all respects, and all versions
> -  of this Agreement in any other language shall be for accommodation
> -  only and shall not be binding. All communications and notices made
> -  or given pursuant to this Agreement, and all documentation and
> -  support to be provided, unless otherwise noted, shall be in the
> -  English language.
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc
> deleted file mode 100644
> index a4e96747f8d2..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. 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.
> -//
> -error = continue
> -unload
> -error = abort
> -
> -setreg @CP15_CONTROL = 0x0005107E
> -setreg @pc=0x80008208
> -setreg @cpsr=0x000000D3
> -dis/D
> -readfile,raw,nowarn "ZZZZZZ/FV/BEAGLEBOARD_EFI.fd"=0x80008000
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh
> deleted file mode 100755
> index 67fdfe1efa14..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -#!/bin/sh
> -#
> -# Copyright (c) 2008 - 2009, Apple Inc. 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.
> -#
> -
> -
> -IN=`/usr/bin/cygpath -u $1`
> -OUT=`/usr/bin/cygpath -u $2`
> -
> -/usr/bin/sed -e "s/\/cygdrive\/\(.\)/load\/a\/ni\/np \"\1:/g" \
> -             -e 's:\\:/:g' \
> -             -e "s/^/load\/a\/ni\/np \"/g" \
> -             -e "s/dll /dll\" \&/g" \
> -              $IN | /usr/bin/sort.exe --key=3 --output=$OUT
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_dummy.axf b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_dummy.axf
> deleted file mode 100755
> index 17fabaa6cc649d520848f087954c0729043bf001..0000000000000000000000000000000000000000
> GIT binary patch
> literal 0
> HcmV?d00001
> 
> literal 7984
> zcmbVRZERcDd44ZRnY3iPwCQ$+=LU4Zwq6p;vganAF|?8`#nvjvj3mcis+FS1D~S!i
> za7o%$YS@%3e<XnuV++;~#4x)Jn1AGlhIK=`)_{sSZLqnmfx2l2Yyc^Wm}0l6gBfc(
> zY~`Nk-g~I)TV_dn;Hz_<^M0Q9ea|_U*JlQXp42o=RP)F-F;Q9M+J{Bn#N!d^*ezkq
> zZ<Ey$AnTon@NAP;7G=%lWvRSamHC&dTK-QKyX4v0?}>DNK>lfYWA*T&CZW3b-hrU^
> zUZwWhDv{UmNKd6My?CN{#w+z;czE%od}Z7JG@CD;?VhjoU@See1M48;>$%$S_PkQ1
> z{HT|vEA@w(J8I}_TSV@9W&7I~&HnoGKJ*^|zF_v(m;bZbyt@W|YQ5XvCjSY{YrWT(
> z>Ay&|&bc+gtBp<2`ONMOKc~I>So}w^;-D=9KTTUc@CG4!x7ob24s!-{`Kpx~b<-aC
> zs5=C#LEnZCSL%V_Ttj585u(i?)`Br@P&fUavE{sSec2a&wXwDbwyI~VUinN-!n2J|
> zkr&tX{6$sU{PJP~G=Fe*(ckm!x<B}>x>ugAd4rW%kMvc2uoEo9M%eV#To>`e{_Ssn
> z0(Q7g)4yn?_DK!C!awP~)bK?w!M{o^AeS0z(f>8#rT9GgO3gctN3I}VRt(HOSgB)u
> zW=y19sSR-rn3KzxE0-IJrUlE3zTgWD($pNs0ePXtL%ha;gBU+xOWASt%tc2K@d#IH
> zt9p>bTbCB^X;}Z+>&vaYag7c+Gd{?<Cs?hk9FWd=;&stV?W<TzM-}V9*e?t9wZTfQ
> zvj_NAr8W*5VdU+L;0gD_);RR%@s#n*SInGrEL3U>t6yJsJ{n}H-zQhi+;e>YyoeL~
> zP(b&f+t;(*T7NI&KD+3RE+EgZBL02V4vE%K%a72ffV|r1kaG1e8T;}1+AAVmzTm5n
> zy@Kay<Yw-J9IpZoYfi`?ELY9?LG1|Y<(Gn*yLV+t4sU<^9n?th)}ci+URaa=GU5Vx
> zZA+!@%YU!&W7b6(^$q-#ZBv`CgaXmZ`aq?!eznMESzx`>w~NqokvXpW7A`gd3vV_y
> zs{FiseOc>$Yf0p2y#q22%V_;$G8*#bE1K_eMf(WOjV|oXG0fwb*evo^<6()`$0Qp1
> z7#`H7rj4KX;5_Q|%V-Vp_in;i!0$KvqllMm4g;^2{tZ6JXd++Mdf!;8V&8Vk5ya+C
> zy|4k9N_}-0`GwD#ys_kyOV;`?!*BWbhBp5aaJ1fuHFi`gP%~QpL9@A;ap_uLsr@-)
> z0$J8Pb;0f(E&LO#Z5Z`l_Q>q4zeA4Ie${O5l`v{#>+FAg6FzJ~p1H@oa%q{l{2*j`
> z_RtpU8g?q7EvQKW--kfkh`f-`7lwa06Ugg>4{L%~8i6qL9j$Mas~y3fD`uSiu#MXF
> z3UqAy-)6HPwIz1#ExGD$8Q84-d)Ao*+o*fF%X1DfzQeur!(TV=T6-s2|NCDzH<MrO
> zF%7nZ!B=otRzhLi1*p%v%sct_h7aoTd^n?La>h(Jku!`^zNjbVaH$y1O@^meh$4B$
> z1h&=L(+M3sqqW|-#kH(A#9rh!YC0N1JU1gqceLoaMbrprM?m{gi$>Wz{HMME^fGpW
> z^UaHS#x4Ng=s$8{om;`Od3G{3e8yq8w~Q+aeG|<aH!_LDqvAWYZo^vfi(d<P0^Wcx
> z&=FV_@CO2c)q&1HS71$G-EYchEg8SZ{~I#?wlXVrep{J<1pXi2kQ=j|DvNo86Yu7X
> zjj@kRJO}(3#zUdg2Sai&bP9iQ&ziJ(&^BV+A3F207CJo?I`jPypeS88%9d{OQ1?w>
> zj)yus`@68|sAn3_QrQ~!y{yf7LZ=5hZ$M99ml<=)$t-e!F6y*n8->8B(a`A|$~N;v
> znO?|HcZ;n*bP8+m^mg{&2uT;bRf83O(`At$WT=C(*P!D*dieE%=c4z5?|et-bA9Jl
> z&G|#eXF@Z5oj2b2&UfDoo$l)j9p}0z^V-=5)?%)g{(KGdjLSiL?O}{Lf5V<%@pHv5
> z>LkxC@c7W%q7t#^Z)1KO<7q1{=R61BFvF0x8C4E<f8Mg)Z_ZmpMeA=v+eV#uMnOA?
> z9_zp0IqyB^o8$UJ&wtunc<2mLBztV$o8ZlBChtq07rig|E|T}cs`LJHfw|S8<9#9H
> zXy}9r*(rp~kT7Jqz6I<vuC)~dM{YPzU;g-<;BC{?&y=@hlb9b;vIj%Yr$c8thnV0q
> zmQL!Q2Ty=JuDE;?^UR4eF2t|lxd|F$uJA1ztD3zHOyBI9-LGmkj5*p|R=Ta+%z64(
> z@=Bdt(|wyqtx*sM=GN9}j>#9r{4s0(yyu*E&WDm`3anjX`9Z#G;A37Pk6mPLMWB_2
> z^vEBy;5$vOPs(aSGuIn%V4VH3$AQV;>%wUVCjUtXCjTiHo^#=w4ovxfb70CZxiHTH
> zt6BbXk2*2;nG<t=IWhN=6LSwaG53nX^rzQ>=@0jd)ij*`$c+P&&OKu_%Rknw6SH0w
> zru;PrraWuaYL@=5IWXz0SttEX2PU0$tLVh6QzvF!Ix%a|iCKdR)4zxVQy**5YIgix
> zn0r~#@lqwXU6^;O)jaYcHAL@|cbbFfSuX+fUi`W|j9xX;M-@O%{8{4i3O{~>wVKj5
> zSH_u(S?ascqORCu{c+Eb{-rkbCD6I&Nx#;H&U)m0JGz_y>n{2C!vE~z|5xC2*}9`>
> z&rN6ixF3R=<xkxu@5ba;_Y(EBqpSO=9lc#V)m=sYc64=Tk^bK<|K1DJU+z!d(Z7ql
> zTR-*n{}%eX5LeY$UvAtkA3P71-z6Vz{@-`$e*{?Fja=^&E;{{J_u{+7TiuWEM(26M
> z`-t=*=;!_%H?ikE^F#YQkKS)So^Inm&#QoKKhcJ+?pgZhroR_<=ZF5Pdzt#&_2AY=
> zesxE;vrjtD%P6{bbhkb?ro6h_Dc>%?>P{!!aK&fVg}(sI`+JY=&tJLdUkC05{V|*V
> z9S1##dj2C12zCp4-f2EXT(<JF!K29$VD)}LoUk$9mx)WjTfomod=XgLBfbi(&M)G>
> z16Jof@jn93l`a2>zXd!G%=aVWe*wM$%z7by3-~6mqE~^JfO%e%-T+p=9f*GgtbP{|
> zcY3Y!^1jW#30S?qll};>Iv<G-0^c}m?HA&4VD&yhT(q&z)^`b5op+@F4KU9y?l<CZ
> z0QWoacY%3coV4k;fz^98`T0>n?RVl|0IU5?9E9Q5?fZN^@Md83?o0Y3Himk67<iux
> zj{$Q(EC2Gq>OFV^>hBz|dJm?)F9EClN&L6KYJU;`1F+gZlwSbmeu=2{0jv5a{b#_c
> z-iiMUSe<{=#~0RHkY^+Pp^laJiy-K`fYtj2*MGpq<KSP9uSCayt?wT=vryj>$w(wF
> zktF_g8+tsQj2Gjg?;X?AMk+Cu)Q{`wu~a^nESwk{cye&;z~In<zC)*Xj*TRYRK8dk
> zOO`U3neK#i7xj}xNhZ1r(%roS|KiyxJ-wq)j2p#L9<y7wZq39~*$1f4=|)yhyG3RS
> zt(ihGnNCemy{WTMe2!m9b~@<h#IDu^K1~!L4*@+h5i@;qx-*fB8>Yqwy)=p~1-6M6
> zp3JARDUwe{Ci7`LgbyqN_Tu?GO->Y)T6!5zr*nxF*Hcs3c-jpWza6YZyjau?7(=iM
> z7I?tabUd3(>jvYqb*l|x&!=QxDV0w46^lk{qEyrikx1Y0q1fO^-|^j%Ly_n}q;K!g
> zu3eF1dxv)JjErD3I504<Gje+HXynMqz{oR?M^2B7ero@x`Yreb;K8BD;gM+H{(;EA
> zzP>$?;en_3M54n3BYPqPeftKF?~+)oRM2BcZ{oRFVp>l;m&#6I(oAtIW;>tG#gmwH
> zpqNpltaBz?N~c{@&+A6cjB_l;mBfvy<FVs<R@V)&4H(6ko-G<P5ajSAa$=6+6FCDz
> z<iwg>p_r~RFELv)<V=XV)w6UH6DT$ZnW!*bDkgI$vJ%Uu<HgCGk%{GVg`%}`hq?!;
> z4n2cbp!7^?8gf>Y7`kjOR#=&g6;7n!0tg1Cv13*YSe~u8Unu5`_>^utoJ+*h9GfvR
> zOAdfRo6?Ksq!o-rE|Wp=K&#Pm!7!Jail?2nhL6UEQW-OxrZZScAs<iBgo*RIkvDP)
> zM#?>3oW=o?bW#w}NpmH|QXv*kCJjpq*KUT+(5F&4gw}~-Qzh(C%t3f$@WAlsp@Bn+
> zqm`;cYRZvx#fJ4{Q6jNeQlE^M(nylI>0-%L0qH@l6pJ$_jKs9iE4vD?sgdPGE;|X8
> z`I4cd7GlX<X(Fu`WZ3jC5*dvHMk4#-1>HTTf~DfYSfT<4Ge}V+^6X$FVsYU7#nElv
> z+vs|cA#_&5I6Rcf;xK$HJp9c5(Le0&34hw$(&5KHzVpvIWiXq^C*u7`A!@#`7dM`H
> z=;rX5WBAaH(dklVBD{ac{zo4rPd<ecqOBq^zuShl=ibNhzVFE3Q2#K_`KO-PH8!lL
> zbu4|ylh5q1EXPkyhTn%0_Z`9I4h+YJ51W6F^6#^Q(w)>NN>i~(Bc9QvyD*a}#wXAh
> z4YSYYikM~jV(plowh2(hSGV2NS+<^~Rk+*y!fz5~#`^s>>fr-%Qx|nomugBEzPsD+
> z>DC>)35LcM6MDtRuTGBFN+I7@716;T#+a{Xs@=r5#4sLQ(SlbjQy+g<Y{P@soL2iO
> zJ{qLSWH)7t@1QW%YRB*rxT%F!{Cga8N`~Y-_<ri(Q?yTF&S`fH|L;B2hVTCXPO>ME
> 
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc
> deleted file mode 100644
> index dbce4dfdbd5f..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc
> +++ /dev/null
> @@ -1,67 +0,0 @@
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. 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.
> -//
> -
> -error = continue
> -unload
> -error = abort
> -
> -setreg @CP15_CONTROL = 0x0005107E
> -setreg @cpsr=0x000000D3
> -
> -; General clock settings.
> -setmem /32 0x48307270=0x00000080
> -setmem /32 0x48306D40=0x00000003
> -setmem /32 0x48005140=0x03020A50
> -
> -;Clock configuration
> -setmem /32 0x48004A40=0x0000030A
> -setmem /32 0x48004C40=0x00000015
> -
> -;DPLL3 (Core) settings
> -setmem /32 0x48004D00=0x00370037
> -setmem /32 0x48004D30=0x00000000
> -setmem /32 0x48004D40=0x094C0C00
> -
> -;DPLL4 (Peripheral) settings
> -setmem /32 0x48004D00=0x00370037
> -setmem /32 0x48004D30=0x00000000
> -setmem /32 0x48004D44=0x0001B00C
> -setmem /32 0x48004D48=0x00000009
> -
> -;DPLL1 (MPU) settings
> -setmem /32 0x48004904=0x00000037
> -setmem /32 0x48004934=0x00000000
> -setmem /32 0x48004940=0x0011F40C
> -setmem /32 0x48004944=0x00000001
> -setmem /32 0x48004948=0x00000000
> -
> -;RAM setup.
> -setmem /16 0x6D000010=0x0000
> -setmem /16 0x6D000040=0x0001
> -setmem /16 0x6D000044=0x0100
> -setmem /16 0x6D000048=0x0000
> -setmem /32 0x6D000060=0x0000000A
> -setmem /32 0x6D000070=0x00000081
> -setmem /16 0x6D000040=0x0003
> -setmem /32 0x6D000080=0x02D04011
> -setmem /16 0x6D000084=0x0032
> -setmem /16 0x6D00008C=0x0000
> -setmem /32 0x6D00009C=0xBA9DC4C6
> -setmem /32 0x6D0000A0=0x00012522
> -setmem /32 0x6D0000A4=0x0004E201
> -setmem /16 0x6D000040=0x0003
> -setmem /32 0x6D0000B0=0x02D04011
> -setmem /16 0x6D0000B4=0x0032
> -setmem /16 0x6D0000BC=0x0000
> -setmem /32 0x6D0000C4=0xBA9DC4C6
> -setmem /32 0x6D0000C8=0x00012522
> -setmem /32 0x6D0000D4=0x0004E201
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc
> deleted file mode 100644
> index 33e3eacac45d..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. 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.
> -//
> -
> -include 'ZZZZZZ/rvi_symbols_macros.inc'
> -
> -macro write_symbols_file("ZZZZZZ/rvi_symbols.tmp", 0x00000000, 0x10000000)
> -
> -host "bash -o igncr ZZZZZZ/rvi_convert_symbols.sh ZZZZZZ/rvi_symbols.tmp ZZZZZZ/rvi_symbols.inc"
> -include 'ZZZZZZ/rvi_symbols.inc'
> -load /NI /NP 'ZZZZZZ/rvi_dummy.axf' ;.constdata
> -unload rvi_dummy.axf
> -delfile rvi_dummy.axf
> -
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc
> deleted file mode 100755
> index 0fc2c64b1a27..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc
> +++ /dev/null
> @@ -1,194 +0,0 @@
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. 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.
> -//
> -
> -define /R int compare_guid(guid1, guid2)
> -    unsigned char *guid1;
> -    unsigned char *guid2;
> -{
> -    return strncmp(guid1, guid2, 16);
> -}
> -.
> -
> -define /R unsigned char * find_system_table(mem_start, mem_size)
> -    unsigned char *mem_start;
> -    unsigned long mem_size;
> -{
> -    unsigned char *mem_ptr;
> -
> -    mem_ptr = mem_start + mem_size;
> -
> -    do
> -    {
> -        mem_ptr -= 0x400000; // 4 MB
> -
> -        if (strncmp(mem_ptr, "IBI SYST", 8) == 0)
> -        {
> -            return *(unsigned long *)(mem_ptr + 8); // EfiSystemTableBase
> -        }
> -
> -    } while (mem_ptr > mem_start);
> -
> -    return 0;
> -}
> -.
> -
> -define /R unsigned char * find_debug_info_table_header(system_table)
> -    unsigned char *system_table;
> -{
> -    unsigned long configuration_table_entries;
> -    unsigned char *configuration_table;
> -    unsigned long index;
> -    unsigned char debug_table_guid[16];
> -
> -    // Fill in the debug table's guid
> -    debug_table_guid[ 0] = 0x77;
> -    debug_table_guid[ 1] = 0x2E;
> -    debug_table_guid[ 2] = 0x15;
> -    debug_table_guid[ 3] = 0x49;
> -    debug_table_guid[ 4] = 0xDA;
> -    debug_table_guid[ 5] = 0x1A;
> -    debug_table_guid[ 6] = 0x64;
> -    debug_table_guid[ 7] = 0x47;
> -    debug_table_guid[ 8] = 0xB7;
> -    debug_table_guid[ 9] = 0xA2;
> -    debug_table_guid[10] = 0x7A;
> -    debug_table_guid[11] = 0xFE;
> -    debug_table_guid[12] = 0xFE;
> -    debug_table_guid[13] = 0xD9;
> -    debug_table_guid[14] = 0x5E;
> -    debug_table_guid[15] = 0x8B;
> -
> -    configuration_table_entries = *(unsigned long *)(system_table + 64);
> -    configuration_table         = *(unsigned long *)(system_table + 68);
> -
> -    for (index = 0; index < configuration_table_entries; index++)
> -    {
> -        if (compare_guid(configuration_table, debug_table_guid) == 0)
> -        {
> -            return *(unsigned long *)(configuration_table + 16);
> -        }
> -
> -        configuration_table += 20;
> -    }
> -
> -    return 0;
> -}
> -.
> -
> -define /R int valid_pe_header(header)
> -        unsigned char *header;
> -{
> -    if ((header[0x00] == 'M') &&
> -        (header[0x01] == 'Z') &&
> -        (header[0x80] == 'P') &&
> -        (header[0x81] == 'E'))
> -    {
> -        return 1;
> -    }
> -
> -    return 0;
> -}
> -.
> -
> -define /R unsigned long pe_headersize(header)
> -        unsigned char *header;
> -{
> -    unsigned long *size;
> -
> -    size = header + 0x00AC;
> -
> -    return *size;
> -}
> -.
> -
> -define /R unsigned char *pe_filename(header)
> -        unsigned char *header;
> -{
> -    unsigned long *debugOffset;
> -    unsigned char *stringOffset;
> -
> -    if (valid_pe_header(header))
> -    {
> -        debugOffset  = header + 0x0128;
> -        stringOffset = header + *debugOffset + 0x002C;
> -
> -        return stringOffset;
> -    }
> -
> -    return 0;
> -}
> -.
> -
> -define /R int char_is_valid(c)
> -        unsigned char c;
> -{
> -    if (c >= 32 && c < 127)
> -    	return 1;
> -
> -    return 0;
> -}
> -.
> -
> -define /R write_symbols_file(filename, mem_start, mem_size)
> -    unsigned char *filename;
> -    unsigned char *mem_start;
> -    unsigned long mem_size;
> -{
> -    unsigned char *system_table;
> -    unsigned char *debug_info_table_header;
> -    unsigned char *debug_info_table;
> -    unsigned long debug_info_table_size;
> -    unsigned long index;
> -    unsigned char *debug_image_info;
> -    unsigned char *loaded_image_protocol;
> -    unsigned char *image_base;
> -    unsigned char *debug_filename;
> -    unsigned long header_size;
> -    int           status;
> -
> -    system_table = find_system_table(mem_start, mem_size);
> -    if (system_table == 0)
> -    {
> -        return;
> -    }
> -
> -    status = fopen(88, filename, "w");
> -
> -    debug_info_table_header = find_debug_info_table_header(system_table);
> -
> -    debug_info_table      = *(unsigned long *)(debug_info_table_header + 8);
> -    debug_info_table_size = *(unsigned long *)(debug_info_table_header + 4);
> -
> -    for (index = 0; index < (debug_info_table_size * 4); index += 4)
> -    {
> -        debug_image_info = *(unsigned long *)(debug_info_table + index);
> -
> -        if (debug_image_info == 0)
> -        {
> -            break;
> -        }
> -
> -        loaded_image_protocol = *(unsigned long *)(debug_image_info + 4);
> -
> -        image_base = *(unsigned long *)(loaded_image_protocol + 32);
> -
> -        debug_filename = pe_filename(image_base);
> -        header_size    = pe_headersize(image_base);
> -
> -        $fprintf 88, "%s 0x%08x\n", debug_filename, image_base + header_size$;
> -    }
> -
> -
> -    fclose(88);
> -}
> -.
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc
> deleted file mode 100755
> index b00a1322d4aa..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc
> +++ /dev/null
> @@ -1,118 +0,0 @@
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. 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.
> -//
> -
> -error = continue
> -
> -unload
> -
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -delfile 1
> -
> -error = abort
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm
> deleted file mode 100644
> index 1bae1727633d..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm
> +++ /dev/null
> @@ -1,211 +0,0 @@
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. 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.
> -//
> -
> -  ENTRY &ram_start &ram_size
> -  
> -  ;If system is running then stop the execution so we can load symbols.
> -  break
> -  
> -  ;Reset all windows
> -  WINPAGE.RESET
> -  
> -  ;Create AREA to display the symbols we are loading.
> -  AREA.Reset
> -  AREA.Create SYMBOL 300. 100.
> -  AREA.View SYMBOL
> -  AREA.Select SYMBOL
> -  SYS.Option BE OFF
> - 
> -  ;Added based on suggestion from Lauterbach support.
> -  MMU.TABLEWALK ON
> -  MMU.ON
> -
> -  ;Load symbols.
> -  GOSUB load_symbols &ram_start &ram_size
> -
> -  ;Open some windows and enable semihosting.
> -  TOOLBAR ON
> -  STATUSBAR ON
> -  WINPAGE.RESET
> -   
> -  WINCLEAR
> -  WINPOS 0.0 17.0 72. 13. 0. 0. W000
> -  SYStem
> -   
> -  WINPOS 0.0 0.0 110. 55. 13. 1. W001
> -  WINTABS 10. 10. 25. 62.
> -  Data.List
> -   
> -  WINPAGE.SELECT P000
> -
> -  //Enable semihosting
> -  System.Option.BigEndian OFF
> -
> -  tronchip.set swi on		// ARM9/10/11 variant
> -
> -  // configure and open semihosting channel
> -  winpos 50% 50% 50% 50%
> -  term.heapinfo 0 0x20000 0x30000 0x20000
> -  term.method armswi
> -  term.mode string
> -  term.gate
> -
> -  WINPOS 115.0 0. 70. 35. 0. 1. W002
> -  Var.Local %HEX
> -  
> -  WINPOS 115.10 45. 48. 9. 0. 0. W003
> -  Register
> -    
> -  END
> -
> -find_system_table:
> -  ENTRY &mem_start &mem_size
> -  &mem_ptr=&mem_start+&mem_size
> -  RPT    
> -  (
> -    &mem_ptr=&mem_ptr-0x400000  // 4 MB
> -    &word1=Data.LONG(D:&mem_ptr)
> -    &word2=Data.LONG(D:&mem_ptr+0x04)
> -    IF &word1==0x20494249
> -    (
> -      IF &word2==0x54535953
> -      (
> -        &result=Data.LONG(D:&mem_ptr+0x08)
> -        RETURN &result
> -      )
> -    )
> -  )
> -  WHILE &mem_ptr>&mem_start
> -  &result=0
> -  RETURN &result
> -
> -compare_guid:
> -  ENTRY &guid
> -  IF Data.LONG(D:&guid)==0x49152E77
> -  (
> -    IF Data.LONG(D:&guid+0x04)==0x47641ADA
> -    (
> -      IF Data.LONG(D:&guid+0x08)==0xFE7AA2B7
> -      (
> -        IF Data.LONG(D:&guid+0x0C)==0x8B5ED9FE
> -        (
> -          RETURN 0
> -        )
> -      )
> -    )
> -  )
> -  RETURN 1  
> -
> -find_debug_info_table_header:
> -  ENTRY &system_table
> -  &config_table_entries=Data.LONG(D:&system_table+0x40)
> -  &config_table_pointer=Data.LONG(D:&system_table+0x44)
> -  RPT &config_table_entries
> -  (
> -    GOSUB compare_guid &config_table_pointer
> -    ENTRY &result
> -    IF &result==0
> -    (
> -      &result=Data.LONG(D:&config_table_pointer+0x10)
> -      RETURN &result
> -    )  
> -    &config_table_pointer=&config_table_pointer+0x14
> -  )
> -  RETURN 0;
> -
> -valid_pe_header:
> -  ENTRY &header
> -  IF Data.BYTE(D:&header+0x00)==0x4D
> -  (
> -    IF Data.BYTE(D:&header+0x01)==0x5A
> -    (
> -      IF Data.BYTE(D:&header+0x80)==0x50
> -      (
> -        IF Data.BYTE(D:&header+0x81)==0x45
> -        (
> -          RETURN 1
> -        )
> -      )
> -    )
> -  )
> -  RETURN 0
> -
> -get_file_string:
> -  ENTRY &stringOffset
> -
> -  local &string
> -
> -  &more_string=data.string(d:&stringOffset)
> -
> -  if (string.len("&more_string")>=128.)
> -  (
> -    &string="&string"+"&more_string"
> -    &stringOffset=&stringOffset+string.len("&more_string")
> -
> -    //Get remaining file string
> -    GOSUB get_file_string &stringOffset
> -    ENTRY &more_string
> -    &string="&string"+"&more_string"
> -  )
> -  else
> -  (
> -    &string="&string"+"&more_string"
> -    &more_string=""
> -  )
> -  RETURN &string
> - 
> -load_symbol_file:
> -  ENTRY &header &load_address
> -  GOSUB valid_pe_header &header
> -  ENTRY &result
> - 
> -  IF &result==1
> -  (
> -    &debugOffset=Data.LONG(D:&header+0x0128)
> -    &stringOffset=&header+&debugOffset+0x002C
> -    
> -    GOSUB get_file_string &stringOffset
> -    ENTRY &filestring
> -        
> -    PRINT "&filestring 0x" &load_address
> -    TDIAG Data.load.elf &filestring &load_address /nocode /noclear
> -  )
> -  RETURN
> -
> -pe_headersize:
> -  ENTRY &header;
> -  RETURN Data.LONG(D:&header+0x00AC)
> -
> -load_symbols:
> -  ENTRY &mem_start &mem_size
> -  GOSUB find_system_table &mem_start &mem_size
> -  ENTRY &system_table
> -  GOSUB find_debug_info_table_header &system_table
> -  ENTRY &debug_info_table_header
> -  &debug_info_table=Data.LONG(D:&debug_info_table_header+0x08)
> -  &debug_info_table_size=Data.LONG(D:&debug_info_table_header+0x04)
> -  &index=0
> -  RPT &debug_info_table_size
> -  (
> -    &debug_image_info=Data.LONG(D:&debug_info_table+&index)
> -    IF &debug_image_info==0
> -      RETURN        
> -    &loaded_image_protocol=Data.LONG(D:&debug_image_info+0x04);
> -    &image_base=Data.LONG(D:&loaded_image_protocol+0x20);
> -    GOSUB pe_headersize &image_base
> -    ENTRY &header_size
> -    &image_load_address=&image_base+&header_size
> -    GOSUB load_symbol_file &image_base &image_load_address
> -    &index=&index+0x4
> -  )
> -    
> -  RETURN
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm
> deleted file mode 100644
> index db9ff4e966a3..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm
> +++ /dev/null
> @@ -1,188 +0,0 @@
> -//
> -// Copyright (c) 2008 - 2009, Apple Inc. 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.
> -//
> -
> -  ENTRY &ram_start &ram_size
> -
> -  ;If system is running then stop the execution so we can load symbols.
> -  break
> -  
> -  ;Reset all windows
> -  WINPAGE.RESET
> -  
> -  AREA.Reset
> -  AREA.Create SYMBOL 300. 100.
> -  AREA.View SYMBOL
> -  AREA.Select SYMBOL
> -  SYS.Option BE OFF
> - 
> -  ; Added based on suggestion from Lauterbach support.
> -  MMU.TABLEWALK ON
> -  MMU.ON
> -
> -  GOSUB load_symbols &ram_start &ram_size
> -
> -  ;Open some windows.
> -  WINPOS 83.125 29.063 48. 9. 0. 0. W003
> -  Register
> -
> -  WINPOS 83.25 10. 48. 9. 0. 1. W002
> -  Var.Local
> -  
> -  END
> -
> -find_system_table:
> -  ENTRY &mem_start &mem_size
> -  &mem_ptr=&mem_start+&mem_size
> -  RPT    
> -  (
> -    &mem_ptr=&mem_ptr-0x400000  // 4 MB
> -    &word1=Data.LONG(D:&mem_ptr)
> -    &word2=Data.LONG(D:&mem_ptr+0x04)
> -    IF &word1==0x20494249
> -    (
> -      IF &word2==0x54535953
> -      (
> -        &result=Data.LONG(D:&mem_ptr+0x08)
> -        RETURN &result
> -      )
> -    )
> -  )
> -  WHILE &mem_ptr>&mem_start
> -  &result=0
> -  RETURN &result
> -
> -compare_guid:
> -  ENTRY &guid
> -  IF Data.LONG(D:&guid)==0x49152E77
> -  (
> -    IF Data.LONG(D:&guid+0x04)==0x47641ADA
> -    (
> -      IF Data.LONG(D:&guid+0x08)==0xFE7AA2B7
> -      (
> -        IF Data.LONG(D:&guid+0x0C)==0x8B5ED9FE
> -        (
> -          RETURN 0
> -        )
> -      )
> -    )
> -  )
> -  RETURN 1  
> -
> -find_debug_info_table_header:
> -  ENTRY &system_table
> -  &config_table_entries=Data.LONG(D:&system_table+0x40)
> -  &config_table_pointer=Data.LONG(D:&system_table+0x44)
> -  RPT &config_table_entries
> -  (
> -    GOSUB compare_guid &config_table_pointer
> -    ENTRY &result
> -    IF &result==0
> -    (
> -      &result=Data.LONG(D:&config_table_pointer+0x10)
> -      RETURN &result
> -    )  
> -    &config_table_pointer=&config_table_pointer+0x14
> -  )
> -  RETURN 0;
> -
> -valid_pe_header:
> -  ENTRY &header
> -  IF Data.BYTE(D:&header+0x00)==0x4D
> -  (
> -    IF Data.BYTE(D:&header+0x01)==0x5A
> -    (
> -      IF Data.BYTE(D:&header+0x80)==0x50
> -      (
> -        IF Data.BYTE(D:&header+0x81)==0x45
> -        (
> -          RETURN 1
> -        )
> -      )
> -    )
> -  )
> -  RETURN 0
> -
> -get_file_string:
> -  ENTRY &stringOffset
> -
> -  local &string
> -  
> -  &more_string=data.string(d:&stringOffset)
> -
> -  if (string.len("&more_string")>=128.)
> -  (
> -    &string="&string"+"&more_string"
> -    &stringOffset=&stringOffset+string.len("&more_string")
> -
> -    //Get remaining file string
> -    GOSUB get_file_string &stringOffset
> -    ENTRY &more_string
> -    &string="&string"+"&more_string"
> -  )
> -  else
> -  (
> -    &string="&string"+"&more_string"
> -    &more_string=""
> -  )
> -  RETURN &string
> - 
> -load_symbol_file:
> -  ENTRY &header &load_address
> -  GOSUB valid_pe_header &header
> -  ENTRY &result
> - 
> -  IF &result==1
> -  (
> -    &debugOffset=Data.LONG(D:&header+0x0128)
> -    &stringOffset=&header+&debugOffset+0x002C
> -    
> -    &stringOffset=&stringOffset+11.
> -
> -    GOSUB get_file_string &stringOffset
> -    ENTRY &filestring
> -  
> -    &filestring="c:"+"&filestring"
> -
> -    PRINT "&filestring 0x" &load_address
> -    Data.load.elf &filestring &load_address /nocode /noclear
> -  )
> -  RETURN
> -
> -pe_headersize:
> -  ENTRY &header;
> -  RETURN Data.LONG(D:&header+0x00AC)
> -
> -load_symbols:
> -  ENTRY &mem_start &mem_size
> -  GOSUB find_system_table &mem_start &mem_size
> -  ENTRY &system_table
> -  GOSUB find_debug_info_table_header &system_table
> -  ENTRY &debug_info_table_header
> -  &debug_info_table=Data.LONG(D:&debug_info_table_header+0x08)
> -  &debug_info_table_size=Data.LONG(D:&debug_info_table_header+0x04)
> -  &index=0
> -  RPT &debug_info_table_size
> -  (
> -    &debug_image_info=Data.LONG(D:&debug_info_table+&index)
> -    IF &debug_image_info==0
> -      RETURN        
> -    &loaded_image_protocol=Data.LONG(D:&debug_image_info+0x04);
> -    &image_base=Data.LONG(D:&loaded_image_protocol+0x20);
> -    GOSUB pe_headersize &image_base
> -    ENTRY &header_size
> -    &image_load_address=&image_base+&header_size
> -    GOSUB load_symbol_file &image_base &image_load_address
> -    &index=&index+0x4
> -  )
> -    
> -  RETURN
> -  
> \ No newline at end of file
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h b/Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h
> deleted file mode 100755
> index f9955b03752e..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h
> +++ /dev/null
> @@ -1,179 +0,0 @@
> -/** @file
> -*  Header defining the BeagleBoard constants (Base addresses, sizes, flags)
> -*
> -*  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.
> -*
> -**/
> -
> -#ifndef __BEAGLEBOARD_PLATFORM_H__
> -#define __BEAGLEBOARD_PLATFORM_H__
> -
> -// DDR attributes
> -#define DDR_ATTRIBUTES_CACHED                ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK
> -#define DDR_ATTRIBUTES_UNCACHED              ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED
> -
> -// SoC registers. L3 interconnects
> -#define SOC_REGISTERS_L3_PHYSICAL_BASE       0x68000000
> -#define SOC_REGISTERS_L3_PHYSICAL_LENGTH     0x08000000
> -#define SOC_REGISTERS_L3_ATTRIBUTES          ARM_MEMORY_REGION_ATTRIBUTE_DEVICE
> -
> -// SoC registers. L4 interconnects
> -#define SOC_REGISTERS_L4_PHYSICAL_BASE       0x48000000
> -#define SOC_REGISTERS_L4_PHYSICAL_LENGTH     0x08000000
> -#define SOC_REGISTERS_L4_ATTRIBUTES          ARM_MEMORY_REGION_ATTRIBUTE_DEVICE
> -
> -
> -#if 0
> -/*******************************************
> -// Platform Memory Map
> -*******************************************/
> -
> -// Can be NOR, DOC, DRAM, SRAM
> -#define ARM_EB_REMAP_BASE                     0x00000000
> -#define ARM_EB_REMAP_SZ                       0x04000000
> -
> -// Motherboard Peripheral and On-chip peripheral
> -#define ARM_EB_SMB_MB_ON_CHIP_PERIPH_BASE     0x10000000
> -#define ARM_EB_SMB_MB_ON_CHIP_PERIPH_SZ       0x00100000
> -#define ARM_EB_BOARD_PERIPH_BASE              0x10000000
> -//#define ARM_EB_CHIP_PERIPH_BASE             0x10020000
> -
> -// SMC
> -#define ARM_EB_SMC_BASE                       0x40000000
> -#define ARM_EB_SMC_SZ                         0x20000000
> -
> -// NOR Flash 1
> -#define ARM_EB_SMB_NOR_BASE                   0x40000000
> -#define ARM_EB_SMB_NOR_SZ                     0x04000000 /* 64 MB */
> -// DOC Flash
> -#define ARM_EB_SMB_DOC_BASE                   0x44000000
> -#define ARM_EB_SMB_DOC_SZ                     0x04000000 /* 64 MB */
> -// SRAM
> -#define ARM_EB_SMB_SRAM_BASE                  0x48000000
> -#define ARM_EB_SMB_SRAM_SZ                    0x02000000 /* 32 MB */
> -// USB, Ethernet, VRAM
> -#define ARM_EB_SMB_PERIPH_BASE                0x4E000000
> -//#define ARM_EB_SMB_PERIPH_VRAM              0x4C000000
> -#define ARM_EB_SMB_PERIPH_SZ                  0x02000000 /* 32 MB */
> -
> -// DRAM
> -#define ARM_EB_DRAM_BASE                      0x70000000
> -#define ARM_EB_DRAM_SZ                        0x10000000
> -
> -// Logic Tile
> -#define ARM_EB_LOGIC_TILE_BASE                0xC0000000
> -#define ARM_EB_LOGIC_TILE_SZ                  0x40000000
> -
> -/*******************************************
> -// Motherboard peripherals
> -*******************************************/
> -
> -// Define MotherBoard SYS flags offsets (from ARM_EB_BOARD_PERIPH_BASE)
> -#define ARM_EB_SYS_FLAGS_REG                  (ARM_EB_BOARD_PERIPH_BASE + 0x00030)
> -#define ARM_EB_SYS_FLAGS_SET_REG              (ARM_EB_BOARD_PERIPH_BASE + 0x00030)
> -#define ARM_EB_SYS_FLAGS_CLR_REG              (ARM_EB_BOARD_PERIPH_BASE + 0x00034)
> -#define ARM_EB_SYS_FLAGS_NV_REG               (ARM_EB_BOARD_PERIPH_BASE + 0x00038)
> -#define ARM_EB_SYS_FLAGS_NV_SET_REG           (ARM_EB_BOARD_PERIPH_BASE + 0x00038)
> -#define ARM_EB_SYS_FLAGS_NV_CLR_REG           (ARM_EB_BOARD_PERIPH_BASE + 0x0003C)
> -#define ARM_EB_SYS_CLCD                       (ARM_EB_BOARD_PERIPH_BASE + 0x00050)
> -#define ARM_EB_SYS_PROCID0_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x00084)
> -#define ARM_EB_SYS_PROCID1_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x00088)
> -#define ARM_EB_SYS_CFGDATA_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x000A0)
> -#define ARM_EB_SYS_CFGCTRL_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x000A4)
> -#define ARM_EB_SYS_CFGSTAT_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x000A8)
> -
> -// SP810 Controller
> -#define SP810_CTRL_BASE                       (ARM_EB_BOARD_PERIPH_BASE + 0x01000)
> -
> -// SYSTRCL Register
> -#define ARM_EB_SYSCTRL                        0x10001000
> -
> -// Uart0
> -#define PL011_CONSOLE_UART_BASE               (ARM_EB_BOARD_PERIPH_BASE + 0x09000)
> -#define PL011_CONSOLE_UART_SPEED              115200
> -
> -// SP804 Timer Bases
> -#define SP804_TIMER0_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x11000)
> -#define SP804_TIMER1_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x11020)
> -#define SP804_TIMER2_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x12000)
> -#define SP804_TIMER3_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x12020)
> -
> -// PL301 RTC
> -#define PL031_RTC_BASE                        (ARM_EB_BOARD_PERIPH_BASE + 0x17000)
> -
> -// Dynamic Memory Controller Base
> -#define ARM_EB_DMC_BASE                       0x10018000
> -
> -// Static Memory Controller Base
> -#define ARM_EB_SMC_CTRL_BASE                  0x10080000
> -
> -#define PL111_CLCD_BASE                       0x10020000
> -//TODO: FIXME ... Reserved the memory in UEFI !!! Otherwise risk of corruption
> -#define PL111_CLCD_VRAM_BASE                  0x78000000
> -
> -#define ARM_EB_SYS_OSCCLK4                    0x1000001C
> -
> -
> -/*// System Configuration Controller register Base addresses
> -//#define ARM_EB_SYS_CFG_CTRL_BASE                0x100E2000
> -#define ARM_EB_SYS_CFGRW0_REG                   0x100E2000
> -#define ARM_EB_SYS_CFGRW1_REG                   0x100E2004
> -#define ARM_EB_SYS_CFGRW2_REG                   0x100E2008
> -
> -#define ARM_EB_CFGRW1_REMAP_NOR0                0
> -#define ARM_EB_CFGRW1_REMAP_NOR1                (1 << 28)
> -#define ARM_EB_CFGRW1_REMAP_EXT_AXI             (1 << 29)
> -#define ARM_EB_CFGRW1_REMAP_DRAM                (1 << 30)
> -
> -// PL301 Fast AXI Base Address
> -#define ARM_EB_FAXI_BASE                        0x100E9000
> -
> -// L2x0 Cache Controller Base Address
> -//#define ARM_EB_L2x0_CTLR_BASE                   0x1E00A000*/
> -
> -
> -// PL031 RTC - Other settings
> -#define PL031_PPM_ACCURACY                      300000000
> -
> -/*******************************************
> -// Interrupt Map
> -*******************************************/
> -
> -// Timer Interrupts
> -#define TIMER01_INTERRUPT_NUM                34
> -#define TIMER23_INTERRUPT_NUM                35
> -
> -
> -/*******************************************
> -// EFI Memory Map in Permanent Memory (DRAM)
> -*******************************************/
> -
> -// This region is allocated at the bottom of the DRAM. It will be used
> -// for fixed address allocations such as Vector Table
> -#define ARM_EB_EFI_FIX_ADDRESS_REGION_SZ        SIZE_8MB
> -
> -// This region is the memory declared to PEI as permanent memory for PEI
> -// and DXE. EFI stacks and heaps will be declared in this region.
> -#define ARM_EB_EFI_MEMORY_REGION_SZ             0x1000000
> -#endif
> -
> -typedef enum {
> -  REVISION_XM,
> -  REVISION_UNKNOWN0,
> -  REVISION_UNKNOWN1,
> -  REVISION_UNKNOWN2,
> -  REVISION_UNKNOWN3,
> -  REVISION_C4,
> -  REVISION_C123,
> -  REVISION_AB,
> -} BEAGLEBOARD_REVISION;
> -
> -#endif
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c
> deleted file mode 100755
> index 3b0244004853..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c
> +++ /dev/null
> @@ -1,135 +0,0 @@
> -/** @file
> -*
> -*  Copyright (c) 2011-2012, 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 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
> -
> -**/
> -RETURN_STATUS
> -ArmPlatformInitialize (
> -  IN  UINTN                     MpId
> -  )
> -{
> -  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 );
> -  ArmDataSynchronizationBarrier ();
> -
> -  // Clear IRQs
> -  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
> -  ArmDataSynchronizationBarrier ();
> -
> -  return RETURN_SUCCESS;
> -}
> -
> -/**
> -  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
> -}
> -
> -VOID
> -ArmPlatformGetPlatformPpiList (
> -  OUT UINTN                   *PpiListSize,
> -  OUT EFI_PEI_PPI_DESCRIPTOR  **PpiList
> -  )
> -{
> -  *PpiListSize = 0;
> -  *PpiList = NULL;
> -}
> -
> -UINTN
> -ArmPlatformGetCorePosition (
> -  IN UINTN MpId
> -  )
> -{
> -  return 1;
> -}
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S
> deleted file mode 100644
> index 958f0029935c..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -#
> -#  Copyright (c) 2012-2013, 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 <AsmMacroIoLib.h>
> -
> -//UINTN
> -//ArmPlatformIsPrimaryCore (
> -//  IN UINTN MpId
> -//  );
> -ASM_FUNC(ArmPlatformIsPrimaryCore)
> -  // BeagleBoard has a single core. We must always return 1.
> -  mov   r0, #1
> -  bx    lr
> -
> -ASM_FUNC(ArmPlatformPeiBootAction)
> -  bx    lr
> -
> -//UINTN
> -//ArmPlatformGetPrimaryCoreMpId (
> -//  VOID
> -//  );
> -ASM_FUNC(ArmPlatformGetPrimaryCoreMpId)
> -  // The BeagleBoard is a uniprocessor platform. The MPIDR of primary core is
> -  // always the MPIDR of the calling CPU.
> -  b   ASM_PFX(ArmReadMpidr)
> -
> -ASM_FUNCTION_REMOVE_IF_UNREFERENCED
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm
> deleted file mode 100644
> index 20fa83f133e9..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -//
> -//  Copyright (c) 2012-2013, 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 AsmMacroIoLib.inc
> -
> -  EXPORT    ArmPlatformPeiBootAction
> -  EXPORT    ArmPlatformIsPrimaryCore
> -  EXPORT    ArmPlatformGetPrimaryCoreMpId
> -
> -  IMPORT    ArmReadMpidr
> -
> -  AREA BeagleBoardHelper, CODE, READONLY
> -
> -//UINTN
> -//ArmPlatformIsPrimaryCore (
> -//  IN UINTN MpId
> -//  );
> -ArmPlatformIsPrimaryCore FUNCTION
> -  // BeagleBoard has a single core. We must always return 1.
> -  mov   r0, #1
> -  bx    lr
> -  ENDFUNC
> -
> -ArmPlatformPeiBootAction FUNCTION
> -  bx    lr
> -  ENDFUNC
> -
> -//UINTN
> -//ArmPlatformGetPrimaryCoreMpId (
> -//  VOID
> -//  );
> -ArmPlatformGetPrimaryCoreMpId FUNCTION
> -  // The BeagleBoard is a uniprocessor platform. The MPIDR of primary core is
> -  // always the MPIDR of the calling CPU.
> -  b     ArmReadMpidr
> -  ENDFUNC
> -
> -  END
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf
> deleted file mode 100755
> index b6c76a196ea6..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -#/* @file
> -#  Copyright (c) 2011-2013, 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.
> -#
> -#*/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardLib
> -  FILE_GUID                      = 736343a0-1d96-11e0-aaaa-0002a5d5c51b
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = ArmPlatformLib
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  MdeModulePkg/MdeModulePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  ArmPkg/ArmPkg.dec
> -  ArmPlatformPkg/ArmPlatformPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -  OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec
> -
> -[LibraryClasses]
> -  IoLib
> -  ArmLib
> -  MemoryAllocationLib
> -
> -[Sources.common]
> -  BeagleBoardHelper.asm  | RVCT
> -  BeagleBoardHelper.S    | GCC
> -  BeagleBoard.c
> -  BeagleBoardMem.c
> -  PadConfiguration.c
> -  Clock.c
> -  BeagleBoardHelper.S    | GCC
> -  BeagleBoardHelper.asm  | RVCT
> -
> -[FeaturePcd]
> -  gEmbeddedTokenSpaceGuid.PcdCacheEnable
> -
> -[FixedPcd]
> -  gArmTokenSpaceGuid.PcdFdBaseAddress
> -  gArmTokenSpaceGuid.PcdFdSize
> -
> -  gArmTokenSpaceGuid.PcdSystemMemoryBase
> -  gArmTokenSpaceGuid.PcdSystemMemorySize
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c
> deleted file mode 100755
> index b77b06993061..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c
> +++ /dev/null
> @@ -1,84 +0,0 @@
> -/** @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/ArmPlatformLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/IoLib.h>
> -
> -#include <BeagleBoard.h>
> -
> -#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          4
> -
> -/**
> -  Return the Virtual Memory Map of your platform
> -
> -  This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU on your platform.
> -
> -  @param[out]   VirtualMemoryMap    Array of ARM_MEMORY_REGION_DESCRIPTOR describing a Physical-to-
> -                                    Virtual Memory mapping. This array must be ended by a zero-filled
> -                                    entry
> -
> -**/
> -VOID
> -ArmPlatformGetVirtualMemoryMap (
> -  IN ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap
> -  )
> -{
> -  ARM_MEMORY_REGION_ATTRIBUTES  CacheAttributes;
> -  UINTN                         Index = 0;
> -  ARM_MEMORY_REGION_DESCRIPTOR  *VirtualMemoryTable;
> -
> -  ASSERT(VirtualMemoryMap != NULL);
> -
> -  VirtualMemoryTable = (ARM_MEMORY_REGION_DESCRIPTOR*)AllocatePages(EFI_SIZE_TO_PAGES (sizeof(ARM_MEMORY_REGION_DESCRIPTOR) * MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS));
> -  if (VirtualMemoryTable == NULL) {
> -    return;
> -  }
> -
> -  if (FeaturePcdGet(PcdCacheEnable) == TRUE) {
> -    CacheAttributes = DDR_ATTRIBUTES_CACHED;
> -  } else {
> -    CacheAttributes = DDR_ATTRIBUTES_UNCACHED;
> -  }
> -
> -  // ReMap (Either NOR Flash or DRAM)
> -  VirtualMemoryTable[Index].PhysicalBase = PcdGet64 (PcdSystemMemoryBase);
> -  VirtualMemoryTable[Index].VirtualBase  = PcdGet64 (PcdSystemMemoryBase);
> -  VirtualMemoryTable[Index].Length       = PcdGet64 (PcdSystemMemorySize);
> -  VirtualMemoryTable[Index].Attributes   = CacheAttributes;
> -
> -  // SOC Registers. L3 interconnects
> -  VirtualMemoryTable[++Index].PhysicalBase = SOC_REGISTERS_L3_PHYSICAL_BASE;
> -  VirtualMemoryTable[Index].VirtualBase  = SOC_REGISTERS_L3_PHYSICAL_BASE;
> -  VirtualMemoryTable[Index].Length       = SOC_REGISTERS_L3_PHYSICAL_LENGTH;
> -  VirtualMemoryTable[Index].Attributes   = SOC_REGISTERS_L3_ATTRIBUTES;
> -
> -  // SOC Registers. L4 interconnects
> -  VirtualMemoryTable[++Index].PhysicalBase = SOC_REGISTERS_L4_PHYSICAL_BASE;
> -  VirtualMemoryTable[Index].VirtualBase  = SOC_REGISTERS_L4_PHYSICAL_BASE;
> -  VirtualMemoryTable[Index].Length       = SOC_REGISTERS_L4_PHYSICAL_LENGTH;
> -  VirtualMemoryTable[Index].Attributes   = SOC_REGISTERS_L4_ATTRIBUTES;
> -
> -  // End of Table
> -  VirtualMemoryTable[++Index].PhysicalBase = 0;
> -  VirtualMemoryTable[Index].VirtualBase  = 0;
> -  VirtualMemoryTable[Index].Length       = 0;
> -  VirtualMemoryTable[Index].Attributes   = (ARM_MEMORY_REGION_ATTRIBUTES)0;
> -
> -  ASSERT((Index + 1) == MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS);
> -
> -  *VirtualMemoryMap = VirtualMemoryTable;
> -}
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c
> deleted file mode 100755
> index 6ca48e0c9fcb..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Library/IoLib.h>
> -#include <Library/DebugLib.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -VOID
> -ClockInit (
> -  VOID
> -  )
> -{
> -  //DPLL1 - DPLL4 are configured part of Configuration header which OMAP3 ROM parses.
> -
> -  // Enable PLL5 and set to 120 MHz as a reference clock.
> -  MmioWrite32 (CM_CLKSEL4_PLL, CM_CLKSEL_PLL_MULT(120) | CM_CLKSEL_PLL_DIV(13));
> -  MmioWrite32 (CM_CLKSEL5_PLL, CM_CLKSEL_DIV_120M(1));
> -  MmioWrite32 (CM_CLKEN2_PLL, CM_CLKEN_FREQSEL_075_100 | CM_CLKEN_ENABLE);
> -
> -  // Turn on functional & interface clocks to the USBHOST power domain
> -  MmioOr32(CM_FCLKEN_USBHOST, CM_FCLKEN_USBHOST_EN_USBHOST2_ENABLE
> -                              | CM_FCLKEN_USBHOST_EN_USBHOST1_ENABLE);
> -  MmioOr32(CM_ICLKEN_USBHOST, CM_ICLKEN_USBHOST_EN_USBHOST_ENABLE);
> -
> -  // Turn on functional & interface clocks to the USBTLL block.
> -  MmioOr32(CM_FCLKEN3_CORE, CM_FCLKEN3_CORE_EN_USBTLL_ENABLE);
> -  MmioOr32(CM_ICLKEN3_CORE, CM_ICLKEN3_CORE_EN_USBTLL_ENABLE);
> -
> -  // Turn on functional & interface clocks to MMC1 and I2C1 modules.
> -  MmioOr32(CM_FCLKEN1_CORE, CM_FCLKEN1_CORE_EN_MMC1_ENABLE
> -                            | CM_FCLKEN1_CORE_EN_I2C1_ENABLE);
> -  MmioOr32(CM_ICLKEN1_CORE, CM_ICLKEN1_CORE_EN_MMC1_ENABLE
> -                            | CM_ICLKEN1_CORE_EN_I2C1_ENABLE);
> -
> -  // Turn on functional & interface clocks to various Peripherals.
> -  MmioOr32(CM_FCLKEN_PER, CM_FCLKEN_PER_EN_UART3_ENABLE
> -                          | CM_FCLKEN_PER_EN_GPT4_ENABLE
> -                          | CM_FCLKEN_PER_EN_GPIO2_ENABLE
> -                          | CM_FCLKEN_PER_EN_GPIO3_ENABLE
> -                          | CM_FCLKEN_PER_EN_GPIO4_ENABLE
> -                          | CM_FCLKEN_PER_EN_GPIO5_ENABLE
> -                          | CM_FCLKEN_PER_EN_GPIO6_ENABLE);
> -  MmioOr32(CM_ICLKEN_PER, CM_ICLKEN_PER_EN_UART3_ENABLE
> -                          | CM_ICLKEN_PER_EN_GPT3_ENABLE
> -                          | CM_ICLKEN_PER_EN_GPT4_ENABLE
> -                          | CM_ICLKEN_PER_EN_GPIO2_ENABLE
> -                          | CM_ICLKEN_PER_EN_GPIO3_ENABLE
> -                          | CM_ICLKEN_PER_EN_GPIO4_ENABLE
> -                          | CM_ICLKEN_PER_EN_GPIO5_ENABLE
> -                          | CM_ICLKEN_PER_EN_GPIO6_ENABLE);
> -
> -  // Turn on functional & inteface clocks to various wakeup modules.
> -  MmioOr32(CM_FCLKEN_WKUP, CM_FCLKEN_WKUP_EN_GPIO1_ENABLE
> -                           | CM_FCLKEN_WKUP_EN_WDT2_ENABLE);
> -  MmioOr32(CM_ICLKEN_WKUP, CM_ICLKEN_WKUP_EN_GPIO1_ENABLE
> -                           | CM_ICLKEN_WKUP_EN_WDT2_ENABLE);
> -}
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c
> deleted file mode 100755
> index e6f7cc55ff00..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c
> +++ /dev/null
> @@ -1,322 +0,0 @@
> -/** @file
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <PiPei.h>
> -#include <Library/IoLib.h>
> -#include <Library/DebugLib.h>
> -#include <Omap3530/Omap3530.h>
> -#include <BeagleBoard.h>
> -
> -#define NUM_PINS_SHARED 232
> -#define NUM_PINS_ABC 6
> -#define NUM_PINS_XM 12
> -
> -PAD_CONFIGURATION PadConfigurationTableShared[] = {
> -  //Pin,           MuxMode,    PullConfig,                      InputEnable
> -  { SDRC_D0,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D1,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D2,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D3,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D4,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D5,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D6,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D7,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D8,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D9,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D10,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D11,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D12,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D13,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D14,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D15,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D16,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D17,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D18,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D19,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D20,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D21,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D22,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D23,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D24,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D25,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D26,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D27,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D28,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D29,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D30,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_D31,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_CLK,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_DQS0,     MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_CKE0,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { SDRC_CKE1,     MUXMODE7,   PULL_DISABLED,                INPUT  },
> -  { SDRC_DQS1,     MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_DQS2,     MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { SDRC_DQS3,     MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_A1,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A2,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A3,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A4,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A5,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A6,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A7,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A8,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A9,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_A10,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_D0,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D1,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D2,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D3,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D4,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D5,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D6,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D7,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D8,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D9,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D10,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D11,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D12,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D13,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D14,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_D15,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_NCS0,     MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_NCS1,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
> -  { GPMC_NCS2,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
> -  { GPMC_NCS3,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
> -  { GPMC_NCS4,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
> -  { GPMC_NCS5,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_NCS6,     MUXMODE1,   PULL_DISABLED,                INPUT  },
> -  { GPMC_NCS7,     MUXMODE1,   PULL_UP_SELECTED,             INPUT  },
> -  { GPMC_CLK,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_NADV_ALE, MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_NOE,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_NWE,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_NBE0_CLE, MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { GPMC_NBE1,     MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_NWP,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { GPMC_WAIT0,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { GPMC_WAIT1,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { GPMC_WAIT2,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { GPMC_WAIT3,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { DSS_PCLK,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_HSYNC,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_PSYNC,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_ACBIAS,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA0,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA1,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA2,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA3,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA4,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA5,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA6,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA7,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA8,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA9,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA10,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA11,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA12,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA13,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA14,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA15,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA16,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA17,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { CAM_HS,        MUXMODE0,   PULL_UP_SELECTED,             INPUT },
> -  { CAM_VS,        MUXMODE0,   PULL_UP_SELECTED,             INPUT },
> -  { CAM_XCLKA,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { CAM_PCLK,      MUXMODE0,   PULL_UP_SELECTED,             INPUT },
> -  { CAM_FLD,       MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { CAM_D0,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D1,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D2,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D3,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D4,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D5,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D6,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D7,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D8,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D9,        MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D10,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_D11,       MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CAM_XCLKB,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { CAM_WEN,       MUXMODE4,   PULL_DISABLED,                INPUT  },
> -  { CAM_STROBE,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { CSI2_DX0,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CSI2_DY0,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CSI2_DX1,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { CSI2_DY1,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { MCBSP2_FSX,    MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { MCBSP2_CLKX,   MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { MCBSP2_DR,     MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { MCBSP2_DX,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { MMC1_CLK,      MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
> -  { MMC1_CMD,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT0,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT1,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT2,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT3,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT4,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT5,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT6,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC1_DAT7,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_CLK,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_CMD,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT0,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT1,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT2,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT3,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT4,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT5,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT6,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MMC2_DAT7,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MCBSP3_DX,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCBSP3_DR,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCBSP3_CLKX,   MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCBSP3_FSX,    MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { UART2_CTS,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { UART2_RTS,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { UART2_TX,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { UART2_RX,      MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { UART1_TX,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { UART1_RTS,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { UART1_CTS,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { UART1_RX,      MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { MCBSP4_CLKX,   MUXMODE1,   PULL_DISABLED,                INPUT  },
> -  { MCBSP4_DR,     MUXMODE1,   PULL_DISABLED,                INPUT  },
> -  { MCBSP4_DX,     MUXMODE1,   PULL_DISABLED,                INPUT  },
> -  { MCBSP4_FSX,    MUXMODE1,   PULL_DISABLED,                INPUT  },
> -  { MCBSP1_CLKR,   MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCBSP1_FSR,    MUXMODE4,   PULL_UP_SELECTED,             OUTPUT },
> -  { MCBSP1_DX,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCBSP1_DR,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCBSP1_CLKS,   MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { MCBSP1_FSX,    MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCBSP1_CLKX,   MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { UART3_CTS_RCTX,MUXMODE0,   PULL_UP_SELECTED,                 INPUT  },
> -  { UART3_RTS_SD,  MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { UART3_RX_IRRX, MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { UART3_TX_IRTX, MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { HSUSB0_CLK,    MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_STP,    MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
> -  { HSUSB0_DIR,    MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_NXT,    MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA0,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA1,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA2,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA3,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA4,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA5,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA6,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { HSUSB0_DATA7,  MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { I2C1_SCL,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { I2C1_SDA,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { I2C2_SCL,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { I2C2_SDA,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { I2C3_SCL,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { I2C3_SDA,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { HDQ_SIO,       MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCSPI1_CLK,    MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MCSPI1_SIMO,   MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { MCSPI1_SOMI,   MUXMODE0,   PULL_DISABLED,                INPUT  },
> -  { MCSPI1_CS0,    MUXMODE0,   PULL_UP_SELECTED,                 INPUT  },
> -  { MCSPI1_CS1,    MUXMODE0,   PULL_UP_SELECTED,                 OUTPUT },
> -  { MCSPI1_CS2,    MUXMODE4,   PULL_DISABLED,                OUTPUT },
> -  { MCSPI1_CS3,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { MCSPI2_CLK,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { MCSPI2_SIMO,   MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { MCSPI2_SOMI,   MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { MCSPI2_CS0,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { MCSPI2_CS1,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { SYS_NIRQ,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
> -  { SYS_CLKOUT2,   MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_CLK,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
> -  { ETK_CTL,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
> -  { ETK_D0,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D1,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D2,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D3,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D4,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D5,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D6,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D7,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D8,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D9,        MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D10,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
> -  { ETK_D11,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
> -  { ETK_D12,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D13,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D14,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
> -  { ETK_D15,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  }
> -};
> -
> -PAD_CONFIGURATION PadConfigurationTableAbc[] = {
> -  { DSS_DATA18,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA19,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA20,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA21,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA22,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA23,    MUXMODE0,   PULL_DISABLED,                OUTPUT }
> -};
> -
> -PAD_CONFIGURATION PadConfigurationTableXm[] = {
> -  { DSS_DATA18,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA19,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA20,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA21,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA22,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { DSS_DATA23,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { SYS_BOOT0,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { SYS_BOOT1,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { SYS_BOOT3,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { SYS_BOOT4,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { SYS_BOOT5,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
> -  { SYS_BOOT6,     MUXMODE3,   PULL_DISABLED,                OUTPUT }
> -};
> -
> -VOID
> -PadConfiguration (
> -  BEAGLEBOARD_REVISION Revision
> -  )
> -{
> -  UINTN             Index;
> -  UINT16            PadConfiguration;
> -  PAD_CONFIGURATION *BoardConfiguration;
> -  UINTN             NumPinsToConfigure;
> -
> -  for (Index = 0; Index < NUM_PINS_SHARED; Index++) {
> -    // Set up Pad configuration for particular pin.
> -    PadConfiguration =  (PadConfigurationTableShared[Index].MuxMode << MUXMODE_OFFSET);
> -    PadConfiguration |= (PadConfigurationTableShared[Index].PullConfig << PULL_CONFIG_OFFSET);
> -    PadConfiguration |= (PadConfigurationTableShared[Index].InputEnable << INPUTENABLE_OFFSET);
> -
> -    // Configure the pin with specific Pad configuration.
> -    MmioWrite16(PadConfigurationTableShared[Index].Pin, PadConfiguration);
> -  }
> -
> -  if (Revision == REVISION_XM) {
> -    BoardConfiguration = PadConfigurationTableXm;
> -    NumPinsToConfigure = NUM_PINS_XM;
> -  } else {
> -    BoardConfiguration = PadConfigurationTableAbc;
> -    NumPinsToConfigure = NUM_PINS_ABC;
> -  }
> -
> -  for (Index = 0; Index < NumPinsToConfigure; Index++) {
> -    //Set up Pad configuration for particular pin.
> -    PadConfiguration =  (BoardConfiguration[Index].MuxMode << MUXMODE_OFFSET);
> -    PadConfiguration |= (BoardConfiguration[Index].PullConfig << PULL_CONFIG_OFFSET);
> -    PadConfiguration |= (BoardConfiguration[Index].InputEnable << INPUTENABLE_OFFSET);
> -
> -    //Configure the pin with specific Pad configuration.
> -    MmioWrite16(BoardConfiguration[Index].Pin, PadConfiguration);
> -  }
> -}
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c b/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c
> deleted file mode 100644
> index 46204a4386b6..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c
> +++ /dev/null
> @@ -1,299 +0,0 @@
> -/** @file
> -  Add custom commands for BeagleBoard development.
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -
> -**/
> -
> -#include <PiDxe.h>
> -#include <Library/ArmLib.h>
> -#include <Library/CacheMaintenanceLib.h>
> -#include <Library/EblCmdLib.h>
> -#include <Library/BaseLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -#include <Library/UefiRuntimeServicesTableLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/UefiLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/EfiFileLib.h>
> -#include <Library/ArmDisassemblerLib.h>
> -#include <Library/PeCoffGetEntryPointLib.h>
> -#include <Library/PerformanceLib.h>
> -#include <Library/TimerLib.h>
> -
> -#include <Guid/DebugImageInfoTable.h>
> -
> -#include <Protocol/DebugSupport.h>
> -#include <Protocol/LoadedImage.h>
> -
> -/**
> -  Simple arm disassembler via a library
> -
> -  Argv[0] - symboltable
> -  Argv[1] - Optional quoted format string
> -  Argv[2] - Optional flag
> -
> -  @param  Argc   Number of command arguments in Argv
> -  @param  Argv   Array of strings that represent the parsed command line.
> -                 Argv[0] is the command name
> -
> -  @return EFI_SUCCESS
> -
> -**/
> -EFI_STATUS
> -EblSymbolTable (
> -  IN UINTN  Argc,
> -  IN CHAR8  **Argv
> -  )
> -{
> -  EFI_STATUS                        Status;
> -  EFI_DEBUG_IMAGE_INFO_TABLE_HEADER *DebugImageTableHeader = NULL;
> -  EFI_DEBUG_IMAGE_INFO              *DebugTable;
> -  UINTN                             Entry;
> -  CHAR8                             *Format;
> -  CHAR8                             *Pdb;
> -  UINT32                            PeCoffSizeOfHeaders;
> -  UINT32                            ImageBase;
> -  BOOLEAN                           Elf;
> -
> -  // Need to add lots of error checking on the passed in string
> -  // Default string is for RealView debugger or gdb depending on toolchain used.
> -  if (Argc > 1) {
> -    Format = Argv[1];
> -  } else {
> -#if __GNUC__
> -    // Assume gdb
> -    Format = "add-symbol-file %a 0x%x";
> -#else
> -    // Default to RVCT
> -    Format = "load /a /ni /np %a &0x%x";
> -#endif
> -  }
> -  Elf = (Argc > 2) ? FALSE : TRUE;
> -
> -  Status = EfiGetSystemConfigurationTable (&gEfiDebugImageInfoTableGuid, (VOID **)&DebugImageTableHeader);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  DebugTable = DebugImageTableHeader->EfiDebugImageInfoTable;
> -  if (DebugTable == NULL) {
> -    return EFI_SUCCESS;
> -  }
> -
> -  for (Entry = 0; Entry < DebugImageTableHeader->TableSize; Entry++, DebugTable++) {
> -    if (DebugTable->NormalImage != NULL) {
> -      if ((DebugTable->NormalImage->ImageInfoType == EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL) && (DebugTable->NormalImage->LoadedImageProtocolInstance != NULL)) {
> -        ImageBase = (UINT32)DebugTable->NormalImage->LoadedImageProtocolInstance->ImageBase;
> -        PeCoffSizeOfHeaders = PeCoffGetSizeOfHeaders ((VOID *)(UINTN)ImageBase);
> -        Pdb = PeCoffLoaderGetPdbPointer (DebugTable->NormalImage->LoadedImageProtocolInstance->ImageBase);
> -        if (Pdb != NULL) {
> -          if (Elf) {
> -            // ELF and Mach-O images don't include the header so the linked address does not include header
> -            ImageBase += PeCoffSizeOfHeaders;
> -          }
> -          AsciiPrint (Format, Pdb, ImageBase);
> -          AsciiPrint ("\n");
> -        } else {
> -        }
> -      }
> -    }
> -  }
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -/**
> -  Simple arm disassembler via a library
> -
> -  Argv[0] - disasm
> -  Argv[1] - Address to start disassembling from
> -  ARgv[2] - Number of instructions to disassembly (optional)
> -
> -  @param  Argc   Number of command arguments in Argv
> -  @param  Argv   Array of strings that represent the parsed command line.
> -                 Argv[0] is the command name
> -
> -  @return EFI_SUCCESS
> -
> -**/
> -EFI_STATUS
> -EblDisassembler (
> -  IN UINTN  Argc,
> -  IN CHAR8  **Argv
> -  )
> -{
> -  UINT8   *Ptr, *CurrentAddress;
> -  UINT32  Address;
> -  UINT32  Count;
> -  CHAR8   Buffer[80];
> -  UINT32  ItBlock;
> -
> -  if (Argc < 2) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Address = AsciiStrHexToUintn (Argv[1]);
> -  Count   = (Argc > 2) ? (UINT32)AsciiStrHexToUintn (Argv[2]) : 20;
> -
> -  Ptr = (UINT8 *)(UINTN)Address;
> -  ItBlock = 0;
> -  do {
> -    CurrentAddress = Ptr;
> -    DisassembleInstruction (&Ptr, TRUE, TRUE, &ItBlock, Buffer, sizeof (Buffer));
> -    AsciiPrint ("0x%08x: %a\n", CurrentAddress, Buffer);
> -  } while (Count-- > 0);
> -
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -CHAR8 *
> -ImageHandleToPdbFileName (
> -  IN  EFI_HANDLE    Handle
> -  )
> -{
> -  EFI_STATUS                  Status;
> -  EFI_LOADED_IMAGE_PROTOCOL   *LoadedImage;
> -  CHAR8                       *Pdb;
> -  CHAR8                       *StripLeading;
> -
> -  Status = gBS->HandleProtocol (Handle, &gEfiLoadedImageProtocolGuid, (VOID **)&LoadedImage);
> -  if (EFI_ERROR (Status)) {
> -    return "";
> -  }
> -
> -  Pdb = PeCoffLoaderGetPdbPointer (LoadedImage->ImageBase);
> -  StripLeading = AsciiStrStr (Pdb, "\\ARM\\");
> -  if (StripLeading == NULL) {
> -    StripLeading = AsciiStrStr (Pdb, "/ARM/");
> -    if (StripLeading == NULL) {
> -      return Pdb;
> -    }
> -  }
> -  // Hopefully we hacked off the unneeded part
> -  return (StripLeading + 5);
> -}
> -
> -
> -CHAR8 *mTokenList[] = {
> -  "SEC",
> -  "PEI",
> -  "DXE",
> -  "BDS",
> -  NULL
> -};
> -
> -/**
> -  Simple arm disassembler via a library
> -
> -  Argv[0] - disasm
> -  Argv[1] - Address to start disassembling from
> -  ARgv[2] - Number of instructions to disassembly (optional)
> -
> -  @param  Argc   Number of command arguments in Argv
> -  @param  Argv   Array of strings that represent the parsed command line.
> -                 Argv[0] is the command name
> -
> -  @return EFI_SUCCESS
> -
> -**/
> -EFI_STATUS
> -EblPerformance (
> -  IN UINTN  Argc,
> -  IN CHAR8  **Argv
> -  )
> -{
> -  UINTN       Key;
> -  CONST VOID  *Handle;
> -  CONST CHAR8 *Token, *Module;
> -  UINT64      Start, Stop, TimeStamp;
> -  UINT64      Delta, TicksPerSecond, Milliseconds, Microseconds;
> -  UINTN       Index;
> -
> -  TicksPerSecond = GetPerformanceCounterProperties (NULL, NULL);
> -
> -  Key       = 0;
> -  do {
> -    Key = GetPerformanceMeasurement (Key, (CONST VOID **)&Handle, &Token, &Module, &Start, &Stop);
> -    if (Key != 0) {
> -      if (AsciiStriCmp ("StartImage:", Token) == 0) {
> -        if (Stop == 0) {
> -          // The entry for EBL is still running so the stop time will be zero. Skip it
> -          AsciiPrint ("   running     %a\n", ImageHandleToPdbFileName ((EFI_HANDLE)Handle));
> -        } else {
> -          Delta = Stop - Start;
> -          Microseconds = DivU64x64Remainder (MultU64x32 (Delta, 1000000), TicksPerSecond, NULL);
> -          AsciiPrint ("%10ld us  %a\n", Microseconds, ImageHandleToPdbFileName ((EFI_HANDLE)Handle));
> -        }
> -      }
> -    }
> -  } while (Key != 0);
> -
> -  AsciiPrint ("\n");
> -
> -  TimeStamp = 0;
> -  Key       = 0;
> -  do {
> -    Key = GetPerformanceMeasurement (Key, (CONST VOID **)&Handle, &Token, &Module, &Start, &Stop);
> -    if (Key != 0) {
> -      for (Index = 0; mTokenList[Index] != NULL; Index++) {
> -        if (AsciiStriCmp (mTokenList[Index], Token) == 0) {
> -          Delta = Stop - Start;
> -          TimeStamp += Delta;
> -          Milliseconds = DivU64x64Remainder (MultU64x32 (Delta, 1000), TicksPerSecond, NULL);
> -          AsciiPrint ("%6a %6ld ms\n", Token, Milliseconds);
> -          break;
> -        }
> -      }
> -    }
> -  } while (Key != 0);
> -
> -  AsciiPrint ("Total Time = %ld ms\n\n", DivU64x64Remainder (MultU64x32 (TimeStamp, 1000), TicksPerSecond, NULL));
> -
> -  return EFI_SUCCESS;
> -}
> -
> -
> -GLOBAL_REMOVE_IF_UNREFERENCED const EBL_COMMAND_TABLE mLibCmdTemplate[] =
> -{
> -  {
> -    "disasm address [count]",
> -    " disassemble count instructions",
> -    NULL,
> -    EblDisassembler
> -  },
> -  {
> -    "performance",
> -    " Display boot performance info",
> -    NULL,
> -    EblPerformance
> -  },
> -  {
> -    "symboltable [\"format string\"] [PECOFF]",
> -    " show symbol table commands for debugger",
> -    NULL,
> -    EblSymbolTable
> -  }
> -};
> -
> -
> -VOID
> -EblInitializeExternalCmd (
> -  VOID
> -  )
> -{
> -  EblAddCommands (mLibCmdTemplate, sizeof (mLibCmdTemplate)/sizeof (EBL_COMMAND_TABLE));
> -  return;
> -}
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf
> deleted file mode 100644
> index a79448c0e95b..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -#/** @file
> -# Component description file for the entry point to a EFIDXE Drivers
> -#
> -# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification
> -# Copyright (c) 2007 - 2007, Intel Corporation. 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.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardEblCmdLib
> -  FILE_GUID                      = ea62bdc3-1063-425f-8851-98cb47f213a8
> -  MODULE_TYPE                    = UEFI_DRIVER
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = EblCmdLib|DXE_DRIVER UEFI_APPLICATION UEFI_DRIVER
> -
> -
> -#
> -# The following information is for reference only and not required by the build tools.
> -#
> -#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
> -#
> -
> -[Sources.common]
> -  EblCmdLib.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  MdeModulePkg/MdeModulePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  ArmPkg/ArmPkg.dec
> -
> -[LibraryClasses]
> -  BaseLib
> -  DebugLib
> -  ArmDisassemblerLib
> -  PerformanceLib
> -  TimerLib
> -
> -[Protocols]
> - gEfiDebugSupportProtocolGuid
> - gEfiLoadedImageProtocolGuid
> -
> -[Guids]
> - gEfiDebugImageInfoTableGuid
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c b/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c
> deleted file mode 100644
> index 82a2957dc97e..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c
> +++ /dev/null
> @@ -1,103 +0,0 @@
> -/** @file
> -  Basic serial IO abstaction for GDB
> -
> -  Copyright (c) 2008 - 2009, Apple Inc. 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.
> -
> -**/
> -
> -#include <Uefi.h>
> -#include <Library/GdbSerialLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/OmapLib.h>
> -#include <Omap3530/Omap3530.h>
> -
> -RETURN_STATUS
> -EFIAPI
> -GdbSerialLibConstructor (
> -  IN EFI_HANDLE        ImageHandle,
> -  IN EFI_SYSTEM_TABLE  *SystemTable
> -  )
> -{
> -  return RETURN_SUCCESS;
> -}
> -
> -RETURN_STATUS
> -EFIAPI
> -GdbSerialInit (
> -  IN UINT64     BaudRate,
> -  IN UINT8      Parity,
> -  IN UINT8      DataBits,
> -  IN UINT8      StopBits
> -  )
> -{
> -  return RETURN_SUCCESS;
> -}
> -
> -BOOLEAN
> -EFIAPI
> -GdbIsCharAvailable (
> -  VOID
> -  )
> -{
> -  UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -
> -  if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {
> -    return TRUE;
> -  } else {
> -    return FALSE;
> -  }
> -}
> -
> -CHAR8
> -EFIAPI
> -GdbGetChar (
> -  VOID
> -  )
> -{
> -  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -  UINT32  RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;
> -  CHAR8   Char;
> -
> -  while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);
> -  Char = MmioRead8(RBR);
> -
> -  return Char;
> -}
> -
> -VOID
> -EFIAPI
> -GdbPutChar (
> -  IN  CHAR8   Char
> -  )
> -{
> -  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
> -  UINT32  THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;
> -
> -  while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);
> -  MmioWrite8(THR, Char);
> -}
> -
> -VOID
> -GdbPutString (
> -  IN CHAR8  *String
> -  )
> -{
> -  while (*String != '\0') {
> -    GdbPutChar (*String);
> -    String++;
> -  }
> -}
> -
> -
> -
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf
> deleted file mode 100644
> index e219ea256f26..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -#/** @file
> -#
> -#  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = GdbSerialLib
> -  FILE_GUID                      = E2423349-EF5D-439B-95F5-8B8D8E3B443F
> -  MODULE_TYPE                    = UEFI_DRIVER
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = GdbSerialLib
> -
> -  CONSTRUCTOR                    = GdbSerialLibConstructor
> -
> -
> -[Sources.common]
> -  GdbSerialLib.c
> -
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[LibraryClasses]
> -  DebugLib
> -  IoLib
> -  OmapLib
> -
> -[FixedPcd]
> -  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c b/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c
> deleted file mode 100644
> index 6b7879b02bd6..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c
> +++ /dev/null
> @@ -1,165 +0,0 @@
> -/** @file
> -  Do a generic Cold Reset for OMAP3550 and BeagleBoard specific Warm reset
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -
> -**/
> -
> -
> -#include <Uefi.h>
> -
> -#include <Library/ArmLib.h>
> -#include <Library/CacheMaintenanceLib.h>
> -#include <Library/MemoryAllocationLib.h>
> -#include <Library/IoLib.h>
> -#include <Library/PcdLib.h>
> -#include <Library/DebugLib.h>
> -#include <Library/UefiBootServicesTableLib.h>
> -
> -#include <Omap3530/Omap3530.h>
> -
> -
> -VOID
> -ShutdownEfi (
> -  VOID
> -  )
> -{
> -  EFI_STATUS              Status;
> -  UINTN                   MemoryMapSize;
> -  EFI_MEMORY_DESCRIPTOR   *MemoryMap;
> -  UINTN                   MapKey;
> -  UINTN                   DescriptorSize;
> -  UINTN                   DescriptorVersion;
> -  UINTN                   Pages;
> -
> -  MemoryMap = NULL;
> -  MemoryMapSize = 0;
> -  do {
> -    Status = gBS->GetMemoryMap (
> -                    &MemoryMapSize,
> -                    MemoryMap,
> -                    &MapKey,
> -                    &DescriptorSize,
> -                    &DescriptorVersion
> -                    );
> -    if (Status == EFI_BUFFER_TOO_SMALL) {
> -
> -      Pages = EFI_SIZE_TO_PAGES (MemoryMapSize) + 1;
> -      MemoryMap = AllocatePages (Pages);
> -
> -      //
> -      // Get System MemoryMap
> -      //
> -      Status = gBS->GetMemoryMap (
> -                      &MemoryMapSize,
> -                      MemoryMap,
> -                      &MapKey,
> -                      &DescriptorSize,
> -                      &DescriptorVersion
> -                      );
> -      // Don't do anything between the GetMemoryMap() and ExitBootServices()
> -      if (!EFI_ERROR (Status)) {
> -        Status = gBS->ExitBootServices (gImageHandle, MapKey);
> -        if (EFI_ERROR (Status)) {
> -          FreePages (MemoryMap, Pages);
> -          MemoryMap = NULL;
> -          MemoryMapSize = 0;
> -        }
> -      }
> -    }
> -  } while (EFI_ERROR (Status));
> -
> -  //Clean and invalidate caches.
> -  WriteBackInvalidateDataCache();
> -  InvalidateInstructionCache();
> -
> -  //Turning off Caches and MMU
> -  ArmDisableDataCache ();
> -  ArmDisableInstructionCache ();
> -  ArmDisableMmu ();
> -}
> -
> -typedef
> -VOID
> -(EFIAPI *CALL_STUB)(
> -  VOID
> -);
> -
> -
> -/**
> -  Resets the entire platform.
> -
> -  @param  ResetType             The type of reset to perform.
> -  @param  ResetStatus           The status code for the reset.
> -  @param  DataSize              The size, in bytes, of WatchdogData.
> -  @param  ResetData             For a ResetType of EfiResetCold, EfiResetWarm, or
> -                                EfiResetShutdown the data buffer starts with a Null-terminated
> -                                Unicode string, optionally followed by additional binary data.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibResetSystem (
> -  IN EFI_RESET_TYPE   ResetType,
> -  IN EFI_STATUS       ResetStatus,
> -  IN UINTN            DataSize,
> -  IN CHAR16           *ResetData OPTIONAL
> -  )
> -{
> -  CALL_STUB   StartOfFv;
> -
> -  if (ResetData != NULL) {
> -    DEBUG((EFI_D_ERROR, "%s", ResetData));
> -  }
> -
> -  ShutdownEfi ();
> -
> -  switch (ResetType) {
> -  case EfiResetWarm:
> -    //Perform warm reset of the system by jumping to the begining of the FV
> -    StartOfFv = (CALL_STUB)(UINTN)PcdGet64 (PcdFvBaseAddress);
> -    StartOfFv ();
> -    break;
> -  case EfiResetCold:
> -  case EfiResetShutdown:
> -  default:
> -    //Perform cold reset of the system.
> -    MmioOr32 (PRM_RSTCTRL, RST_DPLL3);
> -    while ((MmioRead32(PRM_RSTST) & GLOBAL_COLD_RST) != 0x1);
> -    break;
> -  }
> -
> -  // If the reset didn't work, return an error.
> -  ASSERT (FALSE);
> -  return EFI_DEVICE_ERROR;
> -}
> -
> -
> -
> -/**
> -  Initialize any infrastructure required for LibResetSystem () to function.
> -
> -  @param  ImageHandle   The firmware allocated handle for the EFI image.
> -  @param  SystemTable   A pointer to the EFI System Table.
> -
> -  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -LibInitializeResetSystem (
> -  IN EFI_HANDLE        ImageHandle,
> -  IN EFI_SYSTEM_TABLE  *SystemTable
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf
> deleted file mode 100644
> index 27bb8d1833a0..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -#/** @file
> -# Reset System lib to make it easy to port new platforms
> -#
> -# Copyright (c) 2008, Apple Inc. 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.
> -#
> -#
> -#**/
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = BeagleBoardResetSystemLib
> -  FILE_GUID                      = 781371a2-3fdd-41d4-96a1-7b34cbc9e895
> -  MODULE_TYPE                    = BASE
> -  VERSION_STRING                 = 1.0
> -  LIBRARY_CLASS                  = EfiResetSystemLib
> -
> -
> -[Sources.common]
> -  ResetSystemLib.c
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  ArmPkg/ArmPkg.dec
> -  EmbeddedPkg/EmbeddedPkg.dec
> -  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
> -
> -[Pcd.common]
> -  gArmTokenSpaceGuid.PcdCpuResetAddress
> -  gEmbeddedTokenSpaceGuid.PcdEmbeddedFdBaseAddress
> -
> -[LibraryClasses]
> -  DebugLib
> -  ArmLib
> -  CacheMaintenanceLib
> -  MemoryAllocationLib
> -  UefiRuntimeServicesTableLib
> -  TimerLib
> -  UefiLib
> -  UefiBootServicesTableLib
> -
> -[Pcd]
> -  gArmTokenSpaceGuid.PcdFvBaseAddress
> diff --git a/Platforms/TexasInstruments/BeagleBoard/License.txt b/Platforms/TexasInstruments/BeagleBoard/License.txt
> deleted file mode 100755
> index 05dbd3606dcc..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/License.txt
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -Copyright (c) 2009-2010, Apple Inc. All rights reserved.
> -Copyright (c) 2011-2012, ARM Limited. All rights reserved.
> -
> -Redistribution and use in source and binary forms, with or without
> -modification, are permitted provided that the following conditions
> -are met:
> -
> -* Redistributions of source code must retain the above copyright
> -  notice, this list of conditions and the following disclaimer.
> -* Redistributions in binary form must reproduce the above copyright
> -  notice, this list of conditions and the following disclaimer in
> -  the documentation and/or other materials provided with the
> -  distribution.
> -
> -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
> -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
> -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> -POSSIBILITY OF SUCH DAMAGE.
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile b/Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile
> deleted file mode 100644
> index ed09e2bcde07..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -#
> -# Copyright (c) 2008 - 2009, Apple Inc. 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.
> -#
> -
> -CC     = gcc
> -CFLAGS = -g
> -
> -generate_image: generate_image.c
> -		$(CC) $(CCFLAGS) $(LDFLAGS) -o generate_image generate_image.c
> -
> -clean:
> -	rm -f generate_image generate_image.exe
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c b/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c
> deleted file mode 100644
> index 7fc3faba10ca..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c
> +++ /dev/null
> @@ -1,408 +0,0 @@
> -/** @file
> - The data structures in this code come from:
> - OMAP35x Applications Processor Technical Reference Manual chapter 25
> - OMAP34xx Multimedia Device Technical Reference Manual chapter 26.4.8.
> -
> - You should use the OMAP35x manual when possible. Some things, like SectionKey,
> - are not defined in the OMAP35x manual and you have to use the OMAP34xx manual
> - to find the data.
> -
> -  Copyright (c) 2008 - 2010, Apple Inc. 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.
> -
> -**/
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <string.h>
> -#include <errno.h>
> -#include <sys/types.h>
> -#include <sys/stat.h>
> -
> -
> -
> -//TOC structure as defined by OMAP35XX TRM.
> -typedef struct {
> -  unsigned int  Start;
> -  unsigned int  Size;
> -  unsigned int  Reserved1;
> -  unsigned int  Reserved2;
> -  unsigned int  Reserved3;
> -  unsigned char Filename[12];
> -} TOC_DATA;
> -
> -//NOTE: OMAP3430 TRM has CHSETTINGS and CHRAM structures.
> -typedef struct {
> -  unsigned int   SectionKey;
> -  unsigned char  Valid;
> -  unsigned char  Version;
> -  unsigned short Reserved;
> -  unsigned int   Flags;
> -  unsigned int   PRM_CLKSRC_CTRL;
> -  unsigned int   PRM_CLKSEL;
> -  unsigned int   CM_CLKSEL1_EMU;
> -  unsigned int   CM_CLKSEL_CORE;
> -  unsigned int   CM_CLKSEL_WKUP;
> -  unsigned int   CM_CLKEN_PLL_DPLL3;
> -  unsigned int   CM_AUTOIDLE_PLL_DPLL3;
> -  unsigned int   CM_CLKSEL1_PLL;
> -  unsigned int   CM_CLKEN_PLL_DPLL4;
> -  unsigned int   CM_AUTOIDLE_PLL_DPLL4;
> -  unsigned int   CM_CLKSEL2_PLL;
> -  unsigned int   CM_CLKSEL3_PLL;
> -  unsigned int   CM_CLKEN_PLL_MPU;
> -  unsigned int   CM_AUTOIDLE_PLL_MPU;
> -  unsigned int   CM_CLKSEL1_PLL_MPU;
> -  unsigned int   CM_CLKSEL2_PLL_MPU;
> -  unsigned int   CM_CLKSTCTRL_MPU;
> -} CHSETTINGS_DATA;
> -
> -typedef struct {
> -  unsigned int   SectionKey;
> -  unsigned char  Valid;
> -  unsigned char  Reserved1;
> -  unsigned char  Reserved2;
> -  unsigned char  Reserved3;
> -  unsigned short SDRC_SYSCONFIG_LSB;
> -  unsigned short SDRC_CS_CFG_LSB;
> -  unsigned short SDRC_SHARING_LSB;
> -  unsigned short SDRC_ERR_TYPE_LSB;
> -  unsigned int   SDRC_DLLA_CTRL;
> -  unsigned short Reserved4;
> -  unsigned short Reserved5;
> -  unsigned int   SDRC_POWER;
> -  unsigned short MEMORY_TYPE_CS0;
> -  unsigned short Reserved6;
> -  unsigned int   SDRC_MCFG_0;
> -  unsigned short SDRC_MR_0_LSB;
> -  unsigned short SDRC_EMR1_0_LSB;
> -  unsigned short SDRC_EMR2_0_LSB;
> -  unsigned short SDRC_EMR3_0_LSB;
> -  unsigned int   SDRC_ACTIM_CTRLA_0;
> -  unsigned int   SDRC_ACTIM_CTRLB_0;
> -  unsigned int   SDRC_RFRCTRL_0;
> -  unsigned short MEMORY_TYPE_CS1;
> -  unsigned short Reserved7;
> -  unsigned int   SDRC_MCFG_1;
> -  unsigned short SDRC_MR_1_LSB;
> -  unsigned short SDRC_EMR1_1_LSB;
> -  unsigned short SDRC_EMR2_1_LSB;
> -  unsigned short SDRC_EMR3_1_LSB;
> -  unsigned int   SDRC_ACTIM_CTRLA_1;
> -  unsigned int   SDRC_ACTIM_CTRLB_1;
> -  unsigned int   SDRC_RFRCTRL_1;
> -  unsigned int   Reserved8;
> -  unsigned short Flags;
> -  unsigned short Reserved9;
> -} CHRAM_DATA;
> -
> -#define CHSETTINGS_START      0xA0
> -#define CHSETTINGS_SIZE       0x50
> -#define CHRAM_START           0xF0
> -#define CHRAM_SIZE            0x5C
> -#define CLOSING_TOC_ITEM_SIZE 4
> -
> -unsigned char gConfigurationHeader[512];
> -unsigned int  gImageExecutionAddress;
> -char          *gInputImageFile = NULL;
> -char          *gOutputImageFile = NULL;
> -char          *gDataFile = NULL;
> -
> -static
> -void
> -PrintUsage (
> -  void
> -  )
> -{
> -  printf("Usage..\n");
> -}
> -
> -static
> -void
> -PopulateCHSETTINGSData (
> -  FILE            *DataFile,
> -  CHSETTINGS_DATA *CHSETTINGSData
> -  )
> -{
> -  unsigned int Value;
> -
> -  CHSETTINGSData->SectionKey            = 0xC0C0C0C1;
> -  CHSETTINGSData->Valid                 = 0x1;
> -  CHSETTINGSData->Version               = 0x1;
> -  CHSETTINGSData->Reserved              = 0x00;
> -  CHSETTINGSData->Flags                 = 0x050001FD;
> -
> -  //General clock settings.
> -  fscanf(DataFile, "PRM_CLKSRC_CTRL=0x%08x\n", &Value);
> -  CHSETTINGSData->PRM_CLKSRC_CTRL = Value;
> -  fscanf(DataFile, "PRM_CLKSEL=0x%08x\n", &Value);
> -  CHSETTINGSData->PRM_CLKSEL = Value;
> -  fscanf(DataFile, "CM_CLKSEL1_EMU=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL1_EMU = Value;
> -
> -  //Clock configuration
> -  fscanf(DataFile, "CM_CLKSEL_CORE=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL_CORE = Value;
> -  fscanf(DataFile, "CM_CLKSEL_WKUP=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL_WKUP = Value;
> -
> -  //DPLL3 (Core) settings
> -  fscanf(DataFile, "CM_CLKEN_PLL_DPLL3=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKEN_PLL_DPLL3 = Value;
> -  fscanf(DataFile, "CM_AUTOIDLE_PLL_DPLL3=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_AUTOIDLE_PLL_DPLL3 = Value;
> -  fscanf(DataFile, "CM_CLKSEL1_PLL=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL1_PLL = Value;
> -
> -  //DPLL4 (Peripheral) settings
> -  fscanf(DataFile, "CM_CLKEN_PLL_DPLL4=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKEN_PLL_DPLL4 = Value;
> -  fscanf(DataFile, "CM_AUTOIDLE_PLL_DPLL4=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_AUTOIDLE_PLL_DPLL4 = Value;
> -  fscanf(DataFile, "CM_CLKSEL2_PLL=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL2_PLL = Value;
> -  fscanf(DataFile, "CM_CLKSEL3_PLL=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL3_PLL = Value;
> -
> -  //DPLL1 (MPU) settings
> -  fscanf(DataFile, "CM_CLKEN_PLL_MPU=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKEN_PLL_MPU = Value;
> -  fscanf(DataFile, "CM_AUTOIDLE_PLL_MPU=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_AUTOIDLE_PLL_MPU = Value;
> -  fscanf(DataFile, "CM_CLKSEL1_PLL_MPU=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL1_PLL_MPU = Value;
> -  fscanf(DataFile, "CM_CLKSEL2_PLL_MPU=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSEL2_PLL_MPU = Value;
> -  fscanf(DataFile, "CM_CLKSTCTRL_MPU=0x%08x\n", &Value);
> -  CHSETTINGSData->CM_CLKSTCTRL_MPU = Value;
> -}
> -
> -static
> -void
> -PopulateCHRAMData (
> -  FILE       *DataFile,
> -  CHRAM_DATA *CHRAMData
> -  )
> -{
> -  unsigned int Value;
> -
> -  CHRAMData->SectionKey         = 0xC0C0C0C2;
> -  CHRAMData->Valid              = 0x1;
> -
> -  fscanf(DataFile, "SDRC_SYSCONFIG_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_SYSCONFIG_LSB = Value;
> -  fscanf(DataFile, "SDRC_CS_CFG_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_CS_CFG_LSB    = Value;
> -  fscanf(DataFile, "SDRC_SHARING_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_SHARING_LSB   = Value;
> -  fscanf(DataFile, "SDRC_ERR_TYPE_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_ERR_TYPE_LSB  = Value;
> -  fscanf(DataFile, "SDRC_DLLA_CTRL=0x%08x\n", &Value);
> -  CHRAMData->SDRC_DLLA_CTRL     = Value;
> -  fscanf(DataFile, "SDRC_POWER=0x%08x\n", &Value);
> -  CHRAMData->SDRC_POWER         = Value;
> -  fscanf(DataFile, "MEMORY_TYPE_CS0=0x%04x\n", &Value);
> -  CHRAMData->MEMORY_TYPE_CS0    = Value;
> -  fscanf(DataFile, "SDRC_MCFG_0=0x%08x\n", &Value);
> -  CHRAMData->SDRC_MCFG_0        = Value;
> -  fscanf(DataFile, "SDRC_MR_0_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_MR_0_LSB      = Value;
> -  fscanf(DataFile, "SDRC_EMR1_0_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_EMR1_0_LSB    = Value;
> -  fscanf(DataFile, "SDRC_EMR2_0_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_EMR2_0_LSB    = Value;
> -  fscanf(DataFile, "SDRC_EMR3_0_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_EMR3_0_LSB    = Value;
> -  fscanf(DataFile, "SDRC_ACTIM_CTRLA_0=0x%08x\n", &Value);
> -  CHRAMData->SDRC_ACTIM_CTRLA_0 = Value;
> -  fscanf(DataFile, "SDRC_ACTIM_CTRLB_0=0x%08x\n", &Value);
> -  CHRAMData->SDRC_ACTIM_CTRLB_0 = Value;
> -  fscanf(DataFile, "SDRC_RFRCTRL_0=0x%08x\n", &Value);
> -  CHRAMData->SDRC_RFRCTRL_0     = Value;
> -  fscanf(DataFile, "MEMORY_TYPE_CS1=0x%04x\n", &Value);
> -  CHRAMData->MEMORY_TYPE_CS1    = Value;
> -  fscanf(DataFile, "SDRC_MCFG_1=0x%08x\n", &Value);
> -  CHRAMData->SDRC_MCFG_1        = Value;
> -  fscanf(DataFile, "SDRC_MR_1_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_MR_1_LSB      = Value;
> -  fscanf(DataFile, "SDRC_EMR1_1_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_EMR1_1_LSB    = Value;
> -  fscanf(DataFile, "SDRC_EMR2_1_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_EMR2_1_LSB    = Value;
> -  fscanf(DataFile, "SDRC_EMR3_1_LSB=0x%04x\n", &Value);
> -  CHRAMData->SDRC_EMR3_1_LSB    = Value;
> -  fscanf(DataFile, "SDRC_ACTIM_CTRLA_1=0x%08x\n", &Value);
> -  CHRAMData->SDRC_ACTIM_CTRLA_1 = Value;
> -  fscanf(DataFile, "SDRC_ACTIM_CTRLB_1=0x%08x\n", &Value);
> -  CHRAMData->SDRC_ACTIM_CTRLB_1 = Value;
> -  fscanf(DataFile, "SDRC_RFRCTRL_1=0x%08x\n", &Value);
> -  CHRAMData->SDRC_RFRCTRL_1     = Value;
> -
> -  CHRAMData->Flags              = 0x0003;
> -}
> -
> -static
> -void
> -PrepareConfigurationHeader (
> -  void
> -  )
> -{
> -  TOC_DATA        Toc;
> -  CHSETTINGS_DATA CHSETTINGSData;
> -  CHRAM_DATA      CHRAMData;
> -  unsigned int    ConfigurationHdrOffset = 0;
> -  FILE            *DataFile;
> -
> -  // Open data file
> -  DataFile = fopen(gDataFile, "rb");
> -  if (DataFile == NULL) {
> -    fprintf(stderr, "Can't open data file %s.\n", gDataFile);
> -    exit(1);
> -  }
> -
> -  //Initialize configuration header.
> -  memset(gConfigurationHeader, 0x00, sizeof(gConfigurationHeader));
> -
> -  //CHSETTINGS TOC
> -  memset(&Toc, 0x00, sizeof(TOC_DATA));
> -  Toc.Start = CHSETTINGS_START;
> -  Toc.Size = CHSETTINGS_SIZE;
> -  strcpy((char *)Toc.Filename, (const char *)"CHSETTINGS");
> -  memcpy(gConfigurationHeader + ConfigurationHdrOffset, &Toc, sizeof(TOC_DATA));
> -
> -  //Populate CHSETTINGS Data
> -  memset(&CHSETTINGSData, 0x00, sizeof(CHSETTINGS_DATA));
> -  PopulateCHSETTINGSData(DataFile, &CHSETTINGSData);
> -  memcpy(gConfigurationHeader + Toc.Start, &CHSETTINGSData, Toc.Size);
> -
> -  //Adjust ConfigurationHdrOffset to point to next TOC
> -  ConfigurationHdrOffset += sizeof(TOC_DATA);
> -
> -  //CHRAM TOC
> -  memset(&Toc, 0x00, sizeof(TOC_DATA));
> -  Toc.Start = CHRAM_START;
> -  Toc.Size = CHRAM_SIZE;
> -  strcpy((char *)Toc.Filename, (const char *)"CHRAM");
> -  memcpy(gConfigurationHeader + ConfigurationHdrOffset, &Toc, sizeof(TOC_DATA));
> -
> -  //Populate CHRAM Data
> -  memset(&CHRAMData, 0x00, sizeof(CHRAM_DATA));
> -  PopulateCHRAMData(DataFile, &CHRAMData);
> -  memcpy(gConfigurationHeader + Toc.Start, &CHRAMData, Toc.Size);
> -
> -  //Adjust ConfigurationHdrOffset to point to next TOC
> -  ConfigurationHdrOffset += sizeof(TOC_DATA);
> -
> -  //Closing TOC item
> -  memset(gConfigurationHeader + ConfigurationHdrOffset, 0xFF, CLOSING_TOC_ITEM_SIZE);
> -  ConfigurationHdrOffset += CLOSING_TOC_ITEM_SIZE;
> -
> -  // Close data file
> -  fclose(DataFile);
> -}
> -
> -static
> -void
> -ConstructImage (
> -  void
> -  )
> -{
> -  FILE         *InputFile;
> -  FILE         *OutputFile;
> -  unsigned int InputImageFileSize;
> -  struct       stat FileStat;
> -  char         Ch;
> -  unsigned int i;
> -
> -  InputFile = fopen(gInputImageFile, "rb");
> -  if (InputFile == NULL) {
> -    fprintf(stderr, "Can't open input file.\n");
> -    exit(0);
> -  }
> -
> -  // Get the size of the input image.
> -  fstat(fileno(InputFile), &FileStat);
> -  InputImageFileSize = FileStat.st_size;
> -
> -  OutputFile = fopen(gOutputImageFile, "wb");
> -  if (OutputFile == NULL) {
> -    fprintf(stderr, "Can't open output file %s.\n", gOutputImageFile);
> -    exit(0);
> -  }
> -
> -  // Write Configuration header
> -  fwrite(gConfigurationHeader, 1, sizeof(gConfigurationHeader), OutputFile);
> -
> -  // Write image header (Input image size, execution address)
> -  fwrite(&InputImageFileSize, 1, 4, OutputFile);
> -  fwrite(&gImageExecutionAddress, 1, 4, OutputFile);
> -
> -  // Copy input image to the output file.
> -  for (i = 0; i < InputImageFileSize; i++) {
> -    fread(&Ch, 1, 1, InputFile);
> -    fwrite(&Ch, 1, 1, OutputFile);
> -  }
> -
> -  fclose(InputFile);
> -  fclose(OutputFile);
> -}
> -
> -
> -int
> -main (
> -  int    argc,
> -  char** argv
> -  )
> -{
> -  char          Ch;
> -  unsigned char *ptr;
> -  int           i;
> -  int           TwoArg;
> -
> -  if (argc == 1) {
> -    PrintUsage ();
> -    exit(1);
> -  }
> -
> -  for (i=1; i < argc; i++) {
> -    if (argv[i][0] == '-') {
> -      // TwoArg TRUE -E 0x123, FALSE -E0x1234
> -      TwoArg = (argv[i][2] != ' ');
> -      switch (argv[i][1]) {
> -        case 'E': /* Image execution address */
> -          gImageExecutionAddress = strtoul (TwoArg ? argv[i+1] : &argv[i][2], (char **)&ptr, 16);
> -          break;
> -
> -        case 'I': /* Input image file */
> -          gInputImageFile = TwoArg ? argv[i+1] : &argv[i][2];
> -          break;
> -
> -        case 'O': /* Output image file */
> -          gOutputImageFile = TwoArg ? argv[i+1] : &argv[i][2];
> -          break;
> -
> -        case 'D': /* Data file */
> -          gDataFile = TwoArg ? argv[i+1] : &argv[i][2];
> -          break;
> -
> -        default:
> -          abort ();
> -      }
> -    }
> -  }
> -
> -
> -  //Prepare configuration header
> -  PrepareConfigurationHeader ();
> -
> -  //Build image with configuration header + image header + image
> -  ConstructImage ();
> -
> -  return 0;
> -}
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/makefile b/Platforms/TexasInstruments/BeagleBoard/Tools/makefile
> deleted file mode 100755
> index cf50b8f2cf12..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Tools/makefile
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -#
> -# Copyright (c) 2008 - 2009, Apple Inc. 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.
> -#
> -
> -all: GenerateImage replace
> -
> -GenerateImage: generate_image.c
> -		$(CC) $(CCFLAGS) $(LDFLAGS) -o GenerateImage.exe generate_image.c
> -
> -replace: replace.c
> -		$(CC) $(CCFLAGS) $(LDFLAGS) -o replace.exe replace.c
> -
> -clean:
> -	del GenerateImage.exe generate_image.obj replace.exe replace.obj
> diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/replace.c b/Platforms/TexasInstruments/BeagleBoard/Tools/replace.c
> deleted file mode 100644
> index 00f42495929b..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/Tools/replace.c
> +++ /dev/null
> @@ -1,146 +0,0 @@
> -//
> -// Quick hack to work around not having sed, or any other reasonable
> -// way to edit a file from a script on Windows......
> -//
> -// Copyright (c) 2010, Apple Inc. 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.
> -//
> -
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <limits.h>
> -
> -#define TRUE  1
> -#define FALSE 0
> -
> -typedef struct {
> -  char  *Match;
> -  int   MatchSize;
> -  char  *Replace;
> -} MATCH_PAIR;
> -
> -void
> -Usage (char *Name)
> -{
> -  printf ("\n%s OldFile NewFile MatchString ReplaceString [MatchString2 ReplaceString2]*\n", Name);
> -  printf ("    OldFile - Must be arg[1] File to search for MatchStrings\n");
> -  printf ("    NewFile - Must be arg[2] File where MatchString has been replaced with ReplaceString\n");
> -  printf ("    MatchString & ReplaceString. Required arguments.\n");
> -  printf ("    More MatchString/ReplaceString pairs are supported.\n");
> -}
> -
> -//
> -// argv[1] - Old File
> -// argv[2] - New File
> -// argv[3+n] - Match String
> -// argv[4+n] - Replace string
> -int
> -main (int argc, char **argv)
> -{
> -  FILE *In, *Out;
> -  char *Key, *Replace;
> -  int  c, i, n, Len, MaxLenKey = 0, MinLenKey = INT_MAX;
> -  unsigned long  InFileSize, InFilePos;
> -  MATCH_PAIR *Match;
> -  int MaxMatch;
> -  int ReadCount;
> -  int Found;
> -
> -  if (argc < 5) {
> -    fprintf (stderr, "Need at least two files and one Match/Replacement string pair\n");
> -    Usage (argv[0]);
> -    return -1;
> -  } else if ((argc % 2) == 0) {
> -    fprintf (stderr, "Match and Replace string must come in pairs\n");
> -    return -4;
> -  }
> -
> -  In  = fopen (argv[1], "r");
> -  fseek (In, 0, SEEK_END);
> -  InFileSize = ftell (In);
> -  if (InFileSize == 0) {
> -    fprintf (stderr, "Could not open %s\n", argv[1]);
> -    return -6;
> -  }
> -  fseek (In, 0, SEEK_SET);
> -
> -
> -  Out = fopen (argv[2], "w+");
> -  if ((In == NULL) || (Out == NULL)) {
> -    fprintf (stderr, "Could not open %s\n", argv[2]);
> -    return -2;
> -  }
> -
> -  MaxMatch = (argc - 2)/2;
> -  Match = calloc (MaxMatch, sizeof (MATCH_PAIR));
> -  if (Match == NULL) {
> -    return -7;
> -  }
> -
> -  for (n=0; n < MaxMatch; n++) {
> -    Match[n].Match   = argv[3 + n*2];
> -    Match[n].MatchSize = strlen (argv[3 + n*2]);
> -    Match[n].Replace = argv[3 + n*2 + 1];
> -    if (Match[n].MatchSize > MaxLenKey) {
> -      // Max size of match/replace string pair
> -      MaxLenKey = Match[n].MatchSize;
> -    }
> -    if (Match[n].MatchSize < MinLenKey) {
> -      MinLenKey = Match[n].MatchSize;
> -    }
> -  }
> -
> -  Key = malloc (MaxLenKey);
> -  if (Key == NULL) {
> -    return -5;
> -  }
> -
> -  // Search for a match by reading every possition of the file
> -  // into a buffer that is as big as the maximum search key size.
> -  // Then we can search the keys for a match. If no match
> -  // copy the old file character to the new file. If it is a match
> -  // then copy the replacement string into the output file.
> -  // This code assumes the file system is smart and caches the
> -  // file in a buffer. So all the reads don't really hit the disk.
> -  InFilePos = 0;
> -  while (InFilePos < (InFileSize - MinLenKey)) {
> -    fseek (In, InFilePos, SEEK_SET);
> -    ReadCount = fread (Key, 1, MaxLenKey, In);
> -    for (i = 0, Found = FALSE;i < MaxMatch; i++) {
> -      if (ReadCount >= Match[i].MatchSize) {
> -        if (!memcmp (Key, Match[i].Match, Match[i].MatchSize)) {
> -          InFilePos += (Match[i].MatchSize - 1);
> -          fputs (Match[i].Replace, Out);
> -          Found = TRUE;
> -          break;
> -        }
> -      }
> -    }
> -    if (!Found) {
> -      fputc (Key[0], Out);
> -    }
> -
> -    InFilePos++;
> -  }
> -
> -  // We stoped searching when we got to the point that we could no longer match.
> -  // So the last few bytes of the file are not copied in the privous loop
> -  fseek (In, InFilePos, SEEK_SET);
> -  while ((c = fgetc (In)) != EOF) {
> -    fputc (c, Out);
> -  }
> -
> -  fclose (In);
> -  fclose (Out);
> -  free (Key);
> -  free (Match);
> -  return 0;
> -}
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/b.bat b/Platforms/TexasInstruments/BeagleBoard/b.bat
> deleted file mode 100755
> index 76ddea68bd90..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/b.bat
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -@REM Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> -@REM This program and the accompanying materials
> -@REM are licensed and made available under the terms and conditions of the BSD License
> -@REM which accompanies this distribution.  The full text of the license may be found at
> -@REM http://opensource.org/licenses/bsd-license.php
> -@REM
> -@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> -@REM
> -
> -@REM Example usage of this script. default is a DEBUG build
> -@REM b
> -@REM b clean
> -@REM b release 
> -@REM b release clean
> -@REM b -v -y build.log
> -
> -ECHO OFF
> -@REM Setup Build environment. Sets WORKSPACE and puts build in path
> -CALL ..\edksetup.bat
> -
> -@REM Set for tools chain. Currently RVCT
> -SET TARGET_TOOLS=RVCT
> -SET TARGET=DEBUG
> -
> -@if /I "%1"=="RELEASE" (
> -  @REM If 1st argument is release set TARGET to RELEASE and shift arguments to remove it 
> -  SET TARGET=RELEASE
> -  shift /1
> -)
> -
> -SET BUILD_ROOT=%WORKSPACE%\Build\BeagleBoard\%TARGET%_%TARGET_TOOLS%
> -
> -@REM Build the Beagle Board firmware and creat an FD (FLASH Device) Image.
> -CALL build -p BeagleBoardPkg\BeagleBoardPkg.dsc -a ARM -t %TARGET_TOOLS% -b %TARGET% %1 %2 %3 %4 %5 %6 %7 %8
> -@if ERRORLEVEL 1 goto Exit
> -
> -@if /I "%1"=="CLEAN" goto Clean
> -
> -@REM
> -@REM Ram starts at 0x80000000
> -@REM OMAP 3530 TRM defines 0x80008208 as the entry point
> -@REM The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry 
> -@REM point looks so strange. 
> -@REM OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
> -@REM
> -@cd Tools
> -
> -ECHO Building tools...
> -CALL nmake 
> -
> -ECHO Patching image with ConfigurationHeader.dat
> -CALL GenerateImage -D ..\ConfigurationHeader.dat -E 0x80008208 -I %BUILD_ROOT%\FV\BEAGLEBOARD_EFI.fd -O %BUILD_ROOT%\FV\BeagleBoard_EFI_flashboot.fd
> -
> -ECHO Patching ..\Debugger_scripts ...
> -SET DEBUGGER_SCRIPT=..\Debugger_scripts
> -@for /f %%a IN ('dir /b %DEBUGGER_SCRIPT%\*.inc %DEBUGGER_SCRIPT%\*.cmm') do (
> -  @CALL replace %DEBUGGER_SCRIPT%\%%a %BUILD_ROOT%\%%a ZZZZZZ %BUILD_ROOT% WWWWWW  %WORKSPACE%
> -)
> -
> -cd ..
> -:Exit
> -EXIT /B
> -
> -:Clean
> -cd Tools
> -CALL nmake clean
> -cd ..
> diff --git a/Platforms/TexasInstruments/BeagleBoard/ba.bat b/Platforms/TexasInstruments/BeagleBoard/ba.bat
> deleted file mode 100755
> index 24a60e46d877..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/ba.bat
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -@REM Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> -@REM This program and the accompanying materials
> -@REM are licensed and made available under the terms and conditions of the BSD License
> -@REM which accompanies this distribution.  The full text of the license may be found at
> -@REM http://opensource.org/licenses/bsd-license.php
> -@REM
> -@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> -@REM
> -
> -@REM Example usage of this script. default is a DEBUG build
> -@REM b
> -@REM b clean
> -@REM b release 
> -@REM b release clean
> -@REM b -v -y build.log
> -
> -ECHO OFF
> -@REM Setup Build environment. Sets WORKSPACE and puts build in path
> -CALL ..\edksetup.bat
> -
> -@REM Set for tools chain. Currently ARMGCC
> -SET TARGET_TOOLS=ARMGCC
> -SET TARGET=DEBUG
> -
> -@if /I "%1"=="RELEASE" (
> -  @REM If 1st argument is release set TARGET to RELEASE and shift arguments to remove it 
> -  SET TARGET=RELEASE
> -  shift /1
> -)
> -
> -SET BUILD_ROOT=%WORKSPACE%\Build\BeagleBoard\%TARGET%_%TARGET_TOOLS%
> -
> -@REM Build the Beagle Board firmware and creat an FD (FLASH Device) Image.
> -CALL build -p BeagleBoardPkg\BeagleBoardPkg.dsc -a ARM -t %TARGET_TOOLS% -b %TARGET% %1 %2 %3 %4 %5 %6 %7 %8
> -@if ERRORLEVEL 1 goto Exit
> -
> -@if /I "%1"=="CLEAN" goto Clean
> -
> -@REM
> -@REM Ram starts at 0x80000000
> -@REM OMAP 3530 TRM defines 0x80008208 as the entry point
> -@REM The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry 
> -@REM point looks so strange. 
> -@REM OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
> -@REM
> -@cd Tools
> -
> -ECHO Building tools...
> -CALL nmake 
> -
> -ECHO Patching image with ConfigurationHeader.dat
> -CALL GenerateImage -D ..\ConfigurationHeader.dat -E 0x80008208 -I %BUILD_ROOT%\FV\BEAGLEBOARD_EFI.fd -O %BUILD_ROOT%\FV\BeagleBoard_EFI_flashboot.fd
> -
> -ECHO Patching ..\Debugger_scripts ...
> -SET DEBUGGER_SCRIPT=..\Debugger_scripts
> -@for /f %%a IN ('dir /b %DEBUGGER_SCRIPT%\*.inc %DEBUGGER_SCRIPT%\*.cmm') do (
> -  @CALL replace %DEBUGGER_SCRIPT%\%%a %BUILD_ROOT%\%%a ZZZZZZ %BUILD_ROOT% WWWWWW  %WORKSPACE%
> -)
> -
> -cd ..
> -:Exit
> -EXIT /B
> -
> -:Clean
> -cd Tools
> -CALL nmake clean
> -cd ..
> diff --git a/Platforms/TexasInstruments/BeagleBoard/build.sh b/Platforms/TexasInstruments/BeagleBoard/build.sh
> deleted file mode 100755
> index 32b22f085777..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/build.sh
> +++ /dev/null
> @@ -1,150 +0,0 @@
> -#!/bin/bash
> -# Copyright (c) 2008 - 2009, Apple Inc. 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.
> -#
> -
> -set -e
> -shopt -s nocasematch
> -
> -function process_debug_scripts {
> -  if [[ -d $1 ]]; then
> -    for filename in `ls $1`
> -    do
> -      sed -e "s@ZZZZZZ@$BUILD_ROOT@g" -e "s@WWWWWW@$WORKSPACE@g" \
> -            "$1/$filename" \
> -            > "$BUILD_ROOT/$filename"
> -
> -      #For ARMCYGWIN, we have to change /cygdrive/c to c:
> -      if [[ $TARGET_TOOLS == RVCT31CYGWIN ]]
> -      then
> -        mv "$BUILD_ROOT/$filename" "$BUILD_ROOT/$filename"_temp
> -        sed -e "s@/cygdrive/\(.\)@\1:@g" \
> -              "$BUILD_ROOT/$filename"_temp \
> -              > "$BUILD_ROOT/$filename"
> -        rm -f "$BUILD_ROOT/$filename"_temp
> -      fi
> -    done
> -  fi
> -}
> -
> -
> -#
> -# Setup workspace if it is not set
> -#
> -if [ -z "${WORKSPACE:-}" ]
> -then
> -  echo Initializing workspace
> -  cd ..
> -# Uses an external BaseTools project 
> -#  export EDK_TOOLS_PATH=`pwd`/../BaseTools
> -# Uses the BaseTools in edk2
> -  export EDK_TOOLS_PATH=`pwd`/BaseTools
> -  source edksetup.sh BaseTools
> -else
> -  echo Building from: $WORKSPACE
> -fi
> -
> -#
> -# Pick a default tool type for a given OS if no toolchain already defined
> -#
> -if [ -z "${TARGET_TOOLS:-}" ]
> -then
> -  case `uname` in
> -    CYGWIN*) 
> -      TARGET_TOOLS=RVCT31CYGWIN 
> -      ;;
> -    Linux*)  
> -      if [[ ! -z `locate arm-linux-gnueabi-gcc` ]]; then
> -        TARGET_TOOLS=ARMLINUXGCC
> -      else 
> -        TARGET_TOOLS=ARMGCC 
> -      fi
> -      ;;
> -    Darwin*) 
> -      Major=$(uname -r | cut -f 1 -d '.')
> -      if [[ $Major == 9 ]]
> -      then
> -        # Not supported by this open source project
> -        TARGET_TOOLS=XCODE31
> -      else 
> -        TARGET_TOOLS=XCODE32
> -      fi  
> -      ;;
> -  esac
> -fi
> -
> -TARGET=DEBUG
> -for arg in "$@"
> -do
> -  if [[ $arg == RELEASE ]]; 
> -  then
> -    TARGET=RELEASE
> -  fi
> -done
> -
> -BUILD_ROOT=$WORKSPACE/Build/BeagleBoard/"$TARGET"_"$TARGET_TOOLS"
> -GENERATE_IMAGE=$WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image
> -FLASH_BOOT=$BUILD_ROOT/FV/BeagleBoard_EFI_flashboot.fd
> -
> -if  [[ ! -e $EDK_TOOLS_PATH/Source/C/bin ]];
> -then
> -  # build the tools if they don't yet exist
> -  echo Building tools: $EDK_TOOLS_PATH
> -  make -C $EDK_TOOLS_PATH
> -else
> -  echo using prebuilt tools
> -fi
> -
> -#
> -# Build the edk2 BeagleBoard code
> -#
> -if [[ $TARGET == RELEASE ]]; then
> -  build -p $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc -a ARM -t $TARGET_TOOLS -b $TARGET -D DEBUG_TARGET=RELEASE ${2:-} ${3:-} ${4:-} ${5:-} ${6:-} ${7:-} ${8:-}
> -else
> -  build -p ${WORKSPACE:-}/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc -a ARM -t $TARGET_TOOLS -b $TARGET ${1:-} ${2:-} ${3:-} ${4:-} ${5:-} ${6:-} ${7:-} ${8:-}
> -fi
> -
> -
> -for arg in "$@"
> -do
> -  if [[ $arg == clean ]]; then
> -    # no need to post process if we are doing a clean
> -    exit
> -  elif [[ $arg == cleanall ]]; then
> -    make -C $EDK_TOOLS_PATH clean
> -    make -C $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Tools clean
> -    exit
> -    
> -  fi
> -done
> -
> -
> -#
> -#  Build the tool used to patch the FLASH image to work with the Beagle board ROM
> -#
> -if [[ ! -e $GENERATE_IMAGE ]];
> -then
> -  make -C $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Tools
> -fi
> -
> -echo Patching FD to work with BeagleBoard ROM
> -rm -f $FLASH_BOOT
> -
> -#
> -# Ram starts at 0x80000000
> -# OMAP 3530 TRM defines 0x80008000 as the entry point
> -# The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry 
> -# point looks so strange. 
> -# OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
> -#
> -$GENERATE_IMAGE -D $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat -E 0x80008000 -I $BUILD_ROOT/FV/BEAGLEBOARD_EFI.fd -O $FLASH_BOOT
> -
> -echo Creating debugger scripts
> -process_debug_scripts $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts
> -
> diff --git a/Platforms/TexasInstruments/BeagleBoard/readme.txt b/Platforms/TexasInstruments/BeagleBoard/readme.txt
> deleted file mode 100644
> index d15b1fb2db4a..000000000000
> --- a/Platforms/TexasInstruments/BeagleBoard/readme.txt
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -On Ubuntu 10.04, in your $(WORKROOT) directory (eg: ~/dev/)
> -
> -Build UEFI for the BeagleBoard :
> -================================
> -# Requirements
> -sudo apt-get install uuid-dev
> -
> -# Get the arm-none-eabi Toolchain:
> -cd $(WORKROOT)
> -wget http://www.codesourcery.com/sgpp/lite/arm/portal/package7813/public/arm-none-eabi/arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
> -tar xjf arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
> -Add the arm-none-eabi toolchain to your path
> -
> -# Build UEFI
> -svn co https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2 edk2 --username guest
> -cd $(WORKROOT)/edk2
> -svn co https://edk2-fatdriver2.svn.sourceforge.net/svnroot/edk2-fatdriver2/trunk/FatPkg FatPkg --username guest
> -patch -p1 < ArmPlatformPkg/Documentation/patches/BaseTools-Pending-Patches.patch
> -cd OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/
> -./build.sh
> -
> -# To Build a Release verion of UEFI
> -./build.sh RELEASE
> -
> -
> -Test UEFI on qEmu :
> -===================
> -
> -Installing Linaro qEmu:
> ------------------------
> -cd $(WORKROOT)
> -git clone git://git.linaro.org/qemu/qemu-linaro.git
> -cd $(WORKROOT)/qemu-linaro
> -./configure --target-list=arm-softmmu,arm-linux-user,armeb-linux-user
> -make
> -
> -Installing Linaro image Creator:
> ---------------------------------
> -wget http://launchpad.net/linaro-image-tools/trunk/0.4.8/+download/linaro-image-tools-0.4.8.tar.gz
> -tar xzf linaro-image-tools-0.4.8.tar.gz
> -cd $(WORKROOT)/linaro-image-tools-0.4.8/
> -sudo apt-get install parted dosfstools uboot-mkimage python-argparse python-dbus python-debian python-parted qemu-arm-static btrfs-tools command-not-found
> -
> -Creating u-boot + Linux Linaro image:
> --------------------------------------
> -mkdir $(WORKROOT)/beagle_image && cd $(WORKROOT)/beagle_image
> -wget http://releases.linaro.org/platform/linaro-m/hwpacks/final/hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
> -wget http://releases.linaro.org/platform/linaro-m/headless/release-candidate/linaro-m-headless-tar-20101101-0.tar.gz
> -sudo $(WORKROOT)/linaro-image-tools-0.4.8/linaro-media-create --image_file beagle_sd.img --dev beagle --binary linaro-m-headless-tar-20101101-0.tar.gz --hwpack hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
> -sudo chmod a+rw beagle_sd.img
> -
> -Test u-boot + Linux Linaro image on qEmu:
> ------------------------------------------
> -$(WORKROOT)/qemu-linaro/arm-softmmu/qemu-system-arm -M beagle -sd $(WORKROOT)/beagle_image/beagle_sd.img -serial stdio -clock unix
> -# in u-boot:
> -boot
> -
> -Start UEFI from NOR Flash :
> ----------------------------
> -# Adding zImage to beagle_sd.img
> -mkdir /tmp/beagle_img1
> -sudo mount -o loop,offset=$[63*512] $(WORKROOT)/beagle_image/beagle_sd.img /tmp/beagle_img1
> -cp zImage /tmp/beagle_img1
> -sudo umount /tmp/beagle_img1
> -
> -./qemu-system-arm -M beagle -mtdblock /work/tianocore/Build/BeagleBoard/DEBUG_ARMGCC/FV/BeagleBoard_EFI_flashboot.fd -serial stdio -sd /work/linaro-image-tools-0.4.8/beagle_sd.img
> -
> -Start UEFI from SD card :
> --------------------------
> -# To replace u-boot by uefi in the SD card
> -1) Build the BeagleBoard UEFI firmware without the OMAP353x header
> -cd $(WORKROOT)/edk2/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/
> -./build.sh -D EDK2_SECOND_STAGE_BOOTOLADER=1
> -
> -2) Replace u-boot by UEFI
> -sudo mount -o loop,offset=$[63*512] $(WORKROOT)/beagle_image/beagle_sd.img /tmp/beagle_img1
> -sudo cp ../Build/BeagleBoard/DEBUG_ARMGCC/FV/BEAGLEBOARD_EFI.fd /tmp/beagle_img1/u-boot.bin
> -sudo umount /tmp/beagle_img1
> -- 
> 2.7.4
>
diff mbox

Patch

diff --git a/Chips/TexasInstruments/Omap35xx/Contributions.txt b/Chips/TexasInstruments/Omap35xx/Contributions.txt
deleted file mode 100644
index f87cbd73c693..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Contributions.txt
+++ /dev/null
@@ -1,218 +0,0 @@ 
-
-======================
-= Code Contributions =
-======================
-
-To make a contribution to a TianoCore project, follow these steps.
-1. Create a change description in the format specified below to
-   use in the source control commit log.
-2. Your commit message must include your "Signed-off-by" signature,
-   and "Contributed-under" message.
-3. Your "Contributed-under" message explicitly states that the
-   contribution is made under the terms of the specified
-   contribution agreement.  Your "Contributed-under" message
-   must include the name of contribution agreement and version.
-   For example: Contributed-under: TianoCore Contribution Agreement 1.0
-   The "TianoCore Contribution Agreement" is included below in
-   this document.
-4. Submit your code to the TianoCore project using the process
-   that the project documents on its web page.  If the process is
-   not documented, then submit the code on development email list
-   for the project.
-5. It is preferred that contributions are submitted using the same
-   copyright license as the base project. When that is not possible,
-   then contributions using the following licenses can be accepted:
-   * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
-   * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
-   * MIT: http://opensource.org/licenses/MIT
-   * Python-2.0: http://opensource.org/licenses/Python-2.0
-   * Zlib: http://opensource.org/licenses/Zlib
-
-   Contributions of code put into the public domain can also be
-   accepted.
-
-   Contributions using other licenses might be accepted, but further
-   review will be required.
-
-=====================================================
-= Change Description / Commit Message / Patch Email =
-=====================================================
-
-Your change description should use the standard format for a
-commit message, and must include your "Signed-off-by" signature
-and the "Contributed-under" message.
-
-== Sample Change Description / Commit Message =
-
-=== Start of sample patch email message ===
-
-From: Contributor Name <contributor@example.com>
-Subject: [PATCH] CodeModule: Brief-single-line-summary
-
-Full-commit-message
-
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Contributor Name <contributor@example.com>
----
-
-An extra message for the patch email which will not be considered part
-of the commit message can be added here.
-
-Patch content inline or attached
-
-=== End of sample patch email message ===
-
-=== Notes for sample patch email ===
-
-* The first line of commit message is taken from the email's subject
-  line following [PATCH]. The remaining portion of the commit message
-  is the email's content until the '---' line.
-* git format-patch is one way to create this format
-
-=== Definitions for sample patch email ===
-
-* "CodeModule" is a short idenfier for the affected code.  For
-  example MdePkg, or MdeModulePkg UsbBusDxe.
-* "Brief-single-line-summary" is a short summary of the change.
-* The entire first line should be less than ~70 characters.
-* "Full-commit-message" a verbose multiple line comment describing
-  the change.  Each line should be less than ~70 characters.
-* "Contributed-under" explicitely states that the contribution is
-  made under the terms of the contribtion agreement.  This
-  agreement is included below in this document.
-* "Signed-off-by" is the contributor's signature identifying them
-  by their real/legal name and their email address.
-
-========================================
-= TianoCore Contribution Agreement 1.0 =
-========================================
-
-INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
-INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
-PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
-TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
-REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
-CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
-USE THE CONTENT.
-
-Unless otherwise indicated, all Content made available on the TianoCore
-site is provided to you under the terms and conditions of the BSD
-License ("BSD"). A copy of the BSD License is available at
-http://opensource.org/licenses/bsd-license.php
-or when applicable, in the associated License.txt file.
-
-Certain other content may be made available under other licenses as
-indicated in or with such Content. (For example, in a License.txt file.)
-
-You accept and agree to the following terms and conditions for Your
-present and future Contributions submitted to TianoCore site. Except
-for the license granted to Intel hereunder, You reserve all right,
-title, and interest in and to Your Contributions.
-
-== SECTION 1: Definitions ==
-* "You" or "Contributor" shall mean the copyright owner or legal
-  entity authorized by the copyright owner that is making a
-  Contribution hereunder. All other entities that control, are
-  controlled by, or are under common control with that entity are
-  considered to be a single Contributor. For the purposes of this
-  definition, "control" means (i) the power, direct or indirect, to
-  cause the direction or management of such entity, whether by
-  contract or otherwise, or (ii) ownership of fifty percent (50%)
-  or more of the outstanding shares, or (iii) beneficial ownership
-  of such entity.
-* "Contribution" shall mean any original work of authorship,
-  including any modifications or additions to an existing work,
-  that is intentionally submitted by You to the TinaoCore site for
-  inclusion in, or documentation of, any of the Content. For the
-  purposes of this definition, "submitted" means any form of
-  electronic, verbal, or written communication sent to the
-  TianoCore site or its representatives, including but not limited
-  to communication on electronic mailing lists, source code
-  control systems, and issue tracking systems that are managed by,
-  or on behalf of, the TianoCore site for the purpose of
-  discussing and improving the Content, but excluding
-  communication that is conspicuously marked or otherwise
-  designated in writing by You as "Not a Contribution."
-
-== SECTION 2: License for Contributions ==
-* Contributor hereby agrees that redistribution and use of the
-  Contribution in source and binary forms, with or without
-  modification, are permitted provided that the following
-  conditions are met:
-** Redistributions of source code must retain the Contributor's
-   copyright notice, this list of conditions and the following
-   disclaimer.
-** Redistributions in binary form must reproduce the Contributor's
-   copyright notice, this list of conditions and the following
-   disclaimer in the documentation and/or other materials provided
-   with the distribution.
-* Disclaimer. None of the names of Contributor, Intel, or the names
-  of their respective contributors may be used to endorse or
-  promote products derived from this software without specific
-  prior written permission.
-* Contributor grants a license (with the right to sublicense) under
-  claims of Contributor's patents that Contributor can license that
-  are infringed by the Contribution (as delivered by Contributor) to
-  make, use, distribute, sell, offer for sale, and import the
-  Contribution and derivative works thereof solely to the minimum
-  extent necessary for licensee to exercise the granted copyright
-  license; this patent license applies solely to those portions of
-  the Contribution that are unmodified. No hardware per se is
-  licensed.
-* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
-  CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
-  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-  CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
-  CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-  DAMAGE.
-
-== SECTION 3: Representations ==
-* You represent that You are legally entitled to grant the above
-  license. If your employer(s) has rights to intellectual property
-  that You create that includes Your Contributions, You represent
-  that You have received permission to make Contributions on behalf
-  of that employer, that Your employer has waived such rights for
-  Your Contributions.
-* You represent that each of Your Contributions is Your original
-  creation (see Section 4 for submissions on behalf of others).
-  You represent that Your Contribution submissions include complete
-  details of any third-party license or other restriction
-  (including, but not limited to, related patents and trademarks)
-  of which You are personally aware and which are associated with
-  any part of Your Contributions.
-
-== SECTION 4: Third Party Contributions ==
-* Should You wish to submit work that is not Your original creation,
-  You may submit it to TianoCore site separately from any
-  Contribution, identifying the complete details of its source
-  and of any license or other restriction (including, but not
-  limited to, related patents, trademarks, and license agreements)
-  of which You are personally aware, and conspicuously marking the
-  work as "Submitted on behalf of a third-party: [named here]".
-
-== SECTION 5: Miscellaneous ==
-* Applicable Laws. Any claims arising under or relating to this
-  Agreement shall be governed by the internal substantive laws of
-  the State of Delaware or federal courts located in Delaware,
-  without regard to principles of conflict of laws.
-* Language. This Agreement is in the English language only, which
-  language shall be controlling in all respects, and all versions
-  of this Agreement in any other language shall be for accommodation
-  only and shall not be binding. All communications and notices made
-  or given pursuant to this Agreement, and all documentation and
-  support to be provided, unless otherwise noted, shall be in the
-  English language.
-
diff --git a/Chips/TexasInstruments/Omap35xx/Flash/Flash.c b/Chips/TexasInstruments/Omap35xx/Flash/Flash.c
deleted file mode 100644
index b8de109d87b4..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Flash/Flash.c
+++ /dev/null
@@ -1,774 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include "Flash.h"
-
-NAND_PART_INFO_TABLE gNandPartInfoTable[1] = {
-  { 0x2C, 0xBA, 17, 11 }
-};
-
-NAND_FLASH_INFO *gNandFlashInfo = NULL;
-UINT8           *gEccCode;
-UINTN           gNum512BytesChunks = 0;
-
-//
-
-// Device path for SemiHosting. It contains our autogened Caller ID GUID.
-
-//
-
-typedef struct {
-
-  VENDOR_DEVICE_PATH        Guid;
-
-  EFI_DEVICE_PATH_PROTOCOL  End;
-
-} FLASH_DEVICE_PATH;
-
-
-
-FLASH_DEVICE_PATH gDevicePath = {
-  {
-    { HARDWARE_DEVICE_PATH, HW_VENDOR_DP, { sizeof (VENDOR_DEVICE_PATH), 0 } },
-    EFI_CALLER_ID_GUID
-  },
-  { END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0} }
-};
-
-
-
-//Actual page address = Column address + Page address + Block address.
-UINTN
-GetActualPageAddressInBytes (
-  UINTN BlockIndex,
-  UINTN PageIndex
-)
-{
-  //BlockAddressStart = Start of the Block address in actual NAND
-  //PageAddressStart = Start of the Page address in actual NAND
-  return ((BlockIndex << gNandFlashInfo->BlockAddressStart) + (PageIndex << gNandFlashInfo->PageAddressStart));
-}
-
-VOID
-NandSendCommand (
-  UINT8 Command
-)
-{
-  MmioWrite16(GPMC_NAND_COMMAND_0, Command);
-}
-
-VOID
-NandSendAddress (
-  UINT8 Address
-)
-{
-  MmioWrite16(GPMC_NAND_ADDRESS_0, Address);
-}
-
-UINT16
-NandReadStatus (
-  VOID
-  )
-{
-  //Send READ STATUS command
-  NandSendCommand(READ_STATUS_CMD);
-
-  //Read status.
-  return MmioRead16(GPMC_NAND_DATA_0);
-}
-
-VOID
-NandSendAddressCycles (
-  UINTN Address
-)
-{
-  //Column address
-  NandSendAddress(Address & 0xff);
-  Address >>= 8;
-
-  //Column address
-  NandSendAddress(Address & 0x07);
-  Address >>= 3;
-
-  //Page and Block address
-  NandSendAddress(Address & 0xff);
-  Address >>= 8;
-
-  //Block address
-  NandSendAddress(Address & 0xff);
-  Address >>= 8;
-
-  //Block address
-  NandSendAddress(Address & 0x01);
-}
-
-VOID
-GpmcInit (
-  VOID
-  )
-{
-  //Enable Smart-idle mode.
-  MmioWrite32 (GPMC_SYSCONFIG, SMARTIDLEMODE);
-
-  //Set IRQSTATUS and IRQENABLE to the reset value
-  MmioWrite32 (GPMC_IRQSTATUS, 0x0);
-  MmioWrite32 (GPMC_IRQENABLE, 0x0);
-
-  //Disable GPMC timeout control.
-  MmioWrite32 (GPMC_TIMEOUT_CONTROL, TIMEOUTDISABLE);
-
-  //Set WRITEPROTECT bit to enable write access.
-  MmioWrite32 (GPMC_CONFIG, WRITEPROTECT_HIGH);
-
-  //NOTE: Following GPMC_CONFIGi_0 register settings are taken from u-boot memory dump.
-  MmioWrite32 (GPMC_CONFIG1_0, DEVICETYPE_NAND | DEVICESIZE_X16);
-  MmioWrite32 (GPMC_CONFIG2_0, CSRDOFFTIME | CSWROFFTIME);
-  MmioWrite32 (GPMC_CONFIG3_0, ADVRDOFFTIME | ADVWROFFTIME);
-  MmioWrite32 (GPMC_CONFIG4_0, OEONTIME | OEOFFTIME | WEONTIME | WEOFFTIME);
-  MmioWrite32 (GPMC_CONFIG5_0, RDCYCLETIME | WRCYCLETIME | RDACCESSTIME | PAGEBURSTACCESSTIME);
-  MmioWrite32 (GPMC_CONFIG6_0, WRACCESSTIME | WRDATAONADMUXBUS | CYCLE2CYCLEDELAY | CYCLE2CYCLESAMECSEN);
-  MmioWrite32 (GPMC_CONFIG7_0, MASKADDRESS_128MB | CSVALID | BASEADDRESS);
-}
-
-EFI_STATUS
-NandDetectPart (
-  VOID
-)
-{
-  UINT8      NandInfo = 0;
-  UINT8      PartInfo[5];
-  UINTN      Index;
-  BOOLEAN    Found = FALSE;
-
-  //Send READ ID command
-  NandSendCommand(READ_ID_CMD);
-
-  //Send one address cycle.
-  NandSendAddress(0);
-
-  //Read 5-bytes to idenfity code programmed into the NAND flash devices.
-  //BYTE 0 = Manufacture ID
-  //Byte 1 = Device ID
-  //Byte 2, 3, 4 = Nand part specific information (Page size, Block size etc)
-  for (Index = 0; Index < sizeof(PartInfo); Index++) {
-    PartInfo[Index] = MmioRead16(GPMC_NAND_DATA_0);
-  }
-
-  //Check if the ManufactureId and DeviceId are part of the currently supported nand parts.
-  for (Index = 0; Index < sizeof(gNandPartInfoTable)/sizeof(NAND_PART_INFO_TABLE); Index++) {
-    if (gNandPartInfoTable[Index].ManufactureId == PartInfo[0] && gNandPartInfoTable[Index].DeviceId == PartInfo[1]) {
-      gNandFlashInfo->BlockAddressStart = gNandPartInfoTable[Index].BlockAddressStart;
-      gNandFlashInfo->PageAddressStart = gNandPartInfoTable[Index].PageAddressStart;
-      Found = TRUE;
-      break;
-    }
-  }
-
-  if (Found == FALSE) {
-    DEBUG ((EFI_D_ERROR, "Nand part is not currently supported. Manufacture id: %x, Device id: %x\n", PartInfo[0], PartInfo[1]));
-    return EFI_NOT_FOUND;
-  }
-
-  //Populate NAND_FLASH_INFO based on the result of READ ID command.
-  gNandFlashInfo->ManufactureId = PartInfo[0];
-  gNandFlashInfo->DeviceId = PartInfo[1];
-  NandInfo = PartInfo[3];
-
-  if (PAGE_SIZE(NandInfo) == PAGE_SIZE_2K_VAL) {
-    gNandFlashInfo->PageSize = PAGE_SIZE_2K;
-  } else {
-    DEBUG ((EFI_D_ERROR, "Unknown Page size.\n"));
-    return EFI_DEVICE_ERROR;
-  }
-
-  if (SPARE_AREA_SIZE(NandInfo) == SPARE_AREA_SIZE_64B_VAL) {
-    gNandFlashInfo->SparePageSize = SPARE_AREA_SIZE_64B;
-  } else {
-    DEBUG ((EFI_D_ERROR, "Unknown Spare area size.\n"));
-    return EFI_DEVICE_ERROR;
-  }
-
-  if (BLOCK_SIZE(NandInfo) == BLOCK_SIZE_128K_VAL) {
-    gNandFlashInfo->BlockSize = BLOCK_SIZE_128K;
-  } else {
-    DEBUG ((EFI_D_ERROR, "Unknown Block size.\n"));
-    return EFI_DEVICE_ERROR;
-  }
-
-  if (ORGANIZATION(NandInfo) == ORGANIZATION_X8) {
-    gNandFlashInfo->Organization = 0;
-  } else if (ORGANIZATION(NandInfo) == ORGANIZATION_X16) {
-    gNandFlashInfo->Organization = 1;
-  }
-
-  //Calculate total number of blocks.
-  gNandFlashInfo->NumPagesPerBlock = DivU64x32(gNandFlashInfo->BlockSize, gNandFlashInfo->PageSize);
-
-  return EFI_SUCCESS;
-}
-
-VOID
-NandConfigureEcc (
-  VOID
-  )
-{
-  //Define ECC size 0 and size 1 to 512 bytes
-  MmioWrite32 (GPMC_ECC_SIZE_CONFIG, (ECCSIZE0_512BYTES | ECCSIZE1_512BYTES));
-}
-
-VOID
-NandEnableEcc (
-  VOID
-  )
-{
-  //Clear all the ECC result registers and select ECC result register 1
-  MmioWrite32 (GPMC_ECC_CONTROL, (ECCCLEAR | ECCPOINTER_REG1));
-
-  //Enable ECC engine on CS0
-  MmioWrite32 (GPMC_ECC_CONFIG, (ECCENABLE | ECCCS_0 | ECC16B));
-}
-
-VOID
-NandDisableEcc (
-  VOID
-  )
-{
-  //Turn off ECC engine.
-  MmioWrite32 (GPMC_ECC_CONFIG, ECCDISABLE);
-}
-
-VOID
-NandCalculateEcc (
-  VOID
-  )
-{
-  UINTN Index;
-  UINTN EccResultRegister;
-  UINTN EccResult;
-
-  //Capture 32-bit ECC result for each 512-bytes chunk.
-  //In our case PageSize is 2K so read ECC1-ECC4 result registers and
-  //generate total of 12-bytes of ECC code for the particular page.
-
-  EccResultRegister = GPMC_ECC1_RESULT;
-
-  for (Index = 0; Index < gNum512BytesChunks; Index++) {
-
-    EccResult = MmioRead32 (EccResultRegister);
-
-    //Calculate ECC code from 32-bit ECC result value.
-    //NOTE: Following calculation is not part of TRM. We got this information
-    //from Beagleboard mailing list.
-    gEccCode[Index * 3] = EccResult & 0xFF;
-    gEccCode[(Index * 3) + 1] = (EccResult >> 16) & 0xFF;
-    gEccCode[(Index * 3) + 2] = (((EccResult >> 20) & 0xF0) | ((EccResult >> 8) & 0x0F));
-
-    //Point to next ECC result register.
-    EccResultRegister += 4;
-  }
-}
-
-EFI_STATUS
-NandReadPage (
-  IN  UINTN                         BlockIndex,
-  IN  UINTN                         PageIndex,
-  OUT VOID                          *Buffer,
-  OUT UINT8                         *SpareBuffer
-)
-{
-  UINTN      Address;
-  UINTN      Index;
-  UINTN      NumMainAreaWords = (gNandFlashInfo->PageSize/2);
-  UINTN      NumSpareAreaWords = (gNandFlashInfo->SparePageSize/2);
-  UINT16     *MainAreaWordBuffer = Buffer;
-  UINT16     *SpareAreaWordBuffer = (UINT16 *)SpareBuffer;
-  UINTN      Timeout = MAX_RETRY_COUNT;
-
-  //Generate device address in bytes to access specific block and page index
-  Address = GetActualPageAddressInBytes(BlockIndex, PageIndex);
-
-  //Send READ command
-  NandSendCommand(PAGE_READ_CMD);
-
-  //Send 5 Address cycles to access specific device address
-  NandSendAddressCycles(Address);
-
-  //Send READ CONFIRM command
-  NandSendCommand(PAGE_READ_CONFIRM_CMD);
-
-  //Poll till device is busy.
-  while (Timeout) {
-    if ((NandReadStatus() & NAND_READY) == NAND_READY) {
-      break;
-    }
-    Timeout--;
-  }
-
-  if (Timeout == 0) {
-    DEBUG ((EFI_D_ERROR, "Read page timed out.\n"));
-    return EFI_TIMEOUT;
-  }
-
-  //Reissue READ command
-  NandSendCommand(PAGE_READ_CMD);
-
-  //Enable ECC engine.
-  NandEnableEcc();
-
-  //Read data into the buffer.
-  for (Index = 0; Index < NumMainAreaWords; Index++) {
-    *MainAreaWordBuffer++ = MmioRead16(GPMC_NAND_DATA_0);
-  }
-
-  //Read spare area into the buffer.
-  for (Index = 0; Index < NumSpareAreaWords; Index++) {
-    *SpareAreaWordBuffer++ = MmioRead16(GPMC_NAND_DATA_0);
-  }
-
-  //Calculate ECC.
-  NandCalculateEcc();
-
-  //Turn off ECC engine.
-  NandDisableEcc();
-
-  //Perform ECC correction.
-  //Need to implement..
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-NandWritePage (
-  IN  UINTN                         BlockIndex,
-  IN  UINTN                         PageIndex,
-  OUT VOID                          *Buffer,
-  IN  UINT8                         *SpareBuffer
-)
-{
-  UINTN      Address;
-  UINT16     *MainAreaWordBuffer = Buffer;
-  UINT16     *SpareAreaWordBuffer = (UINT16 *)SpareBuffer;
-  UINTN      Index;
-  UINTN      NandStatus;
-  UINTN      Timeout = MAX_RETRY_COUNT;
-
-  //Generate device address in bytes to access specific block and page index
-  Address = GetActualPageAddressInBytes(BlockIndex, PageIndex);
-
-  //Send SERIAL DATA INPUT command
-  NandSendCommand(PROGRAM_PAGE_CMD);
-
-  //Send 5 Address cycles to access specific device address
-  NandSendAddressCycles(Address);
-
-  //Enable ECC engine.
-  NandEnableEcc();
-
-  //Data input from Buffer
-  for (Index = 0; Index < (gNandFlashInfo->PageSize/2); Index++) {
-    MmioWrite16(GPMC_NAND_DATA_0, *MainAreaWordBuffer++);
-
-    //After each write access, device has to wait to accept data.
-    //Currently we may not be programming proper timing parameters to
-    //the GPMC_CONFIGi_0 registers and we would need to figure that out.
-    //Without following delay, page programming fails.
-    gBS->Stall(1);
-  }
-
-  //Calculate ECC.
-  NandCalculateEcc();
-
-  //Turn off ECC engine.
-  NandDisableEcc();
-
-  //Prepare Spare area buffer with ECC codes.
-  SetMem(SpareBuffer, gNandFlashInfo->SparePageSize, 0xFF);
-  CopyMem(&SpareBuffer[ECC_POSITION], gEccCode, gNum512BytesChunks * 3);
-
-  //Program spare area with calculated ECC.
-  for (Index = 0; Index < (gNandFlashInfo->SparePageSize/2); Index++) {
-    MmioWrite16(GPMC_NAND_DATA_0, *SpareAreaWordBuffer++);
-  }
-
-  //Send PROGRAM command
-  NandSendCommand(PROGRAM_PAGE_CONFIRM_CMD);
-
-  //Poll till device is busy.
-  NandStatus = 0;
-  while (Timeout) {
-    NandStatus = NandReadStatus();
-    if ((NandStatus & NAND_READY) == NAND_READY) {
-      break;
-    }
-    Timeout--;
-  }
-
-  if (Timeout == 0) {
-    DEBUG ((EFI_D_ERROR, "Program page timed out.\n"));
-    return EFI_TIMEOUT;
-  }
-
-  //Bit0 indicates Pass/Fail status
-  if (NandStatus & NAND_FAILURE) {
-    return EFI_DEVICE_ERROR;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-NandEraseBlock (
-  IN UINTN BlockIndex
-)
-{
-  UINTN      Address;
-  UINTN      NandStatus;
-  UINTN      Timeout = MAX_RETRY_COUNT;
-
-  //Generate device address in bytes to access specific block and page index
-  Address = GetActualPageAddressInBytes(BlockIndex, 0);
-
-  //Send ERASE SETUP command
-  NandSendCommand(BLOCK_ERASE_CMD);
-
-  //Send 3 address cycles to device to access Page address and Block address
-  Address >>= 11; //Ignore column addresses
-
-  NandSendAddress(Address & 0xff);
-  Address >>= 8;
-
-  NandSendAddress(Address & 0xff);
-  Address >>= 8;
-
-  NandSendAddress(Address & 0xff);
-
-  //Send ERASE CONFIRM command
-  NandSendCommand(BLOCK_ERASE_CONFIRM_CMD);
-
-  //Poll till device is busy.
-  NandStatus = 0;
-  while (Timeout) {
-    NandStatus = NandReadStatus();
-    if ((NandStatus & NAND_READY) == NAND_READY) {
-      break;
-    }
-    Timeout--;
-    gBS->Stall(1);
-  }
-
-  if (Timeout == 0) {
-    DEBUG ((EFI_D_ERROR, "Erase block timed out for Block: %d.\n", BlockIndex));
-    return EFI_TIMEOUT;
-  }
-
-  //Bit0 indicates Pass/Fail status
-  if (NandStatus & NAND_FAILURE) {
-    return EFI_DEVICE_ERROR;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-NandReadBlock (
-  IN UINTN                          StartBlockIndex,
-  IN UINTN                          EndBlockIndex,
-  OUT VOID                          *Buffer,
-  OUT VOID                          *SpareBuffer
-)
-{
-  UINTN      BlockIndex;
-  UINTN      PageIndex;
-  EFI_STATUS Status = EFI_SUCCESS;
-
-  for (BlockIndex = StartBlockIndex; BlockIndex <= EndBlockIndex; BlockIndex++) {
-    //For each block read number of pages
-    for (PageIndex = 0; PageIndex < gNandFlashInfo->NumPagesPerBlock; PageIndex++) {
-      Status = NandReadPage(BlockIndex, PageIndex, Buffer, SpareBuffer);
-      if (EFI_ERROR(Status)) {
-        return Status;
-      }
-      Buffer = ((UINT8 *)Buffer + gNandFlashInfo->PageSize);
-    }
-  }
-
-  return Status;
-}
-
-EFI_STATUS
-NandWriteBlock (
-  IN UINTN                          StartBlockIndex,
-  IN UINTN                          EndBlockIndex,
-  OUT VOID                          *Buffer,
-  OUT VOID                          *SpareBuffer
-  )
-{
-  UINTN      BlockIndex;
-  UINTN      PageIndex;
-  EFI_STATUS Status = EFI_SUCCESS;
-
-  for (BlockIndex = StartBlockIndex; BlockIndex <= EndBlockIndex; BlockIndex++) {
-    //Page programming.
-    for (PageIndex = 0; PageIndex < gNandFlashInfo->NumPagesPerBlock; PageIndex++) {
-      Status = NandWritePage(BlockIndex, PageIndex, Buffer, SpareBuffer);
-      if (EFI_ERROR(Status)) {
-        return Status;
-      }
-      Buffer = ((UINT8 *)Buffer + gNandFlashInfo->PageSize);
-    }
-  }
-
-  return Status;
-}
-
-EFI_STATUS
-EFIAPI
-NandFlashReset (
-  IN EFI_BLOCK_IO_PROTOCOL          *This,
-  IN BOOLEAN                        ExtendedVerification
-  )
-{
-  UINTN BusyStall = 50;                            // microSeconds
-  UINTN ResetBusyTimeout = (1000000 / BusyStall);  // 1 Second
-
-  //Send RESET command to device.
-  NandSendCommand(RESET_CMD);
-
-  //Wait for 1ms before we check status register.
-  gBS->Stall(1000);
-
-  //Check BIT#5 & BIT#6 in Status register to make sure RESET is done.
-  while ((NandReadStatus() & NAND_RESET_STATUS) != NAND_RESET_STATUS) {
-
-    //In case of extended verification, wait for extended amount of time
-    //to make sure device is reset.
-    if (ExtendedVerification) {
-      if (ResetBusyTimeout == 0) {
-        return EFI_DEVICE_ERROR;
-      }
-
-      gBS->Stall(BusyStall);
-      ResetBusyTimeout--;
-    }
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EFIAPI
-NandFlashReadBlocks (
-  IN EFI_BLOCK_IO_PROTOCOL          *This,
-  IN UINT32                         MediaId,
-  IN EFI_LBA                        Lba,
-  IN UINTN                          BufferSize,
-  OUT VOID                          *Buffer
-  )
-{
-  UINTN      NumBlocks;
-  UINTN      EndBlockIndex;
-  EFI_STATUS Status;
-  UINT8      *SpareBuffer = NULL;
-
-  if (Buffer == NULL) {
-    Status = EFI_INVALID_PARAMETER;
-    goto exit;
-  }
-
-  if (Lba > LAST_BLOCK) {
-    Status = EFI_INVALID_PARAMETER;
-    goto exit;
-  }
-
-  if ((BufferSize % gNandFlashInfo->BlockSize) != 0) {
-    Status = EFI_BAD_BUFFER_SIZE;
-    goto exit;
-  }
-
-  NumBlocks = DivU64x32(BufferSize, gNandFlashInfo->BlockSize);
-  EndBlockIndex = ((UINTN)Lba + NumBlocks) - 1;
-
-  SpareBuffer = (UINT8 *)AllocatePool(gNandFlashInfo->SparePageSize);
-  if (SpareBuffer == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    goto exit;
-  }
-
-  //Read block
-  Status = NandReadBlock((UINTN)Lba, EndBlockIndex, Buffer, SpareBuffer);
-  if (EFI_ERROR(Status)) {
-    DEBUG((EFI_D_ERROR, "Read block fails: %x\n", Status));
-    goto exit;
-  }
-
-exit:
-  if (SpareBuffer != NULL) {
-    FreePool (SpareBuffer);
-  }
-
-  return Status;
-}
-
-EFI_STATUS
-EFIAPI
-NandFlashWriteBlocks (
-  IN EFI_BLOCK_IO_PROTOCOL          *This,
-  IN UINT32                         MediaId,
-  IN EFI_LBA                        Lba,
-  IN UINTN                          BufferSize,
-  IN VOID                           *Buffer
-  )
-{
-  UINTN      BlockIndex;
-  UINTN      NumBlocks;
-  UINTN      EndBlockIndex;
-  EFI_STATUS Status;
-  UINT8      *SpareBuffer = NULL;
-
-  if (Buffer == NULL) {
-    Status = EFI_INVALID_PARAMETER;
-    goto exit;
-  }
-
-  if (Lba > LAST_BLOCK) {
-    Status = EFI_INVALID_PARAMETER;
-    goto exit;
-  }
-
-  if ((BufferSize % gNandFlashInfo->BlockSize) != 0) {
-    Status = EFI_BAD_BUFFER_SIZE;
-    goto exit;
-  }
-
-  NumBlocks = DivU64x32(BufferSize, gNandFlashInfo->BlockSize);
-  EndBlockIndex = ((UINTN)Lba + NumBlocks) - 1;
-
-  SpareBuffer = (UINT8 *)AllocatePool(gNandFlashInfo->SparePageSize);
-  if (SpareBuffer == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    goto exit;
-  }
-
-  // Erase block
-  for (BlockIndex = (UINTN)Lba; BlockIndex <= EndBlockIndex; BlockIndex++) {
-    Status = NandEraseBlock(BlockIndex);
-    if (EFI_ERROR(Status)) {
-      DEBUG((EFI_D_ERROR, "Erase block failed. Status: %x\n", Status));
-      goto exit;
-    }
-  }
-
-  // Program data
-  Status = NandWriteBlock((UINTN)Lba, EndBlockIndex, Buffer, SpareBuffer);
-  if (EFI_ERROR(Status)) {
-    DEBUG((EFI_D_ERROR, "Block write fails: %x\n", Status));
-    goto exit;
-  }
-
-exit:
-  if (SpareBuffer != NULL) {
-    FreePool (SpareBuffer);
-  }
-
-  return Status;
-}
-
-EFI_STATUS
-EFIAPI
-NandFlashFlushBlocks (
-  IN EFI_BLOCK_IO_PROTOCOL  *This
-  )
-{
-  return EFI_SUCCESS;
-}
-
-
-
-EFI_BLOCK_IO_MEDIA gNandFlashMedia = {
-  SIGNATURE_32('n','a','n','d'),            // MediaId
-  FALSE,                                    // RemovableMedia
-  TRUE,                                     // MediaPresent
-  FALSE,                                    // LogicalPartition
-  FALSE,                                    // ReadOnly
-  FALSE,                                    // WriteCaching
-  0,                                        // BlockSize
-  2,                                        // IoAlign
-  0,                                        // Pad
-  0                                         // LastBlock
-};
-
-EFI_BLOCK_IO_PROTOCOL BlockIo =
-{
-  EFI_BLOCK_IO_INTERFACE_REVISION,  // Revision
-  &gNandFlashMedia,                  // *Media
-  NandFlashReset,                   // Reset
-  NandFlashReadBlocks,              // ReadBlocks
-  NandFlashWriteBlocks,             // WriteBlocks
-  NandFlashFlushBlocks              // FlushBlocks
-};
-
-EFI_STATUS
-NandFlashInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-
-  gNandFlashInfo = (NAND_FLASH_INFO *)AllocateZeroPool (sizeof(NAND_FLASH_INFO));
-
-  //Initialize GPMC module.
-  GpmcInit();
-
-  //Reset NAND part
-  NandFlashReset(&BlockIo, FALSE);
-
-  //Detect NAND part and populate gNandFlashInfo structure
-  Status = NandDetectPart ();
-  if (EFI_ERROR(Status)) {
-    DEBUG((EFI_D_ERROR, "Nand part id detection failure: Status: %x\n", Status));
-    return Status;
-  }
-
-  //Count total number of 512Bytes chunk based on the page size.
-  if (gNandFlashInfo->PageSize == PAGE_SIZE_512B) {
-    gNum512BytesChunks = 1;
-  } else if (gNandFlashInfo->PageSize == PAGE_SIZE_2K) {
-    gNum512BytesChunks = 4;
-  } else if (gNandFlashInfo->PageSize == PAGE_SIZE_4K) {
-    gNum512BytesChunks = 8;
-  }
-
-  gEccCode = (UINT8 *)AllocatePool(gNum512BytesChunks * 3);
-  if (gEccCode == NULL) {
-    return EFI_OUT_OF_RESOURCES;
-  }
-
-  //Configure ECC
-  NandConfigureEcc ();
-
-  //Patch EFI_BLOCK_IO_MEDIA structure.
-  gNandFlashMedia.BlockSize = gNandFlashInfo->BlockSize;
-  gNandFlashMedia.LastBlock = LAST_BLOCK;
-
-  //Publish BlockIO.
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &ImageHandle,
-                  &gEfiBlockIoProtocolGuid, &BlockIo,
-                  &gEfiDevicePathProtocolGuid, &gDevicePath,
-                  NULL
-                  );
-  return Status;
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/Flash/Flash.h b/Chips/TexasInstruments/Omap35xx/Flash/Flash.h
deleted file mode 100644
index 46ec4db9e183..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Flash/Flash.h
+++ /dev/null
@@ -1,106 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 FLASH_H
-#define FLASH_H
-
-#include <Uefi.h>
-
-#include <Library/BaseLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IoLib.h>
-#include <Library/PcdLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/IoLib.h>
-
-#include <Protocol/BlockIo.h>
-#include <Protocol/Cpu.h>
-#include <Omap3530/Omap3530.h>
-
-#define PAGE_SIZE(x)             ((x) & 0x01)
-#define PAGE_SIZE_2K_VAL         (0x01UL)
-
-#define SPARE_AREA_SIZE(x)       (((x) >> 2) & 0x01)
-#define SPARE_AREA_SIZE_64B_VAL  (0x1UL)
-
-#define BLOCK_SIZE(x)            (((x) >> 4) & 0x01)
-#define BLOCK_SIZE_128K_VAL      (0x01UL)
-
-#define ORGANIZATION(x)          (((x) >> 6) & 0x01)
-#define ORGANIZATION_X8          (0x0UL)
-#define ORGANIZATION_X16         (0x1UL)
-
-#define PAGE_SIZE_512B           (512)
-#define PAGE_SIZE_2K             (2048)
-#define PAGE_SIZE_4K             (4096)
-#define SPARE_AREA_SIZE_16B      (16)
-#define SPARE_AREA_SIZE_64B      (64)
-
-#define BLOCK_SIZE_16K           (16*1024)
-#define BLOCK_SIZE_128K          (128*1024)
-
-#define BLOCK_COUNT              (2048)
-#define LAST_BLOCK               (BLOCK_COUNT - 1)
-
-#define ECC_POSITION             2
-
-//List of commands.
-#define RESET_CMD                0xFF
-#define READ_ID_CMD              0x90
-
-#define READ_STATUS_CMD          0x70
-
-#define PAGE_READ_CMD            0x00
-#define PAGE_READ_CONFIRM_CMD    0x30
-
-#define BLOCK_ERASE_CMD          0x60
-#define BLOCK_ERASE_CONFIRM_CMD  0xD0
-
-#define PROGRAM_PAGE_CMD         0x80
-#define PROGRAM_PAGE_CONFIRM_CMD 0x10
-
-//Nand status register bit definition
-#define NAND_SUCCESS             (0x0UL << 0)
-#define NAND_FAILURE             BIT0
-
-#define NAND_BUSY                (0x0UL << 6)
-#define NAND_READY               BIT6
-
-#define NAND_RESET_STATUS        (0x60UL << 0)
-
-#define MAX_RETRY_COUNT          1500
-
-
-typedef struct {
-  UINT8 ManufactureId;
-  UINT8 DeviceId;
-  UINT8 BlockAddressStart; //Start of the Block address in actual NAND
-  UINT8 PageAddressStart;  //Start of the Page address in actual NAND
-} NAND_PART_INFO_TABLE;
-
-typedef struct {
-  UINT8     ManufactureId;
-  UINT8     DeviceId;
-  UINT8     Organization;      //x8 or x16
-  UINT32    PageSize;
-  UINT32    SparePageSize;
-  UINT32    BlockSize;
-  UINT32    NumPagesPerBlock;
-  UINT8     BlockAddressStart; //Start of the Block address in actual NAND
-  UINT8     PageAddressStart;  //Start of the Page address in actual NAND
-} NAND_FLASH_INFO;
-
-#endif //FLASH_H
diff --git a/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf b/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
deleted file mode 100644
index 4d9b630b0adc..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
+++ /dev/null
@@ -1,48 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = NandFlash
-  FILE_GUID                      = 4d00ef14-c4e0-426b-81b7-30a00a14aad6
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = NandFlashInitialize
-
-
-[Sources.common]
-  Flash.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  PcdLib
-  UefiLib
-  UefiDriverEntryPoint
-  MemoryAllocationLib
-  IoLib
-
-[Guids]
-
-[Protocols]
-  gEfiBlockIoProtocolGuid
-  gEfiCpuArchProtocolGuid
-
-[Pcd]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxGpmcOffset
-
-[depex]
-  TRUE
diff --git a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c b/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c
deleted file mode 100644
index 4d713f7bf58d..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.c
+++ /dev/null
@@ -1,135 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Uefi.h>
-
-#include <Library/IoLib.h>
-#include <Library/OmapLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-
-#include <Protocol/EmbeddedGpio.h>
-
-#include <Omap3530/Omap3530.h>
-
-EFI_STATUS
-Get (
-  IN  EMBEDDED_GPIO     *This,
-  IN  EMBEDDED_GPIO_PIN Gpio,
-  OUT UINTN               *Value
-  )
-{
-  UINTN  Port;
-  UINTN  Pin;
-  UINT32 DataInRegister;
-
-  if (Value == NULL)
-  {
-    return EFI_UNSUPPORTED;
-  }
-
-  Port    = GPIO_PORT(Gpio);
-  Pin     = GPIO_PIN(Gpio);
-
-  DataInRegister = GpioBase(Port) + GPIO_DATAIN;
-
-  if (MmioRead32 (DataInRegister) & GPIO_DATAIN_MASK(Pin)) {
-    *Value = 1;
-  } else {
-    *Value = 0;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-Set (
-  IN  EMBEDDED_GPIO       *This,
-  IN  EMBEDDED_GPIO_PIN   Gpio,
-  IN  EMBEDDED_GPIO_MODE  Mode
-  )
-{
-  UINTN  Port;
-  UINTN  Pin;
-  UINT32 OutputEnableRegister;
-  UINT32 SetDataOutRegister;
-  UINT32 ClearDataOutRegister;
-
-  Port    = GPIO_PORT(Gpio);
-  Pin     = GPIO_PIN(Gpio);
-
-  OutputEnableRegister = GpioBase(Port) + GPIO_OE;
-  SetDataOutRegister   = GpioBase(Port) + GPIO_SETDATAOUT;
-  ClearDataOutRegister = GpioBase(Port) + GPIO_CLEARDATAOUT;
-
-  switch (Mode)
-  {
-    case GPIO_MODE_INPUT:
-      MmioAndThenOr32(OutputEnableRegister, ~GPIO_OE_MASK(Pin), GPIO_OE_INPUT(Pin));
-      break;
-
-    case GPIO_MODE_OUTPUT_0:
-      MmioWrite32 (ClearDataOutRegister, GPIO_CLEARDATAOUT_BIT(Pin));
-      MmioAndThenOr32(OutputEnableRegister, ~GPIO_OE_MASK(Pin), GPIO_OE_OUTPUT(Pin));
-      break;
-
-    case GPIO_MODE_OUTPUT_1:
-      MmioWrite32 (SetDataOutRegister, GPIO_SETDATAOUT_BIT(Pin));
-      MmioAndThenOr32(OutputEnableRegister, ~GPIO_OE_MASK(Pin), GPIO_OE_OUTPUT(Pin));
-      break;
-
-    default:
-      return EFI_UNSUPPORTED;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-GetMode (
-  IN  EMBEDDED_GPIO       *This,
-  IN  EMBEDDED_GPIO_PIN   Gpio,
-  OUT EMBEDDED_GPIO_MODE  *Mode
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-EFI_STATUS
-SetPull (
-  IN  EMBEDDED_GPIO       *This,
-  IN  EMBEDDED_GPIO_PIN   Gpio,
-  IN  EMBEDDED_GPIO_PULL  Direction
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-EMBEDDED_GPIO Gpio = {
-  Get,
-  Set,
-  GetMode,
-  SetPull
-};
-
-EFI_STATUS
-GpioInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-
-  Status = gBS->InstallMultipleProtocolInterfaces(&ImageHandle, &gEmbeddedGpioProtocolGuid, &Gpio, NULL);
-  return Status;
-}
diff --git a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf b/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
deleted file mode 100644
index 62073ff58c31..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
+++ /dev/null
@@ -1,45 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = Gpio
-  FILE_GUID                      = E7D9CAE1-6930-46E3-BDF9-0027446E7DF2
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = GpioInitialize
-
-
-[Sources.common]
-  Gpio.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  IoLib
-  UefiDriverEntryPoint
-  OmapLib
-
-[Guids]
-
-[Protocols]
-  gEmbeddedGpioProtocolGuid
-
-[Pcd]
-
-[depex]
-  TRUE
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h b/Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h
deleted file mode 100755
index dfac36f07e98..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapDmaLib.h
+++ /dev/null
@@ -1,90 +0,0 @@ 
-/** @file
-
-  Abstractions for simple OMAP DMA.
-  OMAP_DMA4 structure elements are described in the OMAP35xx TRM.
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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 __OMAP_DMA_LIB_H__
-#define __OMAP_DMA_LIB_H__
-
-
-// Example from DMA chapter of the OMAP35xx spec
-typedef struct {
-  UINT8     DataType;                      // DMA4_CSDPi[1:0]
-  UINT8     ReadPortAccessType;            // DMA4_CSDPi[8:7]
-  UINT8     WritePortAccessType;           // DMA4_CSDPi[15:14]
-  UINT8     SourceEndiansim;               // DMA4_CSDPi[21]
-  UINT8     DestinationEndianism;          // DMA4_CSDPi[19]
-  UINT8     WriteMode;                     // DMA4_CSDPi[17:16]
-  UINT8     SourcePacked;                  // DMA4_CSDPi[6]
-  UINT8     DestinationPacked;             // DMA4_CSDPi[13]
-  UINT32    NumberOfElementPerFrame;       // DMA4_CENi
-  UINT32    NumberOfFramePerTransferBlock; // DMA4_CFNi
-  UINT32    SourceStartAddress;            // DMA4_CSSAi
-  UINT32    DestinationStartAddress;       // DMA4_CDSAi
-  UINT32    SourceElementIndex;            // DMA4_CSEi
-  UINT32    SourceFrameIndex;              // DMA4_CSFi
-  UINT32    DestinationElementIndex;       // DMA4_CDEi
-  UINT32    DestinationFrameIndex;         // DMA4_CDFi
-  UINT8     ReadPortAccessMode;            // DMA4_CCRi[13:12]
-  UINT8     WritePortAccessMode;           // DMA4_CCRi[15:14]
-  UINT8     ReadPriority;                  // DMA4_CCRi[6]
-  UINT8     WritePriority;                 // DMA4_CCRi[23]
-  UINT8     ReadRequestNumber;             // DMA4_CCRi[4:0]
-  UINT8     WriteRequestNumber;            // DMA4_CCRi[20:19]
-} OMAP_DMA4;
-
-
-/**
-  Configure OMAP DMA Channel
-
-  @param  Channel               DMA Channel to configure
-  @param  Dma4                  Pointer to structure used to initialize DMA registers for the Channel
-
-  @retval EFI_SUCCESS           The range was mapped for the returned NumberOfBytes.
-  @retval EFI_INVALID_PARAMETER Channel is not valid
-  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
-
-**/
-EFI_STATUS
-EFIAPI
-EnableDmaChannel (
-  IN  UINTN       Channel,
-  IN  OMAP_DMA4   *Dma4
-  );
-
-/**
-  Turn of DMA channel configured by EnableDma().
-
-  @param  Channel               DMA Channel to configure
-  @param  SuccesMask            Bits in DMA4_CSR register indicate EFI_SUCCESS
-  @param  ErrorMask             Bits in DMA4_CSR register indicate EFI_DEVICE_ERROR
-
-  @retval EFI_SUCCESS           DMA hardware disabled
-  @retval EFI_INVALID_PARAMETER Channel is not valid
-  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
-
-**/
-EFI_STATUS
-EFIAPI
-DisableDmaChannel (
-  IN  UINTN       Channel,
-  IN  UINT32      SuccessMask,
-  IN  UINT32      ErrorMask
-  );
-
-
-
-#endif
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h b/Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h
deleted file mode 100644
index ec14603ccd82..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Library/OmapLib.h
+++ /dev/null
@@ -1,44 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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 __OMAPLIB_H__
-#define __OMAPLIB_H__
-
-UINT32
-EFIAPI
-GpioBase (
-  IN  UINTN Port
-  );
-
-UINT32
-EFIAPI
-TimerBase (
-  IN  UINTN Timer
-  );
-
-UINTN
-EFIAPI
-InterruptVectorForTimer (
-  IN  UINTN TImer
-  );
-
-UINT32
-EFIAPI
-UartBase (
-  IN  UINTN Uart
-  );
-
-
-#endif // __OMAPLIB_H__
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h
deleted file mode 100644
index 4d3781576493..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530.h
+++ /dev/null
@@ -1,40 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530_H__
-#define __OMAP3530_H__
-
-#include "Omap3530Gpio.h"
-#include "Omap3530Interrupt.h"
-#include "Omap3530Prcm.h"
-#include "Omap3530Timer.h"
-#include "Omap3530Uart.h"
-#include "Omap3530Usb.h"
-#include "Omap3530MMCHS.h"
-#include "Omap3530I2c.h"
-#include "Omap3530PadConfiguration.h"
-#include "Omap3530Gpmc.h"
-#include "Omap3530Dma.h"
-
-
-//CONTROL_PBIAS_LITE
-#define CONTROL_PBIAS_LITE    0x48002520
-#define PBIASLITEVMODE0       BIT0
-#define PBIASLITEPWRDNZ0      BIT1
-#define PBIASSPEEDCTRL0       BIT2
-#define PBIASLITEVMODE1       BIT8
-#define PBIASLITEWRDNZ1       BIT9
-
-#endif // __OMAP3530_H__
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h
deleted file mode 100755
index a6e070dda370..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Dma.h
+++ /dev/null
@@ -1,130 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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 __OMAP3530DMA_H__
-#define __OMAP3530DMA_H__
-
-
-#define DMA4_MAX_CHANNEL 31
-
-#define DMA4_IRQENABLE_L(_i)  (0x48056018 + (0x4*(_i)))
-
-#define DMA4_CCR(_i)  (0x48056080 + (0x60*(_i)))
-#define DMA4_CICR(_i) (0x48056088 + (0x60*(_i)))
-#define DMA4_CSR(_i)  (0x4805608c + (0x60*(_i)))
-#define DMA4_CSDP(_i) (0x48056090 + (0x60*(_i)))
-#define DMA4_CEN(_i)  (0x48056094 + (0x60*(_i)))
-#define DMA4_CFN(_i)  (0x48056098 + (0x60*(_i)))
-#define DMA4_CSSA(_i) (0x4805609c + (0x60*(_i)))
-#define DMA4_CDSA(_i) (0x480560a0 + (0x60*(_i)))
-#define DMA4_CSEI(_i) (0x480560a4 + (0x60*(_i)))
-#define DMA4_CSFI(_i) (0x480560a8 + (0x60*(_i)))
-#define DMA4_CDEI(_i) (0x480560ac + (0x60*(_i)))
-#define DMA4_CDFI(_i) (0x480560b0 + (0x60*(_i)))
-
-#define DMA4_GCR      (0x48056078)
-
-// Channel Source Destination parameters
-#define DMA4_CSDP_DATA_TYPE8    0
-#define DMA4_CSDP_DATA_TYPE16   1
-#define DMA4_CSDP_DATA_TYPE32   2
-
-#define DMA4_CSDP_SRC_PACKED      BIT6
-#define DMA4_CSDP_SRC_NONPACKED   0
-
-#define DMA4_CSDP_SRC_BURST_EN    (0x0 << 7)
-#define DMA4_CSDP_SRC_BURST_EN16  (0x1 << 7)
-#define DMA4_CSDP_SRC_BURST_EN32  (0x2 << 7)
-#define DMA4_CSDP_SRC_BURST_EN64  (0x3 << 7)
-
-#define DMA4_CSDP_DST_PACKED      BIT13
-#define DMA4_CSDP_DST_NONPACKED   0
-
-#define DMA4_CSDP_BURST_EN        (0x0 << 14)
-#define DMA4_CSDP_BURST_EN16      (0x1 << 14)
-#define DMA4_CSDP_BURST_EN32      (0x2 << 14)
-#define DMA4_CSDP_BURST_EN64      (0x3 << 14)
-
-#define DMA4_CSDP_WRITE_MODE_NONE_POSTED      (0x0 << 16)
-#define DMA4_CSDP_WRITE_MODE_POSTED           (0x1 << 16)
-#define DMA4_CSDP_WRITE_MODE_LAST_NON_POSTED  (0x2 << 16)
-
-#define DMA4_CSDP_DST_ENDIAN_LOCK_LOCK    BIT18
-#define DMA4_CSDP_DST_ENDIAN_LOCK_ADAPT   0
-
-#define DMA4_CSDP_DST_ENDIAN_BIG          BIT19
-#define DMA4_CSDP_DST_ENDIAN_LITTLE       0
-
-#define DMA4_CSDP_SRC_ENDIAN_LOCK_LOCK    BIT20
-#define DMA4_CSDP_SRC_ENDIAN_LOCK_ADAPT   0
-
-#define DMA4_CSDP_SRC_ENDIAN_BIG          BIT21
-#define DMA4_CSDP_SRC_ENDIAN_LITTLE       0
-
-// Channel Control
-#define DMA4_CCR_SYNCHRO_CONTROL_MASK     0x1f
-
-#define DMA4_CCR_FS_ELEMENT     (0    | 0)
-#define DMA4_CCR_FS_BLOCK       (0    | BIT18)
-#define DMA4_CCR_FS_FRAME       (BIT5 | 0)
-#define DMA4_CCR_FS_PACKET      (BIT5 | BIT18)
-
-#define DMA4_CCR_READ_PRIORITY_HIGH   BIT6
-#define DMA4_CCR_READ_PRIORITY_LOW    0
-
-#define DMA4_CCR_ENABLE               BIT7
-#define DMA4_CCR_DISABLE              0
-
-#define DMA4_CCR_SUSPEND_SENSITIVE_IGNORE BIT8
-#define DMA4_CCR_SUSPEND_SENSITIVE        0
-
-#define DMA4_CCR_RD_ACTIVE                BIT9
-#define DMA4_CCR_WR_ACTIVE                BIT10
-
-#define DMA4_CCR_SRC_AMODE                (0     | 0)
-#define DMA4_CCR_SRC_AMODE_POST_INC       (0     | BIT12)
-#define DMA4_CCR_SRC_AMODE_SINGLE_INDEX   (BIT13 | 0)
-#define DMA4_CCR_SRC_AMODE_DOUBLE_INDEX   (BIT13 | BIT12)
-
-#define DMA4_CCR_DST_AMODE                (0     | 0)
-#define DMA4_CCR_DST_AMODE_POST_INC       (0     | BIT14)
-#define DMA4_CCR_DST_AMODE_SINGLE_INDEX   (BIT15 | 0)
-#define DMA4_CCR_DST_AMODE_DOUBLE_INDEX   (BIT15 | BIT14)
-
-#define DMA4_CCR_CONST_FILL_ENABLE        BIT16
-#define DMA4_CCR_TRANSPARENT_COPY_ENABLE  BIT17
-
-#define DMA4_CCR_SEL_SRC_DEST_SYNC_SOURCE BIT24
-
-#define DMA4_CSR_DROP                     BIT1
-#define DMA4_CSR_HALF                     BIT2
-#define DMA4_CSR_FRAME                    BIT3
-#define DMA4_CSR_LAST                     BIT4
-#define DMA4_CSR_BLOCK                    BIT5
-#define DMA4_CSR_SYNC                     BIT6
-#define DMA4_CSR_PKT                      BIT7
-#define DMA4_CSR_TRANS_ERR                BIT8
-#define DMA4_CSR_SECURE_ERR               BIT9
-#define DMA4_CSR_SUPERVISOR_ERR           BIT10
-#define DMA4_CSR_MISALIGNED_ADRS_ERR      BIT11
-#define DMA4_CSR_DRAIN_END                BIT12
-#define DMA4_CSR_RESET                    0x1FE
-#define DMA4_CSR_ERR                      (DMA4_CSR_TRANS_ERR | DMA4_CSR_SECURE_ERR | DMA4_CSR_SUPERVISOR_ERR | DMA4_CSR_MISALIGNED_ADRS_ERR)
-
-// same mapping as CSR except for SYNC. Enable all since we are polling
-#define DMA4_CICR_ENABLE_ALL              0x1FBE
-
-
-#endif
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h
deleted file mode 100644
index e45a0f23b5ea..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpio.h
+++ /dev/null
@@ -1,131 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530GPIO_H__
-#define __OMAP3530GPIO_H__
-
-#define GPIO1_BASE (0x48310000)
-#define GPIO2_BASE (0x49050000)
-#define GPIO3_BASE (0x49052000)
-#define GPIO4_BASE (0x49054000)
-#define GPIO5_BASE (0x49056000)
-#define GPIO6_BASE (0x49058000)
-
-#define GPIO_SYSCONFIG        (0x0010)
-#define GPIO_SYSSTATUS        (0x0014)
-#define GPIO_IRQSTATUS1       (0x0018)
-#define GPIO_IRQENABLE1       (0x001C)
-#define GPIO_WAKEUPENABLE     (0x0020)
-#define GPIO_IRQSTATUS2       (0x0028)
-#define GPIO_IRQENABLE2       (0x002C)
-#define GPIO_CTRL             (0x0030)
-#define GPIO_OE               (0x0034)
-#define GPIO_DATAIN           (0x0038)
-#define GPIO_DATAOUT          (0x003C)
-#define GPIO_LEVELDETECT0     (0x0040)
-#define GPIO_LEVELDETECT1     (0x0044)
-#define GPIO_RISINGDETECT     (0x0048)
-#define GPIO_FALLINGDETECT    (0x004C)
-#define GPIO_DEBOUNCENABLE    (0x0050)
-#define GPIO_DEBOUNCINGTIME   (0x0054)
-#define GPIO_CLEARIRQENABLE1  (0x0060)
-#define GPIO_SETIRQENABLE1    (0x0064)
-#define GPIO_CLEARIRQENABLE2  (0x0070)
-#define GPIO_SETIRQENABLE2    (0x0074)
-#define GPIO_CLEARWKUENA      (0x0080)
-#define GPIO_SETWKUENA        (0x0084)
-#define GPIO_CLEARDATAOUT     (0x0090)
-#define GPIO_SETDATAOUT       (0x0094)
-
-#define GPIO_SYSCONFIG_IDLEMODE_MASK      (3UL << 3)
-#define GPIO_SYSCONFIG_IDLEMODE_FORCE     (0UL << 3)
-#define GPIO_SYSCONFIG_IDLEMODE_NONE      BIT3
-#define GPIO_SYSCONFIG_IDLEMODE_SMART     (2UL << 3)
-#define GPIO_SYSCONFIG_ENAWAKEUP_MASK     BIT2
-#define GPIO_SYSCONFIG_ENAWAKEUP_DISABLE  (0UL << 2)
-#define GPIO_SYSCONFIG_ENAWAKEUP_ENABLE   BIT2
-#define GPIO_SYSCONFIG_SOFTRESET_MASK     BIT1
-#define GPIO_SYSCONFIG_SOFTRESET_NORMAL   (0UL << 1)
-#define GPIO_SYSCONFIG_SOFTRESET_RESET    BIT1
-#define GPIO_SYSCONFIG_AUTOIDLE_MASK      BIT0
-#define GPIO_SYSCONFIG_AUTOIDLE_FREE_RUN  (0UL << 0)
-#define GPIO_SYSCONFIG_AUTOIDLE_ON        BIT0
-
-#define GPIO_SYSSTATUS_RESETDONE_MASK     BIT0
-#define GPIO_SYSSTATUS_RESETDONE_ONGOING  (0UL << 0)
-#define GPIO_SYSSTATUS_RESETDONE_COMPLETE BIT0
-
-#define GPIO_IRQSTATUS_MASK(x)            (1UL << (x))
-#define GPIO_IRQSTATUS_NOT_TRIGGERED(x)   (0UL << (x))
-#define GPIO_IRQSTATUS_TRIGGERED(x)       (1UL << (x))
-#define GPIO_IRQSTATUS_CLEAR(x)           (1UL << (x))
-
-#define GPIO_IRQENABLE_MASK(x)            (1UL << (x))
-#define GPIO_IRQENABLE_DISABLE(x)         (0UL << (x))
-#define GPIO_IRQENABLE_ENABLE(x)          (1UL << (x))
-
-#define GPIO_WAKEUPENABLE_MASK(x)         (1UL << (x))
-#define GPIO_WAKEUPENABLE_DISABLE(x)      (0UL << (x))
-#define GPIO_WAKEUPENABLE_ENABLE(x)       (1UL << (x))
-
-#define GPIO_CTRL_GATINGRATIO_MASK        (3UL << 1)
-#define GPIO_CTRL_GATINGRATIO_DIV_1       (0UL << 1)
-#define GPIO_CTRL_GATINGRATIO_DIV_2       BIT1
-#define GPIO_CTRL_GATINGRATIO_DIV_4       (2UL << 1)
-#define GPIO_CTRL_GATINGRATIO_DIV_8       (3UL << 1)
-#define GPIO_CTRL_DISABLEMODULE_MASK      BIT0
-#define GPIO_CTRL_DISABLEMODULE_ENABLE    (0UL << 0)
-#define GPIO_CTRL_DISABLEMODULE_DISABLE   BIT0
-
-#define GPIO_OE_MASK(x)                   (1UL << (x))
-#define GPIO_OE_OUTPUT(x)                 (0UL << (x))
-#define GPIO_OE_INPUT(x)                  (1UL << (x))
-
-#define GPIO_DATAIN_MASK(x)               (1UL << (x))
-
-#define GPIO_DATAOUT_MASK(x)              (1UL << (x))
-
-#define GPIO_LEVELDETECT_MASK(x)          (1UL << (x))
-#define GPIO_LEVELDETECT_DISABLE(x)       (0UL << (x))
-#define GPIO_LEVELDETECT_ENABLE(x)        (1UL << (x))
-
-#define GPIO_RISINGDETECT_MASK(x)         (1UL << (x))
-#define GPIO_RISINGDETECT_DISABLE(x)      (0UL << (x))
-#define GPIO_RISINGDETECT_ENABLE(x)       (1UL << (x))
-
-#define GPIO_FALLINGDETECT_MASK(x)        (1UL << (x))
-#define GPIO_FALLINGDETECT_DISABLE(x)     (0UL << (x))
-#define GPIO_FALLINGDETECT_ENABLE(x)      (1UL << (x))
-
-#define GPIO_DEBOUNCENABLE_MASK(x)        (1UL << (x))
-#define GPIO_DEBOUNCENABLE_DISABLE(x)     (0UL << (x))
-#define GPIO_DEBOUNCENABLE_ENABLE(x)      (1UL << (x))
-
-#define GPIO_DEBOUNCINGTIME_MASK          (0xFF)
-#define GPIO_DEBOUNCINGTIME_US(x)         ((((x) / 31) - 1) & GPIO_DEBOUNCINGTIME_MASK)
-
-#define GPIO_CLEARIRQENABLE_BIT(x)        (1UL << (x))
-
-#define GPIO_SETIRQENABLE_BIT(x)          (1UL << (x))
-
-#define GPIO_CLEARWKUENA_BIT(x)           (1UL << (x))
-
-#define GPIO_SETWKUENA_BIT(x)             (1UL << (x))
-
-#define GPIO_CLEARDATAOUT_BIT(x)          (1UL << (x))
-
-#define GPIO_SETDATAOUT_BIT(x)            (1UL << (x))
-
-#endif // __OMAP3530GPIO_H__
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h
deleted file mode 100644
index 6943d303ec63..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Gpmc.h
+++ /dev/null
@@ -1,107 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530GPMC_H__
-#define __OMAP3530GPMC_H__
-
-#define GPMC_BASE             (0x6E000000)
-
-//GPMC NAND definitions.
-#define GPMC_SYSCONFIG        (GPMC_BASE + 0x10)
-#define SMARTIDLEMODE         (0x2UL << 3)
-
-#define GPMC_SYSSTATUS        (GPMC_BASE + 0x14)
-#define GPMC_IRQSTATUS        (GPMC_BASE + 0x18)
-#define GPMC_IRQENABLE        (GPMC_BASE + 0x1C)
-
-#define GPMC_TIMEOUT_CONTROL  (GPMC_BASE + 0x40)
-#define TIMEOUTENABLE         BIT0
-#define TIMEOUTDISABLE        (0x0UL << 0)
-
-#define GPMC_ERR_ADDRESS      (GPMC_BASE + 0x44)
-#define GPMC_ERR_TYPE         (GPMC_BASE + 0x48)
-
-#define GPMC_CONFIG           (GPMC_BASE + 0x50)
-#define WRITEPROTECT_HIGH     BIT4
-#define WRITEPROTECT_LOW      (0x0UL << 4)
-
-#define GPMC_STATUS           (GPMC_BASE + 0x54)
-
-#define GPMC_CONFIG1_0        (GPMC_BASE + 0x60)
-#define DEVICETYPE_NOR        (0x0UL << 10)
-#define DEVICETYPE_NAND       (0x2UL << 10)
-#define DEVICESIZE_X8         (0x0UL << 12)
-#define DEVICESIZE_X16        BIT12
-
-#define GPMC_CONFIG2_0        (GPMC_BASE + 0x64)
-#define CSONTIME              (0x0UL << 0)
-#define CSRDOFFTIME           (0x14UL << 8)
-#define CSWROFFTIME           (0x14UL << 16)
-
-#define GPMC_CONFIG3_0        (GPMC_BASE + 0x68)
-#define ADVRDOFFTIME          (0x14UL << 8)
-#define ADVWROFFTIME          (0x14UL << 16)
-
-#define GPMC_CONFIG4_0        (GPMC_BASE + 0x6C)
-#define OEONTIME              BIT0
-#define OEOFFTIME             (0xFUL << 8)
-#define WEONTIME              BIT16
-#define WEOFFTIME             (0xFUL << 24)
-
-#define GPMC_CONFIG5_0        (GPMC_BASE + 0x70)
-#define RDCYCLETIME           (0x14UL << 0)
-#define WRCYCLETIME           (0x14UL << 8)
-#define RDACCESSTIME          (0xCUL << 16)
-#define PAGEBURSTACCESSTIME   BIT24
-
-#define GPMC_CONFIG6_0        (GPMC_BASE + 0x74)
-#define CYCLE2CYCLESAMECSEN   BIT7
-#define CYCLE2CYCLEDELAY      (0xAUL << 8)
-#define WRDATAONADMUXBUS      (0xFUL << 16)
-#define WRACCESSTIME          BIT24
-
-#define GPMC_CONFIG7_0        (GPMC_BASE + 0x78)
-#define BASEADDRESS           (0x30UL << 0)
-#define CSVALID               BIT6
-#define MASKADDRESS_128MB     (0x8UL << 8)
-
-#define GPMC_NAND_COMMAND_0   (GPMC_BASE + 0x7C)
-#define GPMC_NAND_ADDRESS_0   (GPMC_BASE + 0x80)
-#define GPMC_NAND_DATA_0      (GPMC_BASE + 0x84)
-
-#define GPMC_ECC_CONFIG       (GPMC_BASE + 0x1F4)
-#define ECCENABLE             BIT0
-#define ECCDISABLE            (0x0UL << 0)
-#define ECCCS_0               (0x0UL << 1)
-#define ECC16B                BIT7
-
-#define GPMC_ECC_CONTROL      (GPMC_BASE + 0x1F8)
-#define ECCPOINTER_REG1       BIT0
-#define ECCCLEAR              BIT8
-
-#define GPMC_ECC_SIZE_CONFIG  (GPMC_BASE + 0x1FC)
-#define ECCSIZE0_512BYTES     (0xFFUL << 12)
-#define ECCSIZE1_512BYTES     (0xFFUL << 22)
-
-#define GPMC_ECC1_RESULT      (GPMC_BASE + 0x200)
-#define GPMC_ECC2_RESULT      (GPMC_BASE + 0x204)
-#define GPMC_ECC3_RESULT      (GPMC_BASE + 0x208)
-#define GPMC_ECC4_RESULT      (GPMC_BASE + 0x20C)
-#define GPMC_ECC5_RESULT      (GPMC_BASE + 0x210)
-#define GPMC_ECC6_RESULT      (GPMC_BASE + 0x214)
-#define GPMC_ECC7_RESULT      (GPMC_BASE + 0x218)
-#define GPMC_ECC8_RESULT      (GPMC_BASE + 0x21C)
-#define GPMC_ECC9_RESULT      (GPMC_BASE + 0x220)
-
-#endif //__OMAP3530GPMC_H__
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h
deleted file mode 100644
index 31d4d5ea6403..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530I2c.h
+++ /dev/null
@@ -1,62 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530I2C_H__
-#define __OMAP3530I2C_H__
-
-//I2C register definitions.
-#define I2C1BASE        0x48070000
-
-#define I2C_IE          (I2C1BASE + 0x4)
-#define XRDY_IE         BIT4
-#define RRDY_IE         BIT3
-#define ARDY_IE         BIT2
-#define NACK_IE         BIT1
-
-#define I2C_STAT        (I2C1BASE + 0x8)
-#define BB              BIT12
-#define XRDY            BIT4
-#define RRDY            BIT3
-#define ARDY            BIT2
-#define NACK            BIT1
-
-#define I2C_WE          (I2C1BASE + 0xC)
-#define I2C_SYSS        (I2C1BASE + 0x10)
-#define I2C_BUF         (I2C1BASE + 0x14)
-#define I2C_CNT         (I2C1BASE + 0x18)
-#define I2C_DATA        (I2C1BASE + 0x1C)
-#define I2C_SYSC        (I2C1BASE + 0x20)
-
-#define I2C_CON         (I2C1BASE + 0x24)
-#define STT             BIT0
-#define STP             BIT1
-#define XSA             BIT8
-#define TRX             BIT9
-#define MST             BIT10
-#define I2C_EN          BIT15
-
-#define I2C_OA0         (I2C1BASE + 0x28)
-#define I2C_SA          (I2C1BASE + 0x2C)
-#define I2C_PSC         (I2C1BASE + 0x30)
-#define I2C_SCLL        (I2C1BASE + 0x34)
-#define I2C_SCLH        (I2C1BASE + 0x38)
-#define I2C_SYSTEST     (I2C1BASE + 0x3C)
-#define I2C_BUFSTAT     (I2C1BASE + 0x40)
-#define I2C_OA1         (I2C1BASE + 0x44)
-#define I2C_OA2         (I2C1BASE + 0x48)
-#define I2C_OA3         (I2C1BASE + 0x4C)
-#define I2C_ACTOA       (I2C1BASE + 0x50)
-#define I2C_SBLOCK      (I2C1BASE + 0x54)
-
-#endif //__OMAP3530I2C_H__
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h
deleted file mode 100644
index 774d8730153d..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Interrupt.h
+++ /dev/null
@@ -1,48 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530INTERRUPT_H__
-#define __OMAP3530INTERRUPT_H__
-
-#define INTERRUPT_BASE (0x48200000)
-
-#define INT_NROF_VECTORS      (96)
-#define MAX_VECTOR            (INT_NROF_VECTORS - 1)
-#define INTCPS_SYSCONFIG      (INTERRUPT_BASE + 0x0010)
-#define INTCPS_SYSSTATUS      (INTERRUPT_BASE + 0x0014)
-#define INTCPS_SIR_IRQ        (INTERRUPT_BASE + 0x0040)
-#define INTCPS_SIR_IFQ        (INTERRUPT_BASE + 0x0044)
-#define INTCPS_CONTROL        (INTERRUPT_BASE + 0x0048)
-#define INTCPS_PROTECTION     (INTERRUPT_BASE + 0x004C)
-#define INTCPS_IDLE           (INTERRUPT_BASE + 0x0050)
-#define INTCPS_IRQ_PRIORITY   (INTERRUPT_BASE + 0x0060)
-#define INTCPS_FIQ_PRIORITY   (INTERRUPT_BASE + 0x0064)
-#define INTCPS_THRESHOLD      (INTERRUPT_BASE + 0x0068)
-#define INTCPS_ITR(n)         (INTERRUPT_BASE + 0x0080 + (0x20 * (n)))
-#define INTCPS_MIR(n)         (INTERRUPT_BASE + 0x0084 + (0x20 * (n)))
-#define INTCPS_MIR_CLEAR(n)   (INTERRUPT_BASE + 0x0088 + (0x20 * (n)))
-#define INTCPS_MIR_SET(n)     (INTERRUPT_BASE + 0x008C + (0x20 * (n)))
-#define INTCPS_ISR_SET(n)     (INTERRUPT_BASE + 0x0090 + (0x20 * (n)))
-#define INTCPS_ISR_CLEAR(n)   (INTERRUPT_BASE + 0x0094 + (0x20 * (n)))
-#define INTCPS_PENDING_IRQ(n) (INTERRUPT_BASE + 0x0098 + (0x20 * (n)))
-#define INTCPS_PENDING_FIQ(n) (INTERRUPT_BASE + 0x009C + (0x20 * (n)))
-#define INTCPS_ILR(m)         (INTERRUPT_BASE + 0x0100 + (0x04 * (m)))
-
-#define INTCPS_ILR_FIQ            BIT0
-#define INTCPS_SIR_IRQ_MASK       (0x7F)
-#define INTCPS_CONTROL_NEWIRQAGR  BIT0
-#define INTCPS_CONTROL_NEWFIQAGR  BIT1
-
-#endif // __OMAP3530INTERRUPT_H__
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h
deleted file mode 100644
index 88b43de48085..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530MMCHS.h
+++ /dev/null
@@ -1,214 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530SDIO_H__
-#define __OMAP3530SDIO_H__
-
-//MMC/SD/SDIO1 register definitions.
-#define MMCHS1BASE        0x4809C000
-#define MMC_REFERENCE_CLK (96000000)
-
-#define MMCHS_SYSCONFIG   (MMCHS1BASE + 0x10)
-#define SOFTRESET         BIT1
-#define ENAWAKEUP         BIT2
-
-#define MMCHS_SYSSTATUS   (MMCHS1BASE + 0x14)
-#define RESETDONE_MASK    BIT0
-#define RESETDONE         BIT0
-
-#define MMCHS_CSRE        (MMCHS1BASE + 0x24)
-#define MMCHS_SYSTEST     (MMCHS1BASE + 0x28)
-
-#define MMCHS_CON         (MMCHS1BASE + 0x2C)
-#define OD                BIT0
-#define NOINIT            (0x0UL << 1)
-#define INIT              BIT1
-#define HR                BIT2
-#define STR               BIT3
-#define MODE              BIT4
-#define DW8_1_4_BIT       (0x0UL << 5)
-#define DW8_8_BIT         BIT5
-#define MIT               BIT6
-#define CDP               BIT7
-#define WPP               BIT8
-#define CTPL              BIT11
-#define CEATA_OFF         (0x0UL << 12)
-#define CEATA_ON          BIT12
-
-#define MMCHS_PWCNT       (MMCHS1BASE + 0x30)
-
-#define MMCHS_BLK         (MMCHS1BASE + 0x104)
-#define BLEN_512BYTES     (0x200UL << 0)
-
-#define MMCHS_ARG         (MMCHS1BASE + 0x108)
-
-#define MMCHS_CMD         (MMCHS1BASE + 0x10C)
-#define DE_ENABLE         BIT0
-#define BCE_ENABLE        BIT1
-#define ACEN_ENABLE       BIT2
-#define DDIR_READ         BIT4
-#define DDIR_WRITE        (0x0UL << 4)
-#define MSBS_SGLEBLK      (0x0UL << 5)
-#define MSBS_MULTBLK      BIT5
-#define RSP_TYPE_MASK     (0x3UL << 16)
-#define RSP_TYPE_136BITS  BIT16
-#define RSP_TYPE_48BITS   (0x2UL << 16)
-#define CCCE_ENABLE       BIT19
-#define CICE_ENABLE       BIT20
-#define DP_ENABLE         BIT21
-#define INDX(CMD_INDX)    ((CMD_INDX & 0x3F) << 24)
-
-#define MMCHS_RSP10       (MMCHS1BASE + 0x110)
-#define MMCHS_RSP32       (MMCHS1BASE + 0x114)
-#define MMCHS_RSP54       (MMCHS1BASE + 0x118)
-#define MMCHS_RSP76       (MMCHS1BASE + 0x11C)
-#define MMCHS_DATA        (MMCHS1BASE + 0x120)
-
-#define MMCHS_PSTATE      (MMCHS1BASE + 0x124)
-#define CMDI_MASK         BIT0
-#define CMDI_ALLOWED      (0x0UL << 0)
-#define CMDI_NOT_ALLOWED  BIT0
-#define DATI_MASK         BIT1
-#define DATI_ALLOWED      (0x0UL << 1)
-#define DATI_NOT_ALLOWED  BIT1
-
-#define MMCHS_HCTL        (MMCHS1BASE + 0x128)
-#define DTW_1_BIT         (0x0UL << 1)
-#define DTW_4_BIT         BIT1
-#define SDBP_MASK         BIT8
-#define SDBP_OFF          (0x0UL << 8)
-#define SDBP_ON           BIT8
-#define SDVS_1_8_V        (0x5UL << 9)
-#define SDVS_3_0_V        (0x6UL << 9)
-#define IWE               BIT24
-
-#define MMCHS_SYSCTL      (MMCHS1BASE + 0x12C)
-#define ICE               BIT0
-#define ICS_MASK          BIT1
-#define ICS               BIT1
-#define CEN               BIT2
-#define CLKD_MASK         (0x3FFUL << 6)
-#define CLKD_80KHZ        (0x258UL) //(96*1000/80)/2
-#define CLKD_400KHZ       (0xF0UL)
-#define DTO_MASK          (0xFUL << 16)
-#define DTO_VAL           (0xEUL << 16)
-#define SRA               BIT24
-#define SRC_MASK          BIT25
-#define SRC               BIT25
-#define SRD               BIT26
-
-#define MMCHS_STAT        (MMCHS1BASE + 0x130)
-#define CC                BIT0
-#define TC                BIT1
-#define BWR               BIT4
-#define BRR               BIT5
-#define ERRI              BIT15
-#define CTO               BIT16
-#define DTO               BIT20
-#define DCRC              BIT21
-#define DEB               BIT22
-
-#define MMCHS_IE          (MMCHS1BASE + 0x134)
-#define CC_EN             BIT0
-#define TC_EN             BIT1
-#define BWR_EN            BIT4
-#define BRR_EN            BIT5
-#define CTO_EN            BIT16
-#define CCRC_EN           BIT17
-#define CEB_EN            BIT18
-#define CIE_EN            BIT19
-#define DTO_EN            BIT20
-#define DCRC_EN           BIT21
-#define DEB_EN            BIT22
-#define CERR_EN           BIT28
-#define BADA_EN           BIT29
-
-#define MMCHS_ISE         (MMCHS1BASE + 0x138)
-#define CC_SIGEN          BIT0
-#define TC_SIGEN          BIT1
-#define BWR_SIGEN         BIT4
-#define BRR_SIGEN         BIT5
-#define CTO_SIGEN         BIT16
-#define CCRC_SIGEN        BIT17
-#define CEB_SIGEN         BIT18
-#define CIE_SIGEN         BIT19
-#define DTO_SIGEN         BIT20
-#define DCRC_SIGEN        BIT21
-#define DEB_SIGEN         BIT22
-#define CERR_SIGEN        BIT28
-#define BADA_SIGEN        BIT29
-
-#define MMCHS_AC12        (MMCHS1BASE + 0x13C)
-
-#define MMCHS_CAPA        (MMCHS1BASE + 0x140)
-#define VS30              BIT25
-#define VS18              BIT26
-
-#define MMCHS_CUR_CAPA    (MMCHS1BASE + 0x148)
-#define MMCHS_REV         (MMCHS1BASE + 0x1FC)
-
-#define CMD0              INDX(0)
-#define CMD0_INT_EN       (CC_EN | CEB_EN)
-
-#define CMD1              (INDX(1) | RSP_TYPE_48BITS)
-#define CMD1_INT_EN       (CC_EN | CEB_EN | CTO_EN)
-
-#define CMD2              (INDX(2) | CCCE_ENABLE | RSP_TYPE_136BITS)
-#define CMD2_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define CMD3              (INDX(3) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
-#define CMD3_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define CMD5              (INDX(5) | RSP_TYPE_48BITS)
-#define CMD5_INT_EN       (CC_EN | CEB_EN | CTO_EN)
-
-#define CMD7              (INDX(7) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
-#define CMD7_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define CMD8              (INDX(8) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
-#define CMD8_INT_EN       (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-//Reserved(0)[12:31], Supply voltage(1)[11:8], check pattern(0xCE)[7:0] = 0x1CE
-#define CMD8_ARG          (0x0UL << 12 | BIT8 | 0xCEUL << 0)
-
-#define CMD9              (INDX(9) | CCCE_ENABLE | RSP_TYPE_136BITS)
-#define CMD9_INT_EN       (CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define CMD16             (INDX(16) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
-#define CMD16_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define CMD17             (INDX(17) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | DDIR_READ)
-#define CMD17_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BRR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
-
-#define CMD18             (INDX(18) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | MSBS_MULTBLK | DDIR_READ | BCE_ENABLE | DE_ENABLE)
-#define CMD18_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BRR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
-
-#define CMD23             (INDX(23) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
-#define CMD23_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define CMD24             (INDX(24) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | DDIR_WRITE)
-#define CMD24_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BWR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
-
-#define CMD25             (INDX(25) | DP_ENABLE | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS | MSBS_MULTBLK | DDIR_READ | BCE_ENABLE | DE_ENABLE)
-#define CMD25_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | TC_EN | BRR_EN | CTO_EN | DTO_EN | DCRC_EN | DEB_EN | CEB_EN)
-
-#define CMD55             (INDX(55) | CICE_ENABLE | CCCE_ENABLE | RSP_TYPE_48BITS)
-#define CMD55_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define ACMD41            (INDX(41) | RSP_TYPE_48BITS)
-#define ACMD41_INT_EN     (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#define ACMD6             (INDX(6) | RSP_TYPE_48BITS)
-#define ACMD6_INT_EN      (CERR_EN | CIE_EN | CCRC_EN | CC_EN | CEB_EN | CTO_EN)
-
-#endif //__OMAP3530SDIO_H__
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h
deleted file mode 100644
index 1588e1d4d91f..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530PadConfiguration.h
+++ /dev/null
@@ -1,303 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530_PAD_CONFIGURATION_H__
-#define __OMAP3530_PAD_CONFIGURATION_H__
-
-#define SYSTEM_CONTROL_MODULE_BASE  0x48002000
-
-//Pin definition
-#define SDRC_D0             (SYSTEM_CONTROL_MODULE_BASE + 0x030)
-#define SDRC_D1             (SYSTEM_CONTROL_MODULE_BASE + 0x032)
-#define SDRC_D2             (SYSTEM_CONTROL_MODULE_BASE + 0x034)
-#define SDRC_D3             (SYSTEM_CONTROL_MODULE_BASE + 0x036)
-#define SDRC_D4             (SYSTEM_CONTROL_MODULE_BASE + 0x038)
-#define SDRC_D5             (SYSTEM_CONTROL_MODULE_BASE + 0x03A)
-#define SDRC_D6             (SYSTEM_CONTROL_MODULE_BASE + 0x03C)
-#define SDRC_D7             (SYSTEM_CONTROL_MODULE_BASE + 0x03E)
-#define SDRC_D8             (SYSTEM_CONTROL_MODULE_BASE + 0x040)
-#define SDRC_D9             (SYSTEM_CONTROL_MODULE_BASE + 0x042)
-#define SDRC_D10            (SYSTEM_CONTROL_MODULE_BASE + 0x044)
-#define SDRC_D11            (SYSTEM_CONTROL_MODULE_BASE + 0x046)
-#define SDRC_D12            (SYSTEM_CONTROL_MODULE_BASE + 0x048)
-#define SDRC_D13            (SYSTEM_CONTROL_MODULE_BASE + 0x04A)
-#define SDRC_D14            (SYSTEM_CONTROL_MODULE_BASE + 0x04C)
-#define SDRC_D15            (SYSTEM_CONTROL_MODULE_BASE + 0x04E)
-#define SDRC_D16            (SYSTEM_CONTROL_MODULE_BASE + 0x050)
-#define SDRC_D17            (SYSTEM_CONTROL_MODULE_BASE + 0x052)
-#define SDRC_D18            (SYSTEM_CONTROL_MODULE_BASE + 0x054)
-#define SDRC_D19            (SYSTEM_CONTROL_MODULE_BASE + 0x056)
-#define SDRC_D20            (SYSTEM_CONTROL_MODULE_BASE + 0x058)
-#define SDRC_D21            (SYSTEM_CONTROL_MODULE_BASE + 0x05A)
-#define SDRC_D22            (SYSTEM_CONTROL_MODULE_BASE + 0x05C)
-#define SDRC_D23            (SYSTEM_CONTROL_MODULE_BASE + 0x05E)
-#define SDRC_D24            (SYSTEM_CONTROL_MODULE_BASE + 0x060)
-#define SDRC_D25            (SYSTEM_CONTROL_MODULE_BASE + 0x062)
-#define SDRC_D26            (SYSTEM_CONTROL_MODULE_BASE + 0x064)
-#define SDRC_D27            (SYSTEM_CONTROL_MODULE_BASE + 0x066)
-#define SDRC_D28            (SYSTEM_CONTROL_MODULE_BASE + 0x068)
-#define SDRC_D29            (SYSTEM_CONTROL_MODULE_BASE + 0x06A)
-#define SDRC_D30            (SYSTEM_CONTROL_MODULE_BASE + 0x06C)
-#define SDRC_D31            (SYSTEM_CONTROL_MODULE_BASE + 0x06E)
-#define SDRC_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x070)
-#define SDRC_DQS0           (SYSTEM_CONTROL_MODULE_BASE + 0x072)
-#define SDRC_CKE0           (SYSTEM_CONTROL_MODULE_BASE + 0x262)
-#define SDRC_CKE1           (SYSTEM_CONTROL_MODULE_BASE + 0x264)
-#define SDRC_DQS1           (SYSTEM_CONTROL_MODULE_BASE + 0x074)
-#define SDRC_DQS2           (SYSTEM_CONTROL_MODULE_BASE + 0x076)
-#define SDRC_DQS3           (SYSTEM_CONTROL_MODULE_BASE + 0x078)
-#define GPMC_A1             (SYSTEM_CONTROL_MODULE_BASE + 0x07A)
-#define GPMC_A2             (SYSTEM_CONTROL_MODULE_BASE + 0x07C)
-#define GPMC_A3             (SYSTEM_CONTROL_MODULE_BASE + 0x07E)
-#define GPMC_A4             (SYSTEM_CONTROL_MODULE_BASE + 0x080)
-#define GPMC_A5             (SYSTEM_CONTROL_MODULE_BASE + 0x082)
-#define GPMC_A6             (SYSTEM_CONTROL_MODULE_BASE + 0x084)
-#define GPMC_A7             (SYSTEM_CONTROL_MODULE_BASE + 0x086)
-#define GPMC_A8             (SYSTEM_CONTROL_MODULE_BASE + 0x088)
-#define GPMC_A9             (SYSTEM_CONTROL_MODULE_BASE + 0x08A)
-#define GPMC_A10            (SYSTEM_CONTROL_MODULE_BASE + 0x08C)
-#define GPMC_D0             (SYSTEM_CONTROL_MODULE_BASE + 0x08E)
-#define GPMC_D1             (SYSTEM_CONTROL_MODULE_BASE + 0x090)
-#define GPMC_D2             (SYSTEM_CONTROL_MODULE_BASE + 0x092)
-#define GPMC_D3             (SYSTEM_CONTROL_MODULE_BASE + 0x094)
-#define GPMC_D4             (SYSTEM_CONTROL_MODULE_BASE + 0x096)
-#define GPMC_D5             (SYSTEM_CONTROL_MODULE_BASE + 0x098)
-#define GPMC_D6             (SYSTEM_CONTROL_MODULE_BASE + 0x09A)
-#define GPMC_D7             (SYSTEM_CONTROL_MODULE_BASE + 0x09C)
-#define GPMC_D8             (SYSTEM_CONTROL_MODULE_BASE + 0x09E)
-#define GPMC_D9             (SYSTEM_CONTROL_MODULE_BASE + 0x0A0)
-#define GPMC_D10            (SYSTEM_CONTROL_MODULE_BASE + 0x0A2)
-#define GPMC_D11            (SYSTEM_CONTROL_MODULE_BASE + 0x0A4)
-#define GPMC_D12            (SYSTEM_CONTROL_MODULE_BASE + 0x0A6)
-#define GPMC_D13            (SYSTEM_CONTROL_MODULE_BASE + 0x0A8)
-#define GPMC_D14            (SYSTEM_CONTROL_MODULE_BASE + 0x0AA)
-#define GPMC_D15            (SYSTEM_CONTROL_MODULE_BASE + 0x0AC)
-#define GPMC_NCS0           (SYSTEM_CONTROL_MODULE_BASE + 0x0AE)
-#define GPMC_NCS1           (SYSTEM_CONTROL_MODULE_BASE + 0x0B0)
-#define GPMC_NCS2           (SYSTEM_CONTROL_MODULE_BASE + 0x0B2)
-#define GPMC_NCS3           (SYSTEM_CONTROL_MODULE_BASE + 0x0B4)
-#define GPMC_NCS4           (SYSTEM_CONTROL_MODULE_BASE + 0x0B6)
-#define GPMC_NCS5           (SYSTEM_CONTROL_MODULE_BASE + 0x0B8)
-#define GPMC_NCS6           (SYSTEM_CONTROL_MODULE_BASE + 0x0BA)
-#define GPMC_NCS7           (SYSTEM_CONTROL_MODULE_BASE + 0x0BC)
-#define GPMC_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x0BE)
-#define GPMC_NADV_ALE       (SYSTEM_CONTROL_MODULE_BASE + 0x0C0)
-#define GPMC_NOE            (SYSTEM_CONTROL_MODULE_BASE + 0x0C2)
-#define GPMC_NWE            (SYSTEM_CONTROL_MODULE_BASE + 0x0C4)
-#define GPMC_NBE0_CLE       (SYSTEM_CONTROL_MODULE_BASE + 0x0C6)
-#define GPMC_NBE1           (SYSTEM_CONTROL_MODULE_BASE + 0x0C8)
-#define GPMC_NWP            (SYSTEM_CONTROL_MODULE_BASE + 0x0CA)
-#define GPMC_WAIT0          (SYSTEM_CONTROL_MODULE_BASE + 0x0CC)
-#define GPMC_WAIT1          (SYSTEM_CONTROL_MODULE_BASE + 0x0CE)
-#define GPMC_WAIT2          (SYSTEM_CONTROL_MODULE_BASE + 0x0D0)
-#define GPMC_WAIT3          (SYSTEM_CONTROL_MODULE_BASE + 0x0D2)
-#define DSS_PCLK            (SYSTEM_CONTROL_MODULE_BASE + 0x0D4)
-#define DSS_HSYNC           (SYSTEM_CONTROL_MODULE_BASE + 0x0D6)
-#define DSS_PSYNC           (SYSTEM_CONTROL_MODULE_BASE + 0x0D8)
-#define DSS_ACBIAS          (SYSTEM_CONTROL_MODULE_BASE + 0x0DA)
-#define DSS_DATA0           (SYSTEM_CONTROL_MODULE_BASE + 0x0DC)
-#define DSS_DATA1           (SYSTEM_CONTROL_MODULE_BASE + 0x0DE)
-#define DSS_DATA2           (SYSTEM_CONTROL_MODULE_BASE + 0x0E0)
-#define DSS_DATA3           (SYSTEM_CONTROL_MODULE_BASE + 0x0E2)
-#define DSS_DATA4           (SYSTEM_CONTROL_MODULE_BASE + 0x0E4)
-#define DSS_DATA5           (SYSTEM_CONTROL_MODULE_BASE + 0x0E6)
-#define DSS_DATA6           (SYSTEM_CONTROL_MODULE_BASE + 0x0E8)
-#define DSS_DATA7           (SYSTEM_CONTROL_MODULE_BASE + 0x0EA)
-#define DSS_DATA8           (SYSTEM_CONTROL_MODULE_BASE + 0x0EC)
-#define DSS_DATA9           (SYSTEM_CONTROL_MODULE_BASE + 0x0EE)
-#define DSS_DATA10          (SYSTEM_CONTROL_MODULE_BASE + 0x0F0)
-#define DSS_DATA11          (SYSTEM_CONTROL_MODULE_BASE + 0x0F2)
-#define DSS_DATA12          (SYSTEM_CONTROL_MODULE_BASE + 0x0F4)
-#define DSS_DATA13          (SYSTEM_CONTROL_MODULE_BASE + 0x0F6)
-#define DSS_DATA14          (SYSTEM_CONTROL_MODULE_BASE + 0x0F8)
-#define DSS_DATA15          (SYSTEM_CONTROL_MODULE_BASE + 0x0FA)
-#define DSS_DATA16          (SYSTEM_CONTROL_MODULE_BASE + 0x0FC)
-#define DSS_DATA17          (SYSTEM_CONTROL_MODULE_BASE + 0x0FE)
-#define DSS_DATA18          (SYSTEM_CONTROL_MODULE_BASE + 0x100)
-#define DSS_DATA19          (SYSTEM_CONTROL_MODULE_BASE + 0x102)
-#define DSS_DATA20          (SYSTEM_CONTROL_MODULE_BASE + 0x104)
-#define DSS_DATA21          (SYSTEM_CONTROL_MODULE_BASE + 0x106)
-#define DSS_DATA22          (SYSTEM_CONTROL_MODULE_BASE + 0x108)
-#define DSS_DATA23          (SYSTEM_CONTROL_MODULE_BASE + 0x10A)
-#define CAM_HS              (SYSTEM_CONTROL_MODULE_BASE + 0x10C)
-#define CAM_VS              (SYSTEM_CONTROL_MODULE_BASE + 0x10E)
-#define CAM_XCLKA           (SYSTEM_CONTROL_MODULE_BASE + 0x110)
-#define CAM_PCLK            (SYSTEM_CONTROL_MODULE_BASE + 0x112)
-#define CAM_FLD             (SYSTEM_CONTROL_MODULE_BASE + 0x114)
-#define CAM_D0              (SYSTEM_CONTROL_MODULE_BASE + 0x116)
-#define CAM_D1              (SYSTEM_CONTROL_MODULE_BASE + 0x118)
-#define CAM_D2              (SYSTEM_CONTROL_MODULE_BASE + 0x11A)
-#define CAM_D3              (SYSTEM_CONTROL_MODULE_BASE + 0x11C)
-#define CAM_D4              (SYSTEM_CONTROL_MODULE_BASE + 0x11E)
-#define CAM_D5              (SYSTEM_CONTROL_MODULE_BASE + 0x120)
-#define CAM_D6              (SYSTEM_CONTROL_MODULE_BASE + 0x122)
-#define CAM_D7              (SYSTEM_CONTROL_MODULE_BASE + 0x124)
-#define CAM_D8              (SYSTEM_CONTROL_MODULE_BASE + 0x126)
-#define CAM_D9              (SYSTEM_CONTROL_MODULE_BASE + 0x128)
-#define CAM_D10             (SYSTEM_CONTROL_MODULE_BASE + 0x12A)
-#define CAM_D11             (SYSTEM_CONTROL_MODULE_BASE + 0x12C)
-#define CAM_XCLKB           (SYSTEM_CONTROL_MODULE_BASE + 0x12E)
-#define CAM_WEN             (SYSTEM_CONTROL_MODULE_BASE + 0x130)
-#define CAM_STROBE          (SYSTEM_CONTROL_MODULE_BASE + 0x132)
-#define CSI2_DX0            (SYSTEM_CONTROL_MODULE_BASE + 0x134)
-#define CSI2_DY0            (SYSTEM_CONTROL_MODULE_BASE + 0x136)
-#define CSI2_DX1            (SYSTEM_CONTROL_MODULE_BASE + 0x138)
-#define CSI2_DY1            (SYSTEM_CONTROL_MODULE_BASE + 0x13A)
-#define MCBSP2_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x13C)
-#define MCBSP2_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x13E)
-#define MCBSP2_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x140)
-#define MCBSP2_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x142)
-#define MMC1_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x144)
-#define MMC1_CMD            (SYSTEM_CONTROL_MODULE_BASE + 0x146)
-#define MMC1_DAT0           (SYSTEM_CONTROL_MODULE_BASE + 0x148)
-#define MMC1_DAT1           (SYSTEM_CONTROL_MODULE_BASE + 0x14A)
-#define MMC1_DAT2           (SYSTEM_CONTROL_MODULE_BASE + 0x14C)
-#define MMC1_DAT3           (SYSTEM_CONTROL_MODULE_BASE + 0x14E)
-#define MMC1_DAT4           (SYSTEM_CONTROL_MODULE_BASE + 0x150)
-#define MMC1_DAT5           (SYSTEM_CONTROL_MODULE_BASE + 0x152)
-#define MMC1_DAT6           (SYSTEM_CONTROL_MODULE_BASE + 0x154)
-#define MMC1_DAT7           (SYSTEM_CONTROL_MODULE_BASE + 0x156)
-#define MMC2_CLK            (SYSTEM_CONTROL_MODULE_BASE + 0x158)
-#define MMC2_CMD            (SYSTEM_CONTROL_MODULE_BASE + 0x15A)
-#define MMC2_DAT0           (SYSTEM_CONTROL_MODULE_BASE + 0x15C)
-#define MMC2_DAT1           (SYSTEM_CONTROL_MODULE_BASE + 0x15E)
-#define MMC2_DAT2           (SYSTEM_CONTROL_MODULE_BASE + 0x160)
-#define MMC2_DAT3           (SYSTEM_CONTROL_MODULE_BASE + 0x162)
-#define MMC2_DAT4           (SYSTEM_CONTROL_MODULE_BASE + 0x164)
-#define MMC2_DAT5           (SYSTEM_CONTROL_MODULE_BASE + 0x166)
-#define MMC2_DAT6           (SYSTEM_CONTROL_MODULE_BASE + 0x168)
-#define MMC2_DAT7           (SYSTEM_CONTROL_MODULE_BASE + 0x16A)
-#define MCBSP3_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x16C)
-#define MCBSP3_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x16E)
-#define MCBSP3_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x170)
-#define MCBSP3_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x172)
-#define UART2_CTS           (SYSTEM_CONTROL_MODULE_BASE + 0x174)
-#define UART2_RTS           (SYSTEM_CONTROL_MODULE_BASE + 0x176)
-#define UART2_TX            (SYSTEM_CONTROL_MODULE_BASE + 0x178)
-#define UART2_RX            (SYSTEM_CONTROL_MODULE_BASE + 0x17A)
-#define UART1_TX            (SYSTEM_CONTROL_MODULE_BASE + 0x17C)
-#define UART1_RTS           (SYSTEM_CONTROL_MODULE_BASE + 0x17E)
-#define UART1_CTS           (SYSTEM_CONTROL_MODULE_BASE + 0x180)
-#define UART1_RX            (SYSTEM_CONTROL_MODULE_BASE + 0x182)
-#define MCBSP4_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x184)
-#define MCBSP4_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x186)
-#define MCBSP4_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x188)
-#define MCBSP4_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x18A)
-#define MCBSP1_CLKR         (SYSTEM_CONTROL_MODULE_BASE + 0x18C)
-#define MCBSP1_FSR          (SYSTEM_CONTROL_MODULE_BASE + 0x18E)
-#define MCBSP1_DX           (SYSTEM_CONTROL_MODULE_BASE + 0x190)
-#define MCBSP1_DR           (SYSTEM_CONTROL_MODULE_BASE + 0x192)
-#define MCBSP1_CLKS         (SYSTEM_CONTROL_MODULE_BASE + 0x194)
-#define MCBSP1_FSX          (SYSTEM_CONTROL_MODULE_BASE + 0x196)
-#define MCBSP1_CLKX         (SYSTEM_CONTROL_MODULE_BASE + 0x198)
-#define UART3_CTS_RCTX      (SYSTEM_CONTROL_MODULE_BASE + 0x19A)
-#define UART3_RTS_SD        (SYSTEM_CONTROL_MODULE_BASE + 0x19C)
-#define UART3_RX_IRRX       (SYSTEM_CONTROL_MODULE_BASE + 0x19E)
-#define UART3_TX_IRTX       (SYSTEM_CONTROL_MODULE_BASE + 0x1A0)
-#define HSUSB0_CLK          (SYSTEM_CONTROL_MODULE_BASE + 0x1A2)
-#define HSUSB0_STP          (SYSTEM_CONTROL_MODULE_BASE + 0x1A4)
-#define HSUSB0_DIR          (SYSTEM_CONTROL_MODULE_BASE + 0x1A6)
-#define HSUSB0_NXT          (SYSTEM_CONTROL_MODULE_BASE + 0x1A8)
-#define HSUSB0_DATA0        (SYSTEM_CONTROL_MODULE_BASE + 0x1AA)
-#define HSUSB0_DATA1        (SYSTEM_CONTROL_MODULE_BASE + 0x1AC)
-#define HSUSB0_DATA2        (SYSTEM_CONTROL_MODULE_BASE + 0x1AE)
-#define HSUSB0_DATA3        (SYSTEM_CONTROL_MODULE_BASE + 0x1B0)
-#define HSUSB0_DATA4        (SYSTEM_CONTROL_MODULE_BASE + 0x1B2)
-#define HSUSB0_DATA5        (SYSTEM_CONTROL_MODULE_BASE + 0x1B4)
-#define HSUSB0_DATA6        (SYSTEM_CONTROL_MODULE_BASE + 0x1B6)
-#define HSUSB0_DATA7        (SYSTEM_CONTROL_MODULE_BASE + 0x1B8)
-#define I2C1_SCL            (SYSTEM_CONTROL_MODULE_BASE + 0x1BA)
-#define I2C1_SDA            (SYSTEM_CONTROL_MODULE_BASE + 0x1BC)
-#define I2C2_SCL            (SYSTEM_CONTROL_MODULE_BASE + 0x1BE)
-#define I2C2_SDA            (SYSTEM_CONTROL_MODULE_BASE + 0x1C0)
-#define I2C3_SCL            (SYSTEM_CONTROL_MODULE_BASE + 0x1C2)
-#define I2C3_SDA            (SYSTEM_CONTROL_MODULE_BASE + 0x1C4)
-#define HDQ_SIO             (SYSTEM_CONTROL_MODULE_BASE + 0x1C6)
-#define MCSPI1_CLK          (SYSTEM_CONTROL_MODULE_BASE + 0x1C8)
-#define MCSPI1_SIMO         (SYSTEM_CONTROL_MODULE_BASE + 0x1CA)
-#define MCSPI1_SOMI         (SYSTEM_CONTROL_MODULE_BASE + 0x1CC)
-#define MCSPI1_CS0          (SYSTEM_CONTROL_MODULE_BASE + 0x1CE)
-#define MCSPI1_CS1          (SYSTEM_CONTROL_MODULE_BASE + 0x1D0)
-#define MCSPI1_CS2          (SYSTEM_CONTROL_MODULE_BASE + 0x1D2)
-#define MCSPI1_CS3          (SYSTEM_CONTROL_MODULE_BASE + 0x1D4)
-#define MCSPI2_CLK          (SYSTEM_CONTROL_MODULE_BASE + 0x1D6)
-#define MCSPI2_SIMO         (SYSTEM_CONTROL_MODULE_BASE + 0x1D8)
-#define MCSPI2_SOMI         (SYSTEM_CONTROL_MODULE_BASE + 0x1DA)
-#define MCSPI2_CS0          (SYSTEM_CONTROL_MODULE_BASE + 0x1DC)
-#define MCSPI2_CS1          (SYSTEM_CONTROL_MODULE_BASE + 0x1DE)
-#define SYS_NIRQ            (SYSTEM_CONTROL_MODULE_BASE + 0x1E0)
-#define SYS_CLKOUT2         (SYSTEM_CONTROL_MODULE_BASE + 0x1E2)
-#define ETK_CLK             (SYSTEM_CONTROL_MODULE_BASE + 0x5D8)
-#define ETK_CTL             (SYSTEM_CONTROL_MODULE_BASE + 0x5DA)
-#define ETK_D0              (SYSTEM_CONTROL_MODULE_BASE + 0x5DC)
-#define ETK_D1              (SYSTEM_CONTROL_MODULE_BASE + 0x5DE)
-#define ETK_D2              (SYSTEM_CONTROL_MODULE_BASE + 0x5E0)
-#define ETK_D3              (SYSTEM_CONTROL_MODULE_BASE + 0x5E2)
-#define ETK_D4              (SYSTEM_CONTROL_MODULE_BASE + 0x5E4)
-#define ETK_D5              (SYSTEM_CONTROL_MODULE_BASE + 0x5E6)
-#define ETK_D6              (SYSTEM_CONTROL_MODULE_BASE + 0x5E8)
-#define ETK_D7              (SYSTEM_CONTROL_MODULE_BASE + 0x5EA)
-#define ETK_D8              (SYSTEM_CONTROL_MODULE_BASE + 0x5EC)
-#define ETK_D9              (SYSTEM_CONTROL_MODULE_BASE + 0x5EE)
-#define ETK_D10             (SYSTEM_CONTROL_MODULE_BASE + 0x5F0)
-#define ETK_D11             (SYSTEM_CONTROL_MODULE_BASE + 0x5F2)
-#define ETK_D12             (SYSTEM_CONTROL_MODULE_BASE + 0x5F4)
-#define ETK_D13             (SYSTEM_CONTROL_MODULE_BASE + 0x5F6)
-#define ETK_D14             (SYSTEM_CONTROL_MODULE_BASE + 0x5F8)
-#define ETK_D15             (SYSTEM_CONTROL_MODULE_BASE + 0x5FA)
-#define SYS_BOOT0           (SYSTEM_CONTROL_MODULE_BASE + 0xA0A)
-#define SYS_BOOT1           (SYSTEM_CONTROL_MODULE_BASE + 0xA0C)
-#define SYS_BOOT3           (SYSTEM_CONTROL_MODULE_BASE + 0xA10)
-#define SYS_BOOT4           (SYSTEM_CONTROL_MODULE_BASE + 0xA12)
-#define SYS_BOOT5           (SYSTEM_CONTROL_MODULE_BASE + 0xA14)
-#define SYS_BOOT6           (SYSTEM_CONTROL_MODULE_BASE + 0xA16)
-
-//Mux modes
-#define MUXMODE0            (0x0UL)
-#define MUXMODE1            (0x1UL)
-#define MUXMODE2            (0x2UL)
-#define MUXMODE3            (0x3UL)
-#define MUXMODE4            (0x4UL)
-#define MUXMODE5            (0x5UL)
-#define MUXMODE6            (0x6UL)
-#define MUXMODE7            (0x7UL)
-
-//Pad configuration register.
-#define PAD_CONFIG_MASK      (0xFFFFUL)
-#define MUXMODE_OFFSET       0
-#define MUXMODE_MASK         (0x7UL << MUXMODE_OFFSET)
-#define PULL_CONFIG_OFFSET   3
-#define PULL_CONFIG_MASK     (0x3UL << PULL_CONFIG_OFFSET)
-#define INPUTENABLE_OFFSET   8
-#define INPUTENABLE_MASK     (0x1UL << INPUTENABLE_OFFSET)
-#define OFFMODE_VALUE_OFFSET 9
-#define OFFMODE_VALUE_MASK   (0x1FUL << OFFMODE_VALUE_OFFSET)
-#define WAKEUP_OFFSET        14
-#define WAKEUP_MASK          (0x2UL << WAKEUP_OFFSET)
-
-#define PULL_DOWN_SELECTED   ((0x0UL << 1) | BIT0)
-#define PULL_UP_SELECTED     (BIT1 | BIT0)
-#define PULL_DISABLED        (0x0UL << 0)
-
-#define OUTPUT               (0x0UL) //Pin is configured in output only mode.
-#define INPUT                (0x1UL) //Pin is configured in bi-directional mode.
-
-typedef struct {
-  UINTN   Pin;
-  UINTN   MuxMode;
-  UINTN   PullConfig;
-  UINTN   InputEnable;
-} PAD_CONFIGURATION;
-
-#endif //__OMAP3530_PAD_CONFIGURATION_H__
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h
deleted file mode 100644
index 1871dbb12238..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Prcm.h
+++ /dev/null
@@ -1,165 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530PRCM_H__
-#define __OMAP3530PRCM_H__
-
-#define CM_FCLKEN1_CORE   (0x48004A00)
-#define CM_FCLKEN3_CORE   (0x48004A08)
-#define CM_ICLKEN1_CORE   (0x48004A10)
-#define CM_ICLKEN3_CORE   (0x48004A18)
-#define CM_CLKEN2_PLL     (0x48004D04)
-#define CM_CLKSEL4_PLL    (0x48004D4C)
-#define CM_CLKSEL5_PLL    (0x48004D50)
-#define CM_FCLKEN_USBHOST  (0x48005400)
-#define CM_ICLKEN_USBHOST  (0x48005410)
-#define CM_CLKSTST_USBHOST (0x4800544c)
-
-//Wakeup clock defintion
-#define CM_FCLKEN_WKUP    (0x48004C00)
-#define CM_ICLKEN_WKUP    (0x48004C10)
-
-//Peripheral clock definition
-#define CM_FCLKEN_PER     (0x48005000)
-#define CM_ICLKEN_PER     (0x48005010)
-#define CM_CLKSEL_PER     (0x48005040)
-
-//Reset management definition
-#define PRM_RSTCTRL       (0x48307250)
-#define PRM_RSTST         (0x48307258)
-
-//CORE clock
-#define CM_FCLKEN1_CORE_EN_I2C1_MASK    BIT15
-#define CM_FCLKEN1_CORE_EN_I2C1_DISABLE (0UL << 15)
-#define CM_FCLKEN1_CORE_EN_I2C1_ENABLE  BIT15
-
-#define CM_ICLKEN1_CORE_EN_I2C1_MASK    BIT15
-#define CM_ICLKEN1_CORE_EN_I2C1_DISABLE (0UL << 15)
-#define CM_ICLKEN1_CORE_EN_I2C1_ENABLE  BIT15
-
-#define CM_FCLKEN1_CORE_EN_MMC1_MASK    BIT24
-#define CM_FCLKEN1_CORE_EN_MMC1_DISABLE (0UL << 24)
-#define CM_FCLKEN1_CORE_EN_MMC1_ENABLE  BIT24
-
-#define CM_FCLKEN3_CORE_EN_USBTLL_MASK    BIT2
-#define CM_FCLKEN3_CORE_EN_USBTLL_DISABLE (0UL << 2)
-#define CM_FCLKEN3_CORE_EN_USBTLL_ENABLE  BIT2
-
-#define CM_ICLKEN1_CORE_EN_MMC1_MASK    BIT24
-#define CM_ICLKEN1_CORE_EN_MMC1_DISABLE (0UL << 24)
-#define CM_ICLKEN1_CORE_EN_MMC1_ENABLE  BIT24
-
-#define CM_ICLKEN3_CORE_EN_USBTLL_MASK    BIT2
-#define CM_ICLKEN3_CORE_EN_USBTLL_DISABLE (0UL << 2)
-#define CM_ICLKEN3_CORE_EN_USBTLL_ENABLE  BIT2
-
-#define CM_CLKEN_FREQSEL_075_100        (0x03UL << 4)
-#define CM_CLKEN_ENABLE                 (7UL << 0)
-
-#define CM_CLKSEL_PLL_MULT(x)           (((x) & 0x07FF) << 8)
-#define CM_CLKSEL_PLL_DIV(x)            ((((x) - 1) & 0x7F) << 0)
-
-#define CM_CLKSEL_DIV_120M(x)           (((x) & 0x1F) << 0)
-
-#define CM_FCLKEN_USBHOST_EN_USBHOST2_MASK    BIT1
-#define CM_FCLKEN_USBHOST_EN_USBHOST2_DISABLE (0UL << 1)
-#define CM_FCLKEN_USBHOST_EN_USBHOST2_ENABLE  BIT1
-
-#define CM_FCLKEN_USBHOST_EN_USBHOST1_MASK    BIT0
-#define CM_FCLKEN_USBHOST_EN_USBHOST1_DISABLE (0UL << 0)
-#define CM_FCLKEN_USBHOST_EN_USBHOST1_ENABLE  BIT0
-
-#define CM_ICLKEN_USBHOST_EN_USBHOST_MASK     BIT0
-#define CM_ICLKEN_USBHOST_EN_USBHOST_DISABLE  (0UL << 0)
-#define CM_ICLKEN_USBHOST_EN_USBHOST_ENABLE   BIT0
-
-//Wakeup functional clock
-#define CM_FCLKEN_WKUP_EN_GPIO1_DISABLE       (0UL << 3)
-#define CM_FCLKEN_WKUP_EN_GPIO1_ENABLE        BIT3
-
-#define CM_FCLKEN_WKUP_EN_WDT2_DISABLE        (0UL << 5)
-#define CM_FCLKEN_WKUP_EN_WDT2_ENABLE         BIT5
-
-//Wakeup interface clock
-#define CM_ICLKEN_WKUP_EN_GPIO1_DISABLE       (0UL << 3)
-#define CM_ICLKEN_WKUP_EN_GPIO1_ENABLE        BIT3
-
-#define CM_ICLKEN_WKUP_EN_WDT2_DISABLE        (0UL << 5)
-#define CM_ICLKEN_WKUP_EN_WDT2_ENABLE         BIT5
-
-//Peripheral functional clock
-#define CM_FCLKEN_PER_EN_GPT3_DISABLE         (0UL << 4)
-#define CM_FCLKEN_PER_EN_GPT3_ENABLE          BIT4
-
-#define CM_FCLKEN_PER_EN_GPT4_DISABLE         (0UL << 5)
-#define CM_FCLKEN_PER_EN_GPT4_ENABLE          BIT5
-
-#define CM_FCLKEN_PER_EN_UART3_DISABLE        (0UL << 11)
-#define CM_FCLKEN_PER_EN_UART3_ENABLE         BIT11
-
-#define CM_FCLKEN_PER_EN_GPIO2_DISABLE        (0UL << 13)
-#define CM_FCLKEN_PER_EN_GPIO2_ENABLE         BIT13
-
-#define CM_FCLKEN_PER_EN_GPIO3_DISABLE        (0UL << 14)
-#define CM_FCLKEN_PER_EN_GPIO3_ENABLE         BIT14
-
-#define CM_FCLKEN_PER_EN_GPIO4_DISABLE        (0UL << 15)
-#define CM_FCLKEN_PER_EN_GPIO4_ENABLE         BIT15
-
-#define CM_FCLKEN_PER_EN_GPIO5_DISABLE        (0UL << 16)
-#define CM_FCLKEN_PER_EN_GPIO5_ENABLE         BIT16
-
-#define CM_FCLKEN_PER_EN_GPIO6_DISABLE        (0UL << 17)
-#define CM_FCLKEN_PER_EN_GPIO6_ENABLE         BIT17
-
-//Peripheral interface clock
-#define CM_ICLKEN_PER_EN_GPT3_DISABLE         (0UL << 4)
-#define CM_ICLKEN_PER_EN_GPT3_ENABLE          BIT4
-
-#define CM_ICLKEN_PER_EN_GPT4_DISABLE         (0UL << 5)
-#define CM_ICLKEN_PER_EN_GPT4_ENABLE          BIT5
-
-#define CM_ICLKEN_PER_EN_UART3_DISABLE        (0UL << 11)
-#define CM_ICLKEN_PER_EN_UART3_ENABLE         BIT11
-
-#define CM_ICLKEN_PER_EN_GPIO2_DISABLE        (0UL << 13)
-#define CM_ICLKEN_PER_EN_GPIO2_ENABLE         BIT13
-
-#define CM_ICLKEN_PER_EN_GPIO3_DISABLE        (0UL << 14)
-#define CM_ICLKEN_PER_EN_GPIO3_ENABLE         BIT14
-
-#define CM_ICLKEN_PER_EN_GPIO4_DISABLE        (0UL << 15)
-#define CM_ICLKEN_PER_EN_GPIO4_ENABLE         BIT15
-
-#define CM_ICLKEN_PER_EN_GPIO5_DISABLE        (0UL << 16)
-#define CM_ICLKEN_PER_EN_GPIO5_ENABLE         BIT16
-
-#define CM_ICLKEN_PER_EN_GPIO6_DISABLE        (0UL << 17)
-#define CM_ICLKEN_PER_EN_GPIO6_ENABLE         BIT17
-
-//Timer source clock selection
-#define CM_CLKSEL_PER_CLKSEL_GPT3_32K         (0UL << 1)
-#define CM_CLKSEL_PER_CLKSEL_GPT3_SYS         BIT1
-
-#define CM_CLKSEL_PER_CLKSEL_GPT4_32K         (0UL << 2)
-#define CM_CLKSEL_PER_CLKSEL_GPT4_SYS         BIT2
-
-//Reset management (Global and Cold reset)
-#define RST_GS            BIT1
-#define RST_DPLL3         BIT2
-#define GLOBAL_SW_RST     BIT1
-#define GLOBAL_COLD_RST   (0x0UL << 0)
-
-#endif // __OMAP3530PRCM_H__
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h
deleted file mode 100644
index d66da8dc0446..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Timer.h
+++ /dev/null
@@ -1,82 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530TIMER_H__
-#define __OMAP3530TIMER_H__
-
-#define GPTIMER1_BASE   (0x48313000)
-#define GPTIMER2_BASE   (0x49032000)
-#define GPTIMER3_BASE   (0x49034000)
-#define GPTIMER4_BASE   (0x49036000)
-#define GPTIMER5_BASE   (0x49038000)
-#define GPTIMER6_BASE   (0x4903A000)
-#define GPTIMER7_BASE   (0x4903C000)
-#define GPTIMER8_BASE   (0x4903E000)
-#define GPTIMER9_BASE   (0x49040000)
-#define GPTIMER10_BASE  (0x48086000)
-#define GPTIMER11_BASE  (0x48088000)
-#define GPTIMER12_BASE  (0x48304000)
-#define WDTIMER2_BASE   (0x48314000)
-
-#define GPTIMER_TIOCP_CFG (0x0010)
-#define GPTIMER_TISTAT    (0x0014)
-#define GPTIMER_TISR      (0x0018)
-#define GPTIMER_TIER      (0x001C)
-#define GPTIMER_TWER      (0x0020)
-#define GPTIMER_TCLR      (0x0024)
-#define GPTIMER_TCRR      (0x0028)
-#define GPTIMER_TLDR      (0x002C)
-#define GPTIMER_TTGR      (0x0030)
-#define GPTIMER_TWPS      (0x0034)
-#define GPTIMER_TMAR      (0x0038)
-#define GPTIMER_TCAR1     (0x003C)
-#define GPTIMER_TSICR     (0x0040)
-#define GPTIMER_TCAR2     (0x0044)
-#define GPTIMER_TPIR      (0x0048)
-#define GPTIMER_TNIR      (0x004C)
-#define GPTIMER_TCVR      (0x0050)
-#define GPTIMER_TOCR      (0x0054)
-#define GPTIMER_TOWR      (0x0058)
-
-#define WSPR              (0x048)
-
-#define TISR_TCAR_IT_FLAG_MASK  BIT2
-#define TISR_OVF_IT_FLAG_MASK   BIT1
-#define TISR_MAT_IT_FLAG_MASK   BIT0
-#define TISR_ALL_INTERRUPT_MASK (TISR_TCAR_IT_FLAG_MASK | TISR_OVF_IT_FLAG_MASK | TISR_MAT_IT_FLAG_MASK)
-
-#define TISR_TCAR_IT_FLAG_NOT_PENDING   (0UL << 2)
-#define TISR_OVF_IT_FLAG_NOT_PENDING    (0UL << 1)
-#define TISR_MAT_IT_FLAG_NOT_PENDING    (0UL << 0)
-#define TISR_NO_INTERRUPTS_PENDING      (TISR_TCAR_IT_FLAG_NOT_PENDING | TISR_OVF_IT_FLAG_NOT_PENDING | TISR_MAT_IT_FLAG_NOT_PENDING)
-
-#define TISR_TCAR_IT_FLAG_CLEAR BIT2
-#define TISR_OVF_IT_FLAG_CLEAR  BIT1
-#define TISR_MAT_IT_FLAG_CLEAR  BIT0
-#define TISR_CLEAR_ALL          (TISR_TCAR_IT_FLAG_CLEAR | TISR_OVF_IT_FLAG_CLEAR | TISR_MAT_IT_FLAG_CLEAR)
-
-#define TCLR_AR_AUTORELOAD      BIT1
-#define TCLR_AR_ONESHOT         (0UL << 1)
-#define TCLR_ST_ON              BIT0
-#define TCLR_ST_OFF             (0UL << 0)
-
-#define TIER_TCAR_IT_ENABLE     (BIT2
-#define TIER_TCAR_IT_DISABLE    (0UL << 2)
-#define TIER_OVF_IT_ENABLE      BIT1
-#define TIER_OVF_IT_DISABLE     (0UL << 1)
-#define TIER_MAT_IT_ENABLE      BIT0
-#define TIER_MAT_IT_DISABLE     (0UL << 0)
-
-#endif // __OMAP3530TIMER_H__
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h
deleted file mode 100644
index 62cbe3070edc..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Uart.h
+++ /dev/null
@@ -1,54 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530UART_H__
-#define __OMAP3530UART_H__
-
-#define UART1_BASE  (0x4806A000)
-#define UART2_BASE  (0x4806C000)
-#define UART3_BASE  (0x49020000)
-
-#define UART_DLL_REG  (0x0000)
-#define UART_RBR_REG  (0x0000)
-#define UART_THR_REG  (0x0000)
-#define UART_DLH_REG  (0x0004)
-#define UART_FCR_REG  (0x0008)
-#define UART_LCR_REG  (0x000C)
-#define UART_MCR_REG  (0x0010)
-#define UART_LSR_REG  (0x0014)
-#define UART_MDR1_REG (0x0020)
-
-#define UART_FCR_TX_FIFO_CLEAR          BIT2
-#define UART_FCR_RX_FIFO_CLEAR          BIT1
-#define UART_FCR_FIFO_ENABLE            BIT0
-
-#define UART_LCR_DIV_EN_ENABLE          BIT7
-#define UART_LCR_DIV_EN_DISABLE         (0UL << 7)
-#define UART_LCR_CHAR_LENGTH_8          (BIT1 | BIT0)
-
-#define UART_MCR_RTS_FORCE_ACTIVE       BIT1
-#define UART_MCR_DTR_FORCE_ACTIVE       BIT0
-
-#define UART_LSR_TX_FIFO_E_MASK         BIT5
-#define UART_LSR_TX_FIFO_E_NOT_EMPTY    (0UL << 5)
-#define UART_LSR_TX_FIFO_E_EMPTY        BIT5
-#define UART_LSR_RX_FIFO_E_MASK         BIT0
-#define UART_LSR_RX_FIFO_E_NOT_EMPTY    BIT0
-#define UART_LSR_RX_FIFO_E_EMPTY        (0UL << 0)
-
-// BIT2:BIT0
-#define UART_MDR1_MODE_SELECT_DISABLE   (7UL)
-#define UART_MDR1_MODE_SELECT_UART_16X  (0UL)
-
-#endif // __OMAP3530UART_H__
diff --git a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h b/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h
deleted file mode 100644
index 5d64cafc577d..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/Omap3530/Omap3530Usb.h
+++ /dev/null
@@ -1,48 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __OMAP3530USB_H__
-#define __OMAP3530USB_H__
-
-#define USB_BASE            (0x48060000)
-
-#define UHH_SYSCONFIG       (USB_BASE + 0x4010)
-#define UHH_HOSTCONFIG      (USB_BASE + 0x4040)
-#define UHH_SYSSTATUS       (USB_BASE + 0x4014)
-
-#define USB_EHCI_HCCAPBASE  (USB_BASE + 0x4800)
-
-#define UHH_SYSCONFIG_MIDLEMODE_NO_STANDBY  BIT12
-#define UHH_SYSCONFIG_CLOCKACTIVITY_ON      BIT8
-#define UHH_SYSCONFIG_SIDLEMODE_NO_STANDBY  BIT3
-#define UHH_SYSCONFIG_ENAWAKEUP_ENABLE      BIT2
-#define UHH_SYSCONFIG_SOFTRESET             BIT1
-#define UHH_SYSCONFIG_AUTOIDLE_ALWAYS_RUN   (0UL <<  0)
-
-#define UHH_HOSTCONFIG_P3_CONNECT_STATUS_DISCONNECT (0UL << 10)
-#define UHH_HOSTCONFIG_P2_CONNECT_STATUS_DISCONNECT (0UL <<  9)
-#define UHH_HOSTCONFIG_P1_CONNECT_STATUS_DISCONNECT (0UL <<  8)
-#define UHH_HOSTCONFIG_ENA_INCR_ALIGN_DISABLE       (0UL <<  5)
-#define UHH_HOSTCONFIG_ENA_INCR16_ENABLE            BIT4
-#define UHH_HOSTCONFIG_ENA_INCR8_ENABLE             BIT3
-#define UHH_HOSTCONFIG_ENA_INCR4_ENABLE             BIT2
-#define UHH_HOSTCONFIG_AUTOPPD_ON_OVERCUR_EN_ON     (0UL <<  1)
-#define UHH_HOSTCONFIG_P1_ULPI_BYPASS_ULPI_MODE     (0UL <<  0)
-
-#define UHH_SYSSTATUS_RESETDONE                (BIT0 | BIT1 | BIT2)
-
-#endif // __OMAP3530USB_H__
-
-
-
diff --git a/Chips/TexasInstruments/Omap35xx/Include/TPS65950.h b/Chips/TexasInstruments/Omap35xx/Include/TPS65950.h
deleted file mode 100644
index 1db8b6db4617..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Include/TPS65950.h
+++ /dev/null
@@ -1,80 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __TPS65950_H__
-#define __TPS65950_H__
-
-#define EXTERNAL_DEVICE_REGISTER_TO_SLAVE_ADDRESS(x)     (((x) >> 8) & 0xFF)
-#define EXTERNAL_DEVICE_REGISTER_TO_REGISTER(x)          ((x) & 0xFF)
-#define EXTERNAL_DEVICE_REGISTER(SlaveAddress, Register) (((SlaveAddress) & 0xFF) << 8 | ((Register) & 0xFF))
-
-// I2C Address group
-#define I2C_ADDR_GRP_ID1      0x48
-#define I2C_ADDR_GRP_ID2      0x49
-#define I2C_ADDR_GRP_ID3      0x4A
-#define I2C_ADDR_GRP_ID4      0x4B
-#define I2C_ADDR_GRP_ID5      0x12
-
-// MMC definitions.
-#define VMMC1_DEV_GRP         0x82
-#define DEV_GRP_P1            BIT5
-
-#define VMMC1_DEDICATED_REG   0x85
-#define VSEL_1_85V            0x0
-#define VSEL_2_85V            0x1
-#define VSEL_3_00V            0x2
-#define VSEL_3_15V            0x3
-
-#define TPS65950_GPIO_CTRL    0xaa  //I2C_ADDR_GRP_ID2
-#define CARD_DETECT_ENABLE    (BIT2 | BIT0) // GPIO ON + GPIO CD1 enabled
-
-
-#define GPIODATAIN1           0x98  //I2C_ADDR_GRP_ID2
-#define CARD_DETECT_BIT       BIT0
-
-// LEDEN register
-#define LEDEN                 0xEE
-#define LEDAON                BIT0
-#define LEDBON                BIT1
-#define LEDAPWM               BIT4
-#define LEDBPWM               BIT5
-
-// RTC registers
-#define SECONDS_REG           0x1C
-#define MINUTES_REG           0x1D
-#define HOURS_REG             0x1E
-#define DAYS_REG              0x1F
-#define MONTHS_REG            0x20
-#define YEARS_REG             0x21
-#define WEEKS_REG             0x22
-#define RTC_CTRL_REG          0x29
-
-// USB PHY power
-#define VAUX2_DEDICATED       0x79
-#define VAUX2_DEV_GRP         0x76
-
-#define VAUX_DEV_GRP_NONE     0x00
-#define VAUX_DEV_GRP_P1       0x20
-#define VAUX_DEV_GRP_P2       0x40
-#define VAUX_DEV_GRP_P3       0x80
-#define VAUX_DEDICATED_18V    0x05
-
-// Display subsystem
-#define VPLL2_DEDICATED       0x91
-#define VPLL2_DEV_GRP         0x8E
-
-#define GPIODATADIR1          0x9B
-#define SETGPIODATAOUT1       0xA4
-
-#endif //__TPS65950_H__
diff --git a/Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c b/Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c
deleted file mode 100644
index 09e22b5921b0..000000000000
--- a/Chips/TexasInstruments/Omap35xx/InterruptDxe/HardwareInterrupt.c
+++ /dev/null
@@ -1,357 +0,0 @@ 
-/** @file
-  Handle OMAP35xx interrupt controller
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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.
-
-**/
-#include <PiDxe.h>
-
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IoLib.h>
-#include <Library/ArmLib.h>
-
-#include <Protocol/Cpu.h>
-#include <Protocol/HardwareInterrupt.h>
-
-#include <Omap3530/Omap3530.h>
-
-//
-// Notifications
-//
-EFI_EVENT EfiExitBootServicesEvent      = (EFI_EVENT)NULL;
-
-
-HARDWARE_INTERRUPT_HANDLER  gRegisteredInterruptHandlers[INT_NROF_VECTORS];
-
-/**
-  Shutdown our hardware
-
-  DXE Core will disable interrupts and turn off the timer and disable interrupts
-  after all the event handlers have run.
-
-  @param[in]  Event   The Event that is being processed
-  @param[in]  Context Event Context
-**/
-VOID
-EFIAPI
-ExitBootServicesEvent (
-  IN EFI_EVENT  Event,
-  IN VOID       *Context
-  )
-{
-  // Disable all interrupts
-  MmioWrite32 (INTCPS_MIR(0), 0xFFFFFFFF);
-  MmioWrite32 (INTCPS_MIR(1), 0xFFFFFFFF);
-  MmioWrite32 (INTCPS_MIR(2), 0xFFFFFFFF);
-  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
-
-  // Add code here to disable all FIQs as debugger may have turned one on
-}
-
-/**
-  Register Handler for the specified interrupt source.
-
-  @param This     Instance pointer for this protocol
-  @param Source   Hardware source of the interrupt
-  @param Handler  Callback for interrupt. NULL to unregister
-
-  @retval EFI_SUCCESS Source was updated to support Handler.
-  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
-
-**/
-EFI_STATUS
-EFIAPI
-RegisterInterruptSource (
-  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
-  IN HARDWARE_INTERRUPT_SOURCE          Source,
-  IN HARDWARE_INTERRUPT_HANDLER         Handler
-  )
-{
-  if (Source > MAX_VECTOR) {
-    ASSERT(FALSE);
-    return EFI_UNSUPPORTED;
-  }
-
-  if ((MmioRead32 (INTCPS_ILR(Source)) & INTCPS_ILR_FIQ) == INTCPS_ILR_FIQ) {
-    // This vector has been programmed as FIQ so we can't use it for IRQ
-    // EFI does not use FIQ, but the debugger can use it to check for
-    // ctrl-c. So this ASSERT means you have a conflict with the debug agent
-    ASSERT (FALSE);
-    return EFI_UNSUPPORTED;
-  }
-
-  if ((Handler == NULL) && (gRegisteredInterruptHandlers[Source] == NULL)) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  if ((Handler != NULL) && (gRegisteredInterruptHandlers[Source] != NULL)) {
-    return EFI_ALREADY_STARTED;
-  }
-
-  gRegisteredInterruptHandlers[Source] = Handler;
-  return This->EnableInterruptSource(This, Source);
-}
-
-
-/**
-  Enable interrupt source Source.
-
-  @param This     Instance pointer for this protocol
-  @param Source   Hardware source of the interrupt
-
-  @retval EFI_SUCCESS       Source interrupt enabled.
-  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
-
-**/
-EFI_STATUS
-EFIAPI
-EnableInterruptSource (
-  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
-  IN HARDWARE_INTERRUPT_SOURCE          Source
-  )
-{
-  UINTN Bank;
-  UINTN Bit;
-
-  if (Source > MAX_VECTOR) {
-    ASSERT(FALSE);
-    return EFI_UNSUPPORTED;
-  }
-
-  Bank = Source / 32;
-  Bit  = 1UL << (Source % 32);
-
-  MmioWrite32 (INTCPS_MIR_CLEAR(Bank), Bit);
-
-  return EFI_SUCCESS;
-}
-
-
-/**
-  Disable interrupt source Source.
-
-  @param This     Instance pointer for this protocol
-  @param Source   Hardware source of the interrupt
-
-  @retval EFI_SUCCESS       Source interrupt disabled.
-  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
-
-**/
-EFI_STATUS
-EFIAPI
-DisableInterruptSource (
-  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
-  IN HARDWARE_INTERRUPT_SOURCE          Source
-  )
-{
-  UINTN Bank;
-  UINTN Bit;
-
-  if (Source > MAX_VECTOR) {
-    ASSERT(FALSE);
-    return EFI_UNSUPPORTED;
-  }
-
-  Bank = Source / 32;
-  Bit  = 1UL << (Source % 32);
-
-  MmioWrite32 (INTCPS_MIR_SET(Bank), Bit);
-
-  return EFI_SUCCESS;
-}
-
-
-
-/**
-  Return current state of interrupt source Source.
-
-  @param This     Instance pointer for this protocol
-  @param Source   Hardware source of the interrupt
-  @param InterruptState  TRUE: source enabled, FALSE: source disabled.
-
-  @retval EFI_SUCCESS       InterruptState is valid
-  @retval EFI_DEVICE_ERROR  InterruptState is not valid
-
-**/
-EFI_STATUS
-EFIAPI
-GetInterruptSourceState (
-  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
-  IN HARDWARE_INTERRUPT_SOURCE          Source,
-  IN BOOLEAN                            *InterruptState
-  )
-{
-  UINTN Bank;
-  UINTN Bit;
-
-  if (InterruptState == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  if (Source > MAX_VECTOR) {
-    ASSERT(FALSE);
-    return EFI_UNSUPPORTED;
-  }
-
-  Bank = Source / 32;
-  Bit  = 1UL << (Source % 32);
-
-  if ((MmioRead32(INTCPS_MIR(Bank)) & Bit) == Bit) {
-    *InterruptState = FALSE;
-  } else {
-    *InterruptState = TRUE;
-  }
-
-  return EFI_SUCCESS;
-}
-
-/**
-  Signal to the hardware that the End Of Intrrupt state
-  has been reached.
-
-  @param This     Instance pointer for this protocol
-  @param Source   Hardware source of the interrupt
-
-  @retval EFI_SUCCESS       Source interrupt EOI'ed.
-  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.
-
-**/
-EFI_STATUS
-EFIAPI
-EndOfInterrupt (
-  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,
-  IN HARDWARE_INTERRUPT_SOURCE          Source
-  )
-{
-  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
-  ArmDataSynchronizationBarrier ();
-  return EFI_SUCCESS;
-}
-
-
-/**
-  EFI_CPU_INTERRUPT_HANDLER that is called when a processor interrupt occurs.
-
-  @param  InterruptType    Defines the type of interrupt or exception that
-                           occurred on the processor.This parameter is processor architecture specific.
-  @param  SystemContext    A pointer to the processor context when
-                           the interrupt occurred on the processor.
-
-  @return None
-
-**/
-VOID
-EFIAPI
-IrqInterruptHandler (
-  IN EFI_EXCEPTION_TYPE           InterruptType,
-  IN EFI_SYSTEM_CONTEXT           SystemContext
-  )
-{
-  UINT32                     Vector;
-  HARDWARE_INTERRUPT_HANDLER InterruptHandler;
-
-  Vector = MmioRead32 (INTCPS_SIR_IRQ) & INTCPS_SIR_IRQ_MASK;
-
-  // Needed to prevent infinite nesting when Time Driver lowers TPL
-  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
-  ArmDataSynchronizationBarrier ();
-
-  InterruptHandler = gRegisteredInterruptHandlers[Vector];
-  if (InterruptHandler != NULL) {
-    // Call the registered interrupt handler.
-    InterruptHandler (Vector, SystemContext);
-  }
-
-  // Needed to clear after running the handler
-  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
-  ArmDataSynchronizationBarrier ();
-}
-
-//
-// Making this global saves a few bytes in image size
-//
-EFI_HANDLE  gHardwareInterruptHandle = NULL;
-
-//
-// The protocol instance produced by this driver
-//
-EFI_HARDWARE_INTERRUPT_PROTOCOL gHardwareInterruptProtocol = {
-  RegisterInterruptSource,
-  EnableInterruptSource,
-  DisableInterruptSource,
-  GetInterruptSourceState,
-  EndOfInterrupt
-};
-
-/**
-  Initialize the state information for the CPU Architectural Protocol
-
-  @param  ImageHandle   of the loaded driver
-  @param  SystemTable   Pointer to the System Table
-
-  @retval EFI_SUCCESS           Protocol registered
-  @retval EFI_OUT_OF_RESOURCES  Cannot allocate protocol data structure
-  @retval EFI_DEVICE_ERROR      Hardware problems
-
-**/
-EFI_STATUS
-InterruptDxeInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-  EFI_CPU_ARCH_PROTOCOL   *Cpu;
-
-  // Make sure the Interrupt Controller Protocol is not already installed in the system.
-  ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gHardwareInterruptProtocolGuid);
-
-  // Make sure all interrupts are disabled by default.
-  MmioWrite32 (INTCPS_MIR(0), 0xFFFFFFFF);
-  MmioWrite32 (INTCPS_MIR(1), 0xFFFFFFFF);
-  MmioWrite32 (INTCPS_MIR(2), 0xFFFFFFFF);
-  MmioOr32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
-
-  Status = gBS->InstallMultipleProtocolInterfaces(&gHardwareInterruptHandle,
-                                                  &gHardwareInterruptProtocolGuid,   &gHardwareInterruptProtocol,
-                                                  NULL);
-  ASSERT_EFI_ERROR(Status);
-
-  //
-  // Get the CPU protocol that this driver requires.
-  //
-  Status = gBS->LocateProtocol(&gEfiCpuArchProtocolGuid, NULL, (VOID **)&Cpu);
-  ASSERT_EFI_ERROR(Status);
-
-  //
-  // Unregister the default exception handler.
-  //
-  Status = Cpu->RegisterInterruptHandler(Cpu, EXCEPT_ARM_IRQ, NULL);
-  ASSERT_EFI_ERROR(Status);
-
-  //
-  // Register to receive interrupts
-  //
-  Status = Cpu->RegisterInterruptHandler(Cpu, EXCEPT_ARM_IRQ, IrqInterruptHandler);
-  ASSERT_EFI_ERROR(Status);
-
-  // Register for an ExitBootServicesEvent
-  Status = gBS->CreateEvent(EVT_SIGNAL_EXIT_BOOT_SERVICES, TPL_NOTIFY, ExitBootServicesEvent, NULL, &EfiExitBootServicesEvent);
-  ASSERT_EFI_ERROR(Status);
-
-  return Status;
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf b/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
deleted file mode 100644
index 76276dd3601d..000000000000
--- a/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
+++ /dev/null
@@ -1,54 +0,0 @@ 
-#/** @file
-#
-#  Interrupt DXE driver
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = Omap35xxBoardInterruptDxe
-  FILE_GUID                      = 23eed05d-1b93-4a1a-8e1b-931d69e37952
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InterruptDxeInitialize
-
-
-[Sources.common]
-  HardwareInterrupt.c
-
-
-[Packages]
-  ArmPkg/ArmPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-
-[LibraryClasses]
-  BaseLib
-  UefiLib
-  UefiBootServicesTableLib
-  DebugLib
-  PrintLib
-  UefiDriverEntryPoint
-  IoLib
-  ArmLib
-
-[Protocols]
-  gHardwareInterruptProtocolGuid
-  gEfiCpuArchProtocolGuid
-
-[FixedPcd.common]
-  gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress
-
-[Depex]
-  gEfiCpuArchProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c
deleted file mode 100644
index 418328afe496..000000000000
--- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputBlt.c
+++ /dev/null
@@ -1,445 +0,0 @@ 
-/** @file
-
- 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.
-
- **/
-
-#include <PiDxe.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DevicePathLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/MemoryAllocationLib.h>
-
-#include <Guid/GlobalVariable.h>
-
-#include "LcdGraphicsOutputDxe.h"
-
-extern BOOLEAN mDisplayInitialized;
-
-//
-// Function Definitions
-//
-
-STATIC
-EFI_STATUS
-VideoCopyNoHorizontalOverlap (
-  IN UINTN          BitsPerPixel,
-  IN volatile VOID  *FrameBufferBase,
-  IN UINT32         HorizontalResolution,
-  IN UINTN          SourceX,
-  IN UINTN          SourceY,
-  IN UINTN          DestinationX,
-  IN UINTN          DestinationY,
-  IN UINTN          Width,
-  IN UINTN          Height
-  )
-{
-  EFI_STATUS    Status = EFI_SUCCESS;
-  UINTN         SourceLine;
-  UINTN         DestinationLine;
-  UINTN         WidthInBytes;
-  UINTN         LineCount;
-  INTN          Step;
-  VOID          *SourceAddr;
-  VOID          *DestinationAddr;
-
-  if( DestinationY <= SourceY ) {
-    // scrolling up (or horizontally but without overlap)
-    SourceLine       = SourceY;
-    DestinationLine  = DestinationY;
-    Step             = 1;
-  } else {
-    // scrolling down
-    SourceLine       = SourceY + Height;
-    DestinationLine  = DestinationY + Height;
-    Step             = -1;
-  }
-
-  WidthInBytes = Width * 2;
-
-  for( LineCount = 0; LineCount < Height; LineCount++ ) {
-    // Update the start addresses of source & destination using 16bit pointer arithmetic
-    SourceAddr      = (VOID *)((UINT16 *)FrameBufferBase + SourceLine      * HorizontalResolution + SourceX     );
-    DestinationAddr = (VOID *)((UINT16 *)FrameBufferBase + DestinationLine * HorizontalResolution + DestinationX);
-
-    // Copy the entire line Y from video ram to the temp buffer
-    CopyMem( DestinationAddr, SourceAddr, WidthInBytes);
-
-    // Update the line numbers
-    SourceLine      += Step;
-    DestinationLine += Step;
-  }
-
-  return Status;
-}
-
-STATIC
-EFI_STATUS
-VideoCopyHorizontalOverlap (
-  IN UINTN          BitsPerPixel,
-  IN volatile VOID  *FrameBufferBase,
-  UINT32            HorizontalResolution,
-  IN UINTN          SourceX,
-  IN UINTN          SourceY,
-  IN UINTN          DestinationX,
-  IN UINTN          DestinationY,
-  IN UINTN          Width,
-  IN UINTN          Height
-  )
-{
-  EFI_STATUS      Status = EFI_SUCCESS;
-
-  UINT16 *PixelBuffer16bit;
-  UINT16 *SourcePixel16bit;
-  UINT16 *DestinationPixel16bit;
-
-  UINT32          SourcePixelY;
-  UINT32          DestinationPixelY;
-  UINTN           SizeIn16Bits;
-
-  // Allocate a temporary buffer
-  PixelBuffer16bit = (UINT16 *) AllocatePool((Height * Width) * sizeof(UINT16));
-
-  if (PixelBuffer16bit == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    goto EXIT;
-  }
-
-  // Access each pixel inside the source area of the Video Memory and copy it to the temp buffer
-
-  SizeIn16Bits = Width * 2;
-
-  for (SourcePixelY = SourceY, DestinationPixel16bit = PixelBuffer16bit;
-       SourcePixelY < SourceY + Height;
-       SourcePixelY++, DestinationPixel16bit += Width)
-  {
-    // Calculate the source address:
-    SourcePixel16bit = (UINT16 *)FrameBufferBase + SourcePixelY * HorizontalResolution + SourceX;
-
-    // Copy the entire line Y from Video to the temp buffer
-    CopyMem( (VOID *)DestinationPixel16bit, (CONST VOID *)SourcePixel16bit, SizeIn16Bits);
-  }
-
-  // Copy from the temp buffer into the destination area of the Video Memory
-
-  for (DestinationPixelY = DestinationY, SourcePixel16bit = PixelBuffer16bit;
-       DestinationPixelY < DestinationY + Height;
-       DestinationPixelY++, SourcePixel16bit += Width)
-  {
-    // Calculate the target address:
-    DestinationPixel16bit = (UINT16 *)FrameBufferBase + (DestinationPixelY * HorizontalResolution + DestinationX);
-
-    // Copy the entire line Y from the temp buffer to Video
-    CopyMem( (VOID *)DestinationPixel16bit, (CONST VOID *)SourcePixel16bit, SizeIn16Bits);
-  }
-
-  // Free the allocated memory
-  FreePool((VOID *) PixelBuffer16bit);
-
-
-EXIT:
-  return Status;
-}
-
-STATIC
-EFI_STATUS
-BltVideoFill (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
-  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *EfiSourcePixel,     OPTIONAL
-  IN UINTN                               SourceX,
-  IN UINTN                               SourceY,
-  IN UINTN                               DestinationX,
-  IN UINTN                               DestinationY,
-  IN UINTN                               Width,
-  IN UINTN                               Height,
-  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
-  )
-{
-  EFI_PIXEL_BITMASK*  PixelInformation;
-  EFI_STATUS          Status;
-  UINT32              HorizontalResolution;
-  VOID                *FrameBufferBase;
-  UINT16              *DestinationPixel16bit;
-  UINT16              Pixel16bit;
-  UINT32              DestinationPixelX;
-  UINT32              DestinationLine;
-
-  Status           = EFI_SUCCESS;
-  PixelInformation = &This->Mode->Info->PixelInformation;
-  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
-  HorizontalResolution = This->Mode->Info->HorizontalResolution;
-
-  // Convert the EFI pixel at the start of the BltBuffer(0,0) into a video display pixel
-  Pixel16bit = (UINT16) (
-      ( (EfiSourcePixel->Red      <<  8) & PixelInformation->RedMask      )
-    | ( (EfiSourcePixel->Green    <<  3) & PixelInformation->GreenMask    )
-    | ( (EfiSourcePixel->Blue     >>  3) & PixelInformation->BlueMask     )
-   );
-
-  // Copy the SourcePixel into every pixel inside the target rectangle
-  for (DestinationLine = DestinationY;
-       DestinationLine < DestinationY + Height;
-       DestinationLine++)
-  {
-    for (DestinationPixelX = DestinationX;
-         DestinationPixelX < DestinationX + Width;
-         DestinationPixelX++)
-    {
-      // Calculate the target address:
-      DestinationPixel16bit =  (UINT16 *)FrameBufferBase + DestinationLine * HorizontalResolution  + DestinationPixelX;
-
-      // Copy the pixel into the new target
-      *DestinationPixel16bit = Pixel16bit;
-    }
-  }
-
-
-  return Status;
-}
-
-STATIC
-EFI_STATUS
-BltVideoToBltBuffer (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
-  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
-  IN UINTN                               SourceX,
-  IN UINTN                               SourceY,
-  IN UINTN                               DestinationX,
-  IN UINTN                               DestinationY,
-  IN UINTN                               Width,
-  IN UINTN                               Height,
-  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
-  )
-{
-  EFI_STATUS         Status;
-  UINT32             HorizontalResolution;
-  EFI_PIXEL_BITMASK  *PixelInformation;
-  EFI_GRAPHICS_OUTPUT_BLT_PIXEL *EfiDestinationPixel;
-  VOID               *FrameBufferBase;
-  UINT16             *SourcePixel16bit;
-  UINT16             Pixel16bit;
-  UINT32             SourcePixelX;
-  UINT32             SourceLine;
-  UINT32             DestinationPixelX;
-  UINT32             DestinationLine;
-  UINT32             BltBufferHorizontalResolution;
-
-  Status = EFI_SUCCESS;
-  PixelInformation = &This->Mode->Info->PixelInformation;
-  HorizontalResolution = This->Mode->Info->HorizontalResolution;
-  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
-
-  if(( Delta != 0 ) && ( Delta != Width * sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL))) {
-    // Delta is not zero and it is different from the width.
-    // Divide it by the size of a pixel to find out the buffer's horizontal resolution.
-    BltBufferHorizontalResolution = (UINT32) (Delta / sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
-  } else {
-    BltBufferHorizontalResolution = Width;
-  }
-
-  // Access each pixel inside the Video Memory
-  for (SourceLine = SourceY, DestinationLine = DestinationY;
-       SourceLine < SourceY + Height;
-       SourceLine++, DestinationLine++)
-  {
-    for (SourcePixelX = SourceX, DestinationPixelX = DestinationX;
-         SourcePixelX < SourceX + Width;
-         SourcePixelX++, DestinationPixelX++)
-    {
-      // Calculate the source and target addresses:
-      SourcePixel16bit = (UINT16 *)FrameBufferBase + SourceLine * HorizontalResolution + SourcePixelX;
-      EfiDestinationPixel = BltBuffer + DestinationLine * BltBufferHorizontalResolution + DestinationPixelX;
-
-      // Snapshot the pixel from the video buffer once, to speed up the operation.
-      // If we were dereferencing the pointer, as it is volatile, we would perform 3 memory read operations.
-      Pixel16bit = *SourcePixel16bit;
-
-      // Copy the pixel into the new target
-      EfiDestinationPixel->Red      = (UINT8) ( (Pixel16bit & PixelInformation->RedMask     ) >>  8 );
-      EfiDestinationPixel->Green    = (UINT8) ( (Pixel16bit & PixelInformation->GreenMask   ) >>  3 );
-      EfiDestinationPixel->Blue     = (UINT8) ( (Pixel16bit & PixelInformation->BlueMask    ) <<  3 );
-    }
-  }
-
-  return Status;
-}
-
-STATIC
-EFI_STATUS
-BltBufferToVideo (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
-  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
-  IN UINTN                               SourceX,
-  IN UINTN                               SourceY,
-  IN UINTN                               DestinationX,
-  IN UINTN                               DestinationY,
-  IN UINTN                               Width,
-  IN UINTN                               Height,
-  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
-  )
-{
-  EFI_STATUS         Status;
-  UINT32             HorizontalResolution;
-  EFI_PIXEL_BITMASK  *PixelInformation;
-  EFI_GRAPHICS_OUTPUT_BLT_PIXEL *EfiSourcePixel;
-  VOID               *FrameBufferBase;
-  UINT16             *DestinationPixel16bit;
-  UINT32             SourcePixelX;
-  UINT32             SourceLine;
-  UINT32             DestinationPixelX;
-  UINT32             DestinationLine;
-  UINT32             BltBufferHorizontalResolution;
-
-  Status = EFI_SUCCESS;
-  PixelInformation = &This->Mode->Info->PixelInformation;
-  HorizontalResolution = This->Mode->Info->HorizontalResolution;
-  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
-
-  if(( Delta != 0 ) && ( Delta != Width * sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL))) {
-    // Delta is not zero and it is different from the width.
-    // Divide it by the size of a pixel to find out the buffer's horizontal resolution.
-    BltBufferHorizontalResolution = (UINT32) (Delta / sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
-  } else {
-    BltBufferHorizontalResolution = Width;
-  }
-
-  // Access each pixel inside the BltBuffer Memory
-  for (SourceLine = SourceY, DestinationLine = DestinationY;
-       SourceLine < SourceY + Height;
-       SourceLine++, DestinationLine++) {
-
-    for (SourcePixelX = SourceX, DestinationPixelX = DestinationX;
-         SourcePixelX < SourceX + Width;
-         SourcePixelX++, DestinationPixelX++)
-    {
-      // Calculate the source and target addresses:
-      EfiSourcePixel  = BltBuffer + SourceLine * BltBufferHorizontalResolution + SourcePixelX;
-      DestinationPixel16bit = (UINT16 *)FrameBufferBase + DestinationLine * HorizontalResolution + DestinationPixelX;
-
-      // Copy the pixel into the new target
-      // Only the most significant bits will be copied across:
-      // To convert from 8 bits to 5 bits per pixel we throw away the 3 least significant bits
-        *DestinationPixel16bit = (UINT16) (
-              ( (EfiSourcePixel->Red      <<  8) & PixelInformation->RedMask      )
-            | ( (EfiSourcePixel->Green    <<  3) & PixelInformation->GreenMask    )
-            | ( (EfiSourcePixel->Blue     >>  3) & PixelInformation->BlueMask     )
-            );
-      }
-    }
-
-  return Status;
-}
-
-STATIC
-EFI_STATUS
-BltVideoToVideo (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
-  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
-  IN UINTN                               SourceX,
-  IN UINTN                               SourceY,
-  IN UINTN                               DestinationX,
-  IN UINTN                               DestinationY,
-  IN UINTN                               Width,
-  IN UINTN                               Height,
-  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
-  )
-{
-  EFI_STATUS         Status;
-  UINT32             HorizontalResolution;
-  UINTN              BitsPerPixel;
-  VOID               *FrameBufferBase;
-
-  BitsPerPixel = 16;
-
-  HorizontalResolution = This->Mode->Info->HorizontalResolution;
-  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
-
-  //
-  // BltVideo to BltVideo:
-  //
-  //  Source is the Video Memory,
-  //  Destination is the Video Memory
-
-  FrameBufferBase = (UINTN *)((UINTN)(This->Mode->FrameBufferBase));
-
-  // The UEFI spec currently states:
-  // "There is no limitation on the overlapping of the source and destination rectangles"
-  // Therefore, we must be careful to avoid overwriting the source data
-  if( SourceY == DestinationY ) {
-    // Copying within the same height, e.g. horizontal shift
-    if( SourceX == DestinationX ) {
-      // Nothing to do
-      Status = EFI_SUCCESS;
-    } else if( ((SourceX>DestinationX)?(SourceX - DestinationX):(DestinationX - SourceX)) < Width ) {
-      // There is overlap
-      Status = VideoCopyHorizontalOverlap (BitsPerPixel, FrameBufferBase, HorizontalResolution, SourceX, SourceY, DestinationX, DestinationY, Width, Height );
-    } else {
-      // No overlap
-      Status = VideoCopyNoHorizontalOverlap (BitsPerPixel, FrameBufferBase, HorizontalResolution, SourceX, SourceY, DestinationX, DestinationY, Width, Height );
-    }
-  } else {
-    // Copying from different heights
-    Status = VideoCopyNoHorizontalOverlap (BitsPerPixel, FrameBufferBase, HorizontalResolution, SourceX, SourceY, DestinationX, DestinationY, Width, Height );
-  }
-
-  return Status;
-}
-
-EFI_STATUS
-EFIAPI
-LcdGraphicsBlt (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
-  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
-  IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION   BltOperation,
-  IN UINTN                               SourceX,
-  IN UINTN                               SourceY,
-  IN UINTN                               DestinationX,
-  IN UINTN                               DestinationY,
-  IN UINTN                               Width,
-  IN UINTN                               Height,
-  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
-  )
-{
-  EFI_STATUS    Status;
-  LCD_INSTANCE  *Instance;
-
-  Instance = LCD_INSTANCE_FROM_GOP_THIS(This);
-
-  if (!mDisplayInitialized) {
-    InitializeDisplay (Instance);
-  }
-
-  switch (BltOperation) {
-  case EfiBltVideoFill:
-    Status = BltVideoFill (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
-    break;
-
-  case EfiBltVideoToBltBuffer:
-    Status = BltVideoToBltBuffer (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
-    break;
-
-  case EfiBltBufferToVideo:
-    Status = BltBufferToVideo (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
-    break;
-
-  case EfiBltVideoToVideo:
-    Status = BltVideoToVideo (This, BltBuffer, SourceX, SourceY, DestinationX, DestinationY, Width, Height, Delta);
-    break;
-
-  case EfiGraphicsOutputBltOperationMax:
-  default:
-    DEBUG((DEBUG_ERROR, "LcdGraphicsBlt: Invalid Operation\n"));
-    Status = EFI_INVALID_PARAMETER;
-    break;
-}
-
-  return Status;
-}
diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c
deleted file mode 100644
index 4364dd71a02b..000000000000
--- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.c
+++ /dev/null
@@ -1,400 +0,0 @@ 
-/** @file
-
- Copyright (c) 2011-2014, 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.
-
-**/
-
-#include "LcdGraphicsOutputDxe.h"
-
-BOOLEAN mDisplayInitialized = FALSE;
-
-LCD_MODE LcdModes[] = {
-  {
-    0, 640, 480,
-    9, 4,
-    96, 16, 48,
-    2, 10, 33
-  },
-  {
-    1, 800, 600,
-    11, 2,
-    120, 56, 64,
-    5, 37, 22
-  },
-  {
-    2, 1024, 768,
-    6, 2,
-    96, 16, 48,
-    2, 10, 33
-  },
-};
-
-LCD_INSTANCE mLcdTemplate = {
-  LCD_INSTANCE_SIGNATURE,
-  NULL, // Handle
-  { // ModeInfo
-    0, // Version
-    0, // HorizontalResolution
-    0, // VerticalResolution
-    PixelBltOnly, // PixelFormat
-    {
-      0xF800, //RedMask;
-      0x7E0, //GreenMask;
-      0x1F, //BlueMask;
-      0x0//ReservedMask
-    }, // PixelInformation
-    0, // PixelsPerScanLine
-  },
-  { // Mode
-    3, // MaxMode;
-    0, // Mode;
-    NULL, // Info;
-    0, // SizeOfInfo;
-    0, // FrameBufferBase;
-    0 // FrameBufferSize;
-  },
-  { // Gop
-    LcdGraphicsQueryMode,  // QueryMode
-    LcdGraphicsSetMode,    // SetMode
-    LcdGraphicsBlt,        // Blt
-    NULL                     // *Mode
-  },
-  { // DevicePath
-    {
-      {
-        HARDWARE_DEVICE_PATH, HW_VENDOR_DP,
-        { (UINT8) (sizeof(VENDOR_DEVICE_PATH)), (UINT8) ((sizeof(VENDOR_DEVICE_PATH)) >> 8) },
-      },
-      // Hardware Device Path for Lcd
-      EFI_CALLER_ID_GUID // Use the driver's GUID
-    },
-    {
-      END_DEVICE_PATH_TYPE,
-      END_ENTIRE_DEVICE_PATH_SUBTYPE,
-      { sizeof(EFI_DEVICE_PATH_PROTOCOL), 0}
-    }
-  }
-};
-
-EFI_STATUS
-LcdInstanceContructor (
-  OUT LCD_INSTANCE** NewInstance
-  )
-{
-  LCD_INSTANCE* Instance;
-
-  Instance = AllocateCopyPool (sizeof(LCD_INSTANCE), &mLcdTemplate);
-  if (Instance == NULL) {
-    return EFI_OUT_OF_RESOURCES;
-  }
-
-  Instance->Gop.Mode          = &Instance->Mode;
-  Instance->Mode.Info         = &Instance->ModeInfo;
-
-  *NewInstance = Instance;
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-LcdPlatformGetVram (
-  OUT EFI_PHYSICAL_ADDRESS*  VramBaseAddress,
-  OUT UINTN*                 VramSize
-  )
-{
-  EFI_STATUS             Status;
-  EFI_CPU_ARCH_PROTOCOL  *Cpu;
-  UINTN                  MaxSize;
-
-  MaxSize = 0x500000;
-  *VramSize = MaxSize;
-
-  // Allocate VRAM from DRAM
-  Status = gBS->AllocatePages (AllocateAnyPages, EfiBootServicesData, EFI_SIZE_TO_PAGES((MaxSize)), VramBaseAddress);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  // Ensure the Cpu architectural protocol is already installed
-  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&Cpu);
-  ASSERT_EFI_ERROR(Status);
-
-  // Mark the VRAM as un-cacheable. The VRAM is inside the DRAM, which is cacheable.
-  Status = Cpu->SetMemoryAttributes (Cpu, *VramBaseAddress, *VramSize, EFI_MEMORY_UC);
-  if (EFI_ERROR(Status)) {
-    gBS->FreePool (VramBaseAddress);
-    return Status;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-DssSetMode (
-  UINT32 VramBaseAddress,
-  UINTN  ModeNumber
-  )
-{
-  // Make sure the interface clock is running
-  MmioWrite32 (CM_ICLKEN_DSS, EN_DSS);
-
-  // Stop the functional clocks
-  MmioAnd32 (CM_FCLKEN_DSS, ~(EN_DSS1 | EN_DSS2 | EN_TV));
-
-  // Program the DSS clock divisor
-  MmioWrite32 (CM_CLKSEL_DSS, 0x1000 | (LcdModes[ModeNumber].DssDivisor));
-
-  // Start the functional clocks
-  MmioOr32 (CM_FCLKEN_DSS, (EN_DSS1 | EN_DSS2 | EN_TV));
-
-  // Wait for DSS to stabilize
-  gBS->Stall(1);
-
-  // Reset the subsystem
-  MmioWrite32(DSS_SYSCONFIG, DSS_SOFTRESET);
-  while (!(MmioRead32 (DSS_SYSSTATUS) & DSS_RESETDONE));
-
-  // Configure LCD parameters
-  MmioWrite32 (DISPC_SIZE_LCD,
-               ((LcdModes[ModeNumber].HorizontalResolution - 1)
-               | ((LcdModes[ModeNumber].VerticalResolution - 1) << 16))
-              );
-  MmioWrite32 (DISPC_TIMING_H,
-               ( (LcdModes[ModeNumber].HSync - 1)
-               | ((LcdModes[ModeNumber].HFrontPorch - 1) << 8)
-               | ((LcdModes[ModeNumber].HBackPorch - 1) << 20))
-              );
-  MmioWrite32 (DISPC_TIMING_V,
-               ( (LcdModes[ModeNumber].VSync - 1)
-               | ((LcdModes[ModeNumber].VFrontPorch - 1) << 8)
-               | ((LcdModes[ModeNumber].VBackPorch - 1) << 20))
-              );
-
-  // Set the framebuffer to only load frames (no gamma tables)
-  MmioAnd32 (DISPC_CONFIG, CLEARLOADMODE);
-  MmioOr32  (DISPC_CONFIG, LOAD_FRAME_ONLY);
-
-  // Divisor for the pixel clock
-  MmioWrite32(DISPC_DIVISOR, ((1 << 16) | LcdModes[ModeNumber].DispcDivisor) );
-
-  // Set up the graphics layer
-  MmioWrite32 (DISPC_GFX_PRELD, 0x2D8);
-  MmioWrite32 (DISPC_GFX_BA0, VramBaseAddress);
-  MmioWrite32 (DISPC_GFX_SIZE,
-               ((LcdModes[ModeNumber].HorizontalResolution - 1)
-               | ((LcdModes[ModeNumber].VerticalResolution - 1) << 16))
-              );
-
-  MmioWrite32(DISPC_GFX_ATTR, (GFXENABLE | RGB16 | BURSTSIZE16));
-
-  // Start it all
-  MmioOr32 (DISPC_CONTROL, (LCDENABLE | ACTIVEMATRIX | DATALINES24 | BYPASS_MODE | LCDENABLESIGNAL));
-  MmioOr32 (DISPC_CONTROL, GOLCD);
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-HwInitializeDisplay (
-  UINTN VramBaseAddress,
-  UINTN VramSize
-  )
-{
-  EFI_STATUS    Status;
-  UINT8         Data;
-  EFI_TPL       OldTpl;
-  EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
-
-  // Enable power lines used by TFP410
-  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
-  ASSERT_EFI_ERROR (Status);
-
-  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
-  Data = VAUX_DEV_GRP_P1;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VPLL2_DEV_GRP), 1, &Data);
-  ASSERT_EFI_ERROR(Status);
-
-  Data = VAUX_DEDICATED_18V;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VPLL2_DEDICATED), 1, &Data);
-  ASSERT_EFI_ERROR (Status);
-
-  // Power up TFP410 (set GPIO2 on TPS - for BeagleBoard-xM)
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATADIR1), 1, &Data);
-  ASSERT_EFI_ERROR (Status);
-  Data |= BIT2;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATADIR1), 1, &Data);
-  ASSERT_EFI_ERROR (Status);
-
-  Data = BIT2;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, SETGPIODATAOUT1), 1, &Data);
-  ASSERT_EFI_ERROR (Status);
-
-  gBS->RestoreTPL(OldTpl);
-
-  // Power up TFP410 (set GPIO 170 - for older BeagleBoards)
-  MmioAnd32 (GPIO6_BASE + GPIO_OE, ~BIT10);
-  MmioOr32  (GPIO6_BASE + GPIO_SETDATAOUT, BIT10);
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-InitializeDisplay (
-  IN LCD_INSTANCE* Instance
-  )
-{
-  EFI_STATUS           Status;
-  UINTN                VramSize;
-  EFI_PHYSICAL_ADDRESS VramBaseAddress;
-
-  Status = LcdPlatformGetVram (&VramBaseAddress, &VramSize);
-  if (EFI_ERROR (Status)) {
-    return Status;
-  }
-
-  Instance->Mode.FrameBufferBase = VramBaseAddress;
-  Instance->Mode.FrameBufferSize = VramSize;
-
-  Status = HwInitializeDisplay((UINTN)VramBaseAddress, VramSize);
-  if (!EFI_ERROR (Status)) {
-    mDisplayInitialized = TRUE;
-  }
-
-  return Status;
-}
-
-EFI_STATUS
-EFIAPI
-LcdGraphicsQueryMode (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL            *This,
-  IN UINT32                                  ModeNumber,
-  OUT UINTN                                  *SizeOfInfo,
-  OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION   **Info
-  )
-{
-  LCD_INSTANCE  *Instance;
-
-  Instance = LCD_INSTANCE_FROM_GOP_THIS(This);
-
-  if (!mDisplayInitialized) {
-    InitializeDisplay (Instance);
-  }
-
-  // Error checking
-  if ( (This == NULL) || (Info == NULL) || (SizeOfInfo == NULL) || (ModeNumber >= This->Mode->MaxMode) ) {
-    DEBUG((DEBUG_ERROR, "LcdGraphicsQueryMode: ERROR - For mode number %d : Invalid Parameter.\n", ModeNumber ));
-    return EFI_INVALID_PARAMETER;
-  }
-
-  *Info = AllocateCopyPool(sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION), &Instance->ModeInfo);
-  if (*Info == NULL) {
-    return EFI_OUT_OF_RESOURCES;
-  }
-
-  *SizeOfInfo = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
-
-  (*Info)->Version = 0;
-  (*Info)->HorizontalResolution = LcdModes[ModeNumber].HorizontalResolution;
-  (*Info)->VerticalResolution = LcdModes[ModeNumber].VerticalResolution;
-  (*Info)->PixelFormat = PixelBltOnly;
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EFIAPI
-LcdGraphicsSetMode (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL   *This,
-  IN UINT32                         ModeNumber
-  )
-{
-  LCD_INSTANCE  *Instance;
-
-  Instance = LCD_INSTANCE_FROM_GOP_THIS(This);
-
-  if (ModeNumber >= Instance->Mode.MaxMode) {
-    return EFI_UNSUPPORTED;
-  }
-
-  if (!mDisplayInitialized) {
-    InitializeDisplay (Instance);
-  }
-
-  DssSetMode((UINT32)Instance->Mode.FrameBufferBase, ModeNumber);
-
-  Instance->Mode.Mode = ModeNumber;
-  Instance->ModeInfo.HorizontalResolution = LcdModes[ModeNumber].HorizontalResolution;
-  Instance->ModeInfo.VerticalResolution = LcdModes[ModeNumber].VerticalResolution;
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EFIAPI
-LcdGraphicsOutputDxeInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_STATUS Status = EFI_SUCCESS;
-  LCD_INSTANCE* Instance;
-
-  Status = LcdInstanceContructor (&Instance);
-  if (EFI_ERROR(Status)) {
-    goto EXIT;
-  }
-
-  // Install the Graphics Output Protocol and the Device Path
-  Status = gBS->InstallMultipleProtocolInterfaces(
-             &Instance->Handle,
-             &gEfiGraphicsOutputProtocolGuid, &Instance->Gop,
-             &gEfiDevicePathProtocolGuid,     &Instance->DevicePath,
-             NULL
-             );
-
-  if (EFI_ERROR(Status)) {
-    DEBUG((DEBUG_ERROR, "GraphicsOutputDxeInitialize: Can not install the protocol. Exit Status=%r\n", Status));
-    goto EXIT;
-  }
-
-  // Register for an ExitBootServicesEvent
-  // When ExitBootServices starts, this function here will make sure that the graphics driver will shut down properly,
-  // i.e. it will free up all allocated memory and perform any necessary hardware re-configuration.
-  /*Status = gBS->CreateEvent (
-               EVT_SIGNAL_EXIT_BOOT_SERVICES,
-               TPL_NOTIFY,
-               LcdGraphicsExitBootServicesEvent, NULL,
-               &Instance->ExitBootServicesEvent
-               );
-
-  if (EFI_ERROR(Status)) {
-    DEBUG((DEBUG_ERROR, "GraphicsOutputDxeInitialize: Can not install the ExitBootServicesEvent handler. Exit Status=%r\n", Status));
-    goto EXIT_ERROR_UNINSTALL_PROTOCOL;
-  }*/
-
-  // To get here, everything must be fine, so just exit
-  goto EXIT;
-
-//EXIT_ERROR_UNINSTALL_PROTOCOL:
-  /* The following function could return an error message,
-   * however, to get here something must have gone wrong already,
-   * so preserve the original error, i.e. don't change
-   * the Status variable, even it fails to uninstall the protocol.
-   */
-  /*  gBS->UninstallMultipleProtocolInterfaces (
-        Instance->Handle,
-        &gEfiGraphicsOutputProtocolGuid, &Instance->Gop, // Uninstall Graphics Output protocol
-        &gEfiDevicePathProtocolGuid,     &Instance->DevicePath,     // Uninstall device path
-        NULL
-        );*/
-
-EXIT:
-  return Status;
-
-}
diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
deleted file mode 100644
index a1bd7afdb023..000000000000
--- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.h
+++ /dev/null
@@ -1,157 +0,0 @@ 
-/** @file
-
- 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 __OMAP3_DSS_GRAPHICS__
-#define __OMAP3_DSS_GRAPHICS__
-
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/DebugLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/IoLib.h>
-
-#include <Protocol/DevicePathToText.h>
-#include <Protocol/EmbeddedExternalDevice.h>
-#include <Protocol/Cpu.h>
-
-#include <Guid/GlobalVariable.h>
-
-#include <Omap3530/Omap3530.h>
-#include <TPS65950.h>
-
-typedef struct {
-  VENDOR_DEVICE_PATH            Guid;
-  EFI_DEVICE_PATH_PROTOCOL      End;
-} LCD_GRAPHICS_DEVICE_PATH;
-
-typedef struct {
-  UINTN                                 Signature;
-  EFI_HANDLE                            Handle;
-  EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  ModeInfo;
-  EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE     Mode;
-  EFI_GRAPHICS_OUTPUT_PROTOCOL          Gop;
-  LCD_GRAPHICS_DEVICE_PATH              DevicePath;
-//  EFI_EVENT                             ExitBootServicesEvent;
-} LCD_INSTANCE;
-
-#define LCD_INSTANCE_SIGNATURE  SIGNATURE_32('l', 'c', 'd', '0')
-#define LCD_INSTANCE_FROM_GOP_THIS(a)     CR (a, LCD_INSTANCE, Gop, LCD_INSTANCE_SIGNATURE)
-
-typedef struct {
-  UINTN             Mode;
-  UINTN             HorizontalResolution;
-  UINTN             VerticalResolution;
-
-  UINT32            DssDivisor;
-  UINT32            DispcDivisor;
-
-  UINT32            HSync;
-  UINT32            HFrontPorch;
-  UINT32            HBackPorch;
-
-  UINT32            VSync;
-  UINT32            VFrontPorch;
-  UINT32            VBackPorch;
-} LCD_MODE;
-
-EFI_STATUS
-InitializeDisplay (
-  IN LCD_INSTANCE* Instance
-);
-
-EFI_STATUS
-EFIAPI
-LcdGraphicsQueryMode (
-  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL          *This,
-  IN  UINT32                                ModeNumber,
-  OUT UINTN                                 *SizeOfInfo,
-  OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  **Info
-);
-
-EFI_STATUS
-EFIAPI
-LcdGraphicsSetMode (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL  *This,
-  IN UINT32                        ModeNumber
-);
-
-EFI_STATUS
-EFIAPI
-LcdGraphicsBlt (
-  IN EFI_GRAPHICS_OUTPUT_PROTOCOL        *This,
-  IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL   *BltBuffer,     OPTIONAL
-  IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION   BltOperation,
-  IN UINTN                               SourceX,
-  IN UINTN                               SourceY,
-  IN UINTN                               DestinationX,
-  IN UINTN                               DestinationY,
-  IN UINTN                               Width,
-  IN UINTN                               Height,
-  IN UINTN                               Delta           OPTIONAL   // Number of BYTES in a row of the BltBuffer
-);
-
-// HW registers
-#define CM_FCLKEN_DSS   0x48004E00
-#define CM_ICLKEN_DSS   0x48004E10
-
-#define DSS_CONTROL     0x48050040
-#define DSS_SYSCONFIG   0x48050010
-#define DSS_SYSSTATUS   0x48050014
-
-#define DISPC_CONTROL   0x48050440
-#define DISPC_CONFIG    0x48050444
-#define DISPC_SIZE_LCD  0x4805047C
-#define DISPC_TIMING_H  0x48050464
-#define DISPC_TIMING_V  0x48050468
-
-#define CM_CLKSEL_DSS   0x48004E40
-#define DISPC_DIVISOR   0x48050470
-#define DISPC_POL_FREQ  0x4805046C
-
-#define DISPC_GFX_TABLE_BA 0x480504B8
-#define DISPC_GFX_BA0   0x48050480
-#define DISPC_GFX_BA1   0x48050484
-#define DISPC_GFX_POS   0x48050488
-#define DISPC_GFX_SIZE  0x4805048C
-#define DISPC_GFX_ATTR  0x480504A0
-#define DISPC_GFX_PRELD 0x4805062C
-
-#define DISPC_DEFAULT_COLOR_0 0x4805044C
-
-//#define DISPC_IRQSTATUS
-
-// Bits
-#define EN_TV           0x4
-#define EN_DSS2         0x2
-#define EN_DSS1         0x1
-#define EN_DSS          0x1
-
-#define DSS_SOFTRESET   0x2
-#define DSS_RESETDONE   0x1
-
-#define BYPASS_MODE     (BIT15 | BIT16)
-
-#define LCDENABLE       BIT0
-#define ACTIVEMATRIX    BIT3
-#define GOLCD           BIT5
-#define DATALINES24     (BIT8 | BIT9)
-#define LCDENABLESIGNAL BIT28
-
-#define GFXENABLE       BIT0
-#define RGB16           (0x6 << 1)
-#define BURSTSIZE16     (0x2 << 6)
-
-#define CLEARLOADMODE   ~(BIT2 | BIT1)
-#define LOAD_FRAME_ONLY BIT2
-
-#endif
diff --git a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf b/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
deleted file mode 100644
index 1fec2dbbac6f..000000000000
--- a/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
+++ /dev/null
@@ -1,52 +0,0 @@ 
-#/** @file
-#
-#  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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = LcdGraphicsDxe
-  FILE_GUID                      = E68088EF-D1A4-4336-C1DB-4D3A204730A6
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-  ENTRY_POINT                    = LcdGraphicsOutputDxeInitialize
-
-[Sources.common]
-  LcdGraphicsOutputDxe.c
-  LcdGraphicsOutputBlt.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  ArmPkg/ArmPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-
-[LibraryClasses]
-  ArmLib
-  UefiLib
-  BaseLib
-  DebugLib
-  TimerLib
-  UefiDriverEntryPoint
-  UefiBootServicesTableLib
-  IoLib
-  BaseMemoryLib
-
-[Protocols]
-  gEfiDevicePathProtocolGuid
-  gEfiGraphicsOutputProtocolGuid
-  gEfiDevicePathToTextProtocolGuid
-  gEmbeddedExternalDeviceProtocolGuid
-
-[Depex]
-  gEfiCpuArchProtocolGuid AND gEfiTimerArchProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c b/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c
deleted file mode 100755
index 11f0bdd117af..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.c
+++ /dev/null
@@ -1,165 +0,0 @@ 
-/** @file
-  Debug Agent timer lib for OMAP 35xx.
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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.
-
-**/
-#include <Base.h>
-#include <Library/BaseLib.h>
-#include <Library/IoLib.h>
-#include <Library/OmapLib.h>
-#include <Library/ArmLib.h>
-#include <Library/PcdLib.h>
-
-#include <Omap3530/Omap3530.h>
-
-
-volatile UINT32 gVector;
-
-// Cached registers
-volatile UINT32 gTISR;
-volatile UINT32 gTCLR;
-volatile UINT32 gTLDR;
-volatile UINT32 gTCRR;
-volatile UINT32 gTIER;
-
-VOID
-EnableInterruptSource (
-  VOID
-  )
-{
-  UINTN Bank;
-  UINTN Bit;
-
-  // Map vector to FIQ, IRQ is default
-  MmioWrite32 (INTCPS_ILR (gVector), 1);
-
-  Bank = gVector / 32;
-  Bit  = 1UL << (gVector % 32);
-
-  MmioWrite32 (INTCPS_MIR_CLEAR(Bank), Bit);
-}
-
-VOID
-DisableInterruptSource (
-  VOID
-  )
-{
-  UINTN Bank;
-  UINTN Bit;
-
-  Bank = gVector / 32;
-  Bit  = 1UL << (gVector % 32);
-
-  MmioWrite32 (INTCPS_MIR_SET(Bank), Bit);
-}
-
-
-
-/**
-  Setup all the hardware needed for the debug agents timer.
-
-  This function is used to set up debug enviroment. It may enable interrupts.
-
-**/
-VOID
-EFIAPI
-DebugAgentTimerIntialize (
-  VOID
-  )
-{
-  UINT32      TimerBaseAddress;
-  UINT32      TimerNumber;
-
-  TimerNumber = PcdGet32(PcdOmap35xxDebugAgentTimer);
-  gVector = InterruptVectorForTimer (TimerNumber);
-
-  // Set up the timer registers
-  TimerBaseAddress = TimerBase (TimerNumber);
-  gTISR = TimerBaseAddress + GPTIMER_TISR;
-  gTCLR = TimerBaseAddress + GPTIMER_TCLR;
-  gTLDR = TimerBaseAddress + GPTIMER_TLDR;
-  gTCRR = TimerBaseAddress + GPTIMER_TCRR;
-  gTIER = TimerBaseAddress + GPTIMER_TIER;
-
-  if ((TimerNumber < 2) || (TimerNumber > 9)) {
-    // This code assumes one the General Purpose timers is used
-    // GPT2 - GPT9
-    CpuDeadLoop ();
-  }
-  // Set source clock for GPT2 - GPT9 to SYS_CLK
-  MmioOr32 (CM_CLKSEL_PER, 1 << (TimerNumber - 2));
-
-}
-
-
-/**
-  Set the period for the debug agent timer. Zero means disable the timer.
-
-  @param[in] TimerPeriodMilliseconds    Frequency of the debug agent timer.
-
-**/
-VOID
-EFIAPI
-DebugAgentTimerSetPeriod (
-  IN  UINT32  TimerPeriodMilliseconds
-  )
-{
-  UINT64      TimerCount;
-  INT32       LoadValue;
-
-  if (TimerPeriodMilliseconds == 0) {
-    // Turn off GPTIMER3
-    MmioWrite32 (gTCLR, TCLR_ST_OFF);
-
-    DisableInterruptSource ();
-  } else {
-    // Calculate required timer count
-    TimerCount = DivU64x32(TimerPeriodMilliseconds * 1000000, PcdGet32(PcdDebugAgentTimerFreqNanoSeconds));
-
-    // Set GPTIMER5 Load register
-    LoadValue = (INT32) -TimerCount;
-    MmioWrite32 (gTLDR, LoadValue);
-    MmioWrite32 (gTCRR, LoadValue);
-
-    // Enable Overflow interrupt
-    MmioWrite32 (gTIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_ENABLE | TIER_MAT_IT_DISABLE);
-
-    // Turn on GPTIMER3, it will reload at overflow
-    MmioWrite32 (gTCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON);
-
-    EnableInterruptSource ();
-  }
-}
-
-
-/**
-  Perform End Of Interrupt for the debug agent timer. This is called in the
-  interrupt handler after the interrupt has been processed.
-
-**/
-VOID
-EFIAPI
-DebugAgentTimerEndOfInterrupt (
-  VOID
-  )
-{
-   // Clear all timer interrupts
-  MmioWrite32 (gTISR, TISR_CLEAR_ALL);
-
-  // Poll interrupt status bits to ensure clearing
-  while ((MmioRead32 (gTISR) & TISR_ALL_INTERRUPT_MASK) != TISR_NO_INTERRUPTS_PENDING);
-
-  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWFIQAGR);
-  ArmDataSynchronizationBarrier ();
-
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf b/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
deleted file mode 100755
index bf09b1155c1d..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
+++ /dev/null
@@ -1,46 +0,0 @@ 
-#/** @file
-# Component description file for Base PCI Cf8 Library.
-#
-# PCI CF8 Library that uses I/O ports 0xCF8 and 0xCFC to perform PCI Configuration cycles.
-#  Layers on top of an I/O Library instance.
-# Copyright (c) 2007, Intel Corporation. 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.
-#
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = DebugAgentTimerLibNull
-  FILE_GUID                      = E82F99DE-74ED-4e56-BBA1-B143FCA3F69A
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = DebugAgentTimerLib|SEC BASE DXE_CORE
-
-
-[Sources.common]
-  DebugAgentTimerLib.c
-
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-  ArmPkg/ArmPkg.dec
-
-
-[LibraryClasses]
-  BaseLib
-  IoLib
-  OmapLib
-  ArmLib
-
-[Pcd]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxDebugAgentTimer
-  gOmap35xxTokenSpaceGuid.PcdDebugAgentTimerFreqNanoSeconds
diff --git a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c b/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c
deleted file mode 100644
index 47161755de84..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.c
+++ /dev/null
@@ -1,72 +0,0 @@ 
-/** @file
-  Add custom commands for BeagleBoard development.
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <PiDxe.h>
-#include <Library/ArmLib.h>
-#include <Library/CacheMaintenanceLib.h>
-#include <Library/EblCmdLib.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiLib.h>
-#include <Library/PcdLib.h>
-#include <Library/EfiFileLib.h>
-
-
-//PcdEmbeddedFdBaseAddress
-
-/**
-  Fill Me In
-
-  Argv[0] - "%CommandName%"
-
-  @param  Argc   Number of command arguments in Argv
-  @param  Argv   Array of strings that represent the parsed command line.
-                 Argv[0] is the command name
-
-  @return EFI_SUCCESS
-
-**/
-EFI_STATUS
-EblEdk2Cmd (
-  IN UINTN  Argc,
-  IN CHAR8  **Argv
-  )
-{
-  return EFI_SUCCESS;
-}
-
-
-GLOBAL_REMOVE_IF_UNREFERENCED const EBL_COMMAND_TABLE mLibCmdTemplate[] =
-{
-  {
-    "edk2",
-    " filename ; Load FD into memory and boot from it",
-    NULL,
-    EblEdk2Cmd
-  }
-};
-
-
-VOID
-EblInitializeExternalCmd (
-  VOID
-  )
-{
-  EblAddCommands (mLibCmdTemplate, sizeof (mLibCmdTemplate)/sizeof (EBL_COMMAND_TABLE));
-  return;
-}
diff --git a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf b/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf
deleted file mode 100644
index dd7a13cf6629..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/EblCmdLib/EblCmdLib.inf
+++ /dev/null
@@ -1,48 +0,0 @@ 
-#/** @file
-# Component description file for the entry point to a EFIDXE Drivers
-#
-# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification
-# Copyright (c) 2007 - 2007, Intel Corporation. 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.
-#
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardEblCmdLib
-  FILE_GUID                      = ea62bdc3-1063-425f-8851-98cb47f213a8
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = EblCmdLib|DXE_DRIVER UEFI_APPLICATION UEFI_DRIVER
-
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
-#
-
-[Sources.common]
-  EblCmdLib.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  ArmPkg/ArmPkg.dec
-
-[LibraryClasses]
-  BaseLib
-  DebugLib
-
-[Protocols]
-
-[Guids]
-
-[Pcd]
diff --git a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c b/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c
deleted file mode 100644
index dcc518244a42..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.c
+++ /dev/null
@@ -1,102 +0,0 @@ 
-/** @file
-  Basic serial IO abstaction for GDB
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Uefi.h>
-#include <Library/GdbSerialLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IoLib.h>
-#include <Library/DebugLib.h>
-#include <Library/OmapLib.h>
-#include <Omap3530/Omap3530.h>
-
-RETURN_STATUS
-EFIAPI
-GdbSerialLibConstructor (
-  VOID
-  )
-{
-  return RETURN_SUCCESS;
-}
-
-RETURN_STATUS
-EFIAPI
-GdbSerialInit (
-  IN UINT64     BaudRate,
-  IN UINT8      Parity,
-  IN UINT8      DataBits,
-  IN UINT8      StopBits
-  )
-{
-  return RETURN_SUCCESS;
-}
-
-BOOLEAN
-EFIAPI
-GdbIsCharAvailable (
-  VOID
-  )
-{
-  UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-
-  if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {
-    return TRUE;
-  } else {
-    return FALSE;
-  }
-}
-
-CHAR8
-EFIAPI
-GdbGetChar (
-  VOID
-  )
-{
-  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-  UINT32  RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;
-  CHAR8   Char;
-
-  while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);
-  Char = MmioRead8(RBR);
-
-  return Char;
-}
-
-VOID
-EFIAPI
-GdbPutChar (
-  IN  CHAR8   Char
-  )
-{
-  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-  UINT32  THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;
-
-  while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);
-  MmioWrite8(THR, Char);
-}
-
-VOID
-GdbPutString (
-  IN CHAR8  *String
-  )
-{
-  while (*String != '\0') {
-    GdbPutChar (*String);
-    String++;
-  }
-}
-
-
-
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf b/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf
deleted file mode 100644
index 2cacd0f0e6c7..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf
+++ /dev/null
@@ -1,41 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = GdbSerialLib
-  FILE_GUID                      = E2423349-EF5D-439B-95F5-8B8D8E3B443F
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = GdbSerialLib
-
-  CONSTRUCTOR                    = GdbSerialLibConstructor
-
-
-[Sources.common]
-  GdbSerialLib.c
-
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  DebugLib
-  IoLib
-  OmapLib
-
-[FixedPcd]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf b/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
deleted file mode 100644
index e20b65477ad3..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
+++ /dev/null
@@ -1,45 +0,0 @@ 
-#/** @file
-# Timer library implementation
-#
-# A non-functional instance of the Timer Library that can be used as a template
-#  for the implementation of a functional timer library instance. This library instance can
-#  also be used to test build DXE, Runtime, DXE SAL, and DXE SMM modules that require timer
-#  services as well as EBC modules that require timer services
-# Copyright (c) 2007, Intel Corporation. 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.
-#
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardTimerLib
-  FILE_GUID                      = fe1d7183-9abb-42ce-9a3b-36d7c6a8959f
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = TimerLib
-
-[Sources.common]
-  TimerLib.c
-
-[Packages]
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-
-[LibraryClasses]
-  DebugLib
-  OmapLib
-  IoLib
-
-[Pcd]
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c b/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c
deleted file mode 100644
index 652c47b6f61a..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/TimerLib.c
+++ /dev/null
@@ -1,133 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Uefi.h>
-
-#include <Library/BaseLib.h>
-#include <Library/TimerLib.h>
-#include <Library/DebugLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IoLib.h>
-#include <Library/OmapLib.h>
-
-#include <Omap3530/Omap3530.h>
-
-RETURN_STATUS
-EFIAPI
-TimerConstructor (
-  VOID
-  )
-{
-  UINTN  Timer            = PcdGet32(PcdOmap35xxFreeTimer);
-  UINT32 TimerBaseAddress = TimerBase(Timer);
-
-  if ((MmioRead32 (TimerBaseAddress + GPTIMER_TCLR) & TCLR_ST_ON) == 0) {
-    // Set source clock for GPT3 & GPT4 to SYS_CLK
-    MmioOr32 (CM_CLKSEL_PER, CM_CLKSEL_PER_CLKSEL_GPT3_SYS | CM_CLKSEL_PER_CLKSEL_GPT4_SYS);
-
-    // Set count & reload registers
-    MmioWrite32 (TimerBaseAddress + GPTIMER_TCRR, 0x00000000);
-    MmioWrite32 (TimerBaseAddress + GPTIMER_TLDR, 0x00000000);
-
-    // Disable interrupts
-    MmioWrite32 (TimerBaseAddress + GPTIMER_TIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_DISABLE | TIER_MAT_IT_DISABLE);
-
-    // Start Timer
-    MmioWrite32 (TimerBaseAddress + GPTIMER_TCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON);
-
-    // Disable OMAP Watchdog timer (WDT2)
-    MmioWrite32 (WDTIMER2_BASE + WSPR, 0xAAAA);
-    DEBUG ((EFI_D_ERROR, "Magic delay to disable watchdog timers properly.\n"));
-    MmioWrite32 (WDTIMER2_BASE + WSPR, 0x5555);
-  }
-  return EFI_SUCCESS;
-}
-
-UINTN
-EFIAPI
-MicroSecondDelay (
-  IN  UINTN MicroSeconds
-  )
-{
-  UINT64  NanoSeconds;
-
-  NanoSeconds = MultU64x32(MicroSeconds, 1000);
-
-  while (NanoSeconds > (UINTN)-1) {
-    NanoSecondDelay((UINTN)-1);
-    NanoSeconds -= (UINTN)-1;
-  }
-
-  NanoSecondDelay(NanoSeconds);
-
-  return MicroSeconds;
-}
-
-UINTN
-EFIAPI
-NanoSecondDelay (
-  IN  UINTN NanoSeconds
-  )
-{
-  UINT32  Delay;
-  UINT32  StartTime;
-  UINT32  CurrentTime;
-  UINT32  ElapsedTime;
-  UINT32  TimerCountRegister;
-
-  Delay = (NanoSeconds / PcdGet32(PcdEmbeddedPerformanceCounterPeriodInNanoseconds)) + 1;
-
-  TimerCountRegister = TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR;
-
-  StartTime = MmioRead32 (TimerCountRegister);
-
-  do
-  {
-    CurrentTime = MmioRead32 (TimerCountRegister);
-    ElapsedTime = CurrentTime - StartTime;
-  } while (ElapsedTime < Delay);
-
-  NanoSeconds = ElapsedTime * PcdGet32(PcdEmbeddedPerformanceCounterPeriodInNanoseconds);
-
-  return NanoSeconds;
-}
-
-UINT64
-EFIAPI
-GetPerformanceCounter (
-  VOID
-  )
-{
-  return (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TCRR);
-}
-
-UINT64
-EFIAPI
-GetPerformanceCounterProperties (
-  OUT UINT64  *StartValue,  OPTIONAL
-  OUT UINT64  *EndValue     OPTIONAL
-  )
-{
-  if (StartValue != NULL) {
-    // Timer starts with the reload value
-    *StartValue = (UINT64)MmioRead32 (TimerBase(PcdGet32(PcdOmap35xxFreeTimer)) + GPTIMER_TLDR);
-  }
-
-  if (EndValue != NULL) {
-    // Timer counts up to 0xFFFFFFFF
-    *EndValue = 0xFFFFFFFF;
-  }
-
-  return PcdGet64(PcdEmbeddedPerformanceCounterFrequencyInHz);
-}
diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c b/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c
deleted file mode 100755
index 41cfefbebc11..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.c
+++ /dev/null
@@ -1,176 +0,0 @@ 
-/** @file
-  Abstractions for simple OMAP DMA channel.
-
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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.
-
-**/
-
-#include <Base.h>
-#include <Library/DebugLib.h>
-#include <Library/OmapDmaLib.h>
-#include <Library/IoLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Omap3530/Omap3530.h>
-
-
-/**
-  Configure OMAP DMA Channel
-
-  @param  Channel               DMA Channel to configure
-  @param  Dma4                  Pointer to structure used to initialize DMA registers for the Channel
-
-  @retval EFI_SUCCESS           The range was mapped for the returned NumberOfBytes.
-  @retval EFI_INVALID_PARAMETER Channel is not valid
-  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
-
-**/
-EFI_STATUS
-EFIAPI
-EnableDmaChannel (
-  IN  UINTN       Channel,
-  IN  OMAP_DMA4   *DMA4
-  )
-{
-  UINT32  RegVal;
-
-
-  if (Channel > DMA4_MAX_CHANNEL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  /* 1) Configure the transfer parameters in the logical DMA registers */
-  /*-------------------------------------------------------------------*/
-
-  /* a) Set the data type CSDP[1:0], the Read/Write Port access type
-        CSDP[8:7]/[15:14], the Source/dest endianism CSDP[21]/CSDP[19],
-        write mode CSDP[17:16], source/dest packed or nonpacked CSDP[6]/CSDP[13] */
-
-  // Read CSDP
-  RegVal = MmioRead32 (DMA4_CSDP (Channel));
-
-  // Build reg
-  RegVal = ((RegVal & ~ 0x3) | DMA4->DataType );
-  RegVal = ((RegVal & ~(0x3 <<  7)) | (DMA4->ReadPortAccessType << 7));
-  RegVal = ((RegVal & ~(0x3 << 14)) | (DMA4->WritePortAccessType << 14));
-  RegVal = ((RegVal & ~(0x1 << 21)) | (DMA4->SourceEndiansim << 21));
-  RegVal = ((RegVal & ~(0x1 << 19)) | (DMA4->DestinationEndianism << 19));
-  RegVal = ((RegVal & ~(0x3 << 16)) | (DMA4->WriteMode << 16));
-  RegVal = ((RegVal & ~(0x1 <<  6)) | (DMA4->SourcePacked << 6));
-  RegVal = ((RegVal & ~(0x1 << 13)) | (DMA4->DestinationPacked << 13));
-  // Write CSDP
-  MmioWrite32 (DMA4_CSDP (Channel), RegVal);
-
-  /* b) Set the number of element per frame CEN[23:0]*/
-  MmioWrite32 (DMA4_CEN (Channel), DMA4->NumberOfElementPerFrame);
-
-  /* c) Set the number of frame per block CFN[15:0]*/
-  MmioWrite32 (DMA4_CFN (Channel), DMA4->NumberOfFramePerTransferBlock);
-
-  /* d) Set the Source/dest start address index CSSA[31:0]/CDSA[31:0]*/
-  MmioWrite32 (DMA4_CSSA (Channel), DMA4->SourceStartAddress);
-  MmioWrite32 (DMA4_CDSA (Channel), DMA4->DestinationStartAddress);
-
-  /* e) Set the Read Port addressing mode CCR[13:12], the Write Port addressing mode CCR[15:14],
-        read/write priority CCR[6]/CCR[26]
-        I changed LCH CCR[20:19]=00 and CCR[4:0]=00000 to
-        LCH CCR[20:19]= DMA4->WriteRequestNumber and CCR[4:0]=DMA4->ReadRequestNumber
-  */
-
-  // Read CCR
-  RegVal = MmioRead32 (DMA4_CCR (Channel));
-
-  // Build reg
-  RegVal  = ((RegVal &  ~0x1f)            | DMA4->ReadRequestNumber);
-  RegVal  = ((RegVal &  ~(BIT20 | BIT19)) | DMA4->WriteRequestNumber << 19);
-  RegVal  = ((RegVal & ~(0x3 << 12)) | (DMA4->ReadPortAccessMode << 12));
-  RegVal  = ((RegVal & ~(0x3 << 14)) | (DMA4->WritePortAccessMode << 14));
-  RegVal  = ((RegVal & ~(0x1 <<  6)) | (DMA4->ReadPriority << 6));
-  RegVal  = ((RegVal & ~(0x1 << 26)) | (DMA4->WritePriority << 26));
-
-  // Write CCR
-  MmioWrite32 (DMA4_CCR (Channel), RegVal);
-
-  /* f)- Set the source element index CSEI[15:0]*/
-  MmioWrite32 (DMA4_CSEI (Channel), DMA4->SourceElementIndex);
-
-  /* - Set the source frame index CSFI[15:0]*/
-  MmioWrite32 (DMA4_CSFI (Channel), DMA4->SourceFrameIndex);
-
-
-  /* - Set the destination element index CDEI[15:0]*/
-  MmioWrite32 (DMA4_CDEI (Channel), DMA4->DestinationElementIndex);
-
-  /* - Set the destination frame index CDFI[31:0]*/
-  MmioWrite32 (DMA4_CDFI (Channel), DMA4->DestinationFrameIndex);
-
-  MmioWrite32 (DMA4_CDFI (Channel), DMA4->DestinationFrameIndex);
-
-  // Enable all the status bits since we are polling
-  MmioWrite32 (DMA4_CICR (Channel), DMA4_CICR_ENABLE_ALL);
-  MmioWrite32 (DMA4_CSR (Channel),  DMA4_CSR_RESET);
-
-  /* 2) Start the DMA transfer by Setting the enable bit CCR[7]=1 */
-  /*--------------------------------------------------------------*/
-  //write enable bit
-  MmioOr32 (DMA4_CCR(Channel), DMA4_CCR_ENABLE); //Launch transfer
-
-  return EFI_SUCCESS;
-}
-
-/**
-  Turn of DMA channel configured by EnableDma().
-
-  @param  Channel               DMA Channel to configure
-  @param  SuccesMask            Bits in DMA4_CSR register indicate EFI_SUCCESS
-  @param  ErrorMask             Bits in DMA4_CSR register indicate EFI_DEVICE_ERROR
-
-  @retval EFI_SUCCESS           DMA hardware disabled
-  @retval EFI_INVALID_PARAMETER Channel is not valid
-  @retval EFI_DEVICE_ERROR      The system hardware could not map the requested information.
-
-**/
-EFI_STATUS
-EFIAPI
-DisableDmaChannel (
-  IN  UINTN       Channel,
-  IN  UINT32      SuccessMask,
-  IN  UINT32      ErrorMask
-  )
-{
-  EFI_STATUS  Status = EFI_SUCCESS;
-  UINT32      Reg;
-
-
-  if (Channel > DMA4_MAX_CHANNEL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  do {
-    Reg = MmioRead32 (DMA4_CSR(Channel));
-    if ((Reg & ErrorMask) != 0) {
-      Status = EFI_DEVICE_ERROR;
-      DEBUG ((EFI_D_ERROR, "DMA Error (%d) %x\n", Channel, Reg));
-      break;
-    }
-  } while ((Reg & SuccessMask) != SuccessMask);
-
-
-  // Disable all status bits and clear them
-  MmioWrite32 (DMA4_CICR (Channel), 0);
-  MmioWrite32 (DMA4_CSR (Channel),  DMA4_CSR_RESET);
-
-  MmioAnd32 (DMA4_CCR(0), ~(DMA4_CCR_ENABLE | DMA4_CCR_RD_ACTIVE | DMA4_CCR_WR_ACTIVE));
-  return Status;
-}
-
-
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf b/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
deleted file mode 100755
index 1893adf1180a..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
+++ /dev/null
@@ -1,50 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = OmapDmaLib
-  FILE_GUID                      = 09B17D99-BB07-49a8-B0D2-06D6AFCBE3AB
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = OmapDmaLib
-
-
-[Sources.common]
-  OmapDmaLib.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  ArmPkg/ArmPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  DebugLib
-  UefiBootServicesTableLib
-  MemoryAllocationLib
-  UncachedMemoryAllocationLib
-  IoLib
-  BaseMemoryLib
-  ArmLib
-
-
-[Protocols]
-  gEfiCpuArchProtocolGuid
-
-[Guids]
-
-[Pcd]
-
-[Depex]
-  gEfiCpuArchProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c b/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c
deleted file mode 100644
index 29645ee55a91..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.c
+++ /dev/null
@@ -1,83 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Base.h>
-#include <Library/DebugLib.h>
-#include <Library/OmapLib.h>
-#include <Omap3530/Omap3530.h>
-
-UINT32
-GpioBase (
-  IN  UINTN Port
-  )
-{
-  switch (Port) {
-  case 1:  return GPIO1_BASE;
-  case 2:  return GPIO2_BASE;
-  case 3:  return GPIO3_BASE;
-  case 4:  return GPIO4_BASE;
-  case 5:  return GPIO5_BASE;
-  case 6:  return GPIO6_BASE;
-  default: ASSERT(FALSE); return 0;
-  }
-}
-
-UINT32
-TimerBase (
-  IN  UINTN Timer
-  )
-{
-  switch (Timer) {
-  case  1: return GPTIMER1_BASE;
-  case  2: return GPTIMER2_BASE;
-  case  3: return GPTIMER3_BASE;
-  case  4: return GPTIMER4_BASE;
-  case  5: return GPTIMER5_BASE;
-  case  6: return GPTIMER6_BASE;
-  case  7: return GPTIMER7_BASE;
-  case  8: return GPTIMER8_BASE;
-  case  9: return GPTIMER9_BASE;
-  case 10: return GPTIMER10_BASE;
-  case 11: return GPTIMER11_BASE;
-  case 12: return GPTIMER12_BASE;
-  default: return 0;
-  }
-}
-
-UINTN
-InterruptVectorForTimer (
-  IN  UINTN Timer
-  )
-{
-  if ((Timer < 1) || (Timer > 12)) {
-    ASSERT(FALSE);
-    return 0xFFFFFFFF;
-  }
-
-  return 36 + Timer;
-}
-
-UINT32
-UartBase (
-  IN  UINTN Uart
-  )
-{
-  switch (Uart) {
-  case 1:  return UART1_BASE;
-  case 2:  return UART2_BASE;
-  case 3:  return UART3_BASE;
-  default: ASSERT(FALSE); return 0;
-  }
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf b/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
deleted file mode 100644
index b75d68696c66..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
+++ /dev/null
@@ -1,37 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = OmapLib
-  FILE_GUID                      = d035f5c2-1b92-4746-9f6c-5ff6202970df
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = OmapLib
-
-[Sources.common]
-  OmapLib.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  DebugLib
-
-[Protocols]
-
-[Guids]
-
-[Pcd]
diff --git a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c b/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c
deleted file mode 100755
index 0ae452ebd7c1..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.c
+++ /dev/null
@@ -1,297 +0,0 @@ 
-/** @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 <Uefi.h>
-
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IoLib.h>
-
-#include <Protocol/RealTimeClock.h>
-#include <Protocol/EmbeddedExternalDevice.h>
-
-#include <Omap3530/Omap3530.h>
-#include <TPS65950.h>
-
-
-EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
-INT16                      TimeZone = EFI_UNSPECIFIED_TIMEZONE;
-
-/**
-  Returns the current time and date information, and the time-keeping capabilities
-  of the hardware platform.
-
-  @param  Time                  A pointer to storage to receive a snapshot of the current time.
-  @param  Capabilities          An optional pointer to a buffer to receive the real time clock
-                                device's capabilities.
-
-  @retval EFI_SUCCESS           The operation completed successfully.
-  @retval EFI_INVALID_PARAMETER Time is NULL.
-  @retval EFI_DEVICE_ERROR      The time could not be retrieved due to hardware error.
-
-**/
-EFI_STATUS
-EFIAPI
-LibGetTime (
-  OUT EFI_TIME                *Time,
-  OUT EFI_TIME_CAPABILITIES   *Capabilities
-  )
-{
-  EFI_STATUS            Status;
-  UINT8                 Data;
-  EFI_TPL               OldTpl;
-
-  if (Time == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
-
-  /* Get time and date */
-  ZeroMem(Time, sizeof(EFI_TIME));
-
-  // Latch values
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-  Data |= BIT6;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-
-  // Read registers
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-  Time->Year = 2000 + ((Data >> 4) & 0xF) * 10 + (Data & 0xF);
-
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-  Time->Month = ((Data >> 4) & 0x1) * 10 + (Data & 0xF);
-
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-  Time->Day = ((Data >> 4) & 0x3) * 10 + (Data & 0xF);
-
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-  Time->Hour = ((Data >> 4) & 0x3) * 10 + (Data & 0xF);
-
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-  Time->Minute = ((Data >> 4) & 0x7) * 10 + (Data & 0xF);
-
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-  Time->Second = ((Data >> 4) & 0x7) * 10 + (Data & 0xF);
-
-  Time->TimeZone = TimeZone;
-  // TODO: check what to use here
-  Time->Daylight = EFI_TIME_ADJUST_DAYLIGHT;
-
-  // Set capabilities
-
-  // TODO: Set real capabilities
-  if (Capabilities != NULL) {
-    Capabilities->Resolution = 1;
-    Capabilities->Accuracy = 50000000;
-    Capabilities->SetsToZero = FALSE;
-  }
-
-EXIT:
-  gBS->RestoreTPL(OldTpl);
-
-  return (Status == EFI_SUCCESS) ? Status : EFI_DEVICE_ERROR;
-}
-
-/**
-  Sets the current local time and date information.
-
-  @param  Time                  A pointer to the current time.
-
-  @retval EFI_SUCCESS           The operation completed successfully.
-  @retval EFI_INVALID_PARAMETER A time field is out of range.
-  @retval EFI_DEVICE_ERROR      The time could not be set due due to hardware error.
-
-**/
-EFI_STATUS
-EFIAPI
-LibSetTime (
-  IN EFI_TIME                *Time
-  )
-{
-  EFI_STATUS Status;
-  UINT8      Data;
-  UINT8      MonthDayCount[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-  EFI_TPL    OldTpl;
-
-  // Input validation according both to UEFI spec and hardware constraints
-  // UEFI spec says valid year range is 1900-9999 but TPS only supports 2000-2099
-  if ( (Time == NULL)
-    || (Time->Year < 2000 || Time->Year > 2099)
-    || (Time->Month < 1 || Time->Month > 12)
-    || (Time->Day < 1 || Time->Day > MonthDayCount[Time->Month])
-    || (Time->Hour > 23)
-    || (Time->Minute > 59)
-    || (Time->Second > 59)
-    || (Time->Nanosecond > 999999999)
-    || ((Time->TimeZone < -1440 || Time->TimeZone > 1440) && Time->TimeZone != 2047)
-  ) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
-
-  Data = Time->Year - 2000;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, YEARS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-
-  Data = ((Time->Month / 10) << 4) | (Time->Month % 10);
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MONTHS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-
-  Data = ((Time->Day / 10) << 4) | (Time->Day % 10);
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, DAYS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-
-  Data = ((Time->Hour / 10) << 4) | (Time->Hour % 10);
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, HOURS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-
-  Data = ((Time->Minute / 10) << 4) | (Time->Minute % 10);
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, MINUTES_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-
-  Data = ((Time->Second / 10) << 4) | (Time->Second % 10);
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, SECONDS_REG), 1, &Data);
-  if (Status != EFI_SUCCESS) goto EXIT;
-
-  TimeZone = Time->TimeZone;
-
-EXIT:
-  gBS->RestoreTPL(OldTpl);
-
-  return (Status == EFI_SUCCESS) ? Status : EFI_DEVICE_ERROR;
-}
-
-/**
-  Returns the current wakeup alarm clock setting.
-
-  @param  Enabled               Indicates if the alarm is currently enabled or disabled.
-  @param  Pending               Indicates if the alarm signal is pending and requires acknowledgement.
-  @param  Time                  The current alarm setting.
-
-  @retval EFI_SUCCESS           The alarm settings were returned.
-  @retval EFI_INVALID_PARAMETER Any parameter is NULL.
-  @retval EFI_DEVICE_ERROR      The wakeup time could not be retrieved due to a hardware error.
-
-**/
-EFI_STATUS
-EFIAPI
-LibGetWakeupTime (
-  OUT BOOLEAN     *Enabled,
-  OUT BOOLEAN     *Pending,
-  OUT EFI_TIME    *Time
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-/**
-  Sets the system wakeup alarm clock time.
-
-  @param  Enabled               Enable or disable the wakeup alarm.
-  @param  Time                  If Enable is TRUE, the time to set the wakeup alarm for.
-
-  @retval EFI_SUCCESS           If Enable is TRUE, then the wakeup alarm was enabled. If
-                                Enable is FALSE, then the wakeup alarm was disabled.
-  @retval EFI_INVALID_PARAMETER A time field is out of range.
-  @retval EFI_DEVICE_ERROR      The wakeup time could not be set due to a hardware error.
-  @retval EFI_UNSUPPORTED       A wakeup timer is not supported on this platform.
-
-**/
-EFI_STATUS
-EFIAPI
-LibSetWakeupTime (
-  IN BOOLEAN      Enabled,
-  OUT EFI_TIME    *Time
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-/**
-  This is the declaration of an EFI image entry point. This can be the entry point to an application
-  written to this specification, an EFI boot service driver, or an EFI runtime driver.
-
-  @param  ImageHandle           Handle that identifies the loaded image.
-  @param  SystemTable           System Table for this image.
-
-  @retval EFI_SUCCESS           The operation completed successfully.
-
-**/
-EFI_STATUS
-EFIAPI
-LibRtcInitialize (
-  IN EFI_HANDLE                            ImageHandle,
-  IN EFI_SYSTEM_TABLE                      *SystemTable
-  )
-{
-  EFI_STATUS    Status;
-  EFI_HANDLE    Handle;
-  UINT8         Data;
-  EFI_TPL       OldTpl;
-
-  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
-  ASSERT_EFI_ERROR(Status);
-
-  OldTpl = gBS->RaiseTPL(TPL_NOTIFY);
-  Data = 1;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, RTC_CTRL_REG), 1, &Data);
-  ASSERT_EFI_ERROR(Status);
-  gBS->RestoreTPL(OldTpl);
-
-  // Setup the setters and getters
-  gRT->GetTime       = LibGetTime;
-  gRT->SetTime       = LibSetTime;
-  gRT->GetWakeupTime = LibGetWakeupTime;
-  gRT->SetWakeupTime = LibSetWakeupTime;
-
-  // Install the protocol
-  Handle = NULL;
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &Handle,
-                  &gEfiRealTimeClockArchProtocolGuid,  NULL,
-                  NULL
-                 );
-
-  return Status;
-}
-
-/**
-  Fixup internal data so that EFI can be call in virtual mode.
-  Call the passed in Child Notify event and convert any pointers in
-  lib to virtual mode.
-
-  @param[in]    Event   The Event that is being processed
-  @param[in]    Context Event Context
-**/
-VOID
-EFIAPI
-LibRtcVirtualNotifyEvent (
-  IN EFI_EVENT        Event,
-  IN VOID             *Context
-  )
-{
-  return;
-}
diff --git a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf b/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf
deleted file mode 100755
index 83edd86d6ccd..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf
+++ /dev/null
@@ -1,38 +0,0 @@ 
-#  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.
-#
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = RealTimeClockLib
-  FILE_GUID                      = EC1713DB-7DB5-4c99-8FE2-6F52F95A1132
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = RealTimeClockLib
-
-[Sources.common]
-  RealTimeClockLib.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  IoLib
-  UefiLib
-  DebugLib
-  PcdLib
-
-[Protocols]
-  gEmbeddedExternalDeviceProtocolGuid
-
-[depex]
-  gEmbeddedExternalDeviceProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c b/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c
deleted file mode 100644
index 82f04eaad1c8..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.c
+++ /dev/null
@@ -1,90 +0,0 @@ 
-/** @file
-  Template library implementation to support ResetSystem Runtime call.
-
-  Fill in the templates with what ever makes you system reset.
-
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-
-#include <PiDxe.h>
-
-#include <Library/PcdLib.h>
-#include <Library/ArmLib.h>
-#include <Library/CacheMaintenanceLib.h>
-#include <Library/DebugLib.h>
-#include <Library/EfiResetSystemLib.h>
-
-
-/**
-  Resets the entire platform.
-
-  @param  ResetType             The type of reset to perform.
-  @param  ResetStatus           The status code for the reset.
-  @param  DataSize              The size, in bytes, of WatchdogData.
-  @param  ResetData             For a ResetType of EfiResetCold, EfiResetWarm, or
-                                EfiResetShutdown the data buffer starts with a Null-terminated
-                                Unicode string, optionally followed by additional binary data.
-
-**/
-EFI_STATUS
-EFIAPI
-LibResetSystem (
-  IN EFI_RESET_TYPE   ResetType,
-  IN EFI_STATUS       ResetStatus,
-  IN UINTN            DataSize,
-  IN CHAR16           *ResetData OPTIONAL
-  )
-{
-  if (ResetData != NULL) {
-    DEBUG((EFI_D_ERROR, "%s", ResetData));
-  }
-
-  switch (ResetType) {
-  case EfiResetWarm:
-    // Map a warm reset into a cold reset
-  case EfiResetCold:
-  case EfiResetShutdown:
-  default:
-    // Perform cold reset of the system.
-    MmioOr32 (PRM_RSTCTRL, RST_DPLL3);
-    while ((MmioRead32 (PRM_RSTST) & GLOBAL_COLD_RST) != 0x1);
-    break;
-  }
-
-  // If the reset didn't work, return an error.
-  ASSERT (FALSE);
-  return EFI_DEVICE_ERROR;
-}
-
-
-
-/**
-  Initialize any infrastructure required for LibResetSystem () to function.
-
-  @param  ImageHandle   The firmware allocated handle for the EFI image.
-  @param  SystemTable   A pointer to the EFI System Table.
-
-  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.
-
-**/
-EFI_STATUS
-EFIAPI
-LibInitializeResetSystem (
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_SYSTEM_TABLE  *SystemTable
-  )
-{
-  return EFI_SUCCESS;
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf b/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf
deleted file mode 100644
index 20496fa16735..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/ResetSystemLib/ResetSystemLib.inf
+++ /dev/null
@@ -1,40 +0,0 @@ 
-#/** @file
-# Reset System lib to make it easy to port new platforms
-#
-# Copyright (c) 2008, Apple Inc. 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.
-#
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardResetSystemLib
-  FILE_GUID                      = 781371a2-3fdd-41d4-96a1-7b34cbc9e895
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = EfiResetSystemLib
-
-
-[Sources.common]
-  ResetSystemLib.c
-
-[Packages]
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-  ArmPkg/ArmPkg.dec
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-
-[Pcd.common]
-  gArmTokenSpaceGuid.PcdCpuResetAddress
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedFdBaseAddress
-
-[LibraryClasses]
-  DebugLib
-  BeagleBoardSystemLib
diff --git a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c b/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c
deleted file mode 100644
index 7ac12c729f57..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.c
+++ /dev/null
@@ -1,214 +0,0 @@ 
-/** @file
-  Serial I/O Port library functions with no library constructor/destructor
-
-
-  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-  Copyright (c) 2015, Intel Corporation. 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.
-
-**/
-
-#include <Base.h>
-#include <Library/DebugLib.h>
-#include <Library/SerialPortLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IoLib.h>
-#include <Library/OmapLib.h>
-#include <Omap3530/Omap3530.h>
-
-/*
-
-  Programmed hardware of Serial port.
-
-  @return    Always return EFI_UNSUPPORTED.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortInitialize (
-  VOID
-  )
-{
-  // assume assembly code at reset vector has setup UART
-  return RETURN_SUCCESS;
-}
-
-/**
-  Write data to serial device.
-
-  @param  Buffer           Point of data buffer which need to be writed.
-  @param  NumberOfBytes    Number of output bytes which are cached in Buffer.
-
-  @retval 0                Write data failed.
-  @retval !0               Actual number of bytes writed to serial device.
-
-**/
-UINTN
-EFIAPI
-SerialPortWrite (
-  IN UINT8     *Buffer,
-  IN UINTN     NumberOfBytes
-)
-{
-  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-  UINT32  THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;
-  UINTN   Count;
-
-  for (Count = 0; Count < NumberOfBytes; Count++, Buffer++) {
-    while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);
-    MmioWrite8(THR, *Buffer);
-  }
-
-  return NumberOfBytes;
-}
-
-
-/**
-  Read data from serial device and save the datas in buffer.
-
-  @param  Buffer           Point of data buffer which need to be writed.
-  @param  NumberOfBytes    Number of output bytes which are cached in Buffer.
-
-  @retval 0                Read data failed.
-  @retval !0               Aactual number of bytes read from serial device.
-
-**/
-UINTN
-EFIAPI
-SerialPortRead (
-  OUT UINT8     *Buffer,
-  IN  UINTN     NumberOfBytes
-)
-{
-  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-  UINT32  RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;
-  UINTN   Count;
-
-  for (Count = 0; Count < NumberOfBytes; Count++, Buffer++) {
-    while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);
-    *Buffer = MmioRead8(RBR);
-  }
-
-  return NumberOfBytes;
-}
-
-
-/**
-  Check to see if any data is avaiable to be read from the debug device.
-
-  @retval EFI_SUCCESS       At least one byte of data is avaiable to be read
-  @retval EFI_NOT_READY     No data is avaiable to be read
-  @retval EFI_DEVICE_ERROR  The serial device is not functioning properly
-
-**/
-BOOLEAN
-EFIAPI
-SerialPortPoll (
-  VOID
-  )
-{
-  UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-
-  if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {
-    return TRUE;
-  } else {
-    return FALSE;
-  }
-}
-
-/**
-  Sets the control bits on a serial device.
-
-  @param[in] Control            Sets the bits of Control that are settable.
-
-  @retval RETURN_SUCCESS        The new control bits were set on the serial device.
-  @retval RETURN_UNSUPPORTED    The serial device does not support this operation.
-  @retval RETURN_DEVICE_ERROR   The serial device is not functioning correctly.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortSetControl (
-  IN UINT32 Control
-  )
-{
-  return RETURN_UNSUPPORTED;
-}
-
-/**
-  Retrieve the status of the control bits on a serial device.
-
-  @param[out] Control           A pointer to return the current control signals from the serial device.
-
-  @retval RETURN_SUCCESS        The control bits were read from the serial device.
-  @retval RETURN_UNSUPPORTED    The serial device does not support this operation.
-  @retval RETURN_DEVICE_ERROR   The serial device is not functioning correctly.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortGetControl (
-  OUT UINT32 *Control
-  )
-{
-  *Control = 0;
-  if (!SerialPortPoll ()) {
-    *Control = EFI_SERIAL_INPUT_BUFFER_EMPTY;
-  }
-  return RETURN_SUCCESS;
-}
-
-/**
-  Sets the baud rate, receive FIFO depth, transmit/receice time out, parity,
-  data bits, and stop bits on a serial device.
-
-  @param BaudRate           The requested baud rate. A BaudRate value of 0 will use the
-                            device's default interface speed.
-                            On output, the value actually set.
-  @param ReveiveFifoDepth   The requested depth of the FIFO on the receive side of the
-                            serial interface. A ReceiveFifoDepth value of 0 will use
-                            the device's default FIFO depth.
-                            On output, the value actually set.
-  @param Timeout            The requested time out for a single character in microseconds.
-                            This timeout applies to both the transmit and receive side of the
-                            interface. A Timeout value of 0 will use the device's default time
-                            out value.
-                            On output, the value actually set.
-  @param Parity             The type of parity to use on this serial device. A Parity value of
-                            DefaultParity will use the device's default parity value.
-                            On output, the value actually set.
-  @param DataBits           The number of data bits to use on the serial device. A DataBits
-                            vaule of 0 will use the device's default data bit setting.
-                            On output, the value actually set.
-  @param StopBits           The number of stop bits to use on this serial device. A StopBits
-                            value of DefaultStopBits will use the device's default number of
-                            stop bits.
-                            On output, the value actually set.
-
-  @retval RETURN_SUCCESS            The new attributes were set on the serial device.
-  @retval RETURN_UNSUPPORTED        The serial device does not support this operation.
-  @retval RETURN_INVALID_PARAMETER  One or more of the attributes has an unsupported value.
-  @retval RETURN_DEVICE_ERROR       The serial device is not functioning correctly.
-
-**/
-RETURN_STATUS
-EFIAPI
-SerialPortSetAttributes (
-  IN OUT UINT64             *BaudRate,
-  IN OUT UINT32             *ReceiveFifoDepth,
-  IN OUT UINT32             *Timeout,
-  IN OUT EFI_PARITY_TYPE    *Parity,
-  IN OUT UINT8              *DataBits,
-  IN OUT EFI_STOP_BITS_TYPE *StopBits
-  )
-{
-  return RETURN_UNSUPPORTED;
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf b/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf
deleted file mode 100644
index 3382ef75296f..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf
+++ /dev/null
@@ -1,44 +0,0 @@ 
-#/** @file
-# EDK Serial port lib
-#
-# Copyright (c) 2009, Apple Inc. 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.
-#
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardSerialPortLib
-  FILE_GUID                      = 97546cbd-c0ff-4c48-ab0b-e4f58862acd3
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = SerialPortLib
-
-
-#
-#  VALID_ARCHITECTURES           = ARM IA32 X64 IPF EBC
-#
-
-[Sources.common]
-  SerialPortLib.c
-
-[LibraryClasses]
-  DebugLib
-  IoLib
-  OmapLib
-
-[Packages]
-  EmbeddedPkg/EmbeddedPkg.dec
-  MdePkg/MdePkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[FixedPcd]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart
-
diff --git a/Chips/TexasInstruments/Omap35xx/License.txt b/Chips/TexasInstruments/Omap35xx/License.txt
deleted file mode 100755
index 05dbd3606dcc..000000000000
--- a/Chips/TexasInstruments/Omap35xx/License.txt
+++ /dev/null
@@ -1,26 +0,0 @@ 
-Copyright (c) 2009-2010, Apple Inc. All rights reserved.
-Copyright (c) 2011-2012, ARM Limited. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in
-  the documentation and/or other materials provided with the
-  distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c b/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c
deleted file mode 100644
index 9f0ebe0f65d5..000000000000
--- a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.c
+++ /dev/null
@@ -1,1494 +0,0 @@ 
-/** @file
-  MMC/SD Card driver for OMAP 35xx (SDIO not supported)
-
-  This driver always produces a BlockIo protocol but it starts off with no Media
-  present. A TimerCallBack detects when media is inserted or removed and after
-  a media change event a call to BlockIo ReadBlocks/WriteBlocks will cause the
-  media to be detected (or removed) and the BlockIo Media structure will get
-  updated. No MMC/SD Card harward registers are updated until the first BlockIo
-  ReadBlocks/WriteBlocks after media has been insterted (booting with a card
-  plugged in counts as an insertion event).
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include "MMCHS.h"
-
-EFI_BLOCK_IO_MEDIA gMMCHSMedia = {
-  SIGNATURE_32('s','d','i','o'),            // MediaId
-  TRUE,                                     // RemovableMedia
-  FALSE,                                    // MediaPresent
-  FALSE,                                    // LogicalPartition
-  FALSE,                                    // ReadOnly
-  FALSE,                                    // WriteCaching
-  512,                                      // BlockSize
-  4,                                        // IoAlign
-  0,                                        // Pad
-  0                                         // LastBlock
-};
-
-typedef struct {
-  VENDOR_DEVICE_PATH  Mmc;
-  EFI_DEVICE_PATH     End;
-} MMCHS_DEVICE_PATH;
-
-MMCHS_DEVICE_PATH gMmcHsDevicePath = {
-  {
-    HARDWARE_DEVICE_PATH,
-    HW_VENDOR_DP,
-    (UINT8)(sizeof(VENDOR_DEVICE_PATH)),
-    (UINT8)((sizeof(VENDOR_DEVICE_PATH)) >> 8),
-    0xb615f1f5, 0x5088, 0x43cd, 0x80, 0x9c, 0xa1, 0x6e, 0x52, 0x48, 0x7d, 0x00
-  },
-  {
-    END_DEVICE_PATH_TYPE,
-    END_ENTIRE_DEVICE_PATH_SUBTYPE,
-    { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0 }
-  }
-};
-
-CARD_INFO                  gCardInfo;
-EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
-EFI_EVENT                  gTimerEvent;
-BOOLEAN                    gMediaChange = FALSE;
-
-//
-// Internal Functions
-//
-
-
-VOID
-ParseCardCIDData (
-  UINT32 Response0,
-  UINT32 Response1,
-  UINT32 Response2,
-  UINT32 Response3
-  )
-{
-  gCardInfo.CIDData.MDT = ((Response0 >> 8) & 0xFFF);
-  gCardInfo.CIDData.PSN = (((Response0 >> 24) & 0xFF) | ((Response1 & 0xFFFFFF) << 8));
-  gCardInfo.CIDData.PRV = ((Response1 >> 24) & 0xFF);
-  gCardInfo.CIDData.PNM[4] = ((Response2) & 0xFF);
-  gCardInfo.CIDData.PNM[3] = ((Response2 >> 8) & 0xFF);
-  gCardInfo.CIDData.PNM[2] = ((Response2 >> 16) & 0xFF);
-  gCardInfo.CIDData.PNM[1] = ((Response2 >> 24) & 0xFF);
-  gCardInfo.CIDData.PNM[0] = ((Response3) & 0xFF);
-  gCardInfo.CIDData.OID = ((Response3 >> 8) & 0xFFFF);
-  gCardInfo.CIDData.MID = ((Response3 >> 24) & 0xFF);
-}
-
-
-VOID
-UpdateMMCHSClkFrequency (
-  UINTN NewCLKD
-  )
-{
-  //Set Clock enable to 0x0 to not provide the clock to the card
-  MmioAnd32 (MMCHS_SYSCTL, ~CEN);
-
-  //Set new clock frequency.
-  MmioAndThenOr32 (MMCHS_SYSCTL, ~CLKD_MASK, NewCLKD << 6);
-
-  //Poll till Internal Clock Stable
-  while ((MmioRead32 (MMCHS_SYSCTL) & ICS_MASK) != ICS);
-
-  //Set Clock enable to 0x1 to provide the clock to the card
-  MmioOr32 (MMCHS_SYSCTL, CEN);
-}
-
-
-EFI_STATUS
-SendCmd (
-  UINTN Cmd,
-  UINTN CmdInterruptEnableVal,
-  UINTN CmdArgument
-  )
-{
-  UINTN MmcStatus;
-  UINTN RetryCount = 0;
-
-  //Check if command line is in use or not. Poll till command line is available.
-  while ((MmioRead32 (MMCHS_PSTATE) & DATI_MASK) == DATI_NOT_ALLOWED);
-
-  //Provide the block size.
-  MmioWrite32 (MMCHS_BLK, BLEN_512BYTES);
-
-  //Setting Data timeout counter value to max value.
-  MmioAndThenOr32 (MMCHS_SYSCTL, ~DTO_MASK, DTO_VAL);
-
-  //Clear Status register.
-  MmioWrite32 (MMCHS_STAT, 0xFFFFFFFF);
-
-  //Set command argument register
-  MmioWrite32 (MMCHS_ARG, CmdArgument);
-
-  //Enable interrupt enable events to occur
-  MmioWrite32 (MMCHS_IE, CmdInterruptEnableVal);
-
-  //Send a command
-  MmioWrite32 (MMCHS_CMD, Cmd);
-
-  //Check for the command status.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    do {
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while (MmcStatus == 0);
-
-    //Read status of command response
-    if ((MmcStatus & ERRI) != 0) {
-
-      //Perform soft-reset for mmci_cmd line.
-      MmioOr32 (MMCHS_SYSCTL, SRC);
-      while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
-
-      DEBUG ((EFI_D_INFO, "MmcStatus: %x\n", MmcStatus));
-      return EFI_DEVICE_ERROR;
-    }
-
-    //Check if command is completed.
-    if ((MmcStatus & CC) == CC) {
-      MmioWrite32 (MMCHS_STAT, CC);
-      break;
-    }
-
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-
-VOID
-GetBlockInformation (
-  UINTN *BlockSize,
-  UINTN *NumBlocks
-  )
-{
-  CSD_SDV2 *CsdSDV2Data;
-  UINTN    CardSize;
-
-  if (gCardInfo.CardType == SD_CARD_2_HIGH) {
-    CsdSDV2Data = (CSD_SDV2 *)&gCardInfo.CSDData;
-
-    //Populate BlockSize.
-    *BlockSize = (0x1UL << CsdSDV2Data->READ_BL_LEN);
-
-    //Calculate Total number of blocks.
-    CardSize = CsdSDV2Data->C_SIZELow16 | (CsdSDV2Data->C_SIZEHigh6 << 2);
-    *NumBlocks = ((CardSize + 1) * 1024);
-  } else {
-    //Populate BlockSize.
-    *BlockSize = (0x1UL << gCardInfo.CSDData.READ_BL_LEN);
-
-    //Calculate Total number of blocks.
-    CardSize = gCardInfo.CSDData.C_SIZELow2 | (gCardInfo.CSDData.C_SIZEHigh10 << 2);
-    *NumBlocks = (CardSize + 1) * (1 << (gCardInfo.CSDData.C_SIZE_MULT + 2));
-  }
-
-  //For >=2G card, BlockSize may be 1K, but the transfer size is 512 bytes.
-  if (*BlockSize > 512) {
-    *NumBlocks = MultU64x32(*NumBlocks, *BlockSize/2);
-    *BlockSize = 512;
-  }
-
-  DEBUG ((EFI_D_INFO, "Card type: %x, BlockSize: %x, NumBlocks: %x\n", gCardInfo.CardType, *BlockSize, *NumBlocks));
-}
-
-
-VOID
-CalculateCardCLKD (
-  UINTN *ClockFrequencySelect
-  )
-{
-  UINT8    MaxDataTransferRate;
-  UINTN    TransferRateValue = 0;
-  UINTN    TimeValue = 0 ;
-  UINTN    Frequency = 0;
-
-  MaxDataTransferRate = gCardInfo.CSDData.TRAN_SPEED;
-
-  // For SD Cards  we would need to send CMD6 to set
-  // speeds abouve 25MHz. High Speed mode 50 MHz and up
-
-  //Calculate Transfer rate unit (Bits 2:0 of TRAN_SPEED)
-  switch (MaxDataTransferRate & 0x7) {
-    case 0:
-      TransferRateValue = 100 * 1000;
-      break;
-
-    case 1:
-      TransferRateValue = 1 * 1000 * 1000;
-      break;
-
-    case 2:
-      TransferRateValue = 10 * 1000 * 1000;
-      break;
-
-    case 3:
-      TransferRateValue = 100 * 1000 * 1000;
-      break;
-
-    default:
-      DEBUG((EFI_D_ERROR, "Invalid parameter.\n"));
-      ASSERT(FALSE);
-  }
-
-  //Calculate Time value (Bits 6:3 of TRAN_SPEED)
-  switch ((MaxDataTransferRate >> 3) & 0xF) {
-    case 1:
-      TimeValue = 10;
-      break;
-
-    case 2:
-      TimeValue = 12;
-      break;
-
-    case 3:
-      TimeValue = 13;
-      break;
-
-    case 4:
-      TimeValue = 15;
-      break;
-
-    case 5:
-      TimeValue = 20;
-      break;
-
-    case 6:
-      TimeValue = 25;
-      break;
-
-    case 7:
-      TimeValue = 30;
-      break;
-
-    case 8:
-      TimeValue = 35;
-      break;
-
-    case 9:
-      TimeValue = 40;
-      break;
-
-    case 10:
-      TimeValue = 45;
-      break;
-
-    case 11:
-      TimeValue = 50;
-      break;
-
-    case 12:
-      TimeValue = 55;
-      break;
-
-    case 13:
-      TimeValue = 60;
-      break;
-
-    case 14:
-      TimeValue = 70;
-      break;
-
-    case 15:
-      TimeValue = 80;
-      break;
-
-    default:
-      DEBUG((EFI_D_ERROR, "Invalid parameter.\n"));
-      ASSERT(FALSE);
-  }
-
-  Frequency = TransferRateValue * TimeValue/10;
-
-  //Calculate Clock divider value to program in MMCHS_SYSCTL[CLKD] field.
-  *ClockFrequencySelect = ((MMC_REFERENCE_CLK/Frequency) + 1);
-
-  DEBUG ((EFI_D_INFO, "MaxDataTransferRate: 0x%x, Frequency: %d KHz, ClockFrequencySelect: %x\n", MaxDataTransferRate, Frequency/1000, *ClockFrequencySelect));
-}
-
-
-VOID
-GetCardConfigurationData (
-  VOID
-  )
-{
-  UINTN  BlockSize;
-  UINTN  NumBlocks;
-  UINTN  ClockFrequencySelect;
-
-  //Calculate BlockSize and Total number of blocks in the detected card.
-  GetBlockInformation(&BlockSize, &NumBlocks);
-  gCardInfo.BlockSize = BlockSize;
-  gCardInfo.NumBlocks = NumBlocks;
-
-  //Calculate Card clock divider value.
-  CalculateCardCLKD(&ClockFrequencySelect);
-  gCardInfo.ClockFrequencySelect = ClockFrequencySelect;
-}
-
-
-EFI_STATUS
-InitializeMMCHS (
-  VOID
-  )
-{
-  UINT8      Data = 0;
-  EFI_STATUS Status;
-
-  //Select Device group to belong to P1 device group in Power IC.
-  Data = DEV_GRP_P1;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEV_GRP), 1, &Data);
-  ASSERT_EFI_ERROR(Status);
-
-  //Configure voltage regulator for MMC1 in Power IC to output 3.0 voltage.
-  Data = VSEL_3_00V;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEDICATED_REG), 1, &Data);
-  ASSERT_EFI_ERROR(Status);
-
-  //After ramping up voltage, set VDDS stable bit to indicate that voltage level is stable.
-  MmioOr32 (CONTROL_PBIAS_LITE, (PBIASLITEVMODE0 | PBIASLITEPWRDNZ0 | PBIASSPEEDCTRL0 | PBIASLITEVMODE1 | PBIASLITEWRDNZ1));
-
-  // Enable WP GPIO
-  MmioAndThenOr32 (GPIO1_BASE + GPIO_OE, ~BIT23, BIT23);
-
-  // Enable Card Detect
-  Data = CARD_DETECT_ENABLE;
-  gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, TPS65950_GPIO_CTRL), 1, &Data);
-
-
-  return Status;
-}
-
-
-EFI_STATUS
-PerformCardIdenfication (
-  VOID
-  )
-{
-  EFI_STATUS Status;
-  UINTN      CmdArgument = 0;
-  UINTN      Response = 0;
-  UINTN      RetryCount = 0;
-  BOOLEAN    SDCmd8Supported = FALSE;
-
-  //Enable interrupts.
-  MmioWrite32 (MMCHS_IE, (BADA_EN | CERR_EN | DEB_EN | DCRC_EN | DTO_EN | CIE_EN |
-    CEB_EN | CCRC_EN | CTO_EN | BRR_EN | BWR_EN | TC_EN | CC_EN));
-
-  //Controller INIT procedure start.
-  MmioOr32 (MMCHS_CON, INIT);
-  MmioWrite32 (MMCHS_CMD, 0x00000000);
-  while (!(MmioRead32 (MMCHS_STAT) & CC));
-
-  //Wait for 1 ms
-  gBS->Stall(1000);
-
-  //Set CC bit to 0x1 to clear the flag
-  MmioOr32 (MMCHS_STAT, CC);
-
-  //Retry INIT procedure.
-  MmioWrite32 (MMCHS_CMD, 0x00000000);
-  while (!(MmioRead32 (MMCHS_STAT) & CC));
-
-  //End initialization sequence
-  MmioAnd32 (MMCHS_CON, ~INIT);
-
-  MmioOr32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_ON));
-
-  //Change clock frequency to 400KHz to fit protocol
-  UpdateMMCHSClkFrequency(CLKD_400KHZ);
-
-  MmioOr32 (MMCHS_CON, OD);
-
-  //Send CMD0 command.
-  Status = SendCmd (CMD0, CMD0_INT_EN, CmdArgument);
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "Cmd0 fails.\n"));
-    return Status;
-  }
-
-  DEBUG ((EFI_D_INFO, "CMD0 response: %x\n", MmioRead32 (MMCHS_RSP10)));
-
-  //Send CMD5 command.
-  Status = SendCmd (CMD5, CMD5_INT_EN, CmdArgument);
-  if (Status == EFI_SUCCESS) {
-    DEBUG ((EFI_D_ERROR, "CMD5 Success. SDIO card. Follow SDIO card specification.\n"));
-    DEBUG ((EFI_D_INFO, "CMD5 response: %x\n", MmioRead32 (MMCHS_RSP10)));
-    //NOTE: Returning unsupported error for now. Need to implement SDIO specification.
-    return EFI_UNSUPPORTED;
-  } else {
-    DEBUG ((EFI_D_INFO, "CMD5 fails. Not an SDIO card.\n"));
-  }
-
-  MmioOr32 (MMCHS_SYSCTL, SRC);
-  gBS->Stall(1000);
-  while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
-
-  //Send CMD8 command. (New v2.00 command for Voltage check)
-  //Only 2.7V - 3.6V is supported for SD2.0, only SD 2.0 card can pass.
-  //MMC & SD1.1 card will fail this command.
-  CmdArgument = CMD8_ARG;
-  Status = SendCmd (CMD8, CMD8_INT_EN, CmdArgument);
-  if (Status == EFI_SUCCESS) {
-    Response = MmioRead32 (MMCHS_RSP10);
-    DEBUG ((EFI_D_INFO, "CMD8 success. CMD8 response: %x\n", Response));
-    if (Response != CmdArgument) {
-      return EFI_DEVICE_ERROR;
-    }
-    DEBUG ((EFI_D_INFO, "Card is SD2.0\n"));
-    SDCmd8Supported = TRUE; //Supports high capacity.
-  } else {
-    DEBUG ((EFI_D_INFO, "CMD8 fails. Not an SD2.0 card.\n"));
-  }
-
-  MmioOr32 (MMCHS_SYSCTL, SRC);
-  gBS->Stall(1000);
-  while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
-
-  //Poll till card is busy
-  while (RetryCount < MAX_RETRY_COUNT) {
-    //Send CMD55 command.
-    CmdArgument = 0;
-    Status = SendCmd (CMD55, CMD55_INT_EN, CmdArgument);
-    if (Status == EFI_SUCCESS) {
-      DEBUG ((EFI_D_INFO, "CMD55 success. CMD55 response: %x\n", MmioRead32 (MMCHS_RSP10)));
-      gCardInfo.CardType = SD_CARD;
-    } else {
-      DEBUG ((EFI_D_INFO, "CMD55 fails.\n"));
-      gCardInfo.CardType = MMC_CARD;
-    }
-
-    //Send appropriate command for the card type which got detected.
-    if (gCardInfo.CardType == SD_CARD) {
-      CmdArgument = ((UINTN *) &(gCardInfo.OCRData))[0];
-
-      //Set HCS bit.
-      if (SDCmd8Supported) {
-        CmdArgument |= HCS;
-      }
-
-      Status = SendCmd (ACMD41, ACMD41_INT_EN, CmdArgument);
-      if (EFI_ERROR(Status)) {
-        DEBUG ((EFI_D_INFO, "ACMD41 fails.\n"));
-        return Status;
-      }
-      ((UINT32 *) &(gCardInfo.OCRData))[0] = MmioRead32 (MMCHS_RSP10);
-      DEBUG ((EFI_D_INFO, "SD card detected. ACMD41 OCR: %x\n", ((UINT32 *) &(gCardInfo.OCRData))[0]));
-    } else if (gCardInfo.CardType == MMC_CARD) {
-      CmdArgument = 0;
-      Status = SendCmd (CMD1, CMD1_INT_EN, CmdArgument);
-      if (EFI_ERROR(Status)) {
-        DEBUG ((EFI_D_INFO, "CMD1 fails.\n"));
-        return Status;
-      }
-      Response = MmioRead32 (MMCHS_RSP10);
-      DEBUG ((EFI_D_INFO, "MMC card detected.. CMD1 response: %x\n", Response));
-
-      //NOTE: For now, I am skipping this since I only have an SD card.
-      //Compare card OCR and host OCR (Section 22.6.1.3.2.4)
-      return EFI_UNSUPPORTED; //For now, MMC is not supported.
-    }
-
-    //Poll the card until it is out of its power-up sequence.
-    if (gCardInfo.OCRData.Busy == 1) {
-
-      if (SDCmd8Supported) {
-        gCardInfo.CardType = SD_CARD_2;
-      }
-
-      //Card is ready. Check CCS (Card capacity status) bit (bit#30).
-      //SD 2.0 standard card will response with CCS 0, SD high capacity card will respond with CCS 1.
-      if (gCardInfo.OCRData.AccessMode & BIT1) {
-        gCardInfo.CardType = SD_CARD_2_HIGH;
-        DEBUG ((EFI_D_INFO, "High capacity card.\n"));
-      } else {
-        DEBUG ((EFI_D_INFO, "Standard capacity card.\n"));
-      }
-
-      break;
-    }
-
-    gBS->Stall(1000);
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    DEBUG ((EFI_D_ERROR, "Timeout error. RetryCount: %d\n", RetryCount));
-    return EFI_TIMEOUT;
-  }
-
-  //Read CID data.
-  CmdArgument = 0;
-  Status = SendCmd (CMD2, CMD2_INT_EN, CmdArgument);
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "CMD2 fails. Status: %x\n", Status));
-    return Status;
-  }
-
-  DEBUG ((EFI_D_INFO, "CMD2 response: %x %x %x %x\n", MmioRead32 (MMCHS_RSP10), MmioRead32 (MMCHS_RSP32), MmioRead32 (MMCHS_RSP54), MmioRead32 (MMCHS_RSP76)));
-
-  //Parse CID register data.
-  ParseCardCIDData(MmioRead32 (MMCHS_RSP10), MmioRead32 (MMCHS_RSP32), MmioRead32 (MMCHS_RSP54), MmioRead32 (MMCHS_RSP76));
-
-  //Read RCA
-  CmdArgument = 0;
-  Status = SendCmd (CMD3, CMD3_INT_EN, CmdArgument);
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "CMD3 fails. Status: %x\n", Status));
-    return Status;
-  }
-
-  //Set RCA for the detected card. RCA is CMD3 response.
-  gCardInfo.RCA = (MmioRead32 (MMCHS_RSP10) >> 16);
-  DEBUG ((EFI_D_INFO, "CMD3 response: RCA %x\n", gCardInfo.RCA));
-
-  //MMC Bus setting change after card identification.
-  MmioAnd32 (MMCHS_CON, ~OD);
-  MmioOr32 (MMCHS_HCTL, SDVS_3_0_V);
-  UpdateMMCHSClkFrequency(CLKD_400KHZ); //Set the clock frequency to 400KHz.
-
-  return EFI_SUCCESS;
-}
-
-
-EFI_STATUS
-GetCardSpecificData (
-  VOID
-  )
-{
-  EFI_STATUS Status;
-  UINTN      CmdArgument;
-
-  //Send CMD9 to retrieve CSD.
-  CmdArgument = gCardInfo.RCA << 16;
-  Status = SendCmd (CMD9, CMD9_INT_EN, CmdArgument);
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "CMD9 fails. Status: %x\n", Status));
-    return Status;
-  }
-
-  //Populate 128-bit CSD register data.
-  ((UINT32 *)&(gCardInfo.CSDData))[0] = MmioRead32 (MMCHS_RSP10);
-  ((UINT32 *)&(gCardInfo.CSDData))[1] = MmioRead32 (MMCHS_RSP32);
-  ((UINT32 *)&(gCardInfo.CSDData))[2] = MmioRead32 (MMCHS_RSP54);
-  ((UINT32 *)&(gCardInfo.CSDData))[3] = MmioRead32 (MMCHS_RSP76);
-
-  DEBUG ((EFI_D_INFO, "CMD9 response: %x %x %x %x\n", MmioRead32 (MMCHS_RSP10), MmioRead32 (MMCHS_RSP32), MmioRead32 (MMCHS_RSP54), MmioRead32 (MMCHS_RSP76)));
-
-  //Calculate total number of blocks and max. data transfer rate supported by the detected card.
-  GetCardConfigurationData();
-
-  return Status;
-}
-
-
-EFI_STATUS
-PerformCardConfiguration (
-  VOID
-  )
-{
-  UINTN      CmdArgument = 0;
-  EFI_STATUS Status;
-
-  //Send CMD7
-  CmdArgument = gCardInfo.RCA << 16;
-  Status = SendCmd (CMD7, CMD7_INT_EN, CmdArgument);
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "CMD7 fails. Status: %x\n", Status));
-    return Status;
-  }
-
-  if ((gCardInfo.CardType != UNKNOWN_CARD) && (gCardInfo.CardType != MMC_CARD)) {
-    // We could read SCR register, but SD Card Phys spec stats any SD Card shall
-    // set SCR.SD_BUS_WIDTHS to support 4-bit mode, so why bother?
-
-    // Send ACMD6 (application specific commands must be prefixed with CMD55)
-    Status = SendCmd (CMD55, CMD55_INT_EN, CmdArgument);
-    if (!EFI_ERROR (Status)) {
-      // set device into 4-bit data bus mode
-      Status = SendCmd (ACMD6, ACMD6_INT_EN, 0x2);
-      if (!EFI_ERROR (Status)) {
-        // Set host controler into 4-bit mode
-        MmioOr32 (MMCHS_HCTL, DTW_4_BIT);
-        DEBUG ((EFI_D_INFO, "SD Memory Card set to 4-bit mode\n"));
-      }
-    }
-  }
-
-  //Send CMD16 to set the block length
-  CmdArgument = gCardInfo.BlockSize;
-  Status = SendCmd (CMD16, CMD16_INT_EN, CmdArgument);
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "CMD16 fails. Status: %x\n", Status));
-    return Status;
-  }
-
-  //Change MMCHS clock frequency to what detected card can support.
-  UpdateMMCHSClkFrequency(gCardInfo.ClockFrequencySelect);
-
-  return EFI_SUCCESS;
-}
-
-
-EFI_STATUS
-ReadBlockData (
-  IN  EFI_BLOCK_IO_PROTOCOL       *This,
-  OUT VOID                        *Buffer
-  )
-{
-  UINTN MmcStatus;
-  UINTN *DataBuffer = Buffer;
-  UINTN DataSize = This->Media->BlockSize/4;
-  UINTN Count;
-  UINTN RetryCount = 0;
-
-  //Check controller status to make sure there is no error.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    do {
-      //Read Status.
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while(MmcStatus == 0);
-
-    //Check if Buffer read ready (BRR) bit is set?
-    if (MmcStatus & BRR) {
-
-      //Clear BRR bit
-      MmioOr32 (MMCHS_STAT, BRR);
-
-      //Read block worth of data.
-      for (Count = 0; Count < DataSize; Count++) {
-        *DataBuffer++ = MmioRead32 (MMCHS_DATA);
-      }
-      break;
-    }
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-
-EFI_STATUS
-WriteBlockData (
-  IN  EFI_BLOCK_IO_PROTOCOL       *This,
-  OUT VOID                        *Buffer
-  )
-{
-  UINTN MmcStatus;
-  UINTN *DataBuffer = Buffer;
-  UINTN DataSize = This->Media->BlockSize/4;
-  UINTN Count;
-  UINTN RetryCount = 0;
-
-  //Check controller status to make sure there is no error.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    do {
-      //Read Status.
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while(MmcStatus == 0);
-
-    //Check if Buffer write ready (BWR) bit is set?
-    if (MmcStatus & BWR) {
-
-      //Clear BWR bit
-      MmioOr32 (MMCHS_STAT, BWR);
-
-      //Write block worth of data.
-      for (Count = 0; Count < DataSize; Count++) {
-        MmioWrite32 (MMCHS_DATA, *DataBuffer++);
-      }
-
-      break;
-    }
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-DmaBlocks (
-  IN EFI_BLOCK_IO_PROTOCOL        *This,
-  IN  UINTN                       Lba,
-  IN OUT VOID                     *Buffer,
-  IN  UINTN                       BlockCount,
-  IN  OPERATION_TYPE              OperationType
-  )
-{
-  EFI_STATUS            Status;
-  UINTN                 DmaSize = 0;
-  UINTN                 Cmd = 0;
-  UINTN                 CmdInterruptEnable;
-  UINTN                 CmdArgument;
-  VOID                  *BufferMap;
-  EFI_PHYSICAL_ADDRESS  BufferAddress;
-  OMAP_DMA4             Dma4;
-  DMA_MAP_OPERATION     DmaOperation;
-  EFI_STATUS            MmcStatus;
-  UINTN                 RetryCount = 0;
-
-CpuDeadLoop ();
-  // Map passed in buffer for DMA xfer
-  DmaSize = BlockCount * This->Media->BlockSize;
-  Status = DmaMap (DmaOperation, Buffer, &DmaSize, &BufferAddress, &BufferMap);
-  if (EFI_ERROR (Status)) {
-    return Status;
-  }
-
-  ZeroMem (&DmaOperation, sizeof (DMA_MAP_OPERATION));
-
-
-  Dma4.DataType = 2;                      // DMA4_CSDPi[1:0]   32-bit elements from MMCHS_DATA
-
-  Dma4.SourceEndiansim = 0;               // DMA4_CSDPi[21]
-
-  Dma4.DestinationEndianism = 0;          // DMA4_CSDPi[19]
-
-  Dma4.SourcePacked = 0;                  // DMA4_CSDPi[6]
-
-  Dma4.DestinationPacked = 0;             // DMA4_CSDPi[13]
-
-  Dma4.NumberOfElementPerFrame = This->Media->BlockSize/4; // DMA4_CENi  (TRM 4K is optimum value)
-
-  Dma4.NumberOfFramePerTransferBlock = BlockCount;         // DMA4_CFNi
-
-  Dma4.ReadPriority = 0;                  // DMA4_CCRi[6]      Low priority read
-
-  Dma4.WritePriority = 0;                 // DMA4_CCRi[23]     Prefetech disabled
-
-
-  //Populate the command information based on the operation type.
-  if (OperationType == READ) {
-    Cmd = CMD18; //Multiple block read
-    CmdInterruptEnable = CMD18_INT_EN;
-    DmaOperation = MapOperationBusMasterCommonBuffer;
-
-    Dma4.ReadPortAccessType =0 ;            // DMA4_CSDPi[8:7]   Can not burst MMCHS_DATA reg
-
-    Dma4.WritePortAccessType = 3;           // DMA4_CSDPi[15:14] Memory burst 16x32
-
-    Dma4.WriteMode = 1;                     // DMA4_CSDPi[17:16] Write posted
-
-
-
-    Dma4.SourceStartAddress = MMCHS_DATA;                   // DMA4_CSSAi
-
-    Dma4.DestinationStartAddress = (UINT32)BufferAddress;   // DMA4_CDSAi
-
-    Dma4.SourceElementIndex = 1;                            // DMA4_CSEi
-
-    Dma4.SourceFrameIndex = 0x200;                          // DMA4_CSFi
-
-    Dma4.DestinationElementIndex = 1;                       // DMA4_CDEi
-
-    Dma4.DestinationFrameIndex = 0;                         // DMA4_CDFi
-
-
-
-    Dma4.ReadPortAccessMode = 0;            // DMA4_CCRi[13:12]  Always read MMCHS_DATA
-
-    Dma4.WritePortAccessMode = 1;           // DMA4_CCRi[15:14]  Post increment memory address
-
-    Dma4.ReadRequestNumber = 0x1e;          // DMA4_CCRi[4:0]    Syncro with MMCA_DMA_RX (61)
-
-    Dma4.WriteRequestNumber = 1;            // DMA4_CCRi[20:19]  Syncro upper 0x3e == 62 (one based)
-
-  } else if (OperationType == WRITE) {
-    Cmd = CMD25; //Multiple block write
-    CmdInterruptEnable = CMD25_INT_EN;
-    DmaOperation = MapOperationBusMasterRead;
-
-    Dma4.ReadPortAccessType = 3;            // DMA4_CSDPi[8:7]   Memory burst 16x32
-
-    Dma4.WritePortAccessType = 0;           // DMA4_CSDPi[15:14] Can not burst MMCHS_DATA reg
-
-    Dma4.WriteMode = 1;                     // DMA4_CSDPi[17:16] Write posted ???
-
-
-
-    Dma4.SourceStartAddress = (UINT32)BufferAddress;        // DMA4_CSSAi
-
-    Dma4.DestinationStartAddress = MMCHS_DATA;              // DMA4_CDSAi
-
-    Dma4.SourceElementIndex = 1;                            // DMA4_CSEi
-
-    Dma4.SourceFrameIndex = 0x200;                          // DMA4_CSFi
-
-    Dma4.DestinationElementIndex = 1;                       // DMA4_CDEi
-
-    Dma4.DestinationFrameIndex = 0;                         // DMA4_CDFi
-
-
-
-    Dma4.ReadPortAccessMode = 1;            // DMA4_CCRi[13:12]  Post increment memory address
-
-    Dma4.WritePortAccessMode = 0;           // DMA4_CCRi[15:14]  Always write MMCHS_DATA
-
-    Dma4.ReadRequestNumber = 0x1d;          // DMA4_CCRi[4:0]    Syncro with MMCA_DMA_TX (60)
-
-    Dma4.WriteRequestNumber = 1;            // DMA4_CCRi[20:19]  Syncro upper 0x3d == 61 (one based)
-
-  } else {
-    return EFI_INVALID_PARAMETER;
-  }
-
-
-  EnableDmaChannel (2, &Dma4);
-
-
-  //Set command argument based on the card access mode (Byte mode or Block mode)
-  if (gCardInfo.OCRData.AccessMode & BIT1) {
-    CmdArgument = Lba;
-  } else {
-    CmdArgument = Lba * This->Media->BlockSize;
-  }
-
-  //Send Command.
-  Status = SendCmd (Cmd, CmdInterruptEnable, CmdArgument);
-  if (EFI_ERROR (Status)) {
-    DEBUG ((EFI_D_ERROR, "CMD fails. Status: %x\n", Status));
-    return Status;
-  }
-
-    //Check for the Transfer completion.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    //Read Status
-    do {
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while (MmcStatus == 0);
-
-    //Check if Transfer complete (TC) bit is set?
-    if (MmcStatus & TC) {
-      break;
-    } else {
-      DEBUG ((EFI_D_ERROR, "MmcStatus for TC: %x\n", MmcStatus));
-      //Check if DEB, DCRC or DTO interrupt occured.
-      if ((MmcStatus & DEB) | (MmcStatus & DCRC) | (MmcStatus & DTO)) {
-        //There was an error during the data transfer.
-
-        //Set SRD bit to 1 and wait until it return to 0x0.
-        MmioOr32 (MMCHS_SYSCTL, SRD);
-        while((MmioRead32 (MMCHS_SYSCTL) & SRD) != 0x0);
-
-        DisableDmaChannel (2, DMA4_CSR_BLOCK, DMA4_CSR_ERR);
-        DmaUnmap (BufferMap);
-        return EFI_DEVICE_ERROR;
-      }
-    }
-    RetryCount++;
-  }
-
-  DisableDmaChannel (2, DMA4_CSR_BLOCK, DMA4_CSR_ERR);
-  Status = DmaUnmap (BufferMap);
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    DEBUG ((EFI_D_ERROR, "TransferBlockData timed out.\n"));
-    return EFI_TIMEOUT;
-  }
-
-  return Status;
-}
-
-
-EFI_STATUS
-TransferBlock (
-  IN EFI_BLOCK_IO_PROTOCOL        *This,
-  IN  UINTN                       Lba,
-  IN OUT VOID                     *Buffer,
-  IN  OPERATION_TYPE              OperationType
-  )
-{
-  EFI_STATUS Status;
-  UINTN      MmcStatus;
-  UINTN      RetryCount = 0;
-  UINTN      Cmd = 0;
-  UINTN      CmdInterruptEnable = 0;
-  UINTN      CmdArgument = 0;
-
-
-  //Populate the command information based on the operation type.
-  if (OperationType == READ) {
-    Cmd = CMD17; //Single block read
-    CmdInterruptEnable = CMD18_INT_EN;
-  } else if (OperationType == WRITE) {
-    Cmd = CMD24; //Single block write
-    CmdInterruptEnable = CMD24_INT_EN;
-  }
-
-  //Set command argument based on the card access mode (Byte mode or Block mode)
-  if (gCardInfo.OCRData.AccessMode & BIT1) {
-    CmdArgument = Lba;
-  } else {
-    CmdArgument = Lba * This->Media->BlockSize;
-  }
-
-  //Send Command.
-  Status = SendCmd (Cmd, CmdInterruptEnable, CmdArgument);
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "CMD fails. Status: %x\n", Status));
-    return Status;
-  }
-
-  //Read or Write data.
-  if (OperationType == READ) {
-    Status = ReadBlockData (This, Buffer);
-    if (EFI_ERROR(Status)) {
-      DEBUG((EFI_D_ERROR, "ReadBlockData fails.\n"));
-      return Status;
-    }
-  } else if (OperationType == WRITE) {
-    Status = WriteBlockData (This, Buffer);
-    if (EFI_ERROR(Status)) {
-      DEBUG((EFI_D_ERROR, "WriteBlockData fails.\n"));
-      return Status;
-    }
-  }
-
-  //Check for the Transfer completion.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    //Read Status
-    do {
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while (MmcStatus == 0);
-
-    //Check if Transfer complete (TC) bit is set?
-    if (MmcStatus & TC) {
-      break;
-    } else {
-      DEBUG ((EFI_D_ERROR, "MmcStatus for TC: %x\n", MmcStatus));
-      //Check if DEB, DCRC or DTO interrupt occured.
-      if ((MmcStatus & DEB) | (MmcStatus & DCRC) | (MmcStatus & DTO)) {
-        //There was an error during the data transfer.
-
-        //Set SRD bit to 1 and wait until it return to 0x0.
-        MmioOr32 (MMCHS_SYSCTL, SRD);
-        while((MmioRead32 (MMCHS_SYSCTL) & SRD) != 0x0);
-
-        return EFI_DEVICE_ERROR;
-      }
-    }
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    DEBUG ((EFI_D_ERROR, "TransferBlockData timed out.\n"));
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-BOOLEAN
-CardPresent (
-  VOID
-  )
-{
-  EFI_STATUS  Status;
-  UINT8       Data;
-
-  //
-  // Card detect is a GPIO0 on the TPS65950
-  //
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATAIN1), 1, &Data);
-  if (EFI_ERROR (Status)) {
-    return FALSE;
-  }
-
-  if ((Data & CARD_DETECT_BIT) == CARD_DETECT_BIT) {
-    // No Card present
-    return FALSE;
-  } else {
-    return TRUE;
-  }
-}
-
-EFI_STATUS
-DetectCard (
-  VOID
-  )
-{
-  EFI_STATUS    Status;
-
-  if (!CardPresent ()) {
-    return EFI_NO_MEDIA;
-  }
-
-  //Initialize MMC host controller clocks.
-  Status = InitializeMMCHS ();
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "Initialize MMC host controller fails. Status: %x\n", Status));
-    return Status;
-  }
-
-  //Software reset of the MMCHS host controller.
-  MmioWrite32 (MMCHS_SYSCONFIG, SOFTRESET);
-  gBS->Stall(1000);
-  while ((MmioRead32 (MMCHS_SYSSTATUS) & RESETDONE_MASK) != RESETDONE);
-
-  //Soft reset for all.
-  MmioWrite32 (MMCHS_SYSCTL, SRA);
-  gBS->Stall(1000);
-  while ((MmioRead32 (MMCHS_SYSCTL) & SRA) != 0x0);
-
-  //Voltage capabilities initialization. Activate VS18 and VS30.
-  MmioOr32 (MMCHS_CAPA, (VS30 | VS18));
-
-  //Wakeup configuration
-  MmioOr32 (MMCHS_SYSCONFIG, ENAWAKEUP);
-  MmioOr32 (MMCHS_HCTL, IWE);
-
-  //MMCHS Controller default initialization
-  MmioOr32 (MMCHS_CON, (OD | DW8_1_4_BIT | CEATA_OFF));
-
-  MmioWrite32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_OFF));
-
-  //Enable internal clock
-  MmioOr32 (MMCHS_SYSCTL, ICE);
-
-  //Set the clock frequency to 80KHz.
-  UpdateMMCHSClkFrequency (CLKD_80KHZ);
-
-  //Enable SD bus power.
-  MmioOr32 (MMCHS_HCTL, (SDBP_ON));
-
-  //Poll till SD bus power bit is set.
-  while ((MmioRead32 (MMCHS_HCTL) & SDBP_MASK) != SDBP_ON);
-
-  //Card idenfication
-  Status = PerformCardIdenfication ();
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "No MMC/SD card detected.\n"));
-    return Status;
-  }
-
-  //Get CSD (Card specific data) for the detected card.
-  Status = GetCardSpecificData();
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  //Configure the card in data transfer mode.
-  Status = PerformCardConfiguration();
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  //Patch the Media structure.
-  gMMCHSMedia.LastBlock    = (gCardInfo.NumBlocks - 1);
-  gMMCHSMedia.BlockSize    = gCardInfo.BlockSize;
-  gMMCHSMedia.ReadOnly     = (MmioRead32 (GPIO1_BASE + GPIO_DATAIN) & BIT23) == BIT23;
-  gMMCHSMedia.MediaPresent = TRUE;
-  gMMCHSMedia.MediaId++;
-
-  DEBUG ((EFI_D_INFO, "SD Card Media Change on Handle 0x%08x\n", gImageHandle));
-
-  return Status;
-}
-
-#define MAX_MMCHS_TRANSFER_SIZE  0x4000
-
-EFI_STATUS
-SdReadWrite (
-  IN EFI_BLOCK_IO_PROTOCOL    *This,
-  IN  UINTN                   Lba,
-  OUT VOID                    *Buffer,
-  IN  UINTN                   BufferSize,
-  IN  OPERATION_TYPE          OperationType
-  )
-{
-  EFI_STATUS Status = EFI_SUCCESS;
-  UINTN      RetryCount = 0;
-  UINTN      BlockCount;
-  UINTN      BytesToBeTranferedThisPass = 0;
-  UINTN      BytesRemainingToBeTransfered;
-  EFI_TPL    OldTpl;
-
-  BOOLEAN    Update;
-
-
-
-  Update               = FALSE;
-
-  if (gMediaChange) {
-    Update = TRUE;
-    Status = DetectCard  ();
-    if (EFI_ERROR (Status)) {
-      // We detected a removal
-      gMMCHSMedia.MediaPresent = FALSE;
-      gMMCHSMedia.LastBlock    = 0;
-      gMMCHSMedia.BlockSize    = 512;  // Should be zero but there is a bug in DiskIo
-      gMMCHSMedia.ReadOnly     = FALSE;
-    }
-    gMediaChange             = FALSE;
-  } else if (!gMMCHSMedia.MediaPresent) {
-    Status = EFI_NO_MEDIA;
-    goto Done;
-  }
-
-  if (Update) {
-    DEBUG ((EFI_D_INFO, "SD Card ReinstallProtocolInterface ()\n"));
-    gBS->ReinstallProtocolInterface (
-          gImageHandle,
-          &gEfiBlockIoProtocolGuid,
-          &gBlockIo,
-          &gBlockIo
-          );
-    return EFI_MEDIA_CHANGED;
-  }
-
-  if (EFI_ERROR (Status)) {
-    goto Done;
-  }
-
-  if (Buffer == NULL) {
-    Status = EFI_INVALID_PARAMETER;
-    goto Done;
-  }
-
-  if (Lba > This->Media->LastBlock) {
-    Status = EFI_INVALID_PARAMETER;
-    goto Done;
-  }
-
-  if ((BufferSize % This->Media->BlockSize) != 0) {
-    Status = EFI_BAD_BUFFER_SIZE;
-    goto Done;
-  }
-
-  //Check if the data lines are not in use.
-  while ((RetryCount++ < MAX_RETRY_COUNT) && ((MmioRead32 (MMCHS_PSTATE) & DATI_MASK) != DATI_ALLOWED));
-  if (RetryCount == MAX_RETRY_COUNT) {
-    Status = EFI_TIMEOUT;
-    goto Done;
-  }
-
-  OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
-
-  BytesRemainingToBeTransfered = BufferSize;
-  while (BytesRemainingToBeTransfered > 0) {
-
-    if (gMediaChange) {
-      Status = EFI_NO_MEDIA;
-      DEBUG ((EFI_D_INFO, "SdReadWrite() EFI_NO_MEDIA due to gMediaChange\n"));
-      goto DoneRestoreTPL;
-    }
-
-    // Turn OFF DMA path until it is debugged
-    // BytesToBeTranferedThisPass = (BytesToBeTranferedThisPass >= MAX_MMCHS_TRANSFER_SIZE) ? MAX_MMCHS_TRANSFER_SIZE : BytesRemainingToBeTransfered;
-    BytesToBeTranferedThisPass   = This->Media->BlockSize;
-
-    BlockCount = BytesToBeTranferedThisPass/This->Media->BlockSize;
-
-    if (BlockCount > 1) {
-      Status = DmaBlocks (This, Lba, Buffer, BlockCount, OperationType);
-    } else {
-      //Transfer a block worth of data.
-      Status = TransferBlock (This, Lba, Buffer, OperationType);
-    }
-
-    if (EFI_ERROR(Status)) {
-      DEBUG ((EFI_D_ERROR, "TransferBlockData fails. %x\n", Status));
-      goto DoneRestoreTPL;
-    }
-
-    BytesRemainingToBeTransfered -= BytesToBeTranferedThisPass;
-    Lba    += BlockCount;
-    Buffer = (UINT8 *)Buffer + This->Media->BlockSize;
-  }
-
-DoneRestoreTPL:
-
-  gBS->RestoreTPL (OldTpl);
-
-Done:
-
-  return Status;
-
-}
-
-
-/**
-
-  Reset the Block Device.
-
-
-
-  @param  This                 Indicates a pointer to the calling context.
-
-  @param  ExtendedVerification Driver may perform diagnostics on reset.
-
-
-
-  @retval EFI_SUCCESS          The device was reset.
-
-  @retval EFI_DEVICE_ERROR     The device is not functioning properly and could
-
-                               not be reset.
-
-
-
-**/
-EFI_STATUS
-EFIAPI
-MMCHSReset (
-  IN EFI_BLOCK_IO_PROTOCOL          *This,
-  IN BOOLEAN                        ExtendedVerification
-  )
-{
-  return EFI_SUCCESS;
-}
-
-
-/**
-
-  Read BufferSize bytes from Lba into Buffer.
-
-
-
-  @param  This       Indicates a pointer to the calling context.
-
-  @param  MediaId    Id of the media, changes every time the media is replaced.
-
-  @param  Lba        The starting Logical Block Address to read from
-
-  @param  BufferSize Size of Buffer, must be a multiple of device block size.
-
-  @param  Buffer     A pointer to the destination buffer for the data. The caller is
-
-                     responsible for either having implicit or explicit ownership of the buffer.
-
-
-
-  @retval EFI_SUCCESS           The data was read correctly from the device.
-
-  @retval EFI_DEVICE_ERROR      The device reported an error while performing the read.
-
-  @retval EFI_NO_MEDIA          There is no media in the device.
-
-  @retval EFI_MEDIA_CHANGED     The MediaId does not matched the current device.
-
-  @retval EFI_BAD_BUFFER_SIZE   The Buffer was not a multiple of the block size of the device.
-
-  @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
-
-                                or the buffer is not on proper alignment.
-
-EFI_STATUS
-
-**/
-EFI_STATUS
-EFIAPI
-MMCHSReadBlocks (
-  IN EFI_BLOCK_IO_PROTOCOL          *This,
-  IN UINT32                         MediaId,
-  IN EFI_LBA                        Lba,
-  IN UINTN                          BufferSize,
-  OUT VOID                          *Buffer
-  )
-{
-  EFI_STATUS Status;
-
-  //Perform Read operation.
-  Status = SdReadWrite (This, (UINTN)Lba, Buffer, BufferSize, READ);
-
-  return Status;
-
-}
-
-
-/**
-
-  Write BufferSize bytes from Lba into Buffer.
-
-
-
-  @param  This       Indicates a pointer to the calling context.
-
-  @param  MediaId    The media ID that the write request is for.
-
-  @param  Lba        The starting logical block address to be written. The caller is
-
-                     responsible for writing to only legitimate locations.
-
-  @param  BufferSize Size of Buffer, must be a multiple of device block size.
-
-  @param  Buffer     A pointer to the source buffer for the data.
-
-
-
-  @retval EFI_SUCCESS           The data was written correctly to the device.
-
-  @retval EFI_WRITE_PROTECTED   The device can not be written to.
-
-  @retval EFI_DEVICE_ERROR      The device reported an error while performing the write.
-
-  @retval EFI_NO_MEDIA          There is no media in the device.
-
-  @retval EFI_MEDIA_CHNAGED     The MediaId does not matched the current device.
-
-  @retval EFI_BAD_BUFFER_SIZE   The Buffer was not a multiple of the block size of the device.
-
-  @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
-
-                                or the buffer is not on proper alignment.
-
-
-
-**/
-EFI_STATUS
-EFIAPI
-MMCHSWriteBlocks (
-  IN EFI_BLOCK_IO_PROTOCOL          *This,
-  IN UINT32                         MediaId,
-  IN EFI_LBA                        Lba,
-  IN UINTN                          BufferSize,
-  IN VOID                           *Buffer
-  )
-{
-  EFI_STATUS  Status;
-
-  //Perform write operation.
-  Status = SdReadWrite (This, (UINTN)Lba, Buffer, BufferSize, WRITE);
-
-
-  return Status;
-
-}
-
-
-/**
-
-  Flush the Block Device.
-
-
-
-  @param  This              Indicates a pointer to the calling context.
-
-
-
-  @retval EFI_SUCCESS       All outstanding data was written to the device
-
-  @retval EFI_DEVICE_ERROR  The device reported an error while writting back the data
-
-  @retval EFI_NO_MEDIA      There is no media in the device.
-
-
-
-**/
-EFI_STATUS
-EFIAPI
-MMCHSFlushBlocks (
-  IN EFI_BLOCK_IO_PROTOCOL  *This
-  )
-{
-  return EFI_SUCCESS;
-}
-
-
-EFI_BLOCK_IO_PROTOCOL gBlockIo = {
-  EFI_BLOCK_IO_INTERFACE_REVISION,   // Revision
-  &gMMCHSMedia,                      // *Media
-  MMCHSReset,                        // Reset
-  MMCHSReadBlocks,                   // ReadBlocks
-  MMCHSWriteBlocks,                  // WriteBlocks
-  MMCHSFlushBlocks                   // FlushBlocks
-};
-
-
-/**
-
-  Timer callback to convert card present hardware into a boolean that indicates
-
-  a media change event has happened. If you just check the GPIO you could see
-
-  card 1 and then check again after card 1 was removed and card 2 was inserted
-
-  and you would still see media present. Thus you need the timer tick to catch
-
-  the toggle event.
-
-
-
-  @param  Event                 Event whose notification function is being invoked.
-
-  @param  Context               The pointer to the notification function's context,
-
-                                which is implementation-dependent. Not used.
-
-
-
-**/
-VOID
-EFIAPI
-TimerCallback (
-  IN  EFI_EVENT   Event,
-  IN  VOID        *Context
-  )
-{
-  BOOLEAN Present;
-
-  Present = CardPresent ();
-  if (gMMCHSMedia.MediaPresent) {
-    if (!Present && !gMediaChange) {
-      gMediaChange = TRUE;
-    }
-  } else {
-    if (Present && !gMediaChange) {
-      gMediaChange = TRUE;
-    }
-  }
-}
-
-
-EFI_STATUS
-EFIAPI
-MMCHSInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-
-  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
-  ASSERT_EFI_ERROR(Status);
-
-  ZeroMem (&gCardInfo, sizeof (CARD_INFO));
-
-  Status = gBS->CreateEvent (EVT_TIMER | EVT_NOTIFY_SIGNAL, TPL_CALLBACK, TimerCallback, NULL, &gTimerEvent);
-  ASSERT_EFI_ERROR (Status);
-
-  Status = gBS->SetTimer (gTimerEvent, TimerPeriodic, FixedPcdGet32 (PcdMmchsTimerFreq100NanoSeconds));
-  ASSERT_EFI_ERROR (Status);
-
-  //Publish BlockIO.
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &ImageHandle,
-                  &gEfiBlockIoProtocolGuid,    &gBlockIo,
-                  &gEfiDevicePathProtocolGuid, &gMmcHsDevicePath,
-                  NULL
-                  );
-  return Status;
-}
diff --git a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h b/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h
deleted file mode 100644
index 06960a3bd6ce..000000000000
--- a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.h
+++ /dev/null
@@ -1,175 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 _MMCHS_H_
-#define _MMCHS_H_
-
-#include <Uefi.h>
-
-#include <Library/BaseLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IoLib.h>
-#include <Library/PcdLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/OmapLib.h>
-#include <Library/OmapDmaLib.h>
-#include <Library/DmaLib.h>
-
-#include <Protocol/EmbeddedExternalDevice.h>
-#include <Protocol/BlockIo.h>
-#include <Protocol/DevicePath.h>
-
-#include <Omap3530/Omap3530.h>
-#include <TPS65950.h>
-
-#define MAX_RETRY_COUNT  (100*5)
-
-#define HCS               BIT30 //Host capacity support/1 = Supporting high capacity
-#define CCS               BIT30 //Card capacity status/1 = High capacity card
-typedef struct {
-  UINT32  Reserved0:   7; // 0
-  UINT32  V170_V195:   1; // 1.70V - 1.95V
-  UINT32  V200_V260:   7; // 2.00V - 2.60V
-  UINT32  V270_V360:   9; // 2.70V - 3.60V
-  UINT32  RESERVED_1:  5; // Reserved
-  UINT32  AccessMode:  2; // 00b (byte mode), 10b (sector mode)
-  UINT32  Busy:        1; // This bit is set to LOW if the card has not finished the power up routine
-}OCR;
-
-typedef struct {
-  UINT32  NOT_USED;   // 1 [0:0]
-  UINT32  CRC;        // CRC7 checksum [7:1]
-  UINT32  MDT;        // Manufacturing date [19:8]
-  UINT32  RESERVED_1; // Reserved [23:20]
-  UINT32  PSN;        // Product serial number [55:24]
-  UINT8   PRV;        // Product revision [63:56]
-  UINT8   PNM[5];     // Product name [64:103]
-  UINT16  OID;        // OEM/Application ID [119:104]
-  UINT8   MID;        // Manufacturer ID [127:120]
-}CID;
-
-typedef struct {
-  UINT8   NOT_USED:           1; // Not used, always 1 [0:0]
-  UINT8   CRC:                7; // CRC [7:1]
-
-  UINT8   RESERVED_1:         2; // Reserved [9:8]
-  UINT8   FILE_FORMAT:        2; // File format [11:10]
-  UINT8   TMP_WRITE_PROTECT:  1; // Temporary write protection [12:12]
-  UINT8   PERM_WRITE_PROTECT: 1; // Permanent write protection [13:13]
-  UINT8   COPY:               1; // Copy flag (OTP) [14:14]
-  UINT8   FILE_FORMAT_GRP:    1; // File format group [15:15]
-
-  UINT16  RESERVED_2:         5; // Reserved [20:16]
-  UINT16  WRITE_BL_PARTIAL:   1; // Partial blocks for write allowed [21:21]
-  UINT16  WRITE_BL_LEN:       4; // Max. write data block length [25:22]
-  UINT16  R2W_FACTOR:         3; // Write speed factor [28:26]
-  UINT16  RESERVED_3:         2; // Reserved [30:29]
-  UINT16  WP_GRP_ENABLE:      1; // Write protect group enable [31:31]
-
-  UINT32  WP_GRP_SIZE:        7; // Write protect group size [38:32]
-  UINT32  SECTOR_SIZE:        7; // Erase sector size [45:39]
-  UINT32  ERASE_BLK_EN:       1; // Erase single block enable [46:46]
-  UINT32  C_SIZE_MULT:        3; // Device size multiplier [49:47]
-  UINT32  VDD_W_CURR_MAX:     3; // Max. write current @ VDD max [52:50]
-  UINT32  VDD_W_CURR_MIN:     3; // Max. write current @ VDD min [55:53]
-  UINT32  VDD_R_CURR_MAX:     3; // Max. read current @ VDD max [58:56]
-  UINT32  VDD_R_CURR_MIN:     3; // Max. read current @ VDD min [61:59]
-  UINT32  C_SIZELow2:         2; // Device size [63:62]
-
-  UINT32  C_SIZEHigh10:       10;// Device size [73:64]
-  UINT32  RESERVED_4:         2; // Reserved [75:74]
-  UINT32  DSR_IMP:            1; // DSR implemented [76:76]
-  UINT32  READ_BLK_MISALIGN:  1; // Read block misalignment [77:77]
-  UINT32  WRITE_BLK_MISALIGN: 1; // Write block misalignment [78:78]
-  UINT32  READ_BL_PARTIAL:    1; // Partial blocks for read allowed [79:79]
-  UINT32  READ_BL_LEN:        4; // Max. read data block length [83:80]
-  UINT32  CCC:                12;// Card command classes [95:84]
-
-  UINT8   TRAN_SPEED          ;  // Max. bus clock frequency [103:96]
-  UINT8   NSAC                ;  // Data read access-time 2 in CLK cycles (NSAC*100) [111:104]
-  UINT8   TAAC                ;  // Data read access-time 1 [119:112]
-
-  UINT8   RESERVED_5:         6; // Reserved [125:120]
-  UINT8   CSD_STRUCTURE:      2; // CSD structure [127:126]
-}CSD;
-
-typedef struct {
-  UINT8   NOT_USED:           1; // Not used, always 1 [0:0]
-  UINT8   CRC:                7; // CRC [7:1]
-  UINT8   RESERVED_1:         2; // Reserved [9:8]
-  UINT8   FILE_FORMAT:        2; // File format [11:10]
-  UINT8   TMP_WRITE_PROTECT:  1; // Temporary write protection [12:12]
-  UINT8   PERM_WRITE_PROTECT: 1; // Permanent write protection [13:13]
-  UINT8   COPY:               1; // Copy flag (OTP) [14:14]
-  UINT8   FILE_FORMAT_GRP:    1; // File format group [15:15]
-  UINT16  RESERVED_2:         5; // Reserved [20:16]
-  UINT16  WRITE_BL_PARTIAL:   1; // Partial blocks for write allowed [21:21]
-  UINT16  WRITE_BL_LEN:       4; // Max. write data block length [25:22]
-  UINT16  R2W_FACTOR:         3; // Write speed factor [28:26]
-  UINT16  RESERVED_3:         2; // Reserved [30:29]
-  UINT16  WP_GRP_ENABLE:      1; // Write protect group enable [31:31]
-  UINT16  WP_GRP_SIZE:        7; // Write protect group size [38:32]
-  UINT16  SECTOR_SIZE:        7; // Erase sector size [45:39]
-  UINT16  ERASE_BLK_EN:       1; // Erase single block enable [46:46]
-  UINT16  RESERVED_4:         1; // Reserved [47:47]
-  UINT32  C_SIZELow16:        16;// Device size [69:48]
-  UINT32  C_SIZEHigh6:        6; // Device size [69:48]
-  UINT32  RESERVED_5:         6; // Reserved [75:70]
-  UINT32  DSR_IMP:            1; // DSR implemented [76:76]
-  UINT32  READ_BLK_MISALIGN:  1; // Read block misalignment [77:77]
-  UINT32  WRITE_BLK_MISALIGN: 1; // Write block misalignment [78:78]
-  UINT32  READ_BL_PARTIAL:    1; // Partial blocks for read allowed [79:79]
-  UINT16  READ_BL_LEN:        4; // Max. read data block length [83:80]
-  UINT16  CCC:                12;// Card command classes [95:84]
-  UINT8   TRAN_SPEED          ;  // Max. bus clock frequency [103:96]
-  UINT8   NSAC                ;  // Data read access-time 2 in CLK cycles (NSAC*100) [111:104]
-  UINT8   TAAC                ;  // Data read access-time 1 [119:112]
-  UINT8   RESERVED_6:         6; // 0 [125:120]
-  UINT8   CSD_STRUCTURE:      2; // CSD structure [127:126]
-}CSD_SDV2;
-
-typedef enum {
-  UNKNOWN_CARD,
-  MMC_CARD,              //MMC card
-  SD_CARD,               //SD 1.1 card
-  SD_CARD_2,             //SD 2.0 or above standard card
-  SD_CARD_2_HIGH         //SD 2.0 or above high capacity card
-} CARD_TYPE;
-
-typedef enum {
-  READ,
-  WRITE
-} OPERATION_TYPE;
-
-typedef struct  {
-  UINT16    RCA;
-  UINTN     BlockSize;
-  UINTN     NumBlocks;
-  UINTN     ClockFrequencySelect;
-  CARD_TYPE CardType;
-  OCR       OCRData;
-  CID       CIDData;
-  CSD       CSDData;
-} CARD_INFO;
-
-EFI_STATUS
-DetectCard (
-  VOID
-  );
-
-extern EFI_BLOCK_IO_PROTOCOL gBlockIo;
-
-#endif
diff --git a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf b/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf
deleted file mode 100644
index e40abdc73c4d..000000000000
--- a/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf
+++ /dev/null
@@ -1,54 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = MMCHS
-  FILE_GUID                      = 100c2cfa-b586-4198-9b4c-1683d195b1da
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = MMCHSInitialize
-
-
-[Sources.common]
-  MMCHS.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  PcdLib
-  UefiLib
-  UefiDriverEntryPoint
-  MemoryAllocationLib
-  IoLib
-  OmapDmaLib
-  DmaLib
-
-[Guids]
-
-[Protocols]
-  gEfiBlockIoProtocolGuid
-  gEfiCpuArchProtocolGuid
-  gEfiDevicePathProtocolGuid
-  gEmbeddedExternalDeviceProtocolGuid
-
-[Pcd]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base
-  gOmap35xxTokenSpaceGuid.PcdMmchsTimerFreq100NanoSeconds
-
-[depex]
-  gEmbeddedExternalDeviceProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c b/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c
deleted file mode 100755
index ad922a18e348..000000000000
--- a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.c
+++ /dev/null
@@ -1,677 +0,0 @@ 
-/** @file
-*
-*  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
-*  Copyright (c) 2011 - 2014, 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 "MmcHostDxe.h"
-
-EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
-UINT8                      mMaxDataTransferRate = 0;
-UINT32                     mRca = 0;
-BOOLEAN                    mBitModeSet = FALSE;
-
-
-typedef struct {
-  VENDOR_DEVICE_PATH  Mmc;
-  EFI_DEVICE_PATH     End;
-} MMCHS_DEVICE_PATH;
-
-MMCHS_DEVICE_PATH gMMCDevicePath = {
-  {
-    {
-      HARDWARE_DEVICE_PATH,
-      HW_VENDOR_DP,
-      { (UINT8)(sizeof(VENDOR_DEVICE_PATH)), (UINT8)((sizeof(VENDOR_DEVICE_PATH)) >> 8) },
-    },
-    { 0xb615f1f5, 0x5088, 0x43cd, { 0x80, 0x9c, 0xa1, 0x6e, 0x52, 0x48, 0x7d, 0x00 } }
-  },
-  {
-    END_DEVICE_PATH_TYPE,
-    END_ENTIRE_DEVICE_PATH_SUBTYPE,
-    { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0 }
-  }
-};
-
-BOOLEAN
-IgnoreCommand (
-  UINT32 Command
-  )
-{
-  switch(Command) {
-    case MMC_CMD12:
-      return TRUE;
-    case MMC_CMD13:
-      return TRUE;
-    default:
-      return FALSE;
-  }
-}
-
-UINT32
-TranslateCommand (
-  UINT32 Command
-  )
-{
-  UINT32 Translation;
-
-  switch(Command) {
-    case MMC_CMD2:
-      Translation = CMD2;
-      break;
-    case MMC_CMD3:
-      Translation = CMD3;
-      break;
-    /*case MMC_CMD6:
-      Translation = CMD6;
-      break;*/
-    case MMC_CMD7:
-      Translation = CMD7;
-      break;
-    case MMC_CMD8:
-      Translation = CMD8;
-      break;
-    case MMC_CMD9:
-      Translation = CMD9;
-      break;
-    /*case MMC_CMD12:
-      Translation = CMD12;
-      break;
-    case MMC_CMD13:
-      Translation = CMD13;
-      break;*/
-    case MMC_CMD16:
-      Translation = CMD16;
-      break;
-    case MMC_CMD17:
-      Translation = 0x113A0014;//CMD17;
-      break;
-    case MMC_CMD24:
-      Translation = CMD24 | 4;
-      break;
-    case MMC_CMD55:
-      Translation = CMD55;
-      break;
-    case MMC_ACMD41:
-      Translation = ACMD41;
-      break;
-    default:
-      Translation = Command;
-  }
-
-  return Translation;
-}
-
-VOID
-CalculateCardCLKD (
-  UINTN *ClockFrequencySelect
-  )
-{
-  UINTN    TransferRateValue = 0;
-  UINTN    TimeValue = 0 ;
-  UINTN    Frequency = 0;
-
-  DEBUG ((DEBUG_BLKIO, "CalculateCardCLKD()\n"));
-
-  // For SD Cards  we would need to send CMD6 to set
-  // speeds abouve 25MHz. High Speed mode 50 MHz and up
-
-  // Calculate Transfer rate unit (Bits 2:0 of TRAN_SPEED)
-  switch (mMaxDataTransferRate & 0x7) { // 2
-    case 0:
-      TransferRateValue = 100 * 1000;
-      break;
-
-    case 1:
-      TransferRateValue = 1 * 1000 * 1000;
-      break;
-
-    case 2:
-      TransferRateValue = 10 * 1000 * 1000;
-      break;
-
-    case 3:
-      TransferRateValue = 100 * 1000 * 1000;
-      break;
-
-    default:
-      DEBUG ((DEBUG_BLKIO, "Invalid parameter.\n"));
-      ASSERT(FALSE);
-      return;
-  }
-
-  //Calculate Time value (Bits 6:3 of TRAN_SPEED)
-  switch ((mMaxDataTransferRate >> 3) & 0xF) { // 6
-    case 1:
-      TimeValue = 10;
-      break;
-
-    case 2:
-      TimeValue = 12;
-      break;
-
-    case 3:
-      TimeValue = 13;
-      break;
-
-    case 4:
-      TimeValue = 15;
-      break;
-
-    case 5:
-      TimeValue = 20;
-      break;
-
-    case 6:
-      TimeValue = 25;
-      break;
-
-    case 7:
-      TimeValue = 30;
-      break;
-
-    case 8:
-      TimeValue = 35;
-      break;
-
-    case 9:
-      TimeValue = 40;
-      break;
-
-    case 10:
-      TimeValue = 45;
-      break;
-
-    case 11:
-      TimeValue = 50;
-      break;
-
-    case 12:
-      TimeValue = 55;
-      break;
-
-    case 13:
-      TimeValue = 60;
-      break;
-
-    case 14:
-      TimeValue = 70;
-      break;
-
-    case 15:
-      TimeValue = 80;
-      break;
-
-    default:
-      DEBUG ((DEBUG_BLKIO, "Invalid parameter.\n"));
-      ASSERT(FALSE);
-      return;
-  }
-
-  Frequency = TransferRateValue * TimeValue/10;
-
-  // Calculate Clock divider value to program in MMCHS_SYSCTL[CLKD] field.
-  *ClockFrequencySelect = ((MMC_REFERENCE_CLK/Frequency) + 1);
-
-  DEBUG ((DEBUG_BLKIO, "mMaxDataTransferRate: 0x%x, Frequency: %d KHz, ClockFrequencySelect: %x\n", mMaxDataTransferRate, Frequency/1000, *ClockFrequencySelect));
-}
-
-VOID
-UpdateMMCHSClkFrequency (
-  UINTN NewCLKD
-  )
-{
-  DEBUG ((DEBUG_BLKIO, "UpdateMMCHSClkFrequency()\n"));
-
-  // Set Clock enable to 0x0 to not provide the clock to the card
-  MmioAnd32 (MMCHS_SYSCTL, ~CEN);
-
-  // Set new clock frequency.
-  MmioAndThenOr32 (MMCHS_SYSCTL, ~CLKD_MASK, NewCLKD << 6);
-
-  // Poll till Internal Clock Stable
-  while ((MmioRead32 (MMCHS_SYSCTL) & ICS_MASK) != ICS);
-
-  // Set Clock enable to 0x1 to provide the clock to the card
-  MmioOr32 (MMCHS_SYSCTL, CEN);
-}
-
-EFI_STATUS
-InitializeMMCHS (
-  VOID
-  )
-{
-  UINT8      Data;
-  EFI_STATUS Status;
-
-  DEBUG ((DEBUG_BLKIO, "InitializeMMCHS()\n"));
-
-  // Select Device group to belong to P1 device group in Power IC.
-  Data = DEV_GRP_P1;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEV_GRP), 1, &Data);
-  ASSERT_EFI_ERROR(Status);
-
-  // Configure voltage regulator for MMC1 in Power IC to output 3.0 voltage.
-  Data = VSEL_3_00V;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VMMC1_DEDICATED_REG), 1, &Data);
-  ASSERT_EFI_ERROR(Status);
-
-  // After ramping up voltage, set VDDS stable bit to indicate that voltage level is stable.
-  MmioOr32 (CONTROL_PBIAS_LITE, (PBIASLITEVMODE0 | PBIASLITEPWRDNZ0 | PBIASSPEEDCTRL0 | PBIASLITEVMODE1 | PBIASLITEWRDNZ1));
-
-  // Enable WP GPIO
-  MmioAndThenOr32 (GPIO1_BASE + GPIO_OE, ~BIT23, BIT23);
-
-  // Enable Card Detect
-  Data = CARD_DETECT_ENABLE;
-  gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, TPS65950_GPIO_CTRL), 1, &Data);
-
-  return Status;
-}
-
-BOOLEAN
-MMCIsCardPresent (
-  IN EFI_MMC_HOST_PROTOCOL     *This
-  )
-{
-  EFI_STATUS  Status;
-  UINT8       Data;
-
-  //
-  // Card detect is a GPIO0 on the TPS65950
-  //
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID2, GPIODATAIN1), 1, &Data);
-  if (EFI_ERROR (Status)) {
-    return FALSE;
-  }
-
-  return !(Data & CARD_DETECT_BIT);
-}
-
-BOOLEAN
-MMCIsReadOnly (
-  IN EFI_MMC_HOST_PROTOCOL     *This
-  )
-{
-  /* Note:
-   * On our BeagleBoard the SD card WP pin is always read as TRUE.
-   * Probably something wrong with GPIO configuration.
-   * BeagleBoard-xM uses microSD cards so there is no write protect at all.
-   * Hence commenting out SD card WP pin read status.
-   */
-  //return (MmioRead32 (GPIO1_BASE + GPIO_DATAIN) & BIT23) == BIT23;
-  return 0;
-
-}
-
-// TODO
-EFI_GUID mPL180MciDevicePathGuid = EFI_CALLER_ID_GUID;
-
-EFI_STATUS
-MMCBuildDevicePath (
-  IN EFI_MMC_HOST_PROTOCOL     *This,
-  IN EFI_DEVICE_PATH_PROTOCOL  **DevicePath
-  )
-{
-  EFI_DEVICE_PATH_PROTOCOL    *NewDevicePathNode;
-
-  NewDevicePathNode = CreateDeviceNode(HARDWARE_DEVICE_PATH,HW_VENDOR_DP,sizeof(VENDOR_DEVICE_PATH));
-  CopyGuid(&((VENDOR_DEVICE_PATH*)NewDevicePathNode)->Guid,&mPL180MciDevicePathGuid);
-  *DevicePath = NewDevicePathNode;
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-MMCSendCommand (
-  IN EFI_MMC_HOST_PROTOCOL     *This,
-  IN MMC_CMD                   MmcCmd,
-  IN UINT32                    Argument
-  )
-{
-  UINTN MmcStatus;
-  UINTN RetryCount = 0;
-
-  if (IgnoreCommand(MmcCmd))
-    return EFI_SUCCESS;
-
-  MmcCmd = TranslateCommand(MmcCmd);
-
-  //DEBUG ((EFI_D_ERROR, "MMCSendCommand(%d)\n", MmcCmd));
-
-  // Check if command line is in use or not. Poll till command line is available.
-  while ((MmioRead32 (MMCHS_PSTATE) & DATI_MASK) == DATI_NOT_ALLOWED);
-
-  // Provide the block size.
-  MmioWrite32 (MMCHS_BLK, BLEN_512BYTES);
-
-  // Setting Data timeout counter value to max value.
-  MmioAndThenOr32 (MMCHS_SYSCTL, ~DTO_MASK, DTO_VAL);
-
-  // Clear Status register.
-  MmioWrite32 (MMCHS_STAT, 0xFFFFFFFF);
-
-  // Set command argument register
-  MmioWrite32 (MMCHS_ARG, Argument);
-
-  //TODO: fix this
-  //Enable interrupt enable events to occur
-  //MmioWrite32 (MMCHS_IE, CmdInterruptEnableVal);
-
-  // Send a command
-  MmioWrite32 (MMCHS_CMD, MmcCmd);
-
-  // Check for the command status.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    do {
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while (MmcStatus == 0);
-
-    // Read status of command response
-    if ((MmcStatus & ERRI) != 0) {
-
-      // Perform soft-reset for mmci_cmd line.
-      MmioOr32 (MMCHS_SYSCTL, SRC);
-      while ((MmioRead32 (MMCHS_SYSCTL) & SRC));
-
-      //DEBUG ((EFI_D_INFO, "MmcStatus: 0x%x\n", MmcStatus));
-      return EFI_DEVICE_ERROR;
-    }
-
-    // Check if command is completed.
-    if ((MmcStatus & CC) == CC) {
-      MmioWrite32 (MMCHS_STAT, CC);
-      break;
-    }
-
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    DEBUG ((DEBUG_BLKIO, "MMCSendCommand: Timeout\n"));
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-MMCNotifyState (
-  IN EFI_MMC_HOST_PROTOCOL    *This,
-  IN MMC_STATE                State
-  )
-{
-  EFI_STATUS              Status;
-  UINTN                   FreqSel;
-
-  switch(State) {
-    case MmcInvalidState:
-      ASSERT(0);
-      break;
-    case MmcHwInitializationState:
-      mBitModeSet = FALSE;
-
-      DEBUG ((DEBUG_BLKIO, "MMCHwInitializationState()\n"));
-      Status = InitializeMMCHS ();
-      if (EFI_ERROR(Status)) {
-        DEBUG ((DEBUG_BLKIO, "Initialize MMC host controller fails. Status: %x\n", Status));
-        return Status;
-      }
-
-      // Software reset of the MMCHS host controller.
-      MmioWrite32 (MMCHS_SYSCONFIG, SOFTRESET);
-      gBS->Stall(1000);
-      while ((MmioRead32 (MMCHS_SYSSTATUS) & RESETDONE_MASK) != RESETDONE);
-
-      // Soft reset for all.
-      MmioWrite32 (MMCHS_SYSCTL, SRA);
-      gBS->Stall(1000);
-      while ((MmioRead32 (MMCHS_SYSCTL) & SRA) != 0x0);
-
-      //Voltage capabilities initialization. Activate VS18 and VS30.
-      MmioOr32 (MMCHS_CAPA, (VS30 | VS18));
-
-      // Wakeup configuration
-      MmioOr32 (MMCHS_SYSCONFIG, ENAWAKEUP);
-      MmioOr32 (MMCHS_HCTL, IWE);
-
-      // MMCHS Controller default initialization
-      MmioOr32 (MMCHS_CON, (OD | DW8_1_4_BIT | CEATA_OFF));
-
-      MmioWrite32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_OFF));
-
-      // Enable internal clock
-      MmioOr32 (MMCHS_SYSCTL, ICE);
-
-      // Set the clock frequency to 80KHz.
-      UpdateMMCHSClkFrequency (CLKD_80KHZ);
-
-      // Enable SD bus power.
-      MmioOr32 (MMCHS_HCTL, (SDBP_ON));
-
-      // Poll till SD bus power bit is set.
-      while ((MmioRead32 (MMCHS_HCTL) & SDBP_MASK) != SDBP_ON);
-
-      // Enable interrupts.
-      MmioWrite32 (MMCHS_IE, (BADA_EN | CERR_EN | DEB_EN | DCRC_EN | DTO_EN | CIE_EN |
-        CEB_EN | CCRC_EN | CTO_EN | BRR_EN | BWR_EN | TC_EN | CC_EN));
-
-      // Controller INIT procedure start.
-      MmioOr32 (MMCHS_CON, INIT);
-      MmioWrite32 (MMCHS_CMD, 0x00000000);
-      while (!(MmioRead32 (MMCHS_STAT) & CC));
-
-      // Wait for 1 ms
-      gBS->Stall (1000);
-
-      // Set CC bit to 0x1 to clear the flag
-      MmioOr32 (MMCHS_STAT, CC);
-
-      // Retry INIT procedure.
-      MmioWrite32 (MMCHS_CMD, 0x00000000);
-      while (!(MmioRead32 (MMCHS_STAT) & CC));
-
-      // End initialization sequence
-      MmioAnd32 (MMCHS_CON, ~INIT);
-
-      MmioOr32 (MMCHS_HCTL, (SDVS_3_0_V | DTW_1_BIT | SDBP_ON));
-
-      // Change clock frequency to 400KHz to fit protocol
-      UpdateMMCHSClkFrequency(CLKD_400KHZ);
-
-      MmioOr32 (MMCHS_CON, OD);
-      break;
-    case MmcIdleState:
-      break;
-    case MmcReadyState:
-      break;
-    case MmcIdentificationState:
-      break;
-    case MmcStandByState:
-      CalculateCardCLKD (&FreqSel);
-      UpdateMMCHSClkFrequency (FreqSel);
-      break;
-    case MmcTransferState:
-      if (!mBitModeSet) {
-        Status = MMCSendCommand (This, CMD55, mRca << 16);
-        if (!EFI_ERROR (Status)) {
-          // Set device into 4-bit data bus mode
-          Status = MMCSendCommand (This, ACMD6, 0x2);
-          if (!EFI_ERROR (Status)) {
-            // Set host controler into 4-bit mode
-            MmioOr32 (MMCHS_HCTL, DTW_4_BIT);
-            DEBUG ((DEBUG_BLKIO, "SD Memory Card set to 4-bit mode\n"));
-            mBitModeSet = TRUE;
-          }
-        }
-      }
-      break;
-    case MmcSendingDataState:
-      break;
-    case MmcReceiveDataState:
-      break;
-    case MmcProgrammingState:
-      break;
-    case MmcDisconnectState:
-    default:
-      ASSERT(0);
-  }
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-MMCReceiveResponse (
-  IN EFI_MMC_HOST_PROTOCOL     *This,
-  IN MMC_RESPONSE_TYPE         Type,
-  IN UINT32*                   Buffer
-  )
-{
-  if (Buffer == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  if (Type == MMC_RESPONSE_TYPE_R2) {
-    Buffer[0] = MmioRead32 (MMCHS_RSP10);
-    Buffer[1] = MmioRead32 (MMCHS_RSP32);
-    Buffer[2] = MmioRead32 (MMCHS_RSP54);
-    Buffer[3] = MmioRead32 (MMCHS_RSP76);
-  } else {
-    Buffer[0] = MmioRead32 (MMCHS_RSP10);
-  }
-
-  if (Type == MMC_RESPONSE_TYPE_CSD) {
-    mMaxDataTransferRate = Buffer[3] & 0xFF;
-  } else if (Type == MMC_RESPONSE_TYPE_RCA) {
-    mRca = Buffer[0] >> 16;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-MMCReadBlockData (
-  IN EFI_MMC_HOST_PROTOCOL      *This,
-  IN EFI_LBA                    Lba,
-  IN UINTN                      Length,
-  IN UINT32*                    Buffer
-  )
-{
-  UINTN MmcStatus;
-  UINTN Count;
-  UINTN RetryCount = 0;
-
-  DEBUG ((DEBUG_BLKIO, "MMCReadBlockData(LBA: 0x%x, Length: 0x%x, Buffer: 0x%x)\n", Lba, Length, Buffer));
-
-  // Check controller status to make sure there is no error.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    do {
-      // Read Status.
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while(MmcStatus == 0);
-
-    // Check if Buffer read ready (BRR) bit is set?
-    if (MmcStatus & BRR) {
-
-      // Clear BRR bit
-      MmioOr32 (MMCHS_STAT, BRR);
-
-      for (Count = 0; Count < Length / 4; Count++) {
-        *Buffer++ = MmioRead32(MMCHS_DATA);
-      }
-      break;
-    }
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-MMCWriteBlockData (
-  IN EFI_MMC_HOST_PROTOCOL    *This,
-  IN EFI_LBA                  Lba,
-  IN UINTN                    Length,
-  IN UINT32*                  Buffer
-  )
-{
-  UINTN MmcStatus;
-  UINTN Count;
-  UINTN RetryCount = 0;
-
-  // Check controller status to make sure there is no error.
-  while (RetryCount < MAX_RETRY_COUNT) {
-    do {
-      // Read Status.
-      MmcStatus = MmioRead32 (MMCHS_STAT);
-    } while(MmcStatus == 0);
-
-    // Check if Buffer write ready (BWR) bit is set?
-    if (MmcStatus & BWR) {
-
-      // Clear BWR bit
-      MmioOr32 (MMCHS_STAT, BWR);
-
-      // Write block worth of data.
-      for (Count = 0; Count < Length / 4; Count++) {
-        MmioWrite32 (MMCHS_DATA, *Buffer++);
-      }
-
-      break;
-    }
-    RetryCount++;
-  }
-
-  if (RetryCount == MAX_RETRY_COUNT) {
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_MMC_HOST_PROTOCOL gMMCHost = {
-  MMC_HOST_PROTOCOL_REVISION,
-  MMCIsCardPresent,
-  MMCIsReadOnly,
-  MMCBuildDevicePath,
-  MMCNotifyState,
-  MMCSendCommand,
-  MMCReceiveResponse,
-  MMCReadBlockData,
-  MMCWriteBlockData
-};
-
-EFI_STATUS
-MMCInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_STATUS    Status;
-  EFI_HANDLE    Handle = NULL;
-
-  DEBUG ((DEBUG_BLKIO, "MMCInitialize()\n"));
-
-  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
-  ASSERT_EFI_ERROR(Status);
-
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &Handle,
-                  &gEfiMmcHostProtocolGuid,         &gMMCHost,
-                  NULL
-                  );
-  ASSERT_EFI_ERROR (Status);
-
-  return Status;
-}
diff --git a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h b/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h
deleted file mode 100755
index 0748ddfa473f..000000000000
--- a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.h
+++ /dev/null
@@ -1,44 +0,0 @@ 
-/** @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.
-*
-**/
-
-#ifndef _MMC_HOST_DXE_H_
-#define _MMC_HOST_DXE_H_
-
-#include <Uefi.h>
-
-#include <Library/BaseLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/DebugLib.h>
-#include <Library/DevicePathLib.h>
-#include <Library/IoLib.h>
-#include <Library/PcdLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/OmapLib.h>
-#include <Library/OmapDmaLib.h>
-#include <Library/DmaLib.h>
-
-#include <Protocol/EmbeddedExternalDevice.h>
-#include <Protocol/BlockIo.h>
-#include <Protocol/DevicePath.h>
-#include <Protocol/MmcHost.h>
-
-#include <Omap3530/Omap3530.h>
-#include <TPS65950.h>
-
-#define MAX_RETRY_COUNT  (100*5)
-
-extern EFI_BLOCK_IO_PROTOCOL gBlockIo;
-
-#endif
diff --git a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf b/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
deleted file mode 100755
index f6cca8c88050..000000000000
--- a/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
+++ /dev/null
@@ -1,53 +0,0 @@ 
-#  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.
-#
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = MMC
-  FILE_GUID                      = 100c2cfa-b586-4198-9b4c-1683d195b1da
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = MMCInitialize
-
-
-[Sources.common]
-  MmcHostDxe.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  PcdLib
-  UefiLib
-  UefiDriverEntryPoint
-  MemoryAllocationLib
-  IoLib
-  OmapDmaLib
-  DmaLib
-
-[Guids]
-
-[Protocols]
-  gEfiBlockIoProtocolGuid
-  gEfiCpuArchProtocolGuid
-  gEfiDevicePathProtocolGuid
-  gEmbeddedExternalDeviceProtocolGuid
-  gEfiMmcHostProtocolGuid
-
-[Pcd]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base
-  gOmap35xxTokenSpaceGuid.PcdMmchsTimerFreq100NanoSeconds
-
-[depex]
-  gEmbeddedExternalDeviceProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec b/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
deleted file mode 100644
index 8924e2ac4757..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
+++ /dev/null
@@ -1,58 +0,0 @@ 
-#/** @file
-# Omap35xx SoC package.
-#
-# Copyright (c) 2009 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  DEC_SPECIFICATION              = 0x00010005
-  PACKAGE_NAME                   = Omap35xxPkg
-  PACKAGE_GUID                   = D196A631-B7B7-4953-A3EE-0F773CBABF20
-  PACKAGE_VERSION                = 0.1
-
-################################################################################
-#
-# Include Section - list of Include Paths that are provided by this package.
-#                   Comments are used for Keywords and Module Types.
-#
-# Supported Module Types:
-#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
-#
-################################################################################
-[Includes.common]
-  Include                        # Root include for the package
-
-[LibraryClasses]
-  ##  @libraryclass  Abstract location of basic OMAP components
-  ##
-  OmapLib|Include/Library/OmapLib.h
-
-  ##  @libraryclass  Abstract OMAP and ARM DMA, modeled after PCI IO protocol
-  ##
-  OmapDmaLib|Include/Library/OmapDmaLib.h
-
-
-[Guids.common]
-  gOmap35xxTokenSpaceGuid    =  { 0x24b09abe, 0x4e47, 0x481c, { 0xa9, 0xad, 0xce, 0xf1, 0x2c, 0x39, 0x23, 0x27} }
-
-[PcdsFeatureFlag.common]
-
-[PcdsFixedAtBuild.common]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart|3|UINT32|0x00000202
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxGpmcOffset|0x00000000|UINT32|0x00000203
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base|0x00000000|UINT32|0x00000204
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer|3|UINT32|0x00000205
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer|4|UINT32|0x00000206
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxDebugAgentTimer|5|UINT32|0x00000207
-  gOmap35xxTokenSpaceGuid.PcdDebugAgentTimerFreqNanoSeconds|77|UINT32|0x00000208
-  gOmap35xxTokenSpaceGuid.PcdMmchsTimerFreq100NanoSeconds|1000000|UINT32|0x00000209
-
diff --git a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc b/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc
deleted file mode 100644
index 9056bba831c5..000000000000
--- a/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dsc
+++ /dev/null
@@ -1,188 +0,0 @@ 
-#/** @file
-# Omap35xx SoC package.
-#
-# Copyright (c) 2009 - 2010, Apple Inc. 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.
-#
-#**/
-
-################################################################################
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-################################################################################
-[Defines]
-  PLATFORM_NAME                  = Omap35xxPkg
-  PLATFORM_GUID                  = D196A631-B7B7-4953-A3EE-0F773CBABF20
-  PLATFORM_VERSION               = 0.1
-  DSC_SPECIFICATION              = 0x00010005
-  OUTPUT_DIRECTORY               = Build/Omap35xxPkg
-  SUPPORTED_ARCHITECTURES        = ARM
-  BUILD_TARGETS                  = DEBUG|RELEASE
-  SKUID_IDENTIFIER               = DEFAULT
-  DEFINE TARGET_HACK             = DEBUG
-
-
-[LibraryClasses.common]
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-
-  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
-  ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
-  DefaultExceptioHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
-  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
-
-  RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
-
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  OmapLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
-  OmapDmaLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
-
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
-
-#
-# Assume everything is fixed at build
-#
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-
- # UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
-
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-
-
-[LibraryClasses.common.DXE_DRIVER]
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-
-
-[LibraryClasses.ARM]
-  #
-  # Note: This NULL library feature is not yet in the edk2/BaseTools, but it is checked in to
-  # the BaseTools project. So you need to build with the BaseTools project util this feature gets synced.
-  #
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
-
-
-[BuildOptions]
-  XCODE:*_*_ARM_ARCHCC_FLAGS     == -arch armv7 -march=armv7
-  XCODE:*_*_ARM_ARCHASM_FLAGS    == -arch armv7
-  XCODE:*_*_ARM_ARCHDLINK_FLAGS  == -arch armv7
-
-  GCC:*_*_ARM_ARCHCC_FLAGS     == -march=armv7-a -mthumb
-  GCC:*_*_ARM_ARCHASM_FLAGS    == -march=armv7-a
-
-  RVCT:*_*_ARM_ARCHCC_FLAGS     == --cpu 7-A
-  RVCT:*_*_ARM_ARCHASM_FLAGS    == --cpu 7-A
-
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-
-[PcdsFixedAtBuild.common]
-
-# DEBUG_ASSERT_ENABLED       0x01
-# DEBUG_PRINT_ENABLED        0x02
-# DEBUG_CODE_ENABLED         0x04
-# CLEAR_MEMORY_ENABLED       0x08
-# ASSERT_BREAKPOINT_ENABLED  0x10
-# ASSERT_DEADLOOP_ENABLED    0x20
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
-
-#  DEBUG_INIT      0x00000001  // Initialization
-#  DEBUG_WARN      0x00000002  // Warnings
-#  DEBUG_LOAD      0x00000004  // Load events
-#  DEBUG_FS        0x00000008  // EFI File system
-#  DEBUG_POOL      0x00000010  // Alloc & Free's
-#  DEBUG_PAGE      0x00000020  // Alloc & Free's
-#  DEBUG_INFO      0x00000040  // Verbose
-#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
-#  DEBUG_VARIABLE  0x00000100  // Variable
-#  DEBUG_BM        0x00000400  // Boot Manager
-#  DEBUG_BLKIO     0x00001000  // BlkIo Driver
-#  DEBUG_NET       0x00004000  // SNI Driver
-#  DEBUG_UNDI      0x00010000  // UNDI Driver
-#  DEBUG_LOADFILE  0x00020000  // UNDI Driver
-#  DEBUG_EVENT     0x00080000  // Event messages
-#  DEBUG_ERROR     0x80000000  // Error
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000004
-
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
-
-  gEmbeddedTokenSpaceGuid.PcdPrePiTempMemorySize|0
-  gEmbeddedTokenSpaceGuid.PcdPrePiBfvBaseAddress|0
-  gEmbeddedTokenSpaceGuid.PcdPrePiBfvSize|0
-  gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0
-  gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0
-  gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000
-  gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory
-  gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack
-  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80000000
-  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
-
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxGpmcOffset|0x6E000000
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxMMCHS1Base|0x4809C000
-
-  # Console
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart|3
-
-  # Timers
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer|3
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer|4
-  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
-
-  #
-  # ARM Pcds
-  #
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
-
-################################################################################
-#
-# Components Section - list of all EDK II Modules needed by this Platform
-#
-################################################################################
-[Components.common]
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
-
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MMCHSDxe/MMCHS.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
-
-
-
diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c
deleted file mode 100644
index 17ea03ccf486..000000000000
--- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.c
+++ /dev/null
@@ -1,633 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include "PciEmulation.h"
-
-EMBEDDED_EXTERNAL_DEVICE   *gTPS65950;
-
-#define HOST_CONTROLLER_OPERATION_REG_SIZE  0x44
-
-typedef struct {
-  ACPI_HID_DEVICE_PATH      AcpiDevicePath;
-  PCI_DEVICE_PATH           PciDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} EFI_PCI_IO_DEVICE_PATH;
-
-typedef struct {
-  UINT32                  Signature;
-  EFI_PCI_IO_DEVICE_PATH  DevicePath;
-  EFI_PCI_IO_PROTOCOL     PciIoProtocol;
-  PCI_TYPE00              *ConfigSpace;
-  PCI_ROOT_BRIDGE         RootBridge;
-  UINTN                   Segment;
-} EFI_PCI_IO_PRIVATE_DATA;
-
-#define EFI_PCI_IO_PRIVATE_DATA_SIGNATURE     SIGNATURE_32('p', 'c', 'i', 'o')
-#define EFI_PCI_IO_PRIVATE_DATA_FROM_THIS(a)  CR(a, EFI_PCI_IO_PRIVATE_DATA, PciIoProtocol, EFI_PCI_IO_PRIVATE_DATA_SIGNATURE)
-
-EFI_PCI_IO_DEVICE_PATH PciIoDevicePathTemplate =
-{
-  {
-    { ACPI_DEVICE_PATH, ACPI_DP, { sizeof (ACPI_HID_DEVICE_PATH), 0 } },
-    EISA_PNP_ID(0x0A03),  // HID
-    0                     // UID
-  },
-  {
-    { HARDWARE_DEVICE_PATH, HW_PCI_DP, { sizeof (PCI_DEVICE_PATH), 0 } },
-    0,
-    0
-  },
-  { END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0} }
-};
-
-STATIC
-VOID
-ConfigureUSBHost (
-  VOID
-  )
-{
-  EFI_STATUS Status;
-  UINT8      Data = 0;
-
-  // Take USB host out of force-standby mode
-  MmioWrite32 (UHH_SYSCONFIG, UHH_SYSCONFIG_MIDLEMODE_NO_STANDBY
-                            | UHH_SYSCONFIG_CLOCKACTIVITY_ON
-                            | UHH_SYSCONFIG_SIDLEMODE_NO_STANDBY
-                            | UHH_SYSCONFIG_ENAWAKEUP_ENABLE
-                            | UHH_SYSCONFIG_AUTOIDLE_ALWAYS_RUN);
-  MmioWrite32 (UHH_HOSTCONFIG, UHH_HOSTCONFIG_P3_CONNECT_STATUS_DISCONNECT
-                             | UHH_HOSTCONFIG_P2_CONNECT_STATUS_DISCONNECT
-                             | UHH_HOSTCONFIG_P1_CONNECT_STATUS_DISCONNECT
-                             | UHH_HOSTCONFIG_ENA_INCR_ALIGN_DISABLE
-                             | UHH_HOSTCONFIG_ENA_INCR16_ENABLE
-                             | UHH_HOSTCONFIG_ENA_INCR8_ENABLE
-                             | UHH_HOSTCONFIG_ENA_INCR4_ENABLE
-                             | UHH_HOSTCONFIG_AUTOPPD_ON_OVERCUR_EN_ON
-                             | UHH_HOSTCONFIG_P1_ULPI_BYPASS_ULPI_MODE);
-
-  // USB reset (GPIO 147 - Port 5 pin 19) output high
-  MmioAnd32 (GPIO5_BASE + GPIO_OE, ~BIT19);
-  MmioWrite32 (GPIO5_BASE + GPIO_SETDATAOUT, BIT19);
-
-  // Get the Power IC protocol
-  Status = gBS->LocateProtocol (&gEmbeddedExternalDeviceProtocolGuid, NULL, (VOID **)&gTPS65950);
-  ASSERT_EFI_ERROR (Status);
-
-  // Power the USB PHY
-  Data = VAUX_DEV_GRP_P1;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEV_GRP), 1, &Data);
-  ASSERT_EFI_ERROR(Status);
-
-  Data = VAUX_DEDICATED_18V;
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID4, VAUX2_DEDICATED), 1, &Data);
-  ASSERT_EFI_ERROR (Status);
-
-  // Enable power to the USB hub
-  Status = gTPS65950->Read (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
-  ASSERT_EFI_ERROR (Status);
-
-  // LEDAON controls the power to the USB host, PWM is disabled
-  Data &= ~LEDAPWM;
-  Data |= LEDAON;
-
-  Status = gTPS65950->Write (gTPS65950, EXTERNAL_DEVICE_REGISTER(I2C_ADDR_GRP_ID3, LEDEN), 1, &Data);
-  ASSERT_EFI_ERROR (Status);
-}
-
-
-EFI_STATUS
-PciIoPollMem (
-  IN EFI_PCI_IO_PROTOCOL           *This,
-  IN  EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN  UINT8                        BarIndex,
-  IN  UINT64                       Offset,
-  IN  UINT64                       Mask,
-  IN  UINT64                       Value,
-  IN  UINT64                       Delay,
-  OUT UINT64                       *Result
-  )
-{
-  ASSERT (FALSE);
-  return EFI_UNSUPPORTED;
-}
-
-EFI_STATUS
-PciIoPollIo (
-  IN EFI_PCI_IO_PROTOCOL           *This,
-  IN  EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN  UINT8                        BarIndex,
-  IN  UINT64                       Offset,
-  IN  UINT64                       Mask,
-  IN  UINT64                       Value,
-  IN  UINT64                       Delay,
-  OUT UINT64                       *Result
-  )
-{
-  ASSERT (FALSE);
-  return EFI_UNSUPPORTED;
-}
-
-EFI_STATUS
-PciIoMemRead (
-  IN EFI_PCI_IO_PROTOCOL              *This,
-  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN     UINT8                        BarIndex,
-  IN     UINT64                       Offset,
-  IN     UINTN                        Count,
-  IN OUT VOID                         *Buffer
-  )
-{
-  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS(This);
-
-  return PciRootBridgeIoMemRead (&Private->RootBridge.Io,
-                                (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
-                                Private->ConfigSpace->Device.Bar[BarIndex] + Offset,
-                                Count,
-                                Buffer
-                                );
-}
-
-EFI_STATUS
-PciIoMemWrite (
-  IN EFI_PCI_IO_PROTOCOL              *This,
-  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN     UINT8                        BarIndex,
-  IN     UINT64                       Offset,
-  IN     UINTN                        Count,
-  IN OUT VOID                         *Buffer
-  )
-{
-  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS(This);
-
-  return PciRootBridgeIoMemWrite (&Private->RootBridge.Io,
-                                 (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
-                                 Private->ConfigSpace->Device.Bar[BarIndex] + Offset,
-                                 Count,
-                                 Buffer
-                                 );
-}
-
-EFI_STATUS
-PciIoIoRead (
-  IN EFI_PCI_IO_PROTOCOL              *This,
-  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN     UINT8                        BarIndex,
-  IN     UINT64                       Offset,
-  IN     UINTN                        Count,
-  IN OUT VOID                         *Buffer
-  )
-{
-  ASSERT (FALSE);
-  return EFI_UNSUPPORTED;
-}
-
-EFI_STATUS
-PciIoIoWrite (
-  IN EFI_PCI_IO_PROTOCOL              *This,
-  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN     UINT8                        BarIndex,
-  IN     UINT64                       Offset,
-  IN     UINTN                        Count,
-  IN OUT VOID                         *Buffer
-  )
-{
-  ASSERT (FALSE);
-  return EFI_UNSUPPORTED;
-}
-
-/**
-  Enable a PCI driver to read PCI controller registers in PCI configuration space.
-
-  @param[in]      This    A pointer to the EFI_PCI_IO_PROTOCOL instance.
-  @param[in]      Width   Signifies the width of the memory operations.
-  @param[in]      Offset  The offset within the PCI configuration space for
-                          the PCI controller.
-  @param[in]      Count   The number of PCI configuration operations to
-                          perform. Bytes moved is Width size * Count,
-                          starting at Offset.
-
-  @param[in out]  Buffer  The destination buffer to store the results.
-
-  @retval  EFI_SUCCESS            The data was read from the PCI controller.
-  @retval  EFI_INVALID_PARAMETER  "Width" is invalid.
-  @retval  EFI_INVALID_PARAMETER  "Buffer" is NULL.
-
-**/
-EFI_STATUS
-PciIoPciRead (
-  IN     EFI_PCI_IO_PROTOCOL       *This,
-  IN     EFI_PCI_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT32                     Offset,
-  IN     UINTN                      Count,
-  IN OUT VOID                      *Buffer
-  )
-{
-  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS (This);
-  EFI_STATUS Status;
-
-  if ((Width < 0) || (Width >= EfiPciIoWidthMaximum) || (Buffer == NULL)) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  Status = PciRootBridgeIoMemRW (
-             (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH)Width,
-             Count,
-             TRUE,
-             (PTR)(UINTN)Buffer,
-             TRUE,
-             (PTR)(UINTN)(((UINT8 *)Private->ConfigSpace) + Offset)  //Fix me ConfigSpace
-             );
-
-  return Status;
-}
-
-/**
-  Enable a PCI driver to write PCI controller registers in PCI configuration space.
-
-  @param[in]      This    A pointer to the EFI_PCI_IO_PROTOCOL instance.
-  @param[in]      Width   Signifies the width of the memory operations.
-  @param[in]      Offset  The offset within the PCI configuration space for
-                          the PCI controller.
-  @param[in]      Count   The number of PCI configuration operations to
-                          perform. Bytes moved is Width size * Count,
-                          starting at Offset.
-
-  @param[in out]  Buffer  The source buffer to write data from.
-
-  @retval  EFI_SUCCESS            The data was read from the PCI controller.
-  @retval  EFI_INVALID_PARAMETER  "Width" is invalid.
-  @retval  EFI_INVALID_PARAMETER  "Buffer" is NULL.
-
-**/
-EFI_STATUS
-PciIoPciWrite (
-  IN EFI_PCI_IO_PROTOCOL              *This,
-  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN     UINT32                       Offset,
-  IN     UINTN                        Count,
-  IN OUT VOID                         *Buffer
-  )
-{
-  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS (This);
-
-  if ((Width < 0) || (Width >= EfiPciIoWidthMaximum) || (Buffer == NULL)) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  return PciRootBridgeIoMemRW ((EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
-                               Count,
-                               TRUE,
-                               (PTR)(UINTN)(((UINT8 *)Private->ConfigSpace) + Offset),
-                               TRUE,
-                               (PTR)(UINTN)Buffer
-                               );
-}
-
-EFI_STATUS
-PciIoCopyMem (
-  IN EFI_PCI_IO_PROTOCOL              *This,
-  IN     EFI_PCI_IO_PROTOCOL_WIDTH    Width,
-  IN     UINT8                        DestBarIndex,
-  IN     UINT64                       DestOffset,
-  IN     UINT8                        SrcBarIndex,
-  IN     UINT64                       SrcOffset,
-  IN     UINTN                        Count
-  )
-{
-  ASSERT (FALSE);
-  return EFI_UNSUPPORTED;
-}
-
-EFI_STATUS
-PciIoMap (
-  IN EFI_PCI_IO_PROTOCOL                *This,
-  IN     EFI_PCI_IO_PROTOCOL_OPERATION  Operation,
-  IN     VOID                           *HostAddress,
-  IN OUT UINTN                          *NumberOfBytes,
-  OUT    EFI_PHYSICAL_ADDRESS           *DeviceAddress,
-  OUT    VOID                           **Mapping
-  )
-{
-  DMA_MAP_OPERATION   DmaOperation;
-
-  if (Operation == EfiPciIoOperationBusMasterRead) {
-    DmaOperation = MapOperationBusMasterRead;
-  } else if (Operation == EfiPciIoOperationBusMasterWrite) {
-    DmaOperation = MapOperationBusMasterWrite;
-  } else if (Operation == EfiPciIoOperationBusMasterCommonBuffer) {
-    DmaOperation = MapOperationBusMasterCommonBuffer;
-  } else {
-    return EFI_INVALID_PARAMETER;
-  }
-  return DmaMap (DmaOperation, HostAddress, NumberOfBytes, DeviceAddress, Mapping);
-}
-
-EFI_STATUS
-PciIoUnmap (
-  IN EFI_PCI_IO_PROTOCOL           *This,
-  IN  VOID                         *Mapping
-  )
-{
-  return DmaUnmap (Mapping);
-}
-
-/**
-  Allocate pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer
-  mapping.
-
-  @param[in]   This         A pointer to the EFI_PCI_IO_PROTOCOL instance.
-  @param[in]   Type         This parameter is not used and must be ignored.
-  @param[in]   MemoryType   The type of memory to allocate, EfiBootServicesData or
-                            EfiRuntimeServicesData.
-  @param[in]   Pages        The number of pages to allocate.
-  @param[out]  HostAddress  A pointer to store the base system memory address of
-                            the allocated range.
-  @param[in]   Attributes   The requested bit mask of attributes for the allocated
-                            range. Only the attributes,
-                            EFI_PCI_ATTRIBUTE_MEMORY_WRITE_COMBINE and
-                            EFI_PCI_ATTRIBUTE_MEMORY_CACHED may be used with this
-                            function. If any other bits are set, then EFI_UNSUPPORTED
-                            is returned. This function ignores this bit mask.
-
-  @retval  EFI_SUCCESS            The requested memory pages were allocated.
-  @retval  EFI_INVALID_PARAMETER  HostAddress is NULL.
-  @retval  EFI_INVALID_PARAMETER  MemoryType is invalid.
-  @retval  EFI_UNSUPPORTED        Attributes is unsupported.
-  @retval  EFI_OUT_OF_RESOURCES   The memory pages could not be allocated.
-
-**/
-EFI_STATUS
-PciIoAllocateBuffer (
-  IN EFI_PCI_IO_PROTOCOL  *This,
-  IN  EFI_ALLOCATE_TYPE   Type,
-  IN  EFI_MEMORY_TYPE     MemoryType,
-  IN  UINTN               Pages,
-  OUT VOID                **HostAddress,
-  IN  UINT64              Attributes
-  )
-{
-  if (Attributes &
-      (~(EFI_PCI_ATTRIBUTE_MEMORY_WRITE_COMBINE |
-         EFI_PCI_ATTRIBUTE_MEMORY_CACHED         ))) {
-    return EFI_UNSUPPORTED;
-  }
-
-  return DmaAllocateBuffer (MemoryType, Pages, HostAddress);
-}
-
-
-EFI_STATUS
-PciIoFreeBuffer (
-  IN EFI_PCI_IO_PROTOCOL           *This,
-  IN  UINTN                        Pages,
-  IN  VOID                         *HostAddress
-  )
-{
-  return DmaFreeBuffer (Pages, HostAddress);
-}
-
-
-EFI_STATUS
-PciIoFlush (
-  IN EFI_PCI_IO_PROTOCOL  *This
-  )
-{
-  return EFI_SUCCESS;
-}
-
-/**
-  Retrieves this PCI controller's current PCI bus number, device number, and function number.
-
-  @param[in]   This            A pointer to the EFI_PCI_IO_PROTOCOL instance.
-  @param[out]  SegmentNumber   The PCI controller's current PCI segment number.
-  @param[out]  BusNumber       The PCI controller's current PCI bus number.
-  @param[out]  DeviceNumber    The PCI controller's current PCI device number.
-  @param[out]  FunctionNumber  The PCI controller’s current PCI function number.
-
-  @retval  EFI_SUCCESS            The PCI controller location was returned.
-  @retval  EFI_INVALID_PARAMETER  At least one out of the four output parameters is
-                                  a NULL pointer.
-**/
-EFI_STATUS
-PciIoGetLocation (
-  IN   EFI_PCI_IO_PROTOCOL  *This,
-  OUT  UINTN                *SegmentNumber,
-  OUT  UINTN                *BusNumber,
-  OUT  UINTN                *DeviceNumber,
-  OUT  UINTN                *FunctionNumber
-  )
-{
-  EFI_PCI_IO_PRIVATE_DATA *Private = EFI_PCI_IO_PRIVATE_DATA_FROM_THIS (This);
-
-  if ((SegmentNumber == NULL) || (BusNumber      == NULL) ||
-      (DeviceNumber  == NULL) || (FunctionNumber == NULL)    ) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  *SegmentNumber  = Private->Segment;
-  *BusNumber      = 0xff;
-  *DeviceNumber   = 0;
-  *FunctionNumber = 0;
-
-  return EFI_SUCCESS;
-}
-
-/**
-  Performs an operation on the attributes that this PCI controller supports.
-
-  The operations include getting the set of supported attributes, retrieving
-  the current attributes, setting the current attributes, enabling attributes,
-  and disabling attributes.
-
-  @param[in]   This        A pointer to the EFI_PCI_IO_PROTOCOL instance.
-  @param[in]   Operation   The operation to perform on the attributes for this
-                           PCI controller.
-  @param[in]   Attributes  The mask of attributes that are used for Set,
-                           Enable and Disable operations.
-  @param[out]  Result      A pointer to the result mask of attributes that are
-                           returned for the Get and Supported operations. This
-                           is an optional parameter that may be NULL for the
-                           Set, Enable, and Disable operations.
-
-  @retval  EFI_SUCCESS            The operation on the PCI controller's
-                                  attributes was completed. If the operation
-                                  was Get or Supported, then the attribute mask
-                                  is returned in Result.
-  @retval  EFI_INVALID_PARAMETER  Operation is greater than or equal to
-                                  EfiPciIoAttributeOperationMaximum.
-  @retval  EFI_INVALID_PARAMETER  Operation is Get and Result is NULL.
-  @retval  EFI_INVALID_PARAMETER  Operation is Supported and Result is NULL.
-
-**/
-EFI_STATUS
-PciIoAttributes (
-  IN EFI_PCI_IO_PROTOCOL                       *This,
-  IN  EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION  Operation,
-  IN  UINT64                                   Attributes,
-  OUT UINT64                                   *Result OPTIONAL
-  )
-{
-  switch (Operation) {
-  case EfiPciIoAttributeOperationGet:
-  case EfiPciIoAttributeOperationSupported:
-    if (Result == NULL) {
-      return EFI_INVALID_PARAMETER;
-    }
-    //
-    // We are not a real PCI device so just say things we kind of do
-    //
-    *Result = EFI_PCI_DEVICE_ENABLE;
-    break;
-
-  case EfiPciIoAttributeOperationSet:
-  case EfiPciIoAttributeOperationEnable:
-  case EfiPciIoAttributeOperationDisable:
-    if (Attributes & (~EFI_PCI_DEVICE_ENABLE)) {
-      return EFI_UNSUPPORTED;
-    }
-    // Since we are not a real PCI device no enable/set or disable operations exist.
-    return EFI_SUCCESS;
-
-  default:
-    return EFI_INVALID_PARAMETER;
-  };
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-PciIoGetBarAttributes (
-  IN EFI_PCI_IO_PROTOCOL             *This,
-  IN  UINT8                          BarIndex,
-  OUT UINT64                         *Supports, OPTIONAL
-  OUT VOID                           **Resources OPTIONAL
-  )
-{
-  ASSERT (FALSE);
-  return EFI_UNSUPPORTED;
-}
-
-EFI_STATUS
-PciIoSetBarAttributes (
-  IN EFI_PCI_IO_PROTOCOL              *This,
-  IN     UINT64                       Attributes,
-  IN     UINT8                        BarIndex,
-  IN OUT UINT64                       *Offset,
-  IN OUT UINT64                       *Length
-  )
-{
-  ASSERT (FALSE);
-  return EFI_UNSUPPORTED;
-}
-
-EFI_PCI_IO_PROTOCOL PciIoTemplate =
-{
-  PciIoPollMem,
-  PciIoPollIo,
-  { PciIoMemRead, PciIoMemWrite },
-  { PciIoIoRead,  PciIoIoWrite },
-  { PciIoPciRead, PciIoPciWrite },
-  PciIoCopyMem,
-  PciIoMap,
-  PciIoUnmap,
-  PciIoAllocateBuffer,
-  PciIoFreeBuffer,
-  PciIoFlush,
-  PciIoGetLocation,
-  PciIoAttributes,
-  PciIoGetBarAttributes,
-  PciIoSetBarAttributes,
-  0,
-  0
-};
-
-EFI_STATUS
-EFIAPI
-PciEmulationEntryPoint (
-  IN EFI_HANDLE       ImageHandle,
-  IN EFI_SYSTEM_TABLE *SystemTable
-  )
-{
-  EFI_STATUS              Status;
-  EFI_HANDLE              Handle;
-  EFI_PCI_IO_PRIVATE_DATA *Private;
-  UINT8                   CapabilityLength;
-  UINT8                   PhysicalPorts;
-  UINTN                   Count;
-
-
-  //Configure USB host for OMAP3530.
-  ConfigureUSBHost();
-
-  // Create a private structure
-  Private = AllocatePool(sizeof(EFI_PCI_IO_PRIVATE_DATA));
-  if (Private == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    return Status;
-  }
-
-  Private->Signature              = EFI_PCI_IO_PRIVATE_DATA_SIGNATURE;  // Fill in signature
-  Private->RootBridge.Signature   = PCI_ROOT_BRIDGE_SIGNATURE;          // Fake Root Bridge structure needs a signature too
-  Private->RootBridge.MemoryStart = USB_EHCI_HCCAPBASE;                 // Get the USB capability register base
-  Private->Segment                = 0;                                  // Default to segment zero
-
-  // Find out the capability register length and number of physical ports.
-  CapabilityLength = MmioRead8(Private->RootBridge.MemoryStart);
-  PhysicalPorts    = (MmioRead32 (Private->RootBridge.MemoryStart + 0x4)) & 0x0000000F;
-
-  // Calculate the total size of the USB registers.
-  Private->RootBridge.MemorySize = CapabilityLength + (HOST_CONTROLLER_OPERATION_REG_SIZE + ((4 * PhysicalPorts) - 1));
-
-  // Enable Port Power bit in Port status and control registers in EHCI register space.
-  // Port Power Control (PPC) bit in the HCSPARAMS register is already set which indicates
-  // host controller implementation includes port power control.
-  for (Count = 0; Count < PhysicalPorts; Count++) {
-    MmioOr32 ((Private->RootBridge.MemoryStart + CapabilityLength + HOST_CONTROLLER_OPERATION_REG_SIZE + 4*Count), 0x00001000);
-  }
-
-  // Create fake PCI config space.
-  Private->ConfigSpace = AllocateZeroPool(sizeof(PCI_TYPE00));
-  if (Private->ConfigSpace == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    FreePool(Private);
-    return Status;
-  }
-
-  // Configure PCI config space
-  Private->ConfigSpace->Hdr.VendorId = 0xFFFF; // Invalid vendor Id as it is not an actual device.
-  Private->ConfigSpace->Hdr.DeviceId = 0x0000; // Not relevant as the vendor id is not valid.
-  Private->ConfigSpace->Hdr.ClassCode[0] = 0x20;
-  Private->ConfigSpace->Hdr.ClassCode[1] = 0x03;
-  Private->ConfigSpace->Hdr.ClassCode[2] = 0x0C;
-  Private->ConfigSpace->Device.Bar[0] = Private->RootBridge.MemoryStart;
-
-  Handle = NULL;
-
-  // Unique device path.
-  CopyMem(&Private->DevicePath, &PciIoDevicePathTemplate, sizeof(PciIoDevicePathTemplate));
-  Private->DevicePath.AcpiDevicePath.UID = 0;
-
-  // Copy protocol structure
-  CopyMem(&Private->PciIoProtocol, &PciIoTemplate, sizeof(PciIoTemplate));
-
-  Status = gBS->InstallMultipleProtocolInterfaces(&Handle,
-                                                  &gEfiPciIoProtocolGuid,       &Private->PciIoProtocol,
-                                                  &gEfiDevicePathProtocolGuid,  &Private->DevicePath,
-                                                  NULL);
-  if (EFI_ERROR(Status)) {
-    DEBUG((EFI_D_ERROR, "PciEmulationEntryPoint InstallMultipleProtocolInterfaces() failed.\n"));
-  }
-
-  return Status;
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h
deleted file mode 100644
index d5ee04318939..000000000000
--- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.h
+++ /dev/null
@@ -1,292 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 _PCI_ROOT_BRIDGE_H_
-#define _PCI_ROOT_BRIDGE_H_
-
-#include <PiDxe.h>
-
-#include <TPS65950.h>
-
-#include <Library/BaseLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/DxeServicesTableLib.h>
-#include <Library/IoLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/PciLib.h>
-#include <Library/UefiLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/OmapDmaLib.h>
-#include <Library/DmaLib.h>
-
-#include <Protocol/EmbeddedExternalDevice.h>
-#include <Protocol/DevicePath.h>
-#include <Protocol/PciIo.h>
-#include <Protocol/PciRootBridgeIo.h>
-#include <Protocol/PciHostBridgeResourceAllocation.h>
-
-#include <IndustryStandard/Pci22.h>
-#include <IndustryStandard/Acpi.h>
-
-#include <Omap3530/Omap3530.h>
-
-
-
-#define EFI_RESOURCE_NONEXISTENT  0xFFFFFFFFFFFFFFFFULL
-#define EFI_RESOURCE_LESS         0xFFFFFFFFFFFFFFFEULL
-#define EFI_RESOURCE_SATISFIED    0x0000000000000000ULL
-
-
-typedef struct {
-  ACPI_HID_DEVICE_PATH      AcpiDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;
-} EFI_PCI_ROOT_BRIDGE_DEVICE_PATH;
-
-
-#define ACPI_CONFIG_IO    0
-#define ACPI_CONFIG_MMIO  1
-#define ACPI_CONFIG_BUS   2
-
-typedef struct {
-  EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR Desc[3];
-  EFI_ACPI_END_TAG_DESCRIPTOR       EndDesc;
-} ACPI_CONFIG_INFO;
-
-
-#define PCI_ROOT_BRIDGE_SIGNATURE SIGNATURE_32 ('P', 'c', 'i', 'F')
-
-typedef struct {
-  UINT32                                            Signature;
-  EFI_HANDLE                                        Handle;
-  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL                   Io;
-  EFI_PCI_ROOT_BRIDGE_DEVICE_PATH                   DevicePath;
-
-  UINT8   StartBus;
-  UINT8   EndBus;
-  UINT16  Type;
-  UINT32  MemoryStart;
-  UINT32  MemorySize;
-  UINTN   IoOffset;
-  UINT32  IoStart;
-  UINT32  IoSize;
-  UINT64  PciAttributes;
-
-  ACPI_CONFIG_INFO  *Config;
-
-} PCI_ROOT_BRIDGE;
-
-
-#define INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS(a) CR (a, PCI_ROOT_BRIDGE, Io, PCI_ROOT_BRIDGE_SIGNATURE)
-
-
-typedef union {
-  UINT8   volatile  *buf;
-  UINT8   volatile  *ui8;
-  UINT16  volatile  *ui16;
-  UINT32  volatile  *ui32;
-  UINT64  volatile  *ui64;
-  UINTN   volatile  ui;
-} PTR;
-
-
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoPollMem (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN  UINT64                                 Address,
-  IN  UINT64                                 Mask,
-  IN  UINT64                                 Value,
-  IN  UINT64                                 Delay,
-  OUT UINT64                                 *Result
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoPollIo (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN  UINT64                                 Address,
-  IN  UINT64                                 Mask,
-  IN  UINT64                                 Value,
-  IN  UINT64                                 Delay,
-  OUT UINT64                                 *Result
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoMemRead (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoMemWrite (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoIoRead (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 UserAddress,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *UserBuffer
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoIoWrite (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 UserAddress,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *UserBuffer
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoCopyMem (
-  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN UINT64                                 DestAddress,
-  IN UINT64                                 SrcAddress,
-  IN UINTN                                  Count
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoPciRead (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoPciWrite (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoMap (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL            *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_OPERATION  Operation,
-  IN     VOID                                       *HostAddress,
-  IN OUT UINTN                                      *NumberOfBytes,
-  OUT    EFI_PHYSICAL_ADDRESS                       *DeviceAddress,
-  OUT    VOID                                       **Mapping
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoUnmap (
-  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
-  IN VOID                             *Mapping
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoAllocateBuffer (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
-  IN  EFI_ALLOCATE_TYPE                Type,
-  IN  EFI_MEMORY_TYPE                  MemoryType,
-  IN  UINTN                            Pages,
-  OUT VOID                             **HostAddress,
-  IN  UINT64                           Attributes
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoFreeBuffer (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
-  IN  UINTN                            Pages,
-  OUT VOID                             *HostAddress
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoFlush (
-  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoGetAttributes (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
-  OUT UINT64                           *Supported,
-  OUT UINT64                           *Attributes
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoSetAttributes (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
-  IN     UINT64                           Attributes,
-  IN OUT UINT64                           *ResourceBase,
-  IN OUT UINT64                           *ResourceLength
-  );
-
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoConfiguration (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *This,
-  OUT VOID                             **Resources
-  );
-
-//
-// Private Function Prototypes
-//
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoMemRW (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN  UINTN                                  Count,
-  IN  BOOLEAN                                InStrideFlag,
-  IN  PTR                                    In,
-  IN  BOOLEAN                                OutStrideFlag,
-  OUT PTR                                    Out
-  );
-
-BOOLEAN
-PciIoMemAddressValid (
-  IN EFI_PCI_IO_PROTOCOL  *This,
-  IN UINT64               Address
-  );
-
-EFI_STATUS
-EmulatePciIoForEhci (
-  INTN    MvPciIfMaxIf
-  );
-
-#endif
-
diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
deleted file mode 100644
index 02e09c334d28..000000000000
--- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
+++ /dev/null
@@ -1,56 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2009, Apple Inc. 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.
-
-**/
-
-[Defines]
-  INF_VERSION                     = 0x00010005
-  BASE_NAME                       = BeagleBoardPciEmulation
-  FILE_GUID                       = feaa2e2b-53ac-4d5e-ae10-1efd5da4a2ba
-  MODULE_TYPE                     = DXE_DRIVER
-  VERSION_STRING                  = 1.0
-
-  ENTRY_POINT                     = PciEmulationEntryPoint
-
-[Sources.common]
-  PciRootBridgeIo.c
-  PciEmulation.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  IntelFrameworkPkg/IntelFrameworkPkg.dec
-  ArmPkg/ArmPkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  BaseLib
-  DxeServicesTableLib
-  UefiLib
-  UefiBootServicesTableLib
-  UefiDriverEntryPoint
-  UefiRuntimeServicesTableLib
-  IoLib
-  OmapDmaLib
-  DmaLib
-
-[Protocols]
-  gEfiPciRootBridgeIoProtocolGuid
-  gEfiDevicePathProtocolGuid
-  gEfiPciHostBridgeResourceAllocationProtocolGuid
-  gEfiPciIoProtocolGuid
-  gEmbeddedExternalDeviceProtocolGuid
-
-[Depex]
-  gEfiMetronomeArchProtocolGuid AND
-  gEmbeddedExternalDeviceProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c b/Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c
deleted file mode 100644
index e8635ed88d91..000000000000
--- a/Chips/TexasInstruments/Omap35xx/PciEmulation/PciRootBridgeIo.c
+++ /dev/null
@@ -1,306 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include "PciEmulation.h"
-
-BOOLEAN
-PciRootBridgeMemAddressValid (
-  IN PCI_ROOT_BRIDGE  *Private,
-  IN UINT64           Address
-  )
-{
-  if ((Address >= Private->MemoryStart) && (Address < (Private->MemoryStart + Private->MemorySize))) {
-    return TRUE;
-  }
-
-  return FALSE;
-}
-
-
-EFI_STATUS
-PciRootBridgeIoMemRW (
-  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN  UINTN                                  Count,
-  IN  BOOLEAN                                InStrideFlag,
-  IN  PTR                                    In,
-  IN  BOOLEAN                                OutStrideFlag,
-  OUT PTR                                    Out
-  )
-{
-  UINTN  Stride;
-  UINTN  InStride;
-  UINTN  OutStride;
-
-
-  Width     = (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) (Width & 0x03);
-  Stride    = (UINTN)1 << Width;
-  InStride  = InStrideFlag  ? Stride : 0;
-  OutStride = OutStrideFlag ? Stride : 0;
-
-  //
-  // Loop for each iteration and move the data
-  //
-  switch (Width) {
-  case EfiPciWidthUint8:
-    for (;Count > 0; Count--, In.buf += InStride, Out.buf += OutStride) {
-      *In.ui8 = *Out.ui8;
-    }
-    break;
-  case EfiPciWidthUint16:
-    for (;Count > 0; Count--, In.buf += InStride, Out.buf += OutStride) {
-      *In.ui16 = *Out.ui16;
-    }
-    break;
-  case EfiPciWidthUint32:
-    for (;Count > 0; Count--, In.buf += InStride, Out.buf += OutStride) {
-      *In.ui32 = *Out.ui32;
-    }
-    break;
-  default:
-    return EFI_INVALID_PARAMETER;
-  }
-
-  return EFI_SUCCESS;
-}
-
-EFI_STATUS
-PciRootBridgeIoPciRW (
-  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN BOOLEAN                                Write,
-  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN UINT64                                 UserAddress,
-  IN UINTN                                  Count,
-  IN OUT VOID                               *UserBuffer
-  )
-{
-  return EFI_SUCCESS;
-}
-
-/**
-  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
-
-  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
-  @param  Width                 Signifies the width of the memory operations.
-  @param  Address               The base address of the memory operations.
-  @param  Count                 The number of memory operations to perform.
-  @param  Buffer                For read operations, the destination buffer to store the results. For write
-                                operations, the source buffer to write data from.
-
-  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
-  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
-  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
-
-**/
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoMemRead (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  )
-{
-  PCI_ROOT_BRIDGE   *Private;
-  UINTN             AlignMask;
-  PTR               In;
-  PTR               Out;
-
-  if ( Buffer == NULL ) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  Private = INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS (This);
-
-  if (!PciRootBridgeMemAddressValid (Private, Address)) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  AlignMask = (1 << (Width & 0x03)) - 1;
-  if (Address & AlignMask) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  In.buf  = Buffer;
-  Out.buf = (VOID *)(UINTN) Address;
-
-  switch (Width) {
-  case EfiPciWidthUint8:
-  case EfiPciWidthUint16:
-  case EfiPciWidthUint32:
-  case EfiPciWidthUint64:
-    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, TRUE, Out);
-
-  case EfiPciWidthFifoUint8:
-  case EfiPciWidthFifoUint16:
-  case EfiPciWidthFifoUint32:
-  case EfiPciWidthFifoUint64:
-    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, FALSE, Out);
-
-  case EfiPciWidthFillUint8:
-  case EfiPciWidthFillUint16:
-  case EfiPciWidthFillUint32:
-  case EfiPciWidthFillUint64:
-    return PciRootBridgeIoMemRW (Width, Count, FALSE, In, TRUE, Out);
-
-  default:
-    break;
-  }
-
-  return EFI_INVALID_PARAMETER;
-}
-
-
-
-/**
-  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
-
-  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
-  @param  Width                 Signifies the width of the memory operations.
-  @param  Address               The base address of the memory operations.
-  @param  Count                 The number of memory operations to perform.
-  @param  Buffer                For read operations, the destination buffer to store the results. For write
-                                operations, the source buffer to write data from.
-
-  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
-  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
-  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
-
-**/
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoMemWrite (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  )
-{
-  PCI_ROOT_BRIDGE *Private;
-  UINTN  AlignMask;
-  PTR    In;
-  PTR    Out;
-
-  if ( Buffer == NULL ) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  Private = INSTANCE_FROM_PCI_ROOT_BRIDGE_IO_THIS (This);
-
-  if (!PciRootBridgeMemAddressValid (Private, Address)) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  AlignMask = (1 << (Width & 0x03)) - 1;
-  if (Address & AlignMask) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  In.buf  = (VOID *)(UINTN) Address;
-  Out.buf = Buffer;
-
-  switch (Width) {
-  case EfiPciWidthUint8:
-  case EfiPciWidthUint16:
-  case EfiPciWidthUint32:
-  case EfiPciWidthUint64:
-    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, TRUE, Out);
-
-  case EfiPciWidthFifoUint8:
-  case EfiPciWidthFifoUint16:
-  case EfiPciWidthFifoUint32:
-  case EfiPciWidthFifoUint64:
-    return PciRootBridgeIoMemRW (Width, Count, FALSE, In, TRUE, Out);
-
-  case EfiPciWidthFillUint8:
-  case EfiPciWidthFillUint16:
-  case EfiPciWidthFillUint32:
-  case EfiPciWidthFillUint64:
-    return PciRootBridgeIoMemRW (Width, Count, TRUE, In, FALSE, Out);
-
-  default:
-    break;
-  }
-
-  return EFI_INVALID_PARAMETER;
-}
-
-/**
-  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
-
-  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
-  @param  Width                 Signifies the width of the memory operations.
-  @param  Address               The base address of the memory operations.
-  @param  Count                 The number of memory operations to perform.
-  @param  Buffer                For read operations, the destination buffer to store the results. For write
-                                operations, the source buffer to write data from.
-
-  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
-  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
-  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
-
-**/
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoPciRead (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  )
-{
-  if (Buffer == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  return PciRootBridgeIoPciRW (This, FALSE, Width, Address, Count, Buffer);
-}
-
-
-
-/**
-  Enables a PCI driver to access PCI controller registers in the PCI root bridge memory space.
-
-  @param  This                  A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
-  @param  Width                 Signifies the width of the memory operations.
-  @param  Address               The base address of the memory operations.
-  @param  Count                 The number of memory operations to perform.
-  @param  Buffer                For read operations, the destination buffer to store the results. For write
-                                operations, the source buffer to write data from.
-
-  @retval EFI_SUCCESS           The data was read from or written to the PCI root bridge.
-  @retval EFI_OUT_OF_RESOURCES  The request could not be completed due to a lack of resources.
-  @retval EFI_INVALID_PARAMETER One or more parameters are invalid.
-
-**/
-EFI_STATUS
-EFIAPI
-PciRootBridgeIoPciWrite (
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL        *This,
-  IN     EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH  Width,
-  IN     UINT64                                 Address,
-  IN     UINTN                                  Count,
-  IN OUT VOID                                   *Buffer
-  )
-{
-  if (Buffer == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  return PciRootBridgeIoPciRW (This, TRUE, Width, Address, Count, Buffer);
-}
-
-
diff --git a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c b/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c
deleted file mode 100644
index f2f43e252fdd..000000000000
--- a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.c
+++ /dev/null
@@ -1,325 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Uefi.h>
-#include <Omap3530/Omap3530.h>
-
-#include <Library/DebugLib.h>
-#include <Library/IoLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-
-#include <Protocol/SmbusHc.h>
-
-#define MAX_RETRY  1000
-
-//
-// Internal Functions
-//
-STATIC
-EFI_STATUS
-WaitForBusBusy (
-  VOID
-  )
-{
-  UINTN Retry = 0;
-
-  while (++Retry < MAX_RETRY && (MmioRead16(I2C_STAT) & BB) == 0x1);
-
-  if (Retry == MAX_RETRY) {
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-STATIC
-EFI_STATUS
-PollForStatus(
-  UINT16 StatusBit
-  )
-{
-  UINTN Retry = 0;
-
-  while(Retry < MAX_RETRY) {
-    if (MmioRead16(I2C_STAT) & StatusBit) {
-      //Clear particular status bit from Status register.
-      MmioOr16(I2C_STAT, StatusBit);
-      break;
-    }
-    Retry++;
-  }
-
-  if (Retry == MAX_RETRY) {
-    return EFI_TIMEOUT;
-  }
-
-  return EFI_SUCCESS;
-}
-
-STATIC
-EFI_STATUS
-ConfigureI2c (
-  VOID
-  )
-{
-  //Program prescaler to obtain 12-MHz clock
-  MmioWrite16(I2C_PSC, 0x0000);
-
-  //Program SCLL and SCLH
-  //NOTE: Following values are the register dump after U-Boot code executed.
-  //We need to figure out how its calculated based on the I2C functional clock and I2C_PSC.
-  MmioWrite16(I2C_SCLL, 0x0035);
-  MmioWrite16(I2C_SCLH, 0x0035);
-
-  //Take the I2C controller out of reset.
-  MmioOr16(I2C_CON, I2C_EN);
-
-  //Initialize the I2C controller.
-
-  //Set I2C controller in Master mode.
-  MmioOr16(I2C_CON, MST);
-
-  //Enable interrupts for receive/transmit mode.
-  MmioOr16(I2C_IE, (XRDY_IE | RRDY_IE | ARDY_IE | NACK_IE));
-
-  return EFI_SUCCESS;
-}
-
-STATIC
-EFI_STATUS
-I2CReadOneByte (
-  UINT8 *Data
-  )
-{
-  EFI_STATUS Status;
-
-  //I2C bus status checking
-  Status = WaitForBusBusy();
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  //Poll till Receive ready bit is set.
-  Status = PollForStatus(RRDY);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  *Data = MmioRead8(I2C_DATA);
-
-  return EFI_SUCCESS;
-}
-
-STATIC
-EFI_STATUS
-I2CWriteOneByte (
-  UINT8 Data
-  )
-{
-  EFI_STATUS Status;
-
-  //I2C bus status checking
-  Status = WaitForBusBusy();
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  //Data transfer
-  //Poll till Transmit ready bit is set
-  Status = PollForStatus(XRDY);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  MmioWrite8(I2C_DATA, Data);
-
-  //Wait and check if the NACK is not set.
-  gBS->Stall(1000);
-  if (MmioRead16(I2C_STAT) & NACK) {
-    return EFI_DEVICE_ERROR;
-  }
-
-  return EFI_SUCCESS;
-}
-
-STATIC
-EFI_STATUS
-SmbusBlockRead (
-  OUT UINT8       *Buffer,
-  IN  UINTN       Length
-  )
-{
-  UINTN      Index = 0;
-  EFI_STATUS Status = EFI_SUCCESS;
-
-  //Transfer configuration for receiving data.
-  MmioWrite16(I2C_CNT, Length);
-  //Need stop bit before sending data.
-  MmioWrite16(I2C_CON, (I2C_EN | MST | STP | STT));
-
-  while (Index < Length) {
-    //Read a byte
-    Status = I2CReadOneByte(&Buffer[Index++]);
-    if (EFI_ERROR(Status)) {
-      return Status;
-    }
-  }
-
-  //Transfer completion
-  Status = PollForStatus(ARDY);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  return Status;
-}
-
-STATIC
-EFI_STATUS
-SmbusBlockWrite (
-  IN UINT8       *Buffer,
-  IN UINTN       Length
-  )
-{
-  UINTN      Index = 0;
-  EFI_STATUS Status = EFI_SUCCESS;
-
-  //Transfer configuration for transmitting data
-  MmioWrite16(I2C_CNT, Length);
-  MmioWrite16(I2C_CON, (I2C_EN | TRX | MST | STT | STP));
-
-  while (Index < Length) {
-    //Send a byte
-    Status = I2CWriteOneByte(Buffer[Index++]);
-    if (EFI_ERROR(Status)) {
-      return Status;
-    }
-  }
-
-  //Transfer completion
-  Status = PollForStatus(ARDY);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  return Status;
-}
-
-//
-// Public Functions.
-//
-EFI_STATUS
-EFIAPI
-SmbusExecute (
-  IN CONST EFI_SMBUS_HC_PROTOCOL    *This,
-  IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
-  IN CONST EFI_SMBUS_DEVICE_COMMAND Command,
-  IN CONST EFI_SMBUS_OPERATION      Operation,
-  IN CONST BOOLEAN                  PecCheck,
-  IN OUT   UINTN                    *Length,
-  IN OUT   VOID                     *Buffer
-  )
-{
-  UINT8      *ByteBuffer  = Buffer;
-  EFI_STATUS Status       = EFI_SUCCESS;
-  UINT8      SlaveAddr    = (UINT8)(SlaveAddress.SmbusDeviceAddress);
-
-  if (PecCheck) {
-    return EFI_UNSUPPORTED;
-  }
-
-  if ((Operation != EfiSmbusWriteBlock) && (Operation != EfiSmbusReadBlock)) {
-    return EFI_UNSUPPORTED;
-  }
-
-  //Set the Slave address.
-  MmioWrite16(I2C_SA, SlaveAddr);
-
-  if (Operation == EfiSmbusReadBlock) {
-    Status = SmbusBlockRead(ByteBuffer, *Length);
-  } else if (Operation == EfiSmbusWriteBlock) {
-    Status = SmbusBlockWrite(ByteBuffer, *Length);
-  }
-
-  return Status;
-}
-
-EFI_STATUS
-EFIAPI
-SmbusArpDevice (
-  IN CONST EFI_SMBUS_HC_PROTOCOL    *This,
-  IN       BOOLEAN                  ArpAll,
-  IN       EFI_SMBUS_UDID           *SmbusUdid OPTIONAL,
-  IN OUT   EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-
-EFI_STATUS
-EFIAPI
-SmbusGetArpMap (
-  IN CONST EFI_SMBUS_HC_PROTOCOL    *This,
-  IN OUT   UINTN                    *Length,
-  IN OUT   EFI_SMBUS_DEVICE_MAP     **SmbusDeviceMap
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-
-EFI_STATUS
-EFIAPI
-SmbusNotify (
-  IN CONST  EFI_SMBUS_HC_PROTOCOL     *This,
-  IN CONST  EFI_SMBUS_DEVICE_ADDRESS  SlaveAddress,
-  IN CONST  UINTN                     Data,
-  IN CONST  EFI_SMBUS_NOTIFY_FUNCTION NotifyFunction
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-EFI_SMBUS_HC_PROTOCOL SmbusProtocol =
-{
-  SmbusExecute,
-  SmbusArpDevice,
-  SmbusGetArpMap,
-  SmbusNotify
-};
-
-EFI_STATUS
-InitializeSmbus (
-    IN EFI_HANDLE       ImageHandle,
-    IN EFI_SYSTEM_TABLE *SystemTable
-    )
-{
-  EFI_HANDLE      Handle = NULL;
-  EFI_STATUS      Status;
-
-  //Configure I2C controller.
-  Status = ConfigureI2c();
-  if (EFI_ERROR(Status)) {
-    DEBUG ((EFI_D_ERROR, "InitializeI2c fails.\n"));
-    return Status;
-  }
-
-  // Install the SMBUS interface
-  Status = gBS->InstallMultipleProtocolInterfaces(&Handle, &gEfiSmbusHcProtocolGuid, &SmbusProtocol, NULL);
-  ASSERT_EFI_ERROR(Status);
-
-  return Status;
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf b/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
deleted file mode 100644
index a92474f41f20..000000000000
--- a/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
+++ /dev/null
@@ -1,45 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = Smbus
-  FILE_GUID                      = d5125e0f-1226-444f-a218-0085996ed5da
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InitializeSmbus
-
-[Sources.common]
-  Smbus.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  PcdLib
-  UefiLib
-  UefiDriverEntryPoint
-  MemoryAllocationLib
-  IoLib
-
-[Guids]
-
-[Protocols]
-  gEfiSmbusHcProtocolGuid
-
-[Pcd]
-
-[depex]
-  TRUE
diff --git a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c b/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c
deleted file mode 100644
index 66f9d853ff11..000000000000
--- a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.c
+++ /dev/null
@@ -1,116 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Uefi.h>
-
-#include <TPS65950.h>
-
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-
-#include <Protocol/EmbeddedExternalDevice.h>
-#include <Protocol/SmbusHc.h>
-
-EFI_SMBUS_HC_PROTOCOL *Smbus;
-
-EFI_STATUS
-Read (
-  IN  EMBEDDED_EXTERNAL_DEVICE    *This,
-  IN  UINTN                       Register,
-  IN  UINTN                       Length,
-  OUT VOID                        *Buffer
-  )
-{
-  EFI_STATUS               Status;
-  EFI_SMBUS_DEVICE_ADDRESS SlaveAddress;
-  UINT8                    DeviceRegister;
-  UINTN                    DeviceRegisterLength = 1;
-
-  SlaveAddress.SmbusDeviceAddress = EXTERNAL_DEVICE_REGISTER_TO_SLAVE_ADDRESS(Register);
-  DeviceRegister = (UINT8)EXTERNAL_DEVICE_REGISTER_TO_REGISTER(Register);
-
-  //Write DeviceRegister.
-  Status = Smbus->Execute(Smbus, SlaveAddress, 0, EfiSmbusWriteBlock, FALSE, &DeviceRegisterLength, &DeviceRegister);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  //Read Data
-  Status = Smbus->Execute(Smbus, SlaveAddress, 0, EfiSmbusReadBlock, FALSE, &Length, Buffer);
-  return Status;
-}
-
-EFI_STATUS
-Write (
-  IN EMBEDDED_EXTERNAL_DEVICE   *This,
-  IN UINTN                      Register,
-  IN UINTN                      Length,
-  IN VOID                       *Buffer
-  )
-{
-  EFI_STATUS               Status;
-  EFI_SMBUS_DEVICE_ADDRESS SlaveAddress;
-  UINT8                    DeviceRegister;
-  UINTN                    DeviceBufferLength = Length + 1;
-  UINT8                    *DeviceBuffer;
-
-  SlaveAddress.SmbusDeviceAddress = EXTERNAL_DEVICE_REGISTER_TO_SLAVE_ADDRESS(Register);
-  DeviceRegister = (UINT8)EXTERNAL_DEVICE_REGISTER_TO_REGISTER(Register);
-
-  //Prepare buffer for writing
-  DeviceBuffer = (UINT8 *)AllocatePool(DeviceBufferLength);
-  if (DeviceBuffer == NULL) {
-    Status = EFI_OUT_OF_RESOURCES;
-    goto exit;
-  }
-
-  //Set Device register followed by data to write.
-  DeviceBuffer[0] = DeviceRegister;
-  CopyMem(&DeviceBuffer[1], Buffer, Length);
-
-  //Write Data
-  Status = Smbus->Execute(Smbus, SlaveAddress, 0, EfiSmbusWriteBlock, FALSE, &DeviceBufferLength, DeviceBuffer);
-  if (EFI_ERROR(Status)) {
-    goto exit;
-  }
-
-exit:
-  if (DeviceBuffer) {
-    FreePool(DeviceBuffer);
-  }
-
-  return Status;
-}
-
-EMBEDDED_EXTERNAL_DEVICE ExternalDevice = {
-  Read,
-  Write
-};
-
-EFI_STATUS
-TPS65950Initialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-
-  Status = gBS->LocateProtocol(&gEfiSmbusHcProtocolGuid, NULL, (VOID **)&Smbus);
-  ASSERT_EFI_ERROR(Status);
-
-  Status = gBS->InstallMultipleProtocolInterfaces(&ImageHandle, &gEmbeddedExternalDeviceProtocolGuid, &ExternalDevice, NULL);
-  return Status;
-}
diff --git a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf b/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
deleted file mode 100644
index bd851551042d..000000000000
--- a/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
+++ /dev/null
@@ -1,48 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = TPS65950
-  FILE_GUID                      = 71fe861a-5450-48b6-bfb0-b93522616f99
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = TPS65950Initialize
-
-
-[Sources.common]
-  TPS65950.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  BaseMemoryLib
-  PcdLib
-  UefiLib
-  UefiDriverEntryPoint
-  MemoryAllocationLib
-
-[Guids]
-
-[Protocols]
-  gEfiSmbusHcProtocolGuid
-  gEmbeddedExternalDeviceProtocolGuid
-
-[Pcd]
-
-[depex]
-  gEfiSmbusHcProtocolGuid
diff --git a/Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c b/Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c
deleted file mode 100644
index 8b56d457e413..000000000000
--- a/Chips/TexasInstruments/Omap35xx/TimerDxe/Timer.c
+++ /dev/null
@@ -1,376 +0,0 @@ 
-/** @file
-  Template for Timer Architecture Protocol driver of the ARM flavor
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-
-#include <PiDxe.h>
-
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IoLib.h>
-#include <Library/OmapLib.h>
-
-#include <Protocol/Timer.h>
-#include <Protocol/HardwareInterrupt.h>
-
-#include <Omap3530/Omap3530.h>
-
-
-// The notification function to call on every timer interrupt.
-volatile EFI_TIMER_NOTIFY      mTimerNotifyFunction   = (EFI_TIMER_NOTIFY)NULL;
-
-
-// The current period of the timer interrupt
-volatile UINT64 mTimerPeriod = 0;
-
-// Cached copy of the Hardware Interrupt protocol instance
-EFI_HARDWARE_INTERRUPT_PROTOCOL *gInterrupt = NULL;
-
-// Cached registers
-volatile UINT32 TISR;
-volatile UINT32 TCLR;
-volatile UINT32 TLDR;
-volatile UINT32 TCRR;
-volatile UINT32 TIER;
-
-// Cached interrupt vector
-volatile UINTN  gVector;
-
-
-/**
-
-  C Interrupt Handler calledin the interrupt context when Source interrupt is active.
-
-
-  @param Source         Source of the interrupt. Hardware routing off a specific platform defines
-                        what source means.
-
-  @param SystemContext  Pointer to system register context. Mostly used by debuggers and will
-                        update the system context after the return from the interrupt if
-                        modified. Don't change these values unless you know what you are doing
-
-**/
-VOID
-EFIAPI
-TimerInterruptHandler (
-  IN  HARDWARE_INTERRUPT_SOURCE   Source,
-  IN  EFI_SYSTEM_CONTEXT          SystemContext
-  )
-{
-  EFI_TPL OriginalTPL;
-
-
-
-  //
-  // DXE core uses this callback for the EFI timer tick. The DXE core uses locks
-  // that raise to TPL_HIGH and then restore back to current level. Thus we need
-  // to make sure TPL level is set to TPL_HIGH while we are handling the timer tick.
-  //
-  OriginalTPL = gBS->RaiseTPL (TPL_HIGH_LEVEL);
-
-  if (mTimerNotifyFunction) {
-    mTimerNotifyFunction(mTimerPeriod);
-  }
-
-  // Clear all timer interrupts
-  MmioWrite32 (TISR, TISR_CLEAR_ALL);
-
-  // Poll interrupt status bits to ensure clearing
-  while ((MmioRead32 (TISR) & TISR_ALL_INTERRUPT_MASK) != TISR_NO_INTERRUPTS_PENDING);
-
-  gBS->RestoreTPL (OriginalTPL);
-}
-
-/**
-  This function registers the handler NotifyFunction so it is called every time
-  the timer interrupt fires.  It also passes the amount of time since the last
-  handler call to the NotifyFunction.  If NotifyFunction is NULL, then the
-  handler is unregistered.  If the handler is registered, then EFI_SUCCESS is
-  returned.  If the CPU does not support registering a timer interrupt handler,
-  then EFI_UNSUPPORTED is returned.  If an attempt is made to register a handler
-  when a handler is already registered, then EFI_ALREADY_STARTED is returned.
-  If an attempt is made to unregister a handler when a handler is not registered,
-  then EFI_INVALID_PARAMETER is returned.  If an error occurs attempting to
-  register the NotifyFunction with the timer interrupt, then EFI_DEVICE_ERROR
-  is returned.
-
-  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
-  @param  NotifyFunction   The function to call when a timer interrupt fires. This
-                           function executes at TPL_HIGH_LEVEL. The DXE Core will
-                           register a handler for the timer interrupt, so it can know
-                           how much time has passed. This information is used to
-                           signal timer based events. NULL will unregister the handler.
-  @retval EFI_SUCCESS           The timer handler was registered.
-  @retval EFI_UNSUPPORTED       The platform does not support timer interrupts.
-  @retval EFI_ALREADY_STARTED   NotifyFunction is not NULL, and a handler is already
-                                registered.
-  @retval EFI_INVALID_PARAMETER NotifyFunction is NULL, and a handler was not
-                                previously registered.
-  @retval EFI_DEVICE_ERROR      The timer handler could not be registered.
-
-**/
-EFI_STATUS
-EFIAPI
-TimerDriverRegisterHandler (
-  IN EFI_TIMER_ARCH_PROTOCOL  *This,
-  IN EFI_TIMER_NOTIFY         NotifyFunction
-  )
-{
-  if ((NotifyFunction == NULL) && (mTimerNotifyFunction == NULL)) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  if ((NotifyFunction != NULL) && (mTimerNotifyFunction != NULL)) {
-    return EFI_ALREADY_STARTED;
-  }
-
-  mTimerNotifyFunction = NotifyFunction;
-
-  return EFI_SUCCESS;
-}
-
-/**
-
-  This function adjusts the period of timer interrupts to the value specified
-  by TimerPeriod.  If the timer period is updated, then the selected timer
-  period is stored in EFI_TIMER.TimerPeriod, and EFI_SUCCESS is returned.  If
-  the timer hardware is not programmable, then EFI_UNSUPPORTED is returned.
-  If an error occurs while attempting to update the timer period, then the
-  timer hardware will be put back in its state prior to this call, and
-  EFI_DEVICE_ERROR is returned.  If TimerPeriod is 0, then the timer interrupt
-  is disabled.  This is not the same as disabling the CPU's interrupts.
-  Instead, it must either turn off the timer hardware, or it must adjust the
-  interrupt controller so that a CPU interrupt is not generated when the timer
-  interrupt fires.
-
-  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
-  @param  TimerPeriod      The rate to program the timer interrupt in 100 nS units. If
-                           the timer hardware is not programmable, then EFI_UNSUPPORTED is
-                           returned. If the timer is programmable, then the timer period
-                           will be rounded up to the nearest timer period that is supported
-                           by the timer hardware. If TimerPeriod is set to 0, then the
-                           timer interrupts will be disabled.
-
-
-  @retval EFI_SUCCESS           The timer period was changed.
-  @retval EFI_UNSUPPORTED       The platform cannot change the period of the timer interrupt.
-  @retval EFI_DEVICE_ERROR      The timer period could not be changed due to a device error.
-
-**/
-EFI_STATUS
-EFIAPI
-TimerDriverSetTimerPeriod (
-  IN EFI_TIMER_ARCH_PROTOCOL  *This,
-  IN UINT64                   TimerPeriod
-  )
-{
-  EFI_STATUS  Status;
-  UINT64      TimerCount;
-  INT32       LoadValue;
-
-  if (TimerPeriod == 0) {
-    // Turn off GPTIMER3
-    MmioWrite32 (TCLR, TCLR_ST_OFF);
-
-    Status = gInterrupt->DisableInterruptSource(gInterrupt, gVector);
-  } else {
-    // Calculate required timer count
-    TimerCount = DivU64x32(TimerPeriod * 100, PcdGet32(PcdEmbeddedPerformanceCounterPeriodInNanoseconds));
-
-    // Set GPTIMER3 Load register
-    LoadValue = (INT32) -TimerCount;
-    MmioWrite32 (TLDR, LoadValue);
-    MmioWrite32 (TCRR, LoadValue);
-
-    // Enable Overflow interrupt
-    MmioWrite32 (TIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_ENABLE | TIER_MAT_IT_DISABLE);
-
-    // Turn on GPTIMER3, it will reload at overflow
-    MmioWrite32 (TCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON);
-
-    Status = gInterrupt->EnableInterruptSource(gInterrupt, gVector);
-  }
-
-  //
-  // Save the new timer period
-  //
-  mTimerPeriod = TimerPeriod;
-  return Status;
-}
-
-
-/**
-  This function retrieves the period of timer interrupts in 100 ns units,
-  returns that value in TimerPeriod, and returns EFI_SUCCESS.  If TimerPeriod
-  is NULL, then EFI_INVALID_PARAMETER is returned.  If a TimerPeriod of 0 is
-  returned, then the timer is currently disabled.
-
-  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
-  @param  TimerPeriod      A pointer to the timer period to retrieve in 100 ns units. If
-                           0 is returned, then the timer is currently disabled.
-
-
-  @retval EFI_SUCCESS           The timer period was returned in TimerPeriod.
-  @retval EFI_INVALID_PARAMETER TimerPeriod is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-TimerDriverGetTimerPeriod (
-  IN EFI_TIMER_ARCH_PROTOCOL   *This,
-  OUT UINT64                   *TimerPeriod
-  )
-{
-  if (TimerPeriod == NULL) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  *TimerPeriod = mTimerPeriod;
-  return EFI_SUCCESS;
-}
-
-/**
-  This function generates a soft timer interrupt. If the platform does not support soft
-  timer interrupts, then EFI_UNSUPPORTED is returned. Otherwise, EFI_SUCCESS is returned.
-  If a handler has been registered through the EFI_TIMER_ARCH_PROTOCOL.RegisterHandler()
-  service, then a soft timer interrupt will be generated. If the timer interrupt is
-  enabled when this service is called, then the registered handler will be invoked. The
-  registered handler should not be able to distinguish a hardware-generated timer
-  interrupt from a software-generated timer interrupt.
-
-  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
-
-  @retval EFI_SUCCESS           The soft timer interrupt was generated.
-  @retval EFI_UNSUPPORTED       The platform does not support the generation of soft timer interrupts.
-
-**/
-EFI_STATUS
-EFIAPI
-TimerDriverGenerateSoftInterrupt (
-  IN EFI_TIMER_ARCH_PROTOCOL  *This
-  )
-{
-  return EFI_UNSUPPORTED;
-}
-
-
-/**
-  Interface stucture for the Timer Architectural Protocol.
-
-  @par Protocol Description:
-  This protocol provides the services to initialize a periodic timer
-  interrupt, and to register a handler that is called each time the timer
-  interrupt fires.  It may also provide a service to adjust the rate of the
-  periodic timer interrupt.  When a timer interrupt occurs, the handler is
-  passed the amount of time that has passed since the previous timer
-  interrupt.
-
-  @param RegisterHandler
-  Registers a handler that will be called each time the
-  timer interrupt fires.  TimerPeriod defines the minimum
-  time between timer interrupts, so TimerPeriod will also
-  be the minimum time between calls to the registered
-  handler.
-
-  @param SetTimerPeriod
-  Sets the period of the timer interrupt in 100 nS units.
-  This function is optional, and may return EFI_UNSUPPORTED.
-  If this function is supported, then the timer period will
-  be rounded up to the nearest supported timer period.
-
-
-  @param GetTimerPeriod
-  Retrieves the period of the timer interrupt in 100 nS units.
-
-  @param GenerateSoftInterrupt
-  Generates a soft timer interrupt that simulates the firing of
-  the timer interrupt. This service can be used to invoke the   registered handler if the timer interrupt has been masked for
-  a period of time.
-
-**/
-EFI_TIMER_ARCH_PROTOCOL   gTimer = {
-  TimerDriverRegisterHandler,
-  TimerDriverSetTimerPeriod,
-  TimerDriverGetTimerPeriod,
-  TimerDriverGenerateSoftInterrupt
-};
-
-
-/**
-  Initialize the state information for the Timer Architectural Protocol and
-  the Timer Debug support protocol that allows the debugger to break into a
-  running program.
-
-  @param  ImageHandle   of the loaded driver
-  @param  SystemTable   Pointer to the System Table
-
-  @retval EFI_SUCCESS           Protocol registered
-  @retval EFI_OUT_OF_RESOURCES  Cannot allocate protocol data structure
-  @retval EFI_DEVICE_ERROR      Hardware problems
-
-**/
-EFI_STATUS
-EFIAPI
-TimerInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
-  )
-{
-  EFI_HANDLE  Handle = NULL;
-  EFI_STATUS  Status;
-  UINT32      TimerBaseAddress;
-
-  // Find the interrupt controller protocol.  ASSERT if not found.
-  Status = gBS->LocateProtocol (&gHardwareInterruptProtocolGuid, NULL, (VOID **)&gInterrupt);
-  ASSERT_EFI_ERROR (Status);
-
-  // Set up the timer registers
-  TimerBaseAddress = TimerBase (FixedPcdGet32(PcdOmap35xxArchTimer));
-  TISR = TimerBaseAddress + GPTIMER_TISR;
-  TCLR = TimerBaseAddress + GPTIMER_TCLR;
-  TLDR = TimerBaseAddress + GPTIMER_TLDR;
-  TCRR = TimerBaseAddress + GPTIMER_TCRR;
-  TIER = TimerBaseAddress + GPTIMER_TIER;
-
-  // Disable the timer
-  Status = TimerDriverSetTimerPeriod (&gTimer, 0);
-  ASSERT_EFI_ERROR (Status);
-
-  // Install interrupt handler
-  gVector = InterruptVectorForTimer (FixedPcdGet32(PcdOmap35xxArchTimer));
-  Status = gInterrupt->RegisterInterruptSource (gInterrupt, gVector, TimerInterruptHandler);
-  ASSERT_EFI_ERROR (Status);
-
-  // Turn on the functional clock for Timer
-  MmioOr32 (CM_FCLKEN_PER, CM_FCLKEN_PER_EN_GPT3_ENABLE);
-
-  // Set up default timer
-  Status = TimerDriverSetTimerPeriod (&gTimer, FixedPcdGet32(PcdTimerPeriod));
-  ASSERT_EFI_ERROR (Status);
-
-  // Install the Timer Architectural Protocol onto a new handle
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &Handle,
-                  &gEfiTimerArchProtocolGuid,      &gTimer,
-                  NULL
-                  );
-  ASSERT_EFI_ERROR(Status);
-
-  return Status;
-}
-
diff --git a/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf b/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
deleted file mode 100644
index 6344a1d28889..000000000000
--- a/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
+++ /dev/null
@@ -1,57 +0,0 @@ 
-#/** @file
-#
-#    Component description file for Timer module
-#
-#  Copyright (c) 2009, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardTimerDxe
-  FILE_GUID                      = 6ddbf08b-cfc9-43cc-9e81-0784ba312ca0
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = TimerInitialize
-
-[Sources.common]
-  Timer.c
-
-[Packages]
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  ArmPkg/ArmPkg.dec
-
-[LibraryClasses]
-  BaseLib
-  UefiRuntimeServicesTableLib
-  UefiLib
-  UefiBootServicesTableLib
-  BaseMemoryLib
-  DebugLib
-  UefiDriverEntryPoint
-  IoLib
-  OmapLib
-
-[Guids]
-
-[Protocols]
-  gEfiTimerArchProtocolGuid
-  gHardwareInterruptProtocolGuid
-
-[Pcd.common]
-  gEmbeddedTokenSpaceGuid.PcdTimerPeriod
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer
-
-[Depex]
-  gHardwareInterruptProtocolGuid
diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf b/Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf
deleted file mode 100644
index 2b20a09549d5..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Bds/Bds.inf
+++ /dev/null
@@ -1,65 +0,0 @@ 
-
-#/** @file
-#
-#    Component description file for Bds module
-#
-#  Copyright (c) 2009, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardBds
-  FILE_GUID                      = 934431fe-5745-402e-913d-17b4434eb0f3
-  MODULE_TYPE                    = DXE_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = BdsInitialize
-
-[Sources.common]
-  BdsEntry.c
-  FirmwareVolume.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-
-[LibraryClasses]
-  DevicePathLib
-  BaseLib
-  HobLib
-  UefiRuntimeServicesTableLib
-  ReportStatusCodeLib
-  PerformanceLib
-  DxeServicesTableLib
-  MemoryAllocationLib
-  UefiLib
-  UefiBootServicesTableLib
-  BaseMemoryLib
-  DebugLib
-  PrintLib
-  UefiDriverEntryPoint
-
-[Guids]
-
-
-[Protocols]
-  gEfiBdsArchProtocolGuid
-  gEfiSimpleTextInProtocolGuid
-  gEfiSimpleTextOutProtocolGuid
-  gEfiSerialIoProtocolGuid
-  gEfiDevicePathProtocolGuid
-  gEfiSimpleFileSystemProtocolGuid
-  gEfiUsbIoProtocolGuid
-  gEfiFirmwareVolume2ProtocolGuid
-
-[Depex]
-  TRUE
diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c b/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c
deleted file mode 100644
index f2f1ae3983a6..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.c
+++ /dev/null
@@ -1,242 +0,0 @@ 
-/** @file
-  The entry of the embedded BDS. This BDS does not follow the Boot Manager requirements
-  of the UEFI specification as it is designed to implement an embedded systmes
-  propriatary boot scheme.
-
-  This template assume a DXE driver produces a SerialIo protocol not using the EFI
-  driver module and it will attempt to connect a console on top of this.
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include "BdsEntry.h"
-
-
-BOOLEAN     gConsolePresent = FALSE;
-
-EFI_BDS_ARCH_PROTOCOL  gBdsProtocol = {
-  BdsEntry,
-};
-
-
-
-
-/**
-  This function uses policy data from the platform to determine what operating
-  system or system utility should be loaded and invoked.  This function call
-  also optionally make the use of user input to determine the operating system
-  or system utility to be loaded and invoked.  When the DXE Core has dispatched
-  all the drivers on the dispatch queue, this function is called.  This
-  function will attempt to connect the boot devices required to load and invoke
-  the selected operating system or system utility.  During this process,
-  additional firmware volumes may be discovered that may contain addition DXE
-  drivers that can be dispatched by the DXE Core.   If a boot device cannot be
-  fully connected, this function calls the DXE Service Dispatch() to allow the
-  DXE drivers from any newly discovered firmware volumes to be dispatched.
-  Then the boot device connection can be attempted again.  If the same boot
-  device connection operation fails twice in a row, then that boot device has
-  failed, and should be skipped.  This function should never return.
-
-  @param  This             The EFI_BDS_ARCH_PROTOCOL instance.
-
-  @return None.
-
-**/
-VOID
-EFIAPI
-BdsEntry (
-  IN EFI_BDS_ARCH_PROTOCOL  *This
-  )
-{
-  EFI_STATUS                Status;
-  UINTN                     NoHandles;
-  EFI_HANDLE                *Buffer;
-  EFI_HANDLE                FvHandle;
-  EFI_HANDLE                ImageHandle;
-  EFI_HANDLE                UsbDeviceHandle;
-  EFI_GUID                  NameGuid;
-  UINTN                     Size;
-  UINTN                     HandleCount;
-  UINTN                     OldHandleCount;
-  EFI_HANDLE                *HandleBuffer;
-  UINTN                     Index;
-  EFI_DEVICE_PATH_PROTOCOL  *LoadImageDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL  *FileSystemDevicePath;
-
-  PERF_END   (NULL, "DXE", NULL, 0);
-  PERF_START (NULL, "BDS", NULL, 0);
-
-
-  //
-  // Now do the EFI stuff
-  //
-  Size = 0x100;
-  gST->FirmwareVendor = AllocateRuntimePool (Size);
-  ASSERT (gST->FirmwareVendor != NULL);
-
-  UnicodeSPrint (gST->FirmwareVendor, Size, L"BeagleBoard EFI %a %a", __DATE__, __TIME__);
-
-  //
-  // Now we need to setup the EFI System Table with information about the console devices.
-  // This code is normally in the console spliter driver on platforms that support multiple
-  // consoles at the same time
-  //
-  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiSimpleTextOutProtocolGuid, NULL, &NoHandles, &Buffer);
-  if (!EFI_ERROR (Status)) {
-    // Use the first SimpleTextOut we find and update the EFI System Table
-    gST->ConsoleOutHandle = Buffer[0];
-    gST->StandardErrorHandle = Buffer[0];
-    Status = gBS->HandleProtocol (Buffer[0], &gEfiSimpleTextOutProtocolGuid, (VOID **)&gST->ConOut);
-    ASSERT_EFI_ERROR (Status);
-
-    gST->StdErr = gST->ConOut;
-
-    gST->ConOut->OutputString (gST->ConOut, L"BDS: Console Started!!!!\n\r");
-    FreePool (Buffer);
-
-    gConsolePresent = TRUE;
-  }
-
-
-  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiSimpleTextInProtocolGuid, NULL, &NoHandles, &Buffer);
-  if (!EFI_ERROR (Status)) {
-    // Use the first SimpleTextIn we find and update the EFI System Table
-    gST->ConsoleInHandle = Buffer[0];
-    Status = gBS->HandleProtocol (Buffer[0], &gEfiSimpleTextInProtocolGuid, (VOID **)&gST->ConIn);
-    ASSERT_EFI_ERROR (Status);
-
-    FreePool (Buffer);
-  }
-
-  //
-  // We now have EFI Consoles up and running. Print () will work now. DEBUG () and ASSERT () worked
-  // prior to this point as they were configured to use a more primative output scheme.
-  //
-
-  //
-  //Perform Connect
-  //
-  HandleCount = 0;
-  while (1) {
-    OldHandleCount = HandleCount;
-    Status = gBS->LocateHandleBuffer (
-                    AllHandles,
-                    NULL,
-                    NULL,
-                    &HandleCount,
-                    &HandleBuffer
-                    );
-    if (EFI_ERROR (Status)) {
-      break;
-    }
-
-    if (HandleCount == OldHandleCount) {
-      break;
-    }
-
-    for (Index = 0; Index < HandleCount; Index++) {
-      gBS->ConnectController (HandleBuffer[Index], NULL, NULL, TRUE);
-    }
-  }
-
-  EfiSignalEventReadyToBoot ();
-
-  //Locate handles for SimpleFileSystem protocol
-  Status = gBS->LocateHandleBuffer (
-                  ByProtocol,
-                  &gEfiSimpleFileSystemProtocolGuid,
-                  NULL,
-                  &HandleCount,
-                  &HandleBuffer
-                  );
-  if (!EFI_ERROR(Status)) {
-    for (Index = 0; Index < HandleCount; Index++) {
-      //Get the device path
-      FileSystemDevicePath = DevicePathFromHandle(HandleBuffer[Index]);
-      if (FileSystemDevicePath == NULL) {
-        continue;
-      }
-
-      //Check if UsbIo is on any handles in the device path.
-      Status = gBS->LocateDevicePath(&gEfiUsbIoProtocolGuid, &FileSystemDevicePath, &UsbDeviceHandle);
-      if (EFI_ERROR(Status)) {
-        continue;
-      }
-
-      //Check if Usb stick has a magic EBL file.
-      LoadImageDevicePath = FileDevicePath(HandleBuffer[Index], L"Ebl.efi");
-      Status = gBS->LoadImage (TRUE, gImageHandle, LoadImageDevicePath, NULL, 0, &ImageHandle);
-      if (EFI_ERROR(Status)) {
-        continue;
-      }
-
-      //Boot to Shell on USB stick.
-      Status = gBS->StartImage (ImageHandle, NULL, NULL);
-      if (EFI_ERROR(Status)) {
-        continue;
-      }
-    }
-  }
-
-  //
-  // Normal UEFI behavior is to process Globally Defined Variables as defined in Chapter 3
-  // (Boot Manager) of the UEFI specification. For this embedded system we don't do this.
-  //
-
-  //
-  // Search all the FVs for an application with a UI Section of Ebl. A .FDF file can be used
-  // to control the names of UI sections in an FV.
-  //
-  Status = FindApplicationMatchingUiSection (L"Ebl", &FvHandle, &NameGuid);
-  if (!EFI_ERROR (Status)) {
-
-    //Boot to Shell.
-    Status = LoadPeCoffSectionFromFv (FvHandle, &NameGuid);
-
-    if (EFI_ERROR(Status)) {
-      DEBUG((EFI_D_ERROR, "Boot from Shell failed. Status: %r\n", Status));
-    }
-  }
-
-  //
-  // EFI does not define the behaviour if all boot attemps fail and the last one returns.
-  // So we make a policy choice to reset the system since this BDS does not have a UI.
-  //
-  gRT->ResetSystem (EfiResetShutdown, Status, 0, NULL);
-
-  return ;
-}
-
-
-EFI_STATUS
-EFIAPI
-BdsInitialize (
-  IN EFI_HANDLE                            ImageHandle,
-  IN EFI_SYSTEM_TABLE                      *SystemTable
-  )
-{
-  EFI_STATUS  Status;
-
-  //
-  // Install protocol interface
-  //
-  Status = gBS->InstallMultipleProtocolInterfaces (
-                  &ImageHandle,
-                  &gEfiBdsArchProtocolGuid, &gBdsProtocol,
-                  NULL
-                  );
-  ASSERT_EFI_ERROR (Status);
-
-  return Status;
-}
-
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h b/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h
deleted file mode 100644
index 646f7b276d45..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Bds/BdsEntry.h
+++ /dev/null
@@ -1,66 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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 __BDS_ENTRY_H__
-#define __BDS_ENTRY_H__
-
-#include <PiDxe.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/PrintLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/DxeServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/HobLib.h>
-#include <Library/DevicePathLib.h>
-#include <Library/PcdLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/PrintLib.h>
-#include <Library/PerformanceLib.h>
-
-#include <Protocol/Bds.h>
-#include <Protocol/SerialIo.h>
-#include <Protocol/FirmwareVolume2.h>
-#include <Protocol/SimpleTextIn.h>
-#include <Protocol/SimpleTextOut.h>
-#include <Protocol/EmbeddedDevice.h>
-#include <Protocol/DevicePath.h>
-#include <Protocol/SimpleFileSystem.h>
-#include <Protocol/UsbIo.h>
-
-
-EFI_STATUS
-LoadPeCoffSectionFromFv (
- IN  EFI_HANDLE   FvHandle,
- IN  EFI_GUID     *NameGuid
- );
-
-EFI_STATUS
-FindApplicationMatchingUiSection (
-  IN  CHAR16      *UiString,
-  OUT EFI_HANDLE  *FvHandle,
-  OUT EFI_GUID    *NameGuid
-  );
-
-VOID
-EFIAPI
-BdsEntry (
-  IN EFI_BDS_ARCH_PROTOCOL  *This
-  );
-
-#endif
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c b/Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c
deleted file mode 100644
index 31e1c5100eff..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Bds/FirmwareVolume.c
+++ /dev/null
@@ -1,150 +0,0 @@ 
-/** @file
-  The entry of the embedded BDS. This BDS does not follow the Boot Manager requirements
-  of the UEFI specification as it is designed to implement an embedded systmes
-  propriatary boot scheme.
-
-  This template assume a DXE driver produces a SerialIo protocol not using the EFI
-  driver module and it will attempt to connect a console on top of this.
-
-
-  Copyright (c) 2009, Apple Inc. 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.
-
-**/
-
-#include "BdsEntry.h"
-
-
-EFI_STATUS
-FindApplicationMatchingUiSection (
-  IN  CHAR16      *UiString,
-  OUT EFI_HANDLE  *FvHandle,
-  OUT EFI_GUID    *NameGuid
-  )
-{
-  EFI_STATUS                    Status;
-  EFI_STATUS                    NextStatus;
-  UINTN                         NoHandles;
-  EFI_HANDLE                    *Buffer;
-  UINTN                         Index;
-  EFI_FV_FILETYPE               FileType;
-  EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv;
-  VOID                          *Key;
-  EFI_FV_FILE_ATTRIBUTES        Attributes;
-  UINTN                         Size;
-  UINTN                         UiStringLen;
-  CHAR16                        *UiSection;
-  UINT32                        Authentication;
-
-
-  UiStringLen = 0;
-  if (UiString != NULL) {
-    DEBUG ((DEBUG_ERROR, "UiString %s\n", UiString));
-    UiStringLen = StrLen (UiString);
-  }
-
-  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiFirmwareVolume2ProtocolGuid, NULL, &NoHandles, &Buffer);
-  if (!EFI_ERROR (Status)) {
-    for (Index = 0; Index < NoHandles; Index++) {
-      Status = gBS->HandleProtocol (Buffer[Index], &gEfiFirmwareVolume2ProtocolGuid, (VOID **)&Fv);
-      if (!EFI_ERROR (Status)) {
-        Key = AllocatePool (Fv->KeySize);
-        ASSERT (Key != NULL);
-        ZeroMem (Key, Fv->KeySize);
-
-        FileType = EFI_FV_FILETYPE_APPLICATION;
-
-        do {
-          NextStatus = Fv->GetNextFile (Fv, Key, &FileType, NameGuid, &Attributes, &Size);
-          if (!EFI_ERROR (NextStatus)) {
-            if (UiString == NULL) {
-              //
-              // If UiString is NULL match first application we find.
-              //
-              *FvHandle = Buffer[Index];
-              FreePool (Key);
-              return Status;
-            }
-
-            UiSection = NULL;
-            Status = Fv->ReadSection (
-                          Fv,
-                          NameGuid,
-                          EFI_SECTION_USER_INTERFACE,
-                          0,
-                          (VOID **)&UiSection,
-                          &Size,
-                          &Authentication
-                          );
-            if (!EFI_ERROR (Status)) {
-              if (StrnCmp (UiString, UiSection, UiStringLen) == 0) {
-                //
-                // We found a UiString match.
-                //
-                *FvHandle = Buffer[Index];
-                FreePool (Key);
-                FreePool (UiSection);
-                return Status;
-              }
-              FreePool (UiSection);
-            }
-          }
-        } while (!EFI_ERROR (NextStatus));
-
-        FreePool (Key);
-      }
-    }
-
-    FreePool (Buffer);
-   }
-
-  return EFI_NOT_FOUND;
-}
-
-
-EFI_DEVICE_PATH *
-FvFileDevicePath (
-  IN  EFI_HANDLE   FvHandle,
-  IN  EFI_GUID     *NameGuid
-  )
-{
-  EFI_DEVICE_PATH_PROTOCOL          *DevicePath;
-  MEDIA_FW_VOL_FILEPATH_DEVICE_PATH NewNode;
-
-  DevicePath = DevicePathFromHandle (FvHandle);
-
-  EfiInitializeFwVolDevicepathNode (&NewNode, NameGuid);
-
-  return AppendDevicePathNode (DevicePath, (EFI_DEVICE_PATH_PROTOCOL *)&NewNode);
-}
-
-
-
-EFI_STATUS
-LoadPeCoffSectionFromFv (
- IN  EFI_HANDLE   FvHandle,
- IN  EFI_GUID     *NameGuid
- )
-{
-  EFI_STATUS                    Status;
-  EFI_DEVICE_PATH_PROTOCOL      *DevicePath;
-  EFI_HANDLE                    ImageHandle;
-
-  DevicePath = FvFileDevicePath (FvHandle, NameGuid);
-
-  Status = gBS->LoadImage (TRUE, gImageHandle, DevicePath, NULL, 0, &ImageHandle);
-  if (!EFI_ERROR (Status)) {
-    PERF_END (NULL, "BDS", NULL, 0);
-    Status = gBS->StartImage (ImageHandle, NULL, NULL);
-  }
-
-  return Status;
-}
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec
deleted file mode 100644
index 496442a627e8..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec
+++ /dev/null
@@ -1,36 +0,0 @@ 
-#/** @file
-# Beagle board package.
-#
-# Copyright (c) 2009, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  DEC_SPECIFICATION              = 0x00010005
-  PACKAGE_NAME                   = BeagleBoardPkg
-  PACKAGE_GUID                   = 6eba6648-d853-4eb3-9761-528b82d5ab04
-  PACKAGE_VERSION                = 0.1
-
-################################################################################
-#
-# Include Section - list of Include Paths that are provided by this package.
-#                   Comments are used for Keywords and Module Types.
-#
-# Supported Module Types:
-#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
-#
-################################################################################
-[Includes.common]
-  Include                        # Root include for the package
-
-[Guids.common]
-  gBeagleBoardTokenSpaceGuid    =  { 0x6834fe45, 0x4aee, 0x4fc6, { 0xbc, 0xb5, 0xff, 0x45, 0xb7, 0xa8, 0x71, 0xe2 } }
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc
deleted file mode 100644
index f04aa983d307..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc
+++ /dev/null
@@ -1,481 +0,0 @@ 
-#/** @file
-# Beagle board package.
-#
-# Copyright (c) 2009 - 2010, Apple Inc. 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.
-#
-#**/
-
-################################################################################
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-################################################################################
-[Defines]
-  PLATFORM_NAME                  = BeagleBoardPkg
-  PLATFORM_GUID                  = 91fa6c28-33df-46ac-aee6-292d6811ea31
-  PLATFORM_VERSION               = 0.1
-  DSC_SPECIFICATION              = 0x00010005
-  OUTPUT_DIRECTORY               = Build/BeagleBoard
-  SUPPORTED_ARCHITECTURES        = ARM
-  BUILD_TARGETS                  = DEBUG|RELEASE
-  SKUID_IDENTIFIER               = DEFAULT
-  FLASH_DEFINITION               = OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf
-
-
-[LibraryClasses.common]
-  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
-  ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
-  ArmPlatformLib|OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA8Lib/ArmCortexA8Lib.inf
-  ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
-  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
-
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-
-!if $(TARGET) == RELEASE
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
-#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
-!endif
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
-
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-
-  EfiResetSystemLib|OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf
-
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-
-  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
-
-  # These libraries are used by the dynamic EFI Shell commands
-  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
-  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
-  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-
-  #
-  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
-  # in the debugger will show load and unload commands for symbols. You can cut and paste this
-  # into the command window to load symbols. We should be able to use a script to do this, but
-  # the version of RVD I have does not support scipts accessing system memory.
-  #
-#  PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
-  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
-#  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
-
-
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
-  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
-  CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
-  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
-
-  SerialPortLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/SerialPortLib/SerialPortLib.inf
-  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
-
-  RealTimeClockLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/RealTimeClockLib/RealTimeClockLib.inf
-
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
-
-#
-# Assume everything is fixed at build
-#
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
-
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-
-  TimerLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/Omap35xxTimerLib/Omap35xxTimerLib.inf
-  OmapLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapLib/OmapLib.inf
-  OmapDmaLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/OmapDmaLib/OmapDmaLib.inf
-  DebugAgentTimerLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf
-
-  GdbSerialLib|OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Library/GdbSerialLib/GdbSerialLib.inf
-  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
-
-  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
-  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
-  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
-
-[LibraryClasses.common.SEC]
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
-  LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-
-  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
-  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
-  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
-  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
-  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
-
-  # 1/123 faster than Stm or Vstm version
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-
-  # Uncomment to turn on GDB stub in SEC.
-  #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf
-
-[LibraryClasses.common.PEI_CORE]
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
-
-[LibraryClasses.common.DXE_CORE]
-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
-
-  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
-
-
-[LibraryClasses.common.DXE_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-
-[LibraryClasses.common.UEFI_APPLICATION]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-#  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  PeCoffLib|EmbeddedPkg/Library/DxeHobPeCoffLib/DxeHobPeCoffLib.inf
-
-
-[LibraryClasses.ARM]
-  #
-  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
-  # This library provides the instrinsic functions generate by a given compiler.
-  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
-  #
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
-
-  # Add support for GCC stack protector
-  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
-
-[BuildOptions]
-  XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7
-
-  GCC:*_*_ARM_PLATFORM_FLAGS == -march=armv7-a
-
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A8
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsFeatureFlag.common]
-  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
-
-  #
-  # Control what commands are supported from the UI
-  # Turn these on and off to add features or save size
-  #
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
-
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
-
-  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
-  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
-
-  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
-  gArmTokenSpaceGuid.PcdCpuDxeProduceDebugSupport|FALSE
-
-  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
-
-  ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
-  #  It could be set FALSE to save size.
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
-
-[PcdsFixedAtBuild.common]
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"Beagle Board"
-
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"BeagleEdk2"
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
-  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
-  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
-  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
-  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
-  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
-
-# DEBUG_ASSERT_ENABLED       0x01
-# DEBUG_PRINT_ENABLED        0x02
-# DEBUG_CODE_ENABLED         0x04
-# CLEAR_MEMORY_ENABLED       0x08
-# ASSERT_BREAKPOINT_ENABLED  0x10
-# ASSERT_DEADLOOP_ENABLED    0x20
-!if $(TARGET) == RELEASE
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
-!else
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
-!endif
-
-#  DEBUG_INIT      0x00000001  // Initialization
-#  DEBUG_WARN      0x00000002  // Warnings
-#  DEBUG_LOAD      0x00000004  // Load events
-#  DEBUG_FS        0x00000008  // EFI File system
-#  DEBUG_POOL      0x00000010  // Alloc & Free's
-#  DEBUG_PAGE      0x00000020  // Alloc & Free's
-#  DEBUG_INFO      0x00000040  // Verbose
-#  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers
-#  DEBUG_VARIABLE  0x00000100  // Variable
-#  DEBUG_BM        0x00000400  // Boot Manager
-#  DEBUG_BLKIO     0x00001000  // BlkIo Driver
-#  DEBUG_NET       0x00004000  // SNI Driver
-#  DEBUG_UNDI      0x00010000  // UNDI Driver
-#  DEBUG_LOADFILE  0x00020000  // UNDI Driver
-#  DEBUG_EVENT     0x00080000  // Event messages
-#  DEBUG_ERROR     0x80000000  // Error
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
-
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
-
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
-
-#
-# Optional feature to help prevent EFI memory map fragments
-# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
-# Values are in EFI Pages (4K). DXE Core will make sure that
-# at least this much of each type of memory can be allocated
-# from a single memory range. This way you only end up with
-# maximum of two fragements for each type in the memory map
-# (the memory used, and the free memory that was prereserved
-# but not used).
-#
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|40
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|3000
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|10
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
-
-
-#
-# Beagle board Specific PCDs
-#
-  gArmTokenSpaceGuid.PcdVFPEnabled|1
-
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x08000000
-
-  # Size of the region used by UEFI in permanent memory (Reserved 16MB)
-  gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x01000000
-
-  # Size of the region reserved for fixed address allocations (Reserved 32MB)
-  gArmTokenSpaceGuid.PcdArmLinuxKernelMaxOffset|0x02000000
-
-  gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80008000
-  gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
-
-  gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
-
-  # We want to use the Shell Libraries but don't want it to initialise
-  # automatically. We initialise the libraries when the command is called by the
-  # Shell.
-  gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-
-  #
-  # ARM Pcds
-  #
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
-
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SD"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/Image"
-  gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"console=tty0 console=ttyS2,115200n8 root=UUID=a4af765b-c2b5-48f4-9564-7a4e9104c4f6 rootwait ro earlyprintk"
-  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10
-
-  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi();VenHw(E68088EF-D1A4-4336-C1DB-4D3A204730A6)"
-  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi()"
-
-################################################################################
-#
-# Components Section - list of all EDK II Modules needed by this Platform
-#
-################################################################################
-[Components.common]
-
-  #
-  # SEC
-  #
-  ArmPlatformPkg/PrePi/PeiUniCore.inf
-
-  #
-  # DXE
-  #
-  MdeModulePkg/Core/Dxe/DxeMain.inf {
-    <LibraryClasses>
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
-      NULL|EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf
-  }
-
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf
-
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
-  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
-  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
-
-  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
-  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
-  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
-  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-#
-# This version uses semi-hosting console
-#  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf {
-#    <LibraryClasses>
-#      SerialPortLib|ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf
-#  }
-
-  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
-  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
-
-  #
-  # Semi-hosting filesystem
-  #
-  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
-
-  #
-  # FAT filesystem + GPT/MBR partitioning
-  #
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-
-  #
-  # USB
-  #
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
-
-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf {
-    <PcdsFixedAtBuild>
-      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800fffff
-  }
-
-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
-  #
-  # Nand Flash
-  #
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
-
-  #
-  # MMC/SD
-  #
-  EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
-
-  #
-  # I2C
-  #
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
-
-  #
-  # SoC Drivers
-  #
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
-
-  #
-  # Power IC
-  #
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
-
-  #
-  # Bds
-  #
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-  ArmPlatformPkg/Bds/Bds.inf
-
-  # Legacy Linux Loader
-  ArmPkg/Application/LinuxLoader/LinuxLoader.inf
-
-  #
-  # Example Application
-  #
-  MdeModulePkg/Application/HelloWorld/HelloWorld.inf
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf b/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf
deleted file mode 100644
index 9728efd43b76..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.fdf
+++ /dev/null
@@ -1,310 +0,0 @@ 
-# FLASH layout file for Beagle board.
-#
-# Copyright (c) 2009, Apple Inc. 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.
-#
-
-################################################################################
-#
-# FD Section
-# The [FD] Section is made up of the definition statements and a
-# description of what goes into  the Flash Device Image.  Each FD section
-# defines one flash "device" image.  A flash device image may be one of
-# the following: Removable media bootable image (like a boot floppy
-# image,) an Option ROM image (that would be "flashed" into an add-in
-# card,) a System "Flash"  image (that would be burned into a system's
-# flash) or an Update ("Capsule") image that will be used to update and
-# existing system flash.
-#
-################################################################################
-
-
-[FD.BeagleBoard_EFI]
-BaseAddress   = 0x80008000|gArmTokenSpaceGuid.PcdFdBaseAddress  #The base address of the FLASH Device.
-Size          = 0x000B0000|gArmTokenSpaceGuid.PcdFdSize         #The size in bytes of the FLASH Device
-ErasePolarity = 1
-BlockSize     = 0x1
-NumBlocks     = 0xB0000
-
-################################################################################
-#
-# Following are lists of FD Region layout which correspond to the locations of different
-# images within the flash device.
-#
-# Regions must be defined in ascending order and may not overlap.
-#
-# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
-# the pipe "|" character, followed by the size of the region, also in hex with the leading
-# "0x" characters. Like:
-# Offset|Size
-# PcdOffsetCName|PcdSizeCName
-# RegionType <FV, DATA, or FILE>
-#
-################################################################################
-0x00000000|0x000B0000
-gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize
-FV = FVMAIN_COMPACT
-
-################################################################################
-#
-# FV Section
-#
-# [FV] section is used to define what components or modules are placed within a flash
-# device file.  This section also defines order the components and modules are positioned
-# within the image.  The [FV] section consists of define statements, set statements and
-# module statements.
-#
-################################################################################
-
-[FV.FvMain]
-BlockSize          = 0x1
-NumBlocks          = 0         # This FV gets compressed so make it just big enough
-FvAlignment        = 8         # FV alignment and FV attributes setting.
-ERASE_POLARITY     = 1
-MEMORY_MAPPED      = TRUE
-STICKY_WRITE       = TRUE
-LOCK_CAP           = TRUE
-LOCK_STATUS        = TRUE
-WRITE_DISABLED_CAP = TRUE
-WRITE_ENABLED_CAP  = TRUE
-WRITE_STATUS       = TRUE
-WRITE_LOCK_CAP     = TRUE
-WRITE_LOCK_STATUS  = TRUE
-READ_DISABLED_CAP  = TRUE
-READ_ENABLED_CAP   = TRUE
-READ_STATUS        = TRUE
-READ_LOCK_CAP      = TRUE
-READ_LOCK_STATUS   = TRUE
-FvNameGuid         = d0dd3e90-343d-4cb3-8f69-772214989282
-
-  INF MdeModulePkg/Core/Dxe/DxeMain.inf
-
-  #
-  # PI DXE Drivers producing Architectural Protocols (EFI Services)
-  #
-  INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
-
-  INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
-  INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
-  INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
-  INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
-  INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
-
-  INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
-  INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-  INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
-  INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
-  INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-
-  INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
-  INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
-  INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
-
-!if $(TARGET) == RELEASE
-  #
-  # Semi-hosting filesystem
-  #
-  INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
-!endif
-
-  #
-  # Nand Flash
-  #
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Flash/Flash.inf
-
-  #
-  # MMC/SD
-  #
-  INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/MmcHostDxe/MmcHostDxe.inf
-
-  #
-  # I2C
-  #
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/SmbusDxe/Smbus.inf
-
-  #
-  # SoC Drivers
-  #
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Gpio/Gpio.inf
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/InterruptDxe/InterruptDxe.inf
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TimerDxe/TimerDxe.inf
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf
-
-  #
-  # Power IC
-  #
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/TPS65950Dxe/TPS65950.inf
-
-  #
-  # FAT filesystem + GPT/MBR partitioning
-  #
-  INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-  INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-  INF FatBinPkg/EnhancedFatDxe/Fat.inf
-  INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-
-  #
-  # USB Support
-  #
-
-  INF OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/PciEmulation/PciEmulation.inf
-
-  INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
-  INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-  INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
-  #
-  # UEFI application (Shell Embedded Boot Loader)
-  #
-  INF ShellBinPkg/UefiShell/UefiShell.inf
-
-  #
-  # Bds
-  #
-  INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
-  INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-  INF ArmPlatformPkg/Bds/Bds.inf
-
-  # Legacy Linux Loader
-  INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf
-
-
-[FV.FVMAIN_COMPACT]
-FvAlignment        = 8
-ERASE_POLARITY     = 1
-MEMORY_MAPPED      = TRUE
-STICKY_WRITE       = TRUE
-LOCK_CAP           = TRUE
-LOCK_STATUS        = TRUE
-WRITE_DISABLED_CAP = TRUE
-WRITE_ENABLED_CAP  = TRUE
-WRITE_STATUS       = TRUE
-WRITE_LOCK_CAP     = TRUE
-WRITE_LOCK_STATUS  = TRUE
-READ_DISABLED_CAP  = TRUE
-READ_ENABLED_CAP   = TRUE
-READ_STATUS        = TRUE
-READ_LOCK_CAP      = TRUE
-READ_LOCK_STATUS   = TRUE
-
-  INF ArmPlatformPkg/PrePi/PeiUniCore.inf
-
-  FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
-    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
-      SECTION FV_IMAGE = FVMAIN
-    }
-  }
-
-
-################################################################################
-#
-# Rules are use with the [FV] section's module INF type to define
-# how an FFS file is created for a given INF file. The following Rule are the default
-# rules for the different module type. User can add the customized rules to define the
-# content of the FFS file.
-#
-################################################################################
-
-
-############################################################################
-# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section   #
-############################################################################
-#
-#[Rule.Common.DXE_DRIVER]
-#  FILE DRIVER = $(NAMED_GUID) {
-#    DXE_DEPEX    DXE_DEPEX               Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
-#    COMPRESS PI_STD {
-#      GUIDED {
-#        PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
-#        UI       STRING="$(MODULE_NAME)" Optional
-#        VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
-#      }
-#    }
-#  }
-#
-############################################################################
-
-[Rule.Common.SEC]
-  FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
-    TE  TE    Align = 32                $(INF_OUTPUT)/$(MODULE_NAME).efi
-  }
-
-[Rule.Common.PEI_CORE]
-  FILE PEI_CORE = $(NAMED_GUID) {
-    TE     TE                           $(INF_OUTPUT)/$(MODULE_NAME).efi
-    UI     STRING ="$(MODULE_NAME)" Optional
-  }
-
-[Rule.Common.PEIM]
-  FILE PEIM = $(NAMED_GUID) {
-     PEI_DEPEX PEI_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex
-     PE32      PE32                     $(INF_OUTPUT)/$(MODULE_NAME).efi
-     UI       STRING="$(MODULE_NAME)" Optional
-  }
-
-[Rule.Common.PEIM.TIANOCOMPRESSED]
-  FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
-    PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex
-    GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
-      PE32      PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
-      UI        STRING="$(MODULE_NAME)" Optional
-    }
-  }
-
-[Rule.Common.DXE_CORE]
-  FILE DXE_CORE = $(NAMED_GUID) {
-    PE32     PE32                       $(INF_OUTPUT)/$(MODULE_NAME).efi
-    UI       STRING="$(MODULE_NAME)" Optional
-  }
-
-
-[Rule.Common.UEFI_DRIVER]
-  FILE DRIVER = $(NAMED_GUID) {
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
-    UI           STRING="$(MODULE_NAME)" Optional
-  }
-
-[Rule.Common.DXE_DRIVER]
-  FILE DRIVER = $(NAMED_GUID) {
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
-    UI           STRING="$(MODULE_NAME)" Optional
-  }
-
-[Rule.Common.DXE_RUNTIME_DRIVER]
-  FILE DRIVER = $(NAMED_GUID) {
-    DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
-    PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi
-    UI           STRING="$(MODULE_NAME)" Optional
-  }
-
-[Rule.Common.UEFI_APPLICATION]
-  FILE APPLICATION = $(NAMED_GUID) {
-    UI     STRING ="$(MODULE_NAME)" Optional
-    PE32   PE32                         $(INF_OUTPUT)/$(MODULE_NAME).efi
-  }
-
-[Rule.Common.UEFI_DRIVER.BINARY]
-  FILE DRIVER = $(NAMED_GUID) {
-    DXE_DEPEX DXE_DEPEX Optional      |.depex
-    PE32      PE32                    |.efi
-    UI        STRING="$(MODULE_NAME)" Optional
-    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
-  }
-
-[Rule.Common.UEFI_APPLICATION.BINARY]
-  FILE APPLICATION = $(NAMED_GUID) {
-    PE32      PE32                    |.efi
-    UI        STRING="$(MODULE_NAME)" Optional
-    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
-  }
diff --git a/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat b/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat
deleted file mode 100644
index 5f6897e306d8..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat
+++ /dev/null
@@ -1,41 +0,0 @@ 
-PRM_CLKSRC_CTRL=0x00000080
-PRM_CLKSEL=0x00000003
-CM_CLKSEL1_EMU=0x03020A50
-CM_CLKSEL_CORE=0x0000030A
-CM_CLKSEL_WKUP=0x00000015
-CM_CLKEN_PLL_DPLL3=0x00370037
-CM_AUTOIDLE_PLL_DPLL3=0x00000000
-CM_CLKSEL1_PLL=0x094C0C00
-CM_CLKEN_PLL_DPLL4=0x00370037
-CM_AUTOIDLE_PLL_DPLL4=0x00000000
-CM_CLKSEL2_PLL=0x0001B00C
-CM_CLKSEL3_PLL=0x00000009
-CM_CLKEN_PLL_MPU=0x00000037
-CM_AUTOIDLE_PLL_MPU=0x00000000
-CM_CLKSEL1_PLL_MPU=0x0011F40C
-CM_CLKSEL2_PLL_MPU=0x00000001
-CM_CLKSTCTRL_MPU=0x00000000
-SDRC_SYSCONFIG_LSB=0x0000
-SDRC_CS_CFG_LSB=0x0001
-SDRC_SHARING_LSB=0x0100
-SDRC_ERR_TYPE_LSB=0x0000
-SDRC_DLLA_CTRL=0x0000000A
-SDRC_POWER=0x00000081
-MEMORY_TYPE_CS0=0x0003
-SDRC_MCFG_0=0x02D04011
-SDRC_MR_0_LSB=0x0032
-SDRC_EMR1_0_LSB=0x0000
-SDRC_EMR2_0_LSB=0x0000
-SDRC_EMR3_0_LSB=0x0000
-SDRC_ACTIM_CTRLA_0=0xBA9DC4C6
-SDRC_ACTIM_CTRLB_0=0x00012522
-SDRC_RFRCTRL_0=0x0004E201
-MEMORY_TYPE_CS1=0x0003
-SDRC_MCFG_1=0x02D04011
-SDRC_MR_1_LSB=0x0032
-SDRC_EMR1_1_LSB=0x0000
-SDRC_EMR2_1_LSB=0x0000
-SDRC_EMR3_1_LSB=0x0000
-SDRC_ACTIM_CTRLA_1=0xBA9DC4C6
-SDRC_ACTIM_CTRLB_1=0x00012522
-SDRC_RFRCTRL_1=0x0004E201
diff --git a/Platforms/TexasInstruments/BeagleBoard/Contributions.txt b/Platforms/TexasInstruments/BeagleBoard/Contributions.txt
deleted file mode 100644
index f87cbd73c693..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Contributions.txt
+++ /dev/null
@@ -1,218 +0,0 @@ 
-
-======================
-= Code Contributions =
-======================
-
-To make a contribution to a TianoCore project, follow these steps.
-1. Create a change description in the format specified below to
-   use in the source control commit log.
-2. Your commit message must include your "Signed-off-by" signature,
-   and "Contributed-under" message.
-3. Your "Contributed-under" message explicitly states that the
-   contribution is made under the terms of the specified
-   contribution agreement.  Your "Contributed-under" message
-   must include the name of contribution agreement and version.
-   For example: Contributed-under: TianoCore Contribution Agreement 1.0
-   The "TianoCore Contribution Agreement" is included below in
-   this document.
-4. Submit your code to the TianoCore project using the process
-   that the project documents on its web page.  If the process is
-   not documented, then submit the code on development email list
-   for the project.
-5. It is preferred that contributions are submitted using the same
-   copyright license as the base project. When that is not possible,
-   then contributions using the following licenses can be accepted:
-   * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
-   * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
-   * MIT: http://opensource.org/licenses/MIT
-   * Python-2.0: http://opensource.org/licenses/Python-2.0
-   * Zlib: http://opensource.org/licenses/Zlib
-
-   Contributions of code put into the public domain can also be
-   accepted.
-
-   Contributions using other licenses might be accepted, but further
-   review will be required.
-
-=====================================================
-= Change Description / Commit Message / Patch Email =
-=====================================================
-
-Your change description should use the standard format for a
-commit message, and must include your "Signed-off-by" signature
-and the "Contributed-under" message.
-
-== Sample Change Description / Commit Message =
-
-=== Start of sample patch email message ===
-
-From: Contributor Name <contributor@example.com>
-Subject: [PATCH] CodeModule: Brief-single-line-summary
-
-Full-commit-message
-
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Contributor Name <contributor@example.com>
----
-
-An extra message for the patch email which will not be considered part
-of the commit message can be added here.
-
-Patch content inline or attached
-
-=== End of sample patch email message ===
-
-=== Notes for sample patch email ===
-
-* The first line of commit message is taken from the email's subject
-  line following [PATCH]. The remaining portion of the commit message
-  is the email's content until the '---' line.
-* git format-patch is one way to create this format
-
-=== Definitions for sample patch email ===
-
-* "CodeModule" is a short idenfier for the affected code.  For
-  example MdePkg, or MdeModulePkg UsbBusDxe.
-* "Brief-single-line-summary" is a short summary of the change.
-* The entire first line should be less than ~70 characters.
-* "Full-commit-message" a verbose multiple line comment describing
-  the change.  Each line should be less than ~70 characters.
-* "Contributed-under" explicitely states that the contribution is
-  made under the terms of the contribtion agreement.  This
-  agreement is included below in this document.
-* "Signed-off-by" is the contributor's signature identifying them
-  by their real/legal name and their email address.
-
-========================================
-= TianoCore Contribution Agreement 1.0 =
-========================================
-
-INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
-INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
-PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
-TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
-REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
-CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
-USE THE CONTENT.
-
-Unless otherwise indicated, all Content made available on the TianoCore
-site is provided to you under the terms and conditions of the BSD
-License ("BSD"). A copy of the BSD License is available at
-http://opensource.org/licenses/bsd-license.php
-or when applicable, in the associated License.txt file.
-
-Certain other content may be made available under other licenses as
-indicated in or with such Content. (For example, in a License.txt file.)
-
-You accept and agree to the following terms and conditions for Your
-present and future Contributions submitted to TianoCore site. Except
-for the license granted to Intel hereunder, You reserve all right,
-title, and interest in and to Your Contributions.
-
-== SECTION 1: Definitions ==
-* "You" or "Contributor" shall mean the copyright owner or legal
-  entity authorized by the copyright owner that is making a
-  Contribution hereunder. All other entities that control, are
-  controlled by, or are under common control with that entity are
-  considered to be a single Contributor. For the purposes of this
-  definition, "control" means (i) the power, direct or indirect, to
-  cause the direction or management of such entity, whether by
-  contract or otherwise, or (ii) ownership of fifty percent (50%)
-  or more of the outstanding shares, or (iii) beneficial ownership
-  of such entity.
-* "Contribution" shall mean any original work of authorship,
-  including any modifications or additions to an existing work,
-  that is intentionally submitted by You to the TinaoCore site for
-  inclusion in, or documentation of, any of the Content. For the
-  purposes of this definition, "submitted" means any form of
-  electronic, verbal, or written communication sent to the
-  TianoCore site or its representatives, including but not limited
-  to communication on electronic mailing lists, source code
-  control systems, and issue tracking systems that are managed by,
-  or on behalf of, the TianoCore site for the purpose of
-  discussing and improving the Content, but excluding
-  communication that is conspicuously marked or otherwise
-  designated in writing by You as "Not a Contribution."
-
-== SECTION 2: License for Contributions ==
-* Contributor hereby agrees that redistribution and use of the
-  Contribution in source and binary forms, with or without
-  modification, are permitted provided that the following
-  conditions are met:
-** Redistributions of source code must retain the Contributor's
-   copyright notice, this list of conditions and the following
-   disclaimer.
-** Redistributions in binary form must reproduce the Contributor's
-   copyright notice, this list of conditions and the following
-   disclaimer in the documentation and/or other materials provided
-   with the distribution.
-* Disclaimer. None of the names of Contributor, Intel, or the names
-  of their respective contributors may be used to endorse or
-  promote products derived from this software without specific
-  prior written permission.
-* Contributor grants a license (with the right to sublicense) under
-  claims of Contributor's patents that Contributor can license that
-  are infringed by the Contribution (as delivered by Contributor) to
-  make, use, distribute, sell, offer for sale, and import the
-  Contribution and derivative works thereof solely to the minimum
-  extent necessary for licensee to exercise the granted copyright
-  license; this patent license applies solely to those portions of
-  the Contribution that are unmodified. No hardware per se is
-  licensed.
-* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
-  CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
-  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-  CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
-  CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-  DAMAGE.
-
-== SECTION 3: Representations ==
-* You represent that You are legally entitled to grant the above
-  license. If your employer(s) has rights to intellectual property
-  that You create that includes Your Contributions, You represent
-  that You have received permission to make Contributions on behalf
-  of that employer, that Your employer has waived such rights for
-  Your Contributions.
-* You represent that each of Your Contributions is Your original
-  creation (see Section 4 for submissions on behalf of others).
-  You represent that Your Contribution submissions include complete
-  details of any third-party license or other restriction
-  (including, but not limited to, related patents and trademarks)
-  of which You are personally aware and which are associated with
-  any part of Your Contributions.
-
-== SECTION 4: Third Party Contributions ==
-* Should You wish to submit work that is not Your original creation,
-  You may submit it to TianoCore site separately from any
-  Contribution, identifying the complete details of its source
-  and of any license or other restriction (including, but not
-  limited to, related patents, trademarks, and license agreements)
-  of which You are personally aware, and conspicuously marking the
-  work as "Submitted on behalf of a third-party: [named here]".
-
-== SECTION 5: Miscellaneous ==
-* Applicable Laws. Any claims arising under or relating to this
-  Agreement shall be governed by the internal substantive laws of
-  the State of Delaware or federal courts located in Delaware,
-  without regard to principles of conflict of laws.
-* Language. This Agreement is in the English language only, which
-  language shall be controlling in all respects, and all versions
-  of this Agreement in any other language shall be for accommodation
-  only and shall not be binding. All communications and notices made
-  or given pursuant to this Agreement, and all documentation and
-  support to be provided, unless otherwise noted, shall be in the
-  English language.
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc
deleted file mode 100644
index a4e96747f8d2..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_boot_from_ram.inc
+++ /dev/null
@@ -1,21 +0,0 @@ 
-//
-// Copyright (c) 2008 - 2009, Apple Inc. 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.
-//
-error = continue
-unload
-error = abort
-
-setreg @CP15_CONTROL = 0x0005107E
-setreg @pc=0x80008208
-setreg @cpsr=0x000000D3
-dis/D
-readfile,raw,nowarn "ZZZZZZ/FV/BEAGLEBOARD_EFI.fd"=0x80008000
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh
deleted file mode 100755
index 67fdfe1efa14..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_convert_symbols.sh
+++ /dev/null
@@ -1,23 +0,0 @@ 
-#!/bin/sh
-#
-# Copyright (c) 2008 - 2009, Apple Inc. 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.
-#
-
-
-IN=`/usr/bin/cygpath -u $1`
-OUT=`/usr/bin/cygpath -u $2`
-
-/usr/bin/sed -e "s/\/cygdrive\/\(.\)/load\/a\/ni\/np \"\1:/g" \
-             -e 's:\\:/:g' \
-             -e "s/^/load\/a\/ni\/np \"/g" \
-             -e "s/dll /dll\" \&/g" \
-              $IN | /usr/bin/sort.exe --key=3 --output=$OUT
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_dummy.axf b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_dummy.axf
deleted file mode 100755
index 17fabaa6cc649d520848f087954c0729043bf001..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7984
zcmbVRZERcDd44ZRnY3iPwCQ$+=LU4Zwq6p;vganAF|?8`#nvjvj3mcis+FS1D~S!i
za7o%$YS@%3e<XnuV++;~#4x)Jn1AGlhIK=`)_{sSZLqnmfx2l2Yyc^Wm}0l6gBfc(
zY~`Nk-g~I)TV_dn;Hz_<^M0Q9ea|_U*JlQXp42o=RP)F-F;Q9M+J{Bn#N!d^*ezkq
zZ<Ey$AnTon@NAP;7G=%lWvRSamHC&dTK-QKyX4v0?}>DNK>lfYWA*T&CZW3b-hrU^
zUZwWhDv{UmNKd6My?CN{#w+z;czE%od}Z7JG@CD;?VhjoU@See1M48;>$%$S_PkQ1
z{HT|vEA@w(J8I}_TSV@9W&7I~&HnoGKJ*^|zF_v(m;bZbyt@W|YQ5XvCjSY{YrWT(
z>Ay&|&bc+gtBp<2`ONMOKc~I>So}w^;-D=9KTTUc@CG4!x7ob24s!-{`Kpx~b<-aC
zs5=C#LEnZCSL%V_Ttj585u(i?)`Br@P&fUavE{sSec2a&wXwDbwyI~VUinN-!n2J|
zkr&tX{6$sU{PJP~G=Fe*(ckm!x<B}>x>ugAd4rW%kMvc2uoEo9M%eV#To>`e{_Ssn
z0(Q7g)4yn?_DK!C!awP~)bK?w!M{o^AeS0z(f>8#rT9GgO3gctN3I}VRt(HOSgB)u
zW=y19sSR-rn3KzxE0-IJrUlE3zTgWD($pNs0ePXtL%ha;gBU+xOWASt%tc2K@d#IH
zt9p>bTbCB^X;}Z+>&vaYag7c+Gd{?<Cs?hk9FWd=;&stV?W<TzM-}V9*e?t9wZTfQ
zvj_NAr8W*5VdU+L;0gD_);RR%@s#n*SInGrEL3U>t6yJsJ{n}H-zQhi+;e>YyoeL~
zP(b&f+t;(*T7NI&KD+3RE+EgZBL02V4vE%K%a72ffV|r1kaG1e8T;}1+AAVmzTm5n
zy@Kay<Yw-J9IpZoYfi`?ELY9?LG1|Y<(Gn*yLV+t4sU<^9n?th)}ci+URaa=GU5Vx
zZA+!@%YU!&W7b6(^$q-#ZBv`CgaXmZ`aq?!eznMESzx`>w~NqokvXpW7A`gd3vV_y
zs{FiseOc>$Yf0p2y#q22%V_;$G8*#bE1K_eMf(WOjV|oXG0fwb*evo^<6()`$0Qp1
z7#`H7rj4KX;5_Q|%V-Vp_in;i!0$KvqllMm4g;^2{tZ6JXd++Mdf!;8V&8Vk5ya+C
zy|4k9N_}-0`GwD#ys_kyOV;`?!*BWbhBp5aaJ1fuHFi`gP%~QpL9@A;ap_uLsr@-)
z0$J8Pb;0f(E&LO#Z5Z`l_Q>q4zeA4Ie${O5l`v{#>+FAg6FzJ~p1H@oa%q{l{2*j`
z_RtpU8g?q7EvQKW--kfkh`f-`7lwa06Ugg>4{L%~8i6qL9j$Mas~y3fD`uSiu#MXF
z3UqAy-)6HPwIz1#ExGD$8Q84-d)Ao*+o*fF%X1DfzQeur!(TV=T6-s2|NCDzH<MrO
zF%7nZ!B=otRzhLi1*p%v%sct_h7aoTd^n?La>h(Jku!`^zNjbVaH$y1O@^meh$4B$
z1h&=L(+M3sqqW|-#kH(A#9rh!YC0N1JU1gqceLoaMbrprM?m{gi$>Wz{HMME^fGpW
z^UaHS#x4Ng=s$8{om;`Od3G{3e8yq8w~Q+aeG|<aH!_LDqvAWYZo^vfi(d<P0^Wcx
z&=FV_@CO2c)q&1HS71$G-EYchEg8SZ{~I#?wlXVrep{J<1pXi2kQ=j|DvNo86Yu7X
zjj@kRJO}(3#zUdg2Sai&bP9iQ&ziJ(&^BV+A3F207CJo?I`jPypeS88%9d{OQ1?w>
zj)yus`@68|sAn3_QrQ~!y{yf7LZ=5hZ$M99ml<=)$t-e!F6y*n8->8B(a`A|$~N;v
znO?|HcZ;n*bP8+m^mg{&2uT;bRf83O(`At$WT=C(*P!D*dieE%=c4z5?|et-bA9Jl
z&G|#eXF@Z5oj2b2&UfDoo$l)j9p}0z^V-=5)?%)g{(KGdjLSiL?O}{Lf5V<%@pHv5
z>LkxC@c7W%q7t#^Z)1KO<7q1{=R61BFvF0x8C4E<f8Mg)Z_ZmpMeA=v+eV#uMnOA?
z9_zp0IqyB^o8$UJ&wtunc<2mLBztV$o8ZlBChtq07rig|E|T}cs`LJHfw|S8<9#9H
zXy}9r*(rp~kT7Jqz6I<vuC)~dM{YPzU;g-<;BC{?&y=@hlb9b;vIj%Yr$c8thnV0q
zmQL!Q2Ty=JuDE;?^UR4eF2t|lxd|F$uJA1ztD3zHOyBI9-LGmkj5*p|R=Ta+%z64(
z@=Bdt(|wyqtx*sM=GN9}j>#9r{4s0(yyu*E&WDm`3anjX`9Z#G;A37Pk6mPLMWB_2
z^vEBy;5$vOPs(aSGuIn%V4VH3$AQV;>%wUVCjUtXCjTiHo^#=w4ovxfb70CZxiHTH
zt6BbXk2*2;nG<t=IWhN=6LSwaG53nX^rzQ>=@0jd)ij*`$c+P&&OKu_%Rknw6SH0w
zru;PrraWuaYL@=5IWXz0SttEX2PU0$tLVh6QzvF!Ix%a|iCKdR)4zxVQy**5YIgix
zn0r~#@lqwXU6^;O)jaYcHAL@|cbbFfSuX+fUi`W|j9xX;M-@O%{8{4i3O{~>wVKj5
zSH_u(S?ascqORCu{c+Eb{-rkbCD6I&Nx#;H&U)m0JGz_y>n{2C!vE~z|5xC2*}9`>
z&rN6ixF3R=<xkxu@5ba;_Y(EBqpSO=9lc#V)m=sYc64=Tk^bK<|K1DJU+z!d(Z7ql
zTR-*n{}%eX5LeY$UvAtkA3P71-z6Vz{@-`$e*{?Fja=^&E;{{J_u{+7TiuWEM(26M
z`-t=*=;!_%H?ikE^F#YQkKS)So^Inm&#QoKKhcJ+?pgZhroR_<=ZF5Pdzt#&_2AY=
zesxE;vrjtD%P6{bbhkb?ro6h_Dc>%?>P{!!aK&fVg}(sI`+JY=&tJLdUkC05{V|*V
z9S1##dj2C12zCp4-f2EXT(<JF!K29$VD)}LoUk$9mx)WjTfomod=XgLBfbi(&M)G>
z16Jof@jn93l`a2>zXd!G%=aVWe*wM$%z7by3-~6mqE~^JfO%e%-T+p=9f*GgtbP{|
zcY3Y!^1jW#30S?qll};>Iv<G-0^c}m?HA&4VD&yhT(q&z)^`b5op+@F4KU9y?l<CZ
z0QWoacY%3coV4k;fz^98`T0>n?RVl|0IU5?9E9Q5?fZN^@Md83?o0Y3Himk67<iux
zj{$Q(EC2Gq>OFV^>hBz|dJm?)F9EClN&L6KYJU;`1F+gZlwSbmeu=2{0jv5a{b#_c
z-iiMUSe<{=#~0RHkY^+Pp^laJiy-K`fYtj2*MGpq<KSP9uSCayt?wT=vryj>$w(wF
zktF_g8+tsQj2Gjg?;X?AMk+Cu)Q{`wu~a^nESwk{cye&;z~In<zC)*Xj*TRYRK8dk
zOO`U3neK#i7xj}xNhZ1r(%roS|KiyxJ-wq)j2p#L9<y7wZq39~*$1f4=|)yhyG3RS
zt(ihGnNCemy{WTMe2!m9b~@<h#IDu^K1~!L4*@+h5i@;qx-*fB8>Yqwy)=p~1-6M6
zp3JARDUwe{Ci7`LgbyqN_Tu?GO->Y)T6!5zr*nxF*Hcs3c-jpWza6YZyjau?7(=iM
z7I?tabUd3(>jvYqb*l|x&!=QxDV0w46^lk{qEyrikx1Y0q1fO^-|^j%Ly_n}q;K!g
zu3eF1dxv)JjErD3I504<Gje+HXynMqz{oR?M^2B7ero@x`Yreb;K8BD;gM+H{(;EA
zzP>$?;en_3M54n3BYPqPeftKF?~+)oRM2BcZ{oRFVp>l;m&#6I(oAtIW;>tG#gmwH
zpqNpltaBz?N~c{@&+A6cjB_l;mBfvy<FVs<R@V)&4H(6ko-G<P5ajSAa$=6+6FCDz
z<iwg>p_r~RFELv)<V=XV)w6UH6DT$ZnW!*bDkgI$vJ%Uu<HgCGk%{GVg`%}`hq?!;
z4n2cbp!7^?8gf>Y7`kjOR#=&g6;7n!0tg1Cv13*YSe~u8Unu5`_>^utoJ+*h9GfvR
zOAdfRo6?Ksq!o-rE|Wp=K&#Pm!7!Jail?2nhL6UEQW-OxrZZScAs<iBgo*RIkvDP)
zM#?>3oW=o?bW#w}NpmH|QXv*kCJjpq*KUT+(5F&4gw}~-Qzh(C%t3f$@WAlsp@Bn+
zqm`;cYRZvx#fJ4{Q6jNeQlE^M(nylI>0-%L0qH@l6pJ$_jKs9iE4vD?sgdPGE;|X8
z`I4cd7GlX<X(Fu`WZ3jC5*dvHMk4#-1>HTTf~DfYSfT<4Ge}V+^6X$FVsYU7#nElv
z+vs|cA#_&5I6Rcf;xK$HJp9c5(Le0&34hw$(&5KHzVpvIWiXq^C*u7`A!@#`7dM`H
z=;rX5WBAaH(dklVBD{ac{zo4rPd<ecqOBq^zuShl=ibNhzVFE3Q2#K_`KO-PH8!lL
zbu4|ylh5q1EXPkyhTn%0_Z`9I4h+YJ51W6F^6#^Q(w)>NN>i~(Bc9QvyD*a}#wXAh
z4YSYYikM~jV(plowh2(hSGV2NS+<^~Rk+*y!fz5~#`^s>>fr-%Qx|nomugBEzPsD+
z>DC>)35LcM6MDtRuTGBFN+I7@716;T#+a{Xs@=r5#4sLQ(SlbjQy+g<Y{P@soL2iO
zJ{qLSWH)7t@1QW%YRB*rxT%F!{Cga8N`~Y-_<ri(Q?yTF&S`fH|L;B2hVTCXPO>ME

diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc
deleted file mode 100644
index dbce4dfdbd5f..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_hw_setup.inc
+++ /dev/null
@@ -1,67 +0,0 @@ 
-//
-// Copyright (c) 2008 - 2009, Apple Inc. 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.
-//
-
-error = continue
-unload
-error = abort
-
-setreg @CP15_CONTROL = 0x0005107E
-setreg @cpsr=0x000000D3
-
-; General clock settings.
-setmem /32 0x48307270=0x00000080
-setmem /32 0x48306D40=0x00000003
-setmem /32 0x48005140=0x03020A50
-
-;Clock configuration
-setmem /32 0x48004A40=0x0000030A
-setmem /32 0x48004C40=0x00000015
-
-;DPLL3 (Core) settings
-setmem /32 0x48004D00=0x00370037
-setmem /32 0x48004D30=0x00000000
-setmem /32 0x48004D40=0x094C0C00
-
-;DPLL4 (Peripheral) settings
-setmem /32 0x48004D00=0x00370037
-setmem /32 0x48004D30=0x00000000
-setmem /32 0x48004D44=0x0001B00C
-setmem /32 0x48004D48=0x00000009
-
-;DPLL1 (MPU) settings
-setmem /32 0x48004904=0x00000037
-setmem /32 0x48004934=0x00000000
-setmem /32 0x48004940=0x0011F40C
-setmem /32 0x48004944=0x00000001
-setmem /32 0x48004948=0x00000000
-
-;RAM setup.
-setmem /16 0x6D000010=0x0000
-setmem /16 0x6D000040=0x0001
-setmem /16 0x6D000044=0x0100
-setmem /16 0x6D000048=0x0000
-setmem /32 0x6D000060=0x0000000A
-setmem /32 0x6D000070=0x00000081
-setmem /16 0x6D000040=0x0003
-setmem /32 0x6D000080=0x02D04011
-setmem /16 0x6D000084=0x0032
-setmem /16 0x6D00008C=0x0000
-setmem /32 0x6D00009C=0xBA9DC4C6
-setmem /32 0x6D0000A0=0x00012522
-setmem /32 0x6D0000A4=0x0004E201
-setmem /16 0x6D000040=0x0003
-setmem /32 0x6D0000B0=0x02D04011
-setmem /16 0x6D0000B4=0x0032
-setmem /16 0x6D0000BC=0x0000
-setmem /32 0x6D0000C4=0xBA9DC4C6
-setmem /32 0x6D0000C8=0x00012522
-setmem /32 0x6D0000D4=0x0004E201
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc
deleted file mode 100644
index 33e3eacac45d..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_load_symbols.inc
+++ /dev/null
@@ -1,23 +0,0 @@ 
-//
-// Copyright (c) 2008 - 2009, Apple Inc. 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.
-//
-
-include 'ZZZZZZ/rvi_symbols_macros.inc'
-
-macro write_symbols_file("ZZZZZZ/rvi_symbols.tmp", 0x00000000, 0x10000000)
-
-host "bash -o igncr ZZZZZZ/rvi_convert_symbols.sh ZZZZZZ/rvi_symbols.tmp ZZZZZZ/rvi_symbols.inc"
-include 'ZZZZZZ/rvi_symbols.inc'
-load /NI /NP 'ZZZZZZ/rvi_dummy.axf' ;.constdata
-unload rvi_dummy.axf
-delfile rvi_dummy.axf
-
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc
deleted file mode 100755
index 0fc2c64b1a27..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_symbols_macros.inc
+++ /dev/null
@@ -1,194 +0,0 @@ 
-//
-// Copyright (c) 2008 - 2009, Apple Inc. 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.
-//
-
-define /R int compare_guid(guid1, guid2)
-    unsigned char *guid1;
-    unsigned char *guid2;
-{
-    return strncmp(guid1, guid2, 16);
-}
-.
-
-define /R unsigned char * find_system_table(mem_start, mem_size)
-    unsigned char *mem_start;
-    unsigned long mem_size;
-{
-    unsigned char *mem_ptr;
-
-    mem_ptr = mem_start + mem_size;
-
-    do
-    {
-        mem_ptr -= 0x400000; // 4 MB
-
-        if (strncmp(mem_ptr, "IBI SYST", 8) == 0)
-        {
-            return *(unsigned long *)(mem_ptr + 8); // EfiSystemTableBase
-        }
-
-    } while (mem_ptr > mem_start);
-
-    return 0;
-}
-.
-
-define /R unsigned char * find_debug_info_table_header(system_table)
-    unsigned char *system_table;
-{
-    unsigned long configuration_table_entries;
-    unsigned char *configuration_table;
-    unsigned long index;
-    unsigned char debug_table_guid[16];
-
-    // Fill in the debug table's guid
-    debug_table_guid[ 0] = 0x77;
-    debug_table_guid[ 1] = 0x2E;
-    debug_table_guid[ 2] = 0x15;
-    debug_table_guid[ 3] = 0x49;
-    debug_table_guid[ 4] = 0xDA;
-    debug_table_guid[ 5] = 0x1A;
-    debug_table_guid[ 6] = 0x64;
-    debug_table_guid[ 7] = 0x47;
-    debug_table_guid[ 8] = 0xB7;
-    debug_table_guid[ 9] = 0xA2;
-    debug_table_guid[10] = 0x7A;
-    debug_table_guid[11] = 0xFE;
-    debug_table_guid[12] = 0xFE;
-    debug_table_guid[13] = 0xD9;
-    debug_table_guid[14] = 0x5E;
-    debug_table_guid[15] = 0x8B;
-
-    configuration_table_entries = *(unsigned long *)(system_table + 64);
-    configuration_table         = *(unsigned long *)(system_table + 68);
-
-    for (index = 0; index < configuration_table_entries; index++)
-    {
-        if (compare_guid(configuration_table, debug_table_guid) == 0)
-        {
-            return *(unsigned long *)(configuration_table + 16);
-        }
-
-        configuration_table += 20;
-    }
-
-    return 0;
-}
-.
-
-define /R int valid_pe_header(header)
-        unsigned char *header;
-{
-    if ((header[0x00] == 'M') &&
-        (header[0x01] == 'Z') &&
-        (header[0x80] == 'P') &&
-        (header[0x81] == 'E'))
-    {
-        return 1;
-    }
-
-    return 0;
-}
-.
-
-define /R unsigned long pe_headersize(header)
-        unsigned char *header;
-{
-    unsigned long *size;
-
-    size = header + 0x00AC;
-
-    return *size;
-}
-.
-
-define /R unsigned char *pe_filename(header)
-        unsigned char *header;
-{
-    unsigned long *debugOffset;
-    unsigned char *stringOffset;
-
-    if (valid_pe_header(header))
-    {
-        debugOffset  = header + 0x0128;
-        stringOffset = header + *debugOffset + 0x002C;
-
-        return stringOffset;
-    }
-
-    return 0;
-}
-.
-
-define /R int char_is_valid(c)
-        unsigned char c;
-{
-    if (c >= 32 && c < 127)
-    	return 1;
-
-    return 0;
-}
-.
-
-define /R write_symbols_file(filename, mem_start, mem_size)
-    unsigned char *filename;
-    unsigned char *mem_start;
-    unsigned long mem_size;
-{
-    unsigned char *system_table;
-    unsigned char *debug_info_table_header;
-    unsigned char *debug_info_table;
-    unsigned long debug_info_table_size;
-    unsigned long index;
-    unsigned char *debug_image_info;
-    unsigned char *loaded_image_protocol;
-    unsigned char *image_base;
-    unsigned char *debug_filename;
-    unsigned long header_size;
-    int           status;
-
-    system_table = find_system_table(mem_start, mem_size);
-    if (system_table == 0)
-    {
-        return;
-    }
-
-    status = fopen(88, filename, "w");
-
-    debug_info_table_header = find_debug_info_table_header(system_table);
-
-    debug_info_table      = *(unsigned long *)(debug_info_table_header + 8);
-    debug_info_table_size = *(unsigned long *)(debug_info_table_header + 4);
-
-    for (index = 0; index < (debug_info_table_size * 4); index += 4)
-    {
-        debug_image_info = *(unsigned long *)(debug_info_table + index);
-
-        if (debug_image_info == 0)
-        {
-            break;
-        }
-
-        loaded_image_protocol = *(unsigned long *)(debug_image_info + 4);
-
-        image_base = *(unsigned long *)(loaded_image_protocol + 32);
-
-        debug_filename = pe_filename(image_base);
-        header_size    = pe_headersize(image_base);
-
-        $fprintf 88, "%s 0x%08x\n", debug_filename, image_base + header_size$;
-    }
-
-
-    fclose(88);
-}
-.
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc
deleted file mode 100755
index b00a1322d4aa..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/rvi_unload_symbols.inc
+++ /dev/null
@@ -1,118 +0,0 @@ 
-//
-// Copyright (c) 2008 - 2009, Apple Inc. 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.
-//
-
-error = continue
-
-unload
-
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-
-error = abort
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm
deleted file mode 100644
index 1bae1727633d..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols.cmm
+++ /dev/null
@@ -1,211 +0,0 @@ 
-//
-// Copyright (c) 2008 - 2009, Apple Inc. 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.
-//
-
-  ENTRY &ram_start &ram_size
-  
-  ;If system is running then stop the execution so we can load symbols.
-  break
-  
-  ;Reset all windows
-  WINPAGE.RESET
-  
-  ;Create AREA to display the symbols we are loading.
-  AREA.Reset
-  AREA.Create SYMBOL 300. 100.
-  AREA.View SYMBOL
-  AREA.Select SYMBOL
-  SYS.Option BE OFF
- 
-  ;Added based on suggestion from Lauterbach support.
-  MMU.TABLEWALK ON
-  MMU.ON
-
-  ;Load symbols.
-  GOSUB load_symbols &ram_start &ram_size
-
-  ;Open some windows and enable semihosting.
-  TOOLBAR ON
-  STATUSBAR ON
-  WINPAGE.RESET
-   
-  WINCLEAR
-  WINPOS 0.0 17.0 72. 13. 0. 0. W000
-  SYStem
-   
-  WINPOS 0.0 0.0 110. 55. 13. 1. W001
-  WINTABS 10. 10. 25. 62.
-  Data.List
-   
-  WINPAGE.SELECT P000
-
-  //Enable semihosting
-  System.Option.BigEndian OFF
-
-  tronchip.set swi on		// ARM9/10/11 variant
-
-  // configure and open semihosting channel
-  winpos 50% 50% 50% 50%
-  term.heapinfo 0 0x20000 0x30000 0x20000
-  term.method armswi
-  term.mode string
-  term.gate
-
-  WINPOS 115.0 0. 70. 35. 0. 1. W002
-  Var.Local %HEX
-  
-  WINPOS 115.10 45. 48. 9. 0. 0. W003
-  Register
-    
-  END
-
-find_system_table:
-  ENTRY &mem_start &mem_size
-  &mem_ptr=&mem_start+&mem_size
-  RPT    
-  (
-    &mem_ptr=&mem_ptr-0x400000  // 4 MB
-    &word1=Data.LONG(D:&mem_ptr)
-    &word2=Data.LONG(D:&mem_ptr+0x04)
-    IF &word1==0x20494249
-    (
-      IF &word2==0x54535953
-      (
-        &result=Data.LONG(D:&mem_ptr+0x08)
-        RETURN &result
-      )
-    )
-  )
-  WHILE &mem_ptr>&mem_start
-  &result=0
-  RETURN &result
-
-compare_guid:
-  ENTRY &guid
-  IF Data.LONG(D:&guid)==0x49152E77
-  (
-    IF Data.LONG(D:&guid+0x04)==0x47641ADA
-    (
-      IF Data.LONG(D:&guid+0x08)==0xFE7AA2B7
-      (
-        IF Data.LONG(D:&guid+0x0C)==0x8B5ED9FE
-        (
-          RETURN 0
-        )
-      )
-    )
-  )
-  RETURN 1  
-
-find_debug_info_table_header:
-  ENTRY &system_table
-  &config_table_entries=Data.LONG(D:&system_table+0x40)
-  &config_table_pointer=Data.LONG(D:&system_table+0x44)
-  RPT &config_table_entries
-  (
-    GOSUB compare_guid &config_table_pointer
-    ENTRY &result
-    IF &result==0
-    (
-      &result=Data.LONG(D:&config_table_pointer+0x10)
-      RETURN &result
-    )  
-    &config_table_pointer=&config_table_pointer+0x14
-  )
-  RETURN 0;
-
-valid_pe_header:
-  ENTRY &header
-  IF Data.BYTE(D:&header+0x00)==0x4D
-  (
-    IF Data.BYTE(D:&header+0x01)==0x5A
-    (
-      IF Data.BYTE(D:&header+0x80)==0x50
-      (
-        IF Data.BYTE(D:&header+0x81)==0x45
-        (
-          RETURN 1
-        )
-      )
-    )
-  )
-  RETURN 0
-
-get_file_string:
-  ENTRY &stringOffset
-
-  local &string
-
-  &more_string=data.string(d:&stringOffset)
-
-  if (string.len("&more_string")>=128.)
-  (
-    &string="&string"+"&more_string"
-    &stringOffset=&stringOffset+string.len("&more_string")
-
-    //Get remaining file string
-    GOSUB get_file_string &stringOffset
-    ENTRY &more_string
-    &string="&string"+"&more_string"
-  )
-  else
-  (
-    &string="&string"+"&more_string"
-    &more_string=""
-  )
-  RETURN &string
- 
-load_symbol_file:
-  ENTRY &header &load_address
-  GOSUB valid_pe_header &header
-  ENTRY &result
- 
-  IF &result==1
-  (
-    &debugOffset=Data.LONG(D:&header+0x0128)
-    &stringOffset=&header+&debugOffset+0x002C
-    
-    GOSUB get_file_string &stringOffset
-    ENTRY &filestring
-        
-    PRINT "&filestring 0x" &load_address
-    TDIAG Data.load.elf &filestring &load_address /nocode /noclear
-  )
-  RETURN
-
-pe_headersize:
-  ENTRY &header;
-  RETURN Data.LONG(D:&header+0x00AC)
-
-load_symbols:
-  ENTRY &mem_start &mem_size
-  GOSUB find_system_table &mem_start &mem_size
-  ENTRY &system_table
-  GOSUB find_debug_info_table_header &system_table
-  ENTRY &debug_info_table_header
-  &debug_info_table=Data.LONG(D:&debug_info_table_header+0x08)
-  &debug_info_table_size=Data.LONG(D:&debug_info_table_header+0x04)
-  &index=0
-  RPT &debug_info_table_size
-  (
-    &debug_image_info=Data.LONG(D:&debug_info_table+&index)
-    IF &debug_image_info==0
-      RETURN        
-    &loaded_image_protocol=Data.LONG(D:&debug_image_info+0x04);
-    &image_base=Data.LONG(D:&loaded_image_protocol+0x20);
-    GOSUB pe_headersize &image_base
-    ENTRY &header_size
-    &image_load_address=&image_base+&header_size
-    GOSUB load_symbol_file &image_base &image_load_address
-    &index=&index+0x4
-  )
-    
-  RETURN
diff --git a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm b/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm
deleted file mode 100644
index db9ff4e966a3..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts/trace32_load_symbols_cygwin.cmm
+++ /dev/null
@@ -1,188 +0,0 @@ 
-//
-// Copyright (c) 2008 - 2009, Apple Inc. 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.
-//
-
-  ENTRY &ram_start &ram_size
-
-  ;If system is running then stop the execution so we can load symbols.
-  break
-  
-  ;Reset all windows
-  WINPAGE.RESET
-  
-  AREA.Reset
-  AREA.Create SYMBOL 300. 100.
-  AREA.View SYMBOL
-  AREA.Select SYMBOL
-  SYS.Option BE OFF
- 
-  ; Added based on suggestion from Lauterbach support.
-  MMU.TABLEWALK ON
-  MMU.ON
-
-  GOSUB load_symbols &ram_start &ram_size
-
-  ;Open some windows.
-  WINPOS 83.125 29.063 48. 9. 0. 0. W003
-  Register
-
-  WINPOS 83.25 10. 48. 9. 0. 1. W002
-  Var.Local
-  
-  END
-
-find_system_table:
-  ENTRY &mem_start &mem_size
-  &mem_ptr=&mem_start+&mem_size
-  RPT    
-  (
-    &mem_ptr=&mem_ptr-0x400000  // 4 MB
-    &word1=Data.LONG(D:&mem_ptr)
-    &word2=Data.LONG(D:&mem_ptr+0x04)
-    IF &word1==0x20494249
-    (
-      IF &word2==0x54535953
-      (
-        &result=Data.LONG(D:&mem_ptr+0x08)
-        RETURN &result
-      )
-    )
-  )
-  WHILE &mem_ptr>&mem_start
-  &result=0
-  RETURN &result
-
-compare_guid:
-  ENTRY &guid
-  IF Data.LONG(D:&guid)==0x49152E77
-  (
-    IF Data.LONG(D:&guid+0x04)==0x47641ADA
-    (
-      IF Data.LONG(D:&guid+0x08)==0xFE7AA2B7
-      (
-        IF Data.LONG(D:&guid+0x0C)==0x8B5ED9FE
-        (
-          RETURN 0
-        )
-      )
-    )
-  )
-  RETURN 1  
-
-find_debug_info_table_header:
-  ENTRY &system_table
-  &config_table_entries=Data.LONG(D:&system_table+0x40)
-  &config_table_pointer=Data.LONG(D:&system_table+0x44)
-  RPT &config_table_entries
-  (
-    GOSUB compare_guid &config_table_pointer
-    ENTRY &result
-    IF &result==0
-    (
-      &result=Data.LONG(D:&config_table_pointer+0x10)
-      RETURN &result
-    )  
-    &config_table_pointer=&config_table_pointer+0x14
-  )
-  RETURN 0;
-
-valid_pe_header:
-  ENTRY &header
-  IF Data.BYTE(D:&header+0x00)==0x4D
-  (
-    IF Data.BYTE(D:&header+0x01)==0x5A
-    (
-      IF Data.BYTE(D:&header+0x80)==0x50
-      (
-        IF Data.BYTE(D:&header+0x81)==0x45
-        (
-          RETURN 1
-        )
-      )
-    )
-  )
-  RETURN 0
-
-get_file_string:
-  ENTRY &stringOffset
-
-  local &string
-  
-  &more_string=data.string(d:&stringOffset)
-
-  if (string.len("&more_string")>=128.)
-  (
-    &string="&string"+"&more_string"
-    &stringOffset=&stringOffset+string.len("&more_string")
-
-    //Get remaining file string
-    GOSUB get_file_string &stringOffset
-    ENTRY &more_string
-    &string="&string"+"&more_string"
-  )
-  else
-  (
-    &string="&string"+"&more_string"
-    &more_string=""
-  )
-  RETURN &string
- 
-load_symbol_file:
-  ENTRY &header &load_address
-  GOSUB valid_pe_header &header
-  ENTRY &result
- 
-  IF &result==1
-  (
-    &debugOffset=Data.LONG(D:&header+0x0128)
-    &stringOffset=&header+&debugOffset+0x002C
-    
-    &stringOffset=&stringOffset+11.
-
-    GOSUB get_file_string &stringOffset
-    ENTRY &filestring
-  
-    &filestring="c:"+"&filestring"
-
-    PRINT "&filestring 0x" &load_address
-    Data.load.elf &filestring &load_address /nocode /noclear
-  )
-  RETURN
-
-pe_headersize:
-  ENTRY &header;
-  RETURN Data.LONG(D:&header+0x00AC)
-
-load_symbols:
-  ENTRY &mem_start &mem_size
-  GOSUB find_system_table &mem_start &mem_size
-  ENTRY &system_table
-  GOSUB find_debug_info_table_header &system_table
-  ENTRY &debug_info_table_header
-  &debug_info_table=Data.LONG(D:&debug_info_table_header+0x08)
-  &debug_info_table_size=Data.LONG(D:&debug_info_table_header+0x04)
-  &index=0
-  RPT &debug_info_table_size
-  (
-    &debug_image_info=Data.LONG(D:&debug_info_table+&index)
-    IF &debug_image_info==0
-      RETURN        
-    &loaded_image_protocol=Data.LONG(D:&debug_image_info+0x04);
-    &image_base=Data.LONG(D:&loaded_image_protocol+0x20);
-    GOSUB pe_headersize &image_base
-    ENTRY &header_size
-    &image_load_address=&image_base+&header_size
-    GOSUB load_symbol_file &image_base &image_load_address
-    &index=&index+0x4
-  )
-    
-  RETURN
-  
\ No newline at end of file
diff --git a/Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h b/Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h
deleted file mode 100755
index f9955b03752e..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Include/BeagleBoard.h
+++ /dev/null
@@ -1,179 +0,0 @@ 
-/** @file
-*  Header defining the BeagleBoard constants (Base addresses, sizes, flags)
-*
-*  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.
-*
-**/
-
-#ifndef __BEAGLEBOARD_PLATFORM_H__
-#define __BEAGLEBOARD_PLATFORM_H__
-
-// DDR attributes
-#define DDR_ATTRIBUTES_CACHED                ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK
-#define DDR_ATTRIBUTES_UNCACHED              ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED
-
-// SoC registers. L3 interconnects
-#define SOC_REGISTERS_L3_PHYSICAL_BASE       0x68000000
-#define SOC_REGISTERS_L3_PHYSICAL_LENGTH     0x08000000
-#define SOC_REGISTERS_L3_ATTRIBUTES          ARM_MEMORY_REGION_ATTRIBUTE_DEVICE
-
-// SoC registers. L4 interconnects
-#define SOC_REGISTERS_L4_PHYSICAL_BASE       0x48000000
-#define SOC_REGISTERS_L4_PHYSICAL_LENGTH     0x08000000
-#define SOC_REGISTERS_L4_ATTRIBUTES          ARM_MEMORY_REGION_ATTRIBUTE_DEVICE
-
-
-#if 0
-/*******************************************
-// Platform Memory Map
-*******************************************/
-
-// Can be NOR, DOC, DRAM, SRAM
-#define ARM_EB_REMAP_BASE                     0x00000000
-#define ARM_EB_REMAP_SZ                       0x04000000
-
-// Motherboard Peripheral and On-chip peripheral
-#define ARM_EB_SMB_MB_ON_CHIP_PERIPH_BASE     0x10000000
-#define ARM_EB_SMB_MB_ON_CHIP_PERIPH_SZ       0x00100000
-#define ARM_EB_BOARD_PERIPH_BASE              0x10000000
-//#define ARM_EB_CHIP_PERIPH_BASE             0x10020000
-
-// SMC
-#define ARM_EB_SMC_BASE                       0x40000000
-#define ARM_EB_SMC_SZ                         0x20000000
-
-// NOR Flash 1
-#define ARM_EB_SMB_NOR_BASE                   0x40000000
-#define ARM_EB_SMB_NOR_SZ                     0x04000000 /* 64 MB */
-// DOC Flash
-#define ARM_EB_SMB_DOC_BASE                   0x44000000
-#define ARM_EB_SMB_DOC_SZ                     0x04000000 /* 64 MB */
-// SRAM
-#define ARM_EB_SMB_SRAM_BASE                  0x48000000
-#define ARM_EB_SMB_SRAM_SZ                    0x02000000 /* 32 MB */
-// USB, Ethernet, VRAM
-#define ARM_EB_SMB_PERIPH_BASE                0x4E000000
-//#define ARM_EB_SMB_PERIPH_VRAM              0x4C000000
-#define ARM_EB_SMB_PERIPH_SZ                  0x02000000 /* 32 MB */
-
-// DRAM
-#define ARM_EB_DRAM_BASE                      0x70000000
-#define ARM_EB_DRAM_SZ                        0x10000000
-
-// Logic Tile
-#define ARM_EB_LOGIC_TILE_BASE                0xC0000000
-#define ARM_EB_LOGIC_TILE_SZ                  0x40000000
-
-/*******************************************
-// Motherboard peripherals
-*******************************************/
-
-// Define MotherBoard SYS flags offsets (from ARM_EB_BOARD_PERIPH_BASE)
-#define ARM_EB_SYS_FLAGS_REG                  (ARM_EB_BOARD_PERIPH_BASE + 0x00030)
-#define ARM_EB_SYS_FLAGS_SET_REG              (ARM_EB_BOARD_PERIPH_BASE + 0x00030)
-#define ARM_EB_SYS_FLAGS_CLR_REG              (ARM_EB_BOARD_PERIPH_BASE + 0x00034)
-#define ARM_EB_SYS_FLAGS_NV_REG               (ARM_EB_BOARD_PERIPH_BASE + 0x00038)
-#define ARM_EB_SYS_FLAGS_NV_SET_REG           (ARM_EB_BOARD_PERIPH_BASE + 0x00038)
-#define ARM_EB_SYS_FLAGS_NV_CLR_REG           (ARM_EB_BOARD_PERIPH_BASE + 0x0003C)
-#define ARM_EB_SYS_CLCD                       (ARM_EB_BOARD_PERIPH_BASE + 0x00050)
-#define ARM_EB_SYS_PROCID0_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x00084)
-#define ARM_EB_SYS_PROCID1_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x00088)
-#define ARM_EB_SYS_CFGDATA_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x000A0)
-#define ARM_EB_SYS_CFGCTRL_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x000A4)
-#define ARM_EB_SYS_CFGSTAT_REG                (ARM_EB_BOARD_PERIPH_BASE + 0x000A8)
-
-// SP810 Controller
-#define SP810_CTRL_BASE                       (ARM_EB_BOARD_PERIPH_BASE + 0x01000)
-
-// SYSTRCL Register
-#define ARM_EB_SYSCTRL                        0x10001000
-
-// Uart0
-#define PL011_CONSOLE_UART_BASE               (ARM_EB_BOARD_PERIPH_BASE + 0x09000)
-#define PL011_CONSOLE_UART_SPEED              115200
-
-// SP804 Timer Bases
-#define SP804_TIMER0_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x11000)
-#define SP804_TIMER1_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x11020)
-#define SP804_TIMER2_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x12000)
-#define SP804_TIMER3_BASE                     (ARM_EB_BOARD_PERIPH_BASE + 0x12020)
-
-// PL301 RTC
-#define PL031_RTC_BASE                        (ARM_EB_BOARD_PERIPH_BASE + 0x17000)
-
-// Dynamic Memory Controller Base
-#define ARM_EB_DMC_BASE                       0x10018000
-
-// Static Memory Controller Base
-#define ARM_EB_SMC_CTRL_BASE                  0x10080000
-
-#define PL111_CLCD_BASE                       0x10020000
-//TODO: FIXME ... Reserved the memory in UEFI !!! Otherwise risk of corruption
-#define PL111_CLCD_VRAM_BASE                  0x78000000
-
-#define ARM_EB_SYS_OSCCLK4                    0x1000001C
-
-
-/*// System Configuration Controller register Base addresses
-//#define ARM_EB_SYS_CFG_CTRL_BASE                0x100E2000
-#define ARM_EB_SYS_CFGRW0_REG                   0x100E2000
-#define ARM_EB_SYS_CFGRW1_REG                   0x100E2004
-#define ARM_EB_SYS_CFGRW2_REG                   0x100E2008
-
-#define ARM_EB_CFGRW1_REMAP_NOR0                0
-#define ARM_EB_CFGRW1_REMAP_NOR1                (1 << 28)
-#define ARM_EB_CFGRW1_REMAP_EXT_AXI             (1 << 29)
-#define ARM_EB_CFGRW1_REMAP_DRAM                (1 << 30)
-
-// PL301 Fast AXI Base Address
-#define ARM_EB_FAXI_BASE                        0x100E9000
-
-// L2x0 Cache Controller Base Address
-//#define ARM_EB_L2x0_CTLR_BASE                   0x1E00A000*/
-
-
-// PL031 RTC - Other settings
-#define PL031_PPM_ACCURACY                      300000000
-
-/*******************************************
-// Interrupt Map
-*******************************************/
-
-// Timer Interrupts
-#define TIMER01_INTERRUPT_NUM                34
-#define TIMER23_INTERRUPT_NUM                35
-
-
-/*******************************************
-// EFI Memory Map in Permanent Memory (DRAM)
-*******************************************/
-
-// This region is allocated at the bottom of the DRAM. It will be used
-// for fixed address allocations such as Vector Table
-#define ARM_EB_EFI_FIX_ADDRESS_REGION_SZ        SIZE_8MB
-
-// This region is the memory declared to PEI as permanent memory for PEI
-// and DXE. EFI stacks and heaps will be declared in this region.
-#define ARM_EB_EFI_MEMORY_REGION_SZ             0x1000000
-#endif
-
-typedef enum {
-  REVISION_XM,
-  REVISION_UNKNOWN0,
-  REVISION_UNKNOWN1,
-  REVISION_UNKNOWN2,
-  REVISION_UNKNOWN3,
-  REVISION_C4,
-  REVISION_C123,
-  REVISION_AB,
-} BEAGLEBOARD_REVISION;
-
-#endif
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c
deleted file mode 100755
index 3b0244004853..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoard.c
+++ /dev/null
@@ -1,135 +0,0 @@ 
-/** @file
-*
-*  Copyright (c) 2011-2012, 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 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
-
-**/
-RETURN_STATUS
-ArmPlatformInitialize (
-  IN  UINTN                     MpId
-  )
-{
-  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 );
-  ArmDataSynchronizationBarrier ();
-
-  // Clear IRQs
-  MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWIRQAGR);
-  ArmDataSynchronizationBarrier ();
-
-  return RETURN_SUCCESS;
-}
-
-/**
-  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
-}
-
-VOID
-ArmPlatformGetPlatformPpiList (
-  OUT UINTN                   *PpiListSize,
-  OUT EFI_PEI_PPI_DESCRIPTOR  **PpiList
-  )
-{
-  *PpiListSize = 0;
-  *PpiList = NULL;
-}
-
-UINTN
-ArmPlatformGetCorePosition (
-  IN UINTN MpId
-  )
-{
-  return 1;
-}
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S
deleted file mode 100644
index 958f0029935c..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.S
+++ /dev/null
@@ -1,37 +0,0 @@ 
-#
-#  Copyright (c) 2012-2013, 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 <AsmMacroIoLib.h>
-
-//UINTN
-//ArmPlatformIsPrimaryCore (
-//  IN UINTN MpId
-//  );
-ASM_FUNC(ArmPlatformIsPrimaryCore)
-  // BeagleBoard has a single core. We must always return 1.
-  mov   r0, #1
-  bx    lr
-
-ASM_FUNC(ArmPlatformPeiBootAction)
-  bx    lr
-
-//UINTN
-//ArmPlatformGetPrimaryCoreMpId (
-//  VOID
-//  );
-ASM_FUNC(ArmPlatformGetPrimaryCoreMpId)
-  // The BeagleBoard is a uniprocessor platform. The MPIDR of primary core is
-  // always the MPIDR of the calling CPU.
-  b   ASM_PFX(ArmReadMpidr)
-
-ASM_FUNCTION_REMOVE_IF_UNREFERENCED
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm
deleted file mode 100644
index 20fa83f133e9..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardHelper.asm
+++ /dev/null
@@ -1,48 +0,0 @@ 
-//
-//  Copyright (c) 2012-2013, 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 AsmMacroIoLib.inc
-
-  EXPORT    ArmPlatformPeiBootAction
-  EXPORT    ArmPlatformIsPrimaryCore
-  EXPORT    ArmPlatformGetPrimaryCoreMpId
-
-  IMPORT    ArmReadMpidr
-
-  AREA BeagleBoardHelper, CODE, READONLY
-
-//UINTN
-//ArmPlatformIsPrimaryCore (
-//  IN UINTN MpId
-//  );
-ArmPlatformIsPrimaryCore FUNCTION
-  // BeagleBoard has a single core. We must always return 1.
-  mov   r0, #1
-  bx    lr
-  ENDFUNC
-
-ArmPlatformPeiBootAction FUNCTION
-  bx    lr
-  ENDFUNC
-
-//UINTN
-//ArmPlatformGetPrimaryCoreMpId (
-//  VOID
-//  );
-ArmPlatformGetPrimaryCoreMpId FUNCTION
-  // The BeagleBoard is a uniprocessor platform. The MPIDR of primary core is
-  // always the MPIDR of the calling CPU.
-  b     ArmReadMpidr
-  ENDFUNC
-
-  END
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf
deleted file mode 100755
index b6c76a196ea6..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardLib.inf
+++ /dev/null
@@ -1,54 +0,0 @@ 
-#/* @file
-#  Copyright (c) 2011-2013, 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.
-#
-#*/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardLib
-  FILE_GUID                      = 736343a0-1d96-11e0-aaaa-0002a5d5c51b
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = ArmPlatformLib
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  ArmPkg/ArmPkg.dec
-  ArmPlatformPkg/ArmPlatformPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-  OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dec
-
-[LibraryClasses]
-  IoLib
-  ArmLib
-  MemoryAllocationLib
-
-[Sources.common]
-  BeagleBoardHelper.asm  | RVCT
-  BeagleBoardHelper.S    | GCC
-  BeagleBoard.c
-  BeagleBoardMem.c
-  PadConfiguration.c
-  Clock.c
-  BeagleBoardHelper.S    | GCC
-  BeagleBoardHelper.asm  | RVCT
-
-[FeaturePcd]
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable
-
-[FixedPcd]
-  gArmTokenSpaceGuid.PcdFdBaseAddress
-  gArmTokenSpaceGuid.PcdFdSize
-
-  gArmTokenSpaceGuid.PcdSystemMemoryBase
-  gArmTokenSpaceGuid.PcdSystemMemorySize
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c
deleted file mode 100755
index b77b06993061..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/BeagleBoardMem.c
+++ /dev/null
@@ -1,84 +0,0 @@ 
-/** @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/ArmPlatformLib.h>
-#include <Library/DebugLib.h>
-#include <Library/PcdLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/IoLib.h>
-
-#include <BeagleBoard.h>
-
-#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          4
-
-/**
-  Return the Virtual Memory Map of your platform
-
-  This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU on your platform.
-
-  @param[out]   VirtualMemoryMap    Array of ARM_MEMORY_REGION_DESCRIPTOR describing a Physical-to-
-                                    Virtual Memory mapping. This array must be ended by a zero-filled
-                                    entry
-
-**/
-VOID
-ArmPlatformGetVirtualMemoryMap (
-  IN ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap
-  )
-{
-  ARM_MEMORY_REGION_ATTRIBUTES  CacheAttributes;
-  UINTN                         Index = 0;
-  ARM_MEMORY_REGION_DESCRIPTOR  *VirtualMemoryTable;
-
-  ASSERT(VirtualMemoryMap != NULL);
-
-  VirtualMemoryTable = (ARM_MEMORY_REGION_DESCRIPTOR*)AllocatePages(EFI_SIZE_TO_PAGES (sizeof(ARM_MEMORY_REGION_DESCRIPTOR) * MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS));
-  if (VirtualMemoryTable == NULL) {
-    return;
-  }
-
-  if (FeaturePcdGet(PcdCacheEnable) == TRUE) {
-    CacheAttributes = DDR_ATTRIBUTES_CACHED;
-  } else {
-    CacheAttributes = DDR_ATTRIBUTES_UNCACHED;
-  }
-
-  // ReMap (Either NOR Flash or DRAM)
-  VirtualMemoryTable[Index].PhysicalBase = PcdGet64 (PcdSystemMemoryBase);
-  VirtualMemoryTable[Index].VirtualBase  = PcdGet64 (PcdSystemMemoryBase);
-  VirtualMemoryTable[Index].Length       = PcdGet64 (PcdSystemMemorySize);
-  VirtualMemoryTable[Index].Attributes   = CacheAttributes;
-
-  // SOC Registers. L3 interconnects
-  VirtualMemoryTable[++Index].PhysicalBase = SOC_REGISTERS_L3_PHYSICAL_BASE;
-  VirtualMemoryTable[Index].VirtualBase  = SOC_REGISTERS_L3_PHYSICAL_BASE;
-  VirtualMemoryTable[Index].Length       = SOC_REGISTERS_L3_PHYSICAL_LENGTH;
-  VirtualMemoryTable[Index].Attributes   = SOC_REGISTERS_L3_ATTRIBUTES;
-
-  // SOC Registers. L4 interconnects
-  VirtualMemoryTable[++Index].PhysicalBase = SOC_REGISTERS_L4_PHYSICAL_BASE;
-  VirtualMemoryTable[Index].VirtualBase  = SOC_REGISTERS_L4_PHYSICAL_BASE;
-  VirtualMemoryTable[Index].Length       = SOC_REGISTERS_L4_PHYSICAL_LENGTH;
-  VirtualMemoryTable[Index].Attributes   = SOC_REGISTERS_L4_ATTRIBUTES;
-
-  // End of Table
-  VirtualMemoryTable[++Index].PhysicalBase = 0;
-  VirtualMemoryTable[Index].VirtualBase  = 0;
-  VirtualMemoryTable[Index].Length       = 0;
-  VirtualMemoryTable[Index].Attributes   = (ARM_MEMORY_REGION_ATTRIBUTES)0;
-
-  ASSERT((Index + 1) == MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS);
-
-  *VirtualMemoryMap = VirtualMemoryTable;
-}
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c
deleted file mode 100755
index 6ca48e0c9fcb..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/Clock.c
+++ /dev/null
@@ -1,69 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Library/IoLib.h>
-#include <Library/DebugLib.h>
-
-#include <Omap3530/Omap3530.h>
-
-VOID
-ClockInit (
-  VOID
-  )
-{
-  //DPLL1 - DPLL4 are configured part of Configuration header which OMAP3 ROM parses.
-
-  // Enable PLL5 and set to 120 MHz as a reference clock.
-  MmioWrite32 (CM_CLKSEL4_PLL, CM_CLKSEL_PLL_MULT(120) | CM_CLKSEL_PLL_DIV(13));
-  MmioWrite32 (CM_CLKSEL5_PLL, CM_CLKSEL_DIV_120M(1));
-  MmioWrite32 (CM_CLKEN2_PLL, CM_CLKEN_FREQSEL_075_100 | CM_CLKEN_ENABLE);
-
-  // Turn on functional & interface clocks to the USBHOST power domain
-  MmioOr32(CM_FCLKEN_USBHOST, CM_FCLKEN_USBHOST_EN_USBHOST2_ENABLE
-                              | CM_FCLKEN_USBHOST_EN_USBHOST1_ENABLE);
-  MmioOr32(CM_ICLKEN_USBHOST, CM_ICLKEN_USBHOST_EN_USBHOST_ENABLE);
-
-  // Turn on functional & interface clocks to the USBTLL block.
-  MmioOr32(CM_FCLKEN3_CORE, CM_FCLKEN3_CORE_EN_USBTLL_ENABLE);
-  MmioOr32(CM_ICLKEN3_CORE, CM_ICLKEN3_CORE_EN_USBTLL_ENABLE);
-
-  // Turn on functional & interface clocks to MMC1 and I2C1 modules.
-  MmioOr32(CM_FCLKEN1_CORE, CM_FCLKEN1_CORE_EN_MMC1_ENABLE
-                            | CM_FCLKEN1_CORE_EN_I2C1_ENABLE);
-  MmioOr32(CM_ICLKEN1_CORE, CM_ICLKEN1_CORE_EN_MMC1_ENABLE
-                            | CM_ICLKEN1_CORE_EN_I2C1_ENABLE);
-
-  // Turn on functional & interface clocks to various Peripherals.
-  MmioOr32(CM_FCLKEN_PER, CM_FCLKEN_PER_EN_UART3_ENABLE
-                          | CM_FCLKEN_PER_EN_GPT4_ENABLE
-                          | CM_FCLKEN_PER_EN_GPIO2_ENABLE
-                          | CM_FCLKEN_PER_EN_GPIO3_ENABLE
-                          | CM_FCLKEN_PER_EN_GPIO4_ENABLE
-                          | CM_FCLKEN_PER_EN_GPIO5_ENABLE
-                          | CM_FCLKEN_PER_EN_GPIO6_ENABLE);
-  MmioOr32(CM_ICLKEN_PER, CM_ICLKEN_PER_EN_UART3_ENABLE
-                          | CM_ICLKEN_PER_EN_GPT3_ENABLE
-                          | CM_ICLKEN_PER_EN_GPT4_ENABLE
-                          | CM_ICLKEN_PER_EN_GPIO2_ENABLE
-                          | CM_ICLKEN_PER_EN_GPIO3_ENABLE
-                          | CM_ICLKEN_PER_EN_GPIO4_ENABLE
-                          | CM_ICLKEN_PER_EN_GPIO5_ENABLE
-                          | CM_ICLKEN_PER_EN_GPIO6_ENABLE);
-
-  // Turn on functional & inteface clocks to various wakeup modules.
-  MmioOr32(CM_FCLKEN_WKUP, CM_FCLKEN_WKUP_EN_GPIO1_ENABLE
-                           | CM_FCLKEN_WKUP_EN_WDT2_ENABLE);
-  MmioOr32(CM_ICLKEN_WKUP, CM_ICLKEN_WKUP_EN_GPIO1_ENABLE
-                           | CM_ICLKEN_WKUP_EN_WDT2_ENABLE);
-}
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c b/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c
deleted file mode 100755
index e6f7cc55ff00..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/BeagleBoardLib/PadConfiguration.c
+++ /dev/null
@@ -1,322 +0,0 @@ 
-/** @file
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <PiPei.h>
-#include <Library/IoLib.h>
-#include <Library/DebugLib.h>
-#include <Omap3530/Omap3530.h>
-#include <BeagleBoard.h>
-
-#define NUM_PINS_SHARED 232
-#define NUM_PINS_ABC 6
-#define NUM_PINS_XM 12
-
-PAD_CONFIGURATION PadConfigurationTableShared[] = {
-  //Pin,           MuxMode,    PullConfig,                      InputEnable
-  { SDRC_D0,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D1,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D2,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D3,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D4,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D5,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D6,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D7,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D8,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D9,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D10,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D11,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D12,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D13,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D14,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D15,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D16,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D17,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D18,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D19,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D20,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D21,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D22,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D23,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D24,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D25,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D26,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D27,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D28,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D29,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D30,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_D31,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_CLK,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_DQS0,     MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_CKE0,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { SDRC_CKE1,     MUXMODE7,   PULL_DISABLED,                INPUT  },
-  { SDRC_DQS1,     MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_DQS2,     MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { SDRC_DQS3,     MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_A1,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A2,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A3,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A4,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A5,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A6,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A7,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A8,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A9,       MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_A10,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_D0,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D1,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D2,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D3,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D4,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D5,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D6,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D7,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D8,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D9,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D10,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D11,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D12,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D13,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D14,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_D15,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_NCS0,     MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_NCS1,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
-  { GPMC_NCS2,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
-  { GPMC_NCS3,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
-  { GPMC_NCS4,     MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
-  { GPMC_NCS5,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_NCS6,     MUXMODE1,   PULL_DISABLED,                INPUT  },
-  { GPMC_NCS7,     MUXMODE1,   PULL_UP_SELECTED,             INPUT  },
-  { GPMC_CLK,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_NADV_ALE, MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_NOE,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_NWE,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_NBE0_CLE, MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { GPMC_NBE1,     MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_NWP,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { GPMC_WAIT0,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { GPMC_WAIT1,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { GPMC_WAIT2,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { GPMC_WAIT3,    MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { DSS_PCLK,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_HSYNC,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_PSYNC,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_ACBIAS,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA0,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA1,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA2,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA3,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA4,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA5,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA6,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA7,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA8,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA9,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA10,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA11,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA12,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA13,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA14,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA15,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA16,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA17,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { CAM_HS,        MUXMODE0,   PULL_UP_SELECTED,             INPUT },
-  { CAM_VS,        MUXMODE0,   PULL_UP_SELECTED,             INPUT },
-  { CAM_XCLKA,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { CAM_PCLK,      MUXMODE0,   PULL_UP_SELECTED,             INPUT },
-  { CAM_FLD,       MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { CAM_D0,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D1,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D2,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D3,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D4,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D5,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D6,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D7,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D8,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D9,        MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D10,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_D11,       MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CAM_XCLKB,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { CAM_WEN,       MUXMODE4,   PULL_DISABLED,                INPUT  },
-  { CAM_STROBE,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { CSI2_DX0,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CSI2_DY0,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CSI2_DX1,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { CSI2_DY1,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { MCBSP2_FSX,    MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { MCBSP2_CLKX,   MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { MCBSP2_DR,     MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { MCBSP2_DX,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { MMC1_CLK,      MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
-  { MMC1_CMD,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT0,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT1,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT2,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT3,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT4,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT5,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT6,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC1_DAT7,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_CLK,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_CMD,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT0,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT1,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT2,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT3,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT4,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT5,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT6,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MMC2_DAT7,     MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MCBSP3_DX,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCBSP3_DR,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCBSP3_CLKX,   MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCBSP3_FSX,    MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { UART2_CTS,     MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { UART2_RTS,     MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { UART2_TX,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { UART2_RX,      MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { UART1_TX,      MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { UART1_RTS,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { UART1_CTS,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { UART1_RX,      MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { MCBSP4_CLKX,   MUXMODE1,   PULL_DISABLED,                INPUT  },
-  { MCBSP4_DR,     MUXMODE1,   PULL_DISABLED,                INPUT  },
-  { MCBSP4_DX,     MUXMODE1,   PULL_DISABLED,                INPUT  },
-  { MCBSP4_FSX,    MUXMODE1,   PULL_DISABLED,                INPUT  },
-  { MCBSP1_CLKR,   MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCBSP1_FSR,    MUXMODE4,   PULL_UP_SELECTED,             OUTPUT },
-  { MCBSP1_DX,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCBSP1_DR,     MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCBSP1_CLKS,   MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { MCBSP1_FSX,    MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCBSP1_CLKX,   MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { UART3_CTS_RCTX,MUXMODE0,   PULL_UP_SELECTED,                 INPUT  },
-  { UART3_RTS_SD,  MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { UART3_RX_IRRX, MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { UART3_TX_IRTX, MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { HSUSB0_CLK,    MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_STP,    MUXMODE0,   PULL_UP_SELECTED,             OUTPUT },
-  { HSUSB0_DIR,    MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_NXT,    MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA0,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA1,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA2,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA3,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA4,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA5,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA6,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { HSUSB0_DATA7,  MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { I2C1_SCL,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { I2C1_SDA,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { I2C2_SCL,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { I2C2_SDA,      MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { I2C3_SCL,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { I2C3_SDA,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { HDQ_SIO,       MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCSPI1_CLK,    MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MCSPI1_SIMO,   MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { MCSPI1_SOMI,   MUXMODE0,   PULL_DISABLED,                INPUT  },
-  { MCSPI1_CS0,    MUXMODE0,   PULL_UP_SELECTED,                 INPUT  },
-  { MCSPI1_CS1,    MUXMODE0,   PULL_UP_SELECTED,                 OUTPUT },
-  { MCSPI1_CS2,    MUXMODE4,   PULL_DISABLED,                OUTPUT },
-  { MCSPI1_CS3,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { MCSPI2_CLK,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { MCSPI2_SIMO,   MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { MCSPI2_SOMI,   MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { MCSPI2_CS0,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { MCSPI2_CS1,    MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { SYS_NIRQ,      MUXMODE0,   PULL_UP_SELECTED,             INPUT  },
-  { SYS_CLKOUT2,   MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_CLK,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
-  { ETK_CTL,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
-  { ETK_D0,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D1,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D2,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D3,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D4,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D5,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D6,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D7,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D8,        MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D9,        MUXMODE4,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D10,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
-  { ETK_D11,       MUXMODE3,   PULL_UP_SELECTED,             OUTPUT },
-  { ETK_D12,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D13,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D14,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  },
-  { ETK_D15,       MUXMODE3,   PULL_UP_SELECTED,             INPUT  }
-};
-
-PAD_CONFIGURATION PadConfigurationTableAbc[] = {
-  { DSS_DATA18,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA19,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA20,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA21,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA22,    MUXMODE0,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA23,    MUXMODE0,   PULL_DISABLED,                OUTPUT }
-};
-
-PAD_CONFIGURATION PadConfigurationTableXm[] = {
-  { DSS_DATA18,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA19,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA20,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA21,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA22,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { DSS_DATA23,    MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { SYS_BOOT0,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { SYS_BOOT1,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { SYS_BOOT3,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { SYS_BOOT4,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { SYS_BOOT5,     MUXMODE3,   PULL_DISABLED,                OUTPUT },
-  { SYS_BOOT6,     MUXMODE3,   PULL_DISABLED,                OUTPUT }
-};
-
-VOID
-PadConfiguration (
-  BEAGLEBOARD_REVISION Revision
-  )
-{
-  UINTN             Index;
-  UINT16            PadConfiguration;
-  PAD_CONFIGURATION *BoardConfiguration;
-  UINTN             NumPinsToConfigure;
-
-  for (Index = 0; Index < NUM_PINS_SHARED; Index++) {
-    // Set up Pad configuration for particular pin.
-    PadConfiguration =  (PadConfigurationTableShared[Index].MuxMode << MUXMODE_OFFSET);
-    PadConfiguration |= (PadConfigurationTableShared[Index].PullConfig << PULL_CONFIG_OFFSET);
-    PadConfiguration |= (PadConfigurationTableShared[Index].InputEnable << INPUTENABLE_OFFSET);
-
-    // Configure the pin with specific Pad configuration.
-    MmioWrite16(PadConfigurationTableShared[Index].Pin, PadConfiguration);
-  }
-
-  if (Revision == REVISION_XM) {
-    BoardConfiguration = PadConfigurationTableXm;
-    NumPinsToConfigure = NUM_PINS_XM;
-  } else {
-    BoardConfiguration = PadConfigurationTableAbc;
-    NumPinsToConfigure = NUM_PINS_ABC;
-  }
-
-  for (Index = 0; Index < NumPinsToConfigure; Index++) {
-    //Set up Pad configuration for particular pin.
-    PadConfiguration =  (BoardConfiguration[Index].MuxMode << MUXMODE_OFFSET);
-    PadConfiguration |= (BoardConfiguration[Index].PullConfig << PULL_CONFIG_OFFSET);
-    PadConfiguration |= (BoardConfiguration[Index].InputEnable << INPUTENABLE_OFFSET);
-
-    //Configure the pin with specific Pad configuration.
-    MmioWrite16(BoardConfiguration[Index].Pin, PadConfiguration);
-  }
-}
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c b/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c
deleted file mode 100644
index 46204a4386b6..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.c
+++ /dev/null
@@ -1,299 +0,0 @@ 
-/** @file
-  Add custom commands for BeagleBoard development.
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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.
-
-**/
-
-#include <PiDxe.h>
-#include <Library/ArmLib.h>
-#include <Library/CacheMaintenanceLib.h>
-#include <Library/EblCmdLib.h>
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/UefiLib.h>
-#include <Library/PcdLib.h>
-#include <Library/EfiFileLib.h>
-#include <Library/ArmDisassemblerLib.h>
-#include <Library/PeCoffGetEntryPointLib.h>
-#include <Library/PerformanceLib.h>
-#include <Library/TimerLib.h>
-
-#include <Guid/DebugImageInfoTable.h>
-
-#include <Protocol/DebugSupport.h>
-#include <Protocol/LoadedImage.h>
-
-/**
-  Simple arm disassembler via a library
-
-  Argv[0] - symboltable
-  Argv[1] - Optional quoted format string
-  Argv[2] - Optional flag
-
-  @param  Argc   Number of command arguments in Argv
-  @param  Argv   Array of strings that represent the parsed command line.
-                 Argv[0] is the command name
-
-  @return EFI_SUCCESS
-
-**/
-EFI_STATUS
-EblSymbolTable (
-  IN UINTN  Argc,
-  IN CHAR8  **Argv
-  )
-{
-  EFI_STATUS                        Status;
-  EFI_DEBUG_IMAGE_INFO_TABLE_HEADER *DebugImageTableHeader = NULL;
-  EFI_DEBUG_IMAGE_INFO              *DebugTable;
-  UINTN                             Entry;
-  CHAR8                             *Format;
-  CHAR8                             *Pdb;
-  UINT32                            PeCoffSizeOfHeaders;
-  UINT32                            ImageBase;
-  BOOLEAN                           Elf;
-
-  // Need to add lots of error checking on the passed in string
-  // Default string is for RealView debugger or gdb depending on toolchain used.
-  if (Argc > 1) {
-    Format = Argv[1];
-  } else {
-#if __GNUC__
-    // Assume gdb
-    Format = "add-symbol-file %a 0x%x";
-#else
-    // Default to RVCT
-    Format = "load /a /ni /np %a &0x%x";
-#endif
-  }
-  Elf = (Argc > 2) ? FALSE : TRUE;
-
-  Status = EfiGetSystemConfigurationTable (&gEfiDebugImageInfoTableGuid, (VOID **)&DebugImageTableHeader);
-  if (EFI_ERROR (Status)) {
-    return Status;
-  }
-
-  DebugTable = DebugImageTableHeader->EfiDebugImageInfoTable;
-  if (DebugTable == NULL) {
-    return EFI_SUCCESS;
-  }
-
-  for (Entry = 0; Entry < DebugImageTableHeader->TableSize; Entry++, DebugTable++) {
-    if (DebugTable->NormalImage != NULL) {
-      if ((DebugTable->NormalImage->ImageInfoType == EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL) && (DebugTable->NormalImage->LoadedImageProtocolInstance != NULL)) {
-        ImageBase = (UINT32)DebugTable->NormalImage->LoadedImageProtocolInstance->ImageBase;
-        PeCoffSizeOfHeaders = PeCoffGetSizeOfHeaders ((VOID *)(UINTN)ImageBase);
-        Pdb = PeCoffLoaderGetPdbPointer (DebugTable->NormalImage->LoadedImageProtocolInstance->ImageBase);
-        if (Pdb != NULL) {
-          if (Elf) {
-            // ELF and Mach-O images don't include the header so the linked address does not include header
-            ImageBase += PeCoffSizeOfHeaders;
-          }
-          AsciiPrint (Format, Pdb, ImageBase);
-          AsciiPrint ("\n");
-        } else {
-        }
-      }
-    }
-  }
-
-  return EFI_SUCCESS;
-}
-
-
-/**
-  Simple arm disassembler via a library
-
-  Argv[0] - disasm
-  Argv[1] - Address to start disassembling from
-  ARgv[2] - Number of instructions to disassembly (optional)
-
-  @param  Argc   Number of command arguments in Argv
-  @param  Argv   Array of strings that represent the parsed command line.
-                 Argv[0] is the command name
-
-  @return EFI_SUCCESS
-
-**/
-EFI_STATUS
-EblDisassembler (
-  IN UINTN  Argc,
-  IN CHAR8  **Argv
-  )
-{
-  UINT8   *Ptr, *CurrentAddress;
-  UINT32  Address;
-  UINT32  Count;
-  CHAR8   Buffer[80];
-  UINT32  ItBlock;
-
-  if (Argc < 2) {
-    return EFI_INVALID_PARAMETER;
-  }
-
-  Address = AsciiStrHexToUintn (Argv[1]);
-  Count   = (Argc > 2) ? (UINT32)AsciiStrHexToUintn (Argv[2]) : 20;
-
-  Ptr = (UINT8 *)(UINTN)Address;
-  ItBlock = 0;
-  do {
-    CurrentAddress = Ptr;
-    DisassembleInstruction (&Ptr, TRUE, TRUE, &ItBlock, Buffer, sizeof (Buffer));
-    AsciiPrint ("0x%08x: %a\n", CurrentAddress, Buffer);
-  } while (Count-- > 0);
-
-
-  return EFI_SUCCESS;
-}
-
-
-CHAR8 *
-ImageHandleToPdbFileName (
-  IN  EFI_HANDLE    Handle
-  )
-{
-  EFI_STATUS                  Status;
-  EFI_LOADED_IMAGE_PROTOCOL   *LoadedImage;
-  CHAR8                       *Pdb;
-  CHAR8                       *StripLeading;
-
-  Status = gBS->HandleProtocol (Handle, &gEfiLoadedImageProtocolGuid, (VOID **)&LoadedImage);
-  if (EFI_ERROR (Status)) {
-    return "";
-  }
-
-  Pdb = PeCoffLoaderGetPdbPointer (LoadedImage->ImageBase);
-  StripLeading = AsciiStrStr (Pdb, "\\ARM\\");
-  if (StripLeading == NULL) {
-    StripLeading = AsciiStrStr (Pdb, "/ARM/");
-    if (StripLeading == NULL) {
-      return Pdb;
-    }
-  }
-  // Hopefully we hacked off the unneeded part
-  return (StripLeading + 5);
-}
-
-
-CHAR8 *mTokenList[] = {
-  "SEC",
-  "PEI",
-  "DXE",
-  "BDS",
-  NULL
-};
-
-/**
-  Simple arm disassembler via a library
-
-  Argv[0] - disasm
-  Argv[1] - Address to start disassembling from
-  ARgv[2] - Number of instructions to disassembly (optional)
-
-  @param  Argc   Number of command arguments in Argv
-  @param  Argv   Array of strings that represent the parsed command line.
-                 Argv[0] is the command name
-
-  @return EFI_SUCCESS
-
-**/
-EFI_STATUS
-EblPerformance (
-  IN UINTN  Argc,
-  IN CHAR8  **Argv
-  )
-{
-  UINTN       Key;
-  CONST VOID  *Handle;
-  CONST CHAR8 *Token, *Module;
-  UINT64      Start, Stop, TimeStamp;
-  UINT64      Delta, TicksPerSecond, Milliseconds, Microseconds;
-  UINTN       Index;
-
-  TicksPerSecond = GetPerformanceCounterProperties (NULL, NULL);
-
-  Key       = 0;
-  do {
-    Key = GetPerformanceMeasurement (Key, (CONST VOID **)&Handle, &Token, &Module, &Start, &Stop);
-    if (Key != 0) {
-      if (AsciiStriCmp ("StartImage:", Token) == 0) {
-        if (Stop == 0) {
-          // The entry for EBL is still running so the stop time will be zero. Skip it
-          AsciiPrint ("   running     %a\n", ImageHandleToPdbFileName ((EFI_HANDLE)Handle));
-        } else {
-          Delta = Stop - Start;
-          Microseconds = DivU64x64Remainder (MultU64x32 (Delta, 1000000), TicksPerSecond, NULL);
-          AsciiPrint ("%10ld us  %a\n", Microseconds, ImageHandleToPdbFileName ((EFI_HANDLE)Handle));
-        }
-      }
-    }
-  } while (Key != 0);
-
-  AsciiPrint ("\n");
-
-  TimeStamp = 0;
-  Key       = 0;
-  do {
-    Key = GetPerformanceMeasurement (Key, (CONST VOID **)&Handle, &Token, &Module, &Start, &Stop);
-    if (Key != 0) {
-      for (Index = 0; mTokenList[Index] != NULL; Index++) {
-        if (AsciiStriCmp (mTokenList[Index], Token) == 0) {
-          Delta = Stop - Start;
-          TimeStamp += Delta;
-          Milliseconds = DivU64x64Remainder (MultU64x32 (Delta, 1000), TicksPerSecond, NULL);
-          AsciiPrint ("%6a %6ld ms\n", Token, Milliseconds);
-          break;
-        }
-      }
-    }
-  } while (Key != 0);
-
-  AsciiPrint ("Total Time = %ld ms\n\n", DivU64x64Remainder (MultU64x32 (TimeStamp, 1000), TicksPerSecond, NULL));
-
-  return EFI_SUCCESS;
-}
-
-
-GLOBAL_REMOVE_IF_UNREFERENCED const EBL_COMMAND_TABLE mLibCmdTemplate[] =
-{
-  {
-    "disasm address [count]",
-    " disassemble count instructions",
-    NULL,
-    EblDisassembler
-  },
-  {
-    "performance",
-    " Display boot performance info",
-    NULL,
-    EblPerformance
-  },
-  {
-    "symboltable [\"format string\"] [PECOFF]",
-    " show symbol table commands for debugger",
-    NULL,
-    EblSymbolTable
-  }
-};
-
-
-VOID
-EblInitializeExternalCmd (
-  VOID
-  )
-{
-  EblAddCommands (mLibCmdTemplate, sizeof (mLibCmdTemplate)/sizeof (EBL_COMMAND_TABLE));
-  return;
-}
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf
deleted file mode 100644
index a79448c0e95b..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/EblCmdLib/EblCmdLib.inf
+++ /dev/null
@@ -1,53 +0,0 @@ 
-#/** @file
-# Component description file for the entry point to a EFIDXE Drivers
-#
-# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification
-# Copyright (c) 2007 - 2007, Intel Corporation. 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.
-#
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardEblCmdLib
-  FILE_GUID                      = ea62bdc3-1063-425f-8851-98cb47f213a8
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = EblCmdLib|DXE_DRIVER UEFI_APPLICATION UEFI_DRIVER
-
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
-#
-
-[Sources.common]
-  EblCmdLib.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  MdeModulePkg/MdeModulePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  ArmPkg/ArmPkg.dec
-
-[LibraryClasses]
-  BaseLib
-  DebugLib
-  ArmDisassemblerLib
-  PerformanceLib
-  TimerLib
-
-[Protocols]
- gEfiDebugSupportProtocolGuid
- gEfiLoadedImageProtocolGuid
-
-[Guids]
- gEfiDebugImageInfoTableGuid
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c b/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c
deleted file mode 100644
index 82a2957dc97e..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.c
+++ /dev/null
@@ -1,103 +0,0 @@ 
-/** @file
-  Basic serial IO abstaction for GDB
-
-  Copyright (c) 2008 - 2009, Apple Inc. 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.
-
-**/
-
-#include <Uefi.h>
-#include <Library/GdbSerialLib.h>
-#include <Library/PcdLib.h>
-#include <Library/IoLib.h>
-#include <Library/DebugLib.h>
-#include <Library/OmapLib.h>
-#include <Omap3530/Omap3530.h>
-
-RETURN_STATUS
-EFIAPI
-GdbSerialLibConstructor (
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_SYSTEM_TABLE  *SystemTable
-  )
-{
-  return RETURN_SUCCESS;
-}
-
-RETURN_STATUS
-EFIAPI
-GdbSerialInit (
-  IN UINT64     BaudRate,
-  IN UINT8      Parity,
-  IN UINT8      DataBits,
-  IN UINT8      StopBits
-  )
-{
-  return RETURN_SUCCESS;
-}
-
-BOOLEAN
-EFIAPI
-GdbIsCharAvailable (
-  VOID
-  )
-{
-  UINT32 LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-
-  if ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_NOT_EMPTY) {
-    return TRUE;
-  } else {
-    return FALSE;
-  }
-}
-
-CHAR8
-EFIAPI
-GdbGetChar (
-  VOID
-  )
-{
-  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-  UINT32  RBR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_RBR_REG;
-  CHAR8   Char;
-
-  while ((MmioRead8(LSR) & UART_LSR_RX_FIFO_E_MASK) == UART_LSR_RX_FIFO_E_EMPTY);
-  Char = MmioRead8(RBR);
-
-  return Char;
-}
-
-VOID
-EFIAPI
-GdbPutChar (
-  IN  CHAR8   Char
-  )
-{
-  UINT32  LSR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_LSR_REG;
-  UINT32  THR = UartBase(PcdGet32(PcdOmap35xxConsoleUart)) + UART_THR_REG;
-
-  while ((MmioRead8(LSR) & UART_LSR_TX_FIFO_E_MASK) == UART_LSR_TX_FIFO_E_NOT_EMPTY);
-  MmioWrite8(THR, Char);
-}
-
-VOID
-GdbPutString (
-  IN CHAR8  *String
-  )
-{
-  while (*String != '\0') {
-    GdbPutChar (*String);
-    String++;
-  }
-}
-
-
-
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf
deleted file mode 100644
index e219ea256f26..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/GdbSerialLib/GdbSerialLib.inf
+++ /dev/null
@@ -1,41 +0,0 @@ 
-#/** @file
-#
-#  Copyright (c) 2008 - 2010, Apple Inc. 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.
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = GdbSerialLib
-  FILE_GUID                      = E2423349-EF5D-439B-95F5-8B8D8E3B443F
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = GdbSerialLib
-
-  CONSTRUCTOR                    = GdbSerialLibConstructor
-
-
-[Sources.common]
-  GdbSerialLib.c
-
-
-[Packages]
-  MdePkg/MdePkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[LibraryClasses]
-  DebugLib
-  IoLib
-  OmapLib
-
-[FixedPcd]
-  gOmap35xxTokenSpaceGuid.PcdOmap35xxConsoleUart
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c b/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c
deleted file mode 100644
index 6b7879b02bd6..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.c
+++ /dev/null
@@ -1,165 +0,0 @@ 
-/** @file
-  Do a generic Cold Reset for OMAP3550 and BeagleBoard specific Warm reset
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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.
-
-**/
-
-
-#include <Uefi.h>
-
-#include <Library/ArmLib.h>
-#include <Library/CacheMaintenanceLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/IoLib.h>
-#include <Library/PcdLib.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-
-#include <Omap3530/Omap3530.h>
-
-
-VOID
-ShutdownEfi (
-  VOID
-  )
-{
-  EFI_STATUS              Status;
-  UINTN                   MemoryMapSize;
-  EFI_MEMORY_DESCRIPTOR   *MemoryMap;
-  UINTN                   MapKey;
-  UINTN                   DescriptorSize;
-  UINTN                   DescriptorVersion;
-  UINTN                   Pages;
-
-  MemoryMap = NULL;
-  MemoryMapSize = 0;
-  do {
-    Status = gBS->GetMemoryMap (
-                    &MemoryMapSize,
-                    MemoryMap,
-                    &MapKey,
-                    &DescriptorSize,
-                    &DescriptorVersion
-                    );
-    if (Status == EFI_BUFFER_TOO_SMALL) {
-
-      Pages = EFI_SIZE_TO_PAGES (MemoryMapSize) + 1;
-      MemoryMap = AllocatePages (Pages);
-
-      //
-      // Get System MemoryMap
-      //
-      Status = gBS->GetMemoryMap (
-                      &MemoryMapSize,
-                      MemoryMap,
-                      &MapKey,
-                      &DescriptorSize,
-                      &DescriptorVersion
-                      );
-      // Don't do anything between the GetMemoryMap() and ExitBootServices()
-      if (!EFI_ERROR (Status)) {
-        Status = gBS->ExitBootServices (gImageHandle, MapKey);
-        if (EFI_ERROR (Status)) {
-          FreePages (MemoryMap, Pages);
-          MemoryMap = NULL;
-          MemoryMapSize = 0;
-        }
-      }
-    }
-  } while (EFI_ERROR (Status));
-
-  //Clean and invalidate caches.
-  WriteBackInvalidateDataCache();
-  InvalidateInstructionCache();
-
-  //Turning off Caches and MMU
-  ArmDisableDataCache ();
-  ArmDisableInstructionCache ();
-  ArmDisableMmu ();
-}
-
-typedef
-VOID
-(EFIAPI *CALL_STUB)(
-  VOID
-);
-
-
-/**
-  Resets the entire platform.
-
-  @param  ResetType             The type of reset to perform.
-  @param  ResetStatus           The status code for the reset.
-  @param  DataSize              The size, in bytes, of WatchdogData.
-  @param  ResetData             For a ResetType of EfiResetCold, EfiResetWarm, or
-                                EfiResetShutdown the data buffer starts with a Null-terminated
-                                Unicode string, optionally followed by additional binary data.
-
-**/
-EFI_STATUS
-EFIAPI
-LibResetSystem (
-  IN EFI_RESET_TYPE   ResetType,
-  IN EFI_STATUS       ResetStatus,
-  IN UINTN            DataSize,
-  IN CHAR16           *ResetData OPTIONAL
-  )
-{
-  CALL_STUB   StartOfFv;
-
-  if (ResetData != NULL) {
-    DEBUG((EFI_D_ERROR, "%s", ResetData));
-  }
-
-  ShutdownEfi ();
-
-  switch (ResetType) {
-  case EfiResetWarm:
-    //Perform warm reset of the system by jumping to the begining of the FV
-    StartOfFv = (CALL_STUB)(UINTN)PcdGet64 (PcdFvBaseAddress);
-    StartOfFv ();
-    break;
-  case EfiResetCold:
-  case EfiResetShutdown:
-  default:
-    //Perform cold reset of the system.
-    MmioOr32 (PRM_RSTCTRL, RST_DPLL3);
-    while ((MmioRead32(PRM_RSTST) & GLOBAL_COLD_RST) != 0x1);
-    break;
-  }
-
-  // If the reset didn't work, return an error.
-  ASSERT (FALSE);
-  return EFI_DEVICE_ERROR;
-}
-
-
-
-/**
-  Initialize any infrastructure required for LibResetSystem () to function.
-
-  @param  ImageHandle   The firmware allocated handle for the EFI image.
-  @param  SystemTable   A pointer to the EFI System Table.
-
-  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.
-
-**/
-EFI_STATUS
-EFIAPI
-LibInitializeResetSystem (
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_SYSTEM_TABLE  *SystemTable
-  )
-{
-  return EFI_SUCCESS;
-}
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf b/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf
deleted file mode 100644
index 27bb8d1833a0..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Library/ResetSystemLib/ResetSystemLib.inf
+++ /dev/null
@@ -1,49 +0,0 @@ 
-#/** @file
-# Reset System lib to make it easy to port new platforms
-#
-# Copyright (c) 2008, Apple Inc. 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.
-#
-#
-#**/
-
-[Defines]
-  INF_VERSION                    = 0x00010005
-  BASE_NAME                      = BeagleBoardResetSystemLib
-  FILE_GUID                      = 781371a2-3fdd-41d4-96a1-7b34cbc9e895
-  MODULE_TYPE                    = BASE
-  VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = EfiResetSystemLib
-
-
-[Sources.common]
-  ResetSystemLib.c
-
-[Packages]
-  MdePkg/MdePkg.dec
-  ArmPkg/ArmPkg.dec
-  EmbeddedPkg/EmbeddedPkg.dec
-  OpenPlatformPkg/Chips/TexasInstruments/Omap35xx/Omap35xxPkg.dec
-
-[Pcd.common]
-  gArmTokenSpaceGuid.PcdCpuResetAddress
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedFdBaseAddress
-
-[LibraryClasses]
-  DebugLib
-  ArmLib
-  CacheMaintenanceLib
-  MemoryAllocationLib
-  UefiRuntimeServicesTableLib
-  TimerLib
-  UefiLib
-  UefiBootServicesTableLib
-
-[Pcd]
-  gArmTokenSpaceGuid.PcdFvBaseAddress
diff --git a/Platforms/TexasInstruments/BeagleBoard/License.txt b/Platforms/TexasInstruments/BeagleBoard/License.txt
deleted file mode 100755
index 05dbd3606dcc..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/License.txt
+++ /dev/null
@@ -1,26 +0,0 @@ 
-Copyright (c) 2009-2010, Apple Inc. All rights reserved.
-Copyright (c) 2011-2012, ARM Limited. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in
-  the documentation and/or other materials provided with the
-  distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile b/Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile
deleted file mode 100644
index ed09e2bcde07..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Tools/GNUmakefile
+++ /dev/null
@@ -1,20 +0,0 @@ 
-#
-# Copyright (c) 2008 - 2009, Apple Inc. 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.
-#
-
-CC     = gcc
-CFLAGS = -g
-
-generate_image: generate_image.c
-		$(CC) $(CCFLAGS) $(LDFLAGS) -o generate_image generate_image.c
-
-clean:
-	rm -f generate_image generate_image.exe
diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c b/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c
deleted file mode 100644
index 7fc3faba10ca..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image.c
+++ /dev/null
@@ -1,408 +0,0 @@ 
-/** @file
- The data structures in this code come from:
- OMAP35x Applications Processor Technical Reference Manual chapter 25
- OMAP34xx Multimedia Device Technical Reference Manual chapter 26.4.8.
-
- You should use the OMAP35x manual when possible. Some things, like SectionKey,
- are not defined in the OMAP35x manual and you have to use the OMAP34xx manual
- to find the data.
-
-  Copyright (c) 2008 - 2010, Apple Inc. 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.
-
-**/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-
-
-//TOC structure as defined by OMAP35XX TRM.
-typedef struct {
-  unsigned int  Start;
-  unsigned int  Size;
-  unsigned int  Reserved1;
-  unsigned int  Reserved2;
-  unsigned int  Reserved3;
-  unsigned char Filename[12];
-} TOC_DATA;
-
-//NOTE: OMAP3430 TRM has CHSETTINGS and CHRAM structures.
-typedef struct {
-  unsigned int   SectionKey;
-  unsigned char  Valid;
-  unsigned char  Version;
-  unsigned short Reserved;
-  unsigned int   Flags;
-  unsigned int   PRM_CLKSRC_CTRL;
-  unsigned int   PRM_CLKSEL;
-  unsigned int   CM_CLKSEL1_EMU;
-  unsigned int   CM_CLKSEL_CORE;
-  unsigned int   CM_CLKSEL_WKUP;
-  unsigned int   CM_CLKEN_PLL_DPLL3;
-  unsigned int   CM_AUTOIDLE_PLL_DPLL3;
-  unsigned int   CM_CLKSEL1_PLL;
-  unsigned int   CM_CLKEN_PLL_DPLL4;
-  unsigned int   CM_AUTOIDLE_PLL_DPLL4;
-  unsigned int   CM_CLKSEL2_PLL;
-  unsigned int   CM_CLKSEL3_PLL;
-  unsigned int   CM_CLKEN_PLL_MPU;
-  unsigned int   CM_AUTOIDLE_PLL_MPU;
-  unsigned int   CM_CLKSEL1_PLL_MPU;
-  unsigned int   CM_CLKSEL2_PLL_MPU;
-  unsigned int   CM_CLKSTCTRL_MPU;
-} CHSETTINGS_DATA;
-
-typedef struct {
-  unsigned int   SectionKey;
-  unsigned char  Valid;
-  unsigned char  Reserved1;
-  unsigned char  Reserved2;
-  unsigned char  Reserved3;
-  unsigned short SDRC_SYSCONFIG_LSB;
-  unsigned short SDRC_CS_CFG_LSB;
-  unsigned short SDRC_SHARING_LSB;
-  unsigned short SDRC_ERR_TYPE_LSB;
-  unsigned int   SDRC_DLLA_CTRL;
-  unsigned short Reserved4;
-  unsigned short Reserved5;
-  unsigned int   SDRC_POWER;
-  unsigned short MEMORY_TYPE_CS0;
-  unsigned short Reserved6;
-  unsigned int   SDRC_MCFG_0;
-  unsigned short SDRC_MR_0_LSB;
-  unsigned short SDRC_EMR1_0_LSB;
-  unsigned short SDRC_EMR2_0_LSB;
-  unsigned short SDRC_EMR3_0_LSB;
-  unsigned int   SDRC_ACTIM_CTRLA_0;
-  unsigned int   SDRC_ACTIM_CTRLB_0;
-  unsigned int   SDRC_RFRCTRL_0;
-  unsigned short MEMORY_TYPE_CS1;
-  unsigned short Reserved7;
-  unsigned int   SDRC_MCFG_1;
-  unsigned short SDRC_MR_1_LSB;
-  unsigned short SDRC_EMR1_1_LSB;
-  unsigned short SDRC_EMR2_1_LSB;
-  unsigned short SDRC_EMR3_1_LSB;
-  unsigned int   SDRC_ACTIM_CTRLA_1;
-  unsigned int   SDRC_ACTIM_CTRLB_1;
-  unsigned int   SDRC_RFRCTRL_1;
-  unsigned int   Reserved8;
-  unsigned short Flags;
-  unsigned short Reserved9;
-} CHRAM_DATA;
-
-#define CHSETTINGS_START      0xA0
-#define CHSETTINGS_SIZE       0x50
-#define CHRAM_START           0xF0
-#define CHRAM_SIZE            0x5C
-#define CLOSING_TOC_ITEM_SIZE 4
-
-unsigned char gConfigurationHeader[512];
-unsigned int  gImageExecutionAddress;
-char          *gInputImageFile = NULL;
-char          *gOutputImageFile = NULL;
-char          *gDataFile = NULL;
-
-static
-void
-PrintUsage (
-  void
-  )
-{
-  printf("Usage..\n");
-}
-
-static
-void
-PopulateCHSETTINGSData (
-  FILE            *DataFile,
-  CHSETTINGS_DATA *CHSETTINGSData
-  )
-{
-  unsigned int Value;
-
-  CHSETTINGSData->SectionKey            = 0xC0C0C0C1;
-  CHSETTINGSData->Valid                 = 0x1;
-  CHSETTINGSData->Version               = 0x1;
-  CHSETTINGSData->Reserved              = 0x00;
-  CHSETTINGSData->Flags                 = 0x050001FD;
-
-  //General clock settings.
-  fscanf(DataFile, "PRM_CLKSRC_CTRL=0x%08x\n", &Value);
-  CHSETTINGSData->PRM_CLKSRC_CTRL = Value;
-  fscanf(DataFile, "PRM_CLKSEL=0x%08x\n", &Value);
-  CHSETTINGSData->PRM_CLKSEL = Value;
-  fscanf(DataFile, "CM_CLKSEL1_EMU=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL1_EMU = Value;
-
-  //Clock configuration
-  fscanf(DataFile, "CM_CLKSEL_CORE=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL_CORE = Value;
-  fscanf(DataFile, "CM_CLKSEL_WKUP=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL_WKUP = Value;
-
-  //DPLL3 (Core) settings
-  fscanf(DataFile, "CM_CLKEN_PLL_DPLL3=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKEN_PLL_DPLL3 = Value;
-  fscanf(DataFile, "CM_AUTOIDLE_PLL_DPLL3=0x%08x\n", &Value);
-  CHSETTINGSData->CM_AUTOIDLE_PLL_DPLL3 = Value;
-  fscanf(DataFile, "CM_CLKSEL1_PLL=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL1_PLL = Value;
-
-  //DPLL4 (Peripheral) settings
-  fscanf(DataFile, "CM_CLKEN_PLL_DPLL4=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKEN_PLL_DPLL4 = Value;
-  fscanf(DataFile, "CM_AUTOIDLE_PLL_DPLL4=0x%08x\n", &Value);
-  CHSETTINGSData->CM_AUTOIDLE_PLL_DPLL4 = Value;
-  fscanf(DataFile, "CM_CLKSEL2_PLL=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL2_PLL = Value;
-  fscanf(DataFile, "CM_CLKSEL3_PLL=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL3_PLL = Value;
-
-  //DPLL1 (MPU) settings
-  fscanf(DataFile, "CM_CLKEN_PLL_MPU=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKEN_PLL_MPU = Value;
-  fscanf(DataFile, "CM_AUTOIDLE_PLL_MPU=0x%08x\n", &Value);
-  CHSETTINGSData->CM_AUTOIDLE_PLL_MPU = Value;
-  fscanf(DataFile, "CM_CLKSEL1_PLL_MPU=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL1_PLL_MPU = Value;
-  fscanf(DataFile, "CM_CLKSEL2_PLL_MPU=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSEL2_PLL_MPU = Value;
-  fscanf(DataFile, "CM_CLKSTCTRL_MPU=0x%08x\n", &Value);
-  CHSETTINGSData->CM_CLKSTCTRL_MPU = Value;
-}
-
-static
-void
-PopulateCHRAMData (
-  FILE       *DataFile,
-  CHRAM_DATA *CHRAMData
-  )
-{
-  unsigned int Value;
-
-  CHRAMData->SectionKey         = 0xC0C0C0C2;
-  CHRAMData->Valid              = 0x1;
-
-  fscanf(DataFile, "SDRC_SYSCONFIG_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_SYSCONFIG_LSB = Value;
-  fscanf(DataFile, "SDRC_CS_CFG_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_CS_CFG_LSB    = Value;
-  fscanf(DataFile, "SDRC_SHARING_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_SHARING_LSB   = Value;
-  fscanf(DataFile, "SDRC_ERR_TYPE_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_ERR_TYPE_LSB  = Value;
-  fscanf(DataFile, "SDRC_DLLA_CTRL=0x%08x\n", &Value);
-  CHRAMData->SDRC_DLLA_CTRL     = Value;
-  fscanf(DataFile, "SDRC_POWER=0x%08x\n", &Value);
-  CHRAMData->SDRC_POWER         = Value;
-  fscanf(DataFile, "MEMORY_TYPE_CS0=0x%04x\n", &Value);
-  CHRAMData->MEMORY_TYPE_CS0    = Value;
-  fscanf(DataFile, "SDRC_MCFG_0=0x%08x\n", &Value);
-  CHRAMData->SDRC_MCFG_0        = Value;
-  fscanf(DataFile, "SDRC_MR_0_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_MR_0_LSB      = Value;
-  fscanf(DataFile, "SDRC_EMR1_0_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_EMR1_0_LSB    = Value;
-  fscanf(DataFile, "SDRC_EMR2_0_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_EMR2_0_LSB    = Value;
-  fscanf(DataFile, "SDRC_EMR3_0_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_EMR3_0_LSB    = Value;
-  fscanf(DataFile, "SDRC_ACTIM_CTRLA_0=0x%08x\n", &Value);
-  CHRAMData->SDRC_ACTIM_CTRLA_0 = Value;
-  fscanf(DataFile, "SDRC_ACTIM_CTRLB_0=0x%08x\n", &Value);
-  CHRAMData->SDRC_ACTIM_CTRLB_0 = Value;
-  fscanf(DataFile, "SDRC_RFRCTRL_0=0x%08x\n", &Value);
-  CHRAMData->SDRC_RFRCTRL_0     = Value;
-  fscanf(DataFile, "MEMORY_TYPE_CS1=0x%04x\n", &Value);
-  CHRAMData->MEMORY_TYPE_CS1    = Value;
-  fscanf(DataFile, "SDRC_MCFG_1=0x%08x\n", &Value);
-  CHRAMData->SDRC_MCFG_1        = Value;
-  fscanf(DataFile, "SDRC_MR_1_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_MR_1_LSB      = Value;
-  fscanf(DataFile, "SDRC_EMR1_1_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_EMR1_1_LSB    = Value;
-  fscanf(DataFile, "SDRC_EMR2_1_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_EMR2_1_LSB    = Value;
-  fscanf(DataFile, "SDRC_EMR3_1_LSB=0x%04x\n", &Value);
-  CHRAMData->SDRC_EMR3_1_LSB    = Value;
-  fscanf(DataFile, "SDRC_ACTIM_CTRLA_1=0x%08x\n", &Value);
-  CHRAMData->SDRC_ACTIM_CTRLA_1 = Value;
-  fscanf(DataFile, "SDRC_ACTIM_CTRLB_1=0x%08x\n", &Value);
-  CHRAMData->SDRC_ACTIM_CTRLB_1 = Value;
-  fscanf(DataFile, "SDRC_RFRCTRL_1=0x%08x\n", &Value);
-  CHRAMData->SDRC_RFRCTRL_1     = Value;
-
-  CHRAMData->Flags              = 0x0003;
-}
-
-static
-void
-PrepareConfigurationHeader (
-  void
-  )
-{
-  TOC_DATA        Toc;
-  CHSETTINGS_DATA CHSETTINGSData;
-  CHRAM_DATA      CHRAMData;
-  unsigned int    ConfigurationHdrOffset = 0;
-  FILE            *DataFile;
-
-  // Open data file
-  DataFile = fopen(gDataFile, "rb");
-  if (DataFile == NULL) {
-    fprintf(stderr, "Can't open data file %s.\n", gDataFile);
-    exit(1);
-  }
-
-  //Initialize configuration header.
-  memset(gConfigurationHeader, 0x00, sizeof(gConfigurationHeader));
-
-  //CHSETTINGS TOC
-  memset(&Toc, 0x00, sizeof(TOC_DATA));
-  Toc.Start = CHSETTINGS_START;
-  Toc.Size = CHSETTINGS_SIZE;
-  strcpy((char *)Toc.Filename, (const char *)"CHSETTINGS");
-  memcpy(gConfigurationHeader + ConfigurationHdrOffset, &Toc, sizeof(TOC_DATA));
-
-  //Populate CHSETTINGS Data
-  memset(&CHSETTINGSData, 0x00, sizeof(CHSETTINGS_DATA));
-  PopulateCHSETTINGSData(DataFile, &CHSETTINGSData);
-  memcpy(gConfigurationHeader + Toc.Start, &CHSETTINGSData, Toc.Size);
-
-  //Adjust ConfigurationHdrOffset to point to next TOC
-  ConfigurationHdrOffset += sizeof(TOC_DATA);
-
-  //CHRAM TOC
-  memset(&Toc, 0x00, sizeof(TOC_DATA));
-  Toc.Start = CHRAM_START;
-  Toc.Size = CHRAM_SIZE;
-  strcpy((char *)Toc.Filename, (const char *)"CHRAM");
-  memcpy(gConfigurationHeader + ConfigurationHdrOffset, &Toc, sizeof(TOC_DATA));
-
-  //Populate CHRAM Data
-  memset(&CHRAMData, 0x00, sizeof(CHRAM_DATA));
-  PopulateCHRAMData(DataFile, &CHRAMData);
-  memcpy(gConfigurationHeader + Toc.Start, &CHRAMData, Toc.Size);
-
-  //Adjust ConfigurationHdrOffset to point to next TOC
-  ConfigurationHdrOffset += sizeof(TOC_DATA);
-
-  //Closing TOC item
-  memset(gConfigurationHeader + ConfigurationHdrOffset, 0xFF, CLOSING_TOC_ITEM_SIZE);
-  ConfigurationHdrOffset += CLOSING_TOC_ITEM_SIZE;
-
-  // Close data file
-  fclose(DataFile);
-}
-
-static
-void
-ConstructImage (
-  void
-  )
-{
-  FILE         *InputFile;
-  FILE         *OutputFile;
-  unsigned int InputImageFileSize;
-  struct       stat FileStat;
-  char         Ch;
-  unsigned int i;
-
-  InputFile = fopen(gInputImageFile, "rb");
-  if (InputFile == NULL) {
-    fprintf(stderr, "Can't open input file.\n");
-    exit(0);
-  }
-
-  // Get the size of the input image.
-  fstat(fileno(InputFile), &FileStat);
-  InputImageFileSize = FileStat.st_size;
-
-  OutputFile = fopen(gOutputImageFile, "wb");
-  if (OutputFile == NULL) {
-    fprintf(stderr, "Can't open output file %s.\n", gOutputImageFile);
-    exit(0);
-  }
-
-  // Write Configuration header
-  fwrite(gConfigurationHeader, 1, sizeof(gConfigurationHeader), OutputFile);
-
-  // Write image header (Input image size, execution address)
-  fwrite(&InputImageFileSize, 1, 4, OutputFile);
-  fwrite(&gImageExecutionAddress, 1, 4, OutputFile);
-
-  // Copy input image to the output file.
-  for (i = 0; i < InputImageFileSize; i++) {
-    fread(&Ch, 1, 1, InputFile);
-    fwrite(&Ch, 1, 1, OutputFile);
-  }
-
-  fclose(InputFile);
-  fclose(OutputFile);
-}
-
-
-int
-main (
-  int    argc,
-  char** argv
-  )
-{
-  char          Ch;
-  unsigned char *ptr;
-  int           i;
-  int           TwoArg;
-
-  if (argc == 1) {
-    PrintUsage ();
-    exit(1);
-  }
-
-  for (i=1; i < argc; i++) {
-    if (argv[i][0] == '-') {
-      // TwoArg TRUE -E 0x123, FALSE -E0x1234
-      TwoArg = (argv[i][2] != ' ');
-      switch (argv[i][1]) {
-        case 'E': /* Image execution address */
-          gImageExecutionAddress = strtoul (TwoArg ? argv[i+1] : &argv[i][2], (char **)&ptr, 16);
-          break;
-
-        case 'I': /* Input image file */
-          gInputImageFile = TwoArg ? argv[i+1] : &argv[i][2];
-          break;
-
-        case 'O': /* Output image file */
-          gOutputImageFile = TwoArg ? argv[i+1] : &argv[i][2];
-          break;
-
-        case 'D': /* Data file */
-          gDataFile = TwoArg ? argv[i+1] : &argv[i][2];
-          break;
-
-        default:
-          abort ();
-      }
-    }
-  }
-
-
-  //Prepare configuration header
-  PrepareConfigurationHeader ();
-
-  //Build image with configuration header + image header + image
-  ConstructImage ();
-
-  return 0;
-}
diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/makefile b/Platforms/TexasInstruments/BeagleBoard/Tools/makefile
deleted file mode 100755
index cf50b8f2cf12..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Tools/makefile
+++ /dev/null
@@ -1,22 +0,0 @@ 
-#
-# Copyright (c) 2008 - 2009, Apple Inc. 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.
-#
-
-all: GenerateImage replace
-
-GenerateImage: generate_image.c
-		$(CC) $(CCFLAGS) $(LDFLAGS) -o GenerateImage.exe generate_image.c
-
-replace: replace.c
-		$(CC) $(CCFLAGS) $(LDFLAGS) -o replace.exe replace.c
-
-clean:
-	del GenerateImage.exe generate_image.obj replace.exe replace.obj
diff --git a/Platforms/TexasInstruments/BeagleBoard/Tools/replace.c b/Platforms/TexasInstruments/BeagleBoard/Tools/replace.c
deleted file mode 100644
index 00f42495929b..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/Tools/replace.c
+++ /dev/null
@@ -1,146 +0,0 @@ 
-//
-// Quick hack to work around not having sed, or any other reasonable
-// way to edit a file from a script on Windows......
-//
-// Copyright (c) 2010, Apple Inc. 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.
-//
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <limits.h>
-
-#define TRUE  1
-#define FALSE 0
-
-typedef struct {
-  char  *Match;
-  int   MatchSize;
-  char  *Replace;
-} MATCH_PAIR;
-
-void
-Usage (char *Name)
-{
-  printf ("\n%s OldFile NewFile MatchString ReplaceString [MatchString2 ReplaceString2]*\n", Name);
-  printf ("    OldFile - Must be arg[1] File to search for MatchStrings\n");
-  printf ("    NewFile - Must be arg[2] File where MatchString has been replaced with ReplaceString\n");
-  printf ("    MatchString & ReplaceString. Required arguments.\n");
-  printf ("    More MatchString/ReplaceString pairs are supported.\n");
-}
-
-//
-// argv[1] - Old File
-// argv[2] - New File
-// argv[3+n] - Match String
-// argv[4+n] - Replace string
-int
-main (int argc, char **argv)
-{
-  FILE *In, *Out;
-  char *Key, *Replace;
-  int  c, i, n, Len, MaxLenKey = 0, MinLenKey = INT_MAX;
-  unsigned long  InFileSize, InFilePos;
-  MATCH_PAIR *Match;
-  int MaxMatch;
-  int ReadCount;
-  int Found;
-
-  if (argc < 5) {
-    fprintf (stderr, "Need at least two files and one Match/Replacement string pair\n");
-    Usage (argv[0]);
-    return -1;
-  } else if ((argc % 2) == 0) {
-    fprintf (stderr, "Match and Replace string must come in pairs\n");
-    return -4;
-  }
-
-  In  = fopen (argv[1], "r");
-  fseek (In, 0, SEEK_END);
-  InFileSize = ftell (In);
-  if (InFileSize == 0) {
-    fprintf (stderr, "Could not open %s\n", argv[1]);
-    return -6;
-  }
-  fseek (In, 0, SEEK_SET);
-
-
-  Out = fopen (argv[2], "w+");
-  if ((In == NULL) || (Out == NULL)) {
-    fprintf (stderr, "Could not open %s\n", argv[2]);
-    return -2;
-  }
-
-  MaxMatch = (argc - 2)/2;
-  Match = calloc (MaxMatch, sizeof (MATCH_PAIR));
-  if (Match == NULL) {
-    return -7;
-  }
-
-  for (n=0; n < MaxMatch; n++) {
-    Match[n].Match   = argv[3 + n*2];
-    Match[n].MatchSize = strlen (argv[3 + n*2]);
-    Match[n].Replace = argv[3 + n*2 + 1];
-    if (Match[n].MatchSize > MaxLenKey) {
-      // Max size of match/replace string pair
-      MaxLenKey = Match[n].MatchSize;
-    }
-    if (Match[n].MatchSize < MinLenKey) {
-      MinLenKey = Match[n].MatchSize;
-    }
-  }
-
-  Key = malloc (MaxLenKey);
-  if (Key == NULL) {
-    return -5;
-  }
-
-  // Search for a match by reading every possition of the file
-  // into a buffer that is as big as the maximum search key size.
-  // Then we can search the keys for a match. If no match
-  // copy the old file character to the new file. If it is a match
-  // then copy the replacement string into the output file.
-  // This code assumes the file system is smart and caches the
-  // file in a buffer. So all the reads don't really hit the disk.
-  InFilePos = 0;
-  while (InFilePos < (InFileSize - MinLenKey)) {
-    fseek (In, InFilePos, SEEK_SET);
-    ReadCount = fread (Key, 1, MaxLenKey, In);
-    for (i = 0, Found = FALSE;i < MaxMatch; i++) {
-      if (ReadCount >= Match[i].MatchSize) {
-        if (!memcmp (Key, Match[i].Match, Match[i].MatchSize)) {
-          InFilePos += (Match[i].MatchSize - 1);
-          fputs (Match[i].Replace, Out);
-          Found = TRUE;
-          break;
-        }
-      }
-    }
-    if (!Found) {
-      fputc (Key[0], Out);
-    }
-
-    InFilePos++;
-  }
-
-  // We stoped searching when we got to the point that we could no longer match.
-  // So the last few bytes of the file are not copied in the privous loop
-  fseek (In, InFilePos, SEEK_SET);
-  while ((c = fgetc (In)) != EOF) {
-    fputc (c, Out);
-  }
-
-  fclose (In);
-  fclose (Out);
-  free (Key);
-  free (Match);
-  return 0;
-}
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/b.bat b/Platforms/TexasInstruments/BeagleBoard/b.bat
deleted file mode 100755
index 76ddea68bd90..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/b.bat
+++ /dev/null
@@ -1,68 +0,0 @@ 
-@REM Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
-@REM This program and the accompanying materials
-@REM are licensed and made available under the terms and conditions of the BSD License
-@REM which accompanies this distribution.  The full text of the license may be found at
-@REM http://opensource.org/licenses/bsd-license.php
-@REM
-@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-@REM
-
-@REM Example usage of this script. default is a DEBUG build
-@REM b
-@REM b clean
-@REM b release 
-@REM b release clean
-@REM b -v -y build.log
-
-ECHO OFF
-@REM Setup Build environment. Sets WORKSPACE and puts build in path
-CALL ..\edksetup.bat
-
-@REM Set for tools chain. Currently RVCT
-SET TARGET_TOOLS=RVCT
-SET TARGET=DEBUG
-
-@if /I "%1"=="RELEASE" (
-  @REM If 1st argument is release set TARGET to RELEASE and shift arguments to remove it 
-  SET TARGET=RELEASE
-  shift /1
-)
-
-SET BUILD_ROOT=%WORKSPACE%\Build\BeagleBoard\%TARGET%_%TARGET_TOOLS%
-
-@REM Build the Beagle Board firmware and creat an FD (FLASH Device) Image.
-CALL build -p BeagleBoardPkg\BeagleBoardPkg.dsc -a ARM -t %TARGET_TOOLS% -b %TARGET% %1 %2 %3 %4 %5 %6 %7 %8
-@if ERRORLEVEL 1 goto Exit
-
-@if /I "%1"=="CLEAN" goto Clean
-
-@REM
-@REM Ram starts at 0x80000000
-@REM OMAP 3530 TRM defines 0x80008208 as the entry point
-@REM The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry 
-@REM point looks so strange. 
-@REM OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
-@REM
-@cd Tools
-
-ECHO Building tools...
-CALL nmake 
-
-ECHO Patching image with ConfigurationHeader.dat
-CALL GenerateImage -D ..\ConfigurationHeader.dat -E 0x80008208 -I %BUILD_ROOT%\FV\BEAGLEBOARD_EFI.fd -O %BUILD_ROOT%\FV\BeagleBoard_EFI_flashboot.fd
-
-ECHO Patching ..\Debugger_scripts ...
-SET DEBUGGER_SCRIPT=..\Debugger_scripts
-@for /f %%a IN ('dir /b %DEBUGGER_SCRIPT%\*.inc %DEBUGGER_SCRIPT%\*.cmm') do (
-  @CALL replace %DEBUGGER_SCRIPT%\%%a %BUILD_ROOT%\%%a ZZZZZZ %BUILD_ROOT% WWWWWW  %WORKSPACE%
-)
-
-cd ..
-:Exit
-EXIT /B
-
-:Clean
-cd Tools
-CALL nmake clean
-cd ..
diff --git a/Platforms/TexasInstruments/BeagleBoard/ba.bat b/Platforms/TexasInstruments/BeagleBoard/ba.bat
deleted file mode 100755
index 24a60e46d877..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/ba.bat
+++ /dev/null
@@ -1,68 +0,0 @@ 
-@REM Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
-@REM This program and the accompanying materials
-@REM are licensed and made available under the terms and conditions of the BSD License
-@REM which accompanies this distribution.  The full text of the license may be found at
-@REM http://opensource.org/licenses/bsd-license.php
-@REM
-@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-@REM
-
-@REM Example usage of this script. default is a DEBUG build
-@REM b
-@REM b clean
-@REM b release 
-@REM b release clean
-@REM b -v -y build.log
-
-ECHO OFF
-@REM Setup Build environment. Sets WORKSPACE and puts build in path
-CALL ..\edksetup.bat
-
-@REM Set for tools chain. Currently ARMGCC
-SET TARGET_TOOLS=ARMGCC
-SET TARGET=DEBUG
-
-@if /I "%1"=="RELEASE" (
-  @REM If 1st argument is release set TARGET to RELEASE and shift arguments to remove it 
-  SET TARGET=RELEASE
-  shift /1
-)
-
-SET BUILD_ROOT=%WORKSPACE%\Build\BeagleBoard\%TARGET%_%TARGET_TOOLS%
-
-@REM Build the Beagle Board firmware and creat an FD (FLASH Device) Image.
-CALL build -p BeagleBoardPkg\BeagleBoardPkg.dsc -a ARM -t %TARGET_TOOLS% -b %TARGET% %1 %2 %3 %4 %5 %6 %7 %8
-@if ERRORLEVEL 1 goto Exit
-
-@if /I "%1"=="CLEAN" goto Clean
-
-@REM
-@REM Ram starts at 0x80000000
-@REM OMAP 3530 TRM defines 0x80008208 as the entry point
-@REM The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry 
-@REM point looks so strange. 
-@REM OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
-@REM
-@cd Tools
-
-ECHO Building tools...
-CALL nmake 
-
-ECHO Patching image with ConfigurationHeader.dat
-CALL GenerateImage -D ..\ConfigurationHeader.dat -E 0x80008208 -I %BUILD_ROOT%\FV\BEAGLEBOARD_EFI.fd -O %BUILD_ROOT%\FV\BeagleBoard_EFI_flashboot.fd
-
-ECHO Patching ..\Debugger_scripts ...
-SET DEBUGGER_SCRIPT=..\Debugger_scripts
-@for /f %%a IN ('dir /b %DEBUGGER_SCRIPT%\*.inc %DEBUGGER_SCRIPT%\*.cmm') do (
-  @CALL replace %DEBUGGER_SCRIPT%\%%a %BUILD_ROOT%\%%a ZZZZZZ %BUILD_ROOT% WWWWWW  %WORKSPACE%
-)
-
-cd ..
-:Exit
-EXIT /B
-
-:Clean
-cd Tools
-CALL nmake clean
-cd ..
diff --git a/Platforms/TexasInstruments/BeagleBoard/build.sh b/Platforms/TexasInstruments/BeagleBoard/build.sh
deleted file mode 100755
index 32b22f085777..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/build.sh
+++ /dev/null
@@ -1,150 +0,0 @@ 
-#!/bin/bash
-# Copyright (c) 2008 - 2009, Apple Inc. 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.
-#
-
-set -e
-shopt -s nocasematch
-
-function process_debug_scripts {
-  if [[ -d $1 ]]; then
-    for filename in `ls $1`
-    do
-      sed -e "s@ZZZZZZ@$BUILD_ROOT@g" -e "s@WWWWWW@$WORKSPACE@g" \
-            "$1/$filename" \
-            > "$BUILD_ROOT/$filename"
-
-      #For ARMCYGWIN, we have to change /cygdrive/c to c:
-      if [[ $TARGET_TOOLS == RVCT31CYGWIN ]]
-      then
-        mv "$BUILD_ROOT/$filename" "$BUILD_ROOT/$filename"_temp
-        sed -e "s@/cygdrive/\(.\)@\1:@g" \
-              "$BUILD_ROOT/$filename"_temp \
-              > "$BUILD_ROOT/$filename"
-        rm -f "$BUILD_ROOT/$filename"_temp
-      fi
-    done
-  fi
-}
-
-
-#
-# Setup workspace if it is not set
-#
-if [ -z "${WORKSPACE:-}" ]
-then
-  echo Initializing workspace
-  cd ..
-# Uses an external BaseTools project 
-#  export EDK_TOOLS_PATH=`pwd`/../BaseTools
-# Uses the BaseTools in edk2
-  export EDK_TOOLS_PATH=`pwd`/BaseTools
-  source edksetup.sh BaseTools
-else
-  echo Building from: $WORKSPACE
-fi
-
-#
-# Pick a default tool type for a given OS if no toolchain already defined
-#
-if [ -z "${TARGET_TOOLS:-}" ]
-then
-  case `uname` in
-    CYGWIN*) 
-      TARGET_TOOLS=RVCT31CYGWIN 
-      ;;
-    Linux*)  
-      if [[ ! -z `locate arm-linux-gnueabi-gcc` ]]; then
-        TARGET_TOOLS=ARMLINUXGCC
-      else 
-        TARGET_TOOLS=ARMGCC 
-      fi
-      ;;
-    Darwin*) 
-      Major=$(uname -r | cut -f 1 -d '.')
-      if [[ $Major == 9 ]]
-      then
-        # Not supported by this open source project
-        TARGET_TOOLS=XCODE31
-      else 
-        TARGET_TOOLS=XCODE32
-      fi  
-      ;;
-  esac
-fi
-
-TARGET=DEBUG
-for arg in "$@"
-do
-  if [[ $arg == RELEASE ]]; 
-  then
-    TARGET=RELEASE
-  fi
-done
-
-BUILD_ROOT=$WORKSPACE/Build/BeagleBoard/"$TARGET"_"$TARGET_TOOLS"
-GENERATE_IMAGE=$WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Tools/generate_image
-FLASH_BOOT=$BUILD_ROOT/FV/BeagleBoard_EFI_flashboot.fd
-
-if  [[ ! -e $EDK_TOOLS_PATH/Source/C/bin ]];
-then
-  # build the tools if they don't yet exist
-  echo Building tools: $EDK_TOOLS_PATH
-  make -C $EDK_TOOLS_PATH
-else
-  echo using prebuilt tools
-fi
-
-#
-# Build the edk2 BeagleBoard code
-#
-if [[ $TARGET == RELEASE ]]; then
-  build -p $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc -a ARM -t $TARGET_TOOLS -b $TARGET -D DEBUG_TARGET=RELEASE ${2:-} ${3:-} ${4:-} ${5:-} ${6:-} ${7:-} ${8:-}
-else
-  build -p ${WORKSPACE:-}/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/BeagleBoardPkg.dsc -a ARM -t $TARGET_TOOLS -b $TARGET ${1:-} ${2:-} ${3:-} ${4:-} ${5:-} ${6:-} ${7:-} ${8:-}
-fi
-
-
-for arg in "$@"
-do
-  if [[ $arg == clean ]]; then
-    # no need to post process if we are doing a clean
-    exit
-  elif [[ $arg == cleanall ]]; then
-    make -C $EDK_TOOLS_PATH clean
-    make -C $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Tools clean
-    exit
-    
-  fi
-done
-
-
-#
-#  Build the tool used to patch the FLASH image to work with the Beagle board ROM
-#
-if [[ ! -e $GENERATE_IMAGE ]];
-then
-  make -C $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Tools
-fi
-
-echo Patching FD to work with BeagleBoard ROM
-rm -f $FLASH_BOOT
-
-#
-# Ram starts at 0x80000000
-# OMAP 3530 TRM defines 0x80008000 as the entry point
-# The reset vector is caught by the mask ROM in the OMAP 3530 so that is why this entry 
-# point looks so strange. 
-# OMAP 3430 TRM section 26.4.8 has Image header information. (missing in OMAP 3530 TRM)
-#
-$GENERATE_IMAGE -D $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/ConfigurationHeader.dat -E 0x80008000 -I $BUILD_ROOT/FV/BEAGLEBOARD_EFI.fd -O $FLASH_BOOT
-
-echo Creating debugger scripts
-process_debug_scripts $WORKSPACE/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/Debugger_scripts
-
diff --git a/Platforms/TexasInstruments/BeagleBoard/readme.txt b/Platforms/TexasInstruments/BeagleBoard/readme.txt
deleted file mode 100644
index d15b1fb2db4a..000000000000
--- a/Platforms/TexasInstruments/BeagleBoard/readme.txt
+++ /dev/null
@@ -1,78 +0,0 @@ 
-On Ubuntu 10.04, in your $(WORKROOT) directory (eg: ~/dev/)
-
-Build UEFI for the BeagleBoard :
-================================
-# Requirements
-sudo apt-get install uuid-dev
-
-# Get the arm-none-eabi Toolchain:
-cd $(WORKROOT)
-wget http://www.codesourcery.com/sgpp/lite/arm/portal/package7813/public/arm-none-eabi/arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
-tar xjf arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
-Add the arm-none-eabi toolchain to your path
-
-# Build UEFI
-svn co https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2 edk2 --username guest
-cd $(WORKROOT)/edk2
-svn co https://edk2-fatdriver2.svn.sourceforge.net/svnroot/edk2-fatdriver2/trunk/FatPkg FatPkg --username guest
-patch -p1 < ArmPlatformPkg/Documentation/patches/BaseTools-Pending-Patches.patch
-cd OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/
-./build.sh
-
-# To Build a Release verion of UEFI
-./build.sh RELEASE
-
-
-Test UEFI on qEmu :
-===================
-
-Installing Linaro qEmu:
------------------------
-cd $(WORKROOT)
-git clone git://git.linaro.org/qemu/qemu-linaro.git
-cd $(WORKROOT)/qemu-linaro
-./configure --target-list=arm-softmmu,arm-linux-user,armeb-linux-user
-make
-
-Installing Linaro image Creator:
---------------------------------
-wget http://launchpad.net/linaro-image-tools/trunk/0.4.8/+download/linaro-image-tools-0.4.8.tar.gz
-tar xzf linaro-image-tools-0.4.8.tar.gz
-cd $(WORKROOT)/linaro-image-tools-0.4.8/
-sudo apt-get install parted dosfstools uboot-mkimage python-argparse python-dbus python-debian python-parted qemu-arm-static btrfs-tools command-not-found
-
-Creating u-boot + Linux Linaro image:
--------------------------------------
-mkdir $(WORKROOT)/beagle_image && cd $(WORKROOT)/beagle_image
-wget http://releases.linaro.org/platform/linaro-m/hwpacks/final/hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
-wget http://releases.linaro.org/platform/linaro-m/headless/release-candidate/linaro-m-headless-tar-20101101-0.tar.gz
-sudo $(WORKROOT)/linaro-image-tools-0.4.8/linaro-media-create --image_file beagle_sd.img --dev beagle --binary linaro-m-headless-tar-20101101-0.tar.gz --hwpack hwpack_linaro-omap3_20101109-1_armel_supported.tar.gz
-sudo chmod a+rw beagle_sd.img
-
-Test u-boot + Linux Linaro image on qEmu:
------------------------------------------
-$(WORKROOT)/qemu-linaro/arm-softmmu/qemu-system-arm -M beagle -sd $(WORKROOT)/beagle_image/beagle_sd.img -serial stdio -clock unix
-# in u-boot:
-boot
-
-Start UEFI from NOR Flash :
----------------------------
-# Adding zImage to beagle_sd.img
-mkdir /tmp/beagle_img1
-sudo mount -o loop,offset=$[63*512] $(WORKROOT)/beagle_image/beagle_sd.img /tmp/beagle_img1
-cp zImage /tmp/beagle_img1
-sudo umount /tmp/beagle_img1
-
-./qemu-system-arm -M beagle -mtdblock /work/tianocore/Build/BeagleBoard/DEBUG_ARMGCC/FV/BeagleBoard_EFI_flashboot.fd -serial stdio -sd /work/linaro-image-tools-0.4.8/beagle_sd.img
-
-Start UEFI from SD card :
--------------------------
-# To replace u-boot by uefi in the SD card
-1) Build the BeagleBoard UEFI firmware without the OMAP353x header
-cd $(WORKROOT)/edk2/OpenPlatformPkg/Platforms/TexasInstruments/BeagleBoard/
-./build.sh -D EDK2_SECOND_STAGE_BOOTOLADER=1
-
-2) Replace u-boot by UEFI
-sudo mount -o loop,offset=$[63*512] $(WORKROOT)/beagle_image/beagle_sd.img /tmp/beagle_img1
-sudo cp ../Build/BeagleBoard/DEBUG_ARMGCC/FV/BEAGLEBOARD_EFI.fd /tmp/beagle_img1/u-boot.bin
-sudo umount /tmp/beagle_img1