<?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 GraphicsのトピックiMX8 mini Lvds</title>
    <link>https://community.nxp.com/t5/i-MX-Graphics/iMX8-mini-Lvds/m-p/1848052#M566</link>
    <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I'm trying to build android 12 for a custom board, but I'm having issues with lvds parameters, so I wonder if anyone here can point me to the right path.&lt;/P&gt;&lt;P&gt;I'm using this configs:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;	dsi_lvds_bridge: sn65dsi84@2c {
		compatible = "ti,sn65dsi83";
		reg = &amp;lt;0x2c&amp;gt;;
		ti,dsi-lanes = &amp;lt;4&amp;gt;;
		ti,lvds-format = &amp;lt;0&amp;gt;;
		ti,lvds-bpp = &amp;lt;24&amp;gt;;
		ti,lvds-channels = &amp;lt;1&amp;gt;;
		ti,width-mm = &amp;lt;217&amp;gt;;
		ti,height-mm = &amp;lt;136&amp;gt;;
		enable-gpios = &amp;lt;&amp;amp;gpio2 11 GPIO_ACTIVE_HIGH&amp;gt;;
		enable-panel-gpios = &amp;lt;&amp;amp;gpio4 24 GPIO_ACTIVE_HIGH&amp;gt;;
 		pinctrl-names = "default";
		pinctrl-0 = &amp;lt;&amp;amp;pinctrl_lvds&amp;gt;;
		status = "okay";

		display-timings {
			lvds {
				clock-frequency = &amp;lt;71107200&amp;gt;;
				hactive = &amp;lt;1280&amp;gt;;
				vactive = &amp;lt;800&amp;gt;;
				hback-porch = &amp;lt;80&amp;gt;;
				hfront-porch = &amp;lt;48&amp;gt;;
				vback-porch = &amp;lt;15&amp;gt;;
				vfront-porch = &amp;lt;2&amp;gt;;
				hsync-len = &amp;lt;32&amp;gt;;
				vsync-len = &amp;lt;6&amp;gt;;
				hsync-active = &amp;lt;0&amp;gt;;
				vsync-active = &amp;lt;0&amp;gt;;
				de-active = &amp;lt;1&amp;gt;;
				pixelclk-active = &amp;lt;0&amp;gt;;
			};
		};

		port {
			lvds_in: endpoint {
				remote-endpoint = &amp;lt;&amp;amp;dsi_out&amp;gt;;
			};
		};
	};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I get image, but only the top bar is ok. The rest of the image is scrambled.&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="printscreen_android.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/274039i3C27DAE86F51EEA7/image-size/large?v=v2&amp;amp;px=999" role="button" title="printscreen_android.jpg" alt="printscreen_android.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;The panel timings are correct, as I get a correct image in poky-mickledore.&lt;/P&gt;&lt;P&gt;These are the default kernel arguments:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;stack_depot_disable=on kasan.stacktrace=off kvm-arm.mode=protected cgroup_disable=pressure cgroup.memory=nokmem init=/init consoleblank=0 androidboot.hardware=nxp cma=960M@0x400M-0x1000M firmware_class.path=/vendor/firmware loop.max_part=7 bootconfig androidboot.vendor.sysrq=1 transparent_hugepage=never console=ttymxc3,115200 earlycon=ec_imx6q,0x30a60000,115200 androidboot.console=ttymxc3 androidboot.primary_display=imx-drm androidboot.board=varsommx8mmini androidboot.bt_uart=/dev/ttymxc1 androidboot.bt_sdio=/sys/bus/mmc/devices/mmc0:0001/mmc0:0001:1/device androidboot.bt_firmware=BCM43430A1.hcd androidboot.bt_sdio_id=0xa9a6 androidboot.wificountrycode=CN&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone see some issue with the configs? Some idea of what's going wrong here?&lt;/P&gt;</description>
    <pubDate>Tue, 16 Apr 2024 10:57:27 GMT</pubDate>
    <dc:creator>NunoVilaca</dc:creator>
    <dc:date>2024-04-16T10:57:27Z</dc:date>
    <item>
      <title>iMX8 mini Lvds</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/iMX8-mini-Lvds/m-p/1848052#M566</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I'm trying to build android 12 for a custom board, but I'm having issues with lvds parameters, so I wonder if anyone here can point me to the right path.&lt;/P&gt;&lt;P&gt;I'm using this configs:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;	dsi_lvds_bridge: sn65dsi84@2c {
		compatible = "ti,sn65dsi83";
		reg = &amp;lt;0x2c&amp;gt;;
		ti,dsi-lanes = &amp;lt;4&amp;gt;;
		ti,lvds-format = &amp;lt;0&amp;gt;;
		ti,lvds-bpp = &amp;lt;24&amp;gt;;
		ti,lvds-channels = &amp;lt;1&amp;gt;;
		ti,width-mm = &amp;lt;217&amp;gt;;
		ti,height-mm = &amp;lt;136&amp;gt;;
		enable-gpios = &amp;lt;&amp;amp;gpio2 11 GPIO_ACTIVE_HIGH&amp;gt;;
		enable-panel-gpios = &amp;lt;&amp;amp;gpio4 24 GPIO_ACTIVE_HIGH&amp;gt;;
 		pinctrl-names = "default";
		pinctrl-0 = &amp;lt;&amp;amp;pinctrl_lvds&amp;gt;;
		status = "okay";

		display-timings {
			lvds {
				clock-frequency = &amp;lt;71107200&amp;gt;;
				hactive = &amp;lt;1280&amp;gt;;
				vactive = &amp;lt;800&amp;gt;;
				hback-porch = &amp;lt;80&amp;gt;;
				hfront-porch = &amp;lt;48&amp;gt;;
				vback-porch = &amp;lt;15&amp;gt;;
				vfront-porch = &amp;lt;2&amp;gt;;
				hsync-len = &amp;lt;32&amp;gt;;
				vsync-len = &amp;lt;6&amp;gt;;
				hsync-active = &amp;lt;0&amp;gt;;
				vsync-active = &amp;lt;0&amp;gt;;
				de-active = &amp;lt;1&amp;gt;;
				pixelclk-active = &amp;lt;0&amp;gt;;
			};
		};

		port {
			lvds_in: endpoint {
				remote-endpoint = &amp;lt;&amp;amp;dsi_out&amp;gt;;
			};
		};
	};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I get image, but only the top bar is ok. The rest of the image is scrambled.&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="printscreen_android.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/274039i3C27DAE86F51EEA7/image-size/large?v=v2&amp;amp;px=999" role="button" title="printscreen_android.jpg" alt="printscreen_android.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;The panel timings are correct, as I get a correct image in poky-mickledore.&lt;/P&gt;&lt;P&gt;These are the default kernel arguments:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;stack_depot_disable=on kasan.stacktrace=off kvm-arm.mode=protected cgroup_disable=pressure cgroup.memory=nokmem init=/init consoleblank=0 androidboot.hardware=nxp cma=960M@0x400M-0x1000M firmware_class.path=/vendor/firmware loop.max_part=7 bootconfig androidboot.vendor.sysrq=1 transparent_hugepage=never console=ttymxc3,115200 earlycon=ec_imx6q,0x30a60000,115200 androidboot.console=ttymxc3 androidboot.primary_display=imx-drm androidboot.board=varsommx8mmini androidboot.bt_uart=/dev/ttymxc1 androidboot.bt_sdio=/sys/bus/mmc/devices/mmc0:0001/mmc0:0001:1/device androidboot.bt_firmware=BCM43430A1.hcd androidboot.bt_sdio_id=0xa9a6 androidboot.wificountrycode=CN&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone see some issue with the configs? Some idea of what's going wrong here?&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 10:57:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/iMX8-mini-Lvds/m-p/1848052#M566</guid>
      <dc:creator>NunoVilaca</dc:creator>
      <dc:date>2024-04-16T10:57:27Z</dc:date>
    </item>
    <item>
      <title>Re: iMX8 mini Lvds</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/iMX8-mini-Lvds/m-p/1848208#M567</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I found that the u-boot sets the various parent clocks before boot, but the kernel don't overwrite this setting (the specification in clk-imx6q.c doesn't apply).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Specifically, testing with devmem2 after boot :&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;CCM_CS2CDR (0x20C_402C) -&amp;gt; 0x007206C1&amp;nbsp; //MMDC_CH1 enabled on LDB_DI0_CLK_SEL)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After recompiling the uboot, setting manually the parent to PLL5_VIDEO, the issue disappear, and the kernel manages to control the PLL to the correct frequency.&lt;/P&gt;
