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