mbox series

[phy,v4,0/5] Armada 3720 comphy native implementation

Message ID 20220203214444.1508-1-kabel@kernel.org
Headers show
Series Armada 3720 comphy native implementation | expand

Message

Marek Behún Feb. 3, 2022, 9:44 p.m. UTC
Hello Vinod,

this is v4 of series converting A3720 comphy to native kernel
implementation.

Tested on Turris MOX and ESPRESSObin (tested all supported PHY modes:
ethernet, PCIe, USB3, SATA).

Changes since v3:
- addressed Vinod's comments, see
  https://lore.kernel.org/linux-phy/20220203223913.41e9f375@thinkpad/T/#u
- changed comment of step 12 in mvebu_a3700_comphy_ethernet_power_on()
  a little

Changes since v2:
- removed device-tree changing patch, Gregory applied it on mvebu/dt64
- changed raw spin lock to ordinary spin lock
- fixed indentation of gbe_phy_init_fix
- use FIELD_PREP() macro

Changes since v1 (all changes in patch 2/6):
- refactored to use GENMASK()
- fixed various register names to conform to Functional Specification
- refactored various register names to have uniform naming
- refactored register access into one function, which decides whether
  the access should be direct or indirect, so as to not have all these
  checks done everywhere in the code
- moved around one register definition to have the registers sorted
  according to their offset
- added comments to some register definitions
- added support for PHY reset() method
- when changing PHY mode, the driver now resets the PHY and its
  registers to put the PHY in known state
- fixed the power_off() method
- added spinlock guard when accessing PHY Selector register, since it
  is shared between the PHYs and so the PHY mutex is insufficient
- upon driver probe changed the calls to power_off() to reset()


The original cover letter said:

The RPC calling to ARM Trusted Firmware implementation of Armada 3720
comphy driver caused quite a number of issues (explained more in patch 2).

This series fixes those issues by reimplementing the driver to native
kernel implementation.

The last 3 commits revert commits in AHCI, USB, and PCI drivers, that were
introduced there because of those issues.

Pali Rohár (5):
  phy: marvell: phy-mvebu-a3700-comphy: Remove port from driver
    configuration
  phy: marvell: phy-mvebu-a3700-comphy: Add native kernel implementation
  Revert "ata: ahci: mvebu: Make SATA PHY optional for Armada 3720"
  Revert "usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada
    3720"
  Revert "PCI: aardvark: Fix initialization with old Marvell's Arm
    Trusted Firmware"

 drivers/ata/ahci.h                           |    2 -
 drivers/ata/ahci_mvebu.c                     |    2 +-
 drivers/ata/libahci_platform.c               |    2 +-
 drivers/pci/controller/pci-aardvark.c        |    4 +-
 drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 1350 ++++++++++++++++--
 drivers/usb/host/xhci-mvebu.c                |   42 -
 drivers/usb/host/xhci-mvebu.h                |    6 -
 drivers/usb/host/xhci-plat.c                 |   20 +-
 drivers/usb/host/xhci-plat.h                 |    1 -
 9 files changed, 1226 insertions(+), 203 deletions(-)

Comments

Vinod Koul Feb. 25, 2022, 1:43 p.m. UTC | #1
On 03-02-22, 22:44, Marek Behún wrote:
> Hello Vinod,
> 
> this is v4 of series converting A3720 comphy to native kernel
> implementation.
> 
> Tested on Turris MOX and ESPRESSObin (tested all supported PHY modes:
> ethernet, PCIe, USB3, SATA).

Applied all, thanks
Pali Rohár Feb. 25, 2022, 1:44 p.m. UTC | #2
On Friday 25 February 2022 19:13:10 Vinod Koul wrote:
> On 03-02-22, 22:44, Marek Behún wrote:
> > Hello Vinod,
> > 
> > this is v4 of series converting A3720 comphy to native kernel
> > implementation.
> > 
> > Tested on Turris MOX and ESPRESSObin (tested all supported PHY modes:
> > ethernet, PCIe, USB3, SATA).
> 
> Applied all, thanks
> 
> -- 
> ~Vinod

Thank you very much!