^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) menu "MediaTek pinctrl drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) depends on ARCH_MEDIATEK || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) config EINT_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) tristate "MediaTek External Interrupt Support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) depends on PINCTRL_MTK || PINCTRL_MTK_MOORE || PINCTRL_MTK_PARIS || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select GPIOLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) default y if PINCTRL_MTK || PINCTRL_MTK_MOORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) default PINCTRL_MTK_PARIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) config PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) select PINMUX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) select GENERIC_PINCONF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) select GPIOLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) select EINT_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) select OF_GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) config PINCTRL_MTK_V2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) config PINCTRL_MTK_MOORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) select GENERIC_PINCONF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) select GENERIC_PINCTRL_GROUPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) select GENERIC_PINMUX_FUNCTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) select GPIOLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) select OF_GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) select PINCTRL_MTK_V2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) config PINCTRL_MTK_PARIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) select PINMUX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) select GENERIC_PINCONF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) select GPIOLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) select EINT_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) select OF_GPIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) select PINCTRL_MTK_V2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) # For ARMv7 SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) config PINCTRL_MT2701
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) bool "Mediatek MT2701 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) depends on MACH_MT7623 || MACH_MT2701 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) default MACH_MT2701
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) config PINCTRL_MT7623
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) bool "Mediatek MT7623 pin control with generic binding"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) depends on MACH_MT7623 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) default MACH_MT7623
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) select PINCTRL_MTK_MOORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) config PINCTRL_MT7629
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) bool "Mediatek MT7629 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) depends on MACH_MT7629 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) default MACH_MT7629
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) select PINCTRL_MTK_MOORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) config PINCTRL_MT8135
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) bool "Mediatek MT8135 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) depends on MACH_MT8135 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) default MACH_MT8135
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) config PINCTRL_MT8127
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) bool "Mediatek MT8127 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) depends on MACH_MT8127 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) default MACH_MT8127
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) # For ARMv8 SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) config PINCTRL_MT2712
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) bool "MediaTek MT2712 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) config PINCTRL_MT6765
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) tristate "Mediatek MT6765 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) select PINCTRL_MTK_PARIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) config PINCTRL_MT6779
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) tristate "Mediatek MT6779 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) select PINCTRL_MTK_PARIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) Say yes here to support pin controller and gpio driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) on Mediatek MT6779 SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) In MTK platform, we support virtual gpio and use it to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) map specific eint which doesn't have real gpio pin.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) config PINCTRL_MT6797
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) bool "Mediatek MT6797 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) select PINCTRL_MTK_PARIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) config PINCTRL_MT7622
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) bool "MediaTek MT7622 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) select PINCTRL_MTK_MOORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) config PINCTRL_MT8167
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) bool "Mediatek MT8167 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) config PINCTRL_MT8173
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) bool "Mediatek MT8173 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) config PINCTRL_MT8183
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) bool "Mediatek MT8183 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) select PINCTRL_MTK_PARIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) config PINCTRL_MT8192
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) bool "Mediatek MT8192 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) select PINCTRL_MTK_PARIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) config PINCTRL_MT8516
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) bool "Mediatek MT8516 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) depends on ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) default ARM64 && ARCH_MEDIATEK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) # For PMIC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) config PINCTRL_MT6397
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) bool "Mediatek MT6397 pin control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) depends on MFD_MT6397 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) depends on OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) default MFD_MT6397
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) select PINCTRL_MTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) endmenu