exynos-pinctrl.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Samsung Exynos DTS pinctrl constants
  4. *
  5. * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  6. * http://www.samsung.com
  7. * Copyright (c) 2022 Linaro Ltd
  8. * Author: Krzysztof Kozlowski <[email protected]>
  9. */
  10. #ifndef __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__
  11. #define __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__
  12. #define EXYNOS_PIN_PULL_NONE 0
  13. #define EXYNOS_PIN_PULL_DOWN 1
  14. #define EXYNOS_PIN_PULL_UP 3
  15. /* Pin function in power down mode */
  16. #define EXYNOS_PIN_PDN_OUT0 0
  17. #define EXYNOS_PIN_PDN_OUT1 1
  18. #define EXYNOS_PIN_PDN_INPUT 2
  19. #define EXYNOS_PIN_PDN_PREV 3
  20. /*
  21. * Drive strengths for Exynos5410, Exynos542x, Exynos5800, Exynos7885, Exynos850
  22. * (except GPIO_HSI block), ExynosAutov9 (FSI0, PERIC1)
  23. */
  24. #define EXYNOS5420_PIN_DRV_LV1 0
  25. #define EXYNOS5420_PIN_DRV_LV2 1
  26. #define EXYNOS5420_PIN_DRV_LV3 2
  27. #define EXYNOS5420_PIN_DRV_LV4 3
  28. /* Drive strengths for Exynos5433 */
  29. #define EXYNOS5433_PIN_DRV_FAST_SR1 0
  30. #define EXYNOS5433_PIN_DRV_FAST_SR2 1
  31. #define EXYNOS5433_PIN_DRV_FAST_SR3 2
  32. #define EXYNOS5433_PIN_DRV_FAST_SR4 3
  33. #define EXYNOS5433_PIN_DRV_FAST_SR5 4
  34. #define EXYNOS5433_PIN_DRV_FAST_SR6 5
  35. #define EXYNOS5433_PIN_DRV_SLOW_SR1 8
  36. #define EXYNOS5433_PIN_DRV_SLOW_SR2 9
  37. #define EXYNOS5433_PIN_DRV_SLOW_SR3 0xa
  38. #define EXYNOS5433_PIN_DRV_SLOW_SR4 0xb
  39. #define EXYNOS5433_PIN_DRV_SLOW_SR5 0xc
  40. #define EXYNOS5433_PIN_DRV_SLOW_SR6 0xf
  41. /* Drive strengths for Exynos7 (except FSYS1) */
  42. #define EXYNOS7_PIN_DRV_LV1 0
  43. #define EXYNOS7_PIN_DRV_LV2 2
  44. #define EXYNOS7_PIN_DRV_LV3 1
  45. #define EXYNOS7_PIN_DRV_LV4 3
  46. /* Drive strengths for Exynos7 FSYS1 block */
  47. #define EXYNOS7_FSYS1_PIN_DRV_LV1 0
  48. #define EXYNOS7_FSYS1_PIN_DRV_LV2 4
  49. #define EXYNOS7_FSYS1_PIN_DRV_LV3 2
  50. #define EXYNOS7_FSYS1_PIN_DRV_LV4 6
  51. #define EXYNOS7_FSYS1_PIN_DRV_LV5 1
  52. #define EXYNOS7_FSYS1_PIN_DRV_LV6 5
  53. /* Drive strengths for Exynos850 GPIO_HSI block */
  54. #define EXYNOS850_HSI_PIN_DRV_LV1 0 /* 1x */
  55. #define EXYNOS850_HSI_PIN_DRV_LV1_5 1 /* 1.5x */
  56. #define EXYNOS850_HSI_PIN_DRV_LV2 2 /* 2x */
  57. #define EXYNOS850_HSI_PIN_DRV_LV2_5 3 /* 2.5x */
  58. #define EXYNOS850_HSI_PIN_DRV_LV3 4 /* 3x */
  59. #define EXYNOS850_HSI_PIN_DRV_LV4 5 /* 4x */
  60. #define EXYNOS_PIN_FUNC_INPUT 0
  61. #define EXYNOS_PIN_FUNC_OUTPUT 1
  62. #define EXYNOS_PIN_FUNC_2 2
  63. #define EXYNOS_PIN_FUNC_3 3
  64. #define EXYNOS_PIN_FUNC_4 4
  65. #define EXYNOS_PIN_FUNC_5 5
  66. #define EXYNOS_PIN_FUNC_6 6
  67. #define EXYNOS_PIN_FUNC_EINT 0xf
  68. #define EXYNOS_PIN_FUNC_F EXYNOS_PIN_FUNC_EINT
  69. #endif /* __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__ */