# SPDX-License-Identifier: GPL-2.0-only
#
# MediaTek Clock Drivers
#
menu "Clock driver for MediaTek SoC"
	depends on ARM || ARM64 || COMPILE_TEST

config DEVICE_MODULES_COMMON_CLK_MEDIATEK
	tristate
	select RESET_CONTROLLER
	help
	  MediaTek SoCs' clock support.

config MTK_CLKMGR_DEBUG
	bool "Clock Manager Debug Support for Mediatek SoCs"
	help
	  Choose this option if you have a Mediatek SoCs.
	  This driver provides clock driver unit test nodes
	  and clock driver debug feature. Trigger by clock
	  debug cmd.

config DEVICE_MODULES_COMMON_CLK_MEDIATEK_DISABLE_UNUSED
	tristate "Disable Unused Clock For GKI Project"
	depends on DEVICE_MODULES_COMMON_CLK_MEDIATEK
	help
	  disabled unused clock support for GKI.

config COMMON_CLK_MT6853
	tristate "Clock driver for MediaTek MT6853"
	depends on ARM64 || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	default MACH_MT6853
	help
	  This driver supports MediaTek MT6853 basic clocks,
	  which is used to control basic clock output.
	  If you wish to use clock resources from the MT6853 SOC,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_APU0
	tristate "Clock driver for MediaTek MT6853 apu0"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 apu0 clocks,
	  which is used to control apu0 clock output.
	  If you wish to use clock resources from the apu0 device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_APU1
	tristate "Clock driver for MediaTek MT6853 apu1"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 apu1 clocks,
	  which is used to control apu1 clock output.
	  If you wish to use clock resources from the apu1 device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_APU_VCORE
	tristate "Clock driver for MediaTek MT6853 apu_vcore"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 apu_vcore clocks,
	  which is used to control apu_vcore clock output.
	  If you wish to use clock resources from the apu_vcore device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_APU_CONN
	tristate "Clock driver for MediaTek MT6853 apu_conn"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 apu_conn clocks,
	  which is used to control apu_conn clock output.
	  If you wish to use clock resources from the apu_conn device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_AUDIOSYS
	tristate "Clock driver for MediaTek MT6853 audiosys"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 audiosys clocks,
	  which is used to control audiosys clock output.
	  If you wish to use clock resources from the audiosys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_CAMSYS_MAIN
	tristate "Clock driver for MediaTek MT6853 camsys_main"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 camsys_main clocks,
	  which is used to control camsys_main clock output.
	  If you wish to use clock resources from the camsys_main device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_CAMSYS_RAWA
	tristate "Clock driver for MediaTek MT6853 camsys_rawa"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 camsys_rawa clocks,
	  which is used to control camsys_rawa clock output.
	  If you wish to use clock resources from the camsys_rawa device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_CAMSYS_RAWB
	tristate "Clock driver for MediaTek MT6853 camsys_rawb"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 camsys_rawb clocks,
	  which is used to control camsys_rawb clock output.
	  If you wish to use clock resources from the camsys_rawb device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMGSYS1
	tristate "Clock driver for MediaTek MT6853 imgsys1"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imgsys1 clocks,
	  which is used to control imgsys1 clock output.
	  If you wish to use clock resources from the imgsys1 device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMGSYS2
	tristate "Clock driver for MediaTek MT6853 imgsys2"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imgsys2 clocks,
	  which is used to control imgsys2 clock output.
	  If you wish to use clock resources from the imgsys2 device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMP_IIC_WRAP_C
	tristate "Clock driver for MediaTek MT6853 imp_iic_wrap_c"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imp_iic_wrap_c clocks,
	  which is used to control imp_iic_wrap_c clock output.
	  If you wish to use clock resources from the imp_iic_wrap_c device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMP_IIC_WRAP_E
	tristate "Clock driver for MediaTek MT6853 imp_iic_wrap_e"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imp_iic_wrap_e clocks,
	  which is used to control imp_iic_wrap_e clock output.
	  If you wish to use clock resources from the imp_iic_wrap_e device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMP_IIC_WRAP_N
	tristate "Clock driver for MediaTek MT6853 imp_iic_wrap_n"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imp_iic_wrap_n clocks,
	  which is used to control imp_iic_wrap_n clock output.
	  If you wish to use clock resources from the imp_iic_wrap_n device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMP_IIC_WRAP_S
	tristate "Clock driver for MediaTek MT6853 imp_iic_wrap_s"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imp_iic_wrap_s clocks,
	  which is used to control imp_iic_wrap_s clock output.
	  If you wish to use clock resources from the imp_iic_wrap_s device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMP_IIC_WRAP_W
	tristate "Clock driver for MediaTek MT6853 imp_iic_wrap_w"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imp_iic_wrap_w clocks,
	  which is used to control imp_iic_wrap_w clock output.
	  If you wish to use clock resources from the imp_iic_wrap_w device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IMP_IIC_WRAP_WS
	tristate "Clock driver for MediaTek MT6853 imp_iic_wrap_ws"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 imp_iic_wrap_ws clocks,
	  which is used to control imp_iic_wrap_ws clock output.
	  If you wish to use clock resources from the imp_iic_wrap_ws device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_IPESYS
	tristate "Clock driver for MediaTek MT6853 ipesys"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 ipesys clocks,
	  which is used to control ipesys clock output.
	  If you wish to use clock resources from the ipesys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_MDPSYS_CONFIG
	tristate "Clock driver for MediaTek MT6853 mdpsys_config"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 mdpsys_config clocks,
	  which is used to control mdpsys_config clock output.
	  If you wish to use clock resources from the mdpsys_config device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_MFGCFG
	tristate "Clock driver for MediaTek MT6853 mfgcfg"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 mfgcfg clocks,
	  which is used to control mfgcfg clock output.
	  If you wish to use clock resources from the mfgcfg device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_MMSYS_CONFIG
	tristate "Clock driver for MediaTek MT6853 mmsys_config"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 mmsys_config clocks,
	  which is used to control mmsys_config clock output.
	  If you wish to use clock resources from the mmsys_config device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_SCP_ADSP
	tristate "Clock driver for MediaTek MT6853 scp_adsp"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 scp_adsp clocks,
	  which is used to control scp_adsp clock output.
	  If you wish to use clock resources from the scp_adsp device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_VDEC_GCON
	tristate "Clock driver for MediaTek MT6853 vdec_gcon"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 vdec_gcon clocks,
	  which is used to control vdec_gcon clock output.
	  If you wish to use clock resources from the vdec_gcon device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6853_VENC_GCON
	tristate "Clock driver for MediaTek MT6853 venc_gcon"
	depends on COMMON_CLK_MT6853
	help
	  This driver supports MediaTek MT6853 venc_gcon clocks,
	  which is used to control venc_gcon clock output.
	  If you wish to use clock resources from the venc_gcon device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886
	tristate "Clock driver for MediaTek MT6886"
	depends on ARM64 || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	default MACH_MT6886
	help
	  This driver supports MediaTek MT6886 basic clocks,
	  which is used to control basic clock output.
	  If you wish to use clock resources from the MT6886 SOC,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_ADSP
	tristate "Clock driver for MediaTek MT6886 adsp"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 adsp clocks,
	  which is used to control adsp clock output.
	  If you wish to use clock resources from the adsp device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_CAM
	tristate "Clock driver for MediaTek MT6886 cam"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 cam clocks,
	  which is used to control cam clock output.
	  If you wish to use clock resources from the cam device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_CCU
	tristate "Clock driver for MediaTek MT6886 ccu"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 ccu clocks,
	  which is used to control ccu clock output.
	  If you wish to use clock resources from the ccu device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_IMG
	tristate "Clock driver for MediaTek MT6886 img"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 img clocks,
	  which is used to control img clock output.
	  If you wish to use clock resources from the img device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_MMSYS
	tristate "Clock driver for MediaTek MT6886 mmsys"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 mmsys clocks,
	  which is used to control mmsys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_PERI
	tristate "Clock driver for MediaTek MT6886 peri"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 peri clocks,
	  which is used to control peri clock output.
	  If you wish to use clock resources from the peri device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_BUS
	tristate "Clock driver for MediaTek MT6886 bus"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 bus clocks,
	  which is used to control bus clock output.
	  If you wish to use clock resources from the bus device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_MDPSYS
	tristate "Clock driver for MediaTek MT6886 mdpsys"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 mdpsys clocks,
	  which is used to control mdpsys clock output.
	  If you wish to use clock resources from the mdpsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_SCP
	tristate "Clock driver for MediaTek MT6886 scp"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 scp clocks,
	  which is used to control scp clock output.
	  If you wish to use clock resources from the scp device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6886_VCODEC
	tristate "Clock driver for MediaTek MT6886 vcodec"
	depends on COMMON_CLK_MT6886
	help
	  This driver supports MediaTek MT6886 vcodec clocks,
	  which is used to control vcodec clock output.
	  If you wish to use clock resources from the vcodec device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983
	tristate "Clock driver for MediaTek MT6983"
	depends on ARM64 || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	help
	  This driver supports MediaTek MT6983 basic clocks,
	  which is used to control basic clock output.
	  If you wish to use clock resources from the MT6983 SOC,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_ADSP
	tristate "Clock driver for MediaTek MT6983 adsp"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 adsp clocks,
	  which is used to control adsp clock output.
	  If you wish to use clock resources from the adsp device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_CAM
	tristate "Clock driver for MediaTek MT6983 cam"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 cam clocks,
	  which is used to control cam clock output.
	  If you wish to use clock resources from the cam device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_CCU
	tristate "Clock driver for MediaTek MT6983 ccu"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 ccu clocks,
	  which is used to control ccu clock output.
	  If you wish to use clock resources from the ccu device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_IMG
	tristate "Clock driver for MediaTek MT6983 img"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 img clocks,
	  which is used to control img clock output.
	  If you wish to use clock resources from the img device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_MMSYS
	tristate "Clock driver for MediaTek MT6983 mmsys"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 mmsys clocks,
	  which is used to control mmsys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_IMP_IIC_WRAP
	tristate "Clock driver for MediaTek MT6983 imp iic wrap"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 imp iic wrap clocks,
	  which is used to control peri clock output.
	  If you wish to use clock resources from the peri device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_MDPSYS
	tristate "Clock driver for MediaTek MT6983 mdpsys"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 mdpsys clocks,
	  which is used to control mdpsys clock output.
	  If you wish to use clock resources from the mdpsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_MFG
	tristate "Clock driver for MediaTek MT6983 mfg"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 mfg clocks,
	  which is used to control mfg clock output.
	  If you wish to use clock resources from the mfg device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6983_VCODEC
	tristate "Clock driver for MediaTek MT6983 vcodec"
	depends on COMMON_CLK_MT6983
	help
	  This driver supports MediaTek MT6983 vcodec clocks,
	  which is used to control vcodec clock output.
	  If you wish to use clock resources from the vcodec device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985
	tristate "Clock driver for MediaTek MT6985"
	depends on ARM64 || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	default MACH_MT6985
	help
	  This driver supports MediaTek MT6985 basic clocks,
	  which is used to control basic clock output.
	  If you wish to use clock resources from the MT6985 SOC,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_ADSP
	tristate "Clock driver for MediaTek MT6985 adsp"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 adsp clocks,
	  which is used to control adsp clock output.
	  If you wish to use clock resources from the adsp device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_CAM
	tristate "Clock driver for MediaTek MT6985 cam"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 cam clocks,
	  which is used to control cam clock output.
	  If you wish to use clock resources from the cam device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_CCU
	tristate "Clock driver for MediaTek MT6985 ccu"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 ccu clocks,
	  which is used to control ccu clock output.
	  If you wish to use clock resources from the ccu device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_IMG
	tristate "Clock driver for MediaTek MT6985 img"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 img clocks,
	  which is used to control img clock output.
	  If you wish to use clock resources from the img device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_MMSYS
	tristate "Clock driver for MediaTek MT6985 mmsys"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 mmsys clocks,
	  which is used to control mmsys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_PERI
	tristate "Clock driver for MediaTek MT6985 peri"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 peri clocks,
	  which is used to control peri clock output.
	  If you wish to use clock resources from the peri device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_BUS
	tristate "Clock driver for MediaTek MT6985 bus"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 bus clocks,
	  which is used to control bus clock output.
	  If you wish to use clock resources from the bus device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_MDPSYS
	tristate "Clock driver for MediaTek MT6985 mdpsys"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 mdpsys clocks,
	  which is used to control mdpsys clock output.
	  If you wish to use clock resources from the mdpsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_VLP
	tristate "Clock driver for MediaTek MT6985 vlp"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 vlp clocks,
	  which is used to control vlp clock output.
	  If you wish to use clock resources from the vlp device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT6985_VCODEC
	tristate "Clock driver for MediaTek MT6985 vcodec"
	depends on COMMON_CLK_MT6985
	help
	  This driver supports MediaTek MT6985 vcodec clocks,
	  which is used to control vcodec clock output.
	  If you wish to use clock resources from the vcodec device,
	  say Y. Otherwise, say N.

