MIPS: Netlogic: Add XLP makefiles and config
authorJayachandran C <jayachandranc@netlogicmicro.com>
Wed, 16 Nov 2011 00:21:28 +0000 (00:21 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 7 Dec 2011 22:04:56 +0000 (22:04 +0000)
- Add CPU_XLP and NLM_XLR_BOARD to arch/mips/Kconfig for Netlogic XLP boards
- Update mips Makefiles to add XLP

Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2968/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/Kconfig
arch/mips/kernel/Makefile
arch/mips/lib/Makefile
arch/mips/mm/Makefile
arch/mips/netlogic/Makefile
arch/mips/netlogic/Platform
arch/mips/netlogic/xlp/Makefile [new file with mode: 0644]

index 58515fdf223ecee224169b278f244df8fb7fcc42..c3b1b356bb5bbfc4dae8834080d414428b170929 100644 (file)
@@ -783,6 +783,33 @@ config NLM_XLR_BOARD
          Support for systems based on Netlogic XLR and XLS processors.
          Say Y here if you have a XLR or XLS based board.
 
+config NLM_XLP_BOARD
+       bool "Netlogic XLP based systems"
+       depends on EXPERIMENTAL
+       select BOOT_ELF32
+       select NLM_COMMON
+       select SYS_HAS_CPU_XLP
+       select SYS_SUPPORTS_SMP
+       select HW_HAS_PCI
+       select SWAP_IO_SPACE
+       select SYS_SUPPORTS_32BIT_KERNEL
+       select SYS_SUPPORTS_64BIT_KERNEL
+       select 64BIT_PHYS_ADDR
+       select SYS_SUPPORTS_BIG_ENDIAN
+       select SYS_SUPPORTS_LITTLE_ENDIAN
+       select SYS_SUPPORTS_HIGHMEM
+       select DMA_COHERENT
+       select NR_CPUS_DEFAULT_32
+       select CEVT_R4K
+       select CSRC_R4K
+       select IRQ_CPU
+       select ZONE_DMA if 64BIT
+       select SYNC_R4K
+       select SYS_HAS_EARLY_PRINTK
+       help
+         This board is based on Netlogic XLP Processor.
+         Say Y here if you have a XLP based board.
+
 endchoice
 
 source "arch/mips/alchemy/Kconfig"
@@ -1472,6 +1499,19 @@ config CPU_XLR
        select CPU_SUPPORTS_HUGEPAGES
        help
          Netlogic Microsystems XLR/XLS processors.
+
+config CPU_XLP
+       bool "Netlogic XLP SoC"
+       depends on SYS_HAS_CPU_XLP
+       select CPU_SUPPORTS_32BIT_KERNEL
+       select CPU_SUPPORTS_64BIT_KERNEL
+       select CPU_SUPPORTS_HIGHMEM
+       select CPU_HAS_LLSC
+       select WEAK_ORDERING
+       select WEAK_REORDERING_BEYOND_LLSC
+       select CPU_HAS_PREFETCH
+       help
+         Netlogic Microsystems XLP processors.
 endchoice
 
 if CPU_LOONGSON2F
@@ -1605,6 +1645,9 @@ config SYS_HAS_CPU_BMIPS5000
 config SYS_HAS_CPU_XLR
        bool
 
+config SYS_HAS_CPU_XLP
+       bool
+
 #
 # CPU may reorder R->R, R->W, W->R, W->W
 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
index 1a966183e3531c4c9f5dd735310364e82526cf6d..810ab50bf44f536f90f12306e2c6ab54ef6299f4 100644 (file)
@@ -55,6 +55,7 @@ obj-$(CONFIG_CPU_TX49XX)      += r4k_fpu.o r4k_switch.o
 obj-$(CONFIG_CPU_VR41XX)       += r4k_fpu.o r4k_switch.o
 obj-$(CONFIG_CPU_CAVIUM_OCTEON)        += octeon_switch.o
 obj-$(CONFIG_CPU_XLR)          += r4k_fpu.o r4k_switch.o
+obj-$(CONFIG_CPU_XLP)          += r4k_fpu.o r4k_switch.o
 
 obj-$(CONFIG_SMP)              += smp.o
 obj-$(CONFIG_SMP_UP)           += smp-up.o
index b2cad4fd5fc4a6720c3eae65384f1c94b62f7f8f..2a7c74fc15fcef917d183201d9f6eac9046fcbf7 100644 (file)
@@ -29,6 +29,7 @@ obj-$(CONFIG_CPU_TX49XX)      += dump_tlb.o
 obj-$(CONFIG_CPU_VR41XX)       += dump_tlb.o
 obj-$(CONFIG_CPU_CAVIUM_OCTEON)        += dump_tlb.o
 obj-$(CONFIG_CPU_XLR)          += dump_tlb.o
+obj-$(CONFIG_CPU_XLP)          += dump_tlb.o
 
 # libgcc-style stuff needed in the kernel
 obj-y += ashldi3.o ashrdi3.o cmpdi2.o lshrdi3.o ucmpdi2.o
index 4d8c1623eee2978a00bb792a6e714bfe668f27d7..59b090549aef9b6daff1cb022311e15026dfd51d 100644 (file)
@@ -31,6 +31,7 @@ obj-$(CONFIG_CPU_TX49XX)      += c-r4k.o cex-gen.o tlb-r4k.o
 obj-$(CONFIG_CPU_VR41XX)       += c-r4k.o cex-gen.o tlb-r4k.o
 obj-$(CONFIG_CPU_CAVIUM_OCTEON)        += c-octeon.o cex-oct.o tlb-r4k.o
 obj-$(CONFIG_CPU_XLR)          += c-r4k.o tlb-r4k.o cex-gen.o
+obj-$(CONFIG_CPU_XLP)          += c-r4k.o tlb-r4k.o cex-gen.o
 
 obj-$(CONFIG_IP22_CPU_SCACHE)  += sc-ip22.o
 obj-$(CONFIG_R5000_CPU_SCACHE)  += sc-r5k.o
index 797326da3718f7eab3cde1d0af5c4840b9802aa7..36d169b2ca6d34f7185c491746c2e773206c301d 100644 (file)
@@ -1,2 +1,3 @@
 obj-$(CONFIG_NLM_COMMON)       +=      common/
 obj-$(CONFIG_CPU_XLR)          +=      xlr/
+obj-$(CONFIG_CPU_XLP)          +=      xlp/
index 7811b107689dd16a50bbd565b3571d3f220e2999..cdfc9abbbb7bc3905fbd0f8211ba74fa5d06f0dc 100644 (file)
@@ -8,6 +8,7 @@ cflags-$(CONFIG_NLM_COMMON)     += -I$(srctree)/arch/mips/include/asm/netlogic
 # use mips64 if xlr is not available
 #
 cflags-$(CONFIG_CPU_XLR)       += $(call cc-option,-march=xlr,-march=mips64)
+cflags-$(CONFIG_CPU_XLP)       += $(call cc-option,-march=xlp,-march=mips64r2)
 
 #
 # NETLOGIC processor support
diff --git a/arch/mips/netlogic/xlp/Makefile b/arch/mips/netlogic/xlp/Makefile
new file mode 100644 (file)
index 0000000..1940d1c
--- /dev/null
@@ -0,0 +1,2 @@
+obj-y                          += setup.o platform.o nlm_hal.o
+obj-$(CONFIG_SMP)              += smpboot.o wakeup.o