• Piyush Mehta's avatar
    ata: ahci: ceva: Update the driver to support xilinx GT phy · 9a9d3abe
    Piyush Mehta authored
    SATA controller used in Xilinx ZynqMP platform uses xilinx GT phy
    which has 4 GT lanes and can be used by 4 peripherals at a time.
    SATA controller uses 1 GT phy lane among the 4 GT lanes. To configure
    the GT lane for the SATA controller, the below sequence is expected.
    
    1. Assert the SATA controller reset.
    2. Configure the xilinx GT phy lane for SATA controller (phy_init).
    3. De-assert the SATA controller reset.
    4. Wait for PLL of the GT lane used by SATA to be locked (phy_power_on).
    
    The ahci_platform_enable_resources() by default does the phy_init()
    and phy_power_on() but the default sequence doesn't work with Xilinx
    platforms. Because of this reason, updated the driver to support the
    new sequence.
    
    Added cevapriv->rst check, for backward compatibility with the older
    sequence. If the reset controller is not available, then the SATA
    controller will configure with the older sequences.
    Signed-off-by: default avatarPiyush Mehta <piyush.mehta@xilinx.com>
    Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    9a9d3abe
ahci_ceva.c 10 KB