Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux U-boot Splashscreen通过SPI_Linux_Linux Kernel_U Boot - Fatal编程技术网

Linux U-boot Splashscreen通过SPI

Linux U-boot Splashscreen通过SPI,linux,linux-kernel,u-boot,Linux,Linux Kernel,U Boot,我正在尝试使用Armbian在橙色pi zero plus上配置u-boot中的splashscreen 使用LCD的ST7789v芯片通过spi1连接屏幕 我已经使用systemd来显示splashscreen,但是我发现它显示某些内容的速度很慢。它只在大约12秒后才会显示某些内容。我可能可以通过提前加载服务来减少这一时间,但它不会在5秒内启动 看起来是u型靴。我可以看到LCD、HDMI、DVI、VGA,。。。但是没有SPI。是否可以将SPI配置为LCD?或者将帧缓冲区发送到SPI以显示spl

我正在尝试使用Armbian在橙色pi zero plus上配置u-boot中的splashscreen

使用LCD的ST7789v芯片通过spi1连接屏幕

我已经使用systemd来显示splashscreen,但是我发现它显示某些内容的速度很慢。它只在大约12秒后才会显示某些内容。我可能可以通过提前加载服务来减少这一时间,但它不会在5秒内启动


看起来是u型靴。我可以看到LCD、HDMI、DVI、VGA,。。。但是没有SPI。是否可以将SPI配置为LCD?或者将帧缓冲区发送到SPI以显示splashscreen?

正如@KamilCuk提到的,U-Boot中还没有ST7789V驱动程序。但是你可以自己写

在Linux中,有一个帧缓冲区驱动程序drivers/staging/fbtft/fb_st7789v.c,可以用作模板

在U-Boot端,您可以使用drivers/video/lg4573.c作为SPI帧缓冲区驱动程序的模板

除了驱动程序之外,您还将看到一个描述SPI设备的设备树覆盖。请参阅Linux内核的Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml


请向上游发送修补程序。

因此,上游缺少设备的驱动程序。所以,谢谢你,你说得对。我想避免这一步。我希望还有别的办法。我以前从未开发过u-boot驱动程序。谢谢@Xypron,你觉得这个linux驱动程序怎么样,有区别吗?根据补丁7142afb3a186(“drm/面板:为sitronix ST7789V LCD控制器添加驱动程序”),drm驱动程序不用于SPI,而是用于RGB/并行。我没有亲自使用这两个驱动程序中的任何一个。您在systemd中的输出使用了哪一个驱动程序?lsmod应该显示哪个加载了。从lsmod,使用的驱动程序确实是fb_st7789v。但我现在尝试使用drm驱动程序,但没有成功。在提交消息中,我看到Sitronix ST7789v控制器用于通过各种接口驱动240x320 LCD面板,包括SPI和RGB/Parallel。