<?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: new drm panel driver in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1158832#M162495</link>
    <description>&lt;P&gt;Can you please clarify which device are you using? or planning to use? is an i.MX RT?&amp;nbsp; are you using LINUX or Android?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 24 Sep 2020 18:08:54 GMT</pubDate>
    <dc:creator>jamesbone</dc:creator>
    <dc:date>2020-09-24T18:08:54Z</dc:date>
    <item>
      <title>new drm panel driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1158770#M162488</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I must write a driver for a new MIPI DSI panel (HX8394-A01) and I'm not sure about which headers files I must include and which function must be called from them. How do I tell to the uppers layers which function must be called to initialize the panel, or to shut down it, etc?&lt;/P&gt;&lt;P&gt;Is there any documentation about the MIPI DSI API I can consult?&lt;/P&gt;&lt;P&gt;Best regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Gonzalo.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2020 15:30:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1158770#M162488</guid>
      <dc:creator>electronic15</dc:creator>
      <dc:date>2020-09-24T15:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: new drm panel driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1158832#M162495</link>
      <description>&lt;P&gt;Can you please clarify which device are you using? or planning to use? is an i.MX RT?&amp;nbsp; are you using LINUX or Android?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2020 18:08:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1158832#M162495</guid>
      <dc:creator>jamesbone</dc:creator>
      <dc:date>2020-09-24T18:08:54Z</dc:date>
    </item>
    <item>
      <title>Re: new drm panel driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1158840#M162496</link>
      <description>&lt;P&gt;Hi James,&lt;/P&gt;&lt;P&gt;Yes sure, I completely forgot that information. We are using a SOM from variscite based on the imx8 mini processor running Android 9.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gonzalo.&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2020 18:20:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1158840#M162496</guid>
      <dc:creator>electronic15</dc:creator>
      <dc:date>2020-09-24T18:20:31Z</dc:date>
    </item>
    <item>
      <title>Re: new drm panel driver</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1170420#M163747</link>
      <description>&lt;P&gt;I found some answers to my question in this post:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/how-to-add-a-new-panel-with-imx8mm-evk-I-got-some-problem/m-p/885656" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/how-to-add-a-new-panel-with-imx8mm-evk-I-got-some-problem/m-p/885656&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Also analyzing the panel-raydium-rm67191.c driver I understood that any drm panel driver must contain the these structures and all the functions defined inside them&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;static const struct backlight_ops my_bl_ops = {&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.update_status = my_bl_update_status,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.get_brightness = my_bl_get_brightness,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;static const struct drm_panel_funcs my_panel_funcs = {&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .prepare = my_panel_prepare,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .unprepare = my_panel_unprepare,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .enable = my_panel_enable,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .disable = my_panel_disable,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .get_modes = my_panel_get_modes,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;static const struct of_device_id my_of_match[] = {&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; { .compatible = "xxxxxx,xxxxxx", }, //must be the same as compatible node in device tree&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; { }&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;MODULE_DEVICE_TABLE(of, my_of_match);&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;static struct mipi_dsi_driver my_panel_driver = {&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .driver = {&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.name = "panel-my-panel-driver",&amp;nbsp;&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.of_match_table = my_of_match,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;},&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .probe = my_panel_probe, // this is the entry point of the driver&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .remove = my_panel_remove,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; .shutdown = my_panel_shutdown,&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;};&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#0000FF"&gt;&lt;EM&gt;module_mipi_dsi_driver(my_panel_driver);&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was able to add my driver to the AOSP image and configure the device tree files. Although the driver seems to be working well (the MIPI interface is sending the DCS commands properly) the display is still not working so I guess it might be a timing issue. I will keep trying and if I succeed I will share the solution.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Oct 2020 15:10:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/new-drm-panel-driver/m-p/1170420#M163747</guid>
      <dc:creator>electronic15</dc:creator>
      <dc:date>2020-10-20T15:10:23Z</dc:date>
    </item>
  </channel>
</rss>

