Page 1 of 1

SDK构建的buildroot无法成功加载ilitft的ili9341

Posted: 2025-09-18 14:52
by keyspan
我使用luckfox pico pro max尝试构建一个支持ili9341屏幕的linux,使用的guthub最新的SDK源码。
设备树修改的内容:
/ {
model = "Luckfox Pico Pro Max";
compatible = "rockchip,rv1103g-38x38-ipc-v10", "rockchip,rv1106g3";
backlight:backlight{
compatible = "gpio-backlight";
pinctrl-names = "default";
pinctrl-0 = <&gpio1_pc7>;
gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
default-on;
};
/*LCD_DC*/
gpio2pb1:gpio2pb1 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gpio2_pb1>;
regulator-name = "gpio2_pb1";
regulator-always-on;
};

/*LCD_RES*/
gpio1pc6:gpio1pc6 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gpio1_pc6>;
regulator-name = "gpio1_pc6";
regulator-always-on;
};
};
/**********GPIO**********/
&pinctrl {

/*LCD_BL*/
gpio1-pc7 {
gpio1_pc7:gpio1-pc7 {
rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
/*LCD_DC*/
gpio2-pb1 {
gpio2_pb1:gpio2-pb1 {
rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};

/*LCD_RES*/
gpio1-pc6 {
gpio1_pc6:gpio1-pc6 {
rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
/**********SPI**********/
&spi0 {
status = "okay";
pinctrl-names = "default";
// pinctrl-0 = <&spi0m0_pins>;
// cs-gpios = <&gpio1 RK_PC0 1>;
pinctrl-0 = <&spi0m0_clk &spi0m0_mosi &spi0m0_cs0>;
spidev@0 {
status = "disabled";
// spi-max-frequency = <50000000>;
};
fbtft@0 {
status = "okay";
compatible = "ilitek,ili9341";
reg = <0>;
pinctrl-names = "default";
spi-max-frequency = <20000000>;
fps = <30>;
width = <240>;
height = <320>;
buswidth = <8>;
debug = <0x7>;
//led-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>; //BL
dc = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; //DC
reset = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>; //RES
backlight = &backlight;
};
};

进入系统后查不到fbtft相关的日志:
[root@luckfox ]# ls dev/fb*
dev/fb0
[root@luckfox ]# dmesg | grep -E "(fb|display|lcd|spi|ili9341)" | head -10
[ 1443.245272] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
[ 1443.245282] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
[ 1443.245290] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
[ 1443.245297] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
[ 1443.245307] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
[ 1443.245314] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
[ 1443.245320] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
[ 1443.245332] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
[ 1443.245339] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
[ 1443.245346] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
[root@luckfox ]# dmesg | grep -i fbtft
[root@luckfox ]# dmesg | grep -i ili9341
[root@luckfox ]# dmesg | grep -i spi
[ 1461.245357] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
[ 1461.245367] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
[ 1461.245375] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
[ 1461.245381] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
[ 1461.245391] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
[ 1461.245399] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
[ 1461.245405] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
[ 1461.245415] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
[ 1461.245424] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
[ 1461.245430] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1

Re: SDK构建的buildroot无法成功加载ilitft的ili9341

Posted: 2025-09-20 7:01
by Crocodile
您好,您的内核日志中只有ffac0000.spi的相关提示信息,这个是sfc(spi-nand或spi-nor)的设备驱动信息,不是您所配置的spi0(spi@ff500000)的信息,请检查一下驱动或设备树是否配置生效,建议使用 /var/log/message 来确定,dmesg的信息存储有限制,超过限制会丢弃早期信息

Re: SDK构建的buildroot无法成功加载ilitft的ili9341

Posted: 2025-09-20 15:07
by keyspan
Crocodile wrote: 2025-09-20 7:01 您好,您的内核日志中只有ffac0000.spi的相关提示信息,这个是sfc(spi-nand或spi-nor)的设备驱动信息,不是您所配置的spi0(spi@ff500000)的信息,请检查一下驱动或设备树是否配置生效,建议使用 /var/log/message 来确定,dmesg的信息存储有限制,超过限制会丢弃早期信息
查看message也是显示这些信息,请问怎么查看配置生效?目前是用ls dev下的设备来看的。附上message的log:
[root@luckfox log]# cat messages
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.178632] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.178643] rockchip-sfc ffac0000.spi: sfc addr.nbytes=2(x1) dummy.nbytes=1(x1)
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.178652] rockchip-sfc ffac0000.spi: sfc ctrl=2002 cmd=c86b addr=0 len=800 cs=0
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.178661] rockchip-sfc ffac0000.spi: sfc xfer_dma len=800
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179683] rockchip-sfc ffac0000.spi: sfc addr.nbytes=3(x1) dummy.nbytes=0(x0)
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179697] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=5013 addr=af25 len=0 cs=0
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179715] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179722] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179732] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179747] rockchip-sfc ffac0000.spi: sfc addr.nbytes=1(x1) dummy.nbytes=0(x0)
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179755] rockchip-sfc ffac0000.spi: sfc ctrl=2 cmd=c00f addr=c0 len=1 cs=0
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179762] rockchip-sfc ffac0000.spi: sfc xfer_poll len=1
Jan 1 00:00:10 luckfox kern.debug kernel: [ 10.179775] rockchip-sfc ffac0000.spi: sfc addr.nbytes=2(x1) dummy.nbytes=1(x1)

Re: SDK构建的buildroot无法成功加载ilitft的ili9341

Posted: 2025-09-22 1:34
by Crocodile
驱动的调试和内核信息确定就没办法提供指引了,至少需要确定有spi@ff50000 相关的信息,/sys/class/spi_master/spi0/spi0.0/of_node下有li9341设备树相关的信息。
可以参考 luckfox-config 默认支持的st7789的设备树,或者重新烧录网盘镜像(修改设备树可能导致luckfox-config 部分功能异常)使用luckfox-config 打开FBTFT对比正确配置的内核日志

Re: SDK构建的buildroot无法成功加载ilitft的ili9341

Posted: 2025-09-29 3:19
by keyspan
Crocodile wrote: 2025-09-22 1:34 驱动的调试和内核信息确定就没办法提供指引了,至少需要确定有spi@ff50000 相关的信息,/sys/class/spi_master/spi0/spi0.0/of_node下有li9341设备树相关的信息。
可以参考 luckfox-config 默认支持的st7789的设备树,或者重新烧录网盘镜像(修改设备树可能导致luckfox-config 部分功能异常)使用luckfox-config 打开FBTFT对比正确配置的内核日志
我用官方镜像的luckfox-config开启了一次fbtft,然后根据这个链接里面的设备树进行修改,设置kernelconfig,貌似还是没有启动spi@ff50000,RV1106的LVGL百度云盘链接挂了,可以补一个:
https://wiki.luckfox.com/zh/Luckfox-Pic ... -Pico-LVGL
在官方镜像里面我看到有一个提示是启动了spi_m0会无法启动fbtft。这个是指设备树中的spidev@0?还是kernelconfig里面还要设置关闭spi相应的功能?

Re: SDK构建的buildroot无法成功加载ilitft的ili9341

Posted: 2025-09-30 7:43
by Crocodile
您参考的链接是废弃的说明,现在以官网进入的为准,kernelconfig只需要开启 Support for small TFT LCD display modules 您需要使用的控制芯片支持即可,其他选项不用修改。
提示启动了spi_m0会无法启动fbtft 是因为两个驱动都基于 spi@ff50000 ,如果开启了 fbtft 会占用设备所以同一时间spidev和fbtft只能支持一个