V831没有RGB也没有MIPI,正好手上有几片i80 MCU屏幕可以用(320*480 3.5寸的,15块钱一片)
电路部分
屏幕部分:
主控部分:
没啥好说的,照着Sipeed的抄就行了
配置设备树
lcd0: lcd0@01c0c000 {
lcd_used = <1>;
lcd_driver_name = "ili9481";
lcd_x = <320>;
lcd_y = <480>;
lcd_width = <108>;
lcd_height = <64>;
lcd_dclk_freq = <5>;
lcd_pwm_used = <0>;
lcd_hbp = <20>;
lcd_ht = <382>;
lcd_hspw = <2>;
lcd_vbp = <2>; // 320
lcd_vt = <486>; // 320
lcd_vspw = <2>;
lcd_if = <1>;
lcd_frm = <2>;
lcd_cpu_mode = <1>;
lcd_cpu_te = <0>;
lcd_cpu_if = <14>;
lcd_io_phase = <0x0000>;
lcdgamma4iep = <22>;
lcd_gamma_en = <0>;
lcd_cmap_en = <0>;
lcd_bright_curve_en = <0>;
lcd_rb_swap = <0>;
lcd_gpio_0 = <&pio PH 5 1 0 3 0>; /* rst */
lcd_gpio_1 = <&pio PD 21 1 0 3 0>; /* cs */
lcd_bl_en = <&pio PH 6 1 0 3 1>;
pinctrl-0 = <&rgb8_pins_a>;
pinctrl-1 = <&rgb8_pins_b>;
};
因为这里用的是Kernel
刷屏,所以就不配uboot
的了
驱动
然后找大佬鼠嫖驱动,放到 lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/
文件夹下。
编辑 lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c
,找一个顺眼的地方加一下配置。
#ifdef CONFIG_LCD_SUPPORT_ILI9481
&ili9481_panel,
#endif
编辑lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h
,找一个顺眼的地方加一下配置。
#ifdef CONFIG_LCD_SUPPORT_ILI9481
extern struct __lcd_panel ili9481_panel;
#endif
编辑lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig
,找一个顺眼的地方加一下配置。
config LCD_SUPPORT_ILI9481
bool "LCD support ili9481 panel"
default n
---help---
If you want to support ili9481 panel for display driver, select it.
编辑 lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/Makefile
,找一个顺眼的地方加一下配置。
disp-$(CONFIG_LCD_SUPPORT_ILI9481) += lcd/ili9481.o
再打开 m kernel_menuconfig
Device Drivers --->
Graphics support --->
Frame buffer Devices --->
Video support for sunxi --->
LCD panels select --->
[*] LCD support ili9481 panel
保存,编译kernel打包就好了。
启动系统
刷卡,启动系统,可以看到屏幕背光已经亮了。
测试一下
echo 1 > sys/class/disp/disp/attr/colorbar
驱动和配置已经上传Github,自取