&lt;P&gt;I've added in the uboot platform file (&lt;EM&gt;board/freescale/mx6sabresd/mx6sabresd.c&lt;/EM&gt;&lt;SPAN class="lia-unicode-emoji" title=":disappointed_face:"&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Turn on LDB0,IPU DI0 clocks */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg = __raw_readl(&amp;amp;mxc_ccm-&amp;gt;CCGR3);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg |=&amp;nbsp; MXC_CCM_CCGR3_LDB_DI0_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; writel(reg, &amp;amp;mxc_ccm-&amp;gt;CCGR3);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* set LDB0 clk select to 000 (pll5) */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg = readl(&amp;amp;mxc_ccm-&amp;gt;cs2cdr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg &amp;amp;= ~(MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_MASK);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg |= (0 &amp;lt;&amp;lt; MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_OFFSET);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; writel(reg, &amp;amp;mxc_ccm-&amp;gt;cs2cdr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* LDB clock div by 7 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg = readl(&amp;amp;mxc_ccm-&amp;gt;cscmr2);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg |= MXC_CCM_CSCMR2_LDB_DI0_IPU_DIV;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; writel(reg, &amp;amp;mxc_ccm-&amp;gt;cscmr2);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* derive ipu1_di0_clk_root clock from ldb_di0_clk */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg = readl(&amp;amp;mxc_ccm-&amp;gt;chsccdr);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; reg |= (CHSCCDR_CLK_SEL_LDB_DI0&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;lt;&amp;lt; MXC_CCM_CHSCCDR_IPU1_DI0_CLK_SEL_OFFSET);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; writel(reg, &amp;amp;mxc_ccm-&amp;gt;chsccdr);&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE class="jive_macro_code jive_text_macro _jivemacro_uid_14323127782312571" data-renderedposition="260_8_1232_336"&gt;&amp;nbsp;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;After boot:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;CCM_CS2CDR (0x20C_402C) -&amp;gt; 0x007200C1&amp;nbsp; //PLL5_CLK enabled on LDB_DI0_CLK_SEL&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Maybe the kernel fails to write the registers in the initialization process? &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 14:31:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/iMX8-mini-Lvds/m-p/1848208#M567</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2024-04-16T14:31:05Z</dc:date>
    </item>
  </channel>
</rss>