config DEVICE_MODULES_COMMON_CLK_MT8192
	tristate "Clock driver for MediaTek MT8192"
	depends on ARM64 || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	help
	  This driver supports MediaTek MT8192 basic clocks.

config COMMON_CLK_MT8192_APU0
	tristate "Clock driver for MediaTek MT8192 apu0"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 apu0 clocks.
          required on MediaTek MT8192 SoC.
          If you wish to use clock resources from the MT8192 SOC,
          say Y. Otherwise, say N.

config COMMON_CLK_MT8192_APU1
	tristate "Clock driver for MediaTek MT8192 apu1"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 apu1 clocks.
          required on MediaTek MT8192 SoC.
          If you wish to use clock resources from the MT8192 SOC,
          say Y. Otherwise, say N.

config COMMON_CLK_MT8192_APU_VCORE
	tristate "Clock driver for MediaTek MT8192 apu_vcore"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 apu_vcore clocks.
          required on MediaTek MT8192 SoC.
          If you wish to use clock resources from the MT8192 SOC,
          say Y. Otherwise, say N.

config COMMON_CLK_MT8192_APU_CONN
	tristate "Clock driver for MediaTek MT8192 apu_conn"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 apu_conn clocks.
          required on MediaTek MT8192 SoC.
          If you wish to use clock resources from the MT8192 SOC,
          say Y. Otherwise, say N.

