黑群l晖lcd4linux,LCD - linux-sunxi.org

本文详细介绍了Allwinner SoC如何输出LCD面板显示信号,并提供了从FEX文件到U-boot配置字符串的转换规则。内容包括分辨率、时钟频率、同步标志等关键参数的解析,并给出了一段Ruby脚本自动化转换FEX文件。此外,还列举了一些设备的U-boot LCD配置示例,用于展示不同设备的LCD设置和可能需要调整的参数。
摘要由CSDN通过智能技术生成

Allwinner SoCs can output display signals to LCD panels.

For devices with LCD displays, the resolution and timing values

can be found in the FEX file.

Software

Mainline U-Boot

Support for LCD displays is available in mainline U-boot, starting from release v2015.04.

FEX conversion rules

The timing definitions and values are slightly different from the FEX files.

The following is a translation table.

Value

CONFIG_DM_VIDEO

CONFIG_VIDEO_LCD_MODE

FEX file values

Notes

Horizontal resolution (pixels)

hactive

x

lcd_x

Vertical Resolution (pixels)

vactive

y

lcd_y

Color depth / format

data-mapping

depth

lcd_frm:0 => depth:24 (to be verified)

lcd_frm:1 => depth:18

Pixel Clock (KHz)

clock-frequency (Hz)

pclk_khz

lcd_dclk_freq * 1000

Horizontal Sync Length

hsync-len

hs

lcd_hv_hspw (with a minimum of 1)

Vertical Sync Length

vsync-len

vs

lcd_hv_vspw (with a minimum of 1)

Left Margin (Horizontal back porch)

hback-porch

le

lcd_hbp - hs

Right Margin (Horizontal front porch)

hfront-porch

ri

lcd_ht - lcd_x - lcd_hbp

Top Margin (Vertical back porch)

vback-porch

up

lcd_vbp - vs

Bottom Margin (Vertical front porch)

vfront-porch

lo

sun[457i]: (lcd_vt / 2) - lcd_y - lcd_vbp

sun8i: lcd_vt - lcd_y - lcd_vbp

u-boot SYNC flags

NA

sync:3

NA

u-boot VMODE flags

NA

vmode:0

NA

Mainline Linux (simple-panel)

Conversion from LCD timing from u-boot configuration string to struct drm_display_mode in mainline kernel:

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:18,pclk_khz:100000,le:799,ri:260,up:15,lo:16,hs:1,vs:1,sync:3,vmode:0"

static const struct drm_display_mode unknown_display = {

.clock = 100000, // pclk_khz (FEX: lcd_dclk_freq * 1000)

.hdisplay = 1024, // x (FEX: lcd_x)

.hsync_start = 1024 + 260, // x + ri

.hsync_end = 1024 + 260 + 1, // x + ri + hs

.htotal = 1024 + 260 + 1 + 799, // x + ri + hs + le (FEX: lcd_ht)

.vdisplay = 768, // y (FEX: lcd_y)

.vsync_start = 768 + 16, // y + lo

.vsync_end = 768 + 16 + 1, // y + lo + vs

.vtotal = 768 + 16 + 1 + 15, // y + lo + vs + up (FEX: lcd_vt / 2)

.vrefresh = 60, //

};

Example timing calculation from a INNOLUX EJ070NA-01J 7inch LVDS LCD datasheet (tested on DS167 board):

3d0b9ad8142f6620c91ae2630dbc1ccb.png

Corresponding u-boot configuration string:

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:51000,le:22,ri:297,up:1,lo:33,hs:1,vs:1,sync:3,vmode:0"

Note: Some values above such as pclk, le, ri,lo...etc have margins as seen from above datasheet. You may get perfectly fine picture if you set ri=296 instead of ri=297 here. You might experience visual artifacts if your settings are beyond defined limits in the datasheet.

Script for automated conversion

The following ruby script takes fex file name as a command line parameter and produces the corresponding config line for u-boot according to the rules from the table above.

Here is the ruby script (click on the 'Expand' link to see it):

#!/usr/bin/env ruby

if !ARGV[0] || !File.exists?(ARGV[0]) then

abort "Usage: ruby #{__FILE__} [fex_file_name]\n"

end

def parse_fex_section(filename, section)

results = {}

current_section = ""

File.open(filename).each_line {|l|

current_section = $1 if l =~ /^\[(.*?)\]/

next if current_section != section

results[$1] = $2.strip if l =~ /^(\S+)\s*\=\s*(.*)/

results[$1] = $2.to_i if l =~ /^(\S+)\s*\=\s*(\d+)\s*$/

}

