linux/drivers/usb/dwc3/dwc3-pci.c

// SPDX-License-Identifier: GPL-2.0
/*
 * dwc3-pci.c - PCI Specific glue layer
 *
 * Copyright (C) 2010-2011 Texas Instruments Incorporated - https://www.ti.com
 *
 * Authors: Felipe Balbi <[email protected]>,
 *	    Sebastian Andrzej Siewior <[email protected]>
 */

#include <linux/dmi.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/workqueue.h>
#include <linux/pm_runtime.h>
#include <linux/platform_device.h>
#include <linux/gpio/consumer.h>
#include <linux/gpio/machine.h>
#include <linux/acpi.h>
#include <linux/delay.h>

#define PCI_DEVICE_ID_INTEL_BYT
#define PCI_DEVICE_ID_INTEL_MRFLD
#define PCI_DEVICE_ID_INTEL_BSW
#define PCI_DEVICE_ID_INTEL_SPTLP
#define PCI_DEVICE_ID_INTEL_SPTH
#define PCI_DEVICE_ID_INTEL_BXT
#define PCI_DEVICE_ID_INTEL_BXT_M
#define PCI_DEVICE_ID_INTEL_APL
#define PCI_DEVICE_ID_INTEL_KBP
#define PCI_DEVICE_ID_INTEL_CMLLP
#define PCI_DEVICE_ID_INTEL_CMLH
#define PCI_DEVICE_ID_INTEL_GLK
#define PCI_DEVICE_ID_INTEL_CNPLP
#define PCI_DEVICE_ID_INTEL_CNPH
#define PCI_DEVICE_ID_INTEL_CNPV
#define PCI_DEVICE_ID_INTEL_ICLLP
#define PCI_DEVICE_ID_INTEL_EHL
#define PCI_DEVICE_ID_INTEL_TGPLP
#define PCI_DEVICE_ID_INTEL_TGPH
#define PCI_DEVICE_ID_INTEL_JSP
#define PCI_DEVICE_ID_INTEL_ADL
#define PCI_DEVICE_ID_INTEL_ADL_PCH
#define PCI_DEVICE_ID_INTEL_ADLN
#define PCI_DEVICE_ID_INTEL_ADLN_PCH
#define PCI_DEVICE_ID_INTEL_ADLS
#define PCI_DEVICE_ID_INTEL_RPL
#define PCI_DEVICE_ID_INTEL_RPLS
#define PCI_DEVICE_ID_INTEL_MTLM
#define PCI_DEVICE_ID_INTEL_MTLP
#define PCI_DEVICE_ID_INTEL_MTLS
#define PCI_DEVICE_ID_INTEL_MTL
#define PCI_DEVICE_ID_INTEL_ARLH_PCH
#define PCI_DEVICE_ID_INTEL_TGL
#define PCI_DEVICE_ID_INTEL_PTLH
#define PCI_DEVICE_ID_INTEL_PTLH_PCH
#define PCI_DEVICE_ID_INTEL_PTLU
#define PCI_DEVICE_ID_INTEL_PTLU_PCH
#define PCI_DEVICE_ID_AMD_MR

#define PCI_INTEL_BXT_DSM_GUID
#define PCI_INTEL_BXT_FUNC_PMU_PWR
#define PCI_INTEL_BXT_STATE_D0
#define PCI_INTEL_BXT_STATE_D3

#define GP_RWBAR
#define GP_RWREG1
#define GP_RWREG1_ULPI_REFCLK_DISABLE

/**
 * struct dwc3_pci - Driver private structure
 * @dwc3: child dwc3 platform_device
 * @pci: our link to PCI bus
 * @guid: _DSM GUID
 * @has_dsm_for_pm: true for devices which need to run _DSM on runtime PM
 * @wakeup_work: work for asynchronous resume
 */
struct dwc3_pci {};

static const struct acpi_gpio_params reset_gpios =;
static const struct acpi_gpio_params cs_gpios =;

static const struct acpi_gpio_mapping acpi_dwc3_byt_gpios[] =;

static struct gpiod_lookup_table platform_bytcr_gpios =;

static int dwc3_byt_enable_ulpi_refclock(struct pci_dev *pci)
{}

static const struct property_entry dwc3_pci_intel_properties[] =;

static const struct property_entry dwc3_pci_intel_phy_charger_detect_properties[] =;

static const struct property_entry dwc3_pci_intel_byt_properties[] =;

static const struct property_entry dwc3_pci_mrfld_properties[] =;

static const struct property_entry dwc3_pci_amd_properties[] =;

static const struct property_entry dwc3_pci_mr_properties[] =;

static const struct software_node dwc3_pci_intel_swnode =;

static const struct software_node dwc3_pci_intel_phy_charger_detect_swnode =;

static const struct software_node dwc3_pci_intel_byt_swnode =;

static const struct software_node dwc3_pci_intel_mrfld_swnode =;

static const struct software_node dwc3_pci_amd_swnode =;

static const struct software_node dwc3_pci_amd_mr_swnode =;

static int dwc3_pci_quirks(struct dwc3_pci *dwc,
			   const struct software_node *swnode)
{}

#ifdef CONFIG_PM
static void dwc3_pci_resume_work(struct work_struct *work)
{}
#endif

static int dwc3_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
{}

static void dwc3_pci_remove(struct pci_dev *pci)
{}

static const struct pci_device_id dwc3_pci_id_table[] =;
MODULE_DEVICE_TABLE(pci, dwc3_pci_id_table);

#if defined(CONFIG_PM) || defined(CONFIG_PM_SLEEP)
static int dwc3_pci_dsm(struct dwc3_pci *dwc, int param)
{}
#endif /* CONFIG_PM || CONFIG_PM_SLEEP */

#ifdef CONFIG_PM
static int dwc3_pci_runtime_suspend(struct device *dev)
{}

static int dwc3_pci_runtime_resume(struct device *dev)
{}
#endif /* CONFIG_PM */

#ifdef CONFIG_PM_SLEEP
static int dwc3_pci_suspend(struct device *dev)
{}

static int dwc3_pci_resume(struct device *dev)
{}
#endif /* CONFIG_PM_SLEEP */

static const struct dev_pm_ops dwc3_pci_dev_pm_ops =;

static struct pci_driver dwc3_pci_driver =;

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

module_pci_driver();