Hi,
Here is the third version of a patchset adding network preparation support for Armada 7040 SoC, i.e. SerDes, MDIO and PHY libraries. All comments from v2 are included, more details in changelog below.
The patches are also available in the public github tree: https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/opp-...
Any comments or remarks would be welcome.
Best regards, Marcin
Changelog: v2 -> v3
*ComPhyLib: - Move all calls to GetComPhyPcd macro to separate function, because of its embroiled structure - Clean-up
*MDIO driver - Rename folder Drivers/Net/MdioDxe -> Drivers/Net/MvMdioDxe
* PHY driver - Replace meaningless comments with more proper one - Unify values format written to the phy during intialization
v1 -> v2
* ComPhyLib - Remove obsolete support for Z1 chip - delete SerDes init sequence, which isn't longer executed - Break up long functions with lanes' power up sequence into smaller (atomic) ones - Update documenatation - Minor changes in namings
* MDIO and PHY Library - Change MdioRead interface (use better approach of error handling) - Renaming and sorting - Improve commit messages
* Others - Rebase on top of 07/30 linaro-opp master branch
Bartosz Szczepanek (6): Platforms/Marvell: Include common network modules on Armada SoC's Platforms/Marvell: Add MARVELL_MDIO_PROTOCOL Platforms/Marvell: Enable MDIO driver on Armada70x0 platform Platforms/Marvell: Add MARVELL_PHY_PROTOCOL Drivers/Net: Create PHY driver for Marvell platforms Platforms/Marvell: Enable PHY driver on Armada70x0 platform
Jan Dąbroś (2): Platforms/Marvell: Create ComPhyLib Platforms/Marvell: Enable ComPhy Lib for Armada70x0 platform
Documentation/Marvell/PortingGuide/ComPhy.txt | 85 ++ Documentation/Marvell/PortingGuide/Mdio.txt | 7 + Documentation/Marvell/PortingGuide/Phy.txt | 45 + Drivers/Net/MvMdioDxe/MvMdioDxe.c | 237 +++++ Drivers/Net/MvMdioDxe/MvMdioDxe.h | 57 ++ Drivers/Net/MvMdioDxe/MvMdioDxe.inf | 69 ++ Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.c | 432 ++++++++ Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.h | 194 ++++ Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.inf | 71 ++ Platforms/Marvell/Armada/Armada.dsc.inc | 20 +- Platforms/Marvell/Armada/Armada70x0.dsc | 20 + Platforms/Marvell/Armada/Armada70x0.fdf | 14 + .../Armada/Library/Armada70x0Lib/Armada70x0Lib.c | 4 +- .../Armada/Library/Armada70x0Lib/Armada70x0Lib.inf | 1 + Platforms/Marvell/Include/Library/MvComPhyLib.h | 43 + Platforms/Marvell/Include/Protocol/Mdio.h | 66 ++ Platforms/Marvell/Include/Protocol/MvPhy.h | 103 ++ Platforms/Marvell/Library/ComPhyLib/ComPhyCp110.c | 1047 ++++++++++++++++++++ Platforms/Marvell/Library/ComPhyLib/ComPhyLib.c | 288 ++++++ Platforms/Marvell/Library/ComPhyLib/ComPhyLib.h | 452 +++++++++ Platforms/Marvell/Library/ComPhyLib/ComPhyLib.inf | 109 ++ Platforms/Marvell/Library/ComPhyLib/ComPhyMux.c | 132 +++ Platforms/Marvell/Marvell.dec | 60 ++ 23 files changed, 3553 insertions(+), 3 deletions(-) create mode 100644 Documentation/Marvell/PortingGuide/ComPhy.txt create mode 100644 Documentation/Marvell/PortingGuide/Mdio.txt create mode 100644 Documentation/Marvell/PortingGuide/Phy.txt create mode 100644 Drivers/Net/MvMdioDxe/MvMdioDxe.c create mode 100644 Drivers/Net/MvMdioDxe/MvMdioDxe.h create mode 100644 Drivers/Net/MvMdioDxe/MvMdioDxe.inf create mode 100644 Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.c create mode 100644 Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.h create mode 100644 Drivers/Net/Phy/MvPhyDxe/MvPhyDxe.inf create mode 100644 Platforms/Marvell/Include/Library/MvComPhyLib.h create mode 100644 Platforms/Marvell/Include/Protocol/Mdio.h create mode 100644 Platforms/Marvell/Include/Protocol/MvPhy.h create mode 100755 Platforms/Marvell/Library/ComPhyLib/ComPhyCp110.c create mode 100644 Platforms/Marvell/Library/ComPhyLib/ComPhyLib.c create mode 100644 Platforms/Marvell/Library/ComPhyLib/ComPhyLib.h create mode 100644 Platforms/Marvell/Library/ComPhyLib/ComPhyLib.inf create mode 100644 Platforms/Marvell/Library/ComPhyLib/ComPhyMux.c