[meta-freescale] [3rdparty][PATCH v2] linux-wandboard-rt: Upgrade to version 4.1.15

Dominic Sacré dominic.sacre at gmx.de
Thu Nov 10 09:54:20 PST 2016


Upgrade recipe based on the latest versions of linux-wandboard and
linux-fslc-imx-rt.

Signed-off-by: Dominic Sacré <dominic.sacre at gmx.de>
---
I accidentally sent v1 with an incorrect defconfig, so here's v2 to fix that.

 .../0002-fix-build-with-rt-enabled.patch           |  19 ---
 .../0001-fix-build.patch                           |   0
 .../0002-no-split-ptlocks.patch}                   |   0
 ...around-CPU-stalls-in-the-imx-sdma-driver.patch} |  53 +++++--
 .../Fix-gcc6-build-error-in-Vivante-driver.patch   |  41 ++++++
 .../Fix-the-compile-issue-under-gcc6.patch         |  92 ++++++++++++
 .../defconfig                                      | 160 ++++++++++++---------
 ...-rt_3.14.28.bb => linux-wandboard-rt_4.1.15.bb} |  21 +--
 8 files changed, 281 insertions(+), 105 deletions(-)
 delete mode 100644 recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28 => linux-wandboard-rt-4.1.15}/0001-fix-build.patch (100%)
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch => linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch} (100%)
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch => linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch} (69%)
 create mode 100644 recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
 create mode 100644 recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-the-compile-issue-under-gcc6.patch
 rename recipes-kernel/linux/{linux-wandboard-rt-3.14.28 => linux-wandboard-rt-4.1.15}/defconfig (81%)
 rename recipes-kernel/linux/{linux-wandboard-rt_3.14.28.bb => linux-wandboard-rt_4.1.15.bb} (37%)

