Pārlūkot izejas kodu

bump linux to 4.4.94 add 15inch display

Reinhard Russinger 7 gadi atpakaļ
vecāks
revīzija
6e2b862abf

+ 111 - 0
GfA-buildroot-libmodbus-GfA.patch

@@ -0,0 +1,111 @@
+diff --git a/package/libmodbus/001-GfA-echo-rtu.patch b/package/libmodbus/001-GfA-echo-rtu.patch
+new file mode 100644
+index 0000000000..386172f970
+--- /dev/null
++++ b/package/libmodbus/001-GfA-echo-rtu.patch
+@@ -0,0 +1,105 @@
++diff -Naur a/src/modbus-rtu.c b/src/modbus-rtu.c
++--- a/src/modbus-rtu.c	2017-10-11 23:07:11.623017506 +0200
+++++ b/src/modbus-rtu.c	2017-10-11 23:07:20.495035402 +0200
++@@ -257,6 +257,27 @@
++ }
++ #endif
++ 
+++
+++ssize_t _modbus_rtu_write_n_read(modbus_t *ctx, const uint8_t *req, int req_length) {
+++ ssize_t w, r, i;
+++ uint8_t rb[req_length];
+++
+++ // Transmit
+++ w = write(ctx->s, req, req_length);
+++
+++ // Read back written bytes if hw has echo
+++ r = 0;
+++ while (r < w)
+++  r += read(ctx->s, rb + r, w - r);
+++ if (ctx->debug) {
+++  for (i = 0; i < r; ++i)
+++  fprintf(stderr, "|%02X|", rb[i]);
+++  fprintf(stderr, "\n");
+++ }
+++
+++ return w;
+++}
+++
++ ssize_t _modbus_rtu_send(modbus_t *ctx, const uint8_t *req, int req_length)
++ {
++ #if defined(_WIN32)
++@@ -264,7 +285,14 @@
++     DWORD n_bytes = 0;
++     return (WriteFile(ctx_rtu->w_ser.fd, req, req_length, &n_bytes, NULL)) ? n_bytes : -1;
++ #else
++-    return write(ctx->s, req, req_length);
+++    modbus_rtu_t *ctx_rtu = ctx->backend_data;
+++    ssize_t w;
+++    
+++    if(!ctx_rtu->echohw)    
+++      w = write(ctx->s, req, req_length);
+++     else
+++      w = _modbus_rtu_write_n_read(ctx, req, req_length);
+++    return w;
++ #endif
++ }
++ 
++@@ -772,6 +800,30 @@
++     }
++ }
++ 
+++
+++int modbus_rtu_set_echohw_mode(modbus_t* ctx, uint8_t mode) {
+++ if (ctx->backend->backend_type == _MODBUS_BACKEND_TYPE_RTU) {
+++ modbus_rtu_t* rtu = (modbus_rtu_t*) ctx->backend_data;
+++ rtu->echohw= mode;
+++ return 0;
+++ }
+++ /* Wrong backend and invalid mode specified */
+++ errno = EINVAL;
+++ return -1;
+++
+++}
+++
+++int modbus_rtu_get_echohw_mode(modbus_t* ctx) {
+++ if (ctx->backend->backend_type == _MODBUS_BACKEND_TYPE_RTU) {
+++ modbus_rtu_t* rtu = (modbus_rtu_t*) ctx->backend_data;
+++ return rtu->echohw;
+++ }
+++ /* Wrong backend and invalid mode specified */
+++ errno = EINVAL;
+++ return -1;
+++
+++}
+++
++ void _modbus_rtu_close(modbus_t *ctx)
++ {
++     /* Closes the file descriptor in RTU mode */
++diff -Naur a/src/modbus-rtu.h b/src/modbus-rtu.h
++--- a/src/modbus-rtu.h	2017-10-11 23:07:11.623017506 +0200
+++++ b/src/modbus-rtu.h	2017-10-11 23:07:20.495035402 +0200
++@@ -37,6 +37,12 @@
++ int modbus_rtu_set_serial_mode(modbus_t *ctx, int mode);
++ int modbus_rtu_get_serial_mode(modbus_t *ctx);
++ 
+++#define MODBUS_RTU_HAS_ECHOHW 1
+++#define MODBUS_RTU_NO_ECHOHW 0
+++
+++int modbus_rtu_set_echohw_mode(modbus_t *ctx, uint8_t mode);
+++int modbus_rtu_get_echohw_mode(modbus_t *ctx);
+++
++ MODBUS_END_DECLS
++ 
++ #endif /* _MODBUS_RTU_H_ */
++diff -Naur a/src/modbus-rtu-private.h b/src/modbus-rtu-private.h
++--- a/src/modbus-rtu-private.h	2017-10-11 23:07:11.623017506 +0200
+++++ b/src/modbus-rtu-private.h	2017-10-11 23:07:20.495035402 +0200
++@@ -81,6 +81,7 @@
++ #if HAVE_DECL_TIOCSRS485
++     int serial_mode;
++ #endif
+++    uint8_t echohw;
++ } modbus_rtu_t;
++ 
++ #endif /* _MODBUS_RTU_PRIVATE_H_ */

