Re: Re: [PATCH v2 1/5] drm/mediatek: config component output by device node port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Frank:

Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx> 於 2020年8月2日 週日 下午4:06寫道:
>
> > Gesendet: Sonntag, 02. August 2020 um 02:03 Uhr
> > Von: "Chun-Kuang Hu" <chunkuang.hu@xxxxxxxxxx>
> > An: "Frank Wunderlich" <frank-w@xxxxxxxxxxxxxxx>
> > Cc: "Chun-Kuang Hu" <chunkuang.hu@xxxxxxxxxx>, "Philipp Zabel" <p.zabel@xxxxxxxxxxxxxx>, "David Airlie" <airlied@xxxxxxxx>, "linux-kernel" <linux-kernel@xxxxxxxxxxxxxxx>, "DRI Development" <dri-devel@xxxxxxxxxxxxxxxxxxxxx>, "moderated list:ARM/Mediatek SoC support" <linux-mediatek@xxxxxxxxxxxxxxxxxxx>, "Daniel Vetter" <daniel@xxxxxxxx>, "Matthias Brugger" <matthias.bgg@xxxxxxxxx>, "Bibby Hsieh" <bibby.hsieh@xxxxxxxxxxxx>, "Linux ARM" <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
> > Betreff: Re: [PATCH v2 1/5] drm/mediatek: config component output by device node port
> > > +
> > > +               if (comp_type != MTK_DSI && comp_type != MTK_DPI) {
> > > +                       port = of_graph_get_port_by_id(node, 0);
> > > +                       if (!port)
> > > +                               continue;
> > > +                       ep = of_get_child_by_name(port, "endpoint");
> > > +                       of_node_put(port);
> > > +                       if (!ep)
> > > +                               continue;
> > > +                       remote = of_graph_get_remote_port_parent(ep);
> > > +                       of_node_put(ep);
> > > +                       if (!remote)
> > > +                               continue;
> > > +                       of_id = of_match_node(mtk_ddp_comp_dt_ids, remote);
> > > +                       if (!of_id)
> > > +                               continue;
> > > +                       comp_type = (enum mtk_ddp_comp_type)of_id->data;
> > > +                       for (i = 0; i < private->data->main_len - 1; i++)
> > > +                               if (private->data->main_path[i] == comp_id)
> > > +                                       private->data->main_path[i + 1] =
> > > +                                       mtk_ddp_comp_get_id(node, comp_type);
> > > +                       for (i = 0; i < private->data->ext_len - 1; i++)
> > > +                               if (private->data->ext_path[i] == comp_id)
> > > +                                       private->data->ext_path[i + 1] =
> > > +                                       mtk_ddp_comp_get_id(node, comp_type);
> > > +               }
> >
> > The port property is not defined in binding document [1], so define it
> > in binding document first.
> >
> > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/mediatek/mediatek,disp.txt?h=v5.8-rc7
>
> hi,
> would be the following enough for describing the ports?
>
> Port binding
> =============
>
> some nodes like
>
> - connector (e.g. hdmi-connector)
> - bls (mediatek,mt7623-disp-pwm)
> - hdmix (mediatek,mt7623-hdmi)

Now I just care about the bls to dpi. So in mediatek,disp.txt, you
just need to add a Optional properties - port (input and output), and
modify mediatek,dpi.txt for its input port.

Regards,
Chun-Kuang.

>
> can have port bindings to connect each other. Each port can have only 1 endpoint
>
> more detail about ports/endpoints in ../../media/video-interfaces.txt
> hdmi-connector is described here: ../connector/hdmi-connector.txt
>
> example:
>
> connector {
>         compatible = "hdmi-connector";
>
>         port {
>                 hdmi_connector_in: endpoint {
>                         remote-endpoint = <&hdmi0_out>;
>                 };
>         };
> };
>
>
> &bls {
>         status = "okay";
>
>         port {
>                 bls_out: endpoint {
>                         remote-endpoint = <&dpi0_in>;
>                 };
>         };
> };
>
> &dpi0 {
>         status = "okay";
>
>         ports {
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 port@0 {
>                         reg = <0>;
>                         dpi0_out: endpoint {
>                                 remote-endpoint = <&hdmi0_in>;
>                         };
>                 };
>
>                 port@1 {
>                         reg = <1>;
>                         dpi0_in: endpoint {
>                                 remote-endpoint = <&bls_out>;
>                         };
>                 };
>         };
> };
>
> &hdmi0 {
>
>         ports {
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 port@0 {
>                         reg = <0>;
>                         hdmi0_in: endpoint {
>                                 remote-endpoint = <&dpi0_out>;
>                         };
>                 };
>
>                 port@1 {
>                         reg = <1>;
>                         hdmi0_out: endpoint {
>                                 remote-endpoint = <&hdmi_connector_in>;
>                         };
>                 };
>         };
> };
>
> regards Frank
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux