在arch/arm/configs/rk3288_defconfig添加配置:?
CONFIG_LCD_MIPI=y
CONFIG_RK32_MIPI_DSI=y
2、dts文件夾增加dtsi tinming1改成timing0
3、dts取消LCD_BOX.dtsi 增加MIPI dtsi
VGA也是disabled
進入make muenuconfig把VGA關閉
uboot更改:
/home/jd/3288/u-boot/drivers/video/screen、lcd-mipi.c? ?復制保存
1、
static int rk_mipi_screen_init_dt(struct mipi_screen *screen)
{
struct mipi_dcs_cmd_ctr_list? *dcs_cmd;
u32 i,cmds[400]; 本來是20現改成400
2、
static int rk_mipi_screen_init_dt(struct mipi_screen *screen)
{
struct device_node *childnode, *grandchildnode, *root;
struct mipi_dcs_cmd_ctr_list? *dcs_cmd;
struct list_head *pos;
struct property *prop;
enum of_gpio_flags flags;
u32 value, i, debug, gpio, ret, cmds[44], length;
? ? ? ? ?本來是25現改成400
?
/home/jd/3288/u-boot/drivers/video/transmitter/mipi_dsi.h
struct dcs_cmd {
u8 type;
u8 dtype;
? ? u8 dsi_id;
? ? u8 cmd_len;
int cmds[400];本來是32現改成400
int delay;
? ? char name[32];
?
在uboot目錄下執行:
make rk3288_config
make
在uboot目錄下生成RK3288UbootLoader_V2.30.10.bin
?
kenel更改:
1、
kernel\drivers\video\rockchip\transmitter\mipi_dsi.h
#define INVALID_GPIO? ? ? ? -1
?
struct dcs_cmd {
u8 type;
u8 dtype;
? ? u8 dsi_id;
? ? u8 cmd_len;
int cmds[400];本來是32現改成400
int delay;
? ? char name[64];
2、
kernel\drivers\video\rockchip\screen\lcd_mipi.c? 復制保存
#ifdef CONFIG_LCD_MIPI
static int rk_mipi_screen_init_dt(struct mipi_screen *screen)
{
struct device_node *childnode, *grandchildnode, *root;
struct mipi_dcs_cmd_ctr_list *dcs_cmd;
struct list_head *pos;
struct property *prop;
enum of_gpio_flags flags;
u32 value, i, debug, gpio, ret, cmds[400], length;本來是64現改成400
?
static int rk_mipi_screen_init_dt(struct mipi_screen *screen)
{
struct mipi_dcs_cmd_ctr_list *dcs_cmd;
u32 i, cmds[400];? ;本來是64現改成400
int length;
int err;
int node;
const void *blob;
struct fdt_gpio_state gpio_val;
int noffset;
?注:kernel改完之后編譯提示數據太長,在makemenuconfig里面把Kernel hacking改成2048
dtsi中把復位設成高
make menuconfig中把boot logo打開
打開debg信息
driver/video/rockchip/transmitter/rk32_mipi_dsi.c 中的:
#defineMIPI_DBG(x...) printk(KERN_INFO x)。
driver/video/rockchip/screen/lcd_mipi.c 中的:
#defineMIPI_SCREEN_DBG(x...) printk(KERN_ERR x)。
編輯:fqj
評論