linux/drivers/pinctrl/mediatek/pinctrl-mtmips.h
Arınç ÜNAL dc6ae2057c pinctrl: ralink: move to mediatek as mtmips
This platform from Ralink was acquired by MediaTek in 2011. Then, MediaTek
introduced new SoCs which utilise this platform. Move the driver to
mediatek pinctrl directory. Rename the ralink core driver to mtmips.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Link: https://lore.kernel.org/r/20230317213011.13656-5-arinc.unal@arinc9.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-03-19 21:47:25 +01:00

54 lines
1.0 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (C) 2012 John Crispin <john@phrozen.org>
*/
#ifndef _PINCTRL_MTMIPS_H__
#define _PINCTRL_MTMIPS_H__
#define FUNC(name, value, pin_first, pin_count) \
{ name, value, pin_first, pin_count }
#define GRP(_name, _func, _mask, _shift) \
{ .name = _name, .mask = _mask, .shift = _shift, \
.func = _func, .gpio = _mask, \
.func_count = ARRAY_SIZE(_func) }
#define GRP_G(_name, _func, _mask, _gpio, _shift) \
{ .name = _name, .mask = _mask, .shift = _shift, \
.func = _func, .gpio = _gpio, \
.func_count = ARRAY_SIZE(_func) }
struct mtmips_pmx_group;
struct mtmips_pmx_func {
const char *name;
const char value;
int pin_first;
int pin_count;
int *pins;
int *groups;
int group_count;
int enabled;
};
struct mtmips_pmx_group {
const char *name;
int enabled;
const u32 shift;
const char mask;
const char gpio;
struct mtmips_pmx_func *func;
int func_count;
};
int mtmips_pinctrl_init(struct platform_device *pdev,
struct mtmips_pmx_group *data);
#endif