Gesendet: Sonntag, 02. August 2020 um 02:03 Uhr Von: "Chun-Kuang Hu" chunkuang.hu@kernel.org An: "Frank Wunderlich" frank-w@public-files.de Cc: "Chun-Kuang Hu" chunkuang.hu@kernel.org, "Philipp Zabel" p.zabel@pengutronix.de, "David Airlie" airlied@linux.ie, "linux-kernel" linux-kernel@vger.kernel.org, "DRI Development" dri-devel@lists.freedesktop.org, "moderated list:ARM/Mediatek SoC support" linux-mediatek@lists.infradead.org, "Daniel Vetter" daniel@ffwll.ch, "Matthias Brugger" matthias.bgg@gmail.com, "Bibby Hsieh" bibby.hsieh@mediatek.com, "Linux ARM" linux-arm-kernel@lists.infradead.org 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/Docu...
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)
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