1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Pinctrl for Cirrus Logic Madera codecs
4 *
5 * Copyright (C) 2016-2017 Cirrus Logic
6 */
7
8#ifndef PINCTRL_MADERA_H
9#define PINCTRL_MADERA_H
10
11struct madera_pin_groups {
12	const char *name;
13	const unsigned int *pins;
14	unsigned int n_pins;
15};
16
17struct madera_pin_chip {
18	unsigned int n_pins;
19
20	const struct madera_pin_groups *pin_groups;
21	unsigned int n_pin_groups;
22};
23
24struct madera_pin_private {
25	struct madera *madera;
26
27	const struct madera_pin_chip *chip; /* chip-specific groups */
28
29	struct device *dev;
30	struct pinctrl_dev *pctl;
31};
32
33extern const struct madera_pin_chip cs47l15_pin_chip;
34extern const struct madera_pin_chip cs47l35_pin_chip;
35extern const struct madera_pin_chip cs47l85_pin_chip;
36extern const struct madera_pin_chip cs47l90_pin_chip;
37extern const struct madera_pin_chip cs47l92_pin_chip;
38
39#endif
40