香橙派zero2 linux 6.1.31 下点亮2.4寸SPI LCD屏幕(ili9341)

博主在香橙派zero2(Debian Bookworm Linux 6.1.31系统)上使用2.4寸spi lcd屏幕(ili9341),手册只有Linux 4.9驱动方案。博主连接屏幕、找到驱动模块,通过设备树overlay添加设备节点后成功点亮。还解决了dmesg报错和屏幕白屏等疑难问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

买了一块2.4寸的spi lcd屏幕(ili9341)想在香橙派zero2上使用,香橙派的系统是debian bookworm linux6.1.31,去用户手册中查找驱动方法,发现只有linux 4.9下驱动屏幕的方案。

正文

首先连接屏幕,按如下方式接线:

VCC 1 号引脚 3.3V

GND 6 号引脚

CS 24 号引脚 SPI1 CS

RESET 7 号引脚 PC9 -- 73

D/C 11 号引脚 PC6 -- 70

SDI(MOSI) 19 号引脚 SPI1 MOSI

SCK 23 号引脚 SPI1 CLK

LED 13 号引脚 PC5 -- 69

经过查找,发现有ili9341的驱动模块,位于:/lib/modules/6.1.31-sun50iw9/kernel/drivers/staging/fbtft/fb_ili9341.ko

于是通过设备树overlay添加ili9341的设备节点,如下:

ili9341.dts

/dts-v1/;
/plugin/;

/ {
	compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";	
fragment@0 {
    target = <&spi1>;
    __overlay__ {
      	status = "okay";      
      	cs-gpios = <&pio 7 9 0>; /* PH9 */
      	ili9341: ili9341@0 {
        	compatible = "ilitek,ili9341";
        	reg = <0>;
        	spi-max-frequency = <40000000>;
        	rotate = <90>;
        	bgr;
        	fps = <30>;
        	buswidth = <8>;
        	reset-gpios = <&pio 2 9 1>; /*RESET=PC9*/
        	dc-gpios = <&pio 2 6 0>; /*DC_RS=PC6*/
        	led-gpios = <&pio 2 5 0>; /*LED=PC5*/
        	debug = <0>;
      	};
    };
  };
};

执行:

sudo orangepi-add-overlay ili9341.dts

然后重启,成功点亮。

疑难杂症

1.dmesg出现以下报错:

pin PH9 already requested by 5011000.spi;

将ili9341.dts中的cs-gpio一行注释掉

2.fb0成功挂载,但是屏幕白屏

可以尝试更换cs的引脚,我把cs的引脚从PH9更换至PC7后可以正常点亮。

具体操作:

修改ili9341.dts,将 cs-gpios = <&pio 7 9 0>; 改为 cs-gpios = <&pio 2 7 0>; 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路人_yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值