1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright (C) 2017 Jerome Brunet <jbrunet@baylibre.com>
4 * Copyright (C) 2017 Xingyu Chen <xingyu.chen@amlogic.com>
7 #ifndef __PINCTRL_MESON_AXG_H__
8 #define __PINCTRL_MESON_AXG_H__
10 #include "pinctrl-meson.h"
12 struct meson_pmx_bank {
20 struct meson_axg_pmx_data {
21 struct meson_pmx_bank *pmx_banks;
22 unsigned int num_pmx_banks;
25 #define BANK_PMX(n, f, l, r, o) \
34 struct meson_pmx_axg_data {
43 #define GROUP(grp, f) \
46 .pins = grp ## _pins, \
47 .num_pins = ARRAY_SIZE(grp ## _pins), \
48 .data = (const struct meson_pmx_axg_data[]){ \
53 #define GPIO_GROUP(gpio, b) \
56 .pins = (const unsigned int[]){ PIN(gpio, b) }, \
58 .data = (const struct meson_pmx_axg_data[]){ \
63 extern const struct pinctrl_ops meson_axg_pinctrl_ops;
64 extern const struct driver meson_axg_gpio_driver;
66 #endif /* __PINCTRL_MESON_AXG_H__ */