AnsweredAssumed Answered

IPU WARNING :  IPU_INT_STAT_5 = 0x00800000/IPU_INT_STAT_10 = 0x00080000

Question asked by 尚飞 汤 on Jun 11, 2015
Latest reply on Jun 23, 2015 by 尚飞 汤

I used ipu_id 0 and disp id 0,the follow is my uboot config:

#elif defined CONFIG_MX6DL /* CONFIG_MX6Q */

  /*

  * IPU1 HSP clock tree:

  * osc_clk(24M)->pll3_usb_otg_main_clk(480M)->

  * pll3_pfd_540M(540M)->ipu1_clk(270M)

  */

  /* pll3_usb_otg_main_clk */

  /* divider */

  writel(0x3, ANATOP_BASE_ADDR + 0x18);

 

 

  /* pll3_pfd_540M */

  /* divider */

  writel(0x3F << 8, ANATOP_BASE_ADDR + 0xF8);

  writel(0x10 << 8, ANATOP_BASE_ADDR + 0xF4);

  /* enable */

  writel(0x1 << 15, ANATOP_BASE_ADDR + 0xF8);

 

 

  /* ipu1_clk */

  reg = readl(CCM_BASE_ADDR + CLKCTL_CSCDR3);

  /* source */

  reg |= (0x3 << 9);

  /* divider */

  reg &= ~(0x7 << 11);

  reg |= (0x1 << 11);

  writel(reg, CCM_BASE_ADDR + CLKCTL_CSCDR3);

 

 

  /*

  * ipu1_pixel_clk_x clock tree:

  * osc_clk(24M)->pll2_528_bus_main_clk(528M)->

  * pll2_pfd_352M(452.57M)->ldb_dix_clk(64.65M)->

  * ipu1_di_clk_x(64.65M)->ipu1_pixel_clk_x(64.65M)

  */

  /* pll2_528_bus_main_clk */

  /* divider */

  writel(0x1, ANATOP_BASE_ADDR + 0x34);

 

 

  /* pll2_pfd_352M */

  /* disable */

  writel(0x1 << 7, ANATOP_BASE_ADDR + 0x104);

  /* divider */

  writel(0x3F, ANATOP_BASE_ADDR + 0x108);

  writel(0x15, ANATOP_BASE_ADDR + 0x104);

 

 

  /* ldb_dix_clk */

  /* source */

  reg = readl(CCM_BASE_ADDR + CLKCTL_CS2CDR);

  reg &= ~(0x3F << 9);

  reg |= (0x9 << 9);

  writel(reg, CCM_BASE_ADDR + CLKCTL_CS2CDR);

  /* divider */

  reg = readl(CCM_BASE_ADDR + CLKCTL_CSCMR2);

  reg |= (0x3 << 10);

  writel(reg, CCM_BASE_ADDR + CLKCTL_CSCMR2);

 

 

  /* pll2_pfd_352M */

  /* enable after ldb_dix_clk source is set */

  writel(0x1 << 7, ANATOP_BASE_ADDR + 0x108);

 

 

  /* ipu1_di_clk_x */

  /* source */

  reg = readl(CCM_BASE_ADDR + CLKCTL_CHSCCDR);

  reg &= ~0xE07;

  reg |= 0x803;

  writel(reg, CCM_BASE_ADDR + CLKCTL_CHSCCDR);

#endif /* CONFIG_MX6DL */

 

 

  /* Enable ipu1/ipu1_dix/ldb_dix clocks. */

  if (di == 1) {

  reg = readl(CCM_BASE_ADDR + CLKCTL_CCGR3);

  reg |= 0xC033;

  writel(reg, CCM_BASE_ADDR + CLKCTL_CCGR3);

  } else {

  reg = readl(CCM_BASE_ADDR + CLKCTL_CCGR3);

  reg |= 0x300F;

  writel(reg, CCM_BASE_ADDR + CLKCTL_CCGR3);

  }

 

 

  ret = ipuv3_fb_init(&lvds_xga, di, IPU_PIX_FMT_RGB666,

  DI_PCLK_LDB, 64650000);

  if (ret)

  puts("LCD cannot be configured\n");

 

 

  /*

  * LVDS0 mux to IPU1 DI0.

  * LVDS1 mux to IPU1 DI1.

  */

  reg = readl(IOMUXC_BASE_ADDR + 0xC);

  reg &= ~(0x000003C0);

  reg |= 0x00000100;

  writel(reg, IOMUXC_BASE_ADDR + 0xC);

 

 

  if (di == 1)

  writel(0x40C, IOMUXC_BASE_ADDR + 0x8);

  else

  writel(0x201, IOMUXC_BASE_ADDR + 0x8);

