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
	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
	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
	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
	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 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
