|
|
Line 28: |
Line 28: |
| | [http://www.irtouch.com/en/index.php?a=servicecon&oneid=350&id=84 E21D03U-C01-04 Irtouch-Dualtouch] || [[Touchscreen|Touchscreen ]] || 21.5" 4:3, Dual-Touch, USB interface | | | [http://www.irtouch.com/en/index.php?a=servicecon&oneid=350&id=84 E21D03U-C01-04 Irtouch-Dualtouch] || [[Touchscreen|Touchscreen ]] || 21.5" 4:3, Dual-Touch, USB 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 *
| |
− | <small>
| |
− | &ldb {
| |
− | ext_ref = "true";
| |
− | status = "okay";
| |
− | split-mode; /* dual-channel setting */</small>
| |
− |
| |
− | Step2: In lvds-channel@1, change [crtc = "ipu1-di1";] to [crtc = "ipu1-di0";]
| |
− | <small>
| |
− | lvds-channel@1 {
| |
− | fsl,data-mapping = "spwg";
| |
− | fsl,data-width = <24>;
| |
− | /* crtc = "ipu1-di1"; */
| |
− | crtc = "ipu1-di0"; /* dual-channel setting */
| |
− | status = "okay";</small>
| |
− |
| |
− | Step3: In display-timings native-mode = <&timing0>, Delete the other panel parameter.Add" LTI370LN01 " Parameter
| |
− | <small>//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>;
| |
− | };</small>
| |
− |
| |
− | Calculating Timings parameter
| |
− | Check your panel Timing table
| |
− | Example : samsung 37 inch panel
| |
− | :[[Image:Timing lvds.png|500px]]
| |
− | :[[Image:Timing lvds2.png|300px]]
| |
− |
| |
− | (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]
| |
− | <small>
| |
− | (1) Download IRTOUCH driver ([[Media:Irtouch-dualtouch-package-android-v14.2.0.0002.7z|Irtouch-dualtouch-package-android-v14.2.0.0002.7z]])
| |
− | (2) Download IRTOUCH SWAP mode tool ([[Media:Swapmode.7z|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</small>
| |
− |
| |
− | eGTouch touch panel [Android 4.2 ~ Android 4.4]
| |
− | <small>
| |
− | (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]
| |
− | </small>
| |