xref: /linux/drivers/pinctrl/cirrus/pinctrl-madera.h (revision 088e88be5a380cc4e81963a9a02815da465d144f)
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 
11 struct madera_pin_groups {
12 	const char *name;
13 	const unsigned int *pins;
14 	unsigned int n_pins;
15 };
16 
17 struct 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 
24 struct 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 
33 extern const struct madera_pin_chip cs47l35_pin_chip;
34 extern const struct madera_pin_chip cs47l85_pin_chip;
35 extern const struct madera_pin_chip cs47l90_pin_chip;
36 
37 #endif
38