Rk3288 Android5.1 HDMI 分辨

参考RK3288 HDMI增加特殊分辨率

EDID

1、修改文件,打开调试模式,得到 EDID 信息后,记得关闭

diff --git a/kernel/drivers/video/fbmon.c b/kernel/drivers/video/fbmon.c
index 6103fa6..ce9b11e 100755
--- a/kernel/drivers/video/fbmon.c
+++ b/kernel/drivers/video/fbmon.c
@@ -43,7 +43,8 @@
  * EDID parser
  */
 
-#undef DEBUG  /* define this for verbose EDID parsing output */
+//#undef DEBUG  /* define this for verbose EDID parsing output */
+#define DEBUG
 
 #ifdef DEBUG
 #define DPRINTK(fmt, args...) printk(fmt,## args)
=======================================
[    1.131925] Display Information (EDID)
[    1.131936] ========================================
[    1.131946]    EDID Version 1.3
[    1.131956]    Manufacturer: ADA
[    1.131965]    Model: 4
[    1.131973]    Serial#: 1
[    1.131983]    Year: 2007 Week 1
[    1.131992]    Display Characteristics:
[    1.132002]       Monitor Operating Limits:    Detailed Timings
[    1.132020]       50 MHz 1024 1064 1112 1152 600 613 616 645 -HSync -VSync

[    1.132042]    Supported VESA Modes
[    1.132054]       Manufacturer's mask: 0
[    1.132063]    Standard Timings
[    1.132074] Extrapolated
[    1.132086]            H: 43-43KHz V: 67-67Hz DCLK: 50MHz
[    1.132095]       Digital Display Input
      Sync: 
[    1.132112]       Max H-size in cm: 15
[    1.132123]       Max V-size in cm: 10
[    1.132132]       Gamma: 1.0
[    1.132146]       DPMS: Active no, Suspend no, Standby no
[    1.132156]       RGB Color Display
[    1.132164]       Chroma
[    1.132173]          RedX:     0.000 RedY:     0.000
[    1.132185]          GreenX:   0.000 GreenY:   0.000
[    1.132197] usb20_host: version 3.10a 21-DEC-2012
[    1.132208]          BlueX:    0.000 BlueY:    0.000
[    1.132219]          WhiteX:   0.000 WhiteY:   0.000
[    1.132230]       First DETAILED Timing is preferred
[    1.132241]    Detailed Timings
[    1.132251]       50 MHz 1024 1064 1112 1152 600 613 616 645 -HSync -VSync

[    1.132272]    Supported VESA Modes
[    1.132281]       Manufacturer's mask: 0
[    1.132290]    Standard Timings
[    1.132299] ========================================
[    1.132315] rockchip-hdmiv2 ff980000.hdmi: warning: no CEA video mode parsed from EDID !!!!

Detailed Timings 是主要的 LCD 参数,Supported VESA Modes 是 LCD 支持的分辨率。

通过源码查看各参数的含义:

路径:kernel/drivers/video/fbmon.c

DPRINTK("      %d MHz ",  PIXEL_CLOCK/1000000);
DPRINTK("%d %d %d %d ", H_ACTIVE, H_ACTIVE + H_SYNC_OFFSET, H_ACTIVE + H_SYNC_OFFSET + H_SYNC_WIDTH, H_ACTIVE + H_BLANKING);
DPRINTK("%d %d %d %d ", V_ACTIVE, V_ACTIVE + V_SYNC_OFFSET, V_ACTIVE + V_SYNC_OFFSET + V_SYNC_WIDTH, V_ACTIVE + V_BLANKING);
DPRINTK("%sHSync %sVSync\n\n", (HSYNC_POSITIVE) ? "+" : "-", (VSYNC_POSITIVE) ? "+" : "-");

dts

由此可以得到 LCD 的各参数:
50 MHz 1024 1064 1112 1152 600 613 616 645 -HSync -VSync

50M = PIXEL_CLOCK = pixclock //148
1024= H_ACTIVE = xres //1920
1064= H_ACTIVE + H_SYNC_OFFSET = xres + h_bp = 1024+ 40 ///??? //2008 = 1820 + 188
1112= H_ACTIVE + H_SYNC_OFFSET + H_SYNC_WIDTH = xres + h_bp + h_pw = 1024+40 + 48 //2052= 1820 + 188+44
1152= H_ACTIVE + H_BLANKING = xres + h_bp + h_fp + h_pw = 1024 + 40 + 40+48// 2200 = 1820+188+44+148
600 = V_ACTIVE = yres //1080
613 = V_ACTIVE + V_SYNC_OFFSET = yres + v_bp = 600 + 13 //1084 = 1080 +4
616= V_ACTIVE + V_SYNC_OFFSET + V_SYNC_WIDTH = yres + v_bp + v_pw = 600 + 13 + 3 // 1089 = 1080 +4 +5
645= V_ACTIVE + V_BLANKING = yres + v_bp + v_fp + v_pw = 600 + 28 + 13 + 4 //1125 = 1080 +4 +5 + 36
+HSync = HSYNC_POSITIVE
+VSync = VSYNC_POSITIVE

