画了F1c200s的电路板,使用 LicheePI Zero 的教程实现了Linux的驱动和运行。
进行屏幕移植时出了问题。
在uboot移植上很顺利,改改屏幕分辨率和RGB配置参数,就正常显示了log界面。但是到了kernel启动阶段就花屏了,然后就黑屏了。
我在Linux源码中,参照多个教程,修改了suniv-f1c100s-licheepi-nano.dts:
panel: panel {
		compatible = "lg,lb070wv8", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;
		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};并在panel-sample.c 中修改了对应的屏幕参数:
static const struct drm_display_mode lg_lb070wv8_mode = {
/*	.clock = 33246,
	.hdisplay = 800,
	.hsync_start = 800 + 88,
	.hsync_end = 800 + 88 + 80,
	.htotal = 800 + 88 + 80 + 88,
	.vdisplay = 480,
	.vsync_start = 480 + 10,
	.vsync_end = 480 + 10 + 25,
	.vtotal = 480 + 10 + 25 + 10,
	.vrefresh = 60,
*/
	.clock = 10000,
	.hdisplay = 320,
	.hsync_start = 320 + 10,
	.hsync_end = 320 + 10 + 5,
	.htotal = 320 + 10 + 5 + 5,
	.vdisplay = 960,
	.vsync_start = 960 + 10,
	.vsync_end = 960 + 10 + 10,
	.vtotal = 960 + 10 + 10 + 2,
	.vrefresh = 30,
};
static const struct panel_desc lg_lb070wv8 = {
	.modes = &lg_lb070wv8_mode,
	.num_modes = 1,
	.bpc = 18,
	.size = {
		.width = 46,
		.height = 91,
	},
	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
};编译后还是不显示。
然后又在 uboot 的menuconfig 中添加 mem=63M,也没用。
所以想请教,我需要怎么修改才能正常显示?
我最终的目的是希望能正常播放视频或图片。
另外,想请教有没有办法软件横屏显示(这款屏幕是ST7701S驱动芯片,问过厂家了,硬件旋转没有用,我也参考几个手册配置过对应的寄存器,确实没有用),只改分辨率的话,会显示不正常。
目前的开机画面如下:
离线
buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *,支持SPI NAND
https://whycan.com/t_5221.html
离线
ST7701S只能软件旋转,硬件寄存器只能改镜像模式之类的。uboot好,到linux黑屏,看看是不是启动中间reset了屏幕,如果reset的话要重新用spi配置屏幕才会亮
离线
ST7701S只能软件旋转,硬件寄存器只能改镜像模式之类的。uboot好,到linux黑屏,看看是不是启动中间reset了屏幕,如果reset的话要重新用spi配置屏幕才会亮
不会,屏幕的初始化我单独画了个单片机实现的,SPI和Reset都是单片机控制的,目前初始化后没有别的操作。只有RGB是F1C200S控制的。
离线
请问,全志h618可以做到u-boot显示spi屏幕亮屏吗?
屏幕驱动是spi的st7789v
uboot版本是2025的
离线