summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch (renamed from recipes-kernel/linux/linux-fslc-imx-rt/0003-no-split-ptlocks.patch)0
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch (renamed from recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch)53
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt/defconfig81
-rw-r--r--recipes-kernel/linux/linux-fslc-imx-rt_4.1-1.0.x.bb (renamed from recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb)14
4 files changed, 101 insertions, 47 deletions
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/0003-no-split-ptlocks.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch
index 40c012a5..40c012a5 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt/0003-no-split-ptlocks.patch
+++ b/recipes-kernel/linux/linux-fslc-imx-rt/0002-no-split-ptlocks.patch
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch b/recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
index da36213c..93200c62 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt/0004-imx-sdma-channel-use-raw-spinlock.patch
+++ b/recipes-kernel/linux/linux-fslc-imx-rt/0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch
@@ -1,9 +1,16 @@
1Work around CPU stalls in the imx-sdma driver by replacing spinlocks 1From f7cba8d49a980909cea48c5b9dcfefc6e13fef0b Mon Sep 17 00:00:00 2001
2with raw spinlocks. This prevents preemption during the spinlock's 2From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= <dominic.sacre@gmx.de>
3critical section, as is the case on non PREEMPT_RT kernels. 3Date: Fri, 29 Apr 2016 15:48:40 +0200
4Subject: [PATCH] Work around CPU stalls in the imx-sdma driver
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Replace spinlocks with raw spinlocks. This prevents preemption during
10the spinlock's critical section, as is the case on non PREEMPT_RT kernels.
4 11
5Without this patch, the following error can occur, for example when 12Without this patch, the following error can occur, for example when
6using the audio codec on an iMX6Q Sabre SD board: 13using the audio codec on an i.MX6Q SabreSD board:
7 14
8INFO: rcu_preempt self-detected stall on CPU { 0} (t=2100 jiffies g=106 c=105 q=93) 15INFO: rcu_preempt self-detected stall on CPU { 0} (t=2100 jiffies g=106 c=105 q=93)
9CPU: 0 PID: 120 Comm: irq/34-sdma Not tainted 3.14.28-rt25-1.0.0_ga+g91cf351 #1 16CPU: 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
34Upstream-Status: Pending 41Upstream-Status: Pending
35 42
36Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> 43Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de>
44---
45 drivers/dma/imx-sdma.c | 16 ++++++++--------
46 1 file changed, 8 insertions(+), 8 deletions(-)
37 47
38diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c 48diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
39index bae2ea8..74ff5a0 100644 49index 31b7fed..bb7d6aa 100644
40--- a/drivers/dma/imx-sdma.c 50--- a/drivers/dma/imx-sdma.c
41+++ b/drivers/dma/imx-sdma.c 51+++ b/drivers/dma/imx-sdma.c
42@@ -343,7 +343,7 @@ struct sdma_engine { 52@@ -408,7 +408,7 @@ struct sdma_engine {
43 struct dma_device dma_device; 53 struct dma_device dma_device;
44 struct clk *clk_ipg; 54 struct clk *clk_ipg;
45 struct clk *clk_ahb; 55 struct clk *clk_ahb;
@@ -48,7 +58,7 @@ index bae2ea8..74ff5a0 100644
48 u32 script_number; 58 u32 script_number;
49 struct sdma_script_start_addrs *script_addrs; 59 struct sdma_script_start_addrs *script_addrs;
50 const struct sdma_driver_data *drvdata; 60 const struct sdma_driver_data *drvdata;
51@@ -593,7 +593,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size, 61@@ -700,7 +700,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
52 return -ENOMEM; 62 return -ENOMEM;
53 } 63 }
54 64
@@ -57,7 +67,7 @@ index bae2ea8..74ff5a0 100644
57 67
58 bd0->mode.command = C0_SETPM; 68 bd0->mode.command = C0_SETPM;
59 bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD; 69 bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD;
60@@ -605,7 +605,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size, 70@@ -712,7 +712,7 @@ static int sdma_load_script(struct sdma_engine *sdma, void *buf, int size,
61 71
62 ret = sdma_run_channel0(sdma); 72 ret = sdma_run_channel0(sdma);
63 73
@@ -66,7 +76,7 @@ index bae2ea8..74ff5a0 100644
66 76
67 if (use_iram) 77 if (use_iram)
68 gen_pool_free(sdma->iram_pool, (unsigned long)buf_virt, size); 78 gen_pool_free(sdma->iram_pool, (unsigned long)buf_virt, size);
69@@ -880,7 +880,7 @@ static int sdma_load_context(struct sdma_channel *sdmac) 79@@ -979,7 +979,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
70 dev_dbg(sdma->dev, "event_mask0 = 0x%08x\n", (u32)sdmac->event_mask[0]); 80 dev_dbg(sdma->dev, "event_mask0 = 0x%08x\n", (u32)sdmac->event_mask[0]);
71 dev_dbg(sdma->dev, "event_mask1 = 0x%08x\n", (u32)sdmac->event_mask[1]); 81 dev_dbg(sdma->dev, "event_mask1 = 0x%08x\n", (u32)sdmac->event_mask[1]);
72 82
@@ -75,16 +85,34 @@ index bae2ea8..74ff5a0 100644
75 85
76 memset(context, 0, sizeof(*context)); 86 memset(context, 0, sizeof(*context));
77 context->channel_state.pc = load_address; 87 context->channel_state.pc = load_address;
78@@ -906,7 +906,7 @@ static int sdma_load_context(struct sdma_channel *sdmac) 88@@ -1005,7 +1005,7 @@ static int sdma_load_context(struct sdma_channel *sdmac)
79 bd0->ext_buffer_addr = 2048 + (sizeof(*context) / 4) * channel; 89 bd0->ext_buffer_addr = 2048 + (sizeof(*context) / 4) * channel;
80 ret = sdma_run_channel0(sdma); 90 ret = sdma_run_channel0(sdma);
81 91
82- spin_unlock_irqrestore(&sdma->channel_0_lock, flags); 92- spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
83+ raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags); 93+ raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
84 94
95 sdmac->context_loaded = true;
96
97@@ -1019,7 +1019,7 @@ static int sdma_save_restore_context(struct sdma_engine *sdma, bool save)
98 unsigned long flags;
99 int ret;
100
101- spin_lock_irqsave(&sdma->channel_0_lock, flags);
102+ raw_spin_lock_irqsave(&sdma->channel_0_lock, flags);
103
104 if (save)
105 bd0->mode.command = C0_GETDM;
106@@ -1032,7 +1032,7 @@ static int sdma_save_restore_context(struct sdma_engine *sdma, bool save)
107 bd0->ext_buffer_addr = 2048;
108 ret = sdma_run_channel0(sdma);
109
110- spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
111+ raw_spin_unlock_irqrestore(&sdma->channel_0_lock, flags);
112
85 return ret; 113 return ret;
86 } 114 }
87@@ -1881,7 +1881,7 @@ static int __init sdma_probe(struct platform_device *pdev) 115@@ -2152,7 +2152,7 @@ static int sdma_probe(struct platform_device *pdev)
88 if (!sdma) 116 if (!sdma)
89 return -ENOMEM; 117 return -ENOMEM;
90 118
@@ -93,3 +121,6 @@ index bae2ea8..74ff5a0 100644
93 121
94 sdma->dev = &pdev->dev; 122 sdma->dev = &pdev->dev;
95 sdma->drvdata = drvdata; 123 sdma->drvdata = drvdata;
124--
1252.8.1
126
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt/defconfig b/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
index e741b19f..05d15d05 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
+++ b/recipes-kernel/linux/linux-fslc-imx-rt/defconfig
@@ -1,7 +1,10 @@
1CONFIG_LOCALVERSION="-fslc"
1CONFIG_KERNEL_LZO=y 2CONFIG_KERNEL_LZO=y
2CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
3CONFIG_NO_HZ=y 4CONFIG_NO_HZ=y
4CONFIG_HIGH_RES_TIMERS=y 5CONFIG_HIGH_RES_TIMERS=y
6CONFIG_IKCONFIG=y
7CONFIG_IKCONFIG_PROC=y
5CONFIG_LOG_BUF_SHIFT=18 8CONFIG_LOG_BUF_SHIFT=18
6CONFIG_CGROUPS=y 9CONFIG_CGROUPS=y
7CONFIG_RELAY=y 10CONFIG_RELAY=y
@@ -16,25 +19,24 @@ CONFIG_MODULE_UNLOAD=y
16CONFIG_MODVERSIONS=y 19CONFIG_MODVERSIONS=y
17CONFIG_MODULE_SRCVERSION_ALL=y 20CONFIG_MODULE_SRCVERSION_ALL=y
18# CONFIG_BLK_DEV_BSG is not set 21# CONFIG_BLK_DEV_BSG is not set
19CONFIG_GPIO_PCA953X=y
20CONFIG_ARCH_MXC=y 22CONFIG_ARCH_MXC=y
21CONFIG_MACH_IMX51_DT=y
22CONFIG_MACH_EUKREA_CPUIMX51SD=y
23CONFIG_SOC_IMX50=y 23CONFIG_SOC_IMX50=y
24CONFIG_SOC_IMX53=y 24CONFIG_SOC_IMX53=y
25CONFIG_SOC_IMX6Q=y 25CONFIG_SOC_IMX6Q=y
26CONFIG_SOC_IMX6SL=y 26CONFIG_SOC_IMX6SL=y
27CONFIG_SOC_IMX6SX=y 27CONFIG_SOC_IMX6SX=y
28CONFIG_SOC_IMX6UL=y
29CONFIG_SOC_IMX7D=y
28CONFIG_SOC_VF610=y 30CONFIG_SOC_VF610=y
29# CONFIG_SWP_EMULATE is not set 31# CONFIG_SWP_EMULATE is not set
30CONFIG_SMP=y 32CONFIG_SMP=y
33CONFIG_HAVE_ARM_ARCH_TIMER=y
31CONFIG_VMSPLIT_2G=y 34CONFIG_VMSPLIT_2G=y
32CONFIG_PREEMPT_RT_FULL=y 35CONFIG_PREEMPT_RT_FULL=y
33CONFIG_AEABI=y 36CONFIG_AEABI=y
34CONFIG_HIGHMEM=y 37CONFIG_HIGHMEM=y
35CONFIG_CMA=y 38CONFIG_CMA=y
36CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" 39CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
37CONFIG_KEXEC=y
38CONFIG_CPU_FREQ=y 40CONFIG_CPU_FREQ=y
39CONFIG_CPU_FREQ_GOV_POWERSAVE=y 41CONFIG_CPU_FREQ_GOV_POWERSAVE=y
40CONFIG_CPU_FREQ_GOV_USERSPACE=y 42CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -42,11 +44,11 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
42CONFIG_CPU_FREQ_GOV_INTERACTIVE=y 44CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
43CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y 45CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
44CONFIG_ARM_IMX6Q_CPUFREQ=y 46CONFIG_ARM_IMX6Q_CPUFREQ=y
47CONFIG_ARM_IMX7D_CPUFREQ=y
45CONFIG_CPU_IDLE=y 48CONFIG_CPU_IDLE=y
46CONFIG_VFP=y 49CONFIG_VFP=y
47CONFIG_NEON=y 50CONFIG_NEON=y
48CONFIG_BINFMT_MISC=m 51CONFIG_BINFMT_MISC=m
49CONFIG_PM_RUNTIME=y
50CONFIG_PM_DEBUG=y 52CONFIG_PM_DEBUG=y
51CONFIG_PM_TEST_SUSPEND=y 53CONFIG_PM_TEST_SUSPEND=y
52CONFIG_NET=y 54CONFIG_NET=y
@@ -60,7 +62,6 @@ CONFIG_IP_PNP_DHCP=y
60# CONFIG_INET_XFRM_MODE_BEET is not set 62# CONFIG_INET_XFRM_MODE_BEET is not set
61# CONFIG_INET_LRO is not set 63# CONFIG_INET_LRO is not set
62CONFIG_IPV6=y 64CONFIG_IPV6=y
63CONFIG_NETFILTER=y
64CONFIG_VLAN_8021Q=y 65CONFIG_VLAN_8021Q=y
65CONFIG_LLC2=y 66CONFIG_LLC2=y
66CONFIG_CAN=y 67CONFIG_CAN=y
@@ -74,9 +75,7 @@ CONFIG_BT_BNEP_MC_FILTER=y
74CONFIG_BT_BNEP_PROTO_FILTER=y 75CONFIG_BT_BNEP_PROTO_FILTER=y
75CONFIG_BT_HIDP=y 76CONFIG_BT_HIDP=y
76CONFIG_BT_HCIBTUSB=y 77CONFIG_BT_HCIBTUSB=y
77CONFIG_BT_HCIBTSDIO=y
78CONFIG_BT_HCIUART=y 78CONFIG_BT_HCIUART=y
79CONFIG_BT_HCIUART_H4=y
80CONFIG_BT_HCIUART_BCSP=y 79CONFIG_BT_HCIUART_BCSP=y
81CONFIG_BT_HCIUART_ATH3K=y 80CONFIG_BT_HCIUART_ATH3K=y
82CONFIG_BT_HCIBCM203X=y 81CONFIG_BT_HCIBCM203X=y
@@ -87,7 +86,7 @@ CONFIG_DEVTMPFS=y
87CONFIG_DEVTMPFS_MOUNT=y 86CONFIG_DEVTMPFS_MOUNT=y
88# CONFIG_STANDALONE is not set 87# CONFIG_STANDALONE is not set
89CONFIG_DMA_CMA=y 88CONFIG_DMA_CMA=y
90CONFIG_CMA_SIZE_MBYTES=320 89CONFIG_CMA_SIZE_MBYTES=0
91CONFIG_IMX_WEIM=y 90CONFIG_IMX_WEIM=y
92CONFIG_CONNECTOR=y 91CONFIG_CONNECTOR=y
93CONFIG_MTD=y 92CONFIG_MTD=y
@@ -111,11 +110,12 @@ CONFIG_MTD_UBI=y
111CONFIG_BLK_DEV_LOOP=y 110CONFIG_BLK_DEV_LOOP=y
112CONFIG_BLK_DEV_RAM=y 111CONFIG_BLK_DEV_RAM=y
113CONFIG_BLK_DEV_RAM_SIZE=65536 112CONFIG_BLK_DEV_RAM_SIZE=65536
113CONFIG_SENSORS_FXOS8700=y
114CONFIG_SENSORS_FXAS2100X=y
114CONFIG_EEPROM_AT24=y 115CONFIG_EEPROM_AT24=y
115CONFIG_EEPROM_AT25=y 116CONFIG_EEPROM_AT25=y
116# CONFIG_SCSI_PROC_FS is not set 117# CONFIG_SCSI_PROC_FS is not set
117CONFIG_BLK_DEV_SD=y 118CONFIG_BLK_DEV_SD=y
118CONFIG_SCSI_MULTI_LUN=y
119CONFIG_SCSI_CONSTANTS=y 119CONFIG_SCSI_CONSTANTS=y
120CONFIG_SCSI_LOGGING=y 120CONFIG_SCSI_LOGGING=y
121CONFIG_SCSI_SCAN_ASYNC=y 121CONFIG_SCSI_SCAN_ASYNC=y
@@ -139,32 +139,37 @@ CONFIG_SMC91X=y
139CONFIG_SMC911X=y 139CONFIG_SMC911X=y
140CONFIG_SMSC911X=y 140CONFIG_SMSC911X=y
141# CONFIG_NET_VENDOR_STMICRO is not set 141# CONFIG_NET_VENDOR_STMICRO is not set
142CONFIG_MICREL_PHY=y
142CONFIG_USB_PEGASUS=m 143CONFIG_USB_PEGASUS=m
143CONFIG_USB_RTL8150=m 144CONFIG_USB_RTL8150=m
144CONFIG_USB_RTL8152=m 145CONFIG_USB_RTL8152=m
145CONFIG_USB_USBNET=m 146CONFIG_USB_USBNET=m
146CONFIG_USB_NET_CDC_EEM=m 147CONFIG_USB_NET_CDC_EEM=m
147CONFIG_ATH_CARDS=y 148CONFIG_BCMDHD=m
148CONFIG_ATH6KL=m 149CONFIG_BCMDHD_SDIO=y
149CONFIG_ATH6KL_SDIO=m 150CONFIG_BCMDHD_FW_PATH="/lib/firmware/bcm/fw_bcmdhd.bin"
150CONFIG_BRCMFMAC=m 151CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/bcm/bcmdhd.cal"
152# CONFIG_RTL_CARDS is not set
151# CONFIG_INPUT_MOUSEDEV_PSAUX is not set 153# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
152CONFIG_INPUT_EVDEV=y 154CONFIG_INPUT_EVDEV=y
153CONFIG_INPUT_EVBUG=m 155CONFIG_INPUT_EVBUG=m
154CONFIG_KEYBOARD_GPIO=y 156CONFIG_KEYBOARD_GPIO=y
155CONFIG_KEYBOARD_SNVS_PWRKEY=y
156CONFIG_KEYBOARD_IMX=y 157CONFIG_KEYBOARD_IMX=y
157CONFIG_MOUSE_PS2=m 158CONFIG_MOUSE_PS2=m
158CONFIG_MOUSE_PS2_ELANTECH=y 159CONFIG_MOUSE_PS2_ELANTECH=y
159CONFIG_INPUT_TOUCHSCREEN=y 160CONFIG_INPUT_TOUCHSCREEN=y
161CONFIG_TOUCHSCREEN_ADS7846=y
160CONFIG_TOUCHSCREEN_EGALAX=y 162CONFIG_TOUCHSCREEN_EGALAX=y
161CONFIG_TOUCHSCREEN_ELAN=y 163CONFIG_TOUCHSCREEN_ELAN_TS=y
162CONFIG_TOUCHSCREEN_MAX11801=y 164CONFIG_TOUCHSCREEN_MAX11801=y
165CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
163CONFIG_TOUCHSCREEN_MC13783=y 166CONFIG_TOUCHSCREEN_MC13783=y
164CONFIG_TOUCHSCREEN_TSC2007=y 167CONFIG_TOUCHSCREEN_TSC2007=y
165CONFIG_TOUCHSCREEN_STMPE=y 168CONFIG_TOUCHSCREEN_STMPE=y
166CONFIG_INPUT_MISC=y 169CONFIG_INPUT_MISC=y
167CONFIG_INPUT_MMA8450=y 170CONFIG_INPUT_MMA8450=y
171CONFIG_INPUT_MPL3115=y
172CONFIG_SENSOR_FXLS8471=y
168CONFIG_INPUT_ISL29023=y 173CONFIG_INPUT_ISL29023=y
169CONFIG_SERIO_SERPORT=m 174CONFIG_SERIO_SERPORT=m
170# CONFIG_LEGACY_PTYS is not set 175# CONFIG_LEGACY_PTYS is not set
@@ -181,10 +186,16 @@ CONFIG_I2C_ALGOPCF=m
181CONFIG_I2C_ALGOPCA=m 186CONFIG_I2C_ALGOPCA=m
182CONFIG_I2C_IMX=y 187CONFIG_I2C_IMX=y
183CONFIG_SPI=y 188CONFIG_SPI=y
189CONFIG_SPI_GPIO=y
184CONFIG_SPI_IMX=y 190CONFIG_SPI_IMX=y
185CONFIG_GPIO_SYSFS=y 191CONFIG_GPIO_SYSFS=y
192CONFIG_GPIO_MAX732X=y
193CONFIG_GPIO_PCA953X=y
194CONFIG_GPIO_74X164=y
186CONFIG_POWER_SUPPLY=y 195CONFIG_POWER_SUPPLY=y
187CONFIG_SABRESD_MAX8903=y 196CONFIG_SABRESD_MAX8903=y
197CONFIG_POWER_RESET=y
198CONFIG_POWER_RESET_SYSCON_POWEROFF=y
188CONFIG_SENSORS_MAX17135=y 199CONFIG_SENSORS_MAX17135=y
189CONFIG_SENSORS_MAG3110=y 200CONFIG_SENSORS_MAG3110=y
190CONFIG_THERMAL=y 201CONFIG_THERMAL=y
@@ -203,6 +214,7 @@ CONFIG_REGULATOR=y
203CONFIG_REGULATOR_FIXED_VOLTAGE=y 214CONFIG_REGULATOR_FIXED_VOLTAGE=y
204CONFIG_REGULATOR_ANATOP=y 215CONFIG_REGULATOR_ANATOP=y
205CONFIG_REGULATOR_DA9052=y 216CONFIG_REGULATOR_DA9052=y
217CONFIG_REGULATOR_GPIO=y
206CONFIG_REGULATOR_MAX17135=y 218CONFIG_REGULATOR_MAX17135=y
207CONFIG_REGULATOR_MC13783=y 219CONFIG_REGULATOR_MC13783=y
208CONFIG_REGULATOR_MC13892=y 220CONFIG_REGULATOR_MC13892=y
@@ -227,6 +239,8 @@ CONFIG_VIDEO_MXC_IPU_OUTPUT=y
227CONFIG_VIDEO_MXC_PXP_V4L2=y 239CONFIG_VIDEO_MXC_PXP_V4L2=y
228CONFIG_VIDEO_MXC_CSI_CAMERA=m 240CONFIG_VIDEO_MXC_CSI_CAMERA=m
229CONFIG_MXC_VADC=m 241CONFIG_MXC_VADC=m
242CONFIG_MXC_MIPI_CSI=m
243CONFIG_MXC_CAMERA_OV5647_MIPI=m
230CONFIG_SOC_CAMERA=y 244CONFIG_SOC_CAMERA=y
231CONFIG_VIDEO_MX3=y 245CONFIG_VIDEO_MX3=y
232CONFIG_V4L_MEM2MEM_DRIVERS=y 246CONFIG_V4L_MEM2MEM_DRIVERS=y
@@ -237,21 +251,21 @@ CONFIG_DRM=y
237CONFIG_DRM_VIVANTE=y 251CONFIG_DRM_VIVANTE=y
238CONFIG_FB=y 252CONFIG_FB=y
239CONFIG_FB_MXS=y 253CONFIG_FB_MXS=y
240CONFIG_BACKLIGHT_LCD_SUPPORT=y
241CONFIG_LCD_CLASS_DEVICE=y
242CONFIG_LCD_L4F00242T03=y
243CONFIG_LCD_PLATFORM=y
244CONFIG_BACKLIGHT_CLASS_DEVICE=y
245CONFIG_BACKLIGHT_PWM=y
246CONFIG_FB_MXC_SYNC_PANEL=y 254CONFIG_FB_MXC_SYNC_PANEL=y
247CONFIG_FB_MXC_LDB=y
248CONFIG_FB_MXC_MIPI_DSI=y 255CONFIG_FB_MXC_MIPI_DSI=y
256CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
249CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y 257CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
258CONFIG_FB_MXC_LDB=y
250CONFIG_FB_MXC_HDMI=y 259CONFIG_FB_MXC_HDMI=y
251CONFIG_FB_MXC_EINK_PANEL=y
252CONFIG_FB_MXS_SII902X=y 260CONFIG_FB_MXS_SII902X=y
253CONFIG_FB_MXC_DCIC=m 261CONFIG_FB_MXC_DCIC=m
254CONFIG_HANNSTAR_CABC=y 262CONFIG_HANNSTAR_CABC=y
263CONFIG_FB_MXC_EINK_PANEL=y
264CONFIG_FB_MXC_EINK_V2_PANEL=y
265CONFIG_LCD_CLASS_DEVICE=y
266CONFIG_LCD_L4F00242T03=y
267CONFIG_LCD_PLATFORM=y
268CONFIG_BACKLIGHT_PWM=y
255CONFIG_FRAMEBUFFER_CONSOLE=y 269CONFIG_FRAMEBUFFER_CONSOLE=y
256CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y 270CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
257CONFIG_LOGO=y 271CONFIG_LOGO=y
@@ -261,17 +275,23 @@ CONFIG_SND_USB_AUDIO=m
261CONFIG_SND_SOC=y 275CONFIG_SND_SOC=y
262CONFIG_SND_IMX_SOC=y 276CONFIG_SND_IMX_SOC=y
263CONFIG_SND_SOC_EUKREA_TLV320=y 277CONFIG_SND_SOC_EUKREA_TLV320=y
278CONFIG_SND_SOC_IMX_WM8960=y
279CONFIG_SND_SOC_IMX_SII902X=y
280CONFIG_SND_SOC_IMX_WM8958=y
264CONFIG_SND_SOC_IMX_CS42888=y 281CONFIG_SND_SOC_IMX_CS42888=y
265CONFIG_SND_SOC_IMX_WM8962=y 282CONFIG_SND_SOC_IMX_WM8962=y
266CONFIG_SND_SOC_IMX_SGTL5000=y 283CONFIG_SND_SOC_IMX_SGTL5000=y
267CONFIG_SND_SOC_IMX_MQS=y 284CONFIG_SND_SOC_IMX_MQS=y
268CONFIG_SND_SOC_IMX_SPDIF=y 285CONFIG_SND_SOC_IMX_SPDIF=y
269CONFIG_SND_SOC_IMX_MC13783=y 286CONFIG_SND_SOC_IMX_MC13783=y
270CONFIG_SND_SOC_IMX_HDMI=y
271CONFIG_SND_SOC_IMX_SI476X=y 287CONFIG_SND_SOC_IMX_SI476X=y
288CONFIG_SND_SOC_IMX_HDMI=y
272CONFIG_USB=y 289CONFIG_USB=y
290CONFIG_USB_OTG_WHITELIST=y
291CONFIG_USB_OTG_FSM=y
273CONFIG_USB_EHCI_HCD=y 292CONFIG_USB_EHCI_HCD=y
274CONFIG_USB_EHCI_MXC=y 293CONFIG_USB_EHCI_MXC=y
294CONFIG_USB_HCD_TEST_MODE=y
275CONFIG_USB_ACM=m 295CONFIG_USB_ACM=m
276CONFIG_USB_STORAGE=y 296CONFIG_USB_STORAGE=y
277CONFIG_USB_CHIPIDEA=y 297CONFIG_USB_CHIPIDEA=y
@@ -281,7 +301,7 @@ CONFIG_USB_SERIAL=m
281CONFIG_USB_SERIAL_GENERIC=y 301CONFIG_USB_SERIAL_GENERIC=y
282CONFIG_USB_SERIAL_FTDI_SIO=m 302CONFIG_USB_SERIAL_FTDI_SIO=m
283CONFIG_USB_SERIAL_OPTION=m 303CONFIG_USB_SERIAL_OPTION=m
284CONFIG_USB_EHSET_TEST_FIXTURE=m 304CONFIG_USB_EHSET_TEST_FIXTURE=y
285CONFIG_NOP_USB_XCEIV=y 305CONFIG_NOP_USB_XCEIV=y
286CONFIG_USB_MXS_PHY=y 306CONFIG_USB_MXS_PHY=y
287CONFIG_USB_GADGET=y 307CONFIG_USB_GADGET=y
@@ -304,14 +324,15 @@ CONFIG_USB_GADGETFS=m
304CONFIG_USB_MASS_STORAGE=m 324CONFIG_USB_MASS_STORAGE=m
305CONFIG_USB_G_SERIAL=m 325CONFIG_USB_G_SERIAL=m
306CONFIG_MMC=y 326CONFIG_MMC=y
307CONFIG_MMC_UNSAFE_RESUME=y
308CONFIG_MMC_SDHCI=y 327CONFIG_MMC_SDHCI=y
309CONFIG_MMC_SDHCI_PLTFM=y 328CONFIG_MMC_SDHCI_PLTFM=y
310CONFIG_MMC_SDHCI_ESDHC_IMX=y 329CONFIG_MMC_SDHCI_ESDHC_IMX=y
311CONFIG_MXC_IPU=y 330CONFIG_MXC_IPU=y
331CONFIG_MXC_IPU_V3_PRE=y
312CONFIG_MXC_GPU_VIV=y 332CONFIG_MXC_GPU_VIV=y
333CONFIG_MXC_SIM=y
313CONFIG_MXC_MIPI_CSI2=y 334CONFIG_MXC_MIPI_CSI2=y
314CONFIG_MXC_MLB150=m 335CONFIG_MXC_HDMI_CEC=y
315CONFIG_NEW_LEDS=y 336CONFIG_NEW_LEDS=y
316CONFIG_LEDS_CLASS=y 337CONFIG_LEDS_CLASS=y
317CONFIG_LEDS_GPIO=y 338CONFIG_LEDS_GPIO=y
@@ -328,12 +349,15 @@ CONFIG_RTC_DRV_MXC=y
328CONFIG_RTC_DRV_SNVS=y 349CONFIG_RTC_DRV_SNVS=y
329CONFIG_DMADEVICES=y 350CONFIG_DMADEVICES=y
330CONFIG_MXC_PXP_V2=y 351CONFIG_MXC_PXP_V2=y
352CONFIG_MXC_PXP_V3=y
331CONFIG_IMX_SDMA=y 353CONFIG_IMX_SDMA=y
332CONFIG_MXS_DMA=y 354CONFIG_MXS_DMA=y
355CONFIG_DMATEST=m
333CONFIG_STAGING=y 356CONFIG_STAGING=y
334CONFIG_STAGING_MEDIA=y 357CONFIG_STAGING_MEDIA=y
335# CONFIG_IOMMU_SUPPORT is not set 358# CONFIG_IOMMU_SUPPORT is not set
336CONFIG_IIO=y 359CONFIG_IIO=y
360CONFIG_IMX7D_ADC=y
337CONFIG_VF610_ADC=y 361CONFIG_VF610_ADC=y
338CONFIG_PWM=y 362CONFIG_PWM=y
339CONFIG_PWM_IMX=y 363CONFIG_PWM_IMX=y
@@ -379,7 +403,6 @@ CONFIG_MAGIC_SYSRQ=y
379CONFIG_SECURITYFS=y 403CONFIG_SECURITYFS=y
380CONFIG_CRYPTO_USER=y 404CONFIG_CRYPTO_USER=y
381CONFIG_CRYPTO_TEST=m 405CONFIG_CRYPTO_TEST=m
382CONFIG_CRYPTO_GCM=y
383CONFIG_CRYPTO_CBC=y 406CONFIG_CRYPTO_CBC=y
384CONFIG_CRYPTO_CTS=y 407CONFIG_CRYPTO_CTS=y
385CONFIG_CRYPTO_LRW=y 408CONFIG_CRYPTO_LRW=y
diff --git a/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-1.0.x.bb
index 450fc5b4..d40c4cfa 100644
--- a/recipes-kernel/linux/linux-fslc-imx-rt_3.14-1.1.x.bb
+++ b/recipes-kernel/linux/linux-fslc-imx-rt_4.1-1.0.x.bb
@@ -8,18 +8,18 @@ include linux-fslc.inc
8 8
9PV .= "+git${SRCPV}" 9PV .= "+git${SRCPV}"
10 10
11SRCBRANCH = "3.14-1.1.x-imx" 11SRCBRANCH = "4.1-1.0.x-imx"
12SRCREV = "327d5c9063b715c91a88655533d5e477a0afe218" 12SRCREV = "445b81a703861b3c146ccd074cb5c14a5363c6d3"
13 13
14SRC_URI += " \ 14SRC_URI += " \
15 https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/older/patch-3.14.61-rt62.patch.gz;name=patch-3.14.61-rt62.patch \ 15 https://www.kernel.org/pub/linux/kernel/projects/rt/4.1/older/patch-4.1.19-rt22.patch.gz;name=patch-4.1.19-rt22.patch \
16 file://0001-fix-build.patch \ 16 file://0001-fix-build.patch \
17 file://0003-no-split-ptlocks.patch \ 17 file://0002-no-split-ptlocks.patch \
18 file://0004-imx-sdma-channel-use-raw-spinlock.patch \ 18 file://0003-Work-around-CPU-stalls-in-the-imx-sdma-driver.patch \
19" 19"
20 20
21SRC_URI[patch-3.14.61-rt62.patch.md5sum] = "d275057ffe5e6dac3c3d8704773c0aee" 21SRC_URI[patch-4.1.19-rt22.patch.md5sum] = "20a893d189c619ea3e7489f870478e7a"
22SRC_URI[patch-3.14.61-rt62.patch.sha256sum] = "48df9b6e76f24aa1d6fcd5ab150d26830da35c630acba73bf8c81dd341c31951" 22SRC_URI[patch-4.1.19-rt22.patch.sha256sum] = "81a6429eb03f085e7f58a669eb23719ae14876c14fe244f5aac909c28ee4104e"
23 23
24python () { 24python () {
25 using_builtin_driver = (d.getVar("MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE", True) or "") != "1" 25 using_builtin_driver = (d.getVar("MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE", True) or "") != "1"