• Miquel Raynal's avatar
    ata: ahci: mvebu: add Armada 3700 initialization needed for S2RAM · 2f558bc3
    Miquel Raynal authored
    A3700 comphy initialization is done in the firmware (TF-A). Looking at
    the SATA PHY initialization routine, there is a comment about "vendor
    specific" registers. Two registers are mentioned. They are not
    initialized there in the firmware because they are AHCI related, while
    the firmware at this location does only PHY configuration. The
    solution to avoid doing such initialization is relying on U-Boot.
    
    While this work at boot time, U-Boot is definitely not going to run
    during a resume after suspending to RAM.
    
    Two possible solutions were considered:
    * Fixing the firmware.
    * Fixing the kernel driver.
    
    The first solution would take ages to propagate, while the second
    solution is easy to implement as the driver as been a little bit
    reworked to prepare for such platform configuration. Hence, this patch
    adds an Armada 3700 configuration function to set these two registers
    both at boot time (in the probe) and after a suspend (in the resume
    path).
    Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    2f558bc3
ahci_mvebu.c 6.56 KB