/*Qisda,Aaron.SF.Tang,20150506,add for uboot logo show{*/

  enable_lcd_power();

 

and this is my cmdline:

init=/init video=mxcfb0:dev=ldb,LDB-PAT215,if=RGB666,bpp=32 ldb=sin0 video=mxcfb2:off fbmem=28M vmalloc=400M fb0base=0x27b00000

 

and this is my panel timing:

static struct fb_videomode lvds_xga = {

  "XGA", 60, 1024, 768, 15468,

  240, 48,

  23, 3,

  32, 12,

  FB_SYNC_EXT,

  FB_VMODE_NONINTERLACED,

  0,

};

 

did  my config has any error??when the uboot logo running to the kernel ,the follow error happen:

<7>[    1.112367] [aaron]mxcfb_probe

 

 

<7>[    1.112443] [aaron]mxcfb_option_setup

 

 

<7>[    1.112570] [aaron]mxcfb_dispdrv_init

 

 

<6>[    1.112639] mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver ldb

 

 

<7>[    1.112760] [aaron]ldb_disp_init

 

 

<4>[    1.112827] ------------[ cut here ]------------

 

 

<4>[    1.112904] WARNING: at /home/aaron/work_place/Pat_215/imx6jb2/kernel_imx/drivers/video/mxc/ldb.c:462 ldb_disp_init+0x34/0xc28()

 

 

<7>[    1.113030] Modules linked in:

 

 

<7>[    1.113240] [<c004c9e4>] (unwind_backtrace+0x0/0x138) from [<c0084660>] (warn_slowpath_common+0x4c/0x64)

 

 

<7>[    1.113316] [<c0084660>] (warn_slowpath_common+0x4c/0x64) from [<c0084694>] (warn_slowpath_null+0x1c/0x24)

 

 

<7>[    1.113446] [<c0084694>] (warn_slowpath_null+0x1c/0x24) from [<c029d8a4>] (ldb_disp_init+0x34/0xc28)

 

 

<7>[    1.113577] [<c029d8a4>] (ldb_disp_init+0x34/0xc28) from [<c029f478>] (mxc_dispdrv_gethandle+0x5c/0xa4)

 

 

<7>[    1.113709] [<c029f478>] (mxc_dispdrv_gethandle+0x5c/0xa4) from [<c02a3238>] (mxcfb_probe+0x21c/0xb4c)

 

 

<7>[    1.113844] [<c02a3238>] (mxcfb_probe+0x21c/0xb4c) from [<c02d7360>] (platform_drv_probe+0x18/0x1c)

 

 

<7>[    1.113976] [<c02d7360>] (platform_drv_probe+0x18/0x1c) from [<c02d5fa8>] (driver_probe_device+0xb0/0x290)

 

 

<7>[    1.114052] [<c02d5fa8>] (driver_probe_device+0xb0/0x290) from [<c02d6214>] (__driver_attach+0x8c/0x90)

 

 

<7>[    1.114181] [<c02d6214>] (__driver_attach+0x8c/0x90) from [<c02d4ffc>] (bus_for_each_dev+0x5c/0x88)

 

 

<7>[    1.114309] [<c02d4ffc>] (bus_for_each_dev+0x5c/0x88) from [<c02d5894>] (bus_add_driver+0x188/0x268)

 

 

<7>[    1.114442] [<c02d5894>] (bus_add_driver+0x188/0x268) from [<c02d66e4>] (driver_register+0x78/0x13c)

 

<7>[    1.114577] [<c02d66e4>] (driver_register+0x78/0x13c) from [<c003f640>] (do_one_initcall+0xfc/0x164)

 

<7>[    1.114707] [<c003f640>] (do_one_initcall+0xfc/0x164) from [<c00089a8>] (kernel_init+0x9c/0x140)

 

<7>[    1.114783] [<c00089a8>] (kernel_init+0x9c/0x140) from [<c0046408>] (kernel_thread_exit+0x0/0x8)

 

<4>[    1.114920] ---[ end trace 199f8b1c5287134b ]---

 

<3>[    1.125037] _regulator_get: get() with no identifier

 

