工具/软件:Linux
您好:
我正在使用定制的 AM3354板。 我们必须使其仅在3.2.0内核上运行。
Linux… 3.2.0 #71抢占 Thu APR 13 07:34:59 CEST 2017 ARMV7L GNU/Linux
我们正在集成使用 ST7789V IC 的 KD024FM-1B (2.4英寸 LCD) LCD。 我们已收到 LCD 制造商提供的3线 SPI 的 LCD 初始化代码。
下面是我的板级配置文件中的代码片段;
/* SPI */
#include
静态结构 pinmux_config SPI_pin_mux[]={
{"McASP0_aclkx.SPI1_SCLK"、 OMAP-MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN}、
{"McASP0_axr0.SPI1_D1"、 OMAP-MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN}、
{"McASP0_ahclkr.SPI1_cs0"、 OMAP-MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN}、
{NULL、0}、
};
/* LCD 控制器*/
静态常量结构 st7789fb_platform_data lcd_st7789fb_data ={
.rst_gpio = GPIO_TO_PIN (3、8)、
0.dc_GPIO = GPIO_TO_PIN (0、7)、
};
静态结构 SPI_board_info LCD_SPI1_SLAVE_INFO[]={
{
modalias ="st7789fb"、
platform_data =&lcd_st7789fb_data、
IRQ =-1、
.max_speed_Hz = 3000000、 //目前的问题是计时,最高尝试32MHz
bus_num = 2、
.chip_select = 0、
.mode = SPI_MODE_0、
}、
};
/*设置 LCD SPI1 */
静态空_init SPI_init (空)
{
SETUP_PIN_mux (SPI_PIN_mux);
SPI_REGISTER_board_INFO (LCD_SPI1_SLAVE_INFO、ARRAGE_SIZE (LCD_SPI1_SLAVE_INFO));
}
基于 https://github.com/ohporter/linux-am33x/tree/st7735fb 上的代码 ;我已根据 ST7789修改了初始化脚本
在包含驱动程序代码之后、register_framebuffer 出现问题、通过修补/修改以下内容来解决;
fbmem .c
我无法正确获取时序。 请建议。
注意:我们能够使用类似的方法使 ST7775正常工作。
此致、
Waman Prabhu