| /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ |
| * Microsemi SoCs pinctrl driver |
| * Author: <alexandre.belloni@free-electrons.com> |
| * Copyright (c) 2017 Microsemi Corporation |
| #define MSCC_FUNC_PER_PIN 4 |
| unsigned char functions[MSCC_FUNC_PER_PIN]; |
| struct mscc_pin_caps *drv_data; |
| #define MSCC_P(p, f0, f1, f2) \ |
| static struct mscc_pin_caps mscc_pin_##p = { \ |
| FUNC_GPIO, FUNC_##f0, FUNC_##f1, FUNC_##f2, \ |
| struct pinctrl_dev *pctl; |
| struct mscc_pmx_func *func; |
| const struct mscc_pin_data *mscc_pins; |
| char * const *function_names; |
| const unsigned long *mscc_gpios; |
| int mscc_pinctrl_probe(struct udevice *dev, int num_func, |
| const struct mscc_pin_data *mscc_pins, int num_pins, |
| char * const *function_names, |
| const unsigned long *mscc_gpios); |
| extern const struct pinctrl_ops mscc_pinctrl_ops; |
| extern const struct dm_gpio_ops mscc_gpio_ops; |