#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/of.h>
#include <linux/pci.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/resource.h>
#include <linux/of_pci.h>
#include "pcie-designware.h"
#define ARMADA8K_PCIE_MAX_LANES …
struct armada8k_pcie { … };
#define PCIE_VENDOR_REGS_OFFSET …
#define PCIE_GLOBAL_CONTROL_REG …
#define PCIE_APP_LTSSM_EN …
#define PCIE_DEVICE_TYPE_SHIFT …
#define PCIE_DEVICE_TYPE_MASK …
#define PCIE_DEVICE_TYPE_RC …
#define PCIE_GLOBAL_STATUS_REG …
#define PCIE_GLB_STS_RDLH_LINK_UP …
#define PCIE_GLB_STS_PHY_LINK_UP …
#define PCIE_GLOBAL_INT_CAUSE1_REG …
#define PCIE_GLOBAL_INT_MASK1_REG …
#define PCIE_INT_A_ASSERT_MASK …
#define PCIE_INT_B_ASSERT_MASK …
#define PCIE_INT_C_ASSERT_MASK …
#define PCIE_INT_D_ASSERT_MASK …
#define PCIE_ARCACHE_TRC_REG …
#define PCIE_AWCACHE_TRC_REG …
#define PCIE_ARUSER_REG …
#define PCIE_AWUSER_REG …
#define ARCACHE_DEFAULT_VALUE …
#define AWCACHE_DEFAULT_VALUE …
#define DOMAIN_OUTER_SHAREABLE …
#define AX_USER_DOMAIN_MASK …
#define AX_USER_DOMAIN_SHIFT …
#define to_armada8k_pcie(x) …
static void armada8k_pcie_disable_phys(struct armada8k_pcie *pcie)
{ … }
static int armada8k_pcie_enable_phys(struct armada8k_pcie *pcie)
{ … }
static int armada8k_pcie_setup_phys(struct armada8k_pcie *pcie)
{ … }
static int armada8k_pcie_link_up(struct dw_pcie *pci)
{ … }
static int armada8k_pcie_start_link(struct dw_pcie *pci)
{ … }
static int armada8k_pcie_host_init(struct dw_pcie_rp *pp)
{ … }
static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg)
{ … }
static const struct dw_pcie_host_ops armada8k_pcie_host_ops = …;
static int armada8k_add_pcie_port(struct armada8k_pcie *pcie,
struct platform_device *pdev)
{ … }
static const struct dw_pcie_ops dw_pcie_ops = …;
static int armada8k_pcie_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id armada8k_pcie_of_match[] = …;
static struct platform_driver armada8k_pcie_driver = …;
builtin_platform_driver(…) …;