# 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 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_MT8696
	tristate "Clock driver for MediaTek MT8696"
	depends on ARCH_MEDIATEK || 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_MT8698
	tristate "Clock driver for MediaTek MT8698"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select DEVICE_MODULES_COMMON_CLK_MEDIATEK
	help
	  This driver supports
	  MediaTek MT8698 basic clocks
	  including plls muxes dividers and gates
	  for common usage of MT8698.

config COMMON_CLK_MT8698_DEM
	tristate "Clock driver for MediaTek MT8698 dem"
	depends on COMMON_CLK_MT8698
	help
	  This driver supports
	  MediaTek MT8698 dem clocks
	  disable it when don't need to use
	  dem related feature.

config COMMON_CLK_MT8698_DISP
	tristate "Clock driver for MediaTek MT8698 disp"
	depends on COMMON_CLK_MT8698
	help
	  This driver supports
	  MediaTek MT8698 disp clocks
	  disable it when don't need to use
	  disp related feature.

config COMMON_CLK_MT8698_MDP
	tristate "Clock driver for MediaTek MT8698 mdp"
	depends on COMMON_CLK_MT8698
	help
	  This driver supports
	  MediaTek MT8698 mdp clocks
	  disable it when don't need to use
	  mdp related feature.

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

config COMMON_CLK_MT8698_SMDP
	tristate "Clock driver for MediaTek MT8698 submdp"
	depends on COMMON_CLK_MT8698
	help
	  This driver supports
	  MediaTek MT8698 submdp clocks
	  disable it when don't need to use
	  submdp related feature.

config COMMON_CLK_MT8698_MMDP
	tristate "Clock driver for MediaTek MT8698 mainmdp"
	depends on COMMON_CLK_MT8698
	help
	  This driver supports
	  MediaTek MT8698 mainmdp clocks
	  disable it when don't need to use
	  mainmdp related feature.

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

config COMMON_CLK_MTK_FREQ_HOPPING
	tristate "Mediatek Frequency Hopping driver"
	depends on MTK_IPI
	depends on MTK_GPU_SUPPORT
	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
	depends on MTK_IPI
	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

config DUMMY_CLK_INTERFACE
	tristate "Dummy interface for CLK driver"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	default N
	help
	  If use dummy clk interface,
	  say Y here.
	  Otherwise, say N.

endmenu
