linux/drivers/pci/controller/dwc/pcie-designware.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Synopsys DesignWare PCIe host controller driver
 *
 * Copyright (C) 2013 Samsung Electronics Co., Ltd.
 *		https://www.samsung.com
 *
 * Author: Jingoo Han <[email protected]>
 */

#include <linux/align.h>
#include <linux/bitops.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/dma/edma.h>
#include <linux/gpio/consumer.h>
#include <linux/ioport.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/sizes.h>
#include <linux/types.h>

#include "../../pci.h"
#include "pcie-designware.h"

static const char * const dw_pcie_app_clks[DW_PCIE_NUM_APP_CLKS] =;

static const char * const dw_pcie_core_clks[DW_PCIE_NUM_CORE_CLKS] =;

static const char * const dw_pcie_app_rsts[DW_PCIE_NUM_APP_RSTS] =;

static const char * const dw_pcie_core_rsts[DW_PCIE_NUM_CORE_RSTS] =;

static int dw_pcie_get_clocks(struct dw_pcie *pci)
{}

static int dw_pcie_get_resets(struct dw_pcie *pci)
{}

int dw_pcie_get_resources(struct dw_pcie *pci)
{}

void dw_pcie_version_detect(struct dw_pcie *pci)
{}

/*
 * These interfaces resemble the pci_find_*capability() interfaces, but these
 * are for configuring host controllers, which are bridges *to* PCI devices but
 * are not PCI devices themselves.
 */
static u8 __dw_pcie_find_next_cap(struct dw_pcie *pci, u8 cap_ptr,
				  u8 cap)
{}

u8 dw_pcie_find_capability(struct dw_pcie *pci, u8 cap)
{}
EXPORT_SYMBOL_GPL();

static u16 dw_pcie_find_next_ext_capability(struct dw_pcie *pci, u16 start,
					    u8 cap)
{}

u16 dw_pcie_find_ext_capability(struct dw_pcie *pci, u8 cap)
{}
EXPORT_SYMBOL_GPL();

int dw_pcie_read(void __iomem *addr, int size, u32 *val)
{}
EXPORT_SYMBOL_GPL();

int dw_pcie_write(void __iomem *addr, int size, u32 val)
{}
EXPORT_SYMBOL_GPL();

u32 dw_pcie_read_dbi(struct dw_pcie *pci, u32 reg, size_t size)
{}
EXPORT_SYMBOL_GPL();

void dw_pcie_write_dbi(struct dw_pcie *pci, u32 reg, size_t size, u32 val)
{}
EXPORT_SYMBOL_GPL();

void dw_pcie_write_dbi2(struct dw_pcie *pci, u32 reg, size_t size, u32 val)
{}
EXPORT_SYMBOL_GPL();

static inline void __iomem *dw_pcie_select_atu(struct dw_pcie *pci, u32 dir,
					       u32 index)
{}

static u32 dw_pcie_readl_atu(struct dw_pcie *pci, u32 dir, u32 index, u32 reg)
{}

static void dw_pcie_writel_atu(struct dw_pcie *pci, u32 dir, u32 index,
			       u32 reg, u32 val)
{}

static inline u32 dw_pcie_readl_atu_ob(struct dw_pcie *pci, u32 index, u32 reg)
{}

static inline void dw_pcie_writel_atu_ob(struct dw_pcie *pci, u32 index, u32 reg,
					 u32 val)
{}

static inline u32 dw_pcie_enable_ecrc(u32 val)
{}

int dw_pcie_prog_outbound_atu(struct dw_pcie *pci,
			      const struct dw_pcie_ob_atu_cfg *atu)
{}

static inline u32 dw_pcie_readl_atu_ib(struct dw_pcie *pci, u32 index, u32 reg)
{}

static inline void dw_pcie_writel_atu_ib(struct dw_pcie *pci, u32 index, u32 reg,
					 u32 val)
{}

int dw_pcie_prog_inbound_atu(struct dw_pcie *pci, int index, int type,
			     u64 cpu_addr, u64 pci_addr, u64 size)
{}

int dw_pcie_prog_ep_inbound_atu(struct dw_pcie *pci, u8 func_no, int index,
				int type, u64 cpu_addr, u8 bar)
{}

void dw_pcie_disable_atu(struct dw_pcie *pci, u32 dir, int index)
{}

int dw_pcie_wait_for_link(struct dw_pcie *pci)
{}
EXPORT_SYMBOL_GPL();

int dw_pcie_link_up(struct dw_pcie *pci)
{}
EXPORT_SYMBOL_GPL();

void dw_pcie_upconfig_setup(struct dw_pcie *pci)
{}
EXPORT_SYMBOL_GPL();

static void dw_pcie_link_set_max_speed(struct dw_pcie *pci)
{}

static void dw_pcie_link_set_max_link_width(struct dw_pcie *pci, u32 num_lanes)
{}

void dw_pcie_iatu_detect(struct dw_pcie *pci)
{}

static u32 dw_pcie_readl_dma(struct dw_pcie *pci, u32 reg)
{}

static int dw_pcie_edma_irq_vector(struct device *dev, unsigned int nr)
{}

static struct dw_edma_plat_ops dw_pcie_edma_ops =;

static void dw_pcie_edma_init_data(struct dw_pcie *pci)
{}

static int dw_pcie_edma_find_mf(struct dw_pcie *pci)
{}

static int dw_pcie_edma_find_channels(struct dw_pcie *pci)
{}

static int dw_pcie_edma_find_chip(struct dw_pcie *pci)
{}

static int dw_pcie_edma_irq_verify(struct dw_pcie *pci)
{}

static int dw_pcie_edma_ll_alloc(struct dw_pcie *pci)
{}

int dw_pcie_edma_detect(struct dw_pcie *pci)
{}

void dw_pcie_edma_remove(struct dw_pcie *pci)
{}

void dw_pcie_setup(struct dw_pcie *pci)
{}