pinctrl-madera.h 860 B

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