Re: [PATCH 02/12] ARM: dts: imx6qdl: rename ipu client nodes

From: Philipp Zabel
Date: Fri Dec 09 2016 - 06:39:50 EST


Hi Steve,

Am Mittwoch, den 07.12.2016, 16:57 -0800 schrieb Steve Longerbeam:
> To allow for IPU client devices that are composed of more than one
> port for input and output (SMFC and IC), change the nodes from being
> a single port node to nodes that can contain multiple ports. Rename
> the nodes to use the following format: "ipu<id>_<subunit>".

Don't do this. These are not IPU client device nodes, they are input and
output port nodes according to the of graph bindings, as described in
Documentation/devicetree/bindings/display/imx/fsl-imx-drm.txt.

They happen to match to the CSI0/1 and DI0/1 modules, but really what is
described here are the external connections of the IPU. The IPU
internals are not described in the device tree at all.

regards
Philipp

> The IPUv3 driver will then need to lookup the client nodes by name
> rather than by port id.
>
> Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx>
> ---
> arch/arm/boot/dts/imx6q.dtsi | 12 ++++++------
> arch/arm/boot/dts/imx6qdl.dtsi | 12 ++++++------
> 2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
> index e9a5d0b..2b261ba 100644
> --- a/arch/arm/boot/dts/imx6q.dtsi
> +++ b/arch/arm/boot/dts/imx6q.dtsi
> @@ -141,18 +141,18 @@
> clock-names = "bus", "di0", "di1";
> resets = <&src 4>;
>
> - ipu2_csi0: port@0 {
> + ipu2_csi0: ipu2_csi@0 {
> reg = <0>;
> };
>
> - ipu2_csi1: port@1 {
> + ipu2_csi1: ipu2_csi@1 {
> reg = <1>;
> };
>
> - ipu2_di0: port@2 {
> + ipu2_di0: ipu2_di@0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <2>;
> + reg = <0>;
>
> ipu2_di0_disp0: disp0-endpoint {
> };
> @@ -174,10 +174,10 @@
> };
> };
>
> - ipu2_di1: port@3 {
> + ipu2_di1: ipu2_di@1 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <3>;
> + reg = <1>;
>
> ipu2_di1_hdmi: hdmi-endpoint {
> remote-endpoint = <&hdmi_mux_3>;
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index e01e5d5..2465187 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -1226,18 +1226,18 @@
> clock-names = "bus", "di0", "di1";
> resets = <&src 2>;
>
> - ipu1_csi0: port@0 {
> + ipu1_csi0: ipu1_csi@0 {
> reg = <0>;
> };
>
> - ipu1_csi1: port@1 {
> + ipu1_csi1: ipu1_csi@1 {
> reg = <1>;
> };
>
> - ipu1_di0: port@2 {
> + ipu1_di0: ipu1_di@0 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <2>;
> + reg = <0>;
>
> ipu1_di0_disp0: disp0-endpoint {
> };
> @@ -1259,10 +1259,10 @@
> };
> };
>
> - ipu1_di1: port@3 {
> + ipu1_di1: ipu1_di@1 {
> #address-cells = <1>;
> #size-cells = <0>;
> - reg = <3>;
> + reg = <1>;
>
> ipu1_di1_disp1: disp1-endpoint {
> };