您尚未登录。

楼主 # 2025-05-23 09:00:59

粗制乱造
会员
注册时间: 2024-06-28
已发帖子: 5
积分: 10

全志V821驱动8080接口8位并口驱动TFT屏画面割裂,求指导。


屏为ST7789的8080接口8位并口屏。分辨率为:240*320。未接TE(模块未引出)。驱动参考驱动及配置配置https://docs.aw-ol.com/docs/soc/v821/disp/disp2/disp_driver_lcd_i8080/
驱动部分就是使用tina linux自带的ST7789改成了屏厂给的启动代码,dts是下面的。

&disp {
	disp_init_enable         = <1>;
	disp_mode                = <0>;

	screen0_output_type      = <1>;
	screen0_output_mode      = <4>;
	screen0_to_lcd_index     = <0>;

	screen1_output_type      = <3>;
	screen1_output_mode      = <10>;
	screen1_to_lcd_index     = <2>;

	screen1_output_format    = <0>;
	screen1_output_bits      = <0>;
	screen1_output_eotf      = <4>;
	screen1_output_cs        = <257>;
	screen1_output_dvi_hdmi  = <2>;
	screen1_output_range     = <2>;
	screen1_output_scan      = <0>;
	screen1_output_aspect_ratio = <8>;

	fb_format                = <0>;
	fb_num                   = <1>;
	fb_debug                 = <0>;
	/*<disp channel layer zorder>*/
	fb0_map                  = <0 0 0 16>;
	fb0_width                = <240>;
	fb0_height               = <320>;
	/*<disp channel layer zorder>*/
	fb1_map                  = <0 2 0 16>;
	fb1_width                = <300>;
	fb1_height               = <300>;
	/*<disp channel layer zorder>*/
	fb2_map                  = <1 0 0 16>;
	fb2_width                = <1280>;
	fb2_height               = <720>;
	/*<disp channel layer zorder>*/
	fb3_map                  = <1 1 0 16>;
	fb3_width                = <300>;
	fb3_height               = <300>;

	chn_cfg_mode             = <1>;
	disp_para_zone           = <1>;
};

&lcd0 {
	lcd_used            = <1>;

	lcd_driver_name     = "st7789v_cpu";
	lcd_if              = <1>;

	lcd_x               = <240>;
	lcd_y               = <320>;
	lcd_width           = <43>;
	lcd_height          = <63>;

	lcd_dclk_freq       = <20>;

	lcd_hbp             = <20>;
	lcd_ht              = <298>;
	lcd_hspw            = <10>;
	lcd_vbp             = <8>;
	lcd_vt              = <336>;
	lcd_vspw            = <2>;

	lcd_backlight       = <50>;
	lcd_pwm_used        = <1>;
	lcd_pwm_ch          = <4>;
	lcd_pwm_freq        = <50000>;
	lcd_pwm_pol         = <1>;
	lcd_pwm_max_limit   = <255>;
	lcd_bright_curve_en = <1>;

	lcd_frm             = <2>;
	lcd_gamma_en        = <0>;
	lcd_bright_curve_en = <0>;
	lcd_cmap_en         = <0>;

	lcdgamma4iep        = <22>;
	lcd_cpu_mode        = <1>;
	lcd_cpu_te          = <2>;
	lcd_cpu_if          = <14>;

	/* rst */
	lcd_gpio_0          = <&pio PD 19 GPIO_ACTIVE_LOW>;
	/* cs */
	lcd_gpio_1          = <&pio PD 14 GPIO_ACTIVE_LOW>;

	pinctrl-0 = <&rgb8_pins_a>, <&rgb8_pins_ctl_a>;
	pinctrl-1 = <&rgb8_pins_b>, <&rgb8_pins_ctl_b>;
};

不知道应当如何调试。

离线

#1 2025-05-23 09:32:15

memory
会员
注册时间: 2021-08-11
已发帖子: 612
积分: 584

Re: 全志V821驱动8080接口8位并口驱动TFT屏画面割裂,求指导。

有没有开启 doublebuffer & g2d 选项 ?

离线

楼主 #2 2025-05-23 11:52:45

粗制乱造
会员
注册时间: 2024-06-28
已发帖子: 5
积分: 10

Re: 全志V821驱动8080接口8位并口驱动TFT屏画面割裂,求指导。

memory 说:

有没有开启 doublebuffer & g2d 选项 ?

没有开启,是这两个选项的事吗。我来试试!

离线

#3 2025-05-23 12:34:03

william9527
会员
注册时间: 2025-05-18
已发帖子: 12
积分: 22

Re: 全志V821驱动8080接口8位并口驱动TFT屏画面割裂,求指导。

lcd_cpu_mode和lcd_cpu_te都改为0。如果还是不行,lcd_dclk_freq设为12试试。

离线

楼主 #4 2025-05-23 14:13:55

粗制乱造
会员
注册时间: 2024-06-28
已发帖子: 5
积分: 10

Re: 全志V821驱动8080接口8位并口驱动TFT屏画面割裂,求指导。

william9527 说:

lcd_cpu_mode和lcd_cpu_te都改为0。如果还是不行,lcd_dclk_freq设为12试试。

感谢,等我回之家来试试

离线

楼主 #5 2025-05-23 22:01:08

粗制乱造
会员
注册时间: 2024-06-28
已发帖子: 5
积分: 10

Re: 全志V821驱动8080接口8位并口驱动TFT屏画面割裂,求指导。

memory 说:

有没有开启 doublebuffer & g2d 选项 ?

G2D.png
是这样配置吗?已经加上了还是没用。

william9527 说:

lcd_cpu_mode和lcd_cpu_te都改为0。如果还是不行,lcd_dclk_freq设为12试试。

lcd_cpu_mode改为0会出现白屏。
lcd_dclk_freq设为6,还是不正常。


disp信息.png
看disp的信息,期望fps与实际fps相差比较大。应当还是我的配置有问题。

最近编辑记录 粗制乱造 (2025-05-23 22:01:31)

离线

#6 2025-05-24 01:09:38

william9527
会员
注册时间: 2025-05-18
已发帖子: 12
积分: 22

Re: 全志V821驱动8080接口8位并口驱动TFT屏画面割裂,求指导。

1、你的配置中的ht和vt算下来差不多12mhz的,是不是按照V821的手册照抄的,这个应该按照你的lcd的手册配置的。lcd_cpu_mode=<0>是为了自动刷屏,lcd_cpu_te=<0>是不用te功能,因为你说没有引出te管脚。
2、cat /sys/class/disp/disp/attr/sys多次,看看显示的irq数字变化了没有,如果没有变化还是时序不对。
3、建议找找本论坛里的“Linux_LCD_开发指南”,我是在100ask下载的。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn