On Sun, Jul 10, 2016 at 02:21:24AM +0200, Marcin Wojtas wrote:
Hello,
Here's 6th version of the support. It's rebased on top of newest master branch and comprise fixes from the latest review.
Patches are also available in the github: https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp-...
Any comments or remarks would be welcome.
Hi Marcin. I have now pushed 1-20/23 to OpenPlatformPkg master. 21-22, I still want to give some more thought, and 23 we've agreed to drop.
Many thanks for your contribution.
Regards,
Leif
Best regards, Marcin
Changelog: v5 -> v6
- Initial support
- Enable compilation after ArmMmuLib was added to edk2
- Remove commented-out line
- Enable up to 64MB RamDisk space for all Armada platforms
- Move adding "-fno-unwind-tables" build flag to a separate patch and add explanation for this change
- I2C
- Change MvI2cDevicePathProtocol to STATIC in MvI2cDxe.c
- Generate new I2C_GUID
- Move I2C_GUID to header files and extend existing FIXME comment
- Fupdate
- Add FIXME note over including relative path from edk2. It was needed after fixing regression by replacing ShellExecute with RunShellCommand
v4 -> v5
- Add ParsePcdLib
- Library created in order to parse PCD strings - it makes support for multi-controller easier to implement
- I2c
- Introduce multi-bus support
- Remove comments regarding GUID-slave address dependency
- Add FIXME comment about no-restart dual definition
- eeprom command
- Enable selecting I2C bus
- Add FIXME comment about no-restart dual definition
- Spi
- Fix writing procedure
- Rename protocol to MARVELL_SPI_MASTER_PROTOCOL
- General
- Remove commented-out, unused lines
v3 -> v4
- Update license messages
- Unify
- Add "Based on" statement were needed
- Wrap every message at 80 characters
- Add Marvell copyrights
- Fix namings
- All protocol/file names updated as suggested in review
- Clean-up
- Remove unneded blank lines and spaces
- Fix typos
- Add "Reviewed by" for currently accepted patches
- Add support for new platform - Armada70x0
- Remove support for old platforms Apn806 and Armada7040_rz
- Armada70x0 is based on Armada7040_rz with silicone fixes and improvements
- No changes on drivers/libraries caused by this change
- Update commit logs in whole tree
- MppLib
- Fix issue with writing to uninitialized memory
- I2c and eeprom command
- Remove dependency on BdsLibConnectAll call
- I2c stack is connected only if eeprom command is executed and only in case it wasn't done before
- gBS->ConnectController() used
- BdsLib
- Remove import of BdsLib
- After rebase on top of new edk2, extra BdsLibConnectAll call isn't necessary (actually for now no BdsLibConnectAll is needed at all for our platform support)
- sf command
- Remove inclusion of relative path
- Necessary macro now defined in globally exported file
- RamDisk driver
- Drop patch with this feature
- As long as there is no possibility to format RamDisk with FAT, driver is not useful on Armada70x0
- fupdate command
- Fix issue with "bad checksum"
v2 -> v3
- Decrease binary size
- Fupdate command
- Remove regression - replace ShellExecute with RunShellCommand
- Improve error paths
- Add proper DEBUG library and change error print levels
v1 -> v2
- Fix "may be used uninitialized" variables issue, branch compiles both with DEBUG and RELEASE flags
- Remove I2C_FLAG_NORESTART dependency - replace it with local definition
- Remove Marvell UART Library:
Since in edk2 there is support for 16550, internal library is unnecessary.
- DW8250 IP has programming interface compatible with NS-16550.
- /Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf is used instead
- RamDisk driver:
- Remove old driver imported from EFI TOOLKIT 2.0
- Replace it with new MdeModulePkg/Universal/Disk/RamDiskDxe from edk2
- Lack of FAT formatting issue emerged
- Add explicit dependency on IoLib in Drivers/Spi/SpiDxe.inf
- Add poster's "Signed-off-by" registry to every commit message
- Move to 05.04.2016 HEAD of edk2/master
- Update CpuExceptionHandlerLib within OPP.
Bartosz Szczepanek (3): Drivers/I2c: Create MvI2cDxe driver Drivers/I2c: Add MvEeprom driver Aplications/Eeprom: Add 'eeprom' command to shell
Haim Boot (1): Platforms/Marvell: Enable compilation with aarch64-linux-gnueabi toolchain
Jan Dąbroś (17): Platforms/Marvell: Create MppLib Platforms/Marvell: Armada: Enable MppLib on Armada70x0 platform Platforms/Marvell: Create ParsePcdLib Platforms/Marvell: Enable ParsePcdLib for Armada70x0 platform Platforms/Marvell: Enable I2C driver on Armada70x0 platform Plaforms/Marvell: Enable EEPROM driver on Armada70x0 platform Platforms/Marvell: Enable 'eeprom' command on Armada70x0 platform Platforms/Marvell: Add MARVELL_SPI_MASTER_PROTOCOL Drivers/Spi: Add Spi master driver Platforms/Marvell: Enable Spi master driver for Armada70x0 platform Platforms/Marvell: Add MARVELL_SPI_FLASH_PROTOCOL Drivers/Spi: Implement Spi flash driver Platforms/Marvell: Enable Spi flash driver for Armada70x0 platform Applications/SpiTool: Add 'sf' command utility Platforms/Marvell: Enable 'sf' command on Armada70x0 platform Applications/FirmwareUpdate: Add 'fupdate' comand to shell Platforms/Marvell: Enable 'fupdate' command on Armada70x0 platform
Yehuda Yitschak (2): Platforms/Marvell: Add initial support for Armada70x0 SOC lib Platforms/Marvell: Add support for Armada70x0 platform
Applications/EepromCmd/EepromCmd.c | 397 +++++++++++ Applications/EepromCmd/EepromCmd.inf | 71 ++ Applications/EepromCmd/EepromCmd.uni | Bin 0 -> 6816 bytes Applications/FirmwareUpdate/FUpdate.c | 448 +++++++++++++ Applications/FirmwareUpdate/FUpdate.inf | 68 ++ Applications/FirmwareUpdate/FUpdate.uni | Bin 0 -> 5838 bytes Applications/SpiTool/SpiFlashCmd.c | 526 +++++++++++++++ Applications/SpiTool/SpiFlashCmd.inf | 75 +++ Applications/SpiTool/SpiFlashCmd.uni | Bin 0 -> 7216 bytes Documentation/Marvell/Drivers/EepromDriver.txt | 96 +++ Documentation/Marvell/Drivers/I2cDriver.txt | 64 ++ Documentation/Marvell/Drivers/SpiDriver.txt | 116 ++++ Documentation/Marvell/PortingGuide/I2c.txt | 20 + Documentation/Marvell/PortingGuide/Mpp.txt | 48 ++ Documentation/Marvell/PortingGuide/Spi.txt | 15 + Documentation/Marvell/PortingGuide/SpiFlash.txt | 23 + Drivers/I2c/Devices/MvEeprom/MvEeprom.c | 292 ++++++++ Drivers/I2c/Devices/MvEeprom/MvEeprom.h | 103 +++ Drivers/I2c/Devices/MvEeprom/MvEeprom.inf | 70 ++ Drivers/I2c/MvI2cDxe/MvI2cDxe.c | 739 +++++++++++++++++++++ Drivers/I2c/MvI2cDxe/MvI2cDxe.h | 269 ++++++++ Drivers/I2c/MvI2cDxe/MvI2cDxe.inf | 75 +++ Drivers/Spi/Devices/MvSpiFlash.c | 531 +++++++++++++++ Drivers/Spi/Devices/MvSpiFlash.h | 132 ++++ Drivers/Spi/Devices/MvSpiFlash.inf | 67 ++ Drivers/Spi/MvSpiDxe.c | 379 +++++++++++ Drivers/Spi/MvSpiDxe.h | 145 ++++ Drivers/Spi/MvSpiDxe.inf | 66 ++ Platforms/Marvell/Armada/Armada.dsc.inc | 453 +++++++++++++ Platforms/Marvell/Armada/Armada70x0.dsc | 97 +++ Platforms/Marvell/Armada/Armada70x0.fdf | 270 ++++++++ .../Armada70x0Lib/AArch64/ArmPlatformHelper.S | 66 ++ .../Armada/Library/Armada70x0Lib/Armada70x0Lib.c | 155 +++++ .../Armada/Library/Armada70x0Lib/Armada70x0Lib.inf | 69 ++ .../Library/Armada70x0Lib/Armada70x0LibMem.c | 93 +++ Platforms/Marvell/Include/Library/MppLib.h | 42 ++ Platforms/Marvell/Include/Library/ParsePcdLib.h | 46 ++ Platforms/Marvell/Include/Protocol/Eeprom.h | 60 ++ Platforms/Marvell/Include/Protocol/Spi.h | 105 +++ Platforms/Marvell/Include/Protocol/SpiFlash.h | 113 ++++ Platforms/Marvell/Library/MppLib/MppLib.c | 163 +++++ Platforms/Marvell/Library/MppLib/MppLib.inf | 107 +++ .../Marvell/Library/ParsePcdLib/ParsePcdLib.c | 228 +++++++ .../Marvell/Library/ParsePcdLib/ParsePcdLib.inf | 50 ++ Platforms/Marvell/Marvell.dec | 136 ++++ 45 files changed, 7088 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 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/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 100755 Drivers/I2c/MvI2cDxe/MvI2cDxe.c create mode 100644 Drivers/I2c/MvI2cDxe/MvI2cDxe.h create mode 100755 Drivers/I2c/MvI2cDxe/MvI2cDxe.inf create mode 100755 Drivers/Spi/Devices/MvSpiFlash.c create mode 100755 Drivers/Spi/Devices/MvSpiFlash.h create mode 100644 Drivers/Spi/Devices/MvSpiFlash.inf create mode 100755 Drivers/Spi/MvSpiDxe.c create mode 100644 Drivers/Spi/MvSpiDxe.h create mode 100644 Drivers/Spi/MvSpiDxe.inf create mode 100644 Platforms/Marvell/Armada/Armada.dsc.inc create mode 100644 Platforms/Marvell/Armada/Armada70x0.dsc create mode 100644 Platforms/Marvell/Armada/Armada70x0.fdf create mode 100644 Platforms/Marvell/Armada/Library/Armada70x0Lib/AArch64/ArmPlatformHelper.S create mode 100644 Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.c create mode 100644 Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf create mode 100644 Platforms/Marvell/Armada/Library/Armada70x0Lib/Armada70x0LibMem.c create mode 100644 Platforms/Marvell/Include/Library/MppLib.h create mode 100644 Platforms/Marvell/Include/Library/ParsePcdLib.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/Library/ParsePcdLib/ParsePcdLib.c create mode 100644 Platforms/Marvell/Library/ParsePcdLib/ParsePcdLib.inf create mode 100644 Platforms/Marvell/Marvell.dec
-- 1.8.3.1