完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题:我使用4.14.98版本的内核,i2c先后drm启动,这样使用bridge(it6161)可以正常工作,启动流程作为附件。当我使用5.4.70版本的内核时,drm启动先于i2c,这样引导致it6161不能加入drm中,也不能创建fb设备,显示失败,启动流程附件所显示
分析:我查了他们的system.map文件,i2c_adapter是init4, ffff00000924f418 t __initcall_i2c_adap_imx_init4 而it6161和imx drm是init6,2个system.map附件 ffff00000924fdf0 t __initcall_it6161_i2c_driver_init6 ffff00000924fdf8 t __initcall_it6263_driver_init6 ffff00000924fe00 t __initcall_imx_nwl_dsi_driver_init6 ffff00000924fe08 t __initcall_seiko_adapter_driver_init6 ffff00000924fe10 t __initcall_imx_drm_pdrv_init6 ffff00000924fe18 t __initcall_imx_pd_driver_init6 ffff00000924fe20 t __initcall_imx_tve_driver_init6 ffff00000924fe28 t __initcall_imx_ldb_driver_init6 ffff00000924fe30 t __initcall_dw_hdmi_imx_platform_driver_init6 ffff00000924fe38 t __initcall_imx_nwl_dsi_driver_init6 ffff00000924fe40 t __initcall_imx_sec_dsim_driver_init6 疑问: 问题1:为什么在5.4内核中,init6会在init4前启动呢? 问题2:我应该怎么配置5.4.70,才能类kernel4.14.98,让i2c_adap_imx_init4先执行,imx_xxx_init6后执行? 关键打印: kernel5.4.70 [ 1.161527] [drm] 支持 vblank 时间戳缓存 Rev 2 (21.10.2013)。 [ 1.168161] [drm] 不支持 vblank 时间戳查询的驱动程序。 [1.174172]imx-drm soc@0:bus@32c00000:display-subsystem:bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)[1.183451]imx_sec_dsim_drv 32e10000.mipi_dsi:未能获得blk_ctl[1.19004 0] imx_sec_dsim_drv 32e10000.mipi_dsi :版本号为 0x1060200 [1.197054] imx_sec_dsim_drv 32e10000.mipi_dsi:无法连接桥:32e10000.mipi_dsi [1.205331] imx_sec_dsim_drv 32e10000.mipi_dsi:无法绑定 sec dsim 桥:-19 [ 1.213007] imx-drm soc@0:bus@32c00000 :显示子系统:绑定32e10000.mipi_dsi(ops imx_sec_dsim_ops) [1.222680][drm]已初始化imx-drm 1.0.0 2 ..................................... [ 2.368897] i2c i2c-0: IMX I2C 适配器已注册 [ 2.374074] gpio-144 (scl): 强制开漏请在 DT/ACPI DSDT/board 文件中正确标记它 [ 3.628938] adv-wdt-i2c 1-0029: Advantech看门狗定时器使能。timeout=60s (nowayout=0), Ver.17 [ 3.647630] rtc-s35390a 1-0030: 注册为 rtc0 [ 3.665999] tpm_tis_i2c 1-002e: 2.0 TPM (device-id 0x0, rev-id 78) [ 3.672842] tpm_tis_i 2c 1-002e:TPM 2.0/接口:I2C) [3.684867] tpm tpm0:尝试自检时发生 TPM 错误(256) [3.691680] tpm tpm0:手动启动 TPM [3.778780] usb251xb 1-002c:集线器配置是成功的。 [3.784643]usb251xb 1-002c:集线器成功探测 [3.789856]i2c i2c-1:IMX I2C适配器已注册 [3.797382] gpio-148 (scl):强制开漏请在 DT/ACPI DSDT/板文件中正确标记它 [3.810824] sgtl5000 3-000a:未找到 3-000a 电源 VDDA,使用虚拟稳压器 [3.818754] sgtl5000 3- 000a:未找到 3-000a 电源 VDDIO,使用虚拟稳压器 [3.829038] sgtl5000 3-000a:sgtl5000 修订版 0x11 [3.837887] sgtl5000 3-000a:使用内部 LDO 代替 VDDD:检查 ER1 错误 [3.935860] pca953x 3-0070:不使用 AI [3.940781] pca953x 3-0070:写入寄存器失败 [3.946327] i2c i2c-3:IMX I2C 适配器已注册 [3.954104] gpio-146 (scl):强制开漏请在 DT/ACPI DSDT/板中正确标记文件 [3.969117] ov5640_mipi 4-003c: 4-003c 电源 DOVDD 未找到,使用虚拟稳压器 [3.977314]ov5640_mipi 4-003c:4-003c supply DVDD not found,using dummy regulator [3.985087]ov5640_mipi 4-003c:4-003c supply AVDD not found,using dummy regulator [4.066622]ov5640_mipi 4-003c:读取注册错误: reg=300a [ 4.071965] ov5640_mipi 4-003c: 找不到相机 [ 4.077934] i2c i2c-2: 添加了多路复用 i2c 总线 4 [ 4.085597] DRM:it6161_i2c_probe [ 4.085599] DRM:it6161_i2c_probed [ 4.130101] DRM:it6161_parse_dt [4.138317] DRM :查找 6161 修订版:0xd0 [4.146676] i2c i2c-2:添加了多路复用 i2c 总线 5 [4.157603] i2c i2c-2:添加了多路复用 i2c 总线 6 内核4.14.98 [ 0.738597] i2c i2c-0: IMX I2C 适配器已注册 [ 0.740457] i2c i2c-0: 不能使用 DMA,而是使用 PIO。 [ 0.746606] i2c i2c-1: IMX I2C 适配器已注册 [ 0.750554] i2c i2c-1: 不能使用 DMA,而是使用 PIO。 [0.756367] i2c i2c-2:IMX I2C 适配器已注册 [0.760623] i2c i2c-2:不能使用 DMA,而是使用 PIO。 [0.766653]pca953x 3-0070:3-0070 supply vcc not found,using dummy regulator [0.777359]pca953x 3-0070:读取寄存器失败 [0.779475]i2c i2c-3:IMX I2C适配器已注册 [0.784131]i2c i2c-3:不能使用 DMA,而是使用 PIO。 [0.793802]i2c i2c-2:添加了多路复用 i2c 总线 4 [0.795966]i2c i2c-2:添加了多路复用 i2c 总线 5 [0.800671] i2c i2c-2:添加了多路复用 i2c 总线 6 [0.805624] pca953x 7-0073:未找到 7-0073 电源 vcc,使用虚拟调节器 [0.837025] 随机:完成快速初始化 [0.865343] i2c i2c-2:添加了多路复用i2c 总线 7 ............................................... ..... [ 1.895889] DRM:it6161_parse_dt [ 1.899625] DRM:Find 6161 修订版:0xd0 [ 1.908067] [drm] 支持 vblank 时间戳缓存 Rev 2 (21.10.2013)。 [ 1.918668] [drm] 不支持 vblank 时间戳查询的驱动程序。 [1.924672]imx-drm显示子系统:绑定imx-lcdif-crtc.0(ops lcdif_crtc_ops) [1.932348]imx_sec_dsim_drv 32e10000.mipi_dsi:版本号为0x1060200 [1.939442]DRM:it6161_bridge _attach, ret:0 [1.989447]DRM:it6161_bridge_attach完成 [1.993649]imx-drm显示子系统:绑定32e10000.mipi_dsi(ops imx_sec_dsim_ops) [2.006330]DRM:hpd:high |
|
相关推荐
1个回答
|
|
可以尝试在内核配置中修改i2c和drm的启动顺序。
首先确认内核配置中i2c和drm的代码顺序,相关的配置项可以在“Device Drivers” -> “I2C support”和“Device Drivers” -> “Graphics support”中找到。 在“Device Drivers” -> “Graphics support”中找到“Support for frame buffer devices”选项,将其设置为模块(M),并将其移动到i2c前面。这样在内核启动时,fb设备就可以顺利加入drm中。 然后在“Device Drivers” -> “I2C support”中找到“Miscellaneous I2C drivers”选项,将其设置为模块(M),并将其移动到drm前面。这样在内核启动时,i2c设备就可以先于drm启动。 重新编译内核并将其安装到设备上,启动时就应该按照修改后的顺序启动i2c和drm,从而解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
1934个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36421 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4928 浏览 1 评论
6109 浏览 1 评论
6819 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4249 浏览 0 评论
653浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
646浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
647浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
736浏览 2评论
848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 13:06 , Processed in 1.279184 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号