<7>[    1.125193] [aaron]reg=256d,ipu=0,di=0,ldb_ipu_ldb_route

 

<7>[    1.125267] [aaron]mxcfb_check_var

 

<7>[    1.125389] [aaron]mxcfb_check_var

 

<7>[    1.125457] [aaron]ipu=0

 

<7>[    1.125459] ,di=0[aaron]mxcfbi->ipu_id=0,mxcfbi->ipu_di=0

 

<7>[    1.126166] [aaron]mxcfb_register

 

<7>[    1.126234] [aaron]mxcfb_check_var

 

<7>[    1.126303] [aaron]ipu_request_irq_late_init

 

<7>[    1.126425] [aaron]ipu_request_irq_late_init

 

<7>[    1.126495] [aaron]ipu_request_irq_late_init

 

<7>[    1.126561] [aaron]ipu_request_irq_late_init

 

<7>[    1.126684] [aaron]ipu_init_channel_late_init

 

<4>[    1.126699] ------------[ cut here ]------------

<4>[    1.126717] WARNING: at /home/aaron/work_place/Pat_215/imx6jb2/kernel_imx/drivers/mxc/ipu3/ipu_common.c:1966 ipu_enable_channel+0x24/0x584()

<7>[    1.126726] Modules linked in:

<7>[    1.126748] [<c004c9e4>] (unwind_backtrace+0x0/0x138) from [<c0084660>] (warn_slowpath_common+0x4c/0x64)

<7>[    1.126763] [<c0084660>] (warn_slowpath_common+0x4c/0x64) from [<c0084694>] (warn_slowpath_null+0x1c/0x24)

<7>[    1.126777] [<c0084694>] (warn_slowpath_null+0x1c/0x24) from [<c03faf68>] (ipu_enable_channel+0x24/0x584)

<4>[    1.126944] ---[ end trace 199f8b1c5287134c ]---

 

<7>[    1.126950] [aaron]ipu_enable_channel

 

<7>[    1.128922] mxcfbi->cur_var = 1024

 

<7>[    1.128987] fb_info->mode->name = LDB-PAT215

 

<7>[    1.129107] fb_info->mode->sync = 0

 

<7>[    1.129174] fb_info->mode->vmode = 0

 

<7>[    1.129238] fb_info->mode->flag = 1

<7>[    1.129583] do_register_framebuffer_logo ret = 0

7>[    1.129662] [aaron]mxcfb_setup_overlay

<7>[    1.129738] [aaron]mxcfb_register

<7>[    1.129861] [aaron]mxcfb_check_var

<7>[    1.129930] [aaron]ipu_request_irq_late_init

[    1.129996] [aaron]ipu_request_irq_late_init

<7>[    1.130115] [aaron]ipu_request_irq_late_init

<4>[    1.132996] ---[ end trace 199f8b1c5287134d ]---

<7>[    1.133288] [aaron]mxcfb_probe

<7>[    1.133358] [aaron]mxcfb_option_setup

<7>[    1.133425] [aaron]mxcfb_dispdrv_init

<6>[    1.133547] mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb

<7>[    1.133615] [aaron]ldb_disp_init

<3>[    1.145946] mxc_ldb mxc_ldb: for second ldb displdb mode should in separate mode

<3>[    1.146075] mxc_sdc_fb mxc_sdc_fb.1: NO mxc display driver found!

<6>[    1.146796] imx-sdma imx-sdma: loaded firmware 1.1

<6>[    1.151492] imx-sdma imx-sdma: initialized

<6>[    1.290311] Serial: IMX driver

<6>[    1.290496] imx-uart.4: ttymxc4 at MMIO 0x21f4000 (irq = 62) is a IMX

<6>[    1.291634] imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX

<6>[    1.292275] imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX

<6>[    1.298663] loop: module loaded

<4>[    1.298858] i2c-core: driver [isl29003] using legacy suspend method

[    1.298983] i2c-core: driver [isl29003] using legacy resume method

<7>[    1.299501] /home/aaron/work_place/Pat_215/imx6jb2/kernel_imx/drivers/misc/qdebug.c dev_init done.

<6>[    1.300696] FEC Ethernet Driver

<6>[    1.303372] fec_enet_mii_bus: probed

<7>[    1.306588] [aaron]ipu_err_irq_handler

<4>[    1.306668] imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00800000

<4>[    1.306793] imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000

Outcomes