IoTGateway/BSP/Android/Features/Display
Contents
Recommended Display Module List
Module Name | type | Description |
---|---|---|
96LEDK-A070WV35NB1 | single | 7" Color TFT-LCD Panel, 800 x 480 |
96LEDK-A121XG50NE1 | single | 12.1" Color TFT-LCD Panel, 1024 x 768 |
CHIMEI INNOLUX M185BGE | single | 18.5" Color TFT-LCD Panel, 1366 x 768 |
AUO M240HW01-VB | single | 24" Color TFT-LCD Panel, 1920 x 1080, Dual channels |
IDK-1107WR-40WVA1E | single | 7" 800x480 LVDS 400nits -20~70℃ LED 6/8-bit with 4-wire Resistive Touch Display Kit |
IDK-1115R-40XGC1E | single | LCD DISPLAY, 15" LED panel 1024x768(G) with 5W R-touch |
DK-1115P-40XGC1E | single | 15" 1024x768 LVDS 400nits -20 to +70℃ LED 50K Projective Capacitive Touch Display Kit |
DK-1121WR-30FHA1E | single | 21.5” 1920x1080 LVDS 300nits 0~60℃ LED with 5-wire Touch Display Kit |
IDS-3112EN-45SVA1E | single | 12" SVGA 450nits Open Frame Monitor |
IDS-3112N-45SVA1E | single | 12" 800 x 600, LED Slim Open Frame Monitor with VGA/DVI Interface |
samsung-LTI370N01 Display | Dual channel | 37" 1920×540, TFT-LCD, LVDS (2ch,10-bit)Interface |
Dual Channel LVDS Display
Calculating Timings parameter of LVDS Panel SOP OS: Yocto 1.8 Modify imx6qdl-advantech.dtsi Step1: In ldb parameter, add parameter --> split-mode; /* dual-channel setting *
&ldb { ext_ref = "true"; status = "okay"; split-mode; /* dual-channel setting */
Step2: In lvds-channel@1, change [crtc = "ipu1-di1";] to [crtc = "ipu1-di0";]
lvds-channel@1 { fsl,data-mapping = "spwg"; fsl,data-width = <24>; /* crtc = "ipu1-di1"; */ crtc = "ipu1-di0"; /* dual-channel setting */ status = "okay";
Step3: In display-timings native-mode = <&timing0>, Delete the other panel parameter.Add" LTI370LN01 " Parameter
//Dual channel panel timing0: lti370ln01 { clock-frequency = <148500000>; hactive = <1920>; vactive = <544>; hback-porch = <70>; hfront-porch = <70>; vback-porch = <200>; vfront-porch = <200>; hsync-len = <140>; vsync-len = <185>; };
Calculating Timings parameter Check your panel Timing table Example : samsung 37 inch panel
(1)clock-frequency --> Clock (MHz)
(2)hactive --> Horizontal Active Display Period
(3)vactive --> Vertical Active Display Period
(4)hback-porch + hfront-porch + hsync-len (Total) = Blanking = Horizontal Total - Horizontal Active Display Period
(5)vback-porch + vfront-porch + vsync-len (Total) = Blanking = Vertical Total - Vertical Active Display Period
Single Channel LVDS Display
Touch Screen Panel
IRTOUCH panel [Android 4.4]
(1) Download IRTOUCH driver (Irtouch-dualtouch-package-android-v14.2.0.0002.7z) (2) Download IRTOUCH SWAP mode tool (Swapmode.7z) (3) Swap mode You need to check and swap IRTOUCH 0X80. Please install SWAP mode tool in win7. Run SwapModeTool.exe and choose IRTOUCH 0X80. (4) Installing the IRTOUCH Dual-touch Touchscreen Driver (a) irtouchusb-dt.c locate to kernel_imx/driver/input/touchscreen; (b) modify Makefile in kernel_imx/driver/input/touchscreen add: "obj-$(CONFIG_TOUCHSCREEN_USBIRTOUCH_DT) += irtouchusb-dt.o" (c) modify Kconfig in kernel_imx/driver/input/touchscreen add: config TOUCHSCREEN_USBIRTOUCH_DT tristate "IRTOUCH USB Touchscreen Driver For single point" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you have a IRTOUCH based touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called irtouch. (d) You can make menuconfig select TOUCHSCREEN_USBIRTOUCH_DT and build kernel Modify defconfig CONFIG_TOUCHSCREEN_USBIRTOUCH_DT=y example : imx6_rsb4410_android_kk44_defconfig (e) Add one line to Android file system's ueventd.rc: File path : device/fsl/imx6/etc/ueventd.freescale.rc /dev/irtouch 0666 root root (f) Copy "Vendor_6615_Product_0081.idc" and "Vendor_6615_Product_0080.idc" file to the Android file system's /usr/idc directory. (5) Calibration the Touchscreen Install CalibrationTools.apk and run "CalibrationTools" to start calibrate touchscreen. package name:com.irtouch.android.calibration class name: CalibrationToolsActivity
eGTouch touch panel [Android 4.2 ~ Android 4.4]
(1) Add "eGalaxCalibrator" PRODUCK PACKAGES in device/fsl/imx6/iMX6.mk (2) Add eGtouch file path in device/fsl/imx6/iMX6.mk device/fsl/common/input/eGTouch_v2.5.2320.A/eGalaxTouch_VirtualDevice.idc:system/usr/idc/eGalaxTouch_VirtualDevice.idc \ device/fsl/common/input/eGTouch_v2.5.2320.A/eGTouchA.ini:data/eGTouchA.ini \ device/fsl/common/input/eGTouch_v2.5.2320.A/eGTouchD:system/bin/eGTouchD \ (3) Add eGtouch idc and ini file in device/fsl/imx6/BoardConfigCommon.mK BOARD_USERDATAIMAGE_PARTITION_SIZE := 128M device/fsl/common/input/eGTouch_v2.5.2320.A/eGTouchA.ini device/fsl/common/input/eGTouch_v2.5.2320.A/eGTouchD device/fsl/common/input/eGTouch_v2.5.2320.A/eGalaxTouch_VirtualDevice.idc (4) Add service about eGTouch in device/fsl/rsb_4410/init.rc service eGTouchD /system/bin/eGTouchD class main user root group root oneshot [Android 4.2 and 4.4 MP version is include eGTouch function]