microblaze: Select compilation flags via Kconfig
authorMichal Simek <michal.simek@xilinx.com>
Tue, 24 May 2016 09:42:26 +0000 (11:42 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 6 Jun 2016 09:23:27 +0000 (11:23 +0200)
Remove autogenerated config.mk and select CPU options via Kconfig.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/microblaze-generic/Kconfig
board/xilinx/microblaze-generic/config.mk
configs/microblaze-generic_defconfig

index 461d7dce2c2ee5ad0846e89b4032593ff5f1abc3..01c157e7155996b8821b2658df74f477f00d4154 100644 (file)
@@ -9,4 +9,20 @@ config SYS_VENDOR
 config SYS_CONFIG_NAME
        default "microblaze-generic"
 
+config XILINX_MICROBLAZE0_USE_PCMP_INSTR
+       int "USE_PCMP_INSTR range (0:1)"
+       default 0
+
+config XILINX_MICROBLAZE0_USE_BARREL
+       int "USE_BARREL range (0:1)"
+       default 0
+
+config XILINX_MICROBLAZE0_USE_DIV
+       int "USE_DIV range (0:1)"
+       default 0
+
+config XILINX_MICROBLAZE0_USE_HW_MUL
+       int "USE_HW_MUL values (0=NONE, 1=MUL32, 2=MUL64)"
+       default 0
+
 endif
index 95ef9c0f069060569d57c78d8632a7aa075dbf31..4b033f7d9e38e4ba025c1b9ad22d1e8c009985f1 100644 (file)
@@ -1,16 +1,16 @@
 #
-# (C) Copyright 2007 Michal Simek
+# (C) Copyright 2007 - 2016 Michal Simek
 #
-# Michal  SIMEK <monstr@monstr.eu>
+# Michal SIMEK <monstr@monstr.eu>
 #
 # SPDX-License-Identifier:     GPL-2.0+
 #
-# CAUTION: This file is a faked configuration !!!
-#          There is no real target for the microblaze-generic
-#          configuration. You have to replace this file with
-#          the generated file from your Xilinx design flow.
-#
 
-PLATFORM_CPPFLAGS += -mno-xl-soft-mul
-PLATFORM_CPPFLAGS += -mno-xl-soft-div
-PLATFORM_CPPFLAGS += -mxl-barrel-shift
+# USE_HW_MUL can be 0, 1, or 2, defining a hierarchy of HW Mul support.
+CPUFLAGS-$(subst 1,,$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL)) += -mxl-multiply-high
+CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL) += -mno-xl-soft-mul
+CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div
+CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift
+CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare
+
+PLATFORM_CPPFLAGS += $(CPUFLAGS-1) $(CPUFLAGS-2)
index 8c7e4b79387d39031a64eac6c63acec28c2430b3..7e53b5e450a7212a1b122f44da7ef5222e63f158 100644 (file)
@@ -2,6 +2,9 @@ CONFIG_MICROBLAZE=y
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_DM=y
 CONFIG_TARGET_MICROBLAZE_GENERIC=y
+CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
+CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
+CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
 CONFIG_SYS_TEXT_BASE=0x29000000
 CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
 CONFIG_SPL=y