config COMMON_CLK_MT8192_APU_MDLA0
	tristate "Clock driver for MediaTek MT8192 apu_mdla0"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 apu_mdla0 clocks.
          required on MediaTek MT8192 SoC.
          If you wish to use clock resources from the MT8192 SOC,
          say Y. Otherwise, say N.

config DEVICE_MODULES_COMMON_CLK_MT8192_AUDSYS
	tristate "Clock driver for MediaTek MT8192 audsys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 audsys clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_CAMSYS
	tristate "Clock driver for MediaTek MT8192 camsys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 camsys and camsys_raw clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_IMGSYS
	tristate "Clock driver for MediaTek MT8192 imgsys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 imgsys and imgsys2 clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_IMP_IIC_WRAP
	tristate "Clock driver for MediaTek MT8192 imp_iic_wrap"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 imp_iic_wrap clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_IPESYS
	tristate "Clock driver for MediaTek MT8192 ipesys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 ipesys clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_MDPSYS
	tristate "Clock driver for MediaTek MT8192 mdpsys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 mdpsys clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_MFGCFG
	tristate "Clock driver for MediaTek MT8192 mfgcfg"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 mfgcfg clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_MMSYS
	tristate "Clock driver for MediaTek MT8192 mmsys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 mmsys clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_MSDC
	tristate "Clock driver for MediaTek MT8192 msdc"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 msdc and msdc_top clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_SCP_ADSP
	tristate "Clock driver for MediaTek MT8192 scp_adsp"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 scp_adsp clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_VDECSYS
	tristate "Clock driver for MediaTek MT8192 vdecsys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 vdecsys and vdecsys_soc clocks.