diff --git a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch b/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
deleted file mode 100644
index 83652c9..0000000
--- a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix build error when PREEMPT_RT_FULL is enabled
-
-Upstream-Status: Pending
-
-Signed-off-by: Jacob Kroon <jacob.kroon at mikrodidakt.se>
-
-Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-===================================================================
---- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
-@@ -3266,7 +3266,7 @@ gckOS_CreateMutex(
-     gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
- 
-     /* Initialize the mutex. */
--    mutex_init(*Mutex);
-+    mutex_init((struct mutex*)*Mutex);
- 
-     /* Return status. */
-     gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
diff --git a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0001-fix-build.patch
similarity index 100%
rename from recipes-kernel/linux/linux-wandboard-rt-3.14.28/0001-fix-build.patch
rename to recipes-kernel/linux/linux-wandboard-rt-4.1.15/0001-fix-build.patch
diff --git a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch
similarity index 100%
rename from recipes-kernel/linux/linux-wandboard-rt-3.14.28/0003-no-split-ptlocks.patch
rename to recipes-kernel/linux/linux-wandboard-rt-4.1.15/0002-no-split-ptlocks.patch
diff --git a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
similarity index 69%
rename from recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
rename to recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
index da36213..93200c6 100644
--- a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/0004-imx-sdma-channel-use-raw-spinlock.patch
+++ b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
@@ -1,9 +1,16 @@
-Work around CPU stalls in the imx-sdma driver by replacing spinlocks
-with raw spinlocks. This prevents preemption during the spinlock's
-critical section, as is the case on non PREEMPT_RT kernels.
+From f7cba8d49a980909cea48c5b9dcfefc6e13fef0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= <dominic.sacre at gmx.de>
+Date: Fri, 29 Apr 2016 15:48:40 +0200
+Subject: [PATCH] Work around CPU stalls in the imx-sdma driver
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Replace spinlocks with raw spinlocks. This prevents preemption during
+the spinlock's critical section, as is the case on non PREEMPT_RT kernels.
 
 Without this patch, the following error can occur, for example when
-using the audio codec on an iMX6Q Sabre SD board:
+using the audio codec on an i.MX6Q SabreSD board:
 
 INFO: rcu_preempt self-detected stall on CPU { 0}  (t=2100 jiffies g=106 c=105 q=93)
 CPU: 0 PID: 120 Comm: irq/34-sdma Not tainted 3.14.28-rt25-1.0.0_ga+g91cf351 #1
@@ -34,12 +41,15 @@ fee0: 285190f0 00000000 00000000 a840ff00 8006d04c 806f3070 20030113 ffffffff
 Upstream-Status: Pending
 
 Signed-off-by: Dominic Sacré <dominic.sacre at gmx.de>
+---
+ drivers/dma/imx-sdma.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
-index bae2ea8..74ff5a0 100644
+index 31b7fed..bb7d6aa 100644
 --- a/drivers/dma/imx-sdma.c
 +++ b/drivers/dma/imx-sdma.c
-@@ -343,7 +343,7 @@ struct sdma_engine {
+@@ -408,7 +408,7 @@ struct sdma_engine {
  	struct dma_device		dma_device;
  	struct clk			*clk_ipg;
  	struct clk			*clk_ahb;
@@ -48,7 +58,7 @@ index bae2ea8..74ff5a0 100644
  	u32				script_number;
  	struct sdma_script_start_addrs	*script_addrs;
  	const struct sdma_driver_data	*drvdata;
-@@ -593,7 +593,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
+@@ -700,7 +700,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
  			return -ENOMEM;
  	}
  
@@ -57,7 +67,7 @@ index bae2ea8..74ff5a0 100644
  
  	bd0->mode.command = C0_SETPM;
  	bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD;
-@@ -605,7 +605,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
+@@ -712,7 +712,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
  
  	ret = sdma_run_channel0(sdma);
  
@@ -66,7 +76,7 @@ index bae2ea8..74ff5a0 100644
  
  	if (use_iram)
  		gen_pool_free(sdma->iram_pool, (unsigned long)buf_virt, size);
-@@ -880,7 +880,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
+@@ -979,7 +979,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
  	dev_dbg(sdma->dev, "event_mask0 = 0x%08x\n", (u32)sdmac->event_mask[0]);
  	dev_dbg(sdma->dev, "event_mask1 = 0x%08x\n", (u32)sdmac->event_mask[1]);
  
@@ -75,16 +85,34 @@ index bae2ea8..74ff5a0 100644
  
  	memset(context, 0, sizeof(*context));
  	context->channel_state.pc = load_address;
-@@ -906,7 +906,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
+@@ -1005,7 +1005,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
  	bd0->ext_buffer_addr = 2048 + (sizeof(*context) / 4) * channel;
  	ret = sdma_run_channel0(sdma);
  
 -	spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
 +	raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
  
+ 	sdmac->context_loaded = true;
+ 
+@@ -1019,7 +1019,7 @@ static int sdma_save_restore_context(struct sdma_engine *sdma, bool save)
+ 	unsigned long flags;
+ 	int ret;
+ 
+-	spin_lock_irqsave(&sdma->channel_0_lock, flags);
++	raw_spin_lock_irqsave(&sdma->channel_0_lock, flags);
+ 
+ 	if (save)
+ 		bd0->mode.command = C0_GETDM;
+@@ -1032,7 +1032,7 @@ static int sdma_save_restore_context(struct sdma_engine *sdma, bool save)
+ 	bd0->ext_buffer_addr = 2048;
+ 	ret = sdma_run_channel0(sdma);
+ 
+-	spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
++	raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
+ 
  	return ret;
  }
-@@ -1881,7 +1881,7 @@ static int __init sdma_probe(struct platform_device *pdev)
+@@ -2152,7 +2152,7 @@ static int sdma_probe(struct platform_device *pdev)
  	if (!sdma)
  		return -ENOMEM;
  
@@ -93,3 +121,6 @@ index bae2ea8..74ff5a0 100644
  
  	sdma->dev = &pdev->dev;
  	sdma->drvdata = drvdata;
+-- 
+2.8.1
+
diff --git a/recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
new file mode 100644
index 0000000..5718f9a
--- /dev/null
+++ b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-gcc6-build-error-in-Vivante-driver.patch
@@ -0,0 +1,41 @@
+From 4555b623e15150ca31ee327232b1862227b14565 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= <dominic.sacre at gmx.de>
+Date: Thu, 27 Oct 2016 22:35:04 +0200
+Subject: [PATCH] Fix gcc6 build error in Vivante driver
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| gc_hal_kernel_platform_imx6q14.c: In function 'gckPLATFORM_AdjustParam':
+| gc_hal_kernel_platform_imx6q14.c:478:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
+|    if(Args->physSize == 0)
+|    ^~
+| gc_hal_kernel_platform_imx6q14.c:481:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
+|      return gcvSTATUS_OK;
+|      ^~~~~~
+
+Signed-off-by: Dominic Sacré <dominic.sacre at gmx.de>
+
+Upstream-Status: Pending
+---
+ .../linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c  | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c
+index e436ada..3d25eb9 100644
+--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c
++++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c
+@@ -475,8 +475,8 @@ gckPLATFORM_AdjustParam(
+ 
+     Args->gpu3DMinClock = initgpu3DMinClock;
+ 
+-  if(Args->physSize == 0)
+-    Args->physSize = 0x80000000;
++    if(Args->physSize == 0)
++      Args->physSize = 0x80000000;
+ 
+     return gcvSTATUS_OK;
+ }
+-- 
+2.10.1
+
diff --git a/recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-the-compile-issue-under-gcc6.patch b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-the-compile-issue-under-gcc6.patch
new file mode 100644
index 0000000..3d080b6
--- /dev/null
+++ b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/Fix-the-compile-issue-under-gcc6.patch
@@ -0,0 +1,92 @@
+From 5d39bd421fc093e2c852316080538cef85a9e1a0 Mon Sep 17 00:00:00 2001
+From: yocto <yocto at yocto.org>
+Date: Thu, 2 Jun 2016 00:18:33 -0500
+Subject: [PATCH] Fix the compile issue under gcc6
+
+Fix the following build error:
+| .../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory
+| #include gcc_header(__GNUC__)
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
+
+Upstream-Status: Pending
+---
+ include/linux/compiler-gcc6.h | 66 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+ create mode 100644 include/linux/compiler-gcc6.h
+
+diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h
+new file mode 100644
+index 0000000..cdd1cc2
+--- /dev/null
++++ b/include/linux/compiler-gcc6.h
+@@ -0,0 +1,66 @@
++#ifndef __LINUX_COMPILER_H
++#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
++#endif
++
++#define __used				__attribute__((__used__))
++#define __must_check			__attribute__((warn_unused_result))
++#define __compiler_offsetof(a, b)	__builtin_offsetof(a, b)
++
++/* Mark functions as cold. gcc will assume any path leading to a call
++   to them will be unlikely.  This means a lot of manual unlikely()s
++   are unnecessary now for any paths leading to the usual suspects
++   like BUG(), printk(), panic() etc. [but let's keep them for now for
++   older compilers]
++
++   Early snapshots of gcc 4.3 don't support this and we can't detect this
++   in the preprocessor, but we can live with this because they're unreleased.
++   Maketime probing would be overkill here.
++
++   gcc also has a __attribute__((__hot__)) to move hot functions into
++   a special section, but I don't see any sense in this right now in
++   the kernel context */
++#define __cold			__attribute__((__cold__))
++
++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
++
++#ifndef __CHECKER__
++# define __compiletime_warning(message) __attribute__((warning(message)))
++# define __compiletime_error(message) __attribute__((error(message)))
++#endif /* __CHECKER__ */
++
++/*
++ * Mark a position in code as unreachable.  This can be used to
++ * suppress control flow warnings after asm blocks that transfer
++ * control elsewhere.
++ *
++ * Early snapshots of gcc 4.5 don't support this and we can't detect
++ * this in the preprocessor, but we can live with this because they're
++ * unreleased.  Really, we need to have autoconf for the kernel.
++ */
++#define unreachable() __builtin_unreachable()
++
++/* Mark a function definition as prohibited from being cloned. */
++#define __noclone	__attribute__((__noclone__))
++
++/*
++ * Tell the optimizer that something else uses this function or variable.
++ */
++#define __visible __attribute__((externally_visible))
++
++/*
++ * GCC 'asm goto' miscompiles certain code sequences:
++ *
++ *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
++ *
++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
++ * Fixed in GCC 4.8.2 and later versions.
++ *
++ * (asm goto is automatically volatile - the naming reflects this.)
++ */
++#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
++
++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
++#define __HAVE_BUILTIN_BSWAP32__
++#define __HAVE_BUILTIN_BSWAP64__
++#define __HAVE_BUILTIN_BSWAP16__
++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
+-- 
+2.5.0
+
diff --git a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/defconfig b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/defconfig
similarity index 81%
rename from recipes-kernel/linux/linux-wandboard-rt-3.14.28/defconfig
rename to recipes-kernel/linux/linux-wandboard-rt-4.1.15/defconfig
index 275baf4..2ed0b3e 100644
--- a/recipes-kernel/linux/linux-wandboard-rt-3.14.28/defconfig
+++ b/recipes-kernel/linux/linux-wandboard-rt-4.1.15/defconfig
@@ -1,7 +1,10 @@
 CONFIG_KERNEL_LZO=y
 CONFIG_SYSVIPC=y
+CONFIG_FHANDLE=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=18
 CONFIG_CGROUPS=y
 CONFIG_RELAY=y
@@ -16,18 +19,20 @@ CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
 CONFIG_MODULE_SRCVERSION_ALL=y
 # CONFIG_BLK_DEV_BSG is not set
-CONFIG_GPIO_PCA953X=y
 CONFIG_ARCH_MXC=y
-CONFIG_MACH_IMX51_DT=y
-CONFIG_MACH_EUKREA_CPUIMX51SD=y
 CONFIG_SOC_IMX50=y
 CONFIG_SOC_IMX53=y
 CONFIG_SOC_IMX6Q=y
 CONFIG_SOC_IMX6SL=y
 CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_IMX6UL=y
+CONFIG_SOC_IMX7D=y
 CONFIG_SOC_VF610=y
 # CONFIG_SWP_EMULATE is not set
+CONFIG_PCI=y
+CONFIG_PCI_IMX6=y
 CONFIG_SMP=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
 CONFIG_VMSPLIT_2G=y
 CONFIG_PREEMPT_RT_FULL=y
 CONFIG_AEABI=y
@@ -41,25 +46,57 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
 CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
 CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
 CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_ARM_IMX7D_CPUFREQ=y
 CONFIG_CPU_IDLE=y
 CONFIG_VFP=y
 CONFIG_NEON=y
 CONFIG_BINFMT_MISC=m
-CONFIG_PM_RUNTIME=y
 CONFIG_PM_DEBUG=y
 CONFIG_PM_TEST_SUSPEND=y
 CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
 CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
 CONFIG_IP_PNP=y
 CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
 # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
 # CONFIG_INET_XFRM_MODE_TUNNEL is not set
 # CONFIG_INET_XFRM_MODE_BEET is not set
 # CONFIG_INET_LRO is not set
 CONFIG_IPV6=y
 CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=y
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+CONFIG_IP_SET=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+CONFIG_NF_CONNTRACK_IPV4=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_NAT=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_TARGET_NETMAP=y
+CONFIG_IP_NF_TARGET_REDIRECT=y
+CONFIG_IP6_NF_IPTABLES=y
 CONFIG_VLAN_8021Q=y
 CONFIG_LLC2=y
 CONFIG_CAN=y
@@ -73,20 +110,19 @@ CONFIG_BT_BNEP_MC_FILTER=y
 CONFIG_BT_BNEP_PROTO_FILTER=y
 CONFIG_BT_HIDP=y
 CONFIG_BT_HCIBTUSB=y
-CONFIG_BT_HCIBTSDIO=y
 CONFIG_BT_HCIUART=y
 CONFIG_BT_HCIUART_H4=y
 CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIBCM203X=y
-CONFIG_BT_ATH3K=y
 CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
 CONFIG_MAC80211=y
+CONFIG_RFKILL=y
+CONFIG_RFKILL_BCM43XX=y
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 # CONFIG_STANDALONE is not set
 CONFIG_DMA_CMA=y
-CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_CMA_SIZE_MBYTES=0
 CONFIG_IMX_WEIM=y
 CONFIG_CONNECTOR=y
 CONFIG_MTD=y
@@ -110,11 +146,13 @@ CONFIG_MTD_UBI=y
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_SENSORS_FXOS8700=y
+CONFIG_SENSORS_FXAS2100X=y
 CONFIG_EEPROM_AT24=y
 CONFIG_EEPROM_AT25=y
+CONFIG_SENSORS_LIS3_I2C=y
 # CONFIG_SCSI_PROC_FS is not set
 CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_MULTI_LUN=y
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
 CONFIG_SCSI_SCAN_ASYNC=y
@@ -138,32 +176,38 @@ CONFIG_SMC91X=y
 CONFIG_SMC911X=y
 CONFIG_SMSC911X=y
 # CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_MICREL_PHY=y
 CONFIG_USB_PEGASUS=m
 CONFIG_USB_RTL8150=m
 CONFIG_USB_RTL8152=m
 CONFIG_USB_USBNET=m
 CONFIG_USB_NET_CDC_EEM=m
-CONFIG_ATH_CARDS=y
-CONFIG_ATH6KL=m
-CONFIG_ATH6KL_SDIO=m
-CONFIG_BRCMFMAC=m
+CONFIG_BCMDHD=m
+CONFIG_BCMDHD_SDIO=y
+CONFIG_BCMDHD_FW_PATH="/lib/firmware/brcm/fw_bcmdhd.bin"
+CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/brcm/bcmdhd.cal"
+# CONFIG_RTL_CARDS is not set
 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
 CONFIG_INPUT_EVDEV=y
 CONFIG_INPUT_EVBUG=m
 CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_SNVS_PWRKEY=y
+CONFIG_EDM_GPIO=y
 CONFIG_KEYBOARD_IMX=y
 CONFIG_MOUSE_PS2=m
 CONFIG_MOUSE_PS2_ELANTECH=y
 CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
 CONFIG_TOUCHSCREEN_EGALAX=y
-CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_TOUCHSCREEN_ELAN_TS=y
 CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
 CONFIG_TOUCHSCREEN_MC13783=y
 CONFIG_TOUCHSCREEN_TSC2007=y
 CONFIG_TOUCHSCREEN_STMPE=y
 CONFIG_INPUT_MISC=y
 CONFIG_INPUT_MMA8450=y
+CONFIG_INPUT_MPL3115=y
+CONFIG_SENSOR_FXLS8471=y
 CONFIG_INPUT_ISL29023=y
 CONFIG_SERIO_SERPORT=m
 # CONFIG_LEGACY_PTYS is not set
@@ -180,10 +224,16 @@ CONFIG_I2C_ALGOPCF=m
 CONFIG_I2C_ALGOPCA=m
 CONFIG_I2C_IMX=y
 CONFIG_SPI=y
+CONFIG_SPI_GPIO=y
 CONFIG_SPI_IMX=y
 CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_74X164=y
 CONFIG_POWER_SUPPLY=y
 CONFIG_SABRESD_MAX8903=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
 CONFIG_SENSORS_MAX17135=y
 CONFIG_SENSORS_MAG3110=y
 CONFIG_THERMAL=y
@@ -202,6 +252,7 @@ CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_REGULATOR_ANATOP=y
 CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_GPIO=y
 CONFIG_REGULATOR_MAX17135=y
 CONFIG_REGULATOR_MC13783=y
 CONFIG_REGULATOR_MC13892=y
@@ -226,6 +277,8 @@ CONFIG_VIDEO_MXC_IPU_OUTPUT=y
 CONFIG_VIDEO_MXC_PXP_V4L2=y
 CONFIG_VIDEO_MXC_CSI_CAMERA=m
 CONFIG_MXC_VADC=m
+CONFIG_MXC_MIPI_CSI=m
+CONFIG_MXC_CAMERA_OV5647_MIPI=m
 CONFIG_SOC_CAMERA=y
 CONFIG_VIDEO_MX3=y
 CONFIG_V4L_MEM2MEM_DRIVERS=y
@@ -236,21 +289,21 @@ CONFIG_DRM=y
 CONFIG_DRM_VIVANTE=y
 CONFIG_FB=y
 CONFIG_FB_MXS=y
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-CONFIG_LCD_L4F00242T03=y
-CONFIG_LCD_PLATFORM=y
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_PWM=y
 CONFIG_FB_MXC_SYNC_PANEL=y
-CONFIG_FB_MXC_LDB=y
 CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
 CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
 CONFIG_FB_MXC_HDMI=y
-CONFIG_FB_MXC_EINK_PANEL=y
 CONFIG_FB_MXS_SII902X=y
 CONFIG_FB_MXC_DCIC=m
 CONFIG_HANNSTAR_CABC=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FB_MXC_EINK_V2_PANEL=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_PWM=y
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_LOGO=y
@@ -260,17 +313,21 @@ CONFIG_SND_USB_AUDIO=m
 CONFIG_SND_SOC=y
 CONFIG_SND_IMX_SOC=y
 CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_SII902X=y
 CONFIG_SND_SOC_IMX_CS42888=y
-CONFIG_SND_SOC_IMX_WM8962=y
 CONFIG_SND_SOC_IMX_SGTL5000=y
 CONFIG_SND_SOC_IMX_MQS=y
 CONFIG_SND_SOC_IMX_SPDIF=y
 CONFIG_SND_SOC_IMX_MC13783=y
-CONFIG_SND_SOC_IMX_HDMI=y
 CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_HID_MULTITOUCH=y
 CONFIG_USB=y
+CONFIG_USB_OTG_WHITELIST=y
+CONFIG_USB_OTG_FSM=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_HCD_TEST_MODE=y
 CONFIG_USB_ACM=m
 CONFIG_USB_STORAGE=y
 CONFIG_USB_CHIPIDEA=y
@@ -280,7 +337,7 @@ CONFIG_USB_SERIAL=m
 CONFIG_USB_SERIAL_GENERIC=y
 CONFIG_USB_SERIAL_FTDI_SIO=m
 CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_EHSET_TEST_FIXTURE=m
+CONFIG_USB_EHSET_TEST_FIXTURE=y
 CONFIG_NOP_USB_XCEIV=y
 CONFIG_USB_MXS_PHY=y
 CONFIG_USB_GADGET=y
@@ -303,36 +360,43 @@ CONFIG_USB_GADGETFS=m
 CONFIG_USB_MASS_STORAGE=m
 CONFIG_USB_G_SERIAL=m
 CONFIG_MMC=y
-CONFIG_MMC_UNSAFE_RESUME=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_PLTFM=y
 CONFIG_MMC_SDHCI_ESDHC_IMX=y
 CONFIG_MXC_IPU=y
-CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_IPU_V3_PRE=y
+CONFIG_MXC_SIM=y
 CONFIG_MXC_MIPI_CSI2=y
-CONFIG_MXC_MLB150=m
+CONFIG_MXC_HDMI_CEC=y
+CONFIG_MXC_GPU_VIV=y
 CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
 CONFIG_LEDS_TRIGGERS=y
 CONFIG_LEDS_TRIGGER_TIMER=y
 CONFIG_LEDS_TRIGGER_ONESHOT=y
 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
 CONFIG_LEDS_TRIGGER_BACKLIGHT=y
 CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
 CONFIG_RTC_CLASS=y
 CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_DS1307=y
 CONFIG_RTC_DRV_MC13XXX=y
 CONFIG_RTC_DRV_MXC=y
 CONFIG_RTC_DRV_SNVS=y
 CONFIG_DMADEVICES=y
 CONFIG_MXC_PXP_V2=y
+CONFIG_MXC_PXP_V3=y
 CONFIG_IMX_SDMA=y
 CONFIG_MXS_DMA=y
+CONFIG_DMATEST=m
 CONFIG_STAGING=y
 CONFIG_STAGING_MEDIA=y
 # CONFIG_IOMMU_SUPPORT is not set
 CONFIG_IIO=y
+CONFIG_IMX7D_ADC=y
 CONFIG_VF610_ADC=y
 CONFIG_PWM=y
 CONFIG_PWM_IMX=y
@@ -378,7 +442,6 @@ CONFIG_MAGIC_SYSRQ=y
 CONFIG_SECURITYFS=y
 CONFIG_CRYPTO_USER=y
 CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_GCM=y
 CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_CTS=y
 CONFIG_CRYPTO_LRW=y
@@ -406,41 +469,6 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
 CONFIG_CRC_CCITT=m
 CONFIG_CRC_T10DIF=y
 CONFIG_CRC7=m
-CONFIG_LIBCRC32C=m
 CONFIG_FONTS=y
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
-#Wandboard Definitions
-CONFIG_LOCALVERSION="_1.0.0_ga-wandboard"
-CONFIG_BRCMDBG=y
-CONFIG_BRCMFMAC=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HIDP=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT=y
-CONFIG_CRYPTO_AES_ARM=y
-CONFIG_CRYPTO_SHA1_ARM=y
-CONFIG_EMBEDDED=y
-CONFIG_FHANDLE=y
-CONFIG_FSL_UTP=y
-CONFIG_HID_SUNPLUS=m
-CONFIG_PROC_DEVICETREE=y
-CONFIG_RFKILL_GPIO=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_TOUCHSCREEN_FUSION=m
-CONFIG_USB_ACM=m
-CONFIG_USB_HSO=y
-CONFIG_USB_OTG=y
-CONFIG_USB_PHY=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=y
-CONFIG_USB_SERIAL=y
-CONFIG_WAND_RFKILL=y
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_ZBOOT_ROM_TEXT=0x0
-
diff --git a/recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb b/recipes-kernel/linux/linux-wandboard-rt_4.1.15.bb
similarity index 37%
rename from recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb
rename to recipes-kernel/linux/linux-wandboard-rt_4.1.15.bb
index 97be1ec..e60e124 100644
--- a/recipes-kernel/linux/linux-wandboard-rt_3.14.28.bb
+++ b/recipes-kernel/linux/linux-wandboard-rt_4.1.15.bb
@@ -9,19 +9,22 @@ DEPENDS += "lzop-native bc-native"
 
 # Wandboard branch - based on 3.14.28_1.0.0_ga from Freescale git
 
-SRCBRANCH = "wandboard_imx_3.14.28_1.0.0_ga"
-SRCREV = "e2df0421a0a73fa2effb1e866bc3b2d8cb1b5acf"
-LOCALVERSION = "_1.0.0_ga-wandboard"
+SRCBRANCH = "wandboard_imx_4.1.15_1.1.0_ga"
+SRCREV = "8b015473d34019c3e093c257861e9c6f4930400b"
+LOCALVERSION = "_1.1.0_ga-wandboard"
 
 SRC_URI += "\
-    https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/older/patch-3.14.28-rt25.patch.gz;name=rt-patch1 \
+    file://Fix-the-compile-issue-under-gcc6.patch \
+    file://Fix-gcc6-build-error-in-Vivante-driver.patch \
+"
+SRC_URI += "\
+    https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/older/patch-4.1.15-rt18.patch.gz;name=rt-patch \
     file://0001-fix-build.patch \
-    file://0002-fix-build-with-rt-enabled.patch \
-    file://0003-no-split-ptlocks.patch \
-    file://0004-imx-sdma-channel-use-raw-spinlock.patch \
+    file://0002-no-split-ptlocks.patch \
+    file://0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch \
 "
 
-SRC_URI[rt-patch1.md5sum] = "28bfd1e14ccab1ea1fb48f56f982d80c"
-SRC_URI[rt-patch1.sha256sum] = "4c9bd426cf559a99e169208df5535fcb18ec98daec73f148c88859a7c3333e52"
+SRC_URI[rt-patch.md5sum] = "4763c22c4dcf49ba07cdf60984732fe4"
+SRC_URI[rt-patch.sha256sum] = "a317242e5e79fccc204f170328469e79d1aa663501dc4ec5e425199fb0ac9605"
 
 COMPATIBLE_MACHINE = "(wandboard)"
-- 
2.10.2



More information about the meta-freescale mailing list