<?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: IMX6 DI CLOCK IN UBOOT</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226244#M16133</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I would suggest you download the latest release 4.0 release from the below link and use the u-boot code from that release:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6D&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab" title="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6D&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab"&gt;http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6D&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;-Mahesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 May 2013 02:14:20 GMT</pubDate>
    <dc:creator>maheshmahadeva1</dc:creator>
    <dc:date>2013-05-17T02:14:20Z</dc:date>
    <item>
      <title>IMX6 DI CLOCK IN UBOOT</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226241#M16130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, all&lt;/P&gt;&lt;P&gt;IMX6RM said DI clock can be derived from HSP_CLK or from an external source(via the ipp_di_#_ext_clk pin), and configured by DI#_CLK_EXT bit of IPUx_DIx_GENERAL.Some related configuration in u-boot:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lvdev_num=1(di = 1) set in envirenment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CCM_CCGR3:&lt;/P&gt;&lt;P&gt;location:board/freescale/mx6_sabresd/mx6_sabresd.c:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg |= 0xC033;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(reg, CCM_BASE_ADDR + CLKCTL_CCGR3)&lt;/P&gt;&lt;P&gt;which will select ipu1_ipu_clk_enable\ipu1_ipu_di1_clk_enable\ldb_di1_clk_enable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IPUx_DI1_GENERAL: &lt;/P&gt;&lt;P&gt;bit20 = 1(indecates external clk)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;location:board/freescale/mx6_sabresd/mx6_sabresd.c: &lt;/P&gt;&lt;P&gt;ipuv3_fb_init(&amp;amp;lvds_xga, di,IPU_PIX_FMT_RGB666,DI_PCLK_LDB, 65000000);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CCM_CS2CDR:&lt;/P&gt;&lt;P&gt;location:location:board/freescale/mx6_sabresd/mx6_sabresd.c: &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = readl(CCM_BASE_ADDR + CLKCTL_CS2CDR);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg &amp;amp;= ~0x00007E00;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg |= 0x00003600;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(reg, CCM_BASE_ADDR + CLKCTL_CS2CDR);&lt;/P&gt;&lt;P&gt;which will select MMDC_CH1 clock for ldb_di0_clk and ldb_di1_clk &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CCM_CSCMR2:&lt;/P&gt;&lt;P&gt;location:location:board/freescale/mx6_sabresd/mx6_sabresd.c: &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = readl(CCM_BASE_ADDR + CLKCTL_CSCMR2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg |= 0x00000C00;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(reg, CCM_BASE_ADDR + CLKCTL_CSCMR2);&lt;/P&gt;&lt;P&gt;Control for divider of ldb clock for IPU di1 to 7&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CCM_CHSCCDR:&lt;/P&gt;&lt;P&gt;location:location:board/freescale/mx6_sabresd/mx6_sabresd.c: &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = 0x0002A953;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(reg, CCM_BASE_ADDR + CLKCTL_CHSCCDR);&lt;/P&gt;&lt;P&gt;Selector for ipu1 di1 root clock multiplexer: derive clock from ldb_di1_clk&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CCM_CBCMR\CCM_CBCDR were not configured in u-boot(I did not find any location to write them)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to above analyzation, I get following conclusion:&lt;/P&gt;&lt;P&gt;PPL2(528)-&amp;gt;/1-&amp;gt;MMDC_CH1_CLK_ROOT-&amp;gt;/7-&amp;gt;LDB_DI_CLK-&amp;gt;DI CLK&lt;/P&gt;&lt;P&gt;di clk=PPL2 528 / 7 = 75.4 MHz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;!!!BUT!!! sabresd's LCD pixel clk need 65MHz, can somebody help me to explain it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then IPU_PM :&lt;/P&gt;&lt;P&gt;location:location:drivers/video/ipu_disp.c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ipu_init_sync_panel:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable for a divide by 2 clock change. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = __raw_readl(IPU_PM);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg &amp;amp;= ~(0x7f &amp;lt;&amp;lt; 7);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg |= 0x20 &amp;lt;&amp;lt; 7;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg &amp;amp;= ~(0x7f &amp;lt;&amp;lt; 23);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg |= 0x20 &amp;lt;&amp;lt; 23;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __raw_writel(reg, IPU_PM);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;di clk = Fast_freq / 2, meaning 75.4/2= 37.7 ??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IPUx_DI1_BS_CLKGEN0:&lt;/P&gt;&lt;P&gt;location:location:drivers/video/ipu_common.c&lt;/P&gt;&lt;P&gt;ipu_pixel_clk_set_rate:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11–0:di1_disp_clk_period&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"DI1 Display Clock Period. This field defines the Display interface clock period for display write access. This parameter contains an&lt;/P&gt;&lt;P&gt;integer part (bits 11:4) and a fractional part (bits 3:0). It defines a fractional division ratio of the HSP_CLK&lt;/P&gt;&lt;P&gt;clock for generation of the display's interface clock."&lt;/P&gt;&lt;P&gt;Does not the di clk come from externel clk? Why does set devider from HSP_CLK here !!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Mar 2013 08:28:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226241#M16130</guid>
      <dc:creator>jianminlv</dc:creator>
      <dc:date>2013-03-15T08:28:31Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 DI CLOCK IN UBOOT</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226242#M16131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Below is the calculation for the IPU1 DI0 clock from the u-boot that was included in the &lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6DL&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab"&gt;L3.0.35_3.0.0_ER_SOURCE&lt;/A&gt; release.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. IPU1 DI0 is configured to use ldb_di0_clk based on the setting in the CCM_CHSCCDR register at offset 0x34 (bits 0-2)&lt;/P&gt;&lt;P&gt;MX6SDL SABRESD U-Boot &amp;gt; md 20C4034 1&lt;/P&gt;&lt;P&gt;020c4034: 0002a953&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;2. LDB_DI0 clock is configured to use PLL2 PFD0 as its parent clock based on the setting in the CCM_CS2CDR register at offset 0x2C (bits 9-11)&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;MX6SDL SABRESD U-Boot &amp;gt; md 20C402c 1&lt;/P&gt;&lt;P&gt;020c402c: 007212c1&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;3. LDB DI0 clock divider is set to 7 based on the setting in the CCM_CSCMR2 register at offset 0x20 (bit 10)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;MX6SDL SABRESD U-Boot &amp;gt; md 20C4020 1&lt;/P&gt;&lt;P&gt;020c4020: 02b92f06&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. The PLL PFD0 is set to 452MHz based on the setting in the register CCM_ANALOG_PFD_528n at 20C8100. PFD0 is available at bits 0-5 which is set to 21. So 528*18/21=452MHz&lt;/P&gt;&lt;P&gt;MX6SDL SABRESD U-Boot &amp;gt; md 20C8100 1&lt;/P&gt;&lt;P&gt;020c8100: 50185215&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Therefore the IPU1 DI0 clock is 452/7=64.65 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;-Mahesh&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;/P&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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 18:41:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226242#M16131</guid>
      <dc:creator>maheshmahadeva1</dc:creator>
      <dc:date>2013-05-10T18:41:56Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 DI CLOCK IN UBOOT</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226243#M16132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Mahesh&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my uboot source code, &lt;SPAN style="background-color: #ffffff; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;CCM_CS2CDR is configured in&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-size: 10pt; line-height: 1.5em;"&gt; &lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;board/freescale/mx6_sabresd/mx6_sabresd.c:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;;;;;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = readl(CCM_BASE_ADDR + CLKCTL_CS2CDR);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg &amp;amp;= ~0x00007E00;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg |= 0x00003600;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(reg, CCM_BASE_ADDR + CLKCTL_CS2CDR);&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;;;;;;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;which will select MMDC_CH1 clock for ldb_di0_clk and ldb_di1_clk.&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;And I got the register value is 007236c1:&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;MX6SDL SABRESD U-Boot &amp;gt; md 20C402c 1&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;020c402c: 007236c1&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;which is different from that you gave.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 May 2013 01:54:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226243#M16132</guid>
      <dc:creator>jianminlv</dc:creator>
      <dc:date>2013-05-17T01:54:26Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 DI CLOCK IN UBOOT</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226244#M16133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I would suggest you download the latest release 4.0 release from the below link and use the u-boot code from that release:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6D&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab" title="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6D&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab"&gt;http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6D&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;-Mahesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 May 2013 02:14:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226244#M16133</guid>
      <dc:creator>maheshmahadeva1</dc:creator>
      <dc:date>2013-05-17T02:14:20Z</dc:date>
    </item>
    <item>
      <title>Re: IMX6 DI CLOCK IN UBOOT</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226245#M16134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok，thanks，I will try it！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 May 2013 02:18:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX6-DI-CLOCK-IN-UBOOT/m-p/226245#M16134</guid>
      <dc:creator>jianminlv</dc:creator>
      <dc:date>2013-05-17T02:18:44Z</dc:date>
    </item>
  </channel>
</rss>

