<?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のトピックRe: Imx8m dsi panel hardware reset problem</title>
    <link>https://community.nxp.com/t5/i-MX-Graphics/Imx8m-dsi-panel-hardware-reset-problem/m-p/2091766#M791</link>
    <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your reply!&lt;/P&gt;&lt;P&gt;The driver is custom made. In the driver, we have hardware reset in prepare() function using the GPIO pin.&amp;nbsp;Then in enable() function, many DCS_write functions are called to initialize the panel. During normal boot, this sequence works perfect and we can see the panel displaying&amp;nbsp; contents.&lt;/P&gt;&lt;P&gt;Then what we would like to do is to issue a hardware reset during runtime in the user space to recover the panel from disturbance such as ESD.&amp;nbsp;&lt;/P&gt;&lt;P&gt;What we have done is to create a file using sysfs to allow a user to call a function in the driver called user_reset(). In user_reset(), we copied the hardware reset portion from prepare() and panel initialization from enable() and put them together. We can see that the user_reset() function can be properly called from user space. Unfortunately, the panel will reset to weird state: all white out and no meaning content is shown.&lt;/P&gt;&lt;P&gt;We tried several things to see what could have caused the white out. We tried to call&amp;nbsp;mipi_dsi_dcs_soft_reset(), but no luck. We also tried to make the driver a module so that we can rmmod it and modprobe back, but still no luck.&lt;/P&gt;&lt;P&gt;Please let us know there is more info you would like to know.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is content in our device tree related to dsi:&lt;/P&gt;&lt;P&gt;mipi_dsi: mipi_dsi@32e10000 {&lt;BR /&gt;#address-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt;#size-cells = &amp;lt;0&amp;gt;;&lt;BR /&gt;compatible = "fsl,imx8mm-mipi-dsim";&lt;BR /&gt;reg = &amp;lt;0x32e10000 0x400&amp;gt;;&lt;BR /&gt;clocks = &amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_CORE&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_PHY_REF&amp;gt;;&lt;BR /&gt;clock-names = "cfg", "pll-ref";&lt;BR /&gt;assigned-clocks = &amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_CORE&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_PHY_REF&amp;gt;;&lt;BR /&gt;assigned-clock-parents = &amp;lt;&amp;amp;clk IMX8MM_SYS_PLL1_266M&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MM_CLK_24M&amp;gt;;&lt;BR /&gt;assigned-clock-rates = &amp;lt;266000000&amp;gt;, &amp;lt;12000000&amp;gt;;&lt;BR /&gt;interrupts = &amp;lt;GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;dsi-gpr = &amp;lt;&amp;amp;dispmix_gpr&amp;gt;;&lt;BR /&gt;resets = &amp;lt;&amp;amp;mipi_dsi_resets&amp;gt;;&lt;BR /&gt;power-domains = &amp;lt;&amp;amp;mipi_pd&amp;gt;;&lt;BR /&gt;status = "disabled";&lt;/P&gt;&lt;P&gt;port@0 {&lt;BR /&gt;dsim_from_lcdif: endpoint {&lt;BR /&gt;remote-endpoint = &amp;lt;&amp;amp;lcdif_to_dsim&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;};&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 06 May 2025 01:56:31 GMT</pubDate>
    <dc:creator>fiengzeng</dc:creator>
    <dc:date>2025-05-06T01:56:31Z</dc:date>
    <item>
      <title>Imx8m dsi panel hardware reset problem</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/Imx8m-dsi-panel-hardware-reset-problem/m-p/2091099#M785</link>
      <description>&lt;P&gt;I am trying to do a hardware reset to the DSI panel in the user space. The code has been implemented. However, after hardware reset, the screen panel white out and never display any meaningful content.&amp;nbsp;&lt;/P&gt;&lt;P&gt;My screen is ili9488&amp;nbsp; and my hardware reset code is listed below. Does anyone have an idea what could have happened?&amp;nbsp;&lt;/P&gt;&lt;P&gt;gpiod_set_value_cansleep(ctx-&amp;gt;reset, 1);&lt;BR /&gt;msleep(120);&lt;/P&gt;&lt;P&gt;gpiod_set_value_cansleep(ctx-&amp;gt;reset, 0);&lt;BR /&gt;msleep(120);&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Sat, 03 May 2025 04:07:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/Imx8m-dsi-panel-hardware-reset-problem/m-p/2091099#M785</guid>
      <dc:creator>fiengzeng</dc:creator>
      <dc:date>2025-05-03T04:07:28Z</dc:date>
    </item>
    <item>
      <title>Re: Imx8m dsi panel hardware reset problem</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/Imx8m-dsi-panel-hardware-reset-problem/m-p/2091639#M789</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/250062"&gt;@fiengzeng&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope you are doing very well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please share more details?&lt;/P&gt;
&lt;P&gt;Are you using a custom driver?&lt;/P&gt;
&lt;P&gt;After of Reset the screen, do you initialized again the screen?&lt;/P&gt;
&lt;P&gt;Device tree would be appreciated to check the node related to your display.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
      <pubDate>Mon, 05 May 2025 18:14:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/Imx8m-dsi-panel-hardware-reset-problem/m-p/2091639#M789</guid>
      <dc:creator>Manuel_Salas</dc:creator>
      <dc:date>2025-05-05T18:14:27Z</dc:date>
    </item>
    <item>
      <title>Re: Imx8m dsi panel hardware reset problem</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/Imx8m-dsi-panel-hardware-reset-problem/m-p/2091766#M791</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your reply!&lt;/P&gt;&lt;P&gt;The driver is custom made. In the driver, we have hardware reset in prepare() function using the GPIO pin.&amp;nbsp;Then in enable() function, many DCS_write functions are called to initialize the panel. During normal boot, this sequence works perfect and we can see the panel displaying&amp;nbsp; contents.&lt;/P&gt;&lt;P&gt;Then what we would like to do is to issue a hardware reset during runtime in the user space to recover the panel from disturbance such as ESD.&amp;nbsp;&lt;/P&gt;&lt;P&gt;What we have done is to create a file using sysfs to allow a user to call a function in the driver called user_reset(). In user_reset(), we copied the hardware reset portion from prepare() and panel initialization from enable() and put them together. We can see that the user_reset() function can be properly called from user space. Unfortunately, the panel will reset to weird state: all white out and no meaning content is shown.&lt;/P&gt;&lt;P&gt;We tried several things to see what could have caused the white out. We tried to call&amp;nbsp;mipi_dsi_dcs_soft_reset(), but no luck. We also tried to make the driver a module so that we can rmmod it and modprobe back, but still no luck.&lt;/P&gt;&lt;P&gt;Please let us know there is more info you would like to know.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is content in our device tree related to dsi:&lt;/P&gt;&lt;P&gt;mipi_dsi: mipi_dsi@32e10000 {&lt;BR /&gt;#address-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt;#size-cells = &amp;lt;0&amp;gt;;&lt;BR /&gt;compatible = "fsl,imx8mm-mipi-dsim";&lt;BR /&gt;reg = &amp;lt;0x32e10000 0x400&amp;gt;;&lt;BR /&gt;clocks = &amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_CORE&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_PHY_REF&amp;gt;;&lt;BR /&gt;clock-names = "cfg", "pll-ref";&lt;BR /&gt;assigned-clocks = &amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_CORE&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MM_CLK_DSI_PHY_REF&amp;gt;;&lt;BR /&gt;assigned-clock-parents = &amp;lt;&amp;amp;clk IMX8MM_SYS_PLL1_266M&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MM_CLK_24M&amp;gt;;&lt;BR /&gt;assigned-clock-rates = &amp;lt;266000000&amp;gt;, &amp;lt;12000000&amp;gt;;&lt;BR /&gt;interrupts = &amp;lt;GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;dsi-gpr = &amp;lt;&amp;amp;dispmix_gpr&amp;gt;;&lt;BR /&gt;resets = &amp;lt;&amp;amp;mipi_dsi_resets&amp;gt;;&lt;BR /&gt;power-domains = &amp;lt;&amp;amp;mipi_pd&amp;gt;;&lt;BR /&gt;status = "disabled";&lt;/P&gt;&lt;P&gt;port@0 {&lt;BR /&gt;dsim_from_lcdif: endpoint {&lt;BR /&gt;remote-endpoint = &amp;lt;&amp;amp;lcdif_to_dsim&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;};&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 01:56:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/Imx8m-dsi-panel-hardware-reset-problem/m-p/2091766#M791</guid>
      <dc:creator>fiengzeng</dc:creator>
      <dc:date>2025-05-06T01:56:31Z</dc:date>
    </item>
  </channel>
</rss>

