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 cs47l15_pin_chip; |
34 | extern const struct madera_pin_chip cs47l35_pin_chip; |
35 | extern const struct madera_pin_chip cs47l85_pin_chip; |
36 | extern const struct madera_pin_chip cs47l90_pin_chip; |
37 | extern const struct madera_pin_chip cs47l92_pin_chip; |
38 | |
39 | #endif |
40 | |