Hi,
I sent v3 of firmware update command. I addressed all remarks from
v2 review. Details can be found in the changelog below.
The code can be also found in github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp…
Any comments or remarks would be welcome.
Best regards,
Marcin
Changelog:
v2 -> v3
* Rename header structure to MV_FIRMWARE_IMAGE_HEADER
* Add STATIC attribute where possible
* Improve flash probe (add comments, use UINT32, SPI_ID_SIZE define
and SwapBytes32)
* Use CalculateSum32() instead of custom implementation
* Improve prints when parsing image path
* Sort HiiGuid in Marvell.dec
* Improve help in .uni file
v1 -> v2
* Remove executing external shell commands from commandline - now
only local files can be burnt to flash
* Add MARVELL_SPI_FLASH_PROTOCOL and MARVELL_SPI_MASTER_PROTOCOL usage
* In order to be standalone command, enable detecting and configuring
SPI flash
* Style cleanup and new comments
Jan Dąbroś (2):
Applications/FirmwareUpdate: Add 'fupdate' comand to shell
Platforms/Marvell: Enable 'fupdate' command on Armada70x0 platform
Applications/FirmwareUpdate/FUpdate.c | 413 ++++++++++++++++++++++++++
Applications/FirmwareUpdate/FUpdate.inf | 75 +++++
Applications/FirmwareUpdate/FUpdate.uni | Bin 0 -> 5146 bytes
Platforms/Marvell/Armada/Armada.dsc.inc | 1 +
Platforms/Marvell/Include/Protocol/SpiFlash.h | 2 +
Platforms/Marvell/Marvell.dec | 1 +
6 files changed, 492 insertions(+)
create mode 100644 Applications/FirmwareUpdate/FUpdate.c
create mode 100644 Applications/FirmwareUpdate/FUpdate.inf
create mode 100644 Applications/FirmwareUpdate/FUpdate.uni
--
1.8.3.1
Hi,
I sent the last patchset of Marvell Armada 70x0 support. It is v2
of the firmware update shell command (v1 was in the very first big
patchset of basic support). After long discussions, executing external
shell commands was removed, as it's not proper (nor supported) solution
in EDK2.
Command's code was cleaned-up and massively reworked in order to be
independent from tftp and sf commands. Now 'fupdate' command performs
updating firmware from file placed on local filesystem. It consumes
MARVELL_SPI_FLASH_PROTOCOL and MARVELL_SPI_MASTER_PROTOCOL in order
to handle SPI transfer of the image. Command also verifies image data
correctness before burning to flash.
The code can be also found in github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp…
Any comments or remarks would be welcome.
Best regards,
Marcin
Changelog:
v1 -> v2
* Remove executing external shell commands from commandline - now
only local files can be burnt to flash
* Add MARVELL_SPI_FLASH_PROTOCOL and MARVELL_SPI_MASTER_PROTOCOL usage
* In order to be standalone command, enable detecting and configuring
SPI flash
* Style cleanup and new comments
Jan Dąbroś (2):
Applications/FirmwareUpdate: Add 'fupdate' comand to shell
Platforms/Marvell: Enable 'fupdate' command on Armada70x0 platform
Applications/FirmwareUpdate/FUpdate.c | 430 ++++++++++++++++++++++++++++++++
Applications/FirmwareUpdate/FUpdate.inf | 75 ++++++
Applications/FirmwareUpdate/FUpdate.uni | Bin 0 -> 5838 bytes
Platforms/Marvell/Armada/Armada.dsc.inc | 1 +
Platforms/Marvell/Marvell.dec | 1 +
5 files changed, 507 insertions(+)
create mode 100644 Applications/FirmwareUpdate/FUpdate.c
create mode 100644 Applications/FirmwareUpdate/FUpdate.inf
create mode 100644 Applications/FirmwareUpdate/FUpdate.uni
--
1.8.3.1
Hi,
On top of the latest NonDiscoverable (v4) PciEmulation support (all
devices work without modifying already accepted patchset) I submit
v3 of Xenon SdMmc driver. Improvements after review of
v2 have been implemented, also entire SdMmcPciHcDxe was imported
to new driver's directory.
There are two big modifications though - DMA operation has been
enabled and the diff between original driver and Xenon version
has shrunk and is limited only to the initialization process.
Other than that, the second controller on Armada 7040 was
added to PciEmulation HW description and later enabled. More
details can be found in the changelog.
Code is also available in the github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp…
We are looking forward to any comments or remarks.
Best regards,
Marcin
Changelog:
v2 -> v3
- Move driver to Drivers/SdMmc/XenonDxe/ directory
- Use 'Retry' instead of 'Timeout', when necessary
- Add comments to remaining stalls
- Enable DMA and remove PIO-related modifications
- Add description of the second controller in PciEmulation (new commit)
v1 -> v2
- Import whole stack from MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/
- Move driver to Drivers/SdMmc/Xenon/ directory
- Use Slot number 0 only, since XENON is using only this one
- Remove unnecessary delay
- Move SD/MMC PHY configuration to MPP lib (additional commit)
- Replace comments with defines
- Add descriptions to delays
- Improve commit logs
Jan Dąbroś (5):
Platforms/Marvell: MppLib: Configure SD/MMC PHY
Drivers/SdMmc: Import SdMmcPciHcDxe driver
Drivers/SdMmc: Replace deprecated debug level macros
Drivers/SdMmc: Adjust stack to fulfill Xenon controller demands
Platforms/Marvell: Enable SD/MMC stack for Armada70x0 platforms
Marcin Wojtas (2):
Platforms/Marvell/PciEmulation: Add second SD/MMC device of Armada70x0
Platforms/Marvell: Enable SD/MMC for Armada70x0 board
Drivers/SdMmc/XenonDxe/MvComponentName.c | 213 +++
Drivers/SdMmc/XenonDxe/MvEmmcDevice.c | 1164 ++++++++++++++
Drivers/SdMmc/XenonDxe/MvSdDevice.c | 1192 ++++++++++++++
Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.c | 1314 ++++++++++++++++
Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.h | 787 +++++++++
Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.inf | 64 +
Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.uni | 23 +
Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxeExtra.uni | 19 +
Drivers/SdMmc/XenonDxe/MvSdMmcPciHci.c | 1926 +++++++++++++++++++++++
Drivers/SdMmc/XenonDxe/MvSdMmcPciHci.h | 546 +++++++
Drivers/SdMmc/XenonDxe/XenonSdhci.c | 666 ++++++++
Drivers/SdMmc/XenonDxe/XenonSdhci.h | 346 ++++
Platforms/Marvell/Armada/Armada.dsc.inc | 5 +
Platforms/Marvell/Armada/Armada70x0.dsc | 1 +
Platforms/Marvell/Armada/Armada70x0.fdf | 7 +-
Platforms/Marvell/Library/MppLib/MppLib.c | 53 +
Platforms/Marvell/Library/MppLib/MppLib.inf | 1 +
Platforms/Marvell/PciEmulation/PciEmulation.c | 8 +-
18 files changed, 8330 insertions(+), 5 deletions(-)
create mode 100644 Drivers/SdMmc/XenonDxe/MvComponentName.c
create mode 100755 Drivers/SdMmc/XenonDxe/MvEmmcDevice.c
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdDevice.c
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.c
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.h
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.inf
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxe.uni
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdMmcPciHcDxeExtra.uni
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdMmcPciHci.c
create mode 100644 Drivers/SdMmc/XenonDxe/MvSdMmcPciHci.h
create mode 100755 Drivers/SdMmc/XenonDxe/XenonSdhci.c
create mode 100644 Drivers/SdMmc/XenonDxe/XenonSdhci.h
--
1.8.3.1