[Armadeus-commitlog] armadeus branch, master, updated. armadeus-6.0-327-gd6822f9
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2017-09-07 09:51:30
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via d6822f9304fc240f4e2a00608af11d2ad65e864e (commit)
via 29372924938cfd42d2552cc4f3546abf1282caf5 (commit)
via 31ca579c0f64946420aec3a8604fc8e8a65a69bd (commit)
from 494d200cacafd58994d91bb203e2d2530cae7ed8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d6822f9304fc240f4e2a00608af11d2ad65e864e
Author: Julien BOIBESSOT <jul...@ar...>
Date: Thu Sep 7 11:50:09 2017 +0200
[LINUX] 4.1-legacy: mxsfb: fixes native-mode OF display's property handling
commit 29372924938cfd42d2552cc4f3546abf1282caf5
Author: Julien BOIBESSOT <jul...@ar...>
Date: Thu Sep 7 11:23:46 2017 +0200
[LINUX] 4.1-legacy: fixes i.MX6UL PWM clocks declaration
commit 31ca579c0f64946420aec3a8604fc8e8a65a69bd
Author: Julien BOIBESSOT <jul...@ar...>
Date: Wed Sep 6 18:01:56 2017 +0200
[LINUX] 4.1-legacy: add device tree for OPOS6UL(DEV)
-----------------------------------------------------------------------
Summary of changes:
...pos6ul-and-opos6uldev-add-initial-support.patch | 67 +++++++++----
...s-dts-fixes-imx6ul-pwm-clocks-declaration.patch | 41 ++++++++
...xsfb-fixes-multi-display-timings-handling.patch | 111 +++++++++++++++++++++
3 files changed, 198 insertions(+), 21 deletions(-)
copy patches/linux/{4.8 => 4.1.mx6_legacy}/0800-ARM-dts-opos6ul-and-opos6uldev-add-initial-support.patch (93%)
create mode 100644 patches/linux/4.1.mx6_legacy/0805-armadeus-dts-fixes-imx6ul-pwm-clocks-declaration.patch
create mode 100644 patches/linux/4.1.mx6_legacy/0806-armadeus-mxsfb-fixes-multi-display-timings-handling.patch
diff --git a/patches/linux/4.8/0800-ARM-dts-opos6ul-and-opos6uldev-add-initial-support.patch b/patches/linux/4.1.mx6_legacy/0800-ARM-dts-opos6ul-and-opos6uldev-add-initial-support.patch
similarity index 93%
copy from patches/linux/4.8/0800-ARM-dts-opos6ul-and-opos6uldev-add-initial-support.patch
copy to patches/linux/4.1.mx6_legacy/0800-ARM-dts-opos6ul-and-opos6uldev-add-initial-support.patch
index 19d13c8..71b640c 100644
--- a/patches/linux/4.8/0800-ARM-dts-opos6ul-and-opos6uldev-add-initial-support.patch
+++ b/patches/linux/4.1.mx6_legacy/0800-ARM-dts-opos6ul-and-opos6uldev-add-initial-support.patch
@@ -16,23 +16,23 @@ Signed-off-by: Sébastien Szymanski <seb...@ar...>
create mode 100644 arch/arm/boot/dts/imx6ul-opos6ul.dtsi
create mode 100644 arch/arm/boot/dts/imx6ul-opos6uldev.dts
-Index: linux-4.8.10/arch/arm/boot/dts/Makefile
+Index: linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/Makefile
===================================================================
---- linux-4.8.10.orig/arch/arm/boot/dts/Makefile
-+++ linux-4.8.10/arch/arm/boot/dts/Makefile
-@@ -407,6 +407,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
- imx6sx-sdb.dtb
- dtb-$(CONFIG_SOC_IMX6UL) += \
+--- linux-imx_4.1.15_2.0.0_ga.orig/arch/arm/boot/dts/Makefile
++++ linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/Makefile
+@@ -387,6 +387,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
+ imx6ul-14x14-ddr3-arm2-spdif.dtb \
+ imx6ul-14x14-ddr3-arm2-wm8958.dtb \
imx6ul-14x14-evk.dtb \
+ imx6ul-opos6uldev.dtb \
- imx6ul-pico-hobbit.dtb \
- imx6ul-tx6ul-0010.dtb \
- imx6ul-tx6ul-0011.dtb \
-Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+ imx6ul-14x14-evk-btwifi.dtb \
+ imx6ul-14x14-evk-csi.dtb \
+ imx6ul-14x14-evk-emmc.dtb \
+Index: linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
===================================================================
--- /dev/null
-+++ linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
-@@ -0,0 +1,192 @@
++++ linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+@@ -0,0 +1,212 @@
+/*
+ * Copyright 2016 Armadeus Systems <su...@ar...>
+ *
@@ -80,6 +80,7 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
++#include <dt-bindings/input/input.h>
+#include "imx6ul.dtsi"
+
+/ {
@@ -87,6 +88,11 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+ reg = <0x80000000 0>; /* will be filled by U-Boot */
+ };
+
++ pxp_v4l2 {
++ compatible = "fsl,imx6ul-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2";
++ status = "okay";
++ };
++
+ reg_3v3: regulator-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "3V3";
@@ -100,6 +106,12 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+ };
+};
+
++&cpu0 {
++ arm-supply = <®_arm>;
++ soc-supply = <®_soc>;
++ dc-supply = <®_3v3>;
++};
++
+&fec1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_enet1>;
@@ -124,6 +136,10 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+ };
+};
+
++&pxp {
++ status = "okay";
++};
++
+/* Bluetooth */
+&uart8 {
+ pinctrl-names = "default";
@@ -165,6 +181,9 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+};
+
+&iomuxc {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_hog_1>;
++ imx6ul-opos6ul {
+ pinctrl_enet1: enet1grp {
+ fsl,pins = <
+ MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0
@@ -224,12 +243,13 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+ MX6UL_PAD_ENET2_RX_DATA0__GPIO2_IO08 0x1b0b0
+ >;
+ };
++ };
+};
-Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+Index: linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/imx6ul-opos6uldev.dts
===================================================================
--- /dev/null
-+++ linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
-@@ -0,0 +1,450 @@
++++ linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+@@ -0,0 +1,455 @@
+/*
+ * Copyright 2016 Armadeus Systems <su...@ar...>
+ *
@@ -278,6 +298,8 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+ */
+
+/dts-v1/;
++
++#include <dt-bindings/input/input.h>
+#include "imx6ul-opos6ul.dtsi"
+
+/ {
@@ -370,14 +392,14 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+ status = "okay";
+};
+
-+&can1 {
++&flexcan1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1>;
+ xceiver-supply = <®_5v>;
+ status = "okay";
+};
+
-+&can2 {
++&flexcan2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan2>;
+ xceiver-supply = <®_5v>;
@@ -422,6 +444,7 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lcdif>;
+ display = <&display0>;
++ disp-dev = "lcd"; /* not handled by mxsfb yet */
+ lcd-supply = <®_3v3>;
+ status = "okay";
+
@@ -430,7 +453,9 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+ bus-width = <18>;
+
+ display-timings {
-+ ST0700 {
++ native-mode = <&timing0>;
++
++ timing0: ST0700 {
+ clock-frequency = <33000033>;
+ hactive = <800>;
+ vactive = <480>;
@@ -446,7 +471,7 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+ pixelclk-active = <0>;
+ };
+
-+ LQ043 {
++ timing1: LQ043 {
+ clock-frequency = <8690000>;
+ hactive = <480>;
+ vactive = <272>;
@@ -509,7 +534,7 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpios>;
-+
++ imx6ul-opos6uldev {
+
+ pinctrl_pwm3: pwm3grp {
+ fsl,pins = <
@@ -678,5 +703,5 @@ Index: linux-4.8.10/arch/arm/boot/dts/imx6ul-opos6uldev.dts
+ MX6UL_PAD_CSI_DATA07__CSI_DATA09 0x1b088
+ >;
+ };
-+
++ };
+};
diff --git a/patches/linux/4.1.mx6_legacy/0805-armadeus-dts-fixes-imx6ul-pwm-clocks-declaration.patch b/patches/linux/4.1.mx6_legacy/0805-armadeus-dts-fixes-imx6ul-pwm-clocks-declaration.patch
new file mode 100644
index 0000000..3326173
--- /dev/null
+++ b/patches/linux/4.1.mx6_legacy/0805-armadeus-dts-fixes-imx6ul-pwm-clocks-declaration.patch
@@ -0,0 +1,41 @@
+No comments ;-)
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/imx6ul.dtsi
+===================================================================
+--- linux-imx_4.1.15_2.0.0_ga.orig/arch/arm/boot/dts/imx6ul.dtsi
++++ linux-imx_4.1.15_2.0.0_ga/arch/arm/boot/dts/imx6ul.dtsi
+@@ -455,8 +455,8 @@
+ compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+ reg = <0x02084000 0x4000>;
+ interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&clks IMX6UL_CLK_DUMMY>,
+- <&clks IMX6UL_CLK_DUMMY>;
++ clocks = <&clks IMX6UL_CLK_PWM2>,
++ <&clks IMX6UL_CLK_PWM2>;
+ clock-names = "ipg", "per";
+ #pwm-cells = <2>;
+ };
+@@ -465,8 +465,8 @@
+ compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+ reg = <0x02088000 0x4000>;
+ interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&clks IMX6UL_CLK_DUMMY>,
+- <&clks IMX6UL_CLK_DUMMY>;
++ clocks = <&clks IMX6UL_CLK_PWM3>,
++ <&clks IMX6UL_CLK_PWM3>;
+ clock-names = "ipg", "per";
+ #pwm-cells = <2>;
+ };
+@@ -475,8 +475,8 @@
+ compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm";
+ reg = <0x0208c000 0x4000>;
+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&clks IMX6UL_CLK_DUMMY>,
+- <&clks IMX6UL_CLK_DUMMY>;
++ clocks = <&clks IMX6UL_CLK_PWM4>,
++ <&clks IMX6UL_CLK_PWM4>;
+ clock-names = "ipg", "per";
+ #pwm-cells = <2>;
+ };
diff --git a/patches/linux/4.1.mx6_legacy/0806-armadeus-mxsfb-fixes-multi-display-timings-handling.patch b/patches/linux/4.1.mx6_legacy/0806-armadeus-mxsfb-fixes-multi-display-timings-handling.patch
new file mode 100644
index 0000000..47700cf
--- /dev/null
+++ b/patches/linux/4.1.mx6_legacy/0806-armadeus-mxsfb-fixes-multi-display-timings-handling.patch
@@ -0,0 +1,111 @@
+Makes "native-mode" property of displays in device tree works as expected.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-imx_4.1.15_2.0.0_ga/drivers/video/fbdev/mxsfb.c
+===================================================================
+--- linux-imx_4.1.15_2.0.0_ga.orig/drivers/video/fbdev/mxsfb.c
++++ linux-imx_4.1.15_2.0.0_ga/drivers/video/fbdev/mxsfb.c
+@@ -1102,6 +1102,30 @@ static int mxsfb_restore_mode(struct mxs
+ return 0;
+ }
+
++static int mxsfb_fb_add_videomode_from_timings(struct display_timings *timings, struct fb_info *fb_info, int index)
++{
++ struct videomode vm;
++ struct fb_videomode fb_vm;
++ int ret;
++
++ ret = videomode_from_timings(timings, &vm, index);
++ if (ret < 0)
++ return ret;
++
++ ret = fb_videomode_from_videomode(&vm, &fb_vm);
++ if (ret < 0)
++ return ret;
++
++ if (!(vm.flags & DISPLAY_FLAGS_DE_HIGH))
++ fb_vm.sync |= FB_SYNC_OE_LOW_ACT;
++ if (vm.flags & DISPLAY_FLAGS_PIXDATA_NEGEDGE)
++ fb_vm.sync |= FB_SYNC_CLK_LAT_FALL;
++
++ fb_add_videomode(&fb_vm, &fb_info->modelist);
++
++ return 0;
++}
++
+ static int mxsfb_init_fbinfo_dt(struct mxsfb_info *host)
+ {
+ struct fb_info *fb_info = host->fb_info;
+@@ -1160,7 +1184,7 @@ static int mxsfb_init_fbinfo_dt(struct m
+ if (!ret) {
+ memcpy(host->disp_dev, disp_dev, strlen(disp_dev));
+ /* Timing is from encoder driver */
+- goto put_display_node;
++ //goto put_display_node;
+ }
+
+ timings = of_get_display_timings(display_np);
+@@ -1179,22 +1203,19 @@ static int mxsfb_init_fbinfo_dt(struct m
+ }
+
+ for (i = 0; i < of_get_child_count(timings_np); i++) {
+- struct videomode vm;
+- struct fb_videomode fb_vm;
++ if (i == timings->native_mode)
++ continue;
+
+- ret = videomode_from_timings(timings, &vm, i);
++ ret = mxsfb_fb_add_videomode_from_timings(timings, fb_info, i);
+ if (ret < 0)
+ goto put_timings_node;
+- ret = fb_videomode_from_videomode(&vm, &fb_vm);
+- if (ret < 0)
+- goto put_timings_node;
+-
+- if (!(vm.flags & DISPLAY_FLAGS_DE_HIGH))
+- fb_vm.sync |= FB_SYNC_OE_LOW_ACT;
+- if (vm.flags & DISPLAY_FLAGS_PIXDATA_NEGEDGE)
+- fb_vm.sync |= FB_SYNC_CLK_LAT_FALL;
+- fb_add_videomode(&fb_vm, &fb_info->modelist);
+ }
++ /* add native mode in last so it is used first o_O */
++ ret = mxsfb_fb_add_videomode_from_timings(timings, fb_info, timings->native_mode);
++ if (ret < 0)
++ goto put_timings_node;
++
++ return ret;
+
+ put_timings_node:
+ of_node_put(timings_np);
+@@ -1230,7 +1251,7 @@ static int mxsfb_init_fbinfo(struct mxsf
+ sprintf(fb_info->fix.id, "mxs-lcdif%d", host->id);
+
+ if (!list_empty(&fb_info->modelist)) {
+- /* first video mode in the modelist as default video mode */
++ /* first video mode in the modelist as default video mode */
+ modelist = list_first_entry(&fb_info->modelist,
+ struct fb_modelist, list);
+ fb_videomode_to_var(var, &modelist->mode);
+@@ -1276,7 +1297,7 @@ static void mxsfb_dispdrv_init(struct pl
+ host->dispdrv = mxc_dispdrv_gethandle(disp_dev, &setting);
+ if (IS_ERR(host->dispdrv)) {
+ host->dispdrv = NULL;
+- dev_info(dev, "failed to find mxc display driver %s\n",
++ dev_info(dev, "failed to find mxc display driver (%s) (don't care ;-))\n",
+ disp_dev);
+ } else {
+ dev_info(dev, "registered mxc display driver %s\n",
+Index: linux-imx_4.1.15_2.0.0_ga/drivers/video/of_display_timing.c
+===================================================================
+--- linux-imx_4.1.15_2.0.0_ga.orig/drivers/video/of_display_timing.c
++++ linux-imx_4.1.15_2.0.0_ga/drivers/video/of_display_timing.c
+@@ -226,7 +226,7 @@ struct display_timings *of_get_display_t
+ */
+ of_node_put(native_mode);
+
+- pr_debug("%s: got %d timings. Using timing #%d as default\n",
++ printk("%s: got %d timings. Tagging timing #%d as native/default\n",
+ of_node_full_name(np), disp->num_timings,
+ disp->native_mode + 1);
+
hooks/post-receive
--
armadeus
|