<?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>i.MX Processors中的主题 Re: logo from uboot to kernel patch on imx6s; display flicker/red during boot</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939221#M140636</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From my point, only the first time boot up, you can skip that ipu clock code, because Uboot had alreay initialized it. But for suspend/resume case, that code is needed. &lt;/P&gt;&lt;P&gt;In another words, you need make sure, blank and unblank the display, the display should be off and on successfully.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 06 Jun 2019 02:43:05 GMT</pubDate>
    <dc:creator>qiang_li-mpu_se</dc:creator>
    <dc:date>2019-06-06T02:43:05Z</dc:date>
    <item>
      <title>logo from uboot to kernel patch on imx6s; display flicker/red during boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939217#M140632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello we have implemented the&amp;nbsp;&lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-98109"&gt;Bootlogo from uboot to kernel&lt;/A&gt;&amp;nbsp;patch for our BSP and came across an issue on the i.mx6 Solo only (no issue on imx6 quad).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have implemented the following patches on kernel 4.9.11-1.0.0:&lt;/P&gt;&lt;P&gt;L4.1.15_GA1.2.0_uboot_logo_keep_patch_2017-01-06.zip&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When we applied this the display stayed black during boot in Linux. For our 7" display, the display shows a test image (red, blue, green, some patterns..) because the display had a clock but no data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We were able to get the logo to display during Linux boot by making some changes, discussed below.&lt;/P&gt;&lt;P&gt;However, an issue remains; the display is shorty black during boot of Linux, or red in the case in one of the 7" display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The changes we made are the following:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;set the bypass_reset property to 1 in the &amp;amp;ipu1 group in the dts.&lt;/LI&gt;&lt;LI&gt;set&amp;nbsp;late_init option to 1 in the &amp;amp;mxcfb1 group in the dts.&lt;/LI&gt;&lt;LI&gt;Turn on the&amp;nbsp;&lt;CODE&gt;CONFIG_MX6_CLK_FOR_BOOTUI_TRANS,&amp;nbsp;&lt;/CODE&gt;&lt;CODE&gt;CONFIG_MX6_CLK_FOR_BOOTUI_TRANS_LVDS_IPU1_DI0 options.&lt;/CODE&gt;&lt;/LI&gt;&lt;LI&gt;call the mxcfb_set_par function at the end of the&amp;nbsp;mxcfb_register function in the&amp;nbsp;drivers/video/fbdev/mxc/mxc_ipuv3_fb.c driver. This is done like so:&lt;/LI&gt;&lt;/OL&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fbi-&amp;gt;var.activate = (fbi-&amp;gt;var.activate &amp;amp; ~FB_ACTIVATE_MASK) | FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;mxcfb_set_par(fbi);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;Please see the attached video for an impression (issue: display turns red for a short while, even though we call mxcfb_set_par).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;We made some measurements on the scope and discovered a few things.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;Here we put on the scope a gpio (blue), the display clock (purple), a data signal (yellow) and the display ready (green). We used a white splash screen (only 0xFF color). These signals are not lvds but after an lvds-&amp;gt;rgb conversion chip. However this should not matter.&lt;BR /&gt;The gpio goes down in uboot, and up after mxcfb_set_par is called in the driver (discussed before).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_15.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/85212iCD78ECE5B20135F2/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_15.png" alt="pastedImage_15.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;We note that the display ready signal is not there, from somewhere during the&amp;nbsp;boot of Linux until the call to mxcfb_set_par (no green block signal):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_16.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/85213i48BBB1ED3E898208/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_16.png" alt="pastedImage_16.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;When we zoom in on the part just at mxcfb_set_par (gpio up) we see that the clock is interrupted for a bit. After some testing we found that this is due to mxcfb_set_par. (if we do not add mxfb_set_par this does not happen, but display is always black or in test mode)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_17.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/85214i4E29EB61B00AF20E/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_17.png" alt="pastedImage_17.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;We already spent quite a while debugging this problem. Any possible solution or information on what it could be would be greatly appreciated.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;What we expect that happens is that some driver still resets some part of the video (ipu, ldb or framebuffer). This would explain why the display clock signal (green line) is down only in Linux, while it was up in UBoot.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;Why is the mxcfb_set_par function required on the imx6 solo to make this patch work, and not on the imx6 quad?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: monospace;"&gt;Which drivers and what code is responsible for resetting the video hardware? Where to begin to investigate this?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2019 10:36:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939217#M140632</guid>
      <dc:creator>r_veens</dc:creator>
      <dc:date>2019-06-03T10:36:41Z</dc:date>
    </item>
    <item>
      <title>Re: logo from uboot to kernel patch on imx6s; display flicker/red during boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939218#M140633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, we are no longer supporting this patch for the newer Linux versions and there is no future support. I apologize for the inconveniences this could give you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Diego.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2019 21:56:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939218#M140633</guid>
      <dc:creator>diegoadrian</dc:creator>
      <dc:date>2019-06-03T21:56:54Z</dc:date>
    </item>
    <item>
      <title>Re: logo from uboot to kernel patch on imx6s; display flicker/red during boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939219#M140634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can enable one core to boot up and add "while(1);" dead loop step by step to identify which code caused the display signal stop, then you can fix the code issue. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The target for the solution, avoid kernel to re-set the display.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jun 2019 07:11:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939219#M140634</guid>
      <dc:creator>qiang_li-mpu_se</dc:creator>
      <dc:date>2019-06-04T07:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: logo from uboot to kernel patch on imx6s; display flicker/red during boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939220#M140635</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for the tip Qiang Li - Mpu Se, it turned out to be a very good method to debug.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found out that the problem is the "init_ipu_clk" function in drivers/clk/imx/clk-imx6q.c.&lt;/P&gt;&lt;P&gt;When i disabled the call to this function, the problem is solved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the code errata&amp;nbsp;ERR010579 is mentioned, but i cannot find this in&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf"&gt;https://www.nxp.com/docs/en/errata/IMX6SDLCE.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Am i perhaps looking in the wrong document?&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to figure out if i can safely remove this code, and if the issue applies to me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The IPU already has been initialized i presume, in u-boot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. The following commit seems to add the init_ipu_clk function:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;commit 6069b329bfa8c31be54f38ea9b99449165644884&lt;BR /&gt;Author: Bai Ping &amp;lt;ping.bai@nxp.com&amp;gt;&lt;BR /&gt;Date: Tue Dec 13 13:20:01 2016 +0800&lt;/P&gt;&lt;P&gt;MLK-13507 ARM: imx: workaround of ERR010579 for ipu on imx6dl&lt;BR /&gt; &lt;BR /&gt; Workaround for ERR010579&lt;BR /&gt; When switching the clock source of IPU clock root in CCM, even setting&lt;BR /&gt; CCGR3[CG0]=0x0 to gate off clock before switching, IPU may hang due to&lt;BR /&gt; no IPU clock from CCM. The root cause is an integration bug in SOC level,&lt;BR /&gt; setting CCGR3[CG0]=0x0 can NOT gate off the clock after IPU clock source MUX.&lt;BR /&gt; &lt;BR /&gt; The IPU clock source MUX is glitchg MUX, that means the clock glitch during&lt;BR /&gt; clock switch is unavoidable, which will cause the divider after it stop work&lt;BR /&gt; and no clock output. In order to avoid the clock glitch, we must obey below&lt;BR /&gt; procedures if clock source switch is needed:&lt;BR /&gt; &lt;BR /&gt; 1. gate off the CG after MUX&lt;BR /&gt; 2. switch clock source&lt;BR /&gt; 3. gate on the CG after MUX&lt;BR /&gt; &lt;BR /&gt; On the other hand, the EN of the CG between MUX and divider is a feedback&lt;BR /&gt; logic(OR result) from several LPCG cells in SOC top, but for IPU clock, one&lt;BR /&gt; LPCG is forced to open forever, then the feedback OR result is always high,&lt;BR /&gt; it causes the CG can NOT be gated off even the CCGR3[CG0] is set to 0x0.&lt;BR /&gt; &lt;BR /&gt; For detailed workaround steps, please refer to the errata document.&lt;BR /&gt; &lt;BR /&gt; Tested-by: Ying Liu &amp;lt;victor.liu@nxp.com&amp;gt;&lt;BR /&gt; Signed-off-by: Bai Ping &amp;lt;ping.bai@nxp.com&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jun 2019 16:27:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939220#M140635</guid>
      <dc:creator>r_veens</dc:creator>
      <dc:date>2019-06-05T16:27:02Z</dc:date>
    </item>
    <item>
      <title>Re: logo from uboot to kernel patch on imx6s; display flicker/red during boot</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939221#M140636</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From my point, only the first time boot up, you can skip that ipu clock code, because Uboot had alreay initialized it. But for suspend/resume case, that code is needed. &lt;/P&gt;&lt;P&gt;In another words, you need make sure, blank and unblank the display, the display should be off and on successfully.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jun 2019 02:43:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/logo-from-uboot-to-kernel-patch-on-imx6s-display-flicker-red/m-p/939221#M140636</guid>
      <dc:creator>qiang_li-mpu_se</dc:creator>
      <dc:date>2019-06-06T02:43:05Z</dc:date>
    </item>
  </channel>
</rss>

