samsung.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Samsung's Exynos pinctrl bindings
  4. *
  5. * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  6. * http://www.samsung.com
  7. * Author: Krzysztof Kozlowski <[email protected]>
  8. */
  9. #ifndef __DT_BINDINGS_PINCTRL_SAMSUNG_H__
  10. #define __DT_BINDINGS_PINCTRL_SAMSUNG_H__
  11. /*
  12. * These bindings are deprecated, because they do not match the actual
  13. * concept of bindings but rather contain pure register values.
  14. * Instead include the header in the DTS source directory.
  15. */
  16. #warning "These bindings are deprecated. Instead use the header in the DTS source directory."
  17. #define EXYNOS_PIN_PULL_NONE 0
  18. #define EXYNOS_PIN_PULL_DOWN 1
  19. #define EXYNOS_PIN_PULL_UP 3
  20. #define S3C64XX_PIN_PULL_NONE 0
  21. #define S3C64XX_PIN_PULL_DOWN 1
  22. #define S3C64XX_PIN_PULL_UP 2
  23. /* Pin function in power down mode */
  24. #define EXYNOS_PIN_PDN_OUT0 0
  25. #define EXYNOS_PIN_PDN_OUT1 1
  26. #define EXYNOS_PIN_PDN_INPUT 2
  27. #define EXYNOS_PIN_PDN_PREV 3
  28. /* Drive strengths for Exynos3250, Exynos4 (all) and Exynos5250 */
  29. #define EXYNOS4_PIN_DRV_LV1 0
  30. #define EXYNOS4_PIN_DRV_LV2 2
  31. #define EXYNOS4_PIN_DRV_LV3 1
  32. #define EXYNOS4_PIN_DRV_LV4 3
  33. /* Drive strengths for Exynos5260 */
  34. #define EXYNOS5260_PIN_DRV_LV1 0
  35. #define EXYNOS5260_PIN_DRV_LV2 1
  36. #define EXYNOS5260_PIN_DRV_LV4 2
  37. #define EXYNOS5260_PIN_DRV_LV6 3
  38. /*
  39. * Drive strengths for Exynos5410, Exynos542x, Exynos5800 and Exynos850 (except
  40. * GPIO_HSI block)
  41. */
  42. #define EXYNOS5420_PIN_DRV_LV1 0
  43. #define EXYNOS5420_PIN_DRV_LV2 1
  44. #define EXYNOS5420_PIN_DRV_LV3 2
  45. #define EXYNOS5420_PIN_DRV_LV4 3
  46. /* Drive strengths for Exynos5433 */
  47. #define EXYNOS5433_PIN_DRV_FAST_SR1 0
  48. #define EXYNOS5433_PIN_DRV_FAST_SR2 1
  49. #define EXYNOS5433_PIN_DRV_FAST_SR3 2
  50. #define EXYNOS5433_PIN_DRV_FAST_SR4 3
  51. #define EXYNOS5433_PIN_DRV_FAST_SR5 4
  52. #define EXYNOS5433_PIN_DRV_FAST_SR6 5
  53. #define EXYNOS5433_PIN_DRV_SLOW_SR1 8
  54. #define EXYNOS5433_PIN_DRV_SLOW_SR2 9
  55. #define EXYNOS5433_PIN_DRV_SLOW_SR3 0xa
  56. #define EXYNOS5433_PIN_DRV_SLOW_SR4 0xb
  57. #define EXYNOS5433_PIN_DRV_SLOW_SR5 0xc
  58. #define EXYNOS5433_PIN_DRV_SLOW_SR6 0xf
  59. /* Drive strengths for Exynos850 GPIO_HSI block */
  60. #define EXYNOS850_HSI_PIN_DRV_LV1 0 /* 1x */
  61. #define EXYNOS850_HSI_PIN_DRV_LV1_5 1 /* 1.5x */
  62. #define EXYNOS850_HSI_PIN_DRV_LV2 2 /* 2x */
  63. #define EXYNOS850_HSI_PIN_DRV_LV2_5 3 /* 2.5x */
  64. #define EXYNOS850_HSI_PIN_DRV_LV3 4 /* 3x */
  65. #define EXYNOS850_HSI_PIN_DRV_LV4 5 /* 4x */
  66. #define EXYNOS_PIN_FUNC_INPUT 0
  67. #define EXYNOS_PIN_FUNC_OUTPUT 1
  68. #define EXYNOS_PIN_FUNC_2 2
  69. #define EXYNOS_PIN_FUNC_3 3
  70. #define EXYNOS_PIN_FUNC_4 4
  71. #define EXYNOS_PIN_FUNC_5 5
  72. #define EXYNOS_PIN_FUNC_6 6
  73. #define EXYNOS_PIN_FUNC_EINT 0xf
  74. #define EXYNOS_PIN_FUNC_F EXYNOS_PIN_FUNC_EINT
  75. /* Drive strengths for Exynos7 FSYS1 block */
  76. #define EXYNOS7_FSYS1_PIN_DRV_LV1 0
  77. #define EXYNOS7_FSYS1_PIN_DRV_LV2 4
  78. #define EXYNOS7_FSYS1_PIN_DRV_LV3 2
  79. #define EXYNOS7_FSYS1_PIN_DRV_LV4 6
  80. #define EXYNOS7_FSYS1_PIN_DRV_LV5 1
  81. #define EXYNOS7_FSYS1_PIN_DRV_LV6 5
  82. #endif /* __DT_BINDINGS_PINCTRL_SAMSUNG_H__ */