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

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

config COMMON_CLK_MT2701
	bool "Clock driver for MediaTek MT2701"
	depends on (ARCH_MEDIATEK && ARM) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM
	help
	  This driver supports MediaTek MT2701 basic clocks.

config COMMON_CLK_MT2701_MMSYS
	bool "Clock driver for MediaTek MT2701 mmsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports MediaTek MT2701 mmsys clocks.

config COMMON_CLK_MT2701_IMGSYS
	bool "Clock driver for MediaTek MT2701 imgsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports MediaTek MT2701 imgsys clocks.

config COMMON_CLK_MT2701_VDECSYS
	bool "Clock driver for MediaTek MT2701 vdecsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports MediaTek MT2701 vdecsys clocks.

config COMMON_CLK_MT2701_HIFSYS
	bool "Clock driver for MediaTek MT2701 hifsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports MediaTek MT2701 hifsys clocks.

config COMMON_CLK_MT2701_ETHSYS
	bool "Clock driver for MediaTek MT2701 ethsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports MediaTek MT2701 ethsys clocks.

config COMMON_CLK_MT2701_BDPSYS
	bool "Clock driver for MediaTek MT2701 bdpsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports MediaTek MT2701 bdpsys clocks.

config COMMON_CLK_MT2701_AUDSYS
	bool "Clock driver for Mediatek MT2701 audsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports Mediatek MT2701 audsys clocks.

config COMMON_CLK_MT2701_G3DSYS
	bool "Clock driver for MediaTek MT2701 g3dsys"
	depends on COMMON_CLK_MT2701
	help
	  This driver supports MediaTek MT2701 g3dsys clocks.

config COMMON_CLK_MT2712
	bool "Clock driver for MediaTek MT2712"
	depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM64
	help
	  This driver supports MediaTek MT2712 basic clocks.

config COMMON_CLK_MT2712_BDPSYS
	bool "Clock driver for MediaTek MT2712 bdpsys"
	depends on COMMON_CLK_MT2712
	help
	  This driver supports MediaTek MT2712 bdpsys clocks.

config COMMON_CLK_MT2712_IMGSYS
	bool "Clock driver for MediaTek MT2712 imgsys"
	depends on COMMON_CLK_MT2712
	help
	  This driver supports MediaTek MT2712 imgsys clocks.

config COMMON_CLK_MT2712_JPGDECSYS
	bool "Clock driver for MediaTek MT2712 jpgdecsys"
	depends on COMMON_CLK_MT2712
	help
	  This driver supports MediaTek MT2712 jpgdecsys clocks.

config COMMON_CLK_MT2712_MFGCFG
	bool "Clock driver for MediaTek MT2712 mfgcfg"
	depends on COMMON_CLK_MT2712
	help
	  This driver supports MediaTek MT2712 mfgcfg clocks.

config COMMON_CLK_MT2712_MMSYS
	bool "Clock driver for MediaTek MT2712 mmsys"
	depends on COMMON_CLK_MT2712
	help
	  This driver supports MediaTek MT2712 mmsys clocks.

config COMMON_CLK_MT2712_VDECSYS
	bool "Clock driver for MediaTek MT2712 vdecsys"
	depends on COMMON_CLK_MT2712
	help
	  This driver supports MediaTek MT2712 vdecsys clocks.

config COMMON_CLK_MT2712_VENCSYS
	bool "Clock driver for MediaTek MT2712 vencsys"
	depends on COMMON_CLK_MT2712
	help
	  This driver supports MediaTek MT2712 vencsys clocks.

config COMMON_CLK_MT6765
       bool "Clock driver for MediaTek MT6765"
       depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
       select COMMON_CLK_MEDIATEK
       default ARCH_MEDIATEK && ARM64
       help
         This driver supports MediaTek MT6765 basic clocks.

config COMMON_CLK_MT6765_AUDIOSYS
       bool "Clock driver for MediaTek MT6765 audiosys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 audiosys clocks.

config COMMON_CLK_MT6765_CAMSYS
       bool "Clock driver for MediaTek MT6765 camsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 camsys clocks.

config COMMON_CLK_MT6765_GCESYS
       bool "Clock driver for MediaTek MT6765 gcesys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 gcesys clocks.

