linux/drivers/pinctrl/intel/pinctrl-tangier.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Intel Tangier pinctrl driver
 *
 * Copyright (C) 2016, 2023 Intel Corporation
 *
 * Authors: Andy Shevchenko <[email protected]>
 *          Raag Jadav <[email protected]>
 */

#include <linux/bits.h>
#include <linux/cleanup.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/export.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/overflow.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/seq_file.h>
#include <linux/spinlock.h>
#include <linux/types.h>

#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>

#include "../core.h"
#include "pinctrl-intel.h"
#include "pinctrl-tangier.h"

#define SLEW_OFFSET
#define BUFCFG_OFFSET
#define MISC_OFFSET

#define BUFCFG_PINMODE_SHIFT
#define BUFCFG_PINMODE_MASK
#define BUFCFG_PINMODE_GPIO
#define BUFCFG_PUPD_VAL_SHIFT
#define BUFCFG_PUPD_VAL_MASK
#define BUFCFG_PUPD_VAL_2K
#define BUFCFG_PUPD_VAL_20K
#define BUFCFG_PUPD_VAL_50K
#define BUFCFG_PUPD_VAL_910
#define BUFCFG_PU_EN
#define BUFCFG_PD_EN
#define BUFCFG_Px_EN_MASK
#define BUFCFG_SLEWSEL
#define BUFCFG_OVINEN
#define BUFCFG_OVINEN_EN
#define BUFCFG_OVINEN_MASK
#define BUFCFG_OVOUTEN
#define BUFCFG_OVOUTEN_EN
#define BUFCFG_OVOUTEN_MASK
#define BUFCFG_INDATAOV_VAL
#define BUFCFG_INDATAOV_EN
#define BUFCFG_INDATAOV_MASK
#define BUFCFG_OUTDATAOV_VAL
#define BUFCFG_OUTDATAOV_EN
#define BUFCFG_OUTDATAOV_MASK
#define BUFCFG_OD_EN

#define pin_to_bufno(f, p)

static const struct tng_family *tng_get_family(struct tng_pinctrl *tp,
					       unsigned int pin)
{}

static bool tng_buf_available(struct tng_pinctrl *tp, unsigned int pin)
{}

static void __iomem *tng_get_bufcfg(struct tng_pinctrl *tp, unsigned int pin)
{}

static int tng_read_bufcfg(struct tng_pinctrl *tp, unsigned int pin, u32 *value)
{}

static void tng_update_bufcfg(struct tng_pinctrl *tp, unsigned int pin,
			      u32 bits, u32 mask)
{}

static int tng_get_groups_count(struct pinctrl_dev *pctldev)
{}

static const char *tng_get_group_name(struct pinctrl_dev *pctldev,
				      unsigned int group)
{}

static int tng_get_group_pins(struct pinctrl_dev *pctldev, unsigned int group,
			      const unsigned int **pins, unsigned int *npins)
{}

static void tng_pin_dbg_show(struct pinctrl_dev *pctldev, struct seq_file *s,
			     unsigned int pin)
{}

static const struct pinctrl_ops tng_pinctrl_ops =;

static int tng_get_functions_count(struct pinctrl_dev *pctldev)
{}

static const char *tng_get_function_name(struct pinctrl_dev *pctldev,
					 unsigned int function)
{}

static int tng_get_function_groups(struct pinctrl_dev *pctldev,
				   unsigned int function,
				   const char * const **groups,
				   unsigned int * const ngroups)
{}

static int tng_pinmux_set_mux(struct pinctrl_dev *pctldev,
			      unsigned int function,
			      unsigned int group)
{}

static int tng_gpio_request_enable(struct pinctrl_dev *pctldev,
				   struct pinctrl_gpio_range *range,
				   unsigned int pin)
{}

static const struct pinmux_ops tng_pinmux_ops =;

static int tng_config_get(struct pinctrl_dev *pctldev, unsigned int pin,
			  unsigned long *config)
{}

static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
			      unsigned long config)
{}

static int tng_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
			  unsigned long *configs, unsigned int nconfigs)
{}

static int tng_config_group_get(struct pinctrl_dev *pctldev,
				unsigned int group, unsigned long *config)
{}

static int tng_config_group_set(struct pinctrl_dev *pctldev,
				unsigned int group, unsigned long *configs,
				unsigned int num_configs)
{}

static const struct pinconf_ops tng_pinconf_ops =;

static const struct pinctrl_desc tng_pinctrl_desc =;

static int tng_pinctrl_probe(struct platform_device *pdev,
			     const struct tng_pinctrl *data)
{}

int devm_tng_pinctrl_probe(struct platform_device *pdev)
{}
EXPORT_SYMBOL_NS_GPL();

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