我正试图在我的基于Rockchip RK3399 (ARM64 arch)的板上启用MIPI (display)接口,即使在使用设备树尝试了几件事情之后,我仍然遇到了同样的错误。操作系统是Ubuntu仿生的分叉。这是内核。以下是错误:
[ 1.195557] dw-mipi-dsi ff968000.dsi: can't request region for resource [mem 0xff968000-0xff96ffff]
[ 1.196387] dw-mipi-dsi: probe of ff968000.dsi failed with error -16错误是16 EBUSY,但我不知道这意味着什么。下面是我对设备树所做的编辑:
&dsi {
status = "okay";
};
&dsi1 {
status = "okay";
};
&route_dsi {
status="okay";
};
&dsi_in_vopl {
status = "okay";
};这是最初的DSI定义:
dsi: dsi@ff960000 {
compatible = "rockchip,rk3399-mipi-dsi";
reg = <0x0 0xff960000 0x0 0x8000>;
interrupts = <GIC_SPI 45 IRQ_TYPE_LEreg = <0x0 0xff960000 0x0 0x8000>;VEL_HIGH 0>;
clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI0>,
<&cru SCLK_DPHY_TX0_CFG>;
clock-names = "ref", "pclk", "phy_cfg";
power-domains = <&power RK3399_PD_VIO>;
resets = <&cru SRST_P_MIPI_DSI0>;
reset-names = "apb";
rockchip,grf = <&grf>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
ports {
port {
#address-cells = <1>;
#size-cells = <0>;
dsi_in_vopb: endpoint@0 {
reg = <0>;
remote-endpoint = <&vopb_out_dsi>;
};
dsi_in_vopl: endpoint@1 {
reg = <1>;
remote-endpoint = <&vopl_out_dsi>;
};
};
};
};我认为这与请求内存0 xff968-0xff96ffff有关,但接口只有0x8000宽。换句话说,0xff968 000+ 0x8000 < 0xff96ffff,所以它是探测内存,它没有访问权限。但是定义包括接口大小(reg = <0x0 0xff960000 0x0 0x8000>;),所以我不知道如何调试它。这些是我对树所做的唯一更改,这些是DSI中显示的唯一相关消息。
发布于 2020-11-10 22:49:55
我想,结果是DSI1 (第二个DSI接口)与其他一些接口(我认为是CSI0)重叠,因为它没有正确配置。如果要同时启用这两种功能,则必须禁用其中一个摄像头接口。在这种情况下,您只需禁用DSI1,就会出现更多有用的错误。
https://askubuntu.com/questions/1291241
复制相似问题