# Copyright (c) 2016 Intel Corporation Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
choice
	prompt "Quark SE Selection"
	depends on SOC_SERIES_QUARK_SE

config SOC_QUARK_SE_C1000
	bool "Intel Quark SE C1000"

config SOC_QUARK_SE_CURIE
	bool "Intel Curie"

endchoice


