Prechádzať zdrojové kódy

BUILD 705, Display timings 4.3inch neu und alt, sollte "Ameisenkrieg" beheben

Reinhard Russinger 7 mesiacov pred
rodič
commit
de86d2a401

+ 1 - 1
board/GfA/Display001/BUILD

@@ -1 +1 @@
-704
+705

+ 2 - 2
board/GfA/Display001/DTS_4.4/Display001_4.dts

@@ -272,7 +272,7 @@
                 dma-burst-sz      = <16>; 
                 bpp               = <32>; 
                 fdd               = <0x80>;
-                sync-edge         = <0>;   
+                sync-edge         = <1>;   
                 sync-ctrl         = <1>;   
                 raster-order      = <0>;   
                 fifo-th           = <0>;   
@@ -292,7 +292,7 @@
                         clock-frequency = <9000000>;
                         hsync-active    = <0>;
                         vsync-active    = <0>;
-                        de-active       = <1>;
+			de-active       = <0>;
                         pixelclk-active = <1>;
                 };
         };

+ 7 - 7
board/GfA/Display001/DTS_4.4/Display001_4_2020.dts

@@ -282,16 +282,16 @@
                 480x272 {
                         hactive         = <480>;
                         vactive         = <272>;
-                        hback-porch     = <2>;
-                        hfront-porch    = <2>;
-                        hsync-len       = <41>;
-                        vback-porch     = <2>;
-                        vfront-porch    = <2>;
-                        vsync-len       = <10>;
+                        hback-porch     = <39>;
+                        hfront-porch    = <8>;
+                        hsync-len       = <4>;
+                        vback-porch     = <8>;
+                        vfront-porch    = <8>;
+                        vsync-len       = <4>;
                         clock-frequency = <9000000>;
                         hsync-active    = <0>;
                         vsync-active    = <0>;
-                        de-active       = <1>;
+                        de-active       = <0>;
                         pixelclk-active = <0>;
                 };
         };

+ 2 - 2
board/GfA/Display001/DTS_4.4/Display001_4_nopruss.dts

@@ -272,7 +272,7 @@
                 dma-burst-sz      = <16>; 
                 bpp               = <32>; 
                 fdd               = <0x80>;
-                sync-edge         = <0>;   
+                sync-edge         = <1>;   
                 sync-ctrl         = <1>;   
                 raster-order      = <0>;   
                 fifo-th           = <0>;   
@@ -292,7 +292,7 @@
                         clock-frequency = <9000000>;
                         hsync-active    = <0>;
                         vsync-active    = <0>;
-                        de-active       = <1>;
+                        de-active       = <0>;
                         pixelclk-active = <1>;
                 };
         };

+ 370 - 0
board/GfA/Display001/DTS_4.4/Display001_4_nopruss_2020.dts

@@ -0,0 +1,370 @@
+/*
+ * 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 */
+				>;
+				};
+
+		timer4_pins: pinmux_timer4_pins {
+	                 pinctrl-single,pins = <
+	                     0x090 (PIN_INPUT | MUX_MODE7)  /* gpmc_advn_ale.timer4 gpio2_2 */
+                >;
+                };
+
+		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_MODE7) /* spi0_cs0.uart0_txd */ 
+			0x1a4 (PIN_OUTPUT | MUX_MODE7)		/* mcasp0_fsr.gpio3.19 */
+                	>;
+                };
+};
+
+&timer7 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&timer7_pins>; 
+	status = "okay";
+};
+
+&timer4 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&timer4_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 {
+        polytouch: edt-ft5x06@38 {
+                compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
+                reg = <0x38>;
+                pinctrl-names = "default";
+                pinctrl-0 = <&edt_ft5x06_pins>;
+                interrupt-parent = <&gpio2>;
+                interrupts = <1 8>;
+                reset-gpios = <&gpio3 21 1>;
+        };
+
+        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         = <1>;   
+                sync-ctrl         = <1>;   
+                raster-order      = <0>;   
+                fifo-th           = <0>;   
+                invert-pxl-clk    = <1>;   
+                };
+
+        display-timings {
+                480x272 {
+                        hactive         = <480>;
+                        vactive         = <272>;
+                        hback-porch     = <39>;
+                        hfront-porch    = <8>;
+                        hsync-len       = <4>;
+                        vback-porch     = <8>;
+                        vfront-porch    = <8>;
+                        vsync-len       = <4>;
+                        clock-frequency = <9000000>;
+                        hsync-active    = <0>;
+                        vsync-active    = <0>;
+                        de-active       = <0>;
+                        pixelclk-active = <0>;
+                };
+        };
+  };
+};
+
+/*
+&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>;
+	has-hw-flow-control;
+        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_4_nopruss_2020.dtb";
+                display_physical_width = "96"; /* in mm */
+		display_physical_height = "55"; /* in mm */
+	};
+};

