From patchwork Wed Apr 27 18:52:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Detlev Casanova X-Patchwork-Id: 12829366 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 E7669C433EF for ; Wed, 27 Apr 2022 18:55:01 +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:References:In-Reply-To: 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: List-Owner; bh=pGCQPsyRepNalPPVbrt0apWCLSEz65H1/zPU3HNdwsY=; b=YIMtcZwuOtaWBj SKzMiry4ZTKuSsIaWLd0cCeKtGvItLmvNYtrl9yYwqQX8cqbHJgmNH0O9iuJG2qdTmyT3ATD0Zf1j UQzIb4vDPdCQeEQ6l8PE4JroDjv0hVFda1GCq63fORofa3DPvgbspkiTUZSulTZvrXT1uAdpCqTTc mrDoEVx+cmjcW/P4kDZnJR89xZkUeF8p5dAAALUAQvOf9NP3FqDG9/UZS3Y162T7fNzmUr4b5S1QY MGStGpYrT0/L8gBARjOgmudInN9E36+PRqwp1egVlW4f0JfRwN124D1Px5hJ6E9sl9mEdg5CxSXf1 veGbRP5Bvyl4ARrtxwdg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmnP-0039xk-Hu; Wed, 27 Apr 2022 18:53:51 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmmo-0039lX-SS; Wed, 27 Apr 2022 18:53:17 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: detlev) with ESMTPSA id 681B51F44C76 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1651085591; bh=zjj9bT7nqpGYLUD+MFiPjS+p1d3JG85znHGLCnosqsI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RKdyXnstCooOeljI2Lcr7RIh46FK4AYDyreb8YFUpmbKEJVZv7+eFizmEncMypc6a 02eo/ksmJ3OSJEKrHcu/3J4uT8NYylIw0G5+dv+q7E0xaP6o6S6dSlxC5wObBqmVSR +NLKCxCbH1LQ3qVP0AGFC/GMW5O/YopOO6AcK8Yon6KIttKahWuyYCeh9TB9cXYiTJ E+jQ8nV5/fOQO4tkzJKqLgIaDhJO4kKpnfrzUQYW0DFWLSF9hzgNAexe1oS6DmNSeR JI7T/QxkvJ36fXZ12TWblAF6xlVDkLt0DYYPAGLHD/Pwe2klqYhLEb275jQM54jcNP XT9NWbluHBoyQ== From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: arnd@arndb.de, bcm-kernel-feedback-list@broadcom.com, devicetree@vger.kernel.org, f.fainelli@gmail.com, frowand.list@gmail.com, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, masahiroy@kernel.org, michal.lkml@markovi.net, ndesaulniers@google.com, nsaenz@kernel.org, olof@lixom.net, rjui@broadcom.com, robh+dt@kernel.org, sbranden@broadcom.com, soc@kernel.org, stefan.wahren@i2se.com, Detlev Casanova Subject: [RFC PATCH v2 1/3] ARM: dts: bcm2*: Demux i2c0 with a pinctrl Date: Wed, 27 Apr 2022 14:52:41 -0400 Message-Id: <20220427185243.173594-2-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220427185243.173594-1-detlev.casanova@collabora.com> References: <20220427185243.173594-1-detlev.casanova@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220427_115315_141692_9B4E6AC0 X-CRM114-Status: GOOD ( 15.00 ) 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 The i2c0 device has 2 different busses controlled by a pinctrl. This commit separates the device node into 2 i2c devices: * pin 0: Base i2c bus * pin 44: DSI i2c bus i2c0 is renamed to i2c0if so that device-trees referencing i2c0 don't break and use the i2c0 node defined in i2c0mux node. i2c_csi_dsi can be used to control devices via the DSI i2c bus, used for DSI displays. Signed-off-by: Detlev Casanova --- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 + arch/arm/boot/dts/bcm2711.dtsi | 2 +- arch/arm/boot/dts/bcm2835-rpi.dtsi | 9 ++++--- .../boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi | 4 +++ arch/arm/boot/dts/bcm283x.dtsi | 26 ++++++++++++++++++- 5 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts index 4432412044de..5dcce58817e6 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -4,6 +4,7 @@ #include "bcm2711-rpi.dtsi" #include "bcm283x-rpi-usb-peripheral.dtsi" #include "bcm283x-rpi-wifi-bt.dtsi" +#include "bcm283x-rpi-i2c0mux_0_44.dtsi" / { compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi index dff18fc9a906..96209ed89c36 100644 --- a/arch/arm/boot/dts/bcm2711.dtsi +++ b/arch/arm/boot/dts/bcm2711.dtsi @@ -1045,7 +1045,7 @@ &cma { alloc-ranges = <0x0 0x00000000 0x40000000>; }; -&i2c0 { +&i2c0if { compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; interrupts = ; }; diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi index 87ddcad76083..1e38f9f0e80e 100644 --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi @@ -49,13 +49,16 @@ alt0: alt0 { }; }; -&i2c0 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c0_gpio0>; +&i2c0if { status = "okay"; clock-frequency = <100000>; }; +&i2c0mux { + pinctrl-0 = <&i2c0_gpio0>; + status = "okay"; +}; + &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_gpio2>; diff --git a/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi new file mode 100644 index 000000000000..119946d878db --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-i2c0mux_0_44.dtsi @@ -0,0 +1,4 @@ +&i2c0mux { + pinctrl-0 = <&i2c0_gpio0>; + pinctrl-1 = <&i2c0_gpio44>; +}; diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index c113661a6668..62d7ee513549 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi @@ -336,7 +336,7 @@ spi: spi@7e204000 { status = "disabled"; }; - i2c0: i2c@7e205000 { + i2c0if: i2c@7e205000 { compatible = "brcm,bcm2835-i2c"; reg = <0x7e205000 0x200>; interrupts = <2 21>; @@ -346,6 +346,30 @@ i2c0: i2c@7e205000 { status = "disabled"; }; + i2c0mux: i2c0mux { + compatible = "i2c-mux-pinctrl"; + #address-cells = <1>; + #size-cells = <0>; + + i2c-parent = <&i2c0if>; + + pinctrl-names = "i2c0", "i2c_csi_dsi"; + + status = "disabled"; + + i2c0: i2c@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + }; + + i2c_csi_dsi: i2c@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + dpi: dpi@7e208000 { compatible = "brcm,bcm2835-dpi"; reg = <0x7e208000 0x8c>; From patchwork Wed Apr 27 18:52:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Detlev Casanova X-Patchwork-Id: 12829365 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 A5361C433EF for ; Wed, 27 Apr 2022 18:54:35 +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:References:In-Reply-To: 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: List-Owner; bh=MsTfFqvRdzsjhqpM+YfBE0Ojr+A34aqXZgP6io23xB0=; b=fHZvYhq67fLMAX jrheC9Dmk5xZ2cmW9S8iMIsdpwyXH8m5L+cqmRHDjkcXEsJSoQB3o4/RfilzvKAPeoxBSmJNmjE1F 6Z7Pl728mUK62my5//5NlO6yVxbcePpddjofS8X/x/qs6QZ8ASSUjdHAzTkkDBB3d1s6u+JSx+kby TGivwUmDHxCDbAjC8XTcOxR1YgNsdZOpmkdo5qzIsWpASmOEHO7rMNDIH+hGlqb2ICzMqyED8VPu5 4ZNdMJbIfkEf/AabTNLc+yqujAwjxIvocHhle86O7A/Tp37Bo71jzT00U31rUL971udbNSQhZFf3H oFYeGuYaF3nkvzKzGPbA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmn8-0039sd-JQ; Wed, 27 Apr 2022 18:53:34 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmmo-0039mE-RH; Wed, 27 Apr 2022 18:53:16 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: detlev) with ESMTPSA id 7E0CF1F44C83 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1651085593; bh=8vjtK1UfLIB91ege1gKuJlUretQNYk9Byb8qSHjd5g4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NhAkP6uyhRJ4v5WhCw8JWL+LAjgyXnc+JlM6riExVJGIPUyFsnm/LwDosb9lRaFZd OkHdx6rZkTg4icDQ1U+K9ELRLcS7X4ZhQseEDMsuN0nAfYMLAeZaUuAd8DMhTK9YZv jRhEANnLzzQ4bApObZTxTFKMrNxc6cUZW4J2A4geRuWJSY9xTznd/k+8XDrC9fKjaQ uJhPZnEiZEkxpNSPZec/75xvoakHcgVPG+sYHvHB4E9r8i9ROPioWFgmCz0y+DsNB0 ly4VDnhlNI2wAYvBDxj5MvetotNfjn5LpmGJCiYdA4iQKNfkbFtl6gTbj1m7dw9hlK Z1ddu3h+LIb/Q== From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: arnd@arndb.de, bcm-kernel-feedback-list@broadcom.com, devicetree@vger.kernel.org, f.fainelli@gmail.com, frowand.list@gmail.com, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, masahiroy@kernel.org, michal.lkml@markovi.net, ndesaulniers@google.com, nsaenz@kernel.org, olof@lixom.net, rjui@broadcom.com, robh+dt@kernel.org, sbranden@broadcom.com, soc@kernel.org, stefan.wahren@i2se.com, Detlev Casanova Subject: [RFC PATCH v2 2/3] of: Add support for -@ when compiling overlays Date: Wed, 27 Apr 2022 14:52:42 -0400 Message-Id: <20220427185243.173594-3-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220427185243.173594-1-detlev.casanova@collabora.com> References: <20220427185243.173594-1-detlev.casanova@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220427_115315_122725_35983B75 X-CRM114-Status: GOOD ( 15.40 ) 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 This commit adds an option to compile all device trees with -@ to add the symbol table to the Device Tree Blobs. It prepares the introduction of device tree overlays that are not applied on device trees at compile time (dtbo files.) These device tree overlays will be used by either a bootloader or a linux userspace tool to extend the base device tree. This is used e.g. for drivers that need device tree nodes for optional non plug and play devices, like an external DSI touchscreen panel that embeds different i2c devices to control it. Signed-off-by: Detlev Casanova --- drivers/of/Kconfig | 8 ++++++++ scripts/Makefile.lib | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 80b5fd44ab1c..28cf8d18ac45 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -76,11 +76,19 @@ config OF_RESERVED_MEM config OF_RESOLVE bool +config OF_SYMBOLS + bool "Include device tree symbols" + help + Loading a device tree overlay dynamically can require the base + device tree symbols to be present. + If this is enabled, the device tree blobs will be bigger. + config OF_OVERLAY bool "Device Tree overlays" select OF_DYNAMIC select OF_FLATTREE select OF_RESOLVE + select OF_SYMBOLS help Overlays are a method to dynamically modify part of the kernel's device tree with dynamically loaded data. diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 79be57fdd32a..4c330e565297 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -319,8 +319,13 @@ endif DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) -# Set -@ if the target is a base DTB that overlay is applied onto -DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) +ifeq ($(CONFIG_OF_SYMBOLS),y) + # Add symbols in all devicetrees + DTC_FLAGS += -@ +else + # Set -@ if the target is a base DTB that overlay is applied onto + DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) +endif # Generate an assembly file to wrap the output of the device tree compiler quiet_cmd_dt_S_dtb= DTB $@ From patchwork Wed Apr 27 18:52:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Detlev Casanova X-Patchwork-Id: 12829367 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 33B21C433F5 for ; Wed, 27 Apr 2022 18:55:18 +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:References:In-Reply-To: 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: List-Owner; bh=dgo3Nkg41z65NMxwaJbmFMbPsXi5Ef0Qj/Xh51n29Zg=; b=nX0zXdtHZ4yVYy jJi33hzGLsw+Ng422nDhAT3xohxBBsoJDM9gEHXK9CCBVWUszw9D0R7x/pqPFzj3HjM+8CtwLqYQn xvIVvzjGwg/6vQ/832eKt/03VrdpP4V/fdE/l4pOKx7A9+hRPPuwZ6dcY+FXPsh7ikm+557Yzbd39 gfIHM/7ygA6t1aViZi/ktvZ8PJ6KEjOFp8gh0EW5yJF2KxQOnwo8+UM+HGaZmyLiY4JHt3HVgFUjr vV7/T4hUQlQYdVuiSl4s8TMOBupQT/cmEIHsiO2V2h8G7xcKOY0d6Lr4TrXO6iuZXD+0b7rjAg5/a 0YkSsyevOCWVsTOGAAwA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmnc-003A2p-A5; Wed, 27 Apr 2022 18:54:04 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1njmmq-0039n9-LB; Wed, 27 Apr 2022 18:53:19 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: detlev) with ESMTPSA id 8FC1F1F44C87 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1651085595; bh=fdts8xdjxfo/HcbM44f5ebcxxEsRi/kQO4JxLimk5MU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WHTzTckzb4FP/l5onILZN2cxytJo1alLFMat4NiWCXoxs+i1auVeeB+EolxMFdOPe lUxjpJJ8QlZD2SFs1Qok4yTQl8RM6+Jz6/LOUA3GJ2/811ap1Hiym7cKbInp+9xMwW UC48EOwI/GsLeBhVuTrqcGFE2LErd5Eat4P1laUifBf2fL2ZOnZecnOu8Jds9EoesQ CoBGkMqoHoH4A0EKf69SMwjPrjdS3Ln0uQ3gbbJ5/Y42Vmf0iaWjrYnTchA2sM+9wP 5/1lOPL4djWe1L5ucHlJ35yPXtF1PPkjtoxZ69tDPIKCugSqB0l6s2mRDmRw34lhCm +tkFIOmBD/eTw== From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: arnd@arndb.de, bcm-kernel-feedback-list@broadcom.com, devicetree@vger.kernel.org, f.fainelli@gmail.com, frowand.list@gmail.com, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, masahiroy@kernel.org, michal.lkml@markovi.net, ndesaulniers@google.com, nsaenz@kernel.org, olof@lixom.net, rjui@broadcom.com, robh+dt@kernel.org, sbranden@broadcom.com, soc@kernel.org, stefan.wahren@i2se.com, Detlev Casanova Subject: [RFC PATCH v2 3/3] ARM: dto: Add bcm2711-rpi-7-inches-ts.dts overlay Date: Wed, 27 Apr 2022 14:52:43 -0400 Message-Id: <20220427185243.173594-4-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220427185243.173594-1-detlev.casanova@collabora.com> References: <20220427185243.173594-1-detlev.casanova@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220427_115317_026985_1D0AB381 X-CRM114-Status: GOOD ( 14.71 ) 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 Add a device tree overlay to support the official Raspberrypi 7" touchscreen for the bcm2711 devices. The panel is connected on the DSI 1 port and uses the simple-panel driver. The device tree also makes sure to activate the pixelvalve[0-4] CRTC modules Signed-off-by: Detlev Casanova --- arch/arm/boot/dts/Makefile | 4 + arch/arm/boot/dts/overlays/Makefile | 3 + .../dts/overlays/bcm2711-rpi-7-inches-ts.dts | 125 ++++++++++++++++++ arch/arm64/boot/dts/broadcom/Makefile | 4 + .../arm64/boot/dts/broadcom/overlays/Makefile | 3 + .../overlays/bcm2711-rpi-7-inches-ts.dts | 2 + 6 files changed, 141 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/Makefile create mode 100644 arch/arm/boot/dts/overlays/bcm2711-rpi-7-inches-ts.dts create mode 100644 arch/arm64/boot/dts/broadcom/overlays/Makefile create mode 100644 arch/arm64/boot/dts/broadcom/overlays/bcm2711-rpi-7-inches-ts.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 235ad559acb2..eb0b0b121947 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1549,3 +1549,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \ aspeed-bmc-vegman-n110.dtb \ aspeed-bmc-vegman-rx20.dtb \ aspeed-bmc-vegman-sx20.dtb + +ifeq ($(CONFIG_OF_OVERLAY),y) +subdir-y += overlays +endif diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile new file mode 100644 index 000000000000..c90883dfaf91 --- /dev/null +++ b/arch/arm/boot/dts/overlays/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0 + +dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-7-inches-ts.dtbo diff --git a/arch/arm/boot/dts/overlays/bcm2711-rpi-7-inches-ts.dts b/arch/arm/boot/dts/overlays/bcm2711-rpi-7-inches-ts.dts new file mode 100644 index 000000000000..de98a6c1079a --- /dev/null +++ b/arch/arm/boot/dts/overlays/bcm2711-rpi-7-inches-ts.dts @@ -0,0 +1,125 @@ +// SPDX-License-Identifier: GPL-2.0 + +/dts-v1/; +/plugin/; + +&{/} { + #address-cells = <2>; + #size-cells = <1>; + + panel_disp1: panel@0 { + reg = <0 0 0>; + compatible = "raspberrypi,7inch-dsi", "simple-panel"; + backlight = <®_display>; + power-supply = <®_display>; + status = "okay"; + + port { + panel_in: endpoint { + remote-endpoint = <&bridge_out>; + }; + }; + }; + + reg_bridge: regulator@0 { + reg = <0 0 0>; + compatible = "regulator-fixed"; + regulator-name = "bridge_reg"; + gpio = <®_display 0 0>; + vin-supply = <®_display>; + enable-active-high; + status = "okay"; + }; +}; + +&i2c_csi_dsi { + #address-cells = <1>; + #size-cells = <0>; + + ft5406: touchscreen@38 { + compatible = "edt,edt-ft5506"; + reg = <0x38>; + status = "okay"; + + vcc-supply = <®_display>; + reset-gpio = <®_display 1 1>; + + touchscreen-size-x = < 800 >; + touchscreen-size-y = < 480 >; + + touchscreen-inverted-x; + touchscreen-inverted-y; + }; + + reg_display: regulator@45 { + compatible = "raspberrypi,7inch-touchscreen-panel-regulator"; + reg = <0x45>; + status = "okay"; + + gpio-controller; + #gpio-cells = <2>; + }; + +}; + +&dsi1 { + #address-cells = <1>; + #size-cells = <0>; + + status = "okay"; + + port { + dsi_out: endpoint { + remote-endpoint = <&bridge_in>; + }; + }; + + bridge@0 { + #address-cells = <1>; + #size-cells = <0>; + + reg = <0>; + compatible = "toshiba,tc358762"; + + vddc-supply = <®_bridge>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + bridge_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + + port@1 { + reg = <1>; + bridge_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; + }; +}; + +&pixelvalve0 { + status = "okay"; +}; + +&pixelvalve1 { + status = "okay"; +}; + +&pixelvalve2 { + status = "okay"; +}; + +&pixelvalve3 { + status = "okay"; +}; + +&pixelvalve4 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile index c6882032a428..a6c43c5b053a 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -7,6 +7,10 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \ bcm2837-rpi-3-b-plus.dtb \ bcm2837-rpi-cm3-io3.dtb +ifeq ($(CONFIG_OF_OVERLAY),y) +subdir-y += overlays +endif + subdir-y += bcm4908 subdir-y += northstar2 subdir-y += stingray diff --git a/arch/arm64/boot/dts/broadcom/overlays/Makefile b/arch/arm64/boot/dts/broadcom/overlays/Makefile new file mode 100644 index 000000000000..c90883dfaf91 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/overlays/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0 + +dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-7-inches-ts.dtbo diff --git a/arch/arm64/boot/dts/broadcom/overlays/bcm2711-rpi-7-inches-ts.dts b/arch/arm64/boot/dts/broadcom/overlays/bcm2711-rpi-7-inches-ts.dts new file mode 100644 index 000000000000..7d532b090305 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/overlays/bcm2711-rpi-7-inches-ts.dts @@ -0,0 +1,2 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "arm/overlays/bcm2711-rpi-7-inches-ts.dts"