[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