config COMMON_CLK_MT6765_MMSYS
       bool "Clock driver for MediaTek MT6765 mmsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 mmsys clocks.

config COMMON_CLK_MT6765_IMGSYS
       bool "Clock driver for MediaTek MT6765 imgsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 imgsys clocks.

config COMMON_CLK_MT6765_VCODECSYS
       bool "Clock driver for MediaTek MT6765 vcodecsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 vcodecsys clocks.

config COMMON_CLK_MT6765_MFGSYS
       bool "Clock driver for MediaTek MT6765 mfgsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 mfgsys clocks.

config COMMON_CLK_MT6765_MIPI0ASYS
       bool "Clock driver for MediaTek MT6765 mipi0asys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 mipi0asys clocks.

config COMMON_CLK_MT6765_MIPI0BSYS
       bool "Clock driver for MediaTek MT6765 mipi0bsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 mipi0bsys clocks.

config COMMON_CLK_MT6765_MIPI1ASYS
       bool "Clock driver for MediaTek MT6765 mipi1asys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 mipi1asys clocks.

config COMMON_CLK_MT6765_MIPI1BSYS
       bool "Clock driver for MediaTek MT6765 mipi1bsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 mipi1bsys clocks.

config COMMON_CLK_MT6765_MIPI2ASYS
       bool "Clock driver for MediaTek MT6765 mipi2asys"
       depends on COMMON_CLK_MT6765
      help
         This driver supports MediaTek MT6765 mipi2asys clocks.

config COMMON_CLK_MT6765_MIPI2BSYS
       bool "Clock driver for MediaTek MT6765 mipi2bsys"
       depends on COMMON_CLK_MT6765
       help
         This driver supports MediaTek MT6765 mipi2bsys clocks.

config COMMON_CLK_MT6779
	tristate "Clock driver for MediaTek MT6779"
	depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM64
	help
	  This driver supports MediaTek MT6779 basic clocks.

config COMMON_CLK_MT6779_MMSYS
	tristate "Clock driver for MediaTek MT6779 mmsys"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports MediaTek MT6779 mmsys clocks.

config COMMON_CLK_MT6779_IMGSYS
	tristate "Clock driver for MediaTek MT6779 imgsys"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports MediaTek MT6779 imgsys clocks.

config COMMON_CLK_MT6779_IPESYS
	tristate "Clock driver for MediaTek MT6779 ipesys"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports MediaTek MT6779 ipesys clocks.

config COMMON_CLK_MT6779_CAMSYS
	tristate "Clock driver for MediaTek MT6779 camsys"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports MediaTek MT6779 camsys clocks.

config COMMON_CLK_MT6779_VDECSYS
	tristate "Clock driver for MediaTek MT6779 vdecsys"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports MediaTek MT6779 vdecsys clocks.

config COMMON_CLK_MT6779_VENCSYS
	tristate "Clock driver for MediaTek MT6779 vencsys"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports MediaTek MT6779 vencsys clocks.

config COMMON_CLK_MT6779_MFGCFG
	tristate "Clock driver for MediaTek MT6779 mfgcfg"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports MediaTek MT6779 mfgcfg clocks.

config COMMON_CLK_MT6779_AUDSYS
	tristate "Clock driver for Mediatek MT6779 audsys"
	depends on COMMON_CLK_MT6779
	help
	  This driver supports Mediatek MT6779 audsys clocks.

config COMMON_CLK_MT6795
	tristate "Clock driver for MediaTek MT6795"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK
	help
	  This driver supports MediaTek MT6795 basic clocks and clocks
	  required for various peripherals found on MediaTek.

config COMMON_CLK_MT6795_MFGCFG
	tristate "Clock driver for MediaTek MT6795 mfgcfg"
	depends on COMMON_CLK_MT6795
	default COMMON_CLK_MT6795
	help
	  This driver supports MediaTek MT6795 mfgcfg clocks.

config COMMON_CLK_MT6795_MMSYS
       tristate "Clock driver for MediaTek MT6795 mmsys"
       depends on COMMON_CLK_MT6795
	default COMMON_CLK_MT6795
       help
         This driver supports MediaTek MT6795 mmsys clocks.

config COMMON_CLK_MT6795_VDECSYS
	tristate "Clock driver for MediaTek MT6795 VDECSYS"
	depends on COMMON_CLK_MT6795
	default COMMON_CLK_MT6795
	help
	  This driver supports MediaTek MT6795 vdecsys clocks.

