##
## This file is part of the coreboot project.
##
## Copyright (C) 2009 Ronald G. Minnich
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##

config SUPERIO_WANTS_14MHZ_CLOCK
	bool

source src/superio/fintek/Kconfig
source src/superio/intel/Kconfig
source src/superio/ite/Kconfig
source src/superio/nsc/Kconfig
source src/superio/nuvoton/Kconfig
source src/superio/renesas/Kconfig
source src/superio/serverengines/Kconfig
source src/superio/smsc/Kconfig
source src/superio/via/Kconfig
source src/superio/winbond/Kconfig
