1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Intel LPSS core support. 4 * 5 * Copyright (C) 2015, Intel Corporation 6 * 7 * Authors: Andy Shevchenko <andriy.shevchenko@linux.intel.com> 8 * Mika Westerberg <mika.westerberg@linux.intel.com> 9 */ 10 11#ifndef __MFD_INTEL_LPSS_H 12#define __MFD_INTEL_LPSS_H 13 14#include <linux/bits.h> 15#include <linux/pm.h> 16 17/* 18 * Some DSDTs have an unused GEXP ACPI device conflicting with I2C4 resources. 19 * Set to ignore resource conflicts with ACPI declared SystemMemory regions. 20 */ 21#define QUIRK_IGNORE_RESOURCE_CONFLICTS BIT(0) 22/* 23 * Some devices have misconfigured clock divider due to a firmware bug. 24 * Set this to force the clock divider to 1:1 ratio. 25 */ 26#define QUIRK_CLOCK_DIVIDER_UNITY BIT(1) 27 28struct device; 29struct resource; 30struct software_node; 31 32struct intel_lpss_platform_info { 33 struct resource *mem; 34 int irq; 35 unsigned int quirks; 36 unsigned long clk_rate; 37 const char *clk_con_id; 38 const struct software_node *swnode; 39}; 40 41int intel_lpss_probe(struct device *dev, 42 const struct intel_lpss_platform_info *info); 43void intel_lpss_remove(struct device *dev); 44 45extern const struct dev_pm_ops intel_lpss_pm_ops; 46 47#endif /* __MFD_INTEL_LPSS_H */ 48