Difference between revisions of "IoTGateway/Features/Linux/Display"
Line 1: | Line 1: | ||
==Single Channel LVDS Panel== | ==Single Channel LVDS Panel== | ||
+ | ===IDK-1115R-40XGC1E=== | ||
+ | * u-boot | ||
+ | :specify the variable <code>bootargs_base</code> as below: | ||
+ | :<code>setenv bootargs_base 'setenv bootargs console=ttymxc0,115200 enable_wait_mode=off video=mxcfb0:dev=ldb,1024x768M@60,if=RGB24 ldb=sin0'</code> | ||
+ | |||
==Dual Channel LVDS Panel== | ==Dual Channel LVDS Panel== |
Revision as of 06:30, 11 August 2016
Contents
Single Channel LVDS Panel
IDK-1115R-40XGC1E
- u-boot
- specify the variable
bootargs_base
as below: setenv bootargs_base 'setenv bootargs console=ttymxc0,115200 enable_wait_mode=off video=mxcfb0:dev=ldb,1024x768M@60,if=RGB24 ldb=sin0'
Dual Channel LVDS Panel
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
Touchscreen Panel
E21D03U-C01-04 Irtouch-Dualtouch
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]
IDK-1105R-50VGA1E
- The following operations are performed using Linux BSP 4410LBV2080.
- u-boot
- apparently specify LDB-VGA in video item contained in the variable
bootargs_base
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200 enable_wait_mode=off video=mxcfb0:dev=ldb,LDB-VGA,if=RGB666'
- linux kernel
- in drivers/video/mxc/ldb.c, insert the following lines into
static struct struct fb_videomode ldb_modefb[]
(or modify the exist element contained "LDB-VGA") :
{
"LDB-VGA", 60, 640, 480, 39722,
50, 80,
24, 18,
30, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},