+ 3 - 3
board/GfA/Display001/DTS_4.4/Display002_4.dts

@@ -266,7 +266,7 @@
                 dma-burst-sz      = <16>; 
                 bpp               = <32>; 
                 fdd               = <0x80>;
-                sync-edge         = <0>;   
+                sync-edge         = <1>;   
                 sync-ctrl         = <1>;   
                 raster-order      = <0>;   
                 fifo-th           = <0>;   
@@ -283,10 +283,10 @@
                         vback-porch     = <2>;
                         vfront-porch    = <2>;
                         vsync-len       = <10>;
-                        clock-frequency = <9000000>;
+                        clock-frequency = <12000000>;
                         hsync-active    = <0>;
                         vsync-active    = <0>;
-                        de-active       = <1>;
+                        de-active       = <0>;
                         pixelclk-active = <1>;
                 };
         };

+ 439 - 0
board/GfA/Display001/DTS_4.4/Display002_4_2020.dts

@@ -0,0 +1,439 @@
+/*
+ * 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 */
+			>;
+		};
+
+              	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 */
+                        >;
+
+		};
+
+               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 */
+				>;
+				};
+
+		timer4_pins: pinmux_timer4_pins {
+                        pinctrl-single,pins = <
+                               0x090 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_advn_ale.timer4 */
+				>;
+				};
+
+		timer5_pins: pinmux_timer5_pins {
+                        pinctrl-single,pins = <
+                               0x09c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_ben0_cle.timer5 */
+				>;
+				};
+
+		di_pins_default: pinmux_di_pins_default {
+                        pinctrl-single,pins = < 
+                        0x070 (PIN_INPUT | MUX_MODE7)  /* gpmc_wait0.uart4_rxd */
+                        0x074 (PIN_INPUT | MUX_MODE7)  /* gpmc_wpn.uart4_txd */ 
+                        0x158 (PIN_INPUT | MUX_MODE7)  /* spi0_d1.uart0_rxd */
+                        0x15c (PIN_INPUT | MUX_MODE7)  /* spi0_cs0.uart0_txd */ 
+                	>;
+		};
+
+
+};
+
+&timer7 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&timer7_pins>; 
+	status = "okay";
+};
+
+&timer4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&timer4_pins>; 
+	status = "okay";
+};
+
+&timer5 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&timer5_pins>; 
+	status = "okay";
+};
+
+&i2c2 {
+    pinctrl-names = "default";
+    pinctrl-0 = <&i2c2_pins>;
+    status = "okay";
+    clock-frequency = <400000>;
+};
+
+
+&i2c2 {
+        polytouch: edt-ft5x06@38 {
+                compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
+                reg = <0x38>;
+                pinctrl-names = "default";
+                pinctrl-0 = <&edt_ft5x06_pins>;
+                interrupt-parent = <&gpio2>;
+                interrupts = <1 0>;
+                reset-gpios = <&gpio3 21 1>;
+        };
+
+        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>;
+        };
+*/
+
+	gpio_gfa: gpio_gfa@0 {
+		compatible = "fairchild,74hc595";
+		reg = <0>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		registers-number = <1>;
+		spi-max-frequency = <1000000>;
+	};
+
+
+	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         = <1>;   
+                sync-ctrl         = <1>;   
+                raster-order      = <0>;   
+                fifo-th           = <0>;   
+                invert-pxl-clk    = <1>;   
+                };
+
+        display-timings {
+                480x272 {
+                        hactive         = <480>;
+                        vactive         = <272>;
+                        hback-porch     = <39>;
+                        hfront-porch    = <8>;
+                        hsync-len       = <4>;
+                        vback-porch     = <8>;
+                        vfront-porch    = <8>;
+                        vsync-len       = <4>;
+                        clock-frequency = <9000000>;
+                        hsync-active    = <0>;
+                        vsync-active    = <0>;
+                        de-active       = <0>;
+                        pixelclk-active = <0>;
+                };
+        };
+   };
+};
+
+/*
+&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>;
+};
+
+
+&uart1 {
+	pinctrl-names = "default", "sleep";
+        pinctrl-0 = <&uart1_pins_default>;
+        pinctrl-1 = <&uart1_pins_sleep>;
+	has-hw-flow-control;
+        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>;
+        };
+
+        pwm4: dmtimer-pwm@4 {
+                compatible = "ti,omap-dmtimer-pwm";
+                ti,timers = <&timer4>;
+                #pwm-cells = <3>;
+        };
+
+        pwm5: dmtimer-pwm@5 {
+                compatible = "ti,omap-dmtimer-pwm";
+                ti,timers = <&timer5>;
+                #pwm-cells = <3>;
+        };
+
+	pwmleds {
+		compatible = "pwm-leds";
+		gfa-backlight { 
+			pwms = <&pwm4 0 1000000 0>;
+			label = "backlight";
+			max-brightness = <255>;
+		};
+
+		gfa-leds { 
+			pwms = <&pwm5 0 1000000 0>;
+			label = "led_brightness";
+			max-brightness = <255>;
+		};
+	};
+
+
+	gfa_panel_leds {
+		compatible = "gpio-leds";
+
+		led0 {
+			label = "GfA-LED0";
+			gpios = <&gpio_gfa 0 0>;
+			linux,default-trigger = "default-on";
+		};
+
+		led1 {
+			label = "GfA-LED1";
+			gpios = <&gpio_gfa 1 0>;
+			linux,default-trigger = "mmc1";
+		};
+
+		led2 {
+			label = "GfA-LED2";
+			gpios = <&gpio_gfa 2 0>;
+			linux,default-trigger = "heartbeat";
+		};
+
+
+	};
+
+               gpio_keys {
+                        compatible = "gpio-keys";
+                        pinctrl-names = "default";
+                        pinctrl-0 = <&di_pins_default>;
+
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+
+                        button@1 {
+                                debounce_interval = <50>;
+                                linux,code = <60>;
+                                label = "F2";
+                                gpios = <&gpio0 30 0x0>;
+                                gpio-key,wakeup;
+                        };
+                        button@2 {
+                                debounce_interval = <50>;
+                                linux,code = <59>;
+                                label = "F1";
+                                gpios = <&gpio0 31 0x0>;
+                                gpio-key,wakeup;
+                        };
+                        button@3 {
+                                debounce_interval = <50>;
+                                linux,code = <62>;
+                                label = "F4";
+                                gpios = <&gpio0 5 0x0>;
+                                gpio-key,wakeup;
+                        };
+                        button@4 {
+                                debounce_interval = <50>;
+                                linux,code = <61>;
+                                label = "F3";
+                                gpios = <&gpio0 4 0x0>;
+                                gpio-key,wakeup;
+                        };
+                };
+};
+
+/ {
+	vendorinfo { 
+		vendor_name = "GfA Display002";
+		display_dtb = "Display002_4_2020.dtb";
+		display_physical_width = "96"; /* in mm */
+		display_physical_height = "55"; /* in mm */
+	};
+};

+ 34 - 0
board/GfA/Display001/rootfs/root/Display2To_4_3inch_2020.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/Display002_4_2020.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
+

+ 34 - 0
board/GfA/Display001/rootfs/root/DisplayTo_4_3inch_nopruss_2020.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_4_nopruss_2020.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
+

+ 1 - 1
configs/Display001_4.4.145_bone23_Qt5.7_defconfig

@@ -37,7 +37,7 @@ 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_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 ../GfA/board/GfA/Display001/DTS_4.4/Display002_7_rs485.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10_30Hz.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_30Hz.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_2020.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_10_30Hz.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_cape.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10_i2chid.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_784_rs485.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_i2c2.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_bitbang.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_4_nopruss_2020.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 ../GfA/board/GfA/Display001/DTS_4.4/Display002_4_2020.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_7_rs485.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10_30Hz.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_30Hz.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_2020.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_10_30Hz.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_cape.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10_i2chid.dts ../GfA/board/GfA/Display001/DTS_4.4/Display002_784_rs485.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_i2c2.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_bitbang.dts"
 BR2_PACKAGE_BUSYBOX_CONFIG="../GfA/board/GfA/Display001/busybox.config"
 BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
 BR2_PACKAGE_FFMPEG_GPL=y