#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/gpio/consumer.h>
#include <linux/iopoll.h>
#include <linux/mod_devicetable.h>
#include <linux/pci_regs.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/reset.h>
#include "../../pci.h"
#include "pcie-designware.h"
#define PORT_AFR_N_FTS_GEN12_DFT …
#define PORT_AFR_N_FTS_GEN3 …
#define PORT_AFR_N_FTS_GEN4 …
#define PCIE_APP_CCR …
#define PCIE_APP_CCR_LTSSM_ENABLE …
#define PCIE_APP_MSG_CR …
#define PCIE_APP_MSG_XMT_PM_TURNOFF …
#define PCIE_APP_PMC …
#define PCIE_APP_PMC_IN_L2 …
#define PCIE_APP_IRNEN …
#define PCIE_APP_IRNCR …
#define PCIE_APP_IRN_AER_REPORT …
#define PCIE_APP_IRN_PME …
#define PCIE_APP_IRN_RX_VDM_MSG …
#define PCIE_APP_IRN_PM_TO_ACK …
#define PCIE_APP_IRN_LINK_AUTO_BW_STAT …
#define PCIE_APP_IRN_BW_MGT …
#define PCIE_APP_IRN_INTA …
#define PCIE_APP_IRN_INTB …
#define PCIE_APP_IRN_INTC …
#define PCIE_APP_IRN_INTD …
#define PCIE_APP_IRN_MSG_LTR …
#define PCIE_APP_IRN_SYS_ERR_RC …
#define PCIE_APP_INTX_OFST …
#define PCIE_APP_IRN_INT …
#define BUS_IATU_OFFSET …
#define RESET_INTERVAL_MS …
struct intel_pcie { … };
static void pcie_update_bits(void __iomem *base, u32 ofs, u32 mask, u32 val)
{ … }
static inline void pcie_app_wr(struct intel_pcie *pcie, u32 ofs, u32 val)
{ … }
static void pcie_app_wr_mask(struct intel_pcie *pcie, u32 ofs,
u32 mask, u32 val)
{ … }
static inline u32 pcie_rc_cfg_rd(struct intel_pcie *pcie, u32 ofs)
{ … }
static inline void pcie_rc_cfg_wr(struct intel_pcie *pcie, u32 ofs, u32 val)
{ … }
static void pcie_rc_cfg_wr_mask(struct intel_pcie *pcie, u32 ofs,
u32 mask, u32 val)
{ … }
static void intel_pcie_ltssm_enable(struct intel_pcie *pcie)
{ … }
static void intel_pcie_ltssm_disable(struct intel_pcie *pcie)
{ … }
static void intel_pcie_link_setup(struct intel_pcie *pcie)
{ … }
static void intel_pcie_init_n_fts(struct dw_pcie *pci)
{ … }
static int intel_pcie_ep_rst_init(struct intel_pcie *pcie)
{ … }
static void intel_pcie_core_rst_assert(struct intel_pcie *pcie)
{ … }
static void intel_pcie_core_rst_deassert(struct intel_pcie *pcie)
{ … }
static void intel_pcie_device_rst_assert(struct intel_pcie *pcie)
{ … }
static void intel_pcie_device_rst_deassert(struct intel_pcie *pcie)
{ … }
static void intel_pcie_core_irq_disable(struct intel_pcie *pcie)
{ … }
static int intel_pcie_get_resources(struct platform_device *pdev)
{ … }
static int intel_pcie_wait_l2(struct intel_pcie *pcie)
{ … }
static void intel_pcie_turn_off(struct intel_pcie *pcie)
{ … }
static int intel_pcie_host_setup(struct intel_pcie *pcie)
{ … }
static void __intel_pcie_remove(struct intel_pcie *pcie)
{ … }
static void intel_pcie_remove(struct platform_device *pdev)
{ … }
static int intel_pcie_suspend_noirq(struct device *dev)
{ … }
static int intel_pcie_resume_noirq(struct device *dev)
{ … }
static int intel_pcie_rc_init(struct dw_pcie_rp *pp)
{ … }
static u64 intel_pcie_cpu_addr(struct dw_pcie *pcie, u64 cpu_addr)
{ … }
static const struct dw_pcie_ops intel_pcie_ops = …;
static const struct dw_pcie_host_ops intel_pcie_dw_ops = …;
static int intel_pcie_probe(struct platform_device *pdev)
{ … }
static const struct dev_pm_ops intel_pcie_pm_ops = …;
static const struct of_device_id of_intel_pcie_match[] = …;
static struct platform_driver intel_pcie_driver = …;
builtin_platform_driver(…) …;