# SPDX-License-Identifier: GPL-2.0
if NLM_XLP_BOARD || NLM_XLR_BOARD

if NLM_XLP_BOARD
config DT_XLP_EVP
	bool "Built-in device tree for XLP EVP boards"
	default y
	select BUILTIN_DTB
	help
	  Add an FDT blob for XLP EVP boards into the kernel.
	  This DTB will be used if the firmware does not pass in a DTB
	  pointer to the kernel.  The corresponding DTS file is at
	  arch/mips/netlogic/dts/xlp_evp.dts

config DT_XLP_SVP
	bool "Built-in device tree for XLP SVP boards"
	default y
	select BUILTIN_DTB
	help
	  Add an FDT blob for XLP VP boards into the kernel.
	  This DTB will be used if the firmware does not pass in a DTB
	  pointer to the kernel.  The corresponding DTS file is at
	  arch/mips/netlogic/dts/xlp_svp.dts

config DT_XLP_FVP
	bool "Built-in device tree for XLP FVP boards"
	default y
	select BUILTIN_DTB
	help
	  Add an FDT blob for XLP FVP board into the kernel.
	  This DTB will be used if the firmware does not pass in a DTB
	  pointer to the kernel.  The corresponding DTS file is at
	  arch/mips/netlogic/dts/xlp_fvp.dts

config DT_XLP_GVP
	bool "Built-in device tree for XLP GVP boards"
	default y
	select BUILTIN_DTB
	help
	  Add an FDT blob for XLP GVP board into the kernel.
	  This DTB will be used if the firmware does not pass in a DTB
	  pointer to the kernel.  The corresponding DTS file is at
	  arch/mips/netlogic/dts/xlp_gvp.dts

config DT_XLP_RVP
	bool "Built-in device tree for XLP RVP boards"
	default y
	help
	  Add an FDT blob for XLP RVP board into the kernel.
	  This DTB will be used if the firmware does not pass in a DTB
	  pointer to the kernel.  The corresponding DTS file is at
	  arch/mips/netlogic/dts/xlp_rvp.dts

config NLM_MULTINODE
	bool "Support for multi-chip boards"
	depends on NLM_XLP_BOARD
	default n
	help
	  Add support for boards with 2 or 4 XLPs connected over ICI.

if NLM_MULTINODE
choice
	prompt "Number of XLPs on the board"
	default NLM_MULTINODE_2
	help
	  In the multi-node case, specify the number of SoCs on the board.

config NLM_MULTINODE_2
	bool "Dual-XLP board"
	help
	  Support boards with upto two XLPs connected over ICI.

config NLM_MULTINODE_4
	bool "Quad-XLP board"
	help
	  Support boards with upto four XLPs connected over ICI.

endchoice

endif
endif

config NLM_COMMON
	bool

config IOMMU_HELPER
	bool

config NEED_SG_DMA_LENGTH
	bool

config SWIOTLB
	def_bool y
	select NEED_SG_DMA_LENGTH
	select IOMMU_HELPER

endif
