• Serge Semin's avatar
    PCI: dwc: Add Baikal-T1 PCIe controller support · ba6ed462
    Serge Semin authored
    Baikal-T1 SoC is equipped with DWC PCIe v4.60a host controller. It can be
    trained to work up to Gen.3 speed over up to x4 lanes. The host controller
    is attached to the DW PCIe 3.0 PCS via the PIPE-4 interface, which in its
    turn is connected to the DWC 10G PHY. The whole system is supposed to be
    fed up with four clock sources: DBI peripheral clock, AXI application
    clocks and external PHY/core reference clock generating the 100MHz signal.
    In addition to that the platform provide a way to reset each part of the
    controller: sticky/non-sticky bits, host controller core, PIPE interface,
    PCS/PHY and Hot/Power reset signal. The driver also provides a way to
    handle the GPIO-based PERST# signal.
    
    Note due to the Baikal-T1 MMIO peculiarity we have to implement the DBI
    interface accessors which make sure the IO operations are dword-aligned.
    
    Link: https://lore.kernel.org/r/20221113191301.5526-21-Sergey.Semin@baikalelectronics.ruSigned-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
    Signed-off-by: default avatarLorenzo Pieralisi <lpieralisi@kernel.org>
    ba6ed462
pcie-bt1.c 18.1 KB