【Allwinner T113-i】OK113i-S development board - suitable for 10-inch LCD display
[Copy link]
Preface
This article introduces how to adapt a 10-inch LCD to the OK113i-S development board.
OK113i-S is an excellent development board, supporting LVDS single 8, dual 8 display, maximum resolution 1280x800
It also supports RG666 display. Since I only have a LVDS single 8, 40pin display, I will adapt this LCD display today.
display effect
Equipment wiring
My adapter board consists of two parts, the left one is the touch cable, and the right one is the screen cable. The touch debugging can be found in another article. Here we only talk about the screen adaptation; as can be seen from the picture, the 40pin cable of the LCD screen is converted to 20pin through the adapter board and connected to the motherboard.
First, according to the motherboard instructions, the LVDS interface information, the motherboard is LVDS dual 8 signals, I only have a screen with LVDS interface here, and the rest of the other projects are LVDS single 8 signals, which need some modifications. The screen is a 10-inch 40pinLVDS single 8 interface. The 40pinLVDS interface only has 20 interface lines through the adapter board. The following is the key information.
Mainboard LCD interface information
LCD LVDS 40PIN interface information
Interface board interface information definition
What we need to do is to connect the motherboard interface to the 20-pin adapter board and adjust the line sequence of the cable. The specific steps are as follows
Screen Interface Manual
Code adaptation modification
First find the kernel's device tree files OK113i-C-Linux.dts and OK113i-C-Common.dtsi
There are link files with the same name in the Device/config/chips/t113_i/config/ok113i/ directory, all pointing to the same file
According to the screen manual, find the key parameters of the screen, as shown below
Default is the original content, 1024x600 is my screen resolution, there are many parameters here, the specific description is as follows: We only care about a few here
/////////////////////////////////////////
Lcd_if: HV mode, see lcd screen description
lcd_lvds_if: 0:single link; 1:dual link
lcd_lvds_mode: 0:NS mode; 1:JEIDA mode; here is the JEIDA display sequence
Lcd_x Resolution x
Lcd_y Resolution y
Lcd_width Physical size
Lcd_height Physical size
lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
lcd_ht: hsync total cycle(pixel)
lcd_vbp: vsync back porch(line) + vysnc plus width(line)
lcd_vt: vysnc total cycle(line)
lcd_hspw: hsync plus width(pixel)
lcd_vspw: vysnc plus width(pixel)
/////////////////////////////////////// ///
The UBOOT configuration file is here:
kernel/linux-5.4/arch/arm/boot/dts/uboot-board-lvds.dts
Here you can see other configuration files for different screens, according to my screen type lvds, uboot-board-lvds.conf;
After modification, modify the compilation options in ./build.sh and re-burn.
Finally, let's take a screenshot.
Use this command to take a screenshot of ok113-Screen.bmp
root@ok113i:/# echo 0 >/sys/class/disp/disp/attr/disp
root@ok113i:/# echo /home/forlinx/ok113-Screen.bmp >/sys/class/disp/disp/attr/
conclusion of issue:
1 Before buidl, you need to compile the whole system. If you have any questions, you can ask in the group.
2 Before buidl, clean the kernel to reduce the problem of ineffectiveness after modification.
3 If the modification does not take effect, you need to check the default options of UBOOT startup.
Appendix
Kernel configuration file
Compiled LCD support kernel
Compiled LCD support system image
|