#
# MediaTek Clock Drivers
#
menu "Clock driver for MediaTek SoC"
	depends on ARCH_MEDIATEK || COMPILE_TEST

config COMMON_CLK_MEDIATEK
	bool
	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_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_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_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.
endmenu
