From patchwork Wed May 31 23:10:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 13262851 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8A429C7EE23 for ; Wed, 31 May 2023 23:11:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=NWqTk6dN0D1zYUkmKqfr+0V40r3dv8+IvFGJaneeP9A=; b=RSzc42y84maPlR tG9ri3FUs0D7dbOrXem83E/4KvRN6XS2NDl14aKQLugE1QKwGPIam6hosL0kwEAMqTvbhYsEp27h7 0xvaafB3oMtUzuVNFXgP0K3trBgjxq3M8p9qDSI5ggS0qlFbJY8MxE00+gC7tlVldJk+N00DdLOTl Zg3Y1HBC8fWOEfwbzulZ8FWf0xUmAAOConFiyVmYLG+ruWGy3qcOgpxCGdtNbzCVAZDJyM2YFR7PU Z538nAs53OLUBrW1EzH74ZPyDysut5S/m4Jsn+ImOsQJhNCdxbRZmD9tVYVDnu0VK0lGHSDF1ZqxF OIXiSX5LAA5WQorqF3GA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q4Uy3-001RQ8-0A; Wed, 31 May 2023 23:10:59 +0000 Received: from phobos.denx.de ([2a01:238:438b:c500:173d:9f52:ddab:ee01]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q4Uy0-001RPH-0x for linux-arm-kernel@lists.infradead.org; Wed, 31 May 2023 23:10:58 +0000 Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 9113A846D8; Thu, 1 Jun 2023 01:10:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1685574655; bh=tDonX/f79Ik45V9YBqk/CP4xiQZtcS9hSQvn3JIZ4Ms=; h=From:To:Cc:Subject:Date:From; b=HZWFsWKYJVSg3Y8hryMKiTo6YVyq0zk0+PrgN7HlOJivNyMg2lUBAOQ/lzVPhLpmy n0XSTe9/W893pfWHF7e/Ko/HfOARpVVWdzS+r6gkFXBrTGQ8XfXIN/cH3NuBRD1FLm 0cCDCDd+0B9rgVikVIHoGUHoehs6ZKmbk16w5ACyRxXw85e5DaURuu0BZslb4l13su d/J7tPehJ4RagcDe911AaGp9VrJUYgB9HBxZf3LislhvS2IDBzMZhM4KT71PJ9HTW3 s7D6xFBxW+Sdm8iRZ3J3D+xxUP1MLphTJnC+KsD3mfboUc8EBFPhrknhFLyhifGqcp Lk0F3aa51Ya8w== From: Marek Vasut To: linux-arm-kernel@lists.infradead.org Cc: Marek Vasut , Alexandre Torgue , Conor Dooley , Krzysztof Kozlowski , Maxime Coquelin , Raphael Gallais-Pou , Rob Herring , devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com Subject: [PATCH] ARM: dts: stm32: Deduplicate DSI node Date: Thu, 1 Jun 2023 01:10:44 +0200 Message-Id: <20230531231044.574541-1-marex@denx.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230531_161056_655295_322D4190 X-CRM114-Status: GOOD ( 12.27 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org All boards using the DSI node duplicate the same pattern common pattern in board DTs, that pattern is ports with endpoint labels and the same in-SoC regulator connection. Move that common pattern into stm32mp157.dtsi instead. The two boards which do define panel@0 directly in the DSI bridge node now have #address-cells/#size-cells in their board DT instead of it being in stm32mp157.dtsi and activated incorrectly for all boards, even the ones which use e.g. another DSI-to-something bridge. Signed-off-by: Marek Vasut Reviewed-by: Raphael Gallais-Pou Acked-by: RaphaĆ«l Gallais-Pou --- Cc: Alexandre Torgue Cc: Conor Dooley Cc: Krzysztof Kozlowski Cc: Maxime Coquelin Cc: Raphael Gallais-Pou Cc: Rob Herring Cc: devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-stm32@st-md-mailman.stormreply.com --- arch/arm/boot/dts/stm32mp157.dtsi | 18 ++++++++++++ ...tm32mp157a-icore-stm32mp1-ctouch2-of10.dts | 24 ++++------------ .../stm32mp157a-icore-stm32mp1-edimm2.2.dts | 28 ++++++------------- arch/arm/boot/dts/stm32mp157c-dk2.dts | 28 ++++++------------- arch/arm/boot/dts/stm32mp157c-ev1.dts | 28 ++++++------------- 5 files changed, 48 insertions(+), 78 deletions(-) diff --git a/arch/arm/boot/dts/stm32mp157.dtsi b/arch/arm/boot/dts/stm32mp157.dtsi index 5e733cd16ff9e..6197d878894de 100644 --- a/arch/arm/boot/dts/stm32mp157.dtsi +++ b/arch/arm/boot/dts/stm32mp157.dtsi @@ -22,9 +22,27 @@ dsi: dsi@5a000000 { reg = <0x5a000000 0x800>; clocks = <&rcc DSI_K>, <&clk_hse>, <&rcc DSI_PX>; clock-names = "pclk", "ref", "px_clk"; + phy-dsi-supply = <®18>; resets = <&rcc DSI_R>; reset-names = "apb"; status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dsi_in: endpoint { + }; + }; + + port@1 { + reg = <1>; + dsi_out: endpoint { + }; + }; + }; }; }; }; diff --git a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts index 4279b26547dfd..df97e03d2a5ac 100644 --- a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts +++ b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2-of10.dts @@ -46,26 +46,14 @@ panel_in_lvds: endpoint { &dsi { status = "okay"; - phy-dsi-supply = <®18>; - - ports { - #address-cells = <1>; - #size-cells = <0>; +}; - port@0 { - reg = <0>; - dsi_in: endpoint { - remote-endpoint = <<dc_ep0_out>; - }; - }; +&dsi_in { + remote-endpoint = <<dc_ep0_out>; +}; - port@1 { - reg = <1>; - dsi_out: endpoint { - remote-endpoint = <&bridge_in>; - }; - }; - }; +&dsi_out { + remote-endpoint = <&bridge_in>; }; &i2c6 { diff --git a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts index efba542898207..f8e4043463964 100644 --- a/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts +++ b/arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts @@ -46,26 +46,14 @@ panel_out_bridge: endpoint { &dsi { status = "okay"; - phy-dsi-supply = <®18>; - - ports { - #address-cells = <1>; - #size-cells = <0>; +}; - port@0 { - reg = <0>; - dsi_in_ltdc: endpoint { - remote-endpoint = <<dc_out_dsi>; - }; - }; +&dsi_in { + remote-endpoint = <<dc_out_dsi>; +}; - port@1 { - reg = <1>; - dsi_out_bridge: endpoint { - remote-endpoint = <&bridge_in_dsi>; - }; - }; - }; +&dsi_out { + remote-endpoint = <&bridge_in_dsi>; }; &i2c6 { @@ -88,7 +76,7 @@ ports { port@0 { reg = <0>; bridge_in_dsi: endpoint { - remote-endpoint = <&dsi_out_bridge>; + remote-endpoint = <&dsi_out>; data-lanes = <1 2>; }; }; @@ -108,7 +96,7 @@ <dc { port { ltdc_out_dsi: endpoint { - remote-endpoint = <&dsi_in_ltdc>; + remote-endpoint = <&dsi_in>; }; }; }; diff --git a/arch/arm/boot/dts/stm32mp157c-dk2.dts b/arch/arm/boot/dts/stm32mp157c-dk2.dts index 4bef2300ed7ca..510cca5acb79c 100644 --- a/arch/arm/boot/dts/stm32mp157c-dk2.dts +++ b/arch/arm/boot/dts/stm32mp157c-dk2.dts @@ -34,26 +34,6 @@ &dsi { #address-cells = <1>; #size-cells = <0>; status = "okay"; - phy-dsi-supply = <®18>; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - dsi_in: endpoint { - remote-endpoint = <<dc_ep1_out>; - }; - }; - - port@1 { - reg = <1>; - dsi_out: endpoint { - remote-endpoint = <&panel_in>; - }; - }; - }; panel@0 { compatible = "orisetech,otm8009a"; @@ -70,6 +50,14 @@ panel_in: endpoint { }; }; +&dsi_in { + remote-endpoint = <<dc_ep1_out>; +}; + +&dsi_out { + remote-endpoint = <&panel_in>; +}; + &i2c1 { touchscreen@38 { compatible = "focaltech,ft6236"; diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts index 49ca94c19b02b..874770c997997 100644 --- a/arch/arm/boot/dts/stm32mp157c-ev1.dts +++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts @@ -100,30 +100,10 @@ dcmi_0: endpoint { }; &dsi { - phy-dsi-supply = <®18>; #address-cells = <1>; #size-cells = <0>; status = "okay"; - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - dsi_in: endpoint { - remote-endpoint = <<dc_ep0_out>; - }; - }; - - port@1 { - reg = <1>; - dsi_out: endpoint { - remote-endpoint = <&dsi_panel_in>; - }; - }; - }; - panel@0 { compatible = "raydium,rm68200"; reg = <0>; @@ -140,6 +120,14 @@ dsi_panel_in: endpoint { }; }; +&dsi_in { + remote-endpoint = <<dc_ep0_out>; +}; + +&dsi_out { + remote-endpoint = <&dsi_panel_in>; +}; + ðernet0 { status = "okay"; pinctrl-0 = <ðernet0_rgmii_pins_a>;