本帖最后由 一只耳朵怪 于 2018-6-21 09:22 编辑
目前使用1366*768分别率的24bit连接方式的LVDS屏,内核一直报启动错误
da8xx_lcdc da8xx_lcdc.0: GLCD: kmalloc for frame buffer failed。
- 在def_config中设置
- CONFIG_FORCE_MAX_ZONEORDER=16
- CONFIG_FB_DA8XX_CONSISTENT_DMA_SIZE=14
- 在board-am335xevm.c中的配置为
- static struct pinmux_config lcdc_pin_mux[] = [ ["lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA],#if 1 ["gpmc_ad8.lcd_data16", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["gpmc_ad9.lcd_data17", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["gpmc_ad10.lcd_data18", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["gpmc_ad11.lcd_data19", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["gpmc_ad12.lcd_data20", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["gpmc_ad13.lcd_data21", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["gpmc_ad14.lcd_data22", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA], ["gpmc_ad15.lcd_data23", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT |AM33XX_PULL_DISA],#endif ["lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT], ["lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT], ["lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT], ["lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT], [NULL, 0],];static struct lcd_ctrl_config dvi_cfg = [&dvi_panel,.ac_bias = 255,.ac_bias_intrpt = 0,.dma_burst_sz = 16,.bpp = 24, /*RGB888*/.fdd = 0x80,.tft_alt_mode = 0,.stn_565_mode = 0,.mono_8bit_mode = 0,.invert_line_clock = 1,.invert_frm_clock = 1,.sync_edge = 0,.sync_ctrl = 1,.raster_order = 0,];
- struct da8xx_lcdc_platform_data TFT_HM185WX1_pdata = [.manu_name = "BOE",.controller_data = &dvi_cfg,.type = "HM185WX1-400",];
复制代码
在da8xx-fb.c中的配置为
[8] = [.name = "HM185WX1-400",.width = 1366, // 屏幕x轴像素长度.height = 768, // 屏幕y轴像素长度.hfp = 100, //水平前沿.hbp = 14, //水平后沿.hsw = 20, //水平同步信号脉冲.vfp = 18, //垂直前沿.vbp = 10, //垂直后沿.vsw = 10, //垂直同步信号脉冲.pxl_clk = 60000000, //像素时钟频率.invert_pxl_clk = 0,],
问下为什么报内核申请内存失败的错误,怎么解决,这是内核的报错信息
- da8xx_lcdc da8xx_lcdc.0: GLCD: Found HM185WX1-400 panel
- ------------[ cut here ]------------
- WARNING: at mm/page_alloc.c:2095 __alloc_pages_nodemask+0x448/0x600()
- Modules linked in:
- Backtrace:
- [] (dump_backtrace+0x0/0x110) from [] (dump_stack+0x18/0x1c)
- r6:c048b074 r5:0000082f r4:00000000 r3:c064dc0c
- [] (dump_stack+0x0/0x1c) from [] (warn_slowpath_common+0x5c/0x6c)
- [] (warn_slowpath_common+0x0/0x6c) from [] (warn_slowpath_null+0x24/0x2c)
- r8:00000000 r7:00000000 r6:c0680a04 r5:c062e0f0 r4:c069f448
- r3:00000009
- [] (warn_slowpath_null+0x0/0x2c) from [] (__alloc_pages_nodemask+0x448/0x600)
- [] (__alloc_pages_nodemask+0x0/0x600) from [] (__dma_alloc+0xa4/0x438)
- [] (__dma_alloc+0x0/0x438) from [] (dma_alloc_coherent+0x60/0x68)
- [] (dma_alloc_coherent+0x0/0x68) from [] (fb_probe+0xb90/0xba8)
- r7:cf06ac08 r6:cf19d650 r5:c0667040 r4:01002000
- [] (fb_probe+0x0/0xba8) from [] (platform_drv_probe+0x20/0x24)
- [] (platform_drv_probe+0x0/0x24) from [] (driver_probe_device+0xc0/0x2d8)
- [] (driver_probe_device+0x0/0x2d8) from [] (__driver_attach+0x94/0x98)
- r8:00000000 r7:00000000 r6:cf06ac3c r5:c0666e04 r4:cf06ac08
- [] (__driver_attach+0x0/0x98) from [] (bus_for_each_dev+0x58/0x84)
- r6:00000000 r5:c01eade8 r4:c0666e04 r3:c01eade8
- [] (bus_for_each_dev+0x0/0x84) from [] (driver_attach+0x24/0x28)
- r6:cf1bba40 r5:c066b5d0 r4:c0666e04
- [] (driver_attach+0x0/0x28) from [] (bus_add_driver+0x204/0x2d8)
- [] (bus_add_driver+0x0/0x2d8) from [] (driver_register+0x80/0x184)
- [] (driver_register+0x0/0x184) from [] (platform_driver_register+0x5c/0x60)
- [] (platform_driver_register+0x0/0x60) from [] (da8xx_fb_init+0x18/0x1c)
- [] (da8xx_fb_init+0x0/0x1c) from [] (do_one_initcall+0x3c/0x184)
- [] (do_one_initcall+0x0/0x184) from [] (kernel_init+0x9c/0x12c)
- [] (kernel_init+0x0/0x12c) from [] (do_exit+0x0/0x660)
复制代码
0
|
3个回答
|
|
|