Hello,
This series adds initial support for the new Armada 7K and 8K Marvell 64 bits processors. Details about those processors based on the Cortex-A72 can be found at:
http://www.marvell.com/embedded-processors/armada-70xx/ http://www.marvell.com/embedded-processors/armada-80xx/
This series comprise following features: * Core support - GICv2 - ARM architected timer - ARM watchdog timer - Marvell UART port - Two development boards support (APN806-DB and Armada7040-rz-DB) * Platform UART driver * SPI - SoC SPI controller driver - SPI Flash driver - 'sf' Shell command for using the flash - 'fupdate' Shell command for updating image in flash * I2C - SoC I2C controller driver - Eeprom driver - 'eeprom' Shell command * MppLib - library needed for pin-multiplexing configuration * Ramdisk - Imported driver from EFI-Toolkit 1.0 project - Enable dynamically allocated space for virtual filesystem
Each change is described in the commit logs and in dedicated .txt documentation submitted along with the code. Any remarks and comments would be welcome.
Best regards, Marcin Wojtas
Bartosz Szczepanek (6): Drivers/I2c: Create MvI2cDxe driver Platforms/Marvell: Copy BdsLib to Armada7040 directory Platforms/Marvell: Add necessary BdsLibConnectAll call Drivers/I2c: Add MvEeprom driver Platforms/Marvell: Enable EEPROM driver on Armada7040 platforms Aplications/Eeprom: Add 'eeprom' command to shell
Jan Dąbroś (16): Platforms/Marvell: Create MppLib Platforms/Marvell: Armada: Enable MppLib on Armada7040 platforms Platforms/Marvell: Enable I2C driver on Armada7040 platforms Platforms/Marvell: Enable 'eeprom' command on Armada7040 platforms Platforms/Marvell: Add EFI_SPI_MASTER_PROTOCOL Drivers/Spi: Add Spi master driver Platforms/Marvell: Enable Spi master driver for Armada7040 boards Platforms/Marvell: Add EFI_SPI_FLASH_PROTOCOL Drivers/Spi: Implement Spi flash driver Platforms/Marvell: Enable Spi flash driver on Armada7040 platforms Applications/SpiTool: Add 'sf' command utility Platforms/Marvell: Enable 'sf' command on Armada7040 platforms Drivers/Ramdisk: Import Ramdisk driver from EFI Toolkit 2.0 Drivers/Ramdisk: Adjust Ramdisk driver to EDK2.0 Applications/FirmwareUpdate: Add 'fupdate' comand to shell Platforms/Marvell: Enable 'fupdate' command on Armada7040 platforms
Marcin Wojtas (1): Platforms/Marvell: Enable Ramdisk usage on Armada7040 platforms
Yehuda Yitschak (3): Chips/Marvell: Add serial port for Marvell SOCs Platforms/Marvell: Add initial support for Armada7040 SOC lib Platforms/Marvell: Add initial support for Armada7040 Platforms
Applications/EepromCmd/EepromCmd.c | 363 +++++++++++ Applications/EepromCmd/EepromCmd.inf | 74 +++ Applications/EepromCmd/EepromCmd.uni | Bin 0 -> 6816 bytes Applications/FirmwareUpdate/FUpdate.c | 437 +++++++++++++ Applications/FirmwareUpdate/FUpdate.inf | 69 +++ Applications/FirmwareUpdate/FUpdate.uni | Bin 0 -> 5838 bytes Applications/SpiTool/SpiFlashCmd.c | 528 ++++++++++++++++ Applications/SpiTool/SpiFlashCmd.inf | 76 +++ Applications/SpiTool/SpiFlashCmd.uni | Bin 0 -> 7216 bytes .../Library/SerialPortLib/DwSerialPortLib.c | 303 +++++++++ .../Library/SerialPortLib/DwSerialPortLib.inf | 43 ++ Documentation/Marvell/Drivers/EepromDriver.txt | 95 +++ Documentation/Marvell/Drivers/I2cDriver.txt | 64 ++ Documentation/Marvell/Drivers/SpiDriver.txt | 116 ++++ Documentation/Marvell/PortingGuide/I2c.txt | 16 + Documentation/Marvell/PortingGuide/Mpp.txt | 48 ++ Documentation/Marvell/PortingGuide/Ramdisk.txt | 7 + Documentation/Marvell/PortingGuide/Spi.txt | 15 + Documentation/Marvell/PortingGuide/SpiFlash.txt | 19 + Drivers/I2c/Devices/MvEeprom/MvEeprom.c | 292 +++++++++ Drivers/I2c/Devices/MvEeprom/MvEeprom.h | 88 +++ Drivers/I2c/Devices/MvEeprom/MvEeprom.inf | 70 +++ Drivers/I2c/MvI2cDxe/MvI2cDxe.c | 686 +++++++++++++++++++++ Drivers/I2c/MvI2cDxe/MvI2cDxe.h | 252 ++++++++ Drivers/I2c/MvI2cDxe/MvI2cDxe.inf | 73 +++ Drivers/Ramdisk/Ramdisk.c | 386 ++++++++++++ Drivers/Ramdisk/Ramdisk.h | 142 +++++ Drivers/Ramdisk/Ramdisk.inf | 73 +++ Drivers/Spi/Devices/MvSpiFlash.c | 523 ++++++++++++++++ Drivers/Spi/Devices/MvSpiFlash.h | 130 ++++ Drivers/Spi/Devices/MvSpiFlash.inf | 74 +++ Drivers/Spi/SpiDxe.c | 376 +++++++++++ Drivers/Spi/SpiDxe.h | 145 +++++ Drivers/Spi/SpiDxe.inf | 73 +++ Platforms/Marvell/Armada/Apn806.dsc | 84 +++ Platforms/Marvell/Armada/Armada.dsc.inc | 460 ++++++++++++++ Platforms/Marvell/Armada/Armada7040.fdf | 277 +++++++++ Platforms/Marvell/Armada/Armada7040_rz.dsc | 96 +++ .../Library/Armada7040BdsLib/Armada7040BdsLib.c | 428 +++++++++++++ .../Library/Armada7040BdsLib/Armada7040BdsLib.h | 37 ++ .../Library/Armada7040BdsLib/Armada7040BdsLib.inf | 66 ++ .../Armada7040Lib/AArch64/ArmPlatformHelper.S | 65 ++ .../Armada/Library/Armada7040Lib/Armada7040Lib.c | 156 +++++ .../Armada/Library/Armada7040Lib/Armada7040Lib.inf | 47 ++ .../Library/Armada7040Lib/Armada7040LibMem.c | 73 +++ Platforms/Marvell/Include/Library/MppLib.h | 42 ++ Platforms/Marvell/Include/Protocol/Eeprom.h | 60 ++ Platforms/Marvell/Include/Protocol/Spi.h | 105 ++++ Platforms/Marvell/Include/Protocol/SpiFlash.h | 102 +++ Platforms/Marvell/Library/MppLib/MppLib.c | 181 ++++++ Platforms/Marvell/Library/MppLib/MppLib.inf | 108 ++++ Platforms/Marvell/Marvell.dec | 135 ++++ 52 files changed, 8178 insertions(+) create mode 100644 Applications/EepromCmd/EepromCmd.c create mode 100644 Applications/EepromCmd/EepromCmd.inf create mode 100644 Applications/EepromCmd/EepromCmd.uni create mode 100644 Applications/FirmwareUpdate/FUpdate.c create mode 100644 Applications/FirmwareUpdate/FUpdate.inf create mode 100644 Applications/FirmwareUpdate/FUpdate.uni create mode 100644 Applications/SpiTool/SpiFlashCmd.c create mode 100644 Applications/SpiTool/SpiFlashCmd.inf create mode 100644 Applications/SpiTool/SpiFlashCmd.uni create mode 100644 Chips/Marvell/Library/SerialPortLib/DwSerialPortLib.c create mode 100644 Chips/Marvell/Library/SerialPortLib/DwSerialPortLib.inf create mode 100644 Documentation/Marvell/Drivers/EepromDriver.txt create mode 100644 Documentation/Marvell/Drivers/I2cDriver.txt create mode 100644 Documentation/Marvell/Drivers/SpiDriver.txt create mode 100644 Documentation/Marvell/PortingGuide/I2c.txt create mode 100644 Documentation/Marvell/PortingGuide/Mpp.txt create mode 100644 Documentation/Marvell/PortingGuide/Ramdisk.txt create mode 100644 Documentation/Marvell/PortingGuide/Spi.txt create mode 100644 Documentation/Marvell/PortingGuide/SpiFlash.txt create mode 100644 Drivers/I2c/Devices/MvEeprom/MvEeprom.c create mode 100644 Drivers/I2c/Devices/MvEeprom/MvEeprom.h create mode 100644 Drivers/I2c/Devices/MvEeprom/MvEeprom.inf create mode 100644 Drivers/I2c/MvI2cDxe/MvI2cDxe.c create mode 100644 Drivers/I2c/MvI2cDxe/MvI2cDxe.h create mode 100644 Drivers/I2c/MvI2cDxe/MvI2cDxe.inf create mode 100644 Drivers/Ramdisk/Ramdisk.c create mode 100644 Drivers/Ramdisk/Ramdisk.h create mode 100644 Drivers/Ramdisk/Ramdisk.inf create mode 100644 Drivers/Spi/Devices/MvSpiFlash.c create mode 100644 Drivers/Spi/Devices/MvSpiFlash.h create mode 100644 Drivers/Spi/Devices/MvSpiFlash.inf create mode 100644 Drivers/Spi/SpiDxe.c create mode 100644 Drivers/Spi/SpiDxe.h create mode 100644 Drivers/Spi/SpiDxe.inf create mode 100644 Platforms/Marvell/Armada/Apn806.dsc create mode 100644 Platforms/Marvell/Armada/Armada.dsc.inc create mode 100644 Platforms/Marvell/Armada/Armada7040.fdf create mode 100644 Platforms/Marvell/Armada/Armada7040_rz.dsc create mode 100644 Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.c create mode 100644 Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.h create mode 100644 Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.inf create mode 100644 Platforms/Marvell/Armada/Library/Armada7040Lib/AArch64/ArmPlatformHelper.S create mode 100644 Platforms/Marvell/Armada/Library/Armada7040Lib/Armada7040Lib.c create mode 100644 Platforms/Marvell/Armada/Library/Armada7040Lib/Armada7040Lib.inf create mode 100644 Platforms/Marvell/Armada/Library/Armada7040Lib/Armada7040LibMem.c create mode 100644 Platforms/Marvell/Include/Library/MppLib.h create mode 100644 Platforms/Marvell/Include/Protocol/Eeprom.h create mode 100644 Platforms/Marvell/Include/Protocol/Spi.h create mode 100644 Platforms/Marvell/Include/Protocol/SpiFlash.h create mode 100644 Platforms/Marvell/Library/MppLib/MppLib.c create mode 100644 Platforms/Marvell/Library/MppLib/MppLib.inf create mode 100644 Platforms/Marvell/Marvell.dec