pinctrl-moore.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2017-2018 MediaTek Inc.
  4. *
  5. * Author: Sean Wang <[email protected]>
  6. *
  7. */
  8. #ifndef __PINCTRL_MOORE_H
  9. #define __PINCTRL_MOORE_H
  10. #include <linux/io.h>
  11. #include <linux/init.h>
  12. #include <linux/of.h>
  13. #include <linux/of_platform.h>
  14. #include <linux/platform_device.h>
  15. #include <linux/pinctrl/pinctrl.h>
  16. #include <linux/pinctrl/pinmux.h>
  17. #include <linux/pinctrl/pinconf.h>
  18. #include <linux/pinctrl/pinconf-generic.h>
  19. #include "../core.h"
  20. #include "../pinconf.h"
  21. #include "../pinmux.h"
  22. #include "mtk-eint.h"
  23. #include "pinctrl-mtk-common-v2.h"
  24. #define MTK_RANGE(_a) { .range = (_a), .nranges = ARRAY_SIZE(_a), }
  25. #define MTK_PIN(_number, _name, _eint_m, _eint_n, _drv_n) { \
  26. .number = _number, \
  27. .name = _name, \
  28. .eint = { \
  29. .eint_m = _eint_m, \
  30. .eint_n = _eint_n, \
  31. }, \
  32. .drv_n = _drv_n, \
  33. .funcs = NULL, \
  34. }
  35. #define PINCTRL_PIN_GROUP(name, id) \
  36. { \
  37. name, \
  38. id##_pins, \
  39. ARRAY_SIZE(id##_pins), \
  40. id##_funcs, \
  41. }
  42. int mtk_moore_pinctrl_probe(struct platform_device *pdev,
  43. const struct mtk_pin_soc *soc);
  44. #endif /* __PINCTRL_MOORE_H */