瑞芯微Rockchip开发者社区
直播中

abdkjshd

8年用户 1135经验值
擅长:可编程逻辑
私信 关注
[问答]

如何去实现RK3288的edp主屏与lvds副屏的双屏异显设计

如何去实现RK3288的edp主屏与lvds副屏的双屏异显设计?

回帖(1)

王波

2022-3-3 15:53:58
  1 找到在要编译的rk3288-evb-android-rk808-edp.dts
  调试思路先将edp和lvd的配置其dts分别点亮后,最后将两个屏幕的dts合
  在rk3288-evb- android-rk808-edp.dts中添加最终的edp屏和lvds屏的dts配置如下:
  。。。。。。。。。。
  //为edp start添加《《《
  &edp {
  status = “okay”;
  };
  &edp_phy {
  状态=“好的”;
  };
  &route_edp {
  status = “好的”;
  };
  //rk3288 有两路通道vopb(4K) vopl(2K) ,这里异显设vopb通道是edp,vopl通道是lvds
  &edp_in_vopb {
  status = “okay”;
  };
  &edp_in_vopl {
  状态=“禁用”;
  };
  &edp_panel {
  // 兼容 = “simple-panel”;
  // 背光 = 《&backlight》; //这里异显如果发光,只需要配置一个发光
  power-supply = 《&vcc_lcd》;
  状态=“好的”;
  disp_timings: display-timings {
  native-mode = 《&edp_panel_name》;
  edp_panel_name:timing0 {
  时钟频率 = 《158000000》;
  hactive = 《1920》;
  活跃 = 《1080》;
  hfront-porch = 《48》;
  hsync-len = 《4》;
  hback-porch = 《310》;
  vfront-porch = 《3》;
  vsync-len = 《4》;
  hsync-active = 《0》;
  垂直同步主动 = 《0》;
  停用 = 《0》;
  像素clk-active = 《0》;
  };
  };
  };
  // 添加 edp end 》》》
  // 添加用于 lvds start 《《《
  &route_lvds {
  status = “okay”;
  };
  &lvds {
  状态=“好的”;
  };
  //rk3288 有两路通道vopb(4K) vopl(2K) ,这里异显设vopb通道是edp,vopl通道是lvds
  &lvds_in_vopl {
  status = “okay”;
  };
  &lvds_in_vopb {
  状态=“禁用”;
  };
  &
  lvds_panel {状态=“好的”;
  ;
  背光 = 《&背光》; //这里异显如果使用ME,只需要配置一个亮度
  // bus-format = 《DIA_BUS_FMT_RGB666_1X18》; 《MEDIA_BUS_FMT_RGB888_1X24》;
  // 总线格式 = 《MEDIA_BUS_FMT_RGB888_1X24》;
  启用-gpios = 《&gpio7 3 GPIO_ACTIVE_HIGH》;
  // 启用 = 《&gpio7 3 GPIO_ACTIVE_HIGH》;
  启用延迟毫秒 = 《10》;
  // 电源 = 《&vcc_lcd》;
  Rockchip,数据映射=“vesa”;
  // rockchip,data-mapping = “jeida”;
  Rockchip,数据宽度= 《24》;
  Rockchip,输出=“duallvds”;
  显示时序 {
  原生模式 = 《&lvds_panel_name》;
  屏幕类型 = 《SCREEN_DUAL_LVDS》;
  lvds 格式 = 《LVDS_8BIT_2》;
  外观 = 《OUT_P888》;
  时钟频率 = 《148000000》;
  hactive = 《1920》;
  活跃 = 《1080》;
  hback-porch = 《100》;
  hfront-porch = 《160》;
  vback 门廊 = 《25》;
  vfront-porch = 《10》;
  hsync-len = 《1》;
  垂直同步长度 = 《1》;
  hsync-active = 《20》;
  停用 = 《0》;
  像素clk-active = 《0》;
  };
  };
  };
  // 添加 lvds end 《《《 。。。。。。或者
  。。。。。
  注意:如果配置VOPL(2K)通道是eDPDSI(mipi屏),上层还需要关掉AFBC,打上下面的补丁
  wangxd@ build-server-100:~/work/dsy/rk3288-Android-7.0/hardware/rockchip/libgralloc((3bb0f11.。.))$ git diff Android.mk
  diff --git a/Android.mk b/Android. mk
  index 52387b9..00863f8 100755
  --- a/Android.mk
  +++ b/Android.mk
  @@ -153,16 +153,19 @@ endif
  ifeq ($(strip $(TARGET_BOARD_PLATFORM_GPU)), mali-t860 )
  MALI_AFBC_GRALLOC := 1
  -USE_AFBC_LAYER = 1
  +USE_AFBC_LAYER = 0
  LOCAL_CFLAGS += -DMALI_PRODUCT_ID_T86X=1
  endif
  2 属性在/device/rockchip/rk3288/system.prop文件中配置好主副屏的
  wangxd@build-server-100:~/work/dsy/rk3288-Android-7.0/device/rockchip/rk3288(( f3c5a0a.。.))$ git diff system.prop
  diff --git a/system.prop b/system.prop
  旧模式 100644
  新模式 100755
  索引 be3f161..ce6c558
  --- a/system.prop
  +++ b/ system.prop
  @@ -28,7 +28,8 @@ sys.wallpaper.rgb565=0
  sf.power.control=2073600
  sys.rkadb.root=0
  ro.sf.fakerotation=false
  ro.rk.MassStorage=false
  ro.rk.systembar.voiceicon=true
  ro.rk.systembar.tabletUI=false
  @@ -42,6 +43,36 @@ wifi.supplicant_scan_interval=15
  ro.factory.tool=0
  ro.kernel.android.checkjni= 0
  ro.sf.lcd_density=160
  ro.adb.secure=0
  ro.rk.displayd.enable=false
  + #主屏是eDP
  + sys.hwc.device.primary=eDP
  + #副屏是LVDS
  + sys.hwc.device .extend=LVDS
  +#主屏主屏正常设置与主屏主屏一致
  + #副屏
  主屏
  +p.sys.resolution.main=1920x1080 +
  #副屏
  persist.sys.resolution.aux=1920x1080
  +#副屏是否全屏显示
  +persist.sys.rotation.efull = true
  +#主屏的旋转方向(设置的值为0 90 180 270)
  + ro.sf.hwrotation=0
  +#副屏输出旋转0 / 90 / 180 / 270(设置的方向值是0 1 2 3)
  + persist.sys.rotation.einit =0
  + #副屏是否随着g-sensor旋转(只关注方向) ,黑边不关注)
  + ro.sys.rotation.sensor = true
  +#主副屏的方向是否相同
  + ro.same.orientation=false
  +#副屏是否随主旋转
  +ro.rotation.external=true
  +#设置 sys.dual_screen.keycodes 来属性的方式来修改相应的屏幕同步显示
  + sys.dual_screen.keycodes=24, 25
  3 寻找 RK 申请屏幕异显的异同
  **主要是按照双上框架和 cts 目录层的提供显着接口
  合入目录** 4 提供的双屏应用框架和 cts 分配后以下显着
  操作
  (1 )打开设置的显示-》HDMI中打开如下图片中的双显开关,
  (2)用adb输入触发输入keyevent 24 25 可以看到双命令屏显
  5 可以用谷歌以下google展示类实现异显的pk测试异显功能
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分