return results

end

def print_video_lcd_mode(lcd0_para, vt_div)

x = lcd0_para["lcd_x"]

y = lcd0_para["lcd_y"]

depth = { 0 => 24, 1 => 18 }[lcd0_para["lcd_frm"]]

pclk_khz = lcd0_para["lcd_dclk_freq"] * 1000

hs = [1, (lcd0_para["lcd_hv_hspw"] || lcd0_para["lcd_hspw"])].max

vs = [1, (lcd0_para["lcd_hv_vspw"] || lcd0_para["lcd_vspw"])].max

le = lcd0_para["lcd_hbp"] - hs

ri = lcd0_para["lcd_ht"] - x - lcd0_para["lcd_hbp"]

up = lcd0_para["lcd_vbp"] - vs

lo = lcd0_para["lcd_vt"] / vt_div - y - lcd0_para["lcd_vbp"]

abort "Unsupported 'lcd_frm' parameter" if !depth

printf("CONFIG_VIDEO_LCD_MODE=\"" +

"x:#{x},y:#{y},depth:#{depth},pclk_khz:#{pclk_khz}," +

"le:#{le},ri:#{ri},up:#{up},lo:#{lo},hs:#{hs},vs:#{vs}," +

"sync:3,vmode:0\"\n")

end

lcd0_para = parse_fex_section(ARGV[0], "lcd0_para")

abort "Not a valid 'lcd0_para' section" if lcd0_para["lcd_used"] != 1

printf("== for sun[457]i ==\n")

print_video_lcd_mode(lcd0_para, 2)

printf("\n== for sun[68]i ==\n")

print_video_lcd_mode(lcd0_para, 1)

Dithering test program

If in doubt regarding 18-bit vs. 24-bit depth, it is possible to compile and run on the device the following simple test program. It should show a smooth gradient picture. If the gradient looks blocky, then the depth most likely needs to be changed to 18.

Here is the C source code (click on the 'Expand' link to see it):

/* gcc -O2 -o fbgradient fbgradient.c */

#include

#include

#include

#include

#include

#include

int main()

{

int fd, x, y;

uint32_t *fb;

struct fb_fix_screeninfo finfo;

struct fb_var_screeninfo vinfo;

if ((fd = open("/dev/fb0", O_RDWR)) == -1) {

printf("Can't open /dev/fb0\n");

return 1;

}

if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) {

printf("FBIOGET_FSCREENINFO failed\n");

return 1;

}

if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)) {

printf("FBIOGET_VSCREENINFO failed\n");

return 1;

}

if (vinfo.bits_per_pixel != 32) {

printf("Only 32bpp framebuffer is supported\n");

return 1;

}

fb = mmap(0, finfo.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

if (fb == (void *)-1) {

printf("mmap failed\n");

return 1;

}

for (y = 0; y < vinfo.yres; y++)

for (x = 0; x < vinfo.xres; x++)

fb[y * vinfo.xres + x] = (255 * x / vinfo.xres) * 0x000100 +

(255 * y / vinfo.yres) * 0x010001;

return 0;

}

Bulk automatic conversion of all FEX files from the sunxi-boards repository

The results of automatic FEX files conversion are listed in the table below. The CONFIG_VIDEO_LCD_MODE line should be accurate and calculated exactly as described in the first section of this page. But the GPIO settings need careful human review. "Green" settings are likely to be usable as-is. "Yellow" most definitely need some tweaks. "Orange" are impossible to support with the current u-boot code.SoC

Device info

FEX file

CONFIG_VIDEO_LCD_MODE u-boot settings

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:24,hs:30,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PB9"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:45000,le:150,ri:16,up:21,lo:2,hs:10,vs:2,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PB9"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PB9"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:600,depth:18,pclk_khz:40000,le:88,ri:40,up:19,lo:5,hs:128,vs:4,sync:3,vmode:0"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:45000,le:150,ri:16,up:21,lo:2,hs:10,vs:2,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:600,depth:18,pclk_khz:40000,le:88,ri:40,up:19,lo:5,hs:128,vs:4,sync:3,vmode:0"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:45000,le:150,ri:16,up:21,lo:2,hs:10,vs:2,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PB10"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PB10"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:39,ri:88,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:45000,le:150,ri:16,up:21,lo:2,hs:10,vs:2,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:40000,le:87,ri:112,up:38,lo:141,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:82,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:320,y:240,depth:24,pclk_khz:7000,le:38,ri:20,up:15,lo:4,hs:30,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH12"

