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

// SPDX-License-Identifier: GPL-2.0
/*
 * PCIe host controller driver for UniPhier SoCs
 * Copyright 2018 Socionext Inc.
 * Author: Kunihiko Hayashi <[email protected]>
 */

#include <linux/bitops.h>
#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/iopoll.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/irqdomain.h>
#include <linux/of_irq.h>
#include <linux/pci.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/reset.h>

#include "pcie-designware.h"

#define PCL_PINCTRL0
#define PCL_PERST_PLDN_REGEN
#define PCL_PERST_NOE_REGEN
#define PCL_PERST_OUT_REGEN
#define PCL_PERST_PLDN_REGVAL
#define PCL_PERST_NOE_REGVAL
#define PCL_PERST_OUT_REGVAL

#define PCL_PIPEMON
#define PCL_PCLK_ALIVE

#define PCL_MODE
#define PCL_MODE_REGEN
#define PCL_MODE_REGVAL

#define PCL_APP_READY_CTRL
#define PCL_APP_LTSSM_ENABLE

#define PCL_APP_PM0
#define PCL_SYS_AUX_PWR_DET

#define PCL_RCV_INT
#define PCL_RCV_INT_ALL_ENABLE
#define PCL_CFG_BW_MGT_STATUS
#define PCL_CFG_LINK_AUTO_BW_STATUS
#define PCL_CFG_AER_RC_ERR_MSI_STATUS
#define PCL_CFG_PME_MSI_STATUS

#define PCL_RCV_INTX
#define PCL_RCV_INTX_ALL_ENABLE
#define PCL_RCV_INTX_ALL_MASK
#define PCL_RCV_INTX_MASK_SHIFT
#define PCL_RCV_INTX_ALL_STATUS
#define PCL_RCV_INTX_STATUS_SHIFT

#define PCL_STATUS_LINK
#define PCL_RDLH_LINK_UP
#define PCL_XMLH_LINK_UP

struct uniphier_pcie {};

#define to_uniphier_pcie(x)

static void uniphier_pcie_ltssm_enable(struct uniphier_pcie *pcie,
				       bool enable)
{}

static void uniphier_pcie_init_rc(struct uniphier_pcie *pcie)
{}

static int uniphier_pcie_wait_rc(struct uniphier_pcie *pcie)
{}

static int uniphier_pcie_link_up(struct dw_pcie *pci)
{}

static int uniphier_pcie_start_link(struct dw_pcie *pci)
{}

static void uniphier_pcie_stop_link(struct dw_pcie *pci)
{}

static void uniphier_pcie_irq_enable(struct uniphier_pcie *pcie)
{}


static void uniphier_pcie_irq_mask(struct irq_data *d)
{}

static void uniphier_pcie_irq_unmask(struct irq_data *d)
{}

static struct irq_chip uniphier_pcie_irq_chip =;

static int uniphier_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
				  irq_hw_number_t hwirq)
{}

static const struct irq_domain_ops uniphier_intx_domain_ops =;

static void uniphier_pcie_irq_handler(struct irq_desc *desc)
{}

static int uniphier_pcie_config_intx_irq(struct dw_pcie_rp *pp)
{}

static int uniphier_pcie_host_init(struct dw_pcie_rp *pp)
{}

static const struct dw_pcie_host_ops uniphier_pcie_host_ops =;

static int uniphier_pcie_host_enable(struct uniphier_pcie *pcie)
{}

static const struct dw_pcie_ops dw_pcie_ops =;

static int uniphier_pcie_probe(struct platform_device *pdev)
{}

static const struct of_device_id uniphier_pcie_match[] =;

static struct platform_driver uniphier_pcie_driver =;
builtin_platform_driver();