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