+ 17 - 0
GfA-buildroot-update-add-fullhd.patch

@@ -0,0 +1,17 @@
+diff --git a/UpdateRootfs.sh.in b/UpdateRootfs.sh.in
+index cfc9797f0f..e53210dbdb 100644
+--- a/UpdateRootfs.sh.in
++++ b/UpdateRootfs.sh.in
+@@ -149,6 +149,12 @@ if [ "$XRES" == "1280" -a "$YRES" == "800" ]; then
+   DONE=1
+ fi
+ 
++if [ "$XRES" == "1920" -a "$YRES" == "1080" ]; then
++  echo "10 Inch"
++  sh /root/DisplayTo_15inch.sh
++  DONE=1
++fi
++
+ if [ "$DONE" == "0" ]; then
+   echo "Unknown Display Resolution"
+ fi

+ 3 - 2
Make-bb-kernel_Qt5.6.2.sh

@@ -38,12 +38,13 @@ patch -p1 < ../GfA/GfA-buildroot_qt-latest_qt-LTS-5.6.2.patch
 patch -p1 < ../GfA/GfA-buildroot_SetRightDisplayResolution_OnUpdate.patch
 patch -p1 < ../GfA/GfA-buildroot_SetRightDisplayResolution_OnUpdate_include_opt.patch
 patch -p1 < ../GfA/GfA-buildroot_include_inittab_on_update.patch
