imx6: add second kernel 4.4 from xbian

kernel is picked with argument LINUX_VERSION=4.4-xbian when building image
PROJECT=imx6 ARCH=arm LINUX_VERSION=4.4-xbian make image
This commit is contained in:
Peter Vicman 2016-04-02 10:43:31 +02:00
parent f61a0eadf2
commit d36162946b
8 changed files with 6963 additions and 0 deletions

View File

@ -42,6 +42,14 @@ case "$LINUX" in
PKG_URL="$DISTRO_SRC/$PKG_SOURCE_NAME"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan"
;;
imx6-4.4-xbian)
PKG_VERSION="4.4-xbian"
PKG_COMMIT="20160403-d08b62d"
PKG_SOURCE_DIR="$PKG_NAME-$PKG_VERSION-$PKG_COMMIT"
PKG_SOURCE_NAME="$PKG_SOURCE_DIR.tar.xz"
PKG_URL="$DISTRO_SRC/$PKG_SOURCE_NAME"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan"
;;
*)
PKG_VERSION="4.4.6"
PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,24 @@
https://github.com/systemd/systemd/issues/1143
fix for
Time has been changed
Set up TFD_TIMER_CANCEL_ON_SET timerfd.
which happen on bad RTC battery
Maybe not setting RTC_HCTOSYS is sufficient enough and not used this patch.
diff --git a/fs/timerfd.c b/fs/timerfd.c
index b94fa6c..8ec3aeb 100644
--- a/fs/timerfd.c
+++ b/fs/timerfd.c
@@ -134,7 +134,7 @@ static void timerfd_setup_cancel(struct timerfd_ctx *ctx, int flags)
{
if ((ctx->clockid == CLOCK_REALTIME ||
ctx->clockid == CLOCK_REALTIME_ALARM) &&
- (flags & TFD_TIMER_ABSTIME) && (flags & TFD_TIMER_CANCEL_ON_SET)) {
+ (flags & TFD_TIMER_CANCEL_ON_SET)) {
if (!ctx->might_cancel) {
ctx->might_cancel = true;
spin_lock(&cancel_lock);
list_add_rcu(&ctx->clist, &cancel_list);
spin_unlock(&cancel_lock);

View File

@ -0,0 +1,21 @@
diff --git a/init/main.c b/init/main.c
index 9484f4b..db55edd 100644
--- a/init/main.c
+++ b/init/main.c
@@ -880,8 +880,14 @@ static noinline void __init kernel_init_freeable(void)
do_basic_setup();
/* Open the /dev/console on the rootfs, this should never fail */
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
+ char *console = "/dev_console";
+
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) {
+ sys_mknod(console, S_IFCHR|0600, (TTYAUX_MAJOR<<8)|1);
+ if (sys_open(console, O_RDWR, 0) < 0)
+ printk(KERN_WARNING "Warning: unable to open an initial console.\n");
+ sys_unlink(console);
+ }
(void) sys_dup(0);
(void) sys_dup(0);

View File

@ -0,0 +1,35 @@
--- a/drivers/of/fdt.c 2016-01-17 14:32:52.792880390 +0100
+++ b/drivers/of/fdt.c 2016-01-17 14:34:00.170297953 +0100
@@ -934,6 +934,7 @@
{
int l;
const char *p;
+ char tmp_command_line[COMMAND_LINE_SIZE] = CONFIG_CMDLINE;
pr_debug("search \"chosen\", depth: %d, uname: %s\n", depth, uname);
@@ -952,12 +953,23 @@
* CONFIG_CMDLINE is meant to be a default in case nothing else
* managed to set the command line, unless CONFIG_CMDLINE_FORCE
* is set in which case we override whatever was found earlier.
+ *
+ * But we do prepend CONFIG_CMDLINE to bootloader arguments anyway.
*/
#ifdef CONFIG_CMDLINE
#ifndef CONFIG_CMDLINE_FORCE
if (!((char *)data)[0])
-#endif
strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+ else {
+ /* append bootloader arguments to CONFIG_CMDLINE */
+ strlcat(tmp_command_line, " ", COMMAND_LINE_SIZE);
+ strlcat(tmp_command_line, data, COMMAND_LINE_SIZE);
+ /* copy everything back */
+ strlcpy(data, tmp_command_line, COMMAND_LINE_SIZE);
+ }
+#else
+ strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+#endif /* CONFIG_CMDLINE_FORCE */
#endif /* CONFIG_CMDLINE */
pr_debug("Command line is: %s\n", (char*)data);

View File

@ -0,0 +1,10 @@
--- a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi 2014-11-25 19:23:06.332485391 +0100
+++ b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi 2014-11-25 19:23:24.675776865 +0100
@@ -31,6 +31,7 @@
label = "imx6:red:front";
max-brightness = <248>;
pwms = <&pwm1 0 50000>;
+ linux,default-trigger = "heartbeat";
};
};

View File

@ -0,0 +1,268 @@
device tree for udoo LVDS display
diff -aurN a/arch/arm/boot/dts/imx6dl-udoo-15lvds.dts b/arch/arm/boot/dts/imx6dl-udoo-15lvds.dts
--- a/arch/arm/boot/dts/imx6dl-udoo-15lvds.dts 1970-01-01 01:00:00.000000000 +0100
+++ b/arch/arm/boot/dts/imx6dl-udoo-15lvds.dts 2016-02-02 15:33:57.956493214 +0100
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ * Author: Ettore Chimenti <ettore.chimenti@udoo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-udoo.dtsi"
+
+/ {
+ model = "Udoo i.MX6 Dual-lite Board";
+ compatible = "udoo,imx6dl-udoo", "fsl,imx6dl";
+
+ mxcfb2: fb@1 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "ldb";
+ interface_pix_fmt = "RGB24";
+ mode_str = "1360x768M@60";
+ default_bpp = <32>;
+ int_clk = <0>;
+ late_init = <1>;
+ status = "okay";
+ };
+
+ regulators {
+ reg_lcd0_pwr: regulator@1 {
+ status = "okay";
+ };
+
+ reg_lcd0_backlight: regulator@2 {
+ status = "okay";
+ };
+ };
+};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ status = "okay";
+ fsl,data-width = <24>;
+
+ display-timings {
+ native-mode = <&timing2>;
+ };
+ };
+};
diff -aurN a/arch/arm/boot/dts/imx6dl-udoo-7lvds.dts b/arch/arm/boot/dts/imx6dl-udoo-7lvds.dts
--- a/arch/arm/boot/dts/imx6dl-udoo-7lvds.dts 1970-01-01 01:00:00.000000000 +0100
+++ b/arch/arm/boot/dts/imx6dl-udoo-7lvds.dts 2016-02-02 15:33:57.956493214 +0100
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ * Author: Ettore Chimenti <ettore.chimenti@udoo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-udoo.dtsi"
+
+/ {
+ model = "Udoo i.MX6 Dual-lite Board";
+ compatible = "udoo,imx6dl-udoo", "fsl,imx6dl";
+
+ mxcfb2: fb@1 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "ldb";
+ interface_pix_fmt = "RGB666";
+ mode_str = "800x480M@60";
+ default_bpp = <32>;
+ int_clk = <0>;
+ late_init = <0>;
+ status = "okay";
+ };
+
+ regulators {
+ reg_lcd0_pwr: regulator@1 {
+ status = "okay";
+ };
+
+ reg_lcd0_backlight: regulator@2 {
+ status = "okay";
+ };
+ };
+};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ status = "okay";
+ };
+};
diff -aurN a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
--- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi 2016-02-02 15:32:24.208082208 +0100
+++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi 2016-02-02 15:35:33.695723590 +0100
@@ -254,9 +254,9 @@
vsync-len = <2>;
};
- timing2: 1366x768 { // 15.6" display
+ timing2: 1360x768 { // 15.6" display
clock-frequency = <76000000>;
- hactive = <1366>;
+ hactive = <1360>; // IPU needs x and y modulo 8
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
diff -aurN a/arch/arm/boot/dts/imx6q-udoo-15lvds.dts b/arch/arm/boot/dts/imx6q-udoo-15lvds.dts
--- a/arch/arm/boot/dts/imx6q-udoo-15lvds.dts 1970-01-01 01:00:00.000000000 +0100
+++ b/arch/arm/boot/dts/imx6q-udoo-15lvds.dts 2016-02-02 15:33:57.956493214 +0100
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ * Author: Ettore Chimenti <ettore.chimenti@udoo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-udoo.dtsi"
+
+/ {
+ model = "Udoo i.MX6 Quad Board";
+ compatible = "udoo,imx6q-udoo", "fsl,imx6q";
+
+ mxcfb2: fb@1 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "ldb";
+ interface_pix_fmt = "RGB24";
+ mode_str = "1360x768M@60";
+ default_bpp = <32>;
+ int_clk = <0>;
+ late_init = <1>;
+ status = "okay";
+ };
+
+ regulators {
+ reg_lcd0_pwr: regulator@1 {
+ status = "okay";
+ };
+
+ reg_lcd0_backlight: regulator@2 {
+ status = "okay";
+ };
+ };
+};
+
+&sata {
+ status = "okay";
+};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ status = "okay";
+ fsl,data-width = <24>;
+
+ display-timings {
+ native-mode = <&timing2>;
+ };
+ };
+};
diff -aurN a/arch/arm/boot/dts/imx6q-udoo-7lvds.dts b/arch/arm/boot/dts/imx6q-udoo-7lvds.dts
--- a/arch/arm/boot/dts/imx6q-udoo-7lvds.dts 1970-01-01 01:00:00.000000000 +0100
+++ b/arch/arm/boot/dts/imx6q-udoo-7lvds.dts 2016-02-02 15:33:57.956493214 +0100
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * Author: Fabio Estevam <fabio.estevam@freescale.com>
+ * Author: Ettore Chimenti <ettore.chimenti@udoo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-udoo.dtsi"
+
+/ {
+ model = "Udoo i.MX6 Quad Board";
+ compatible = "udoo,imx6q-udoo", "fsl,imx6q";
+
+ mxcfb2: fb@1 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "ldb";
+ interface_pix_fmt = "RGB666";
+ mode_str = "800x480M@60";
+ default_bpp = <32>;
+ int_clk = <0>;
+ late_init = <0>;
+ status = "okay";
+ };
+
+ regulators {
+ reg_lcd0_pwr: regulator@1 {
+ status = "okay";
+ };
+
+ reg_lcd0_backlight: regulator@2 {
+ status = "okay";
+ };
+ };
+};
+
+&sata {
+ status = "okay";
+};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ status = "okay";
+ };
+};
diff -aurN a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
--- a/arch/arm/boot/dts/Makefile 2016-02-02 15:33:47.144907214 +0100
+++ b/arch/arm/boot/dts/Makefile 2016-02-02 15:33:57.956493214 +0100
@@ -308,6 +308,8 @@
imx6dl-tx6u-801x.dtb \
imx6dl-tx6u-811x.dtb \
imx6dl-udoo.dtb \
+ imx6dl-udoo-7lvds.dtb \
+ imx6dl-udoo-15lvds.dtb \
imx6dl-sbc-fx6.dtb \
imx6dl-sbc-fx6m.dtb \
imx6dl-wandboard.dtb \
@@ -351,6 +353,8 @@
imx6q-tx6q-1020-comtft.dtb \
imx6q-tx6q-1110.dtb \
imx6q-udoo.dtb \
+ imx6q-udoo-7lvds.dtb \
+ imx6q-udoo-15lvds.dtb \
imx6q-wandboard.dtb \
imx6q-wandboard-revb1.dtb \
imx6dl-vero.dtb

View File

@ -0,0 +1,11 @@
--- a/arch/arm/boot/dts/imx6q-tbs2910.dts 2016-02-05 10:04:37.142403520 +0100
+++ b/arch/arm/boot/dts/imx6q-tbs2910.dts 2016-02-05 10:04:45.102099522 +0100
@@ -154,7 +154,7 @@
status = "okay";
};
-&hdmi {
+&hdmi_core {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmi>;
ddc-i2c-bus = <&i2c2>;