===>

       timing0: timing0 {
        clock-frequency = <40000000>;
		hactive = <1024>;
		vactive = <600>;
		hback-porch = <40>;
		hfront-porch = <48>;
		vback-porch = <28>;
		vfront-porch = <13>;
		hsync-len = <40>;
		vsync-len = <4>;
		hsync-active = <0>;
		vsync-active = <0>;
		de-active = <0>;
		pixelclk-active = <0>;//1

		swap-rb = <0>;
		swap-rg = <0>;
		swap-gb = <0>;
             	};

hdmi

3、在枚举中增加此分辨率,枚举值为 108,并修改默认分辨率
/* name refresh xres yres pixclock h_bp h_fp v_bp v_fp h_pw v_pw polariry PorI flag vic 2ndvic pixelrepeat interface */
diff --git a/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi.h b/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi.h
index b5475e4…f31f5b9 100755

--- a/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi.h
+++ b/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi.h

/* HDMI default vide mode */
- #define HDMI_VIDEO_DEFAULT_MODE                       HDMI_1920X1080P_60HZ
+ #define HDMI_VIDEO_DEFAULT_MODE                 HDMI_1024X600P_60HZ

@@ -129,6 +129,7 @@ enum hdmi_video_infomation_code {
HDMI_3840X2160P_30HZ_4_3, /*105*/
HDMI_3840X2160P_50HZ_4_3,
HDMI_3840X2160P_60HZ_4_3,
+ HDMI_1024X600P_60HZ, /*108*/
};

