linux/drivers/pinctrl/qcom/pinctrl-lpass-lpi.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2020 Linaro Ltd.
 */
#ifndef __PINCTRL_LPASS_LPI_H__
#define __PINCTRL_LPASS_LPI_H__

#include <linux/array_size.h>
#include <linux/bits.h>

#include "../core.h"

struct platform_device;

struct pinctrl_pin_desc;

#define LPI_SLEW_RATE_CTL_REG
#define LPI_TLMM_REG_OFFSET
#define LPI_SLEW_RATE_MAX
#define LPI_SLEW_BITS_SIZE
#define LPI_SLEW_RATE_MASK
#define LPI_GPIO_CFG_REG
#define LPI_GPIO_PULL_MASK
#define LPI_GPIO_FUNCTION_MASK
#define LPI_GPIO_OUT_STRENGTH_MASK
#define LPI_GPIO_OE_MASK
#define LPI_GPIO_VALUE_REG
#define LPI_GPIO_VALUE_IN_MASK
#define LPI_GPIO_VALUE_OUT_MASK

#define LPI_GPIO_BIAS_DISABLE
#define LPI_GPIO_PULL_DOWN
#define LPI_GPIO_KEEPER
#define LPI_GPIO_PULL_UP
#define LPI_GPIO_DS_TO_VAL(v)
#define LPI_NO_SLEW

#define LPI_FUNCTION(fname)

#define LPI_PINGROUP(id, soff, f1, f2, f3, f4)

/*
 * Slew rate control is done in the same register as rest of the
 * pin configuration.
 */
#define LPI_FLAG_SLEW_RATE_SAME_REG

struct lpi_pingroup {};

struct lpi_function {};

struct lpi_pinctrl_variant_data {};

int lpi_pinctrl_probe(struct platform_device *pdev);
void lpi_pinctrl_remove(struct platform_device *pdev);

#endif /*__PINCTRL_LPASS_LPI_H__*/