config DEVICE_MODULES_COMMON_CLK_MT8192_VENCSYS
	tristate "Clock driver for MediaTek MT8192 vencsys"
	depends on DEVICE_MODULES_COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 vencsys clocks.

config COMMON_CLK_MT8188
	tristate "Clock driver for MediaTek MT8188"
	depends on ARM64 || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	help
	  This driver supports MediaTek MT8188 basic clocks.
	  which is used to control basic clock output.
	  If you wish to use clock resources from the MT6983 SOC,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_AUDSYS_SRC
	tristate "Clock driver for MediaTek MT8188 audsys_src"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 audsys_src clocks.
	  which is used to control audsys_src clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_CAMSYS
	tristate "Clock driver for MediaTek MT8188 camsys"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 camsys clocks.
	  which is used to control camsys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_IMGSYS
	tristate "Clock driver for MediaTek MT8188 imgsys"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 imgsys clocks.
	  which is used to control imgsys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_IMP_IIC_WRAP
	tristate "Clock driver for MediaTek MT8188 imp_iic_wrap"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 imp_iic_wrap clocks.
	  which is used to control imp_iic_wrap clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_IPESYS
	tristate "Clock driver for MediaTek MT8188 ipesys"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 ipesys clocks.
	  which is used to control ipesys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_VDECSYS
	tristate "Clock driver for MediaTek MT8188 vdecsys"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 vdecsys clocks.
	  which is used to control vdecsys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_VDOSYS0
	tristate "Clock driver for MediaTek MT8188 vdosys0"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 vdosys0 clocks.
	  which is used to control vdosys0 clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_VDOSYS1
	tristate "Clock driver for MediaTek MT8188 vdosys1"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 vdosys1 clocks.
	  which is used to control vdosys1 clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_VENCSYS
	tristate "Clock driver for MediaTek MT8188 vencsys"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 vencsys clocks.
	  which is used to control vencsys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_VPPSYS0
	tristate "Clock driver for MediaTek MT8188 vppsys0"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 vppsys0 clocks.
	  which is used to control vppsys0 clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_VPPSYS1
	tristate "Clock driver for MediaTek MT8188 vppsys1"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 vppsys1 clocks.
	  which is used to control vppsys1 clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_WPESYS
	tristate "Clock driver for MediaTek MT8188 wpesys"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 wpesys clocks.
	  which is used to control wpesys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_CCUSYS
	tristate "Clock driver for MediaTek MT8188 ccusys"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 ccusys clocks.
	  which is used to control ccusys clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8188_MFGCFG
	tristate "Clock driver for MediaTek MT8188 mfgcfg"
	depends on COMMON_CLK_MT8188
	help
	  This driver supports MediaTek MT8188 mfgcfg clocks.
	  which is used to control mfgcfg clock output.
	  If you wish to use clock resources from the mmsys device,
	  say Y. Otherwise, say N.

