[Freedreno] help: mipi dsi drm driver on 8084

vinay simha vinaysimha at inforcecomputing.com
Tue Apr 14 07:38:02 PDT 2015


Regards,
vinay simha

On Tue, Apr 14, 2015 at 6:45 PM, Rob Clark <robdclark at gmail.com> wrote:

> On Mon, Apr 13, 2015 at 5:26 AM, vinay simha
> <vinaysimha at inforcecomputing.com> wrote:
> > Hi,
> >
> > i had backported msm-next dsi branch to 3.10.40 kernel
> >
> https://github.com/vinaysimha/kernel-msm-ifc6410/tree/ifc6540-drm-4.4.4-dsi
> >
> > created the panel-truly in drivers/gpu/drm/panel/panel-truly.c- having
> some
> > issue regarding probing this driver even though i added the panel
> > description in apq8084-mdss.dtsi.
> >
> > -------------------------------------------------------------
> > mdss_dsi0: qcom,mdss_dsi at fd922800 {
> >
> >              panel = <&panel_truly>;
> > }
> >
> > panel_truly : panel {
> >                   compatible = "truly,otm8018b";
> > };
> > -------------------------------------------------------------
> >
> > But panel-truly is not getting probed. So created a panel_simple_create,
> but
> > mipi_dsi_device instance is not able to access so i cannot set
> dsi->lanes,
> > dsi->format so the mipi_dsi_generic_write is failing.
>
> hmm, I think calling panel_simple_create() is not the right way..
>
> when you of_drm_find_panel(), what happens?  Is it returning -EPROBE_DEFER?
>

yes, because no panel driver is called  since no probe is done for the new
panel added in dts.
dsi_host.c ------node =
of_get_child_by_name(msm_host->pdev->dev.of_node,"panel");
expects a node. (eventhough panel node is present it fails)

i will try the of_platform_populate , but not exactly sure it need to be
added in mdss_dsi0 tree or mdss_mdp tree.

>
> hacking around the normal way to get the panel from DT is probably
> going to result in the panel not knowing what it's resources are, so
> you should probably focus on why it is not working with
> of_drm_find_panel().
>
> Hai Li might have some suggestions.. I've asked them to add some DT
> bindings docs for the msm parts of it.  From that snippet above, I
> guess you may also need:
>
>   qcom,mdss_mdp at fd900000 {
>      ...
>      connectors = <&mdss_hdmi_tx, &mdss_dsi0>;
>   }
>
> or something roughly like that.  Looks like the dsi node would also
> require "qcom,dsi-host-index".. and:
>
>                 interrupt-parent = <&mdss_mdp>;
>                 interrupts = <4 0>;   /* MDP5_HW_INTR_STATUS.INTR_DSI0 */
>
> i have taken care of this in the dts.
https://github.com/vinaysimha/kernel-msm-ifc6410/blob/ifc6540-drm-4.4.4-dsi/arch/arm/boot/dts/qcom/apq8084-mdss.dtsi


mdss_mdp: qcom,mdss_mdp at fd900000 {
connectors = <&mdss_hdmi_tx>,<&mdss_dsi0>;
}
mdss_dsi0: qcom,mdss_dsi at fd922800 { cell-index = <0>; qcom,dsi-host-index =
<0>; interrupt-parent = <&mdss_mdp>; interrupts = <4 0>; /*
MDP5_HW_INTR_STATUS.INTR_DSI */
reg-names = "dsi_ctrl", "dsi_phy", "dsi_phy_regulator";
/*reg-names = "dsi_ctrl", "dsi_phy", "mmss_misc_phys";*/
              panel = <&panel_truly>;
}

panel_truly : panel {
                  compatible = "truly,otm8018b";
};

>
> BR,
> -R
>
> > But if i hardcode dsi->lanes in
> > msm_dsi_host_power_on of drivers/gpu/drm/msm/dsi/dsi_host.c it will work
> but
> > still i cannot use the
> > mipi_dsi_generic_write for panel settings.
> >
> > Any suggestions?
> > Is there any reference panel driver and .dts files to enable the dsi on
> > 8084?
> >
> > Regards,
> > vinay simha
> >
> > _______________________________________________
> > Freedreno mailing list
> > Freedreno at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/freedreno
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/freedreno/attachments/20150414/f66d9b68/attachment.html>


More information about the Freedreno mailing list