[PATCH] ARM: dts: stm32: Deduplicate DSI node
Alexandre TORGUE
alexandre.torgue at foss.st.com
Tue Jul 11 02:01:09 PDT 2023
Hi Marek
On 6/1/23 01:10, Marek Vasut wrote:
> 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 at 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 <marex at denx.de>
Applied on stm32-next.
Thanks.
Alex
> ---
> Cc: Alexandre Torgue <alexandre.torgue at foss.st.com>
> Cc: Conor Dooley <conor+dt at kernel.org>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
> Cc: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
> Cc: Raphael Gallais-Pou <raphael.gallais-pou at foss.st.com>
> Cc: Rob Herring <robh+dt at kernel.org>
> Cc: devicetree at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-stm32 at 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 at 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 at 0 {
> + reg = <0>;
> + dsi_in: endpoint {
> + };
> + };
> +
> + port at 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 at 0 {
> - reg = <0>;
> - dsi_in: endpoint {
> - remote-endpoint = <<dc_ep0_out>;
> - };
> - };
> +&dsi_in {
> + remote-endpoint = <<dc_ep0_out>;
> +};
>
> - port at 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 at 0 {
> - reg = <0>;
> - dsi_in_ltdc: endpoint {
> - remote-endpoint = <<dc_out_dsi>;
> - };
> - };
> +&dsi_in {
> + remote-endpoint = <<dc_out_dsi>;
> +};
>
> - port at 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 at 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 at 0 {
> - reg = <0>;
> - dsi_in: endpoint {
> - remote-endpoint = <<dc_ep1_out>;
> - };
> - };
> -
> - port at 1 {
> - reg = <1>;
> - dsi_out: endpoint {
> - remote-endpoint = <&panel_in>;
> - };
> - };
> - };
>
> panel at 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 at 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 at 0 {
> - reg = <0>;
> - dsi_in: endpoint {
> - remote-endpoint = <<dc_ep0_out>;
> - };
> - };
> -
> - port at 1 {
> - reg = <1>;
> - dsi_out: endpoint {
> - remote-endpoint = <&dsi_panel_in>;
> - };
> - };
> - };
> -
> panel at 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>;
More information about the linux-arm-kernel
mailing list