config COMMON_CLK_MT6795_VENCSYS
	tristate "Clock driver for MediaTek MT6795 VENCSYS"
	depends on COMMON_CLK_MT6795
	default COMMON_CLK_MT6795
	help
	  This driver supports MediaTek MT6795 vencsys clocks.

config COMMON_CLK_MT6797
	bool "Clock driver for MediaTek MT6797"
	depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM64
	help
	  This driver supports MediaTek MT6797 basic clocks.

config COMMON_CLK_MT6797_MMSYS
	bool "Clock driver for MediaTek MT6797 mmsys"
	depends on COMMON_CLK_MT6797
	help
	  This driver supports MediaTek MT6797 mmsys clocks.

config COMMON_CLK_MT6797_IMGSYS
	bool "Clock driver for MediaTek MT6797 imgsys"
	depends on COMMON_CLK_MT6797
	help
	  This driver supports MediaTek MT6797 imgsys clocks.

config COMMON_CLK_MT6797_VDECSYS
	bool "Clock driver for MediaTek MT6797 vdecsys"
	depends on COMMON_CLK_MT6797
	help
	  This driver supports MediaTek MT6797 vdecsys clocks.

config COMMON_CLK_MT6797_VENCSYS
	bool "Clock driver for MediaTek MT6797 vencsys"
	depends on COMMON_CLK_MT6797
	help
	  This driver supports MediaTek MT6797 vencsys clocks.

config COMMON_CLK_MT7622
	bool "Clock driver for MediaTek MT7622"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK
	help
	  This driver supports MediaTek MT7622 basic clocks and clocks
	  required for various periperals found on MediaTek.

config COMMON_CLK_MT7622_ETHSYS
	bool "Clock driver for MediaTek MT7622 ETHSYS"
	depends on COMMON_CLK_MT7622
	help
	  This driver add support for clocks for Ethernet and SGMII
	  required on MediaTek MT7622 SoC.

config COMMON_CLK_MT7622_HIFSYS
	bool "Clock driver for MediaTek MT7622 HIFSYS"
	depends on COMMON_CLK_MT7622
	help
	  This driver supports MediaTek MT7622 HIFSYS clocks providing
	  to PCI-E and USB.

config COMMON_CLK_MT7622_AUDSYS
	bool "Clock driver for MediaTek MT7622 AUDSYS"
	depends on COMMON_CLK_MT7622
	help
	  This driver supports MediaTek MT7622 AUDSYS clocks providing
	  to audio consumers such as I2S and TDM.

config COMMON_CLK_MT7629
	bool "Clock driver for MediaTek MT7629"
	depends on (ARCH_MEDIATEK && ARM) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM
	help
	  This driver supports MediaTek MT7629 basic clocks and clocks
	  required for various periperals found on MediaTek.

config COMMON_CLK_MT7629_ETHSYS
	bool "Clock driver for MediaTek MT7629 ETHSYS"
	depends on COMMON_CLK_MT7629
	help
	  This driver add support for clocks for Ethernet and SGMII
	  required on MediaTek MT7629 SoC.

config COMMON_CLK_MT7629_HIFSYS
	bool "Clock driver for MediaTek MT7629 HIFSYS"
	depends on COMMON_CLK_MT7629
	help
	  This driver supports MediaTek MT7629 HIFSYS clocks providing
	  to PCI-E and USB.

config COMMON_CLK_MT7986
	bool "Clock driver for MediaTek MT7986"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK
	help
	  This driver supports MediaTek MT7986 basic clocks and clocks
	  required for various peripherals found on MediaTek.

config COMMON_CLK_MT7986_ETHSYS
	bool "Clock driver for MediaTek MT7986 ETHSYS"
	depends on COMMON_CLK_MT7986
	default COMMON_CLK_MT7986
	help
	  This driver adds support for clocks for Ethernet and SGMII
	  required on MediaTek MT7986 SoC.

config COMMON_CLK_MT8135
	bool "Clock driver for MediaTek MT8135"
	depends on (ARCH_MEDIATEK && ARM) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM
	help
	  This driver supports MediaTek MT8135 clocks.

