<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Clock Mismatch in IMX6 in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Clock-Mismatch-in-IMX6/m-p/642944#M98129</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Igor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I guess I realized the condition what is causing the problem. Our product is based in your reference board and besides our lcd driver, I noticed there are other two drivers being loaded in the following order:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1)&amp;nbsp;mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver lcd &amp;nbsp;&lt;STRONG&gt;--&amp;gt; nxp fb&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;2) lcdif_init: 1 &amp;nbsp; &lt;STRONG&gt;--&amp;gt; which indicates is the lcdif driver probe was&amp;nbsp;triggered&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;2) LCD Driver: ==&lt;STRONG&gt;lcd_newhaven_probe (our lcd)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;mxc_sdc_fb&lt;/STRONG&gt; and &lt;STRONG&gt;lcd_newhaven&lt;/STRONG&gt; are calling the &lt;STRONG&gt;&lt;EM&gt;fb_set_var()&lt;/EM&gt; &lt;/STRONG&gt;function and causing the problem.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;mxc_sdc_fb()&lt;/EM&gt;&lt;/STRONG&gt; falls in the following register function:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;static int mxcfb_register(struct fb_info *fbi) {&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;some code here&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if (!mxcfbi-&amp;gt;late_init) {&lt;/STRONG&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fbi-&amp;gt;var.activate |= FB_ACTIVATE_FORCE;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;console_lock();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fbi-&amp;gt;flags |= FBINFO_MISC_USEREVENT;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret = fb_set_var(fbi, &amp;amp;fbi-&amp;gt;var);&lt;/STRONG&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fbi-&amp;gt;flags &amp;amp;= ~FBINFO_MISC_USEREVENT;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;console_unlock();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;if (ret &amp;lt; 0) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;dev_err(fbi-&amp;gt;device, "Error fb_set_var ret:%d\n", ret);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;goto err4;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;and my LCD driver():&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;static void lcd_newhaven_init_fb&lt;/STRONG&gt;(struct fb_info *info)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;struct fb_var_screeninfo var;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset(&amp;amp;var, 0, sizeof(var));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fb_videomode_to_var(&amp;amp;var, &amp;amp;video_modes[0]);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var.bits_per_pixel = DEF_BIT_PER_PIXEL;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var.activate = FB_ACTIVATE_ALL;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var.yres_virtual = var.yres * 3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;console_lock();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;info-&amp;gt;flags |= FBINFO_MISC_USEREVENT;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fb_set_var(info, &amp;amp;var);&lt;/STRONG&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;info-&amp;gt;flags &amp;amp;= ~FBINFO_MISC_USEREVENT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;console_unlock();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am not sure why but &amp;nbsp;the right way to implement this without this warning I mentioned in the first question. Could you please give me some advise and tell me what I am doing wrong ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Many thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 10 Nov 2016 07:34:26 GMT</pubDate>
    <dc:creator>manoelramon</dc:creator>
    <dc:date>2016-11-10T07:34:26Z</dc:date>
    <item>
      <title>Clock Mismatch in IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Clock-Mismatch-in-IMX6/m-p/642942#M98127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've noticed a clock mismatch warning message during the boot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please give some guidance how to set the plls properly on IMX6 ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am running Android&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;WARNING: at arch/arm/plat-mxc/clock.c:63 clk_disable+0x44/0x8c()&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;clock enable/disable mismatch! clk ipu1_clk&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Modules linked in:&lt;/STRONG&gt;&lt;BR /&gt;[&amp;lt;c0072fc4&amp;gt;] (unwind_backtrace+0x0/0x138) from [&amp;lt;c00accc4&amp;gt;] (warn_slowpath_common+0x4c/0x64)&lt;BR /&gt;[&amp;lt;c00accc4&amp;gt;] (warn_slowpath_common+0x4c/0x64) from [&amp;lt;c00acd70&amp;gt;] (warn_slowpath_fmt+0x30/0x40)&lt;BR /&gt;[&amp;lt;c00acd70&amp;gt;] (warn_slowpath_fmt+0x30/0x40) from [&amp;lt;c008e444&amp;gt;] (clk_disable+0x44/0x8c)&lt;BR /&gt;[&amp;lt;c008e444&amp;gt;] (clk_disable+0x44/0x8c) from [&amp;lt;c03055dc&amp;gt;] (mxcfb_set_par+0x69c/0x834)&lt;BR /&gt;[&amp;lt;c03055dc&amp;gt;] (mxcfb_set_par+0x69c/0x834) from [&amp;lt;c02f2c88&amp;gt;] (fb_set_var+0x124/0x290)&lt;BR /&gt;[&amp;lt;c02f2c88&amp;gt;] (fb_set_var+0x124/0x290) from [&amp;lt;c03088c4&amp;gt;] (lcd_newhaven_init_fb+0x5c/0x78)&lt;BR /&gt;[&amp;lt;c03088c4&amp;gt;] (lcd_newhaven_init_fb+0x5c/0x78) from [&amp;lt;c067a370&amp;gt;] (lcd_newhaven_probe+0xb8/0x120)&lt;BR /&gt;[&amp;lt;c067a370&amp;gt;] (lcd_newhaven_probe+0xb8/0x120) from [&amp;lt;c033043c&amp;gt;] (platform_drv_probe+0x18/0x1c)&lt;BR /&gt;[&amp;lt;c033043c&amp;gt;] (platform_drv_probe+0x18/0x1c) from [&amp;lt;c032f084&amp;gt;] (driver_probe_device+0xb0/0x290)&lt;BR /&gt;[&amp;lt;c032f084&amp;gt;] (driver_probe_device+0xb0/0x290) from [&amp;lt;c032f2f0&amp;gt;] (__driver_attach+0x8c/0x90)&lt;BR /&gt;[&amp;lt;c032f2f0&amp;gt;] (__driver_attach+0x8c/0x90) from [&amp;lt;c032e0d8&amp;gt;] (bus_for_each_dev+0x5c/0x88)&lt;BR /&gt;[&amp;lt;c032e0d8&amp;gt;] (bus_for_each_dev+0x5c/0x88) from [&amp;lt;c032e970&amp;gt;] (bus_add_driver+0x188/0x268)&lt;BR /&gt;[&amp;lt;c032e970&amp;gt;] (bus_add_driver+0x188/0x268) from [&amp;lt;c032f7c0&amp;gt;] (driver_register+0x78/0x13c)&lt;BR /&gt;[&amp;lt;c032f7c0&amp;gt;] (driver_register+0x78/0x13c) from [&amp;lt;c0023768&amp;gt;] (lcd_newhaven_init+0xc/0x24)&lt;BR /&gt;[&amp;lt;c0023768&amp;gt;] (lcd_newhaven_init+0xc/0x24) from [&amp;lt;c0065640&amp;gt;] (do_one_initcall+0xfc/0x164)&lt;BR /&gt;[&amp;lt;c0065640&amp;gt;] (do_one_initcall+0xfc/0x164) from [&amp;lt;c00089a8&amp;gt;] (kernel_init+0x9c/0x140)&lt;BR /&gt;[&amp;lt;c00089a8&amp;gt;] (kernel_init+0x9c/0x140) from [&amp;lt;c006c408&amp;gt;] (kernel_thread_exit+0x0/0x8)&lt;BR /&gt;---[ end trace 65f8ea860415c04f ]---&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Nov 2016 00:13:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Clock-Mismatch-in-IMX6/m-p/642942#M98127</guid>
      <dc:creator>manoelramon</dc:creator>
      <dc:date>2016-11-09T00:13:49Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Mismatch in IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Clock-Mismatch-in-IMX6/m-p/642943#M98128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Manoel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;warning "enable/disable mismatch" means that one&lt;/P&gt;&lt;P&gt;enable/disable clock twice: that is enables it when it is already&lt;/P&gt;&lt;P&gt;enabled somewhere. In general one can debug it using AN4553&lt;/P&gt;&lt;P&gt;Using Open Source Debugging Tools for Linux on i.MX Processors&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://cache.nxp.com/files/32bit/doc/app_note/AN4553.pdf" title="http://cache.nxp.com/files/32bit/doc/app_note/AN4553.pdf"&gt;http://cache.nxp.com/files/32bit/doc/app_note/AN4553.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For plls configuring one can refer to EB790&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://cache.nxp.com/files/32bit/doc/eng_bulletin/EB790.pdf" title="http://cache.nxp.com/files/32bit/doc/eng_bulletin/EB790.pdf"&gt;http://cache.nxp.com/files/32bit/doc/eng_bulletin/EB790.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Nov 2016 07:20:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Clock-Mismatch-in-IMX6/m-p/642943#M98128</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2016-11-09T07:20:27Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Mismatch in IMX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Clock-Mismatch-in-IMX6/m-p/642944#M98129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Igor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I guess I realized the condition what is causing the problem. Our product is based in your reference board and besides our lcd driver, I noticed there are other two drivers being loaded in the following order:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1)&amp;nbsp;mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver lcd &amp;nbsp;&lt;STRONG&gt;--&amp;gt; nxp fb&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;2) lcdif_init: 1 &amp;nbsp; &lt;STRONG&gt;--&amp;gt; which indicates is the lcdif driver probe was&amp;nbsp;triggered&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;2) LCD Driver: ==&lt;STRONG&gt;lcd_newhaven_probe (our lcd)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;mxc_sdc_fb&lt;/STRONG&gt; and &lt;STRONG&gt;lcd_newhaven&lt;/STRONG&gt; are calling the &lt;STRONG&gt;&lt;EM&gt;fb_set_var()&lt;/EM&gt; &lt;/STRONG&gt;function and causing the problem.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;mxc_sdc_fb()&lt;/EM&gt;&lt;/STRONG&gt; falls in the following register function:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;static int mxcfb_register(struct fb_info *fbi) {&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;some code here&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if (!mxcfbi-&amp;gt;late_init) {&lt;/STRONG&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fbi-&amp;gt;var.activate |= FB_ACTIVATE_FORCE;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;console_lock();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fbi-&amp;gt;flags |= FBINFO_MISC_USEREVENT;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret = fb_set_var(fbi, &amp;amp;fbi-&amp;gt;var);&lt;/STRONG&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;fbi-&amp;gt;flags &amp;amp;= ~FBINFO_MISC_USEREVENT;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;console_unlock();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;if (ret &amp;lt; 0) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;dev_err(fbi-&amp;gt;device, "Error fb_set_var ret:%d\n", ret);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;goto err4;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;and my LCD driver():&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;static void lcd_newhaven_init_fb&lt;/STRONG&gt;(struct fb_info *info)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;struct fb_var_screeninfo var;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset(&amp;amp;var, 0, sizeof(var));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fb_videomode_to_var(&amp;amp;var, &amp;amp;video_modes[0]);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var.bits_per_pixel = DEF_BIT_PER_PIXEL;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var.activate = FB_ACTIVATE_ALL;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var.yres_virtual = var.yres * 3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;console_lock();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;info-&amp;gt;flags |= FBINFO_MISC_USEREVENT;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fb_set_var(info, &amp;amp;var);&lt;/STRONG&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;info-&amp;gt;flags &amp;amp;= ~FBINFO_MISC_USEREVENT;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;console_unlock();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am not sure why but &amp;nbsp;the right way to implement this without this warning I mentioned in the first question. Could you please give me some advise and tell me what I am doing wrong ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Many thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Nov 2016 07:34:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Clock-Mismatch-in-IMX6/m-p/642944#M98129</guid>
      <dc:creator>manoelramon</dc:creator>
      <dc:date>2016-11-10T07:34:26Z</dc:date>
    </item>
  </channel>
</rss>