config COMMON_CLK_MT8516
	bool "Clock driver for MediaTek MT8516"
	depends on ARM || ARM64 || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	help
	  This driver supports MediaTek MT8516 clocks.

config COMMON_CLK_MT8516_AUDSYS
	bool "Clock driver for MediaTek MT8516 audsys"
	depends on COMMON_CLK_MT8516
	help
	  This driver supports MediaTek MT8516 audsys clocks.

config COMMON_CLK_MT8696
	tristate "Clock driver for MediaTek MT8696"
	depends on ARM64 || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	help
	  This driver supports
	  MediaTek MT8696 basic clocks
	  including plls muxes dividers and gates
	  for common usage of MT8696.

config COMMON_CLK_MT8696_ETHER
	tristate "Clock driver for MediaTek MT8696 ethernet"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 ether clocks
	  disable it when don't need to use
	  ethernet related feature.

config COMMON_CLK_MT8696_IMGSYS
	tristate "Clock driver for MediaTek MT8696 imgsys"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 imgsys clocks
	  disable it when don't need to use
	  imgsys related feature.

config COMMON_CLK_MT8696_MFGCFG
	tristate "Clock driver for MediaTek MT8696 mfgcfg"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 mfgcfg clocks
	  disable it when don't need to use
	  mfg related feature.