/* HDMI Extended Resolution */
@@ -474,7 +475,7 @@ struct hdmi {
#define HDMI_AUTO_CONFIG false

/* HDMI default vide mode */
-#define HDMI_VIDEO_DEFAULT_MODE HDMI_1920X1080P_60HZ//HDMI_1280X720P_60HZ
+#define HDMI_VIDEO_DEFAULT_MODE HDMI_800X600P_60HZ//HDMI_1920X1080P_60HZ//HDMI_1280X720P_60HZ
/*HDMI_1920X1080P_60HZ*/
#define HDMI_VIDEO_DEFAULT_COLORMODE HDMI_COLOR_AUTO
#define HDMI_VIDEO_DEFAULT_COLORDEPTH 8

4、将屏参数据添加到数组 static const struct hdmi_video_timing hdmi_mode[] 中

/* name refresh xres yres pixclock h_bp h_fp v_bp v_fp h_pw v_pw polariry PorI flag vic 2ndvic pixelrepeat interface /
/
名称 刷新频率 行像素 列像素 像素时钟 水平后沿 水平前沿 垂直后沿 垂直前沿 行同步脉宽 列同步脉宽 极性 扫描方式 标志 枚举值 第二枚举值 像素重复 接口*/
diff --git a/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c b/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c
index 63a5cfb…0f920c2 100755

--- a/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c
+++ b/kernel/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c
@@ -7,6 +7,7 @@ static const struct hdmi_video_timing hdmi_mode[] = {
    { {    "720x576i@50Hz",    50,    720,    576,    27000000,    69,    12,    19,    2,    63,    3,            0,                1,    0    },    21,    HDMI_720X576I_50HZ_16_9,    2,    OUT_P888},
    { {    "720x480p@60Hz",    60,    720,    480,    27000000,    60,    16,    30,    9,    62,    6,            0,                0,    0    },    2,     HDMI_720X480P_60HZ_16_9,    1,    OUT_P888},
    { {    "720x576p@50Hz",    50,    720,    576,    27000000,    68,    12,    39,    5,    64,    5,            0,                0,    0    },    17,    HDMI_720X576P_50HZ_16_9,    1,    OUT_P888},
+{ {	"1024X600p@60Hz",	60,	1024,	600,	40000000,	128,	88,	72,	8,	88,	10,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	102,	0,				1,	OUT_P888},
    { {    "1280x720p@24Hz",   24,    1280,   720,    59400000,    220,   1760,  20,    5,    40,    5,    FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,    0,    0}, 60,  HDMI_1280X720P_24HZ_4_3, 1,  OUT_P888},
    { {    "1280x720p@25Hz",   25,    1280,   720,    74250000,    220,   2420,  20,    5,    40,    5,    FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,    0,    0}, 61,  HDMI_1280X720P_25HZ_4_3, 1,  OUT_P888},
    { {    "1280x720p@30Hz",   30,    1280,   720,    74250000,    220,   1760,  20,    5,    40,    5,    FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,    0,    0}, 62,  HDMI_1280X720P_30HZ_4_3, 1,  OUT_P888},

polariry:水平同步高电平有效和垂直同步高电平有效

PorI:0 为不是隔行扫描。定义文件路径:/kernel/include/uapi/linux/fb.h

flag:不知道什么意思

vic:在分辨率枚举中的编号,本次添加的为 108

5、此时 HDMI 可以正常输入 1024x600 的分辨率,但是实际显示可能有问题。

根据显示器的 EDID 修改 dts 中加载的屏参文件,修改值与添加到 HDMI 数组中的相同。

diff --git a/kernel/arch/arm/boot/dts/lcd-800x600.dtsi b/kernel/arch/arm/boot/dts/lcd-800x600.dtsi
index c0baf15…733a157 100755

--- a/kernel/arch/arm/boot/dts/lcd-800x600.dtsi
+++ b/kernel/arch/arm/boot/dts/lcd-800x600.dtsi
@@ -15,12 +15,12 @@
                                clock-frequency = <40000000>;
-                               hactive = <1920>;
-                               vactive = <1080>; 
-                               hback-porch = <126>;
-                               hfront-porch = <120>;
-                               vback-porch = <10>;
-                               vfront-porch = <10>;
-                               hsync-len = <10>;
-                               vsync-len = <8>;
+                               hactive = <1024>;
+                               vactive = <600>; 
+                               hback-porch = <128>;
+                               hfront-porch = <88>;
+                               vback-porch = <23>;
+                               vfront-porch = <1>;
+                               hsync-len = <128>;
+                               vsync-len = <4>;
                                hsync-active = <0>;  
                                vsync-active = <0>;
                                de-active = <0>;

指令

6、编译烧录,HDMI 显示正常,确认当前分辨率可以在设置 -> HDMI ->分辨率设置中查看,也可以通过指令查看。

$ cat /sys/class/display/HDMI/mode

在dts中写分辨率 发现 图标变了。。

问题

现在 lvds 和 hdmi 共用 参数 (不对)——
不能显示 EDID信息了。

[   69.221697] ========================================
[   69.272773] hdmi output corlor mode is 3
[   69.272799] hdmi connect to lcdc1
[   69.272814] switch:en=1,lcdc_id=1,screen type=6,cur type=6
[   69.469815] rk3288_load_screen,clk_on = 0
[   69.469873] rk3288-lcdc lcdc1: lcdc1: dclk:148500000>>fps:60 
[   69.469882] rk3288-lcdc lcdc1: wakeup from standby!
[   69.568459] pixel clk is 148500000 tmds clk is 148500000
[   69.568514] rockchip-hdmiv2 ff980000.hdmi: [hdmi_dev_config_video] sucess output HDMI.
[   69.571702] rk_iommu ff940300.vopl_mmu: rockchip_iommu_attach_device: Attached new IOMMU with pgtable 0x1eaa9000
[   72.314076] hdmi remove from lcdc1
[   72.314135] switch:en=0,lcdc_id=1,screen type=6,cur type=6
[   72.511080] rk3288-lcdc lcdc1: no layer is used,go to standby!
[   72.536902] suspend_flag=1
[   72.562607] rk3288-lcdc lcdc0: blank mode:4
[   72.579822] rk3288_lcdc_set_overscan,clk_on = 0
[   72.579991] suspend_flag=1
[   72.595828] rk3288_lcdc_set_overscan,clk_on = 0
[   72.596091] suspend_flag=1
[   89.076051] DVFS WARNING:    clk_enable_dvfs: clk(aclk_vio1) freq table all value are smaller than default(594000), use default, just enable dvfs
[   89.076308] rk_iommu ff930300.vopb_mmu: rockchip_iommu_attach_device: Attached new IOMMU with pgtable 0x1eaa6000
[   89.076325] rk3288-lcdc lcdc0: blank mode:0
[   89.081104] --11
[   89.118359] hdmi->edidread:1========================================
[   89.162749] Display Information (EDID)
[   89.162757] ========================================
[   89.162766]    EDID Version 1.3
[   89.162774]    Manufacturer: AOC
[   89.162781]    Model: 2401
[   89.162788]    Serial#: 75731
[   89.162795]    Year: 2018 Week 23
[   89.162802]    Serial Number: GMXJ6HA075731
[   89.162810]    Monitor Name: 24B1W
[   89.162817]    Display Characteristics:
[   89.162824]       Monitor Operating Limits: From EDID
[   89.162836]            H: 30-83KHz V: 50-76Hz DCLK: 170MHz
[   89.162843]       Digital Display Input
      Sync: 
[   89.162855]       Max H-size in cm: 52
[   89.162863]       Max V-size in cm: 29
[   89.162871]       Gamma: 2.20
[   89.162880]       DPMS: Active yes, Suspend no, Standby no
[   89.162888]       RGB Color Display
[   89.162894]       Chroma
[   89.162901]          RedX:     0.650 RedY:     0.333
[   89.162910]          GreenX:   0.318 GreenY:   0.616
[   89.162919]          BlueX:    0.148 BlueY:    0.052
[   89.162928]          WhiteX:   0.313 WhiteY:   0.329
[   89.162936]       First DETAILED Timing is preferred
[   89.162946]    Detailed Timings
[   89.162954]       148 MHz 1920 2008 2052 2200 1080 1084 1089 1125 +HSync +VSync

[   89.162970]    Supported VESA Modes
[   89.162979]       720x400@70Hz
[   89.162986]       640x480@60Hz
[   89.162994]       640x480@67Hz
[   89.163001]       640x480@72Hz
[   89.163007]       640x480@75Hz
[   89.163013]       800x600@56Hz
[   89.163020]       800x600@60Hz
[   89.163026]       800x600@72Hz
[   89.163032]       800x600@75Hz
[   89.163040]       832x624@75Hz
[   89.163046]       1024x768@60Hz
[   89.163053]       1024x768@70Hz
[   89.163059]       1024x768@75Hz
[   89.163065]       1280x1024@75Hz
[   89.163073]       Manufacturer's mask: 0
[   89.163079]    Standard Timings
[   89.163087]       1920x1080@60Hz
[   89.163097]       1680x1050@60Hz
[   89.163106]       1440x900@60Hz
[   89.163115]       1280x1024@60Hz
[   89.163122]       1280x960@60Hz
[   89.163129]       1280x720@60Hz
[   89.163140] ========================================
[   89.211521] hdmi output corlor mode is 3
[   89.211538] hdmi connect to lcdc1
[   89.211548] switch:en=1,lcdc_id=1,screen type=6,cur type=6
[   89.408386] rk3288_load_screen,clk_on = 0
[   89.408440] rk3288-lcdc lcdc1: lcdc1: dclk:148500000>>fps:60 
[   89.408448] rk3288-lcdc lcdc1: wakeup from standby!
[   89.507017] pixel clk is 148500000 tmds clk is 148500000
[   89.507071] rockchip-hdmiv2 ff980000.hdmi: [hdmi_dev_config_video] sucess output HDMI.
[   89.510241] rk_iommu ff940300.vopl_mmu: rockchip_iommu_attach_device: Attached new IOMMU with pgtable 0x1eaa9000

android5.1设置默认开机横屏
2017年3月16日 16:40 阅读 3016 新浪博客
1、进入framework/base/core/res/res/values/config.xml
修改config_lidOpenRotation = 0 ;----> config_lidOpenRotation = 90 ;
2、进入framework/base/services/core/java/com/android/server/wm/WindowMangerService.java
修改int mRotation = 0 ;-----> int mRotation = 1 ;
3、进入framework/base/services/surfaceflinger/DisplayDevice.cpp
修改setProjection(Displaystate::eOrientationDefault, mViewprot ,mFrame )------>
setProjection( Displaystate::eOrientation90 ,mViewprot , mFrame )
编译成功刷入系统会出现开机动画部分只显示3/4解决方案如下:
1、进入framework/base/cmds/bootanimation/BootAnimation.cpp
修改status_t BootAnimation::readyToRun函数中的
spcontrol=session()- >createsurface(String8(“BootAnimation”),dinfo.w,dinfo.h.PIXEL_FORMAT_RGB_565);
为:
spcontrol=session()- >createsurface(String8"BootAnimation"),dinfo.h,dinfo.w.PIXEL_FORMAT_RGB_565);
2、进入/framework/native/services/surfaceflinger/DisplayDevice.cpp
修改函数 void DisplayDevice::setProjection(intorientation, conts Rect&newViewport,constRect&newFrame)中
if(!frame.isValid()){
frame = Rect(w,h);----->frame = Rect(h,w);
}
在Transform R; 下面添加
orientation = DisplayState::eorientation90;
3、进入/framework/native/services/surfaceflinger/surfaceFlinger.cpp
修改函数voidSurfaceFlinger::onInitializeDisplay()中:
d.orientation = DisplayState::eOrientationDefault ;----->d.orientation=DisplayState::eOrientatio90;
最后编译生成镜像,问题解决。

// 只能保证横屏 转成竖屏出问题(有一半黑)logo 没变过来。
vim out/target/product/rk3288_box/system/build.prop

ro.sf.hwrotation=90

=======================================
[ 271.776237] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.792897] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.809802] hdmi output corlor mode is 3
[ 271.809809] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.809828] hdmi connect to lcdc1
[ 271.809837] switch:en=1,lcdc_id=1,screen type=6,cur type=6
[ 271.826377] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.843108] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.859846] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.876525] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.893517] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.910198] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.926920] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.943798] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.960497] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.976996] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 271.993747] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.008766] rk3288_load_screen,clk_on = 0
[ 272.008841] rk3288-lcdc lcdc1: lcdc1: dclk:148500000>>fps:60
[ 272.008850] rk3288-lcdc lcdc1: wakeup from standby!
[ 272.010451] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.027283] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.043831] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.060597] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.077299] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.094060] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.110714] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.114856] pixel clk is 148500000 tmds clk is 148500000
[ 272.114937] rockchip-hdmiv2 ff980000.hdmi: [hdmi_dev_config_video] sucess output HDMI.
[ 272.127719] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.144237] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.160983] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.177760] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.194505] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.211452] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.227961] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.229876] rk_iommu ff940300.vopl_mmu: rockchip_iommu_attach_device: Attached new IOMMU with pgtable 0x1eac0000
[ 272.244685] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.261428] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.278170] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.295058] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.311788] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.328704] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.345234] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.361763] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.378508] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.395448] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.412406] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.428753] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.445498] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.462233] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.478972] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.495688] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.512463] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.529123] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.545933] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.562603] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.579310] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.596062] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.612829] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.629438] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.646184] @@@@@@@@@@@@pwm_backlight_power_on@@@@@@@@@@@
[ 272.931864] lowmemorykiller: Killing ‘d.process.acore’ (1896), adj 529,
[ 272.931864] to free 28396kB on behalf of ‘kswapd0’ (75) because
[ 272.931864] cache 109112kB is below limit 110592kB for oom_score_adj 117
[ 272.931864] Free memory is -9116kB above reserved
[ 272.931996] lowmemorykiller: Killing ‘Heap thread poo’ (1902), adj 529,
[ 272.931996] to free 28648kB on behalf of ‘kswapd0’ (75) because
[ 272.931996] cache 109112kB is below limit 110592kB for oom_score_adj 117
[ 272.931996] Free memory is -9116kB above reserved
[ 272.937547] lowmemorykiller: Killing ‘Heap thread poo’ (1903), adj 529,
[ 272.937547] to free 28916kB on behalf of ‘kswapd0’ (75) because
[ 272.937547] cache 103040kB is below limit 110592kB for oom_score_adj 117
[ 272.937547] Free memory is -2296kB above reserved
[ 273.493506] lowmemorykiller: Killing ‘android.smspush’ (1916), adj 58,
[ 273.493506] to free 17728kB on behalf of ‘kswapd0’ (75) because
[ 273.493506] cache 90992kB is below limit 92160kB for oom_score_adj 58
[ 273.493506] Free memory is -11284kB above reserved
[ 273.497161] lowmemorykiller: Killing ‘Heap thread poo’ (1921), adj 58,
[ 273.497161] to free 17940kB on behalf of ‘kswapd0’ (75) because
[ 273.497161] cache 87680kB is below limit 92160kB for oom_score_adj 58
[ 273.497161] Free memory is -9616kB above reserved
[ 273.525647] lowmemorykiller: Killing ‘droid.launcher3’ (1878), adj 0,
[ 273.525647] to free 34900kB on behalf of ‘kswapd0’ (75) because
[ 273.525647] cache 73144kB is below limit 73728kB for oom_score_adj 0
[ 273.525647] Free memory is -5264kB above reserved
[ 273.690870] lowmemorykiller: Killing ‘d.process.acore’ (1940), adj 0,
[ 273.690870] to free 19060kB on behalf of ‘kswapd0’ (75) because
[ 273.690870] cache 73696kB is below limit 73728kB for oom_score_adj 0
[ 273.690870] Free memory is -12820kB above reserved
[ 273.799352] lowmemorykiller: Killing ‘droid.launcher3’ (1961), adj 0,
[ 273.799352] to free 17404kB on behalf of ‘kswapd0’ (75) because
[ 273.799352] cache 70016kB is below limit 73728kB for oom_score_adj 0
[ 273.799352] Free memory is -8312kB above reserved
[ 273.897770] lowmemorykiller: Killing ‘d.process.acore’ (1979), adj 0,
[ 273.897770] to free 19740kB on behalf of ‘kswapd0’ (75) because
[ 273.897770] cache 71428kB is below limit 73728kB for oom_score_adj 0
[ 273.897770] Free memory is -9100kB above reserved
[ 274.344775] lowmemorykiller: Killing ‘droid.launcher3’ (2015), adj 0,
[ 274.344775] to free 25448kB on behalf of ‘kswapd0’ (75) because
[ 274.344775] cache 72468kB is below limit 73728kB for oom_score_adj 0
[ 274.344775] Free memory is -4024kB above reserved
[ 274.354789] lowmemorykiller: Killing ‘d.process.acore’ (1997), adj 0,
[ 274.354789] to free 22640kB on behalf of ‘kswapd0’ (75) because
[ 274.354789] cache 72468kB is below limit 73728kB for oom_score_adj 0
[ 274.354789] Free memory is -4536kB above reserved
[ 274.811967] lowmemorykiller: Killing ‘droid.launcher3’ (2037), adj 0,
[ 274.811967] to free 26352kB on behalf of ‘kswapd0’ (75) because
[ 274.811967] cache 68604kB is below limit 73728kB for oom_score_adj 0
[ 274.811967] Free memory is -12236kB above reserved
[ 274.815040] lowmemorykiller: Killing ‘d.process.acore’ (2055), adj 0,
[ 274.815040] to free 25068kB on behalf of ‘kswapd0’ (75) because
[ 274.815040] cache 68420kB is below limit 73728kB for oom_score_adj 0
[ 274.815040] Free memory is -12144kB above reserved
[ 274.890181] binder: release 2055:2072 transaction 42562 in, still active
[ 274.890201] binder: send failed reply for transaction 42562 to 601:1083
[ 275.087217] lowmemorykiller: Killing ‘droid.launcher3’ (2076), adj 0,
[ 275.087217] to free 25244kB on behalf of ‘kswapd0’ (75) because
[ 275.087217] cache 69052kB is below limit 73728kB for oom_score_adj 0
[ 275.087217] Free memory is -12060kB above reserved
[ 275.186075] lowmemorykiller: Killing ‘d.process.acore’ (2094), adj 0,
[ 275.186075] to free 25284kB on behalf of ‘kswapd0’ (75) because
[ 275.186075] cache 72180kB is below limit 73728kB for oom_score_adj 0
[ 275.186075] Free memory is -11076kB above reserved
[ 275.254264] binder: 601:1083 transaction failed 29189, size 392-4
[ 275.418005] lowmemorykiller: Killing ‘re-initialized>’ (2115), adj 0,
[ 275.418005] to free 15068kB on behalf of ‘kswapd0’ (75) because
[ 275.418005] cache 73652kB is below limit 73728kB for oom_score_adj 0
[ 275.418005] Free memory is -9148kB above reserved
[ 276.798969] lowmemorykiller: Killing ‘d.process.acore’ (2133), adj 529,
[ 276.798969] to free 28616kB on behalf of ‘kswapd0’ (75) because
[ 276.798969] cache 98968kB is below limit 110592kB for oom_score_adj 117
[ 276.798969] Free memory is -6912kB above reserved
[ 276.824204] binder: 2133: binder_alloc_buf, no vma
[ 276.824246] binder: 459:911 transaction failed 29201, size 76-0
[ 276.846353] binder: 2133: binder_alloc_buf, no vma
[ 276.846381] binder: 601:1091 transaction failed 29201, size 392-4
[ 276.932479] lowmemorykiller: Killing ‘droid.launcher3’ (2151), adj 0,
[ 276.932479] to free 36144kB on behalf of ‘kswapd0’ (75) because
[ 276.932479] cache 71164kB is below limit 73728kB for oom_score_adj 0
[ 276.932479] Free memory is -6684kB above reserved
[ 277.563770] lowmemorykiller: Killing ‘droid.launcher3’ (2179), adj 0,
[ 277.563770] to free 32836kB on behalf of ‘kswapd0’ (75) because
[ 277.563770] cache 69876kB is below limit 73728kB for oom_score_adj 0
[ 277.563770] Free memory is -9672kB above reserved
[ 277.564155] lowmemorykiller: Killing ‘ReferenceQueueD’ (2190), adj 0,
[ 277.564155] to free 32924kB on behalf of ‘kswapd0’ (75) because
[ 277.564155] cache 69876kB is below limit 73728kB for oom_score_adj 0
[ 277.564155] Free memory is -9672kB above reserved
[ 277.625426] binder: undelivered transaction 44429
[ 282.637578] lowmemorykiller: Killing ‘acenter:service’ (2202), adj 0,
[ 282.637578] to free 15216kB on behalf of ‘kswapd0’ (75) because
[ 282.637578] cache 72384kB is below limit 73728kB for oom_score_adj 0
[ 282.637578] Free memory is 5188kB above reserved
[ 282.838920] lowmemorykiller: Killing ‘droid.launcher3’ (2220), adj 0,
[ 282.838920] to free 24592kB on behalf of ‘surfaceflinger’ (160) because
[ 282.838920] cache 64816kB is below limit 73728kB for oom_score_adj 0
[ 282.838920] Free memory is -8448kB above reserved
[ 282.845352] lowmemorykiller: Killing ‘d.process.acore’ (2239), adj 0,
[ 282.845352] to free 16384kB on behalf of ‘kswapd0’ (75) because
[ 282.845352] cache 61688kB is below limit 73728kB for oom_score_adj 0
[ 282.845352] Free memory is -2436kB above reserved
[ 283.809551] lowmemorykiller: Killing ‘d.process.acore’ (2275), adj 529,
[ 283.809551] to free 28128kB on behalf of ‘kswapd0’ (75) because
[ 283.809551] cache 64564kB is below limit 73728kB for oom_score_adj 0
[ 283.809551] Free memory is -12124kB above reserved
[ 283.809970] lowmemorykiller: Killing ‘FinalizerWatchd’ (2288), adj 529,
[ 283.809970] to free 28576kB on behalf of ‘kswapd0’ (75) because
[ 283.809970] cache 64564kB is below limit 73728kB for oom_score_adj 0
[ 283.809970] Free memory is -12248kB above reserved
[ 283.813221] lowmemorykiller: Killing ‘GCDaemon’ (2290), adj 529,
[ 283.813221] to free 28576kB on behalf of ‘kswapd0’ (75) because
[ 283.813221] cache 64380kB is below limit 73728kB for oom_score_adj 0
[ 283.813221] Free memory is -12000kB above reserved
[ 283.825161] lowmemorykiller: Killing ‘droid.launcher3’ (2257), adj 0,
[ 283.825161] to free 32912kB on behalf of ‘kswapd0’ (75) because
[ 283.825161] cache 62724kB is below limit 73728kB for oom_score_adj 0
[ 283.825161] Free memory is -5924kB above reserved
[ 284.455722] lowmemorykiller: Killing ‘droid.launcher3’ (2301), adj 0,
[ 284.455722] to free 32792kB on behalf of ‘kswapd0’ (75) because
[ 284.455722] cache 73172kB is below limit 73728kB for oom_score_adj 0
[ 284.455722] Free memory is -15564kB above reserved
[ 284.513479] binder: release 2301:2301 transaction 45975 out, still active
[ 284.829504] binder: 459:774 transaction failed 29189, size 8-0
[ 284.829537] binder: send failed reply for transaction 45975, target dead
[ 285.272035] lowmemorykiller: Killing ‘d.process.acore’ (2324), adj 0,
[ 285.272035] to free 14940kB on behalf of ‘kswapd0’ (75) because
[ 285.272035] cache 73224kB is below limit 73728kB for oom_score_adj 0
[ 285.272035] Free memory is -6076kB above reserved
[ 285.807955] lowmemorykiller: Killing ‘droid.launcher3’ (2342), adj 0,
[ 285.807955] to free 30416kB on behalf of ‘kswapd0’ (75) because
[ 285.807955] cache 67684kB is below limit 73728kB for oom_score_adj 0
[ 285.807955] Free memory is -10904kB above reserved
[ 285.816230] lowmemorykiller: Killing ‘d.process.acore’ (2360), adj 0,
[ 285.816230] to free 25160kB on behalf of ‘kswapd0’ (75) because
[ 285.816230] cache 65844kB is below limit 73728kB for oom_score_adj 0
[ 285.816230] Free memory is -3800kB above reserved
[ 285.881318] binder: release 2360:2377 transaction 46918 in, still active
[ 285.881356] binder: send failed reply for transaction 46918 to 601:1085
[ 285.881419] binder: undelivered transaction 46964
[ 285.881427] binder: undelivered transaction 47071
[ 286.036730] lowmemorykiller: Killing ‘re-initialized>’ (2387), adj 0,
[ 286.036730] to free 15124kB on behalf of ‘kswapd0’ (75) because
[ 286.036730] cache 72468kB is below limit 73728kB for oom_score_adj 0
[ 286.036730] Free memory is -9344kB above reserved
[ 286.142458] lowmemorykiller: Killing ‘d.process.acore’ (2405), adj 0,
[ 286.142458] to free 20424kB on behalf of ‘kswapd0’ (75) because
[ 286.142458] cache 73204kB is below limit 73728kB for oom_score_adj 0
[ 286.142458] Free memory is -8684kB above reserved
[ 286.146275] lowmemorykiller: Killing ‘Heap thread poo’ (2410), adj 0,
[ 286.146275] to free 20632kB on behalf of ‘kswapd0’ (75) because
[ 286.146275] cache 73572kB is below limit 73728kB for oom_score_adj 0
[ 286.146275] Free memory is -10776kB above reserved
[ 286.253169] lowmemorykiller: Killing ‘droid.launcher3’ (2423), adj 0,
[ 286.253169] to free 18456kB on behalf of ‘kswapd0’ (75) because
[ 286.253169] cache 73204kB is below limit 73728kB for oom_score_adj 0
[ 286.253169] Free memory is -10644kB above reserved
[ 286.260911] lowmemorykiller: Killing ‘re-initialized>’ (2441), adj 0,
[ 286.260911] to free 14376kB on behalf of ‘kswapd0’ (75) because
[ 286.260911] cache 73204kB is below limit 73728kB for oom_score_adj 0
[ 286.260911] Free memory is -9720kB above reserved
[ 286.324244] binder: undelivered transaction 47558
[ 286.450669] lowmemorykiller: Killing ‘d.process.acore’ (2459), adj 0,
[ 286.450669] to free 15096kB on behalf of ‘kswapd0’ (75) because
[ 286.450669] cache 73204kB is below limit 73728kB for oom_score_adj 0
[ 286.450669] Free memory is -8328kB above reserved
[ 286.547526] lowmemorykiller: Killing ‘droid.launcher3’ (2478), adj 0,
[ 286.547526] to free 18348kB on behalf of ‘kswapd0’ (75) because
[ 286.547526] cache 72652kB is below limit 73728kB for oom_score_adj 0
[ 286.547526] Free memory is -10064kB above reserved
[ 287.486448] lowmemorykiller: Killing ‘droid.launcher3’ (2520), adj 0,
[ 287.486448] to free 32836kB on behalf of ‘kswapd0’ (75) because
[ 287.486448] cache 65028kB is below limit 73728kB for oom_score_adj 0
[ 287.486448] Free memory is -9728kB above reserved
[ 287.486798] lowmemorykiller: Killing ‘GCDaemon’ (2535), adj 0,
[ 287.486798] to free 33108kB on behalf of ‘kswapd0’ (75) because
[ 287.486798] cache 65028kB is below limit 73728kB for oom_score_adj 0
[ 287.486798] Free memory is -9728kB above reserved
[ 287.486936] lowmemorykiller: Killing ‘d.process.acore’ (2502), adj 0,
[ 287.486936] to free 27656kB on behalf of ‘kswapd0’ (75) because
[ 287.486936] cache 65028kB is below limit 73728kB for oom_score_adj 0
[ 287.486936] Free memory is -9728kB above reserved
[ 287.554555] binder: release 2502:2518 transaction 47988 in, still active
[ 287.554573] binder: send failed reply for transaction 47988 to 601:1085
[ 287.849044] lowmemorykiller: Killing ‘droid.launcher3’ (2549), adj 0,
[ 287.849044] to free 18464kB on behalf of ‘kswapd0’ (75) because
[ 287.849044] cache 72648kB is below limit 73728kB for oom_score_adj 0
[ 287.849044] Free memory is -9628kB above reserved
[ 287.949843] lowmemorykiller: Killing ‘d.process.acore’ (2567), adj 0,
[ 287.949843] to free 20424kB on behalf of ‘kswapd0’ (75) because
[ 287.949843] cache 72832kB is below limit 73728kB for oom_score_adj 0
[ 287.949843] Free memory is -9764kB above reserved
[ 288.146005] lowmemorykiller: Killing ‘d.process.acore’ (2586), adj 0,
[ 288.146005] to free 19756kB on behalf of ‘kswapd0’ (75) because
[ 288.146005] cache 73200kB is below limit 73728kB for oom_score_adj 0
[ 288.146005] Free memory is -11580kB above reserved
[ 288.148793] lowmemorykiller: Killing ‘Heap thread poo’ (2592), adj 0,
[ 288.148793] to free 19968kB on behalf of ‘kswapd0’ (75) because
[ 288.148793] cache 71544kB is below limit 73728kB for oom_score_adj 0
[ 288.148793] Free memory is -9968kB above reserved
[ 288.480572] lowmemorykiller: Killing ‘droid.launcher3’ (2604), adj 0,
[ 288.480572] to free 31488kB on behalf of ‘kswapd0’ (75) because
[ 288.480572] cache 71360kB is below limit 73728kB for oom_score_adj 0
[ 288.480572] Free memory is -11524kB above reserved
[ 288.482433] lowmemorykiller: Killing ‘Heap thread poo’ (2605), adj 0,
[ 288.482433] to free 31864kB on behalf of ‘kswapd0’ (75) because
[ 288.482433] cache 70072kB is below limit 73728kB for oom_score_adj 0
[ 288.482433] Free memory is -10408kB above reserved
[ 288.852468] lowmemorykiller: Killing ‘d.process.acore’ (2623), adj 529,
[ 288.852468] to free 27968kB on behalf of ‘kswapd0’ (75) because
[ 288.852468] cache 78996kB is below limit 92160kB for oom_score_adj 58
[ 288.852468] Free memory is -22736kB above reserved
[ 288.855166] lowmemorykiller: Killing ‘ContactsProvide’ (2644), adj 529,
[ 288.855166] to free 28484kB on behalf of ‘kswapd0’ (75) because
[ 288.855166] cache 77708kB is below limit 92160kB for oom_score_adj 58
[ 288.855166] Free memory is -21296kB above reserved
[ 288.859613] lowmemorykiller: Killing ‘CallLogProvider’ (2645), adj 529,
[ 288.859613] to free 28488kB on behalf of ‘kswapd0’ (75) because
[ 288.859613] cache 74948kB is below limit 92160kB for oom_score_adj 58
[ 288.859613] Free memory is -18388kB above reserved

