linux/drivers/pci/controller/pcie-rockchip-host.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Rockchip AXI PCIe host controller driver
 *
 * Copyright (c) 2016 Rockchip, Inc.
 *
 * Author: Shawn Lin <[email protected]>
 *         Wenrui Li <[email protected]>
 *
 * Bits taken from Synopsys DesignWare Host controller driver and
 * ARM PCI Host generic driver.
 */

#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)
{}

/**
 * rockchip_pcie_host_init_port - Initialize hardware
 * @rockchip: PCIe port information
 */
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)
{}

/**
 * rockchip_pcie_parse_host_dt - Parse Device Tree
 * @rockchip: PCIe port information
 *
 * Return: '0' on success and error value on failure
 */
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();