brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · a7c3dd7 Raw
54 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 *  Copyright (C) 2012 John Crispin <john@phrozen.org>4 */5 6#ifndef _PINCTRL_MTMIPS_H__7#define _PINCTRL_MTMIPS_H__8 9#define FUNC(name, value, pin_first, pin_count) \10	{ name, value, pin_first, pin_count }11 12#define GRP(_name, _func, _mask, _shift) \13	{ .name = _name, .mask = _mask, .shift = _shift, \14	  .func = _func, .gpio = _mask, \15	  .func_count = ARRAY_SIZE(_func) }16 17#define GRP_G(_name, _func, _mask, _gpio, _shift) \18	{ .name = _name, .mask = _mask, .shift = _shift, \19	  .func = _func, .gpio = _gpio, \20	  .func_count = ARRAY_SIZE(_func) }21 22struct mtmips_pmx_group;23 24struct mtmips_pmx_func {25	const char *name;26	const char value;27 28	int pin_first;29	int pin_count;30	int *pins;31 32	int *groups;33	int group_count;34 35	int enabled;36};37 38struct mtmips_pmx_group {39	const char *name;40	int enabled;41 42	const u32 shift;43	const char mask;44	const char gpio;45 46	struct mtmips_pmx_func *func;47	int func_count;48};49 50int mtmips_pinctrl_init(struct platform_device *pdev,51			struct mtmips_pmx_group *data);52 53#endif54