#include <linux/bitrev.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/iopoll.h>
#include <linux/irq.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/irqdomain.h>
#include <linux/kernel.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
#include <linux/pci_ids.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include <linux/regmap.h>
#include "../pci.h"
#include "pcie-rockchip.h"
static void rockchip_pcie_enable_bw_int(struct rockchip_pcie *rockchip)
{ … }
static void rockchip_pcie_clr_bw_int(struct rockchip_pcie *rockchip)
{ … }
static void rockchip_pcie_update_txcredit_mui(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_valid_device(struct rockchip_pcie *rockchip,
struct pci_bus *bus, int dev)
{ … }
static u8 rockchip_pcie_lane_map(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_rd_own_conf(struct rockchip_pcie *rockchip,
int where, int size, u32 *val)
{ … }
static int rockchip_pcie_wr_own_conf(struct rockchip_pcie *rockchip,
int where, int size, u32 val)
{ … }
static int rockchip_pcie_rd_other_conf(struct rockchip_pcie *rockchip,
struct pci_bus *bus, u32 devfn,
int where, int size, u32 *val)
{ … }
static int rockchip_pcie_wr_other_conf(struct rockchip_pcie *rockchip,
struct pci_bus *bus, u32 devfn,
int where, int size, u32 val)
{ … }
static int rockchip_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where,
int size, u32 *val)
{ … }
static int rockchip_pcie_wr_conf(struct pci_bus *bus, u32 devfn,
int where, int size, u32 val)
{ … }
static struct pci_ops rockchip_pcie_ops = …;
static void rockchip_pcie_set_power_limit(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_host_init_port(struct rockchip_pcie *rockchip)
{ … }
static irqreturn_t rockchip_pcie_subsys_irq_handler(int irq, void *arg)
{ … }
static irqreturn_t rockchip_pcie_client_irq_handler(int irq, void *arg)
{ … }
static void rockchip_pcie_intx_handler(struct irq_desc *desc)
{ … }
static int rockchip_pcie_setup_irq(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_parse_host_dt(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_set_vpcie(struct rockchip_pcie *rockchip)
{ … }
static void rockchip_pcie_enable_interrupts(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
irq_hw_number_t hwirq)
{ … }
static const struct irq_domain_ops intx_domain_ops = …;
static int rockchip_pcie_init_irq_domain(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_prog_ob_atu(struct rockchip_pcie *rockchip,
int region_no, int type, u8 num_pass_bits,
u32 lower_addr, u32 upper_addr)
{ … }
static int rockchip_pcie_prog_ib_atu(struct rockchip_pcie *rockchip,
int region_no, u8 num_pass_bits,
u32 lower_addr, u32 upper_addr)
{ … }
static int rockchip_pcie_cfg_atu(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_wait_l2(struct rockchip_pcie *rockchip)
{ … }
static int rockchip_pcie_suspend_noirq(struct device *dev)
{ … }
static int rockchip_pcie_resume_noirq(struct device *dev)
{ … }
static int rockchip_pcie_probe(struct platform_device *pdev)
{ … }
static void rockchip_pcie_remove(struct platform_device *pdev)
{ … }
static const struct dev_pm_ops rockchip_pcie_pm_ops = …;
static const struct of_device_id rockchip_pcie_of_match[] = …;
MODULE_DEVICE_TABLE(of, rockchip_pcie_of_match);
static struct platform_driver rockchip_pcie_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;