Reading more closely through my logs you can see <linux/phy/phy.h> is actually failing to power on the device at all and it occurs right after the Marvell XOR driver is loaded after pcie is initialized after the Block Layer SCSI Generic driver is loaded after the Linux SCSI subsystem is initialized.
[ 0.418797] SCSI subsystem initialized
...
2.802484] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
...
[ 3.101118] mv_xor d0060900.xor: Marvell shared XOR driver
[ 3.161135] mv_xor d0060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[ 3.231083] mv_xor d0060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[ 3.239264] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 3.247052] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 3.253908] phy phy-d0018300.phy.2: phy poweron failed --> -1
[ 3.259781] ahci-mvebu: probe of d00e0000.sata failed with error -1
This doesn't quite look like a problem with AHCI-MVEBU because it's actually the standard Linux Phy driver that seems to be failing even though it has the right address
https://cateee.net/lkddb/web-lkddb/AHCI_MVEBU.html
ahci-mvebu: https://github.com/torvalds/linux/blob/ ... ci_mvebu.c
Block Layer SCSI Generic driver: https://github.com/spotify/linux/blob/m ... lock/bsg.c
ahci: https://github.com/torvalds/linux/blob/ ... ata/ahci.h
phy.h: https://github.com/torvalds/linux/blob/ ... /phy/phy.h
phy driver core: https://github.com/torvalds/linux/blob/ ... phy-core.c