brintos

brintos / linux-shallow public Read only

0
0
Text · 945 B · 9390dc2 Raw
43 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * First generation of pinmux driver for Amlogic Meson SoCs4 *5 * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com>6 * Copyright (C) 2017 Jerome Brunet  <jbrunet@baylibre.com>7 */8 9struct meson8_pmx_data {10	bool is_gpio;11	unsigned int reg;12	unsigned int bit;13};14 15#define PMX_DATA(r, b, g)						\16	{								\17		.reg = r,						\18		.bit = b,						\19		.is_gpio = g,						\20	}21 22#define GROUP(grp, r, b)						\23	{								\24		.name = #grp,						\25		.pins = grp ## _pins,					\26		.num_pins = ARRAY_SIZE(grp ## _pins),			\27		.data = (const struct meson8_pmx_data[]){		\28			PMX_DATA(r, b, false),				\29		},							\30	 }31 32#define GPIO_GROUP(gpio)						\33	{								\34		.name = #gpio,						\35		.pins = (const unsigned int[]){ gpio },			\36		.num_pins = 1,						\37		.data = (const struct meson8_pmx_data[]){		\38			PMX_DATA(0, 0, true),				\39		},							\40	}41 42extern const struct pinmux_ops meson8_pmx_ops;43