+patch -p1 < ../GfA/GfA-buildroot-libmodbus-GfA.patch
+patch -p1 < ../GfA/GfA-buildroot-update-add-fullhd.patch
 #
 chmod a+x *.sh
 cp ../GfA/configs/* ./configs
 git add .
 git commit -m "GfA wrk changes and setup"
-##make BR2_EXTERNAL=../GfA Display001_4.4.65_rt17_defconfig
-make BR2_EXTERNAL=../GfA Display001_4.4.65_rt17_Qt5.6.2_defconfig
+make BR2_EXTERNAL=../GfA Display001_4.4.94_rt19_Qt5.6.2_defconfig
 cd $GFAWRKDIR
 #------

+ 1 - 1
board/GfA/Display001/BUILD

@@ -1 +1 @@
-450
+454

+ 345 - 0
board/GfA/Display001/DTS_4.4/Display001_15.dts

@@ -0,0 +1,345 @@
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * 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 "am33xx.dtsi"
+#include "am335x-bone-common.dtsi"
+
+&ldo3_reg {
+	regulator-min-microvolt = <1800000>;
+	regulator-max-microvolt = <1800000>;
+	regulator-always-on;
+};
+
+&mmc1 {
+	vmmc-supply = <&vmmcsd_fixed>;
+};
+
+&mmc2 {
+	vmmc-supply = <&vmmcsd_fixed>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&emmc_pins>;
+	bus-width = <8>;
+	ti,non-removable;
+	status = "okay";
+};
+
+&am33xx_pinmux {
+		lcd_pins_default: lcd_pins_default {
+			pinctrl-single,pins = <
+				0x20 0x01	/* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */
+				0x24 0x01	/* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */
+				0x28 0x01	/* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */
+				0x2c 0x01	/* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */
+				0x30 0x01	/* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */
+				0x34 0x01	/* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */
+				0x38 0x01	/* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */
+				0x3c 0x01	/* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */
+				0xa0 0x00	/* lcd_data0.lcd_data0, OUTPUT | MODE0 */
+				0xa4 0x00	/* lcd_data1.lcd_data1, OUTPUT | MODE0 */
+				0xa8 0x00	/* lcd_data2.lcd_data2, OUTPUT | MODE0 */
+				0xac 0x00	/* lcd_data3.lcd_data3, OUTPUT | MODE0 */
+				0xb0 0x00	/* lcd_data4.lcd_data4, OUTPUT | MODE0 */
+				0xb4 0x00	/* lcd_data5.lcd_data5, OUTPUT | MODE0 */
+				0xb8 0x00	/* lcd_data6.lcd_data6, OUTPUT | MODE0 */
+				0xbc 0x00	/* lcd_data7.lcd_data7, OUTPUT | MODE0 */
+				0xc0 0x00	/* lcd_data8.lcd_data8, OUTPUT | MODE0 */
+				0xc4 0x00	/* lcd_data9.lcd_data9, OUTPUT | MODE0 */
+				0xc8 0x00	/* lcd_data10.lcd_data10, OUTPUT | MODE0 */
+				0xcc 0x00	/* lcd_data11.lcd_data11, OUTPUT | MODE0 */
+				0xd0 0x00	/* lcd_data12.lcd_data12, OUTPUT | MODE0 */
+				0xd4 0x00	/* lcd_data13.lcd_data13, OUTPUT | MODE0 */
+				0xd8 0x00	/* lcd_data14.lcd_data14, OUTPUT | MODE0 */
+				0xdc 0x00	/* lcd_data15.lcd_data15, OUTPUT | MODE0 */
+				0xe0 0x00	/* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
+				0xe4 0x00	/* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */
+				0xe8 0x00	/* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */
+				0xec 0x00	/* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */
+			>;
+		};
+
+		lcd_pins_sleep: lcd_pins_sleep {
+			pinctrl-single,pins = <
+				0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad8.lcd_data16 */
+				0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad9.lcd_data17 */
+				0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad10.lcd_data18 */
+				0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad11.lcd_data19 */
+				0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad12.lcd_data20 */
+				0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad13.lcd_data21 */
+				0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad14.lcd_data22 */
+				0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* gpmc_ad15.lcd_data23 */
+				0xa0 (PULL_DISABLE | MUX_MODE7)		/* lcd_data0.lcd_data0 */
+				0xa4 (PULL_DISABLE | MUX_MODE7)		/* lcd_data1.lcd_data1 */
+				0xa8 (PULL_DISABLE | MUX_MODE7)		/* lcd_data2.lcd_data2 */
+				0xac (PULL_DISABLE | MUX_MODE7)		/* lcd_data3.lcd_data3 */
+				0xb0 (PULL_DISABLE | MUX_MODE7)		/* lcd_data4.lcd_data4 */
+				0xb4 (PULL_DISABLE | MUX_MODE7)		/* lcd_data5.lcd_data5 */
+				0xb8 (PULL_DISABLE | MUX_MODE7)		/* lcd_data6.lcd_data6 */
+				0xbc (PULL_DISABLE | MUX_MODE7)		/* lcd_data7.lcd_data7 */
+				0xc0 (PULL_DISABLE | MUX_MODE7)		/* lcd_data8.lcd_data8 */
+				0xc4 (PULL_DISABLE | MUX_MODE7)		/* lcd_data9.lcd_data9 */
+				0xc8 (PULL_DISABLE | MUX_MODE7)		/* lcd_data10.lcd_data10 */
+				0xcc (PULL_DISABLE | MUX_MODE7)		/* lcd_data11.lcd_data11 */
+				0xd0 (PULL_DISABLE | MUX_MODE7)		/* lcd_data12.lcd_data12 */
+				0xd4 (PULL_DISABLE | MUX_MODE7)		/* lcd_data13.lcd_data13 */
+				0xd8 (PULL_DISABLE | MUX_MODE7)		/* lcd_data14.lcd_data14 */
+				0xdc (PULL_DISABLE | MUX_MODE7)		/* lcd_data15.lcd_data15 */
+				0xe0 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
+				0xe4 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* lcd_hsync.lcd_hsync */
+				0xe8 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* lcd_pclk.lcd_pclk */
+				0xec (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* lcd_ac_bias_en.lcd_ac_bias_en */
+			>;
+		};
+
+
+             /* 	i2c1_pins: pinmux_i2c1_pins { 
+                        pinctrl-single,pins = <
+                                0x158 (PIN_INPUT | MUX_MODE2) */   /* spi0_d1.i2c1_sda */
+                              /*  0x15c (PIN_INPUT | MUX_MODE2) */    /* spi0_cs0.i2c1_scl */
+/*                        >;
+                };
+*/
+              	i2c2_pins: pinmux_i2c2_pins { 
+                        pinctrl-single,pins = <
+                                0x150 (PIN_INPUT_PULLUP | MUX_MODE2)    /* spi0_sclk.i2c2_sda */
+                                0x154 (PIN_INPUT_PULLUP | MUX_MODE2)    /* spi0_d0.i2c2_scl */
+                        >;
+                };
+
+
+               spi1_pins: pinmux_spi1_pins {
+                        pinctrl-single,pins = <
+                                0x190 (PIN_INPUT_PULLUP | MUX_MODE3) /* mcasp0_aclkx.spi1_sclk */
+                                0x194 (PIN_INPUT_PULLUP | MUX_MODE3)  /* mcasp0_fsx.spi1_d0 */
+                                0x198 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcasp0_axr0.spi1_d1 */
+                                0x19c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcasp0_ahclrk.spi1_cs0 */
+                                0x164 (PIN_OUTPUT_PULLUP | MUX_MODE2) /* ecap0_in.pwm0_out */
+                        >;
+                };
+
+
+		edt_ft5x06_pins: pinmux_edt_ft5x06_pins{
+                        pinctrl-single,pins = <
+                                0x1ac (PIN_OUTPUT | MUX_MODE7)    /* mcasp0_ahclkx.gpio3.21 RESET TOUCH P9_25*/
+                                0x8c  (PIN_INPUT | MUX_MODE7)    /* gpmc_clk_mux0.gpio2.1  INT TOUCH P8_18 */
+                        >;
+
+		};
+
+
+               uart4_pins_default: pinmux_uart4_pins_default {
+                        pinctrl-single,pins = <
+                                0x070 (PIN_INPUT_PULLUP | MUX_MODE6)    /* gpmc_wait0.uart4_rxd */
+                                0x074 (PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* gpmc_wpn.uart4_txd */ 
+				0x078 (PIN_OUTPUT | MUX_MODE7)		/* gpmc_ben1.gpio1.28 */
+                        >;
+                };
+
+
+                uart4_pins_sleep: pinmux_uart4_pins_sleep {
+                        pinctrl-single,pins = <
+                                0x070 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                                0x074 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+				0x078 (PIN_INPUT_PULLDOWN | MUX_MODE7)
+                        >;
+                };
+
+               uart1_pins_default: pinmux_uart1_pins_default {
+                        pinctrl-single,pins = <
+                                0x180 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart1_rxd.uart1_rxd */
+                                0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */ 
+				0x178 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda.uart1_ctsn */
+                                0x17c (PIN_OUTPUT | MUX_MODE0)  	/* i2c2_scl.uart1_rtsn */
+                        >;
+                };
+
+
+                uart1_pins_sleep: pinmux_uart1_pins_sleep {
+                        pinctrl-single,pins = <
+                                0x180 (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* uart1_rxd.uart1_rxd */
+                                0x184 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* uart1_txd.uart1_txd */ 
+				0x178 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* i2c2_sda.uart1_ctsn */
+                                0x17c (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* i2c2_scl.uart1_rtsn */
+                        >;
+                };
+
+		timer7_pins: pinmux_timer7_pins {
+                        pinctrl-single,pins = <
+                               0x094 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_oen_ren.timer7 */
+				>;
+				};
+
+		profibus_pins_default: pinmux_profibus_pins_default {
+                        pinctrl-single,pins = < 
+                        0x158 (PIN_INPUT_PULLUP | MUX_MODE4)    /* spi0_d1.uart0_rxd */
+                        0x15c (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* spi0_cs0.uart0_txd */ 
+			0x1a4 (PIN_OUTPUT | MUX_MODE5)		/* mcasp0_fsr.gpio3.19 */
+                	>;
+                };
+};
+
+&timer7 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&timer7_pins>; 
+	status = "okay";
+};
+
+&i2c0 {
+	hdmi1: hdmi@70 {
+	      compatible = "nxp,tda998x";
+	      reg = <0x70>;
+	};
+};
+
+
+&i2c2 {
+    pinctrl-names = "default";
+    pinctrl-0 = <&i2c2_pins>;
+    status = "okay";
+    clock-frequency = <400000>;
+};
+
+
+&i2c2 {
+        mcp7940x: rtc@6f {
+                compatible = "microchip,mcp7940x";
+                reg = <0x6f>;
+                };
+};
+
+
+&spi1 {
+	pinctrl-names = "default";
+        pinctrl-0 = <&spi1_pins>;
+
+	clock-frequency = <1000000>;
+        status = "okay";
+	spi1_0{
+		compatible = "spidev";
+                reg = <0>;
+		spi-max-frequency = <10000000>;
+        };
+
+	spi1_1{
+		compatible = "spidev";
+                reg = <1>;
+		spi-max-frequency = <10000000>;
+        };
+};
+
+&lcdc {
+        status = "okay";
+};
+
+/ {
+  panel {
+	compatible = "ti,tilcdc,panel";
+        pinctrl-names = "default", "sleep";
+        pinctrl-0 = <&lcd_pins_default>;
+        pinctrl-1 = <&lcd_pins_sleep>;
+        status = "okay";
+
+       panel-info {
+                ac-bias           = <255>;
+                ac-bias-intrpt    = <0>;  
+                dma-burst-sz      = <16>; 
+                bpp               = <32>; 
+                fdd               = <0x80>;
+                sync-edge         = <0>;   
+                sync-ctrl         = <1>;   
+                raster-order      = <0>;   
+                fifo-th           = <0>;   
+                invert-pxl-clk    = <0>;   
+                };
+	display-timings {
+		1920x1080 {
+			hactive         = <1920>;
+			vactive         = <1080>;
+			hback-porch     = <80>;
+			hfront-porch    = <120>;
+			hsync-len       = <80>;
+			vback-porch     = <10>;
+			vfront-porch    = <20>;
+			vsync-len       = <10>;
+			clock-frequency = <87500000>;
+			hsync-active    = <0>;
+			vsync-active    = <0>;
+			de-active  	= <1>;
+			pixelclk-active = <1>;
+			};
+		};
+  	};
+};
+
+/*
+&tscadc {
+        status = "okay";
+        tsc {
+                ti,wires = <4>;
+                ti,x-plate-resistance = <200>;
+                ti,coordinate-readouts = <5>; 
+                ti,wire-config = <0x00 0x11 0x22 0x33>;
+        };
+};
+*/
+
+&tscadc {
+        status = "okay";
+};
+
+&am335x_adc {
+        ti,adc-channels = <0 1 2 3 4 5 6 7>;
+};
+
+&uart4 {
+	pinctrl-names = "default", "sleep";
+        pinctrl-0 = <&uart4_pins_default>;
+        pinctrl-1 = <&uart4_pins_sleep>;
+
+        status = "okay";
+
+	rts-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
+	rs485-rts-active-high;
+	rs485-rts-delay = <0 0 100>;
+	linux,rs485-enabled-at-boot-time;
+	rs485-rx-during-tx;
+};
+
+&uart1 {
+	pinctrl-names = "default", "sleep";
+        pinctrl-0 = <&uart1_pins_default>;
+        pinctrl-1 = <&uart1_pins_sleep>;
+
+        status = "okay";
+};
+
+&pruss {
+	pinctrl-names = "default";
+        pinctrl-0 = <&profibus_pins_default>;
+	status = "okay";
+};
+
+/ {
+        pwm7: dmtimer-pwm@7 {
+                compatible = "ti,omap-dmtimer-pwm";
+                ti,timers = <&timer7>;
+                #pwm-cells = <3>;
+        };
+
+        pwm-beeper {
+                compatible = "pwm-beeper";
+                pwms = <&pwm7 0 0 0>;
+        };
+};
+
+/ {
+	vendorinfo { 
+		vendor_name = "GfA Display001";
+		display_dtb = "Display001_15.dtb";
+	};
+};

+ 2 - 3
board/GfA/Display001/Display001_4.4.65_rt_defconfig → board/GfA/Display001/Display001_4.4.94_rt_defconfig

@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 4.4.65 Kernel Configuration
+# Linux/arm 4.4.94 Kernel Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_HAS_SG_CHAIN=y
@@ -36,7 +36,7 @@ CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_CROSS_COMPILE=""
 # CONFIG_COMPILE_TEST is not set
-CONFIG_LOCALVERSION="-bone-rt-r17"
+CONFIG_LOCALVERSION="-bone-rt-r19"
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_HAVE_KERNEL_GZIP=y
 CONFIG_HAVE_KERNEL_LZMA=y
@@ -4135,7 +4135,6 @@ CONFIG_MMC=y
 CONFIG_MMC_BLOCK=y
 CONFIG_MMC_BLOCK_MINORS=8
 CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_MMC_SLOTINDEX=y
 CONFIG_SDIO_UART=m
 # CONFIG_MMC_TEST is not set
 

+ 0 - 66
board/GfA/Display001/linux_4.4.65_rt17/linux-003-emmc_enum.patch

@@ -1,66 +0,0 @@
-diff --git a/drivers/mmc/card/Kconfig b/drivers/mmc/card/Kconfig
-index 5562308..a9e9e53 100644
---- a/drivers/mmc/card/Kconfig
-+++ b/drivers/mmc/card/Kconfig
-@@ -50,6 +50,33 @@ config MMC_BLOCK_BOUNCE
- 
- 	  If unsure, say Y here.
- 
-+config MMC_SLOTINDEX
-+	bool "Use host index for enumerating mmxblkN"
-+	depends on MMC_BLOCK
-+	default n
-+	help
-+	 On embedded devices, often there is a combination of
-+	 removable mmc devices (e.g. MMC/SD cards) and hard  
-+	 wired ones (e.g. eMMC). Depending on the hardware   
-+	 configuration, the 'mmcblkN' node might change if   
-+	 the removable device is available or not at boot time.
-+	
-+	 E.g. if the removable device is attached at boot time,
-+	 it might become mmxblk0. And the hard wired one mmcblk1.
-+	 But if the removable device isn't there at boot time,   
-+	 the hard wired one will become mmcblk0. This makes it   
-+	 somehow difficult to hard code the root device to the   
-+	 non-removable device and boot fast.
-+	
-+	 Enabling this option will simply associating 'N' of
-+	 'mmcblkN' with the slot index instead of the dynamic
-+	 name index. The slot index is always the same, ensuring
-+	 that the non-removable mmc device is associated always 
-+	 with the same mmcblkN. Independent of the availability of
-+	 the removable one.
-+	
-+	 If unsure, say N here.
-+
- config SDIO_UART
- 	tristate "SDIO UART/GPS class support"
- 	depends on TTY
-diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
-index 553113e..2dbfdd8 100644
---- a/drivers/mmc/card/block.c
-+++ b/drivers/mmc/card/block.c
-@@ -2268,7 +2268,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
- 	 */
- 
- 	snprintf(md->disk->disk_name, sizeof(md->disk->disk_name),
--		 "mmcblk%u%s", md->name_idx, subname ? subname : "");
-+		 "mmcblk%u%s", NAMEIDX, subname ? subname : "");
- 
- 	if (mmc_card_mmc(card))
- 		blk_queue_logical_block_size(md->queue.queue,
-diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
-index 8673ffe..b54b32d 100644
---- a/include/linux/mmc/host.h
-+++ b/include/linux/mmc/host.h
-@@ -515,4 +515,10 @@ static inline void mmc_retune_recheck(struct mmc_host *host)
- 		host->retune_now = 1;
- }
- 
-+#ifdef CONFIG_MMC_SLOTINDEX
-+#define NAMEIDX (card->host->index)
-+#else
-+#define NAMEIDX (md->name_idx)
-+#endif
-+
- #endif /* LINUX_MMC_HOST_H */

+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-001-Bootlogo-GfA.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-001-Bootlogo-GfA.patch


+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-002-disa_pru_no_cild_msg.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-002-disa_pru_no_cild_msg.patch


+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-004-egalax_i2c_touchcontroller.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-004-egalax_i2c_touchcontroller.patch


+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-005-edt-ft5x06.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-005-edt-ft5x06.patch


+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-006-RS485_udelay_before_tx.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-006-RS485_udelay_before_tx.patch


+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-007-am33xx.dtsi_add_operating_points.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-007-am33xx.dtsi_add_operating_points.patch


+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-020-edt-touch-make-gain-offset-threshold-writeable.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-020-edt-touch-make-gain-offset-threshold-writeable.patch


+ 0 - 0
board/GfA/Display001/linux_4.4.65_rt17/linux-021-remove_endless_loop_in_rtc-ds1307_driver.patch → board/GfA/Display001/linux_4.4.94_rt19/linux-021-remove_endless_loop_in_rtc-ds1307_driver.patch


+ 34 - 0
board/GfA/Display001/rootfs/root/DisplayTo_15inch.sh

@@ -0,0 +1,34 @@
+#!/bin/sh
+umount /var/tmp/mnt 2> /dev/null
+rm -rf /var/tmp/mnt 2> /dev/null
+
+from=/var/tmp/mnt/Display001_15.dtb
+to=/var/tmp/mnt/Display001.dtb
+
+such="root=/dev/mmcblk1"
+grep -q $such /proc/cmdline
+if [ $? == 0 ]
+then
+	bootpart="/dev/mmcblk1p1"
+else
+	bootpart="/dev/mmcblk0p1"
+fi  
+
+echo "Bootpart == $bootpart"
+                
+mkdir /var/tmp/mnt
+mount $bootpart /var/tmp/mnt
+
+if [ -e $from ]
+then
+	echo "copy $from --> $to"
+	cp $from $to
+	sync
+	echo "pls. reboot !!"
+else
+	echo " no such file $from"
+fi
+
+umount /var/tmp/mnt 2> /dev/null
+rm -rf /var/tmp/mnt 2> /dev/null
+

+ 2 - 2
board/GfA/Display001/uboot_2013.10/uboot-001-Display001.patch

@@ -126,13 +126,13 @@
 +                "fatload mmc 0 0x80F00000 Display001.dtb; " \
 +                "fdt addr 0x80F00000; " \
 +                "setenv bootargs console=ttyO0,115200 " \
-+                        "root=/dev/mmcblk0p2 rw rootwait vram=50M; " \
++                        "root=/dev/mmcblk0p2 rw rootwait vram=50M cma=50M; " \
 +                "bootm 0x80200000 - 0x80F00000\0" \
 +        "emmcboot=fatload mmc 1 0x80200000 uImage; " \
 +                "fatload mmc 1 0x80F00000 Display001.dtb; " \
 +                "fdt addr 0x80F00000; " \
 +                "setenv bootargs console=ttyO0,115200 " \
-+                        "root=/dev/mmcblk1p2 rw rootwait vram=50M; " \
++                        "root=/dev/mmcblk1p2 rw rootwait vram=50M cma=50M; " \
 +                "bootm 0x80200000 - 0x80F00000\0" \
 +        "bootcmd=mw.l 0x80020000 0x0040033c; " \
 +	        "if cmp 0x80020000 0x44e10040 1; " \

+ 5 - 4
configs/Display001_4.4.65_rt17_Qt5.6.2_defconfig → configs/Display001_4.4.94_rt19_Qt5.6.2_defconfig

@@ -2,7 +2,7 @@ BR2_arm=y
 BR2_cortex_a8=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_DL_DIR="~/buildroot_dl"
-BR2_HOST_DIR="/opt/GfA/TC_L4465_C493_QT562"
+BR2_HOST_DIR="/opt/GfA/TC_L4494_C493_QT562"
 # BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
 BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
 BR2_KERNEL_HEADERS_4_4=y
@@ -30,14 +30,14 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="../GfA/board/GfA/Display001/post-build_4.4.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="file://$(TOPDIR)/../GfA/GfAkernel.tar.gz  "
-BR2_LINUX_KERNEL_PATCH="../GfA/board/GfA/Display001/linux_4.4.65_rt17"
+BR2_LINUX_KERNEL_PATCH="../GfA/board/GfA/Display001/linux_4.4.94_rt19"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="../GfA/board/GfA/Display001/Display001_4.4.65_rt_defconfig"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="../GfA/board/GfA/Display001/Display001_4.4.94_rt_defconfig"
 BR2_LINUX_KERNEL_UIMAGE=y
 BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
-BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="../GfA/board/GfA/Display001/DTS_4.4/Display001.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_rru.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_nopruss.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_gain1.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_5.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_4.dts"
+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="../GfA/board/GfA/Display001/DTS_4.4/Display001.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_15.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_rru.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_nopruss.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_gain1.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_5.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_4.dts"
 BR2_PACKAGE_BUSYBOX_CONFIG="../GfA/board/GfA/Display001/busybox.config"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_FFMPEG_GPL=y
@@ -294,6 +294,7 @@ BR2_PACKAGE_LIBGSASL=y
 BR2_PACKAGE_LIBIDN=y
 BR2_PACKAGE_LIBIDN_BINARY=y
 BR2_PACKAGE_LIBMBUS=y
+BR2_PACKAGE_LIBMODBUS=y
 BR2_PACKAGE_LIBPJSIP=y
 BR2_PACKAGE_LIBRSYNC=y
 BR2_PACKAGE_LIBSOUP=y