工具与软件:
您好、我正在尝试在 falcon 模式中启用 simple-framebuffer。 Im 使用 SDK 10.00.07.04。
我已按如下所示修改了帧缓冲区的 k3-am62p5-sk.dts
framebuffer0: framebuffer@0 {
compatible = "simple-framebuffer";
power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>,
<&k3_pds 243 TI_SCI_PD_EXCLUSIVE>, /* OLDI0 */
<&k3_pds 244 TI_SCI_PD_EXCLUSIVE>; /* OLDI1 */
clocks = <&k3_clks 186 6>,
<&dss0_vp1_clk>,
<&k3_clks 186 2>;
display = <&dss0>;
reg = <0x00 0xff700000 0x00 0x008ca000>;
width = <1920>;
height = <1200>;
stride = <(1920 * 4)>;
format = "x8r8g8b8";
status="okay";
};
};
并为帧缓冲区添加了内存区域
reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
linux,cma {
compatible = "shared-dma-pool";
reusable;
size = <0x00 0x24000000>;
linux,cma-default;
};
rtos_ipc_memory_region: rtos-ipc-memory@9b500000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b500000 0x00 0x00300000>;
no-map;
};
mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b800000 0x00 0x00100000>;
no-map;
};
mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@9b900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9b900000 0x00 0x00f00000>;
no-map;
};
wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c800000 0x00 0x00100000>;
no-map;
};
wkup_r5fss0_core0_memory_region: r5f-memory@9c900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c900000 0x00 0x01e00000>;
no-map;
};
secure_tfa_ddr: tfa@9e780000 {
reg = <0x00 0x9e780000 0x00 0x80000>;
no-map;
};
secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
no-map;
};
framebuffer_reserved: framebuffer@ff700000 {
reg = <0x00 0xff700000 0x00 0x008ca000>;
no-map;
};
};
不管怎样它不工作,我可以看到在/dev/中 有 fb0,但当我尝试启动 pslash 时,使用/dev/fb0时没有显示任何内容,但它在/dev/fb1 tidss fb 上工作。
这是 dmesg 的一部分
:~# dmesg | grep buffer [ 0.000000] OF: reserved mem: 0x00000000ff700000..0x00000000fffc9fff (9000 KiB) nomap non-reusable framebuffer@ff700000 [ 0.197636] simple-framebuffer ff700000.framebuffer: framebuffer at 0xff700000, 0x8ca000 bytes [ 0.197648] simple-framebuffer ff700000.framebuffer: format=x8r8g8b8, mode=1920x1200x32, linelength=7680 [ 0.198030] Console: switching to colour frame buffer device 240x75 [ 0.207418] simple-framebuffer ff700000.framebuffer: fb0: simplefb registered! [ 2.361275] tidss 30200000.dss: [drm] fb1: tidssdrmfb frame buffer device
有什么我丢失的东西吗? 在 falcon 模式构建和 u-boot 构建之间、simple-framebuffer 的 dmesg 日志似乎相同。
要使用默认 configs 构建内核仿真、请执行以下操作:
我刚刚根据以下内容调整了 ti_early_display
#config_framebuffer_console=n
谢谢