From 6752d4cb08b734235bd7978424087514623696b0 Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Thu, 27 Feb 2014 22:41:39 +0000 Subject: [PATCH] imx6: enable FPU for hard float The OpenWrt build system uses MACHINE_FEATURES of fpu to set the HAS_FPU which in turn sets the default of CONFIG_SOFT_FLOAT as well as uClibc configuration. As the IMX6 SoC has both vfpv3 and NEON hardware support we want to add fpu to the feature list. This will default the IMX6 target to use -mfloat-abi=hard which will the be most efficient use of floating point. When switching to hard float, we also need to enable VFP support in the kernel. Signed-off-by: Tim Harvey SVN-Revision: 39759 --- target/linux/imx6/Makefile | 2 +- target/linux/imx6/config-3.10 | 5 +++-- target/linux/imx6/config-3.13 | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/target/linux/imx6/Makefile b/target/linux/imx6/Makefile index 9ae1a4b4dbcb..cee5b4542382 100644 --- a/target/linux/imx6/Makefile +++ b/target/linux/imx6/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk ARCH:=arm BOARD:=imx6 BOARDNAME:=Freescale i.MX 6 Series -FEATURES:=audio display gpio pcie rtc usb usbgadget squashfs targz ubifs +FEATURES:=audio display fpu gpio pcie rtc usb usbgadget squashfs targz ubifs CPU_TYPE:=cortex-a9 CPU_SUBTYPE:=vfpv3 MAINTAINER:=Luka Perkov diff --git a/target/linux/imx6/config-3.10 b/target/linux/imx6/config-3.10 index 3e69d68e7e7f..3f189b85b4ab 100644 --- a/target/linux/imx6/config-3.10 +++ b/target/linux/imx6/config-3.10 @@ -245,7 +245,7 @@ CONFIG_MUTEX_SPIN_ON_OWNER=y # CONFIG_MXC_IRQ_PRIOR is not set CONFIG_MXS_DMA=y CONFIG_NEED_DMA_MAP_STATE=y -# CONFIG_NET_DMA is not set +CONFIG_NEON=y CONFIG_NLS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NO_HZ_COMMON=y @@ -350,7 +350,8 @@ CONFIG_USB_SUPPORT=y CONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_USE_OF=y CONFIG_VECTORS_BASE=0xffff0000 -# CONFIG_VFP is not set +CONFIG_VFP=y +CONFIG_VFPv3=y CONFIG_VMSPLIT_2G=y # CONFIG_VMSPLIT_3G is not set # CONFIG_XEN is not set diff --git a/target/linux/imx6/config-3.13 b/target/linux/imx6/config-3.13 index 2506a0a70fe8..fc78c55c5441 100644 --- a/target/linux/imx6/config-3.13 +++ b/target/linux/imx6/config-3.13 @@ -246,6 +246,7 @@ CONFIG_MUTEX_SPIN_ON_OWNER=y # CONFIG_MXC_IRQ_PRIOR is not set CONFIG_MXS_DMA=y CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEON=y CONFIG_NET_FLOW_LIMIT=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_NLS=y @@ -345,7 +346,8 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" CONFIG_USB_SUPPORT=y CONFIG_USE_OF=y CONFIG_VECTORS_BASE=0xffff0000 -# CONFIG_VFP is not set +CONFIG_VFP=y +CONFIG_VFPv3=y CONFIG_VMSPLIT_2G=y # CONFIG_VMSPLIT_3G is not set # CONFIG_XEN is not set -- 2.30.2