pinctrl-madera.h 935 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. #ifndef PINCTRL_MADERA_H
  12. #define PINCTRL_MADERA_H
  13. struct madera_pin_groups {
  14. const char *name;
  15. const unsigned int *pins;
  16. unsigned int n_pins;
  17. };
  18. struct madera_pin_chip {
  19. unsigned int n_pins;
  20. const struct madera_pin_groups *pin_groups;
  21. unsigned int n_pin_groups;
  22. };
  23. struct madera_pin_private {
  24. struct madera *madera;
  25. const struct madera_pin_chip *chip; /* chip-specific groups */
  26. struct device *dev;
  27. struct pinctrl_dev *pctl;
  28. };
  29. extern const struct madera_pin_chip cs47l35_pin_chip;
  30. extern const struct madera_pin_chip cs47l85_pin_chip;
  31. extern const struct madera_pin_chip cs47l90_pin_chip;
  32. #endif