有一例子
814.192892] Detailed Timings
[ 814.192928] 148 MHz 1920 2008 2052 2200 1080 1084 1089 1125 +HSync +VSync

 

```go
 timing0: timing0 {
            clock-frequency = <148000000>
			hactive = <1920>;
			vactive = <1080>;
			hback-porch = <188>;
			hfront-porch = <148>;
			vback-porch = <4>;
			vfront-porch = <36>;
			hsync-len = <144>;
			vsync-len = <5>;
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <0>;
			pixelclk-active = <0>;//1

			swap-rb = <0>;
			swap-rg = <0>;
			swap-gb = <0>;
                 	};

问题分析

1.dts 中

&disp_timings {
	native-mode = <&timing0>;
};

&rk_screen {
	 display-timings = <&disp_timings>;
};

起了什么作用???

2:日志中的警告
[ 343.785823] win[2]->area[0],not support scale
[ 343.785840] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 343.785855] win[3]->area[0],not support scale
[ 343.785865] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 343.807494] win[3]->area[0],not support scale
[ 343.807513] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 346.283482] win[3]->area[0],not support scale
[ 346.283638] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 397.747633] win[3]->area[0],not support scale
[ 397.747722] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 400.217010] win[3]->area[0],not support scale
[ 400.217158] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 456.795239] win[3]->area[0],not support scale
[ 456.795303] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 459.267814] win[3]->area[0],not support scale
[ 459.267959] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 515.828683] win[3]->area[0],not support scale
[ 515.828752] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 518.301043] win[3]->area[0],not support scale
[ 518.301213] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 574.859786] win[3]->area[0],not support scale
[ 574.859852] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 577.333932] win[3]->area[0],not support scale
[ 577.334093] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 633.916118] win[3]->area[0],not support scale
[ 633.916210] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 636.384758] win[3]->area[0],not support scale
[ 636.384910] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 692.998565] win[3]->area[0],not support scale
[ 692.998632] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 695.472655] win[3]->area[0],not support scale
[ 695.472826] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 751.981070] win[3]->area[0],not support scale
[ 751.981135] xact=1920,yact=1080,xsize=3600,ysize=1944
[ 754.451245] win[3]->area[0],not support scale
[ 754.451399] xact=1920,yact=1080,xsize=3600,ysize=1944

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值