1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Pinctrl for Cirrus Logic Madera codecs
4  *
5  * Copyright (C) 2016-2017 Cirrus Logic
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by the
9  * Free Software Foundation; version 2.
10  */
11 
12 #ifndef PINCTRL_MADERA_H
13 #define PINCTRL_MADERA_H
14 
15 struct madera_pin_groups {
16 	const char *name;
17 	const unsigned int *pins;
18 	unsigned int n_pins;
19 };
20 
21 struct madera_pin_chip {
22 	unsigned int n_pins;
23 
24 	const struct madera_pin_groups *pin_groups;
25 	unsigned int n_pin_groups;
26 };
27 
28 struct madera_pin_private {
29 	struct madera *madera;
30 
31 	const struct madera_pin_chip *chip; /* chip-specific groups */
32 
33 	struct device *dev;
34 	struct pinctrl_dev *pctl;
35 };
36 
37 extern const struct madera_pin_chip cs47l35_pin_chip;
38 extern const struct madera_pin_chip cs47l85_pin_chip;
39 extern const struct madera_pin_chip cs47l90_pin_chip;
40 
41 #endif
42