CONFIG_VIDEO_LCD_BL_EN="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:30000,le:40,ri:40,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH12"

CONFIG_VIDEO_LCD_BL_EN="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:55000,le:100,ri:170,up:10,lo:15,hs:50,vs:10,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH12"

CONFIG_VIDEO_LCD_BL_EN="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:320,y:240,depth:24,pclk_khz:7000,le:38,ri:20,up:15,lo:4,hs:30,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH12"

CONFIG_VIDEO_LCD_BL_EN="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:30000,le:40,ri:40,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH12"

CONFIG_VIDEO_LCD_BL_EN="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:55000,le:100,ri:170,up:10,lo:15,hs:50,vs:10,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH12"

CONFIG_VIDEO_LCD_BL_EN="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:51000,le:45,ri:274,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH2"

CONFIG_VIDEO_LCD_BL_EN="PH9"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:51000,le:19,ri:300,up:6,lo:31,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

VIDEO_LCD_HITACHI_TX18D42VM=y

VIDEO_LCD_SPI_CS="PA0"

VIDEO_LCD_SPI_SCLK="PA1"

VIDEO_LCD_SPI_MOSI="PA2"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:214,ri:40,up:33,lo:11,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:600,depth:18,pclk_khz:45000,le:85,ri:170,up:38,lo:11,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:18,pclk_khz:100000,le:479,ri:544,up:5,lo:26,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:64000,le:198,ri:120,up:21,lo:15,hs:2,vs:2,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:45000,le:159,ri:16,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:42000,le:110,ri:386,up:22,lo:130,hs:48,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:39000,le:5,ri:83,up:20,lo:22,hs:40,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:40,ri:40,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:51000,le:45,ri:274,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH2"

CONFIG_VIDEO_LCD_BL_EN="PH9"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:18,pclk_khz:65000,le:120,ri:180,up:22,lo:13,hs:20,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:51000,le:138,ri:162,up:22,lo:10,hs:20,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1280,y:800,depth:18,pclk_khz:69000,le:19,ri:118,up:9,lo:6,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:52000,le:32,ri:287,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:51000,le:157,ri:160,up:20,lo:12,hs:3,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH11"

CONFIG_VIDEO_LCD_BL_EN="PH12"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:60000,le:60,ri:160,up:13,lo:12,hs:100,vs:10,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:210,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1366,y:768,depth:18,pclk_khz:70000,le:53,ri:20,up:22,lo:17,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:18,pclk_khz:100000,le:480,ri:260,up:6,lo:16,hs:320,vs:10,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:18,pclk_khz:100000,le:480,ri:260,up:6,lo:16,hs:320,vs:10,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:210,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:30000,le:45,ri:79,up:22,lo:13,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:18,pclk_khz:100000,le:480,ri:260,up:6,lo:16,hs:320,vs:10,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:82,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:210,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:2,ri:78,up:29,lo:13,hs:48,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="AXP0-0"

CONFIG_VIDEO_LCD_BL_EN="AXP0-1"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:24,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:63000,le:32,ri:287,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:1366,y:768,depth:18,pclk_khz:75000,le:12,ri:171,up:12,lo:25,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

# warning: contradicting 'lcd_pwm_used' and 'lcd_pwm_not_used'

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:65000,le:45,ri:82,up:22,lo:547,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PM1"

CONFIG_VIDEO_LCD_BL_PWM="PH13"

CONFIG_VIDEO_LCD_MODE="x:768,y:1024,depth:18,pclk_khz:66000,le:56,ri:60,up:30,lo:36,hs:64,vs:50,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

# warning: 'lcd_gpio_0' = 'port:PA06<1><0><1>'

# warning: 'lcd_gpio_1' = 'port:PA07<1><0><1>'

# warning: 'lcd_gpio_2' = 'port:PH24<1><0><0>'

# warning: 'lcd_gpio_3' = 'port:PA05<1><0><1>'

# warning: 'lcd_gpio_4' = 'port:PH23<1><0><0>'

# warning: 'lcd_gpio_5' = 'port:PH22<1><0><0>'

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:100000,le:799,ri:260,up:15,lo:16,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

# warning: unsupported 'lcd_lvds_mode' : 1

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PH6"

