[Armadeus-commitlog] armadeus branch, master, updated. armadeus-5.3-782-gbbd5569
Brought to you by:
sszy
|
From: Sébastien S. <ss...@us...> - 2015-07-08 11:59:35
|
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 bbd5569323727cce58b99cd571db91e68be1b3e4 (commit)
from 1d17a4a08849cd8812d338b116bc3a7296c94cc3 (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 bbd5569323727cce58b99cd571db91e68be1b3e4
Author: Sébastien Szymanski <seb...@ar...>
Date: Wed Jul 8 14:05:35 2015 +0200
[LINUX] 3.19/4.0: apf28: add Tianma TM035 support
-----------------------------------------------------------------------
Summary of changes:
.../3.19/0420-armadeus-Improve-apf28dev-dts.patch | 72 ++++++++++++++++---
.../3.19/0421-armadeus-mxsfb-red-blue-fix.patch | 43 ++++++++++++
.../4.0/0420-armadeus-Improve-apf28dev-dts.patch | 72 ++++++++++++++++---
.../4.0/0421-armadeus-mxsfb-red-blue-fix.patch | 43 ++++++++++++
4 files changed, 206 insertions(+), 24 deletions(-)
create mode 100644 patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch
create mode 100644 patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch
diff --git a/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch b/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch
index 72a4e0c..6c29d62 100644
--- a/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch
+++ b/patches/linux/3.19/0420-armadeus-Improve-apf28dev-dts.patch
@@ -1,11 +1,11 @@
Remaining Armadeus tweaks for APF28Dev device tree.
---
-Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
+Index: linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
===================================================================
---- linux-3.18.2.orig/arch/arm/boot/dts/imx28-apf28dev.dts
-+++ linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
-@@ -77,6 +77,15 @@
+--- linux-3.19.8.orig/arch/arm/boot/dts/imx28-apf28dev.dts
++++ linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
+@@ -77,22 +77,35 @@
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
@@ -21,21 +21,69 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
lcdif@80030000 {
-@@ -110,6 +119,13 @@
+ pinctrl-names = "default";
+ pinctrl-0 = <&lcdif_16bit_pins_a
+ &lcdif_pins_apf28dev>;
+- display = <&display0>;
++ display = <&st0700>;
++ /*
++ * To use the Tianma TM035 LCD comment the line above
++ * and uncomment the line below.
++ */
++ //display = <&tm035>;
+ status = "okay";
+
+- display0: display0 {
++ st0700: st0700 {
+ bits-per-pixel = <16>;
+ bus-width = <16>;
+
+ display-timings {
+- native-mode = <&timing0>;
+- timing0: timing0 {
++ timing {
+ clock-frequency = <33000033>;
+ hactive = <800>;
+ vactive = <480>;
+@@ -109,6 +122,37 @@
+ };
};
};
- };
++
++ tm035: tm035 {
++ bits-per-pixel = <16>;
++ bus-width = <16>;
++ red-blue-fix;
++
++ display-timings {
++ timing {
++ clock-frequency = <28000000>;
++ hactive = <320>;
++ vactive = <240>;
++ hback-porch = <10>;
++ hfront-porch = <15>;
++ vback-porch = <9>;
++ vfront-porch = <4>;
++ hsync-len = <60>;
++ vsync-len = <4>;
++ hsync-active = <0>;
++ vsync-active = <0>;
++ de-active = <0>;
++ pixelclk-active = <1>;
++ };
++ };
++ };
++ };
+
+ can0: can@80032000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&can0_pins_a>;
+ xceiver-supply = <®_can0_vcc>;
+ status = "okay";
-+ };
+ };
};
- apbx@80040000 {
-@@ -130,6 +146,13 @@
+@@ -130,6 +174,13 @@
status = "okay";
};
@@ -49,7 +97,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
usbphy0: usbphy@8007c000 {
status = "okay";
};
-@@ -143,7 +166,8 @@
+@@ -143,7 +194,8 @@
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
@@ -59,7 +107,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
vbus-supply = <®_usb0_vbus>;
status = "okay";
};
-@@ -175,6 +199,14 @@
+@@ -175,6 +227,14 @@
gpio = <&gpio1 23 1>;
enable-active-high;
};
@@ -74,7 +122,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
leds {
-@@ -202,6 +234,7 @@
+@@ -202,6 +262,7 @@
label = "User button";
gpios = <&gpio0 17 0>;
linux,code = <0x100>;
diff --git a/patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch b/patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch
new file mode 100644
index 0000000..bbdbc69
--- /dev/null
+++ b/patches/linux/3.19/0421-armadeus-mxsfb-red-blue-fix.patch
@@ -0,0 +1,43 @@
+Add option to handle red / blue inversion on apf28
+
+Signed-off-by: Sébastien Szymanski <seb...@ar...>
+Index: linux-3.19.8/drivers/video/fbdev/mxsfb.c
+===================================================================
+--- linux-3.19.8.orig/drivers/video/fbdev/mxsfb.c
++++ linux-3.19.8/drivers/video/fbdev/mxsfb.c
+@@ -182,6 +182,7 @@ struct mxsfb_info {
+ const struct mxsfb_devdata *devdata;
+ u32 sync;
+ struct regulator *reg_lcd;
++ bool red_blue_fix;
+ };
+
+ #define mxsfb_is_v3(host) (host->devdata->ipversion == 3)
+@@ -308,9 +309,16 @@ static int mxsfb_check_var(struct fb_var
+ * Copy the RGB parameters for this display
+ * from the machine specific parameters.
+ */
+- var->red = rgb[RED];
++
++ if (host->red_blue_fix) {
++ var->red = rgb[BLUE];
++ var->blue = rgb[RED];
++ } else {
++ var->red = rgb[RED];
++ var->blue = rgb[BLUE];
++ }
++
+ var->green = rgb[GREEN];
+- var->blue = rgb[BLUE];
+ var->transp = rgb[TRANSP];
+
+ return 0;
+@@ -742,6 +750,8 @@ static int mxsfb_init_fbinfo_dt(struct m
+ goto put_display_node;
+ }
+
++ host->red_blue_fix = of_property_read_bool(display_np, "red-blue-fix");
++
+ ret = of_get_videomode(display_np, &vm, OF_USE_NATIVE_MODE);
+ if (ret) {
+ dev_err(dev, "failed to get videomode from DT\n");
diff --git a/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch b/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch
index 72a4e0c..6c29d62 100644
--- a/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch
+++ b/patches/linux/4.0/0420-armadeus-Improve-apf28dev-dts.patch
@@ -1,11 +1,11 @@
Remaining Armadeus tweaks for APF28Dev device tree.
---
-Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
+Index: linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
===================================================================
---- linux-3.18.2.orig/arch/arm/boot/dts/imx28-apf28dev.dts
-+++ linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
-@@ -77,6 +77,15 @@
+--- linux-3.19.8.orig/arch/arm/boot/dts/imx28-apf28dev.dts
++++ linux-3.19.8/arch/arm/boot/dts/imx28-apf28dev.dts
+@@ -77,22 +77,35 @@
fsl,voltage = <MXS_VOLTAGE_HIGH>;
fsl,pull-up = <MXS_PULL_DISABLE>;
};
@@ -21,21 +21,69 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
lcdif@80030000 {
-@@ -110,6 +119,13 @@
+ pinctrl-names = "default";
+ pinctrl-0 = <&lcdif_16bit_pins_a
+ &lcdif_pins_apf28dev>;
+- display = <&display0>;
++ display = <&st0700>;
++ /*
++ * To use the Tianma TM035 LCD comment the line above
++ * and uncomment the line below.
++ */
++ //display = <&tm035>;
+ status = "okay";
+
+- display0: display0 {
++ st0700: st0700 {
+ bits-per-pixel = <16>;
+ bus-width = <16>;
+
+ display-timings {
+- native-mode = <&timing0>;
+- timing0: timing0 {
++ timing {
+ clock-frequency = <33000033>;
+ hactive = <800>;
+ vactive = <480>;
+@@ -109,6 +122,37 @@
+ };
};
};
- };
++
++ tm035: tm035 {
++ bits-per-pixel = <16>;
++ bus-width = <16>;
++ red-blue-fix;
++
++ display-timings {
++ timing {
++ clock-frequency = <28000000>;
++ hactive = <320>;
++ vactive = <240>;
++ hback-porch = <10>;
++ hfront-porch = <15>;
++ vback-porch = <9>;
++ vfront-porch = <4>;
++ hsync-len = <60>;
++ vsync-len = <4>;
++ hsync-active = <0>;
++ vsync-active = <0>;
++ de-active = <0>;
++ pixelclk-active = <1>;
++ };
++ };
++ };
++ };
+
+ can0: can@80032000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&can0_pins_a>;
+ xceiver-supply = <®_can0_vcc>;
+ status = "okay";
-+ };
+ };
};
- apbx@80040000 {
-@@ -130,6 +146,13 @@
+@@ -130,6 +174,13 @@
status = "okay";
};
@@ -49,7 +97,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
usbphy0: usbphy@8007c000 {
status = "okay";
};
-@@ -143,7 +166,8 @@
+@@ -143,7 +194,8 @@
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
@@ -59,7 +107,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
vbus-supply = <®_usb0_vbus>;
status = "okay";
};
-@@ -175,6 +199,14 @@
+@@ -175,6 +227,14 @@
gpio = <&gpio1 23 1>;
enable-active-high;
};
@@ -74,7 +122,7 @@ Index: linux-3.18.2/arch/arm/boot/dts/imx28-apf28dev.dts
};
leds {
-@@ -202,6 +234,7 @@
+@@ -202,6 +262,7 @@
label = "User button";
gpios = <&gpio0 17 0>;
linux,code = <0x100>;
diff --git a/patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch b/patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch
new file mode 100644
index 0000000..bbdbc69
--- /dev/null
+++ b/patches/linux/4.0/0421-armadeus-mxsfb-red-blue-fix.patch
@@ -0,0 +1,43 @@
+Add option to handle red / blue inversion on apf28
+
+Signed-off-by: Sébastien Szymanski <seb...@ar...>
+Index: linux-3.19.8/drivers/video/fbdev/mxsfb.c
+===================================================================
+--- linux-3.19.8.orig/drivers/video/fbdev/mxsfb.c
++++ linux-3.19.8/drivers/video/fbdev/mxsfb.c
+@@ -182,6 +182,7 @@ struct mxsfb_info {
+ const struct mxsfb_devdata *devdata;
+ u32 sync;
+ struct regulator *reg_lcd;
++ bool red_blue_fix;
+ };
+
+ #define mxsfb_is_v3(host) (host->devdata->ipversion == 3)
+@@ -308,9 +309,16 @@ static int mxsfb_check_var(struct fb_var
+ * Copy the RGB parameters for this display
+ * from the machine specific parameters.
+ */
+- var->red = rgb[RED];
++
++ if (host->red_blue_fix) {
++ var->red = rgb[BLUE];
++ var->blue = rgb[RED];
++ } else {
++ var->red = rgb[RED];
++ var->blue = rgb[BLUE];
++ }
++
+ var->green = rgb[GREEN];
+- var->blue = rgb[BLUE];
+ var->transp = rgb[TRANSP];
+
+ return 0;
+@@ -742,6 +750,8 @@ static int mxsfb_init_fbinfo_dt(struct m
+ goto put_display_node;
+ }
+
++ host->red_blue_fix = of_property_read_bool(display_np, "red-blue-fix");
++
+ ret = of_get_videomode(display_np, &vm, OF_USE_NATIVE_MODE);
+ if (ret) {
+ dev_err(dev, "failed to get videomode from DT\n");
hooks/post-receive
--
armadeus
|