aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2013-01-22 11:33:02 -0200
committerOtavio Salvador <otavio@ossystems.com.br>2013-01-29 09:50:06 -0200
commita5a5bbd1b1a87c20016fe6689e2c5763e56d8427 (patch)
tree9014c37c1e28389b36231a8d463f447012e1c284
parenta35b262ee47b725a6e1a39a9c639703b3ec89182 (diff)
downloadmeta-fsl-arm-1.4_M3.tar.gz
meta-fsl-arm-1.4_M3.tar.bz2
meta-fsl-arm-1.4_M3.zip
linux-imx (3.0.35): Upgrade to 1.1.0 BSP release1.4_M3
This upgrades to the 1.1.0 release and refresh the iMX6 SabreLITE diff against Boundary Devices' repository. Change-Id: Icc7463181b6eb2bd9bb57205560b642ff65e5f09 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch312
-rw-r--r--recipes-kernel/linux/linux-imx-3.0.35/mx6/defconfig10
-rw-r--r--recipes-kernel/linux/linux-imx_3.0.35.bb6
3 files changed, 241 insertions, 87 deletions
diff --git a/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch b/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch
index 48cf7a7..91f5b2a 100644
--- a/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch
+++ b/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch
@@ -3229,10 +3229,10 @@ diff --git a/arch/arm/mach-mx5/usb_h2.c b/arch/arm/mach-mx5/usb_h2.c
old mode 100755
new mode 100644
diff --git a/arch/arm/mach-mx6/Kconfig b/arch/arm/mach-mx6/Kconfig
-index 45ae9ea..fad950e 100644
+index 2ffd90d..481075b 100644
--- a/arch/arm/mach-mx6/Kconfig
+++ b/arch/arm/mach-mx6/Kconfig
-@@ -173,6 +173,10 @@ config MACH_MX6Q_SABRELITE
+@@ -175,6 +175,10 @@ config MACH_MX6Q_SABRELITE
select IMX_HAVE_PLATFORM_IMX_ASRC
select IMX_HAVE_PLATFORM_FLEXCAN
select IMX_HAVE_PLATFORM_IMX_CAAM
@@ -3244,7 +3244,7 @@ index 45ae9ea..fad950e 100644
Include support for i.MX 6Quad SABRE Lite platform. This includes specific
configurations for the board and its peripherals.
diff --git a/arch/arm/mach-mx6/board-mx6q_sabrelite.c b/arch/arm/mach-mx6/board-mx6q_sabrelite.c
-index eff81ac..2c0cbe2 100644
+index 736b423..b586426 100644
--- a/arch/arm/mach-mx6/board-mx6q_sabrelite.c
+++ b/arch/arm/mach-mx6/board-mx6q_sabrelite.c
@@ -56,12 +56,15 @@
@@ -3337,9 +3337,9 @@ index eff81ac..2c0cbe2 100644
void __init early_console_setup(unsigned long base, struct clk *clk);
static struct clk *sata_clk;
-@@ -108,252 +135,49 @@ extern struct regulator *(*get_cpu_regulator)(void);
+@@ -108,252 +135,49 @@ static int caam_enabled;
+ extern struct regulator *(*get_cpu_regulator)(void);
extern void (*put_cpu_regulator)(void);
- extern void mx6_cpu_regulator_init(void);
-static iomux_v3_cfg_t mx6q_sabrelite_pads[] = {
- /* AUDMUX */
@@ -3972,7 +3972,7 @@ index eff81ac..2c0cbe2 100644
{
int ret = 0;
-@@ -660,21 +526,21 @@ static void __init imx6q_sabrelite_init_usb(void)
+@@ -660,20 +526,20 @@ static void __init imx6q_sabrelite_init_usb(void)
/* disable external charger detect,
* or it will affect signal quality at dp .
*/
@@ -3990,7 +3990,6 @@ index eff81ac..2c0cbe2 100644
- mx6_set_otghost_vbus_func(imx6q_sabrelite_usbotg_vbus);
+ mx6_set_otghost_vbus_func(imx6_sabrelite_usbotg_vbus);
- mx6_usb_dr_init();
}
/* HW Initialization, if return 0, initialization is successful. */
@@ -3999,7 +3998,7 @@ index eff81ac..2c0cbe2 100644
{
u32 tmpdata;
int ret = 0;
-@@ -734,39 +600,45 @@ put_sata_clk:
+@@ -733,39 +599,45 @@ put_sata_clk:
return ret;
}
@@ -4063,7 +4062,7 @@ index eff81ac..2c0cbe2 100644
.reserved_mem_size = SZ_128M,
};
-@@ -834,14 +706,12 @@ static void hdmi_init(int ipu_id, int disp_id)
+@@ -833,14 +705,12 @@ static void hdmi_init(int ipu_id, int disp_id)
static void hdmi_enable_ddc_pin(void)
{
@@ -4080,7 +4079,7 @@ index eff81ac..2c0cbe2 100644
}
static struct fsl_mxc_hdmi_platform_data hdmi_data = {
-@@ -852,7 +722,7 @@ static struct fsl_mxc_hdmi_platform_data hdmi_data = {
+@@ -851,7 +721,7 @@ static struct fsl_mxc_hdmi_platform_data hdmi_data = {
static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
.ipu_id = 0,
@@ -4089,7 +4088,7 @@ index eff81ac..2c0cbe2 100644
};
static struct fsl_mxc_lcd_platform_data lcdif_data = {
-@@ -904,13 +774,12 @@ static void sabrelite_suspend_exit(void)
+@@ -903,13 +773,12 @@ static void sabrelite_suspend_exit(void)
{
/* resume restore */
}
@@ -4104,7 +4103,7 @@ index eff81ac..2c0cbe2 100644
#define GPIO_BUTTON(gpio_num, ev_code, act_low, descr, wake) \
{ \
.gpio = gpio_num, \
-@@ -922,14 +791,15 @@ static const struct pm_platform_data mx6q_sabrelite_pm_data __initconst = {
+@@ -921,14 +790,15 @@ static const struct pm_platform_data mx6q_sabrelite_pm_data __initconst = {
}
static struct gpio_keys_button sabrelite_buttons[] = {
@@ -4126,7 +4125,7 @@ index eff81ac..2c0cbe2 100644
static struct gpio_keys_platform_data sabrelite_button_data = {
.buttons = sabrelite_buttons,
.nbuttons = ARRAY_SIZE(sabrelite_buttons),
-@@ -949,7 +819,63 @@ static void __init sabrelite_add_device_buttons(void)
+@@ -948,7 +818,63 @@ static void __init sabrelite_add_device_buttons(void)
platform_device_register(&sabrelite_button_device);
}
#else
@@ -4191,7 +4190,7 @@ index eff81ac..2c0cbe2 100644
#endif
static struct regulator_consumer_supply sabrelite_vmmc_consumers[] = {
-@@ -1056,7 +982,7 @@ static struct platform_device sgtl5000_sabrelite_vddd_reg_devices = {
+@@ -1055,7 +981,7 @@ static struct platform_device sgtl5000_sabrelite_vddd_reg_devices = {
#endif /* CONFIG_SND_SOC_SGTL5000 */
@@ -4200,7 +4199,7 @@ index eff81ac..2c0cbe2 100644
{
mxc_register_device(&mx6_sabrelite_audio_device,
&mx6_sabrelite_audio_data);
-@@ -1069,6 +995,15 @@ static int imx6q_init_audio(void)
+@@ -1068,6 +994,15 @@ static int imx6q_init_audio(void)
return 0;
}
@@ -4216,9 +4215,9 @@ index eff81ac..2c0cbe2 100644
static struct platform_pwm_backlight_data mx6_sabrelite_pwm_backlight_data = {
.pwm_id = 3,
.max_brightness = 255,
-@@ -1115,19 +1050,37 @@ static struct mipi_csi2_platform_data mipi_csi2_pdata = {
- .pixel_clk = "emi_clk",
- };
+@@ -1121,19 +1056,37 @@ static int __init caam_setup(char *__unused)
+ }
+ early_param("caam", caam_setup);
+static const struct imx_pcie_platform_data pcie_data __initconst = {
+ .pcie_pwr_en = -EINVAL,
@@ -4257,7 +4256,7 @@ index eff81ac..2c0cbe2 100644
#ifdef CONFIG_FEC_1588
/* Set GPIO_16 input for IEEE-1588 ts_clk and RMII reference clock
-@@ -1141,13 +1094,26 @@ static void __init mx6_sabrelite_board_init(void)
+@@ -1147,13 +1100,26 @@ static void __init mx6_sabrelite_board_init(void)
gp_reg_id = sabrelite_dvfscore_data.reg_id;
soc_reg_id = sabrelite_dvfscore_data.soc_id;
pu_reg_id = sabrelite_dvfscore_data.pu_id;
@@ -4288,9 +4287,9 @@ index eff81ac..2c0cbe2 100644
imx6q_add_ipuv3fb(i, &sabrelite_fb_data[i]);
imx6q_add_vdoa();
-@@ -1161,9 +1127,9 @@ static void __init mx6_sabrelite_board_init(void)
-
- imx6q_add_imx_caam();
+@@ -1168,9 +1134,9 @@ static void __init mx6_sabrelite_board_init(void)
+ if (1 == caam_enabled)
+ imx6q_add_imx_caam();
- imx6q_add_imx_i2c(0, &mx6q_sabrelite_i2c_data);
- imx6q_add_imx_i2c(1, &mx6q_sabrelite_i2c_data);
@@ -4301,7 +4300,7 @@ index eff81ac..2c0cbe2 100644
i2c_register_board_info(0, mxc_i2c0_board_info,
ARRAY_SIZE(mxc_i2c0_board_info));
i2c_register_board_info(1, mxc_i2c1_board_info,
-@@ -1172,33 +1138,35 @@ static void __init mx6_sabrelite_board_init(void)
+@@ -1179,33 +1145,35 @@ static void __init mx6_sabrelite_board_init(void)
ARRAY_SIZE(mxc_i2c2_board_info));
/* SPI */
@@ -4347,7 +4346,7 @@ index eff81ac..2c0cbe2 100644
imx6q_add_mxc_pwm_backlight(3, &mx6_sabrelite_pwm_backlight_data);
imx6q_add_otp();
-@@ -1214,12 +1182,23 @@ static void __init mx6_sabrelite_board_init(void)
+@@ -1220,12 +1188,23 @@ static void __init mx6_sabrelite_board_init(void)
imx6q_add_hdmi_soc();
imx6q_add_hdmi_soc_dai();
@@ -4376,7 +4375,7 @@ index eff81ac..2c0cbe2 100644
clko2 = clk_get(NULL, "clko2_clk");
if (IS_ERR(clko2))
-@@ -1235,6 +1214,28 @@ static void __init mx6_sabrelite_board_init(void)
+@@ -1241,6 +1220,28 @@ static void __init mx6_sabrelite_board_init(void)
clk_enable(clko2);
imx6q_add_busfreq();
@@ -4405,7 +4404,7 @@ index eff81ac..2c0cbe2 100644
imx6q_add_perfmon(0);
imx6q_add_perfmon(1);
imx6q_add_perfmon(2);
-@@ -1258,16 +1259,16 @@ static struct sys_timer mx6_sabrelite_timer = {
+@@ -1264,16 +1265,16 @@ static struct sys_timer mx6_sabrelite_timer = {
.init = mx6_sabrelite_timer_init,
};
@@ -4427,13 +4426,171 @@ index eff81ac..2c0cbe2 100644
}
#endif
}
-@@ -1283,5 +1284,5 @@ MACHINE_START(MX6Q_SABRELITE, "Freescale i.MX 6Quad Sabre-Lite Board")
+@@ -1289,5 +1290,5 @@ MACHINE_START(MX6Q_SABRELITE, "Freescale i.MX 6Quad Sabre-Lite Board")
.init_irq = mx6_init_irq,
.init_machine = mx6_sabrelite_board_init,
.timer = &mx6_sabrelite_timer,
- .reserve = mx6q_sabrelite_reserve,
+ .reserve = mx6_sabrelite_reserve,
MACHINE_END
+diff --git a/arch/arm/mach-mx6/cpu_op-mx6.c b/arch/arm/mach-mx6/cpu_op-mx6.c
+index 5124c5e..750e57d 100644
+--- a/arch/arm/mach-mx6/cpu_op-mx6.c
++++ b/arch/arm/mach-mx6/cpu_op-mx6.c
+@@ -95,7 +95,7 @@ static struct cpu_op mx6q_cpu_op_1G[] = {
+ .soc_voltage = 1250000,
+ #else
+ .pu_voltage = 1175000,
+- .soc_voltage = 1175000,
++ .soc_voltage = 1250000,
+ #endif
+ .cpu_voltage = 1150000,},
+ #ifdef CONFIG_MX6_VPU_352M
+@@ -115,7 +115,7 @@ static struct cpu_op mx6q_cpu_op_1G[] = {
+ .cpu_rate = 396000000,
+ .cpu_podf = 0,
+ .pu_voltage = 1175000,
+- .soc_voltage = 1175000,
++ .soc_voltage = 1250000,
+ .cpu_voltage = 950000,},
+ #endif
+ };
+diff --git a/arch/arm/mach-mx6/cpu_regulator-mx6.c b/arch/arm/mach-mx6/cpu_regulator-mx6.c
+index d905132..2af5d38 100644
+--- a/arch/arm/mach-mx6/cpu_regulator-mx6.c
++++ b/arch/arm/mach-mx6/cpu_regulator-mx6.c
+@@ -21,6 +21,7 @@
+ #include <linux/cpufreq.h>
+ #endif
+ #include <linux/io.h>
++#include <linux/delay.h>
+ #include <asm/cpu.h>
+
+ #include <mach/clock.h>
+@@ -101,49 +102,16 @@ void mx6_cpu_regulator_init(void)
+ regulator_set_voltage(cpu_regulator,
+ cpu_op_tbl[0].cpu_voltage,
+ cpu_op_tbl[0].cpu_voltage);
+- if (enable_ldo_mode == LDO_MODE_BYPASSED) {
+- /*digital bypass VDDPU/VDDSOC/VDDARM*/
+- reg = __raw_readl(ANADIG_REG_CORE);
+- reg &= ~BM_ANADIG_REG_CORE_REG0_TRG;
+- reg |= BF_ANADIG_REG_CORE_REG0_TRG(0x1f);
+- reg &= ~BM_ANADIG_REG_CORE_REG1_TRG;
+- reg |= BF_ANADIG_REG_CORE_REG1_TRG(0x1f);
+- reg &= ~BM_ANADIG_REG_CORE_REG2_TRG;
+- reg |= BF_ANADIG_REG_CORE_REG2_TRG(0x1f);
+- __raw_writel(reg, ANADIG_REG_CORE);
+- /* Mask the ANATOP brown out interrupt in the GPC. */
+- reg = __raw_readl(gpc_base + 0x14);
+- reg |= 0x80000000;
+- __raw_writel(reg, gpc_base + 0x14);
+- }
+- clk_set_rate(cpu_clk, cpu_op_tbl[0].cpu_rate);
+-
+- /*Fix loops-per-jiffy */
+-#ifdef CONFIG_SMP
+- for_each_online_cpu(cpu)
+- per_cpu(cpu_data, cpu).loops_per_jiffy =
+- mx6_cpu_jiffies(
+- per_cpu(cpu_data, cpu).loops_per_jiffy,
+- curr_cpu / 1000,
+- clk_get_rate(cpu_clk) / 1000);
+-#else
+- old_loops_per_jiffy = loops_per_jiffy;
+-
+- loops_per_jiffy =
+- mx6_cpu_jiffies(old_loops_per_jiffy,
+- curr_cpu/1000,
+- clk_get_rate(cpu_clk) / 1000);
+-#endif
+-#if defined(CONFIG_CPU_FREQ)
+- /* Fix CPU frequency for CPUFREQ. */
+- for (cpu = 0; cpu < num_online_cpus(); cpu++)
+- cpufreq_get(cpu);
+-#endif
+ }
+ }
+ soc_regulator = regulator_get(NULL, soc_reg_id);
+ if (IS_ERR(soc_regulator))
+ printk(KERN_ERR "%s: failed to get soc regulator\n", __func__);
++ else if (cpu_op_tbl)
++ regulator_set_voltage(soc_regulator,
++ cpu_op_tbl[0].soc_voltage,
++ cpu_op_tbl[0].soc_voltage);
++
+ pu_regulator = regulator_get(NULL, pu_reg_id);
+ if (IS_ERR(pu_regulator))
+ printk(KERN_ERR "%s: failed to get pu regulator\n", __func__);
+@@ -161,7 +129,66 @@ void mx6_cpu_regulator_init(void)
+ *VDDPU can be turned off by internal anatop anatop power gate.
+ *
+ */
+- else if (!IS_ERR(pu_regulator) && strcmp(pu_reg_id, "cpu_vddgpu"))
+- external_pureg = 1;
++ else {
++ printk (KERN_ERR "%s: have pu_regulator\n", __func__ );
++ if (strcmp(pu_reg_id, "cpu_vddgpu"))
++ external_pureg = 1;
++
++ if (cpu_op_tbl) {
++ printk (KERN_ERR "%s: setting pu_regulator to %uuV\n",
++ __func__,
++ cpu_op_tbl[0].pu_voltage);
++
++ regulator_set_voltage(pu_regulator,
++ cpu_op_tbl[0].pu_voltage,
++ cpu_op_tbl[0].pu_voltage);
++ }
++ }
++
++ if (cpu_op_tbl
++ && !IS_ERR(cpu_regulator)
++ && !IS_ERR(soc_regulator)
++ && !IS_ERR(pu_regulator)) {
++ udelay(500);
++
++ if (enable_ldo_mode == LDO_MODE_BYPASSED) {
++ /*digital bypass VDDPU/VDDSOC/VDDARM*/
++ reg = __raw_readl(ANADIG_REG_CORE);
++ reg &= ~BM_ANADIG_REG_CORE_REG0_TRG;
++ reg |= BF_ANADIG_REG_CORE_REG0_TRG(0x1f);
++ reg &= ~BM_ANADIG_REG_CORE_REG1_TRG;
++ reg |= BF_ANADIG_REG_CORE_REG1_TRG(0x1f);
++ reg &= ~BM_ANADIG_REG_CORE_REG2_TRG;
++ reg |= BF_ANADIG_REG_CORE_REG2_TRG(0x1f);
++ __raw_writel(reg, ANADIG_REG_CORE);
++ /* Mask the ANATOP brown out interrupt in the GPC. */
++ reg = __raw_readl(gpc_base + 0x14);
++ reg |= 0x80000000;
++ __raw_writel(reg, gpc_base + 0x14);
++ }
++ clk_set_rate(cpu_clk, cpu_op_tbl[0].cpu_rate);
++
++ /*Fix loops-per-jiffy */
++#ifdef CONFIG_SMP
++ for_each_online_cpu(cpu)
++ per_cpu(cpu_data, cpu).loops_per_jiffy =
++ mx6_cpu_jiffies(
++ per_cpu(cpu_data, cpu).loops_per_jiffy,
++ curr_cpu / 1000,
++ clk_get_rate(cpu_clk) / 1000);
++#else
++ old_loops_per_jiffy = loops_per_jiffy;
++
++ loops_per_jiffy =
++ mx6_cpu_jiffies(old_loops_per_jiffy,
++ curr_cpu/1000,
++ clk_get_rate(cpu_clk) / 1000);
++#endif
++#if defined(CONFIG_CPU_FREQ)
++ /* Fix CPU frequency for CPUFREQ. */
++ for (cpu = 0; cpu < num_online_cpus(); cpu++)
++ cpufreq_get(cpu);
++#endif
++ }
+ }
+
diff --git a/arch/arm/mach-mx6/pads-mx6_sabrelite.h b/arch/arm/mach-mx6/pads-mx6_sabrelite.h
new file mode 100644
index 0000000..63a556f
@@ -4803,6 +4960,18 @@ new mode 100644
diff --git a/arch/arm/plat-mxc/cpufreq.c b/arch/arm/plat-mxc/cpufreq.c
old mode 100755
new mode 100644
+index 4cdc837..95c7b54
+--- a/arch/arm/plat-mxc/cpufreq.c
++++ b/arch/arm/plat-mxc/cpufreq.c
+@@ -112,7 +112,7 @@ int set_cpu_freq(int freq)
+ printk(KERN_ERR "COULD NOT SET GP VOLTAGE!!!!\n");
+ goto err3;
+ }
+- udelay(50);
++ udelay(260);
+ }
+ ret = clk_set_rate(cpu_clk, freq);
+ if (ret != 0) {
diff --git a/arch/arm/plat-mxc/devices/Kconfig b/arch/arm/plat-mxc/devices/Kconfig
old mode 100755
new mode 100644
@@ -4912,10 +5081,10 @@ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx53.h b/arch/arm/plat-mxc/inc
old mode 100755
new mode 100644
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h
-index 9226af1..83f2881 100644
+index cdff320..4519d23 100644
--- a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h
+++ b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h
-@@ -2909,6 +2909,24 @@
+@@ -2913,6 +2913,24 @@
#define _MX6Q_PAD_TEST_MODE__TCU_TEST_MODE \
IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x0000, 0, 0)
@@ -4940,7 +5109,7 @@ index 9226af1..83f2881 100644
#define _MX6Q_PAD_SD3_DAT7__USDHC3_DAT7 \
IOMUX_PAD(0x0690, 0x02A8, 0, 0x0000, 0, 0)
#define _MX6Q_PAD_SD3_DAT7__UART1_TXD \
-@@ -6517,6 +6535,48 @@
+@@ -6521,6 +6539,48 @@
#define MX6Q_PAD_TEST_MODE__TCU_TEST_MODE \
(_MX6Q_PAD_TEST_MODE__TCU_TEST_MODE | MUX_PAD_CTRL(NO_PAD_CTRL))
@@ -5082,10 +5251,10 @@ new mode 100644
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
old mode 100755
new mode 100644
-index 7cf975a..a2589e4
+index 3420cdb..311bd4d
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
-@@ -282,6 +292,22 @@ config TOUCHSCREEN_MAX11801
+@@ -292,6 +292,22 @@ config TOUCHSCREEN_MAX11801
To compile this driver as a module, choose M here: the
module will be called max11801_ts.
@@ -5108,7 +5277,7 @@ index 7cf975a..a2589e4
config TOUCHSCREEN_MCS5000
tristate "MELFAS MCS-5000 touchscreen"
depends on I2C
-@@ -695,6 +721,17 @@ config TOUCHSCREEN_TSC2007
+@@ -718,6 +734,17 @@ config TOUCHSCREEN_TSC2007
To compile this driver as a module, choose M here: the
module will be called tsc2007.
@@ -5129,7 +5298,7 @@ index 7cf975a..a2589e4
diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
old mode 100755
new mode 100644
-index e614512..eac3453
+index 94a71c1..e8104ce
--- a/drivers/input/touchscreen/Makefile
+++ b/drivers/input/touchscreen/Makefile
@@ -49,6 +49,7 @@ obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
@@ -5140,9 +5309,9 @@ index e614512..eac3453
obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o
obj-$(CONFIG_TOUCHSCREEN_WACOM_W8001) += wacom_w8001.o
obj-$(CONFIG_TOUCHSCREEN_WM831X) += wm831x-ts.o
-@@ -64,4 +65,5 @@ obj-$(CONFIG_TOUCHSCREEN_P1003) += p1003_ts.o
- obj-$(CONFIG_TOUCHSCREEN_TPS6507X) += tps6507x-ts.o
+@@ -65,4 +66,5 @@ obj-$(CONFIG_TOUCHSCREEN_TPS6507X) += tps6507x-ts.o
obj-$(CONFIG_TOUCHSCREEN_MAX11801) += max11801_ts.o
+ obj-$(CONFIG_TOUCHSCREEN_NOVATEK) += novatek_ts.o
obj-$(CONFIG_TOUCHSCREEN_EGALAX) += egalax_ts.o
+obj-$(CONFIG_TOUCHSCREEN_FT5X06) += ft5x06_ts.o
obj-$(CONFIG_TOUCHSCREEN_ELAN) += elan_ts.o
@@ -6373,11 +6542,11 @@ index 541bdb8..3b0ca83 100644
ptr += tpl_link;
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
-index e173686..2e3330c 100644
+index 35fd825..7b08196 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
-@@ -849,6 +849,7 @@ static int esdhc_pltfm_init(struct sdhci_host *host, struct sdhci_pltfm_data *pd
- host->ocr_avail_sd |= MMC_VDD_165_195;
+@@ -855,6 +855,7 @@ static int esdhc_pltfm_init(struct sdhci_host *host, struct sdhci_pltfm_data *pd
+
if (boarddata->support_8bit)
host->mmc->caps |= MMC_CAP_8_BIT_DATA;
+ host->mmc->caps |= boarddata->caps;
@@ -6573,7 +6742,7 @@ index 0982a7b..cb52033 100644
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
old mode 100755
new mode 100644
-index 5af378f..b74b1d9
+index 4b5818e..9717fc6
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -159,7 +159,9 @@ MODULE_PARM_DESC(macaddr, "FEC Ethernet MAC address");
@@ -6586,7 +6755,7 @@ index 5af378f..b74b1d9
#define FEC_ENET_RAEM_V 0x8
#define FEC_ENET_RAFL_V 0x8
#define FEC_ENET_OPD_V 0xFFF0
-@@ -557,28 +559,33 @@ static int fec_rx_poll(struct napi_struct *napi, int budget)
+@@ -562,28 +564,33 @@ static int fec_rx_poll(struct napi_struct *napi, int budget)
goto rx_processing_done;
/* Check for errors. */
@@ -6639,7 +6808,7 @@ index 5af378f..b74b1d9
goto rx_processing_done;
}
-@@ -1035,9 +1042,10 @@ static int fec_enet_mii_probe(struct net_device *ndev)
+@@ -1040,9 +1047,10 @@ static int fec_enet_mii_probe(struct net_device *ndev)
}
/* mask with MAC supported features */
@@ -6652,8 +6821,8 @@ index 5af378f..b74b1d9
+ } else
phy_dev->supported &= PHY_BASIC_FEATURES;
- phy_dev->advertising = phy_dev->supported;
-@@ -1054,7 +1062,7 @@ static int fec_enet_mii_probe(struct net_device *ndev)
+ /* enable phy pause frame for any platform */
+@@ -1062,7 +1070,7 @@ static int fec_enet_mii_probe(struct net_device *ndev)
return 0;
}
@@ -6662,7 +6831,7 @@ index 5af378f..b74b1d9
{
static struct mii_bus *fec0_mii_bus;
struct net_device *ndev = platform_get_drvdata(pdev);
-@@ -1120,7 +1128,7 @@ static int fec_enet_mii_init(struct platform_device *pdev)
+@@ -1128,7 +1136,7 @@ static int fec_enet_mii_init(struct platform_device *pdev)
}
for (i = 0; i < PHY_MAX_ADDR; i++)
@@ -6671,7 +6840,7 @@ index 5af378f..b74b1d9
if (mdiobus_register(fep->mii_bus))
goto err_out_free_mdio_irq;
-@@ -1611,6 +1619,9 @@ fec_restart(struct net_device *dev, int duplex)
+@@ -1627,6 +1635,9 @@ fec_restart(struct net_device *dev, int duplex)
writel(OPT_FRAME_SIZE | 0x06, fep->hwp + FEC_R_CNTRL);
writel(0x0, fep->hwp + FEC_X_CNTRL);
}
@@ -6681,7 +6850,7 @@ index 5af378f..b74b1d9
fep->full_duplex = duplex;
/* Set MII speed */
-@@ -1641,12 +1652,9 @@ fec_restart(struct net_device *dev, int duplex)
+@@ -1657,12 +1668,9 @@ fec_restart(struct net_device *dev, int duplex)
* ENET pause frame has two issues as ticket TKT116501
* The issues have been fixed on Rigel TO1.1 and Arik TO1.2
*/
@@ -6696,7 +6865,7 @@ index 5af378f..b74b1d9
writel(val, fep->hwp + FEC_R_CNTRL);
}
-@@ -1700,24 +1708,31 @@ fec_restart(struct net_device *dev, int duplex)
+@@ -1716,24 +1724,31 @@ fec_restart(struct net_device *dev, int duplex)
fep->phy_dev->speed == SPEED_1000)
val |= (0x1 << 5);
@@ -6740,7 +6909,7 @@ index 5af378f..b74b1d9
/* enable endian swap */
val |= (0x1 << 8);
/* enable ENET store and forward mode */
-@@ -1772,6 +1787,7 @@ fec_probe(struct platform_device *pdev)
+@@ -1791,6 +1806,7 @@ fec_probe(struct platform_device *pdev)
struct net_device *ndev;
int i, irq, ret = 0;
struct resource *r;
@@ -6748,7 +6917,7 @@ index 5af378f..b74b1d9
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!r)
-@@ -1804,8 +1820,11 @@ fec_probe(struct platform_device *pdev)
+@@ -1823,8 +1839,11 @@ fec_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, ndev);
pdata = pdev->dev.platform_data;
@@ -6761,7 +6930,7 @@ index 5af378f..b74b1d9
/* This device has up to three irqs on some platforms */
for (i = 0; i < 3; i++) {
-@@ -1833,7 +1852,7 @@ fec_probe(struct platform_device *pdev)
+@@ -1852,7 +1871,7 @@ fec_probe(struct platform_device *pdev)
if (ret)
goto failed_init;
@@ -6983,10 +7152,10 @@ diff --git a/drivers/rtc/rtc-da9052.c b/drivers/rtc/rtc-da9052.c
old mode 100755
new mode 100644
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index 8a66f3e..96df580 100644
+index a512a76..00d3675 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
-@@ -1212,9 +1212,12 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -1215,9 +1215,12 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
{
struct imx_port *sport = (struct imx_port *)port;
unsigned long flags;
@@ -7001,7 +7170,7 @@ index 8a66f3e..96df580 100644
unsigned long num, denom;
uint64_t tdiv64;
-@@ -1237,26 +1240,25 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -1240,26 +1243,25 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
old_csize = CS8;
}
@@ -7035,7 +7204,7 @@ index 8a66f3e..96df580 100644
}
/*
-@@ -1269,7 +1271,7 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -1272,7 +1274,7 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
spin_lock_irqsave(&sport->port.lock, flags);
@@ -7044,7 +7213,7 @@ index 8a66f3e..96df580 100644
if (termios->c_iflag & INPCK)
sport->port.read_status_mask |= (URXD_FRMERR | URXD_PRERR);
if (termios->c_iflag & (BRKINT | PARMRK))
-@@ -1296,22 +1298,6 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -1299,22 +1301,6 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
*/
uart_update_timeout(port, termios->c_cflag, baud);
@@ -7067,7 +7236,7 @@ index 8a66f3e..96df580 100644
if (USE_IRDA(sport)) {
/*
* use maximum available submodule frequency to
-@@ -1338,31 +1324,47 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
+@@ -1341,31 +1327,47 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
num -= 1;
denom -= 1;
@@ -7191,10 +7360,10 @@ diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
old mode 100755
new mode 100644
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
-index 745c485..d8df225 100644
+index 8038f3d..66ea47d 100644
--- a/drivers/video/mxc/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc/mxc_ipuv3_fb.c
-@@ -830,6 +830,8 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
+@@ -869,6 +869,8 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
vtotal = var->yres + var->lower_margin + var->vsync_len +
var->upper_margin;
var->pixclock = (vtotal * htotal * 6UL) / 100UL;
@@ -7203,7 +7372,7 @@ index 745c485..d8df225 100644
var->pixclock = KHZ2PICOS(var->pixclock);
dev_dbg(info->device,
"pixclock set for 60Hz refresh = %u ps\n",
-@@ -2229,7 +2231,7 @@ static int mxcfb_probe(struct platform_device *pdev)
+@@ -2310,7 +2312,7 @@ static int mxcfb_probe(struct platform_device *pdev)
mxcfbi->ipu_ch_nf_irq = IPU_IRQ_DC_SYNC_NFACK;
mxcfbi->ipu_alp_ch_irq = -1;
mxcfbi->ipu_ch = MEM_DC_SYNC;
@@ -7239,7 +7408,7 @@ index 3dbad0d..4f15ba4 100644
if (plat) {
if (plat->reset)
diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c
-index a45c347..3d96dfa 100644
+index 92822f8..91fc773 100644
--- a/drivers/video/mxc_hdmi.c
+++ b/drivers/video/mxc_hdmi.c
@@ -1538,10 +1538,10 @@ static void mxc_hdmi_edid_rebuild_modelist(struct mxc_hdmi *hdmi)
@@ -7280,13 +7449,6 @@ new mode 100644
diff --git a/include/linux/mfd/da9052/tsi_filter.h b/include/linux/mfd/da9052/tsi_filter.h
old mode 100755
new mode 100644
-diff --git a/localversion b/localversion
-new file mode 100644
-index 0000000..e02409d
---- /dev/null
-+++ b/localversion
-@@ -0,0 +1 @@
-+-2026-geaaf30e
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index fd05514..45191d1 100644
--- a/sound/soc/codecs/sgtl5000.c
@@ -7309,17 +7471,3 @@ index fd05514..45191d1 100644
snd_soc_write(codec, SGTL5000_CHIP_DAC_VOL, 0x6060);
snd_soc_write(codec, SGTL5000_CHIP_ANA_ADC_CTRL,
-diff --git a/tools/perf/util/include/linux/compiler.h b/tools/perf/util/include/linux/compiler.h
-index 547628e..791f9dd 100644
---- a/tools/perf/util/include/linux/compiler.h
-+++ b/tools/perf/util/include/linux/compiler.h
-@@ -5,9 +5,7 @@
- #define __always_inline inline
- #endif
- #define __user
--#ifndef __attribute_const__
- #define __attribute_const__
--#endif
-
- #define __used __attribute__((__unused__))
-
diff --git a/recipes-kernel/linux/linux-imx-3.0.35/mx6/defconfig b/recipes-kernel/linux/linux-imx-3.0.35/mx6/defconfig
index 0b59757..7193921 100644
--- a/recipes-kernel/linux/linux-imx-3.0.35/mx6/defconfig
+++ b/recipes-kernel/linux/linux-imx-3.0.35/mx6/defconfig
@@ -20,6 +20,7 @@ CONFIG_MACH_MX6Q_SABRELITE=y
CONFIG_MACH_MX6Q_SABRESD=y
CONFIG_MACH_MX6Q_SABREAUTO=y
CONFIG_USB_EHCI_ARC_H1=y
+CONFIG_USB_FSL_ARC_OTG=y
CONFIG_MXC_PWM=y
CONFIG_MXC_REBOOT_MFGMODE=y
CONFIG_CLK_DEBUG=y
@@ -94,11 +95,14 @@ CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CONNECTOR=y
CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
CONFIG_MTD_UBI=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_MISC_DEVICES=y
@@ -193,7 +197,6 @@ CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_IMX_SOC=y
CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_WM8958=y
CONFIG_SND_SOC_IMX_WM8962=y
CONFIG_SND_SOC_IMX_CS42888=y
CONFIG_SND_SOC_IMX_SPDIF=y
@@ -289,4 +292,7 @@ CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
CONFIG_CRC_CCITT=m
diff --git a/recipes-kernel/linux/linux-imx_3.0.35.bb b/recipes-kernel/linux/linux-imx_3.0.35.bb
index b0870a2..1093e28 100644
--- a/recipes-kernel/linux/linux-imx_3.0.35.bb
+++ b/recipes-kernel/linux/linux-imx_3.0.35.bb
@@ -7,9 +7,9 @@ PR = "${INC_PR}.10"
COMPATIBLE_MACHINE = "(mx6)"
-# Revision of 12.09.01 tag
-SRCREV = "059685632ebd37a89e60cbb1e6dd535b3b08c3be"
-LOCALVERSION = "-12.09.01+yocto"
+# Revision of 1.1.0 tag
+SRCREV = "c27cb3851bb6f822f8a92e4a1e10fba19284bdd4"
+LOCALVERSION = "-1.1.0+yocto"
SRC_URI += "file://fix_getrusage_for_perf.patch \
file://egalax_ts-Add-support-for-single-touch-in-Kconfig.patch \