CONFIG_VIDEO_LCD_BL_PWM="PH0"

# warning: 'lcd_gpio_0' = 'port:PH07<1><0><1>'

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:167,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PH6"

CONFIG_VIDEO_LCD_BL_PWM="PH0"

# warning: 'lcd_gpio_0' = 'port:PH07<1><0><1>'

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PH6"

CONFIG_VIDEO_LCD_BL_PWM="PH0"

# warning: 'lcd_gpio_0' = 'port:PH07<1><0><1>'

CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:168,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PH6"

CONFIG_VIDEO_LCD_BL_PWM="PH0"

# warning: 'lcd_gpio_0' = 'port:PH07<1><0><1>'

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:51000,le:138,ri:162,up:22,lo:10,hs:20,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: contradicting 'lcd_pwm_used' and 'lcd_pwm_not_used'

CONFIG_VIDEO_LCD_MODE="x:1920,y:1080,depth:24,pclk_khz:148000,le:19,ri:260,up:19,lo:25,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

# warning: unsupported 'lcd_lvds_ch' : 1

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

CONFIG_VIDEO_LCD_MODE="x:768,y:1024,depth:18,pclk_khz:66000,le:56,ri:60,up:30,lo:36,hs:64,vs:50,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PA25"

CONFIG_VIDEO_LCD_BL_PWM="PH13"

# warning: 'lcd_gpio_0' = 'port:PH10<1><0><2><1>'

# warning: 'lcd_gpio_1' = 'port:PH11<1><0><2><1>'

# warning: 'lcd_gpio_2' = 'port:PA26<1><0><2><1>'

# warning: 'lcd_gpio_3' = 'port:PH09<1><0><2><1>'

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:66000,le:90,ri:160,up:3,lo:127,hs:70,vs:20,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PA25"

CONFIG_VIDEO_LCD_BL_PWM="PH13"

CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:24,pclk_khz:70000,le:120,ri:180,up:17,lo:15,hs:20,vs:3,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=0

CONFIG_VIDEO_LCD_PANEL_LVDS=y

# warning: could not decode 'lcd_power' (port:power2<1><0><1>)

CONFIG_VIDEO_LCD_BL_EN="PA25"

CONFIG_VIDEO_LCD_BL_PWM="PH13"

# warning: 'lcd_gpio_0' = 'port:PH10<1><0><2><1>'

# warning: 'lcd_gpio_1' = 'port:PH11<1><0><2><1>'

# warning: 'lcd_gpio_2' = 'port:PA23<1><0><2><0>'

# warning: 'lcd_gpio_3' = 'port:PH09<1><0><2><1>'

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:100000,le:799,ri:260,up:15,lo:16,hs:1,vs:1,sync:3,vmode:0"

CONFIG_VIDEO_LCD_PANEL_LVDS=y

# warning: unsupported 'lcd_lvds_mode' : 1

CONFIG_VIDEO_LCD_POWER="PH8"

CONFIG_VIDEO_LCD_BL_EN="PH7"

CONFIG_VIDEO_LCD_BL_PWM="PB2"

# warning: unsupported 'lcd_if' : 5 (LCD_IF_EDP)

LCD panel

LCD LVDS panels can be found on old notebook or desktop monitor.

Model

Inch

u-boot settings

QD17EL07

17"

CONFIG_VIDEO_LCD_MODE="x:1280,y:1024,depth:24,pclk_khz:108000,le:56,ri:60,up:29,lo:3,hs:10,vs:10,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=1

LTN150XB

15"

CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:18,pclk_khz:65000,le:88,ri:24,up:29,lo:3,hs:136,vs:6,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=1

B150XG01

LTD154EX0K

15" 16:9

CONFIG_VIDEO_LCD_MODE="x:1280,y:800,depth:18,pclk_khz:71100,le:88,ri:48,up:15,lo:2,hs:32,vs:6,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=1

HSD121PS11

12.1"

CONFIG_VIDEO_LCD_MODE="x:800,y:600,depth:18,pclk_khz:40000,le:88,ri:40,up:23,lo:1,hs:128,vs:4,sync:3,vmode:0"

CONFIG_VIDEO_LCD_DCLK_PHASE=1

Monitor with vertical size bigger 768 px and 24bit deep need u-boot patch to add lvds dual channel support.

Downloadable LCD panel datasheets

Some of the LCD panel web shops are kind enough to conveniently provide freely downloadable collections of datasheets:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值