This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM62P-LP:启用 simple-framebuffer

Guru**** 2398695 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1488518/sk-am62p-lp-enabling-simple-framebuffer

器件型号:SK-AM62P-LP

工具与软件:

您好、我正在尝试在 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_ARM64_prune.config \
      TI_RT.config \
      TI_EARLY_DISPLAY_CONFIG \


我刚刚根据以下内容调整了 ti_early_display

#CONFIG_MMC=m

#config_framebuffer_console=n
#CONFIG_LOGO=n

CONFIG_DRM_DISPLAY_CONNECTOR=y
CONFIG_DRM_SIMPLE_BRIDGE=y


谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我正在研究它,你可以期待在本周结束之前得到一个回应。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    只是想在这里设置预期水平。 我们目前还不支持以 falcon 模式显示、但可以为您提供一些可能有用的指示。

    simple-framebuffer 期望显示器在启动之前进行预初始化。 A53 SPL 二进制文件负责在 simple-framebuffer 之前对其进行初始化、因此请确保在优化中不要忽略该阶段。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!
    我看着她的背影,就知道她的背影是什么样子了。 似乎比预期的要复杂一些。