完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
平台:Rockchip
处理器:rk3288 Android版本:Android 7.1.2 内核版本:Linux 4.4.71 第一步:将最接近的dts拷贝一份并重新命名。 rk3288kernelarcharmbootdtsrk3288-evb-android-rk818-edp.dts 拷贝一份并命名如下: rk3288kernelarcharmbootdts rk3288-evb-android-rk808-edp.dts 第二步:修改对应的PMU,根据第一步拷贝而来的PMU是RK818,我们平板所用的PMU是RK808 所以做以下的几个修改: //compatible = “rockchip,rk3288-evb-android-rk818”, “rockchip,rk3288”; compatible = “rockchip,rk3288-evb-android-rk808”, “rockchip,rk3288”; sdio_pwrseq: sdio-pwrseq { compatible = “mmc-pwrseq-simple”; //clocks = 《&rk818 1》; clocks = 《&rk808 1》;//rk818 1》; wireless-bluetooth { //clocks = 《&rk818 1》; clocks = 《&rk808 1》;//rk818 1》; clock-names = “ext_clock”; }; &i2c0 { clock-frequency = 《400000》; //rk818: pmic@1c { rk808: pmic@1b { } 第三步:注意保留 vcc_lcd 即可,注意pmu里面也有一个vcc_lcd相关的应该舍去 : vcc_lcd: vcc-lcd { compatible = “regulator-fixed”; regulator-boot-on; enable-active-high; gpio = 《&gpio7 3 GPIO_ACTIVE_HIGH》; pinctrl-names = “default”; pinctrl-0 = 《&lcd_en》; regulator-name = “vcc_lcd”; vin-supply = 《&vcc_io》; }; 至此,pmic相关的就已经配置好了。 我们再来根据edp相关的配置点亮屏幕。 检查下dts以下四个与edp相关的选择是否正确,如下: &edp { status = “okay”; }; &edp_panel { , “simple-panel”; enable-gpios = 《&gpio7 4 GPIO_ACTIVE_HIGH》; pinctrl-0 = 《&lcd_cs》; power-supply = 《&vcc_lcd》; delay,prepare = 《120》; status = “okay”; disp_timings: display-timings { native-mode = 《&timing0》; timing0: timing0 { clock-frequency = 《200000000》; hactive = 《1536》; vactive = 《2048》; hfront-porch = 《12》; hsync-len = 《16》; hback-porch = 《48》; vfront-porch = 《8》; vsync-len = 《4》; vback-porch = 《8》; hsync-active = 《0》; vsync-active = 《0》; de-active = 《0》; pixelclk-active = 《0》; }; }; &edp_phy { status = “okay”; }; &route_edp { status = “okay”; }; 在Android5.1的SDK里面,Rockchip是这样用一个dtsi包裹起来的参数: / { disp_timings: display-timings { native-mode = 《&timing0》; timing0: timing0 { screen-type = 《SCREEN_EDP》; out-face = 《OUT_P666》; clock-frequency = 《205000000》; hactive = 《1536》; vactive = 《2048》; hback-porch = 《5》; hfront-porch = 《150》; vback-porch = 《9》; vfront-porch = 《3》; hsync-len = 《5》; vsync-len = 《1》; hsync-active = 《0》; vsync-active = 《0》; de-active = 《0》; pixelclk-active = 《1》; swap-rb = 《0》; swap-rg = 《0》; swap-gb = 《0》; }; }; }; 如今应该在驱动文件:rk3288kerneldriversgpudrmpanelpanel-simple.c static const struct of_device_id platform_of_match[] = { { .compatible = “simple-panel”, .data = NULL, }, { }, { .compatible = “lg,lp079qx1-sp0v”, .data = &lg_lp079qx1_sp0v, }, } 对应的dts里面的兼容: , “simple-panel”; static const struct drm_display_mode lg_lp079qx1_sp0v_mode = { // .clock = 200000, // .hdisplay = 1536, // .hsync_start = 1536 + 12, // .hsync_end = 1536 + 12 + 16, // .htotal = 1536 + 12 + 16 + 48, // .vdisplay = 2048, // .vsync_start = 2048 + 8, // .vsync_end = 2048 + 8 + 4, // .vtotal = 2048 + 8 + 4 + 8, // .vrefresh = 60, .clock = 205000, .hdisplay = 1536, .hsync_start = 1536 + 150, .hsync_end = 1536 + 150 + 5, .htotal = 1536 + 150 + 5 + 5, .vdisplay = 2048, .vsync_start = 2048 + 3, .vsync_end = 2048 + 3 + 9, .vtotal = 2048 + 3 + 9 + 1, .vrefresh = 60, .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, }; static const struct panel_desc lg_lp079qx1_sp0v = { .modes = &lg_lp079qx1_sp0v_mode, .num_modes = 1, .size = { .width = 129, .height = 171, }, .bus_format = MEDIA_BUS_FMT_RGB666_1X18, }; |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2018 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
2536 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
5313 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 01:48 , Processed in 2.475652 second(s), Total 45, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号