Hi Leif,
Quick resend of the patchset with minor correction pointed in v3.
The code can be also found in github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp…
We will pop the champagne after NonDiscoverable merge, but
thank you very much for your help and support getting all
Armada 70x0 stuff into the tree.
Best regards,
Marcin
Changelog:
v3 -> v4
* Change SPI_ID_SIZE to sizeof (UINT32)
* Add reviewed-by
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/Marvell.dec | 1 +
5 files changed, 490 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 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
Changelog:
v3
Fixed style issues (STATIC, VOID, spaces and include files order).
Fixed depreciated defines (EFI_D_ERROR and EFI_D_NET).
Split patch into a set of patches due to the patch size.
v2
- Updated msk_if_softc structures to hold data pointers to its parent
controller structure and corresponding PHY structure.
- Updated e1000phy_softc structure to hold a data pointer to its
logical controller.
- Reduced number of parameters in multiple functions. Using the
msk_if_softc and msk_softc structure members instead.
- Corrected the code for dual MAC controllers. Each logical interface
has its own TX and RX buffers. The YUKON_DRIVER driver's structure
includes a controller port number. The SNP interface functions passing
a msk_if_softc object (corresponding to the controller interface) to
the if_msk interface functions.
- Removed linked lists from the if_msk and e1000phy. The association
between msk_softc and controller resolved on the SNP interface level.
v1
The patch adds support for multi-controller configuration.
Daniil Egranov (4):
Drivers/Net/MarvellYukonDxe: Pass interface structure as a parameter
Drivers/Net/MarvellYukonDxe: Pass PHY structure as a parameter
Drivers/Net/MarvellYukonDxe: Added multi-MAC and multi-controller
support
Drivers/Net/MarvellYukonDxe: Enhance controller's interface structure
Drivers/Net/MarvellYukonDxe/DriverBinding.c | 452 +++++++---
Drivers/Net/MarvellYukonDxe/MarvellYukon.h | 71 ++
Drivers/Net/MarvellYukonDxe/Snp.c | 64 +-
Drivers/Net/MarvellYukonDxe/e1000phy.c | 241 +++---
Drivers/Net/MarvellYukonDxe/e1000phyreg.h | 12 +
Drivers/Net/MarvellYukonDxe/if_msk.c | 1223 ++++++++++++++-------------
Drivers/Net/MarvellYukonDxe/if_msk.h | 23 +-
Drivers/Net/MarvellYukonDxe/if_mskreg.h | 16 +-
Drivers/Net/MarvellYukonDxe/miivar.h | 15 +-
9 files changed, 1274 insertions(+), 843 deletions(-)
--
2.7.4