linux/drivers/pci/controller/dwc/pci-meson.c

// SPDX-License-Identifier: GPL-2.0
/*
 * PCIe host controller driver for Amlogic MESON SoCs
 *
 * Copyright (c) 2018 Amlogic, inc.
 * Author: Yue Wang <[email protected]>
 */

#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include <linux/resource.h>
#include <linux/types.h>
#include <linux/phy/phy.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>

#include "pcie-designware.h"

#define to_meson_pcie(x)

#define PCIE_CAP_MAX_PAYLOAD_SIZE(x)
#define PCIE_CAP_MAX_READ_REQ_SIZE(x)

/* PCIe specific config registers */
#define PCIE_CFG0
#define APP_LTSSM_ENABLE

#define PCIE_CFG_STATUS12
#define IS_SMLH_LINK_UP(x)
#define IS_RDLH_LINK_UP(x)
#define IS_LTSSM_UP(x)

#define PCIE_CFG_STATUS17
#define PM_CURRENT_STATE(x)

#define WAIT_LINKUP_TIMEOUT
#define PORT_CLK_RATE
#define MAX_PAYLOAD_SIZE
#define MAX_READ_REQ_SIZE
#define PCIE_RESET_DELAY
#define PCIE_SHARED_RESET
#define PCIE_NORMAL_RESET

enum pcie_data_rate {};

struct meson_pcie_clk_res {};

struct meson_pcie_rc_reset {};

struct meson_pcie {};

static struct reset_control *meson_pcie_get_reset(struct meson_pcie *mp,
						  const char *id,
						  u32 reset_type)
{}

static int meson_pcie_get_resets(struct meson_pcie *mp)
{}

static int meson_pcie_get_mems(struct platform_device *pdev,
			       struct meson_pcie *mp)
{}

static int meson_pcie_power_on(struct meson_pcie *mp)
{}

static void meson_pcie_power_off(struct meson_pcie *mp)
{}

static int meson_pcie_reset(struct meson_pcie *mp)
{}

static inline void meson_pcie_disable_clock(void *data)
{}

static inline struct clk *meson_pcie_probe_clock(struct device *dev,
						 const char *id, u64 rate)
{}

static int meson_pcie_probe_clocks(struct meson_pcie *mp)
{}

static inline u32 meson_cfg_readl(struct meson_pcie *mp, u32 reg)
{}

static inline void meson_cfg_writel(struct meson_pcie *mp, u32 val, u32 reg)
{}

static void meson_pcie_assert_reset(struct meson_pcie *mp)
{}

static void meson_pcie_ltssm_enable(struct meson_pcie *mp)
{}

static int meson_size_to_payload(struct meson_pcie *mp, int size)
{}

static void meson_set_max_payload(struct meson_pcie *mp, int size)
{}

static void meson_set_max_rd_req_size(struct meson_pcie *mp, int size)
{}

static int meson_pcie_start_link(struct dw_pcie *pci)
{}

static int meson_pcie_rd_own_conf(struct pci_bus *bus, u32 devfn,
				  int where, int size, u32 *val)
{}

static struct pci_ops meson_pci_ops =;

static int meson_pcie_link_up(struct dw_pcie *pci)
{}

static int meson_pcie_host_init(struct dw_pcie_rp *pp)
{}

static const struct dw_pcie_host_ops meson_pcie_host_ops =;

static const struct dw_pcie_ops dw_pcie_ops =;

static int meson_pcie_probe(struct platform_device *pdev)
{}

static const struct of_device_id meson_pcie_of_match[] =;
MODULE_DEVICE_TABLE(of, meson_pcie_of_match);

static struct platform_driver meson_pcie_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();