蒙工 发表于 2026-1-13 16:33:04

求助,OK1131i-s开发板如何适配mipi 屏幕?

本帖最后由 蒙工 于 2026-1-13 16:35 编辑

我按https://forlinx-book.yuque.com/pxh4d1/gfqde1/ia3hh7ecgabw8sph 说明把display_menu.c 改了:
<font color="#e4e4e4"> </font>{
    unsigned int phandle0 = 0;
    unsigned int phandle1 = 0;
    int offset_node = 0;
    unsigned long buffer = env_get_ulong("board", 10, 0);

    printf("bootup_menu_setprop_by_lcd_mipi_1024_600\n");

    bootup_hal_save_lcd_to_kernel("lcd_used", FDT_UINT_VALUE, 1, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_if", FDT_UINT_VALUE, 4, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_driver_name", FDT_STRING_VALUE, 0, "hx8279_d");

    bootup_hal_save_lcd_to_kernel("lcd_x", FDT_UINT_VALUE, 1200, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_y", FDT_UINT_VALUE, 1920, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_width", FDT_UINT_VALUE, 135, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_height", FDT_UINT_VALUE, 216, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_dclk_freq", FDT_UINT_VALUE, 135, NULL);

    bootup_hal_save_lcd_to_kernel("lcd_hbp", FDT_UINT_VALUE, 20, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_ht", FDT_UINT_VALUE, 1240, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_hspw", FDT_UINT_VALUE, 10, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_vbp", FDT_UINT_VALUE, 12, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_vt", FDT_UINT_VALUE, 1944, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_vspw", FDT_UINT_VALUE, 4, NULL);

    bootup_hal_save_lcd_to_kernel("lcd_dsi_lane", FDT_UINT_VALUE, 4, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_dsi_if", FDT_UINT_VALUE, 0, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_dsi_format", FDT_UINT_VALUE, 0, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_dsi_te", FDT_UINT_VALUE, 0, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_lvds_if", FDT_UINT_VALUE, 0, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_lvds_colordepth", FDT_UINT_VALUE, 0, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_lvds_mode", FDT_UINT_VALUE, 0, NULL);
    bootup_hal_save_lcd_to_kernel("lcd_frm", FDT_UINT_VALUE, 0, NULL);




&lcd0 {
    lcd_used            = <1>;
    lcd_driver_name   = "hx8279_d";
    lcd_backlight       = <150>;
    lcd_if            = <4>;

    lcd_x               = <1200>;
    lcd_y               = <1920>;
    lcd_width         = <135>;
    lcd_height          = <216>;
    lcd_dclk_freq       = <135>;

    lcd_pwm_used      = <1>;
    lcd_pwm_ch          = <3>;
    lcd_pwm_freq      = <20000>;
    lcd_pwm_pol         = <1>;
    lcd_pwm_max_limit   = <255>;

   /* hsync back porch(pixel) + hsync plus width(pixel) */
    lcd_hbp             = <20>;
    /* vsync back porch(line) + vysnc plus width(line) */
    lcd_vbp             = <12>;

    /* VBP + VFP + VSPW + Vertical Resolution */
    lcd_vt            = <1944>;

    /* HBP + HFP + HSPW +   Horizontal Resolution */
    lcd_ht            = <1240>;

    /* Vertical Sync Pluse Width */
    lcd_vspw            = <4>;
    /* Horizontal Sync Pluse Width */
    lcd_hspw            = <10>;
       
        lcd_dsi_lane      = <4>;
    lcd_dsi_if          = <0>;
    lcd_dsi_format      = <0>;
    lcd_dsi_te          = <0>;
    lcd_frm             = <0>;
    lcd_io_phase      = <0>;
    lcd_gamma_en      = <0>;
    lcd_bright_curve_en = <0>;
    lcd_cmap_en         = <0>;

    deu_mode            = <0>;
    lcdgamma4iep      = <22>;
    smart_color         = <90>;

    lcd_gpio_0 = <&pio PB 1 1 0xffffffff 0xffffffff 0x1>;
    pinctrl-0 = <&dsi4lane_pins_a>;
    pinctrl-1 = <&dsi4lane_pins_b>;
};



设备树也都改了,在./build.sh config 选的4.mipi_1024_600板子,编译烧录进去没有反应,我示波器看,MIPI CLK也没有输出,不知道怎么适配mipi屏幕,求助各位大神,谢谢,感激不尽

蒙工 发表于 2026-1-14 15:35:47

这个板子有没有点过MIPI朋友求助了,困扰了好多天

蒙工 发表于 2026-1-16 13:48:39

已解决,问题是硬件板子Pin错位了,还有厂家给的初始化代码有问题,吧初始化代码去掉能正常显示了

llllllyyyqqq 发表于 2026-1-20 11:58:22

蒙工 发表于 2026-1-16 13:48
已解决,问题是硬件板子Pin错位了,还有厂家给的初始化代码有问题,吧初始化代码去掉能正常显示了

老哥是直接去掉还是自己修改那,能不能贴个图看看
页: [1]
查看完整版本: 求助,OK1131i-s开发板如何适配mipi 屏幕?