config COMMON_CLK_MT8696_MMSYS
	tristate "Clock driver for MediaTek MT8696 mmsys"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 mmsys clocks
	  disable it when don't need to use
	  mmsys related feature.

config COMMON_CLK_MT8696_NNA
	tristate "Clock driver for MediaTek MT8696 ipsys"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 ipsys clocks
	  disable it when don't need to use
	  nna related feature.

config COMMON_CLK_MT8696_VDEC
	tristate "Clock driver for MediaTek MT8696 vdec"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 vdec clocks
	  disable it when don't need to use
	  vdec related feature.

config COMMON_CLK_MT8696_VDEC_SOC
	tristate "Clock driver for MediaTek MT8696 vdecsoc"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 vdecsoc clocks
	  disable it when don't need to use
	  vdecsoc related feature.

config COMMON_CLK_MT8696_VENC
	tristate "Clock driver for MediaTek MT8696 venc"
	depends on COMMON_CLK_MT8696
	help
	  This driver supports
	  MediaTek MT8696 venc clocks
	  disable it when don't need to use
	  venc related feature.

config COMMON_CLK_MTK_FREQ_HOPPING
	tristate "Mediatek Frequency Hopping driver"
	help
	  FREQHOPPING driver support for MediaTek SOC
	  If you want to use MediaTek FREQHOPPING driver,
	  say Y or M here.
	  If unsure, say N.

config COMMON_CLK_MTK_FREQ_HOPPING_DEBUG
	bool "Mediatek Frequency Hopping debug fs"
	default y
	depends on DEBUG_FS && COMMON_CLK_MTK_FREQ_HOPPING
	help
	  This option is for debugging purpose
	  say Y to use debugfs interface to control
	  Freqhopping.
	  Otherwise, say N

config COMMON_CLK_MTK_FREQ_HOPPING_SUBSYS
	bool "Mediatek Frequency Hopping controlled by subsys"
	help
	  If FREQHOPPING HW is controlled by other processor,
	  such as SSPM, this should be set.
	  This option is selected when subsys configure is enabled.
	  When this option is not enabled, FREQHOPPING HW is controlled
	  by kernel driver directly.

config COMMON_CLK_MTK_FREQ_HOPPING_SSPM
	bool "Mediatek Frequency Hopping controlled by SSPM"
	depends on COMMON_CLK_MTK_FREQ_HOPPING && MTK_TINYSYS_SSPM_SUPPORT
	select COMMON_CLK_MTK_FREQ_HOPPING_SUBSYS
	help
	  If FREQHOPPING HW is controlled by SSPM,
	  say Y here.
	  Otherwise, say N.
	  Enabling this config will auto set COMMON_CLK_MTK_FREQ_HOPPING_SUBSYS

config COMMON_CLK_MTK_FREQ_HOPPING_MCUPM
	bool "Mediatek Frequency Hopping controlled by MCUPM"
	depends on COMMON_CLK_MTK_FREQ_HOPPING && MTK_TINYSYS_MCUPM_SUPPORT
	select COMMON_CLK_MTK_FREQ_HOPPING_SUBSYS
	help
	  If FREQHOPPING HW is controlled by MCUPM,
	  say Y here.
	  Otherwise, say N.
	  Enabling this config will auto set COMMON_CLK_MTK_FREQ_HOPPING_SUBSYS


endmenu
