硬件平台:Luckfox Pico不带网口的那个硬件版本,LCD采用的是2.0in SPI驱动的LCD,显示芯片为ST7789VW,显示分辨率为320*240
软件平台:虚拟机中运行Ubuntu 22.04LTS
1. 首先第一步是移植LCD的驱动
下面的步骤是参与的官方tutorial:https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-LVGL
(1) 首先确定LCD模块与Luckfox开发板的连接线,然后修改设备树文件,设备树文件的目录在:
/luckfox-pico/sysdrv/source/kernel/arch/arm/boot/dts
这个luckfox-pico是下载的SDK解压后的根目录。Luckfox Pico对应的设备树文件为:
rv1103g-luckfox-pico.dts
要处理的管脚包括LCD的控制引脚:
// LCD_DC pin
gpio1pa2:gpio1pa2 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gpio1_pa2>;
regulator-name = "gpio1_pa2";
regulator-always-on;
};
// LCD_CS pin
gpio1pc0:gpio1pc0 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gpio1_pc0>;
regulator-name = "gpio1_pc0";
regulator-always-on;
};
// LCD_RST pin
gpio1pc3:gpio1pc3 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gpio1_pc3>;
regulator-name = "gpio1_pc3";
regulator-always-on;
};
// LCD_BL pin
gpio0pa4:gpio0pa4 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gpio0_pa4>;
regulator-name = "gpio0_pa4";
regulator-always-on;
};
&pinctrl {
// for LCD control
gpio1-pa2 {
gpio1_pa2:gpio1-pa2 {
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
gpio1-pc0 {
gpio1_pc0:gpio1-pc0 {
rockchip,pins = <1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
gpio1-pc3 {
gpio1_pc3:gpio1-pc3 {
rockchip,pins = <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
gpio0-pa4 {
gpio0_pa4: