cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pinctrl-meson8-pmx.h (945B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * First generation of pinmux driver for Amlogic Meson SoCs
      4 *
      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;