config COMMON_CLK_MT8167
	bool "Clock driver for MediaTek MT8167"
	depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK
	help
	  This driver supports MediaTek MT8167 basic clocks.

config COMMON_CLK_MT8167_AUDSYS
	bool "Clock driver for MediaTek MT8167 audsys"
	depends on COMMON_CLK_MT8167
	default COMMON_CLK_MT8167
	help
	  This driver supports MediaTek MT8167 audsys clocks.

config COMMON_CLK_MT8167_IMGSYS
	bool "Clock driver for MediaTek MT8167 imgsys"
	depends on COMMON_CLK_MT8167
	default COMMON_CLK_MT8167
	help
	  This driver supports MediaTek MT8167 imgsys clocks.

config COMMON_CLK_MT8167_MFGCFG
	bool "Clock driver for MediaTek MT8167 mfgcfg"
	depends on COMMON_CLK_MT8167
	default COMMON_CLK_MT8167
	help
	  This driver supports MediaTek MT8167 mfgcfg clocks.

config COMMON_CLK_MT8167_MMSYS
	bool "Clock driver for MediaTek MT8167 mmsys"
	depends on COMMON_CLK_MT8167
	default COMMON_CLK_MT8167
	help
	  This driver supports MediaTek MT8167 mmsys clocks.

config COMMON_CLK_MT8167_VDECSYS
	bool "Clock driver for MediaTek MT8167 vdecsys"
	depends on COMMON_CLK_MT8167
	default COMMON_CLK_MT8167
	help
	  This driver supports MediaTek MT8167 vdecsys clocks.

config COMMON_CLK_MT8173
	bool "Clock driver for MediaTek MT8173"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK
	help
	  This driver supports MediaTek MT8173 clocks.

config COMMON_CLK_MT8173_MMSYS
	bool "Clock driver for MediaTek MT8173 mmsys"
	depends on COMMON_CLK_MT8173
	default COMMON_CLK_MT8173
	help
	  This driver supports MediaTek MT8173 mmsys clocks.

config COMMON_CLK_MT8183
	bool "Clock driver for MediaTek MT8183"
	depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM64
	help
	  This driver supports MediaTek MT8183 basic clocks.

config COMMON_CLK_MT8183_AUDIOSYS
	bool "Clock driver for MediaTek MT8183 audiosys"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 audiosys clocks.

config COMMON_CLK_MT8183_CAMSYS
	bool "Clock driver for MediaTek MT8183 camsys"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 camsys clocks.

config COMMON_CLK_MT8183_IMGSYS
	bool "Clock driver for MediaTek MT8183 imgsys"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 imgsys clocks.

config COMMON_CLK_MT8183_IPU_CORE0
	bool "Clock driver for MediaTek MT8183 ipu_core0"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 ipu_core0 clocks.

config COMMON_CLK_MT8183_IPU_CORE1
	bool "Clock driver for MediaTek MT8183 ipu_core1"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 ipu_core1 clocks.

config COMMON_CLK_MT8183_IPU_ADL
	bool "Clock driver for MediaTek MT8183 ipu_adl"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 ipu_adl clocks.

config COMMON_CLK_MT8183_IPU_CONN
	bool "Clock driver for MediaTek MT8183 ipu_conn"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 ipu_conn clocks.

config COMMON_CLK_MT8183_MFGCFG
	bool "Clock driver for MediaTek MT8183 mfgcfg"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 mfgcfg clocks.

config COMMON_CLK_MT8183_MMSYS
	bool "Clock driver for MediaTek MT8183 mmsys"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 mmsys clocks.

config COMMON_CLK_MT8183_VDECSYS
	bool "Clock driver for MediaTek MT8183 vdecsys"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 vdecsys clocks.

config COMMON_CLK_MT8183_VENCSYS
	bool "Clock driver for MediaTek MT8183 vencsys"
	depends on COMMON_CLK_MT8183
	default COMMON_CLK_MT8183
	help
	  This driver supports MediaTek MT8183 vencsys clocks.

config COMMON_CLK_MT8186
	bool "Clock driver for MediaTek MT8186"
	depends on ARM64 || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK
	help
	  This driver supports MediaTek MT8186 clocks.

config COMMON_CLK_MT8192
	bool "Clock driver for MediaTek MT8192"
	depends on ARM64 || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARM64
	help
	  This driver supports MediaTek MT8192 basic clocks.

config COMMON_CLK_MT8192_AUDSYS
	bool "Clock driver for MediaTek MT8192 audsys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 audsys clocks.

config COMMON_CLK_MT8192_CAMSYS
	bool "Clock driver for MediaTek MT8192 camsys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 camsys and camsys_raw clocks.

config COMMON_CLK_MT8192_IMGSYS
	bool "Clock driver for MediaTek MT8192 imgsys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 imgsys and imgsys2 clocks.

config COMMON_CLK_MT8192_IMP_IIC_WRAP
	bool "Clock driver for MediaTek MT8192 imp_iic_wrap"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 imp_iic_wrap clocks.

config COMMON_CLK_MT8192_IPESYS
	bool "Clock driver for MediaTek MT8192 ipesys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 ipesys clocks.

config COMMON_CLK_MT8192_MDPSYS
	bool "Clock driver for MediaTek MT8192 mdpsys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 mdpsys clocks.

config COMMON_CLK_MT8192_MFGCFG
	bool "Clock driver for MediaTek MT8192 mfgcfg"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 mfgcfg clocks.

config COMMON_CLK_MT8192_MMSYS
	bool "Clock driver for MediaTek MT8192 mmsys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 mmsys clocks.

config COMMON_CLK_MT8192_MSDC
	bool "Clock driver for MediaTek MT8192 msdc"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 msdc and msdc_top clocks.

config COMMON_CLK_MT8192_SCP_ADSP
	bool "Clock driver for MediaTek MT8192 scp_adsp"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 scp_adsp clocks.

config COMMON_CLK_MT8192_VDECSYS
	bool "Clock driver for MediaTek MT8192 vdecsys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 vdecsys and vdecsys_soc clocks.

config COMMON_CLK_MT8192_VENCSYS
	bool "Clock driver for MediaTek MT8192 vencsys"
	depends on COMMON_CLK_MT8192
	help
	  This driver supports MediaTek MT8192 vencsys clocks.

config COMMON_CLK_MT8195
        bool "Clock driver for MediaTek MT8195"
        depends on ARM64 || COMPILE_TEST
        select COMMON_CLK_MEDIATEK
        default ARCH_MEDIATEK
        help
          This driver supports MediaTek MT8195 clocks.

config COMMON_CLK_MT8365
	tristate "Clock driver for MediaTek MT8365"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_MEDIATEK && ARM64
	help
	  This driver supports MediaTek MT8365 basic clocks.

config COMMON_CLK_MT8365_APU
	tristate "Clock driver for MediaTek MT8365 apu"
	depends on COMMON_CLK_MT8365
	default COMMON_CLK_MT8365
	help
	  This driver supports MediaTek MT8365 apu clocks.

config COMMON_CLK_MT8365_CAM
	tristate "Clock driver for MediaTek MT8365 cam"
	depends on COMMON_CLK_MT8365
	default COMMON_CLK_MT8365
	help
	  This driver supports MediaTek MT8365 cam clocks.

config COMMON_CLK_MT8365_MFG
	tristate "Clock driver for MediaTek MT8365 mfg"
	depends on COMMON_CLK_MT8365
	default COMMON_CLK_MT8365
	help
	  This driver supports MediaTek MT8365 mfg clocks.

config COMMON_CLK_MT8365_MMSYS
	tristate "Clock driver for MediaTek MT8365 mmsys"
	depends on COMMON_CLK_MT8365
	default COMMON_CLK_MT8365
	help
	  This driver supports MediaTek MT8365 mmsys clocks.

config COMMON_CLK_MT8365_VDEC
	tristate "Clock driver for MediaTek MT8365 vdec"
	depends on COMMON_CLK_MT8365
	default COMMON_CLK_MT8365
	help
	  This driver supports MediaTek MT8365 vdec clocks.

config COMMON_CLK_MT8365_VENC
	tristate "Clock driver for MediaTek MT8365 venc"
	depends on COMMON_CLK_MT8365
	default COMMON_CLK_MT8365
	help
	  This driver supports MediaTek MT8365 venc clocks.

config COMMON_CLK_MT8516
	bool "Clock driver for MediaTek MT8516"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select COMMON_CLK_MEDIATEK
	default ARCH_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.

endmenu
