From patchwork Tue Aug 13 16:20:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092599 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id ED68C1510 for ; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DC3BC285B7 for ; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D0170285C8; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3E88D285C9 for ; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728288AbfHMQVR (ORCPT ); Tue, 13 Aug 2019 12:21:17 -0400 Received: from mout.gmx.net ([212.227.15.19]:45051 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727211AbfHMQVQ (ORCPT ); Tue, 13 Aug 2019 12:21:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713257; bh=iDUcfRWgj6xMZ6ufkHWxUXFO8H+8dzKn12ZcmJVMWeI=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=dCCwDtMigstSqGI9gP6G2PaZPNT5E4d3jocGaFRRFzopTdUVIYfODuCd04Y9grOhM fw2AB4t0MVxKCr3o4tdT0O4Hro1D+Aj4jbA5bpj0KChoG9/4F3EnTbPXUO0Dv5GHgo PjaC1CmUMOxf50c0Yg+IVNQGGlIWLQGSfxtFqQxk= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M3lc9-1hxIIF3UNH-000xKJ; Tue, 13 Aug 2019 18:20:56 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 01/13] ARM: dts: bcm283x: Enable HDMI at board level Date: Tue, 13 Aug 2019 18:20:36 +0200 Message-Id: <1565713248-4906-2-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:YeUUJDIN5zMfxRBinVGGPBzmrODzPMlVYsAXObRVUltuHVuiyj/ PB/mvRpGBXubvAnEdwOGqM10roF2Q5/iYO0jGY2RtHz42ErMNzJkUIXjscRrf+knxTd4mmK B9buV8kkhs0YVT91EkuamKADVi7RIJ7gV1Ejlqxd9MlGN4tKoVUXnrMyc9fZ6gSyrnyCU1U 3qut7AU+rBD+AOd114wpA== X-UI-Out-Filterresults: notjunk:1;V03:K0:fNRUHP566jo=:GTXSW49JCETG09U/9GoNNk A/UQoeRsY1ChScmzOVh5PnI0AZRjP6v3u/2EaepghWRoswOKqMo9RcAGsF/AA3+p5Fa2pRedS m90GqZY1f85W3Olw4YF5Y49us7+ztI0l/L86X89Wu3aA9a7XzLE++W8mGxQubtq9qiXTEIr5j DPRpdUr6uVyg0oPw2HUf843PpTE59IMdqnB689C5Vcsx4UKEP4nKyXeF9CGHOl5OrMZFOa1FG Yu/NybQNj/aMJY84EWv0JXEdPDPB5GzGNVUw67zbbtM8f4AUMHaSgeDOjZ7qM5A3FbW9O9XmC HGFyhBXWRYik+LjnZEjm6zQJ3xbbwtrFyVfdqsTTVZpC0Djk+JmsRePirxn4EVzkOPQHpoFFb ZZ5Wklbr2KsBd/9/67gERBAdcgs0TiDfys2ENJm183jIaRQcLsvSRNFIygwQizB5uAMyjdfzd bE+wZfzYixUnDcx+vWGTyaOLAmUf+dG8IXCxcxTM0N6XX1+9ai93aCiu4vBXRvQUOpEGDmvkD KNyr5gP1GpKxs8njI5Rr5pZ5NppDDU0X9+X3WPSICv1IgNYmvYaw0YIZvMsM5rzitoLQzA1Cl 2yPNdae/e2E0LbEJfhrU8GhhrZZ3zeg2xRTH5jlgqLF9gqPU4OZwS9qkEBzu5s9GqihFo0QRG sNuJcUYwUMCarZjgZVg8ENvZ6I7oLADRsZyS0cASCAu5BSFZ9nY2WPLmUxTmgQudYPUvBJAZh JNGAC5v5pmPa0fLopxi5Bt0CVtJmQDlHQekpI7baUS6QMSRGGIBXO9dCfM9Va3EkpNBolxtCd jl6O5xn9KiBaRcGWCobQic7I+bl91lMMWOb4oHpS53s/OwxpgmOMo352Iki+EVfZe/QSRchYr V6fpzpDCp/Ja/vBtXACJLKj2kZ4nWQ1zhnpmlpIVrOyFxy03tkbNq+vuHKteZiqoGDIlsHGu1 1q+TJeJNaLVXkaDXj6JjpIcnog+igGXWrPd2Soovl+ExD0ef6XAwiLQyaGBWR27oZTDUXKylq uzEy7qf39vJmO8aQ6rBnBjeWwqPGsPUJ6wAz8ZV24AAKxbIxp423HZzyn4B59DqyxXi5S3CGx Np+9NfcMbBkXMRAn7iloX1KYBIJAAJF+0F5Ks1SL8vBIrNKrHuolH3Udg== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There might be headless setups of the Compute Module without HDMI, so better enable HDMI at board level. Btw this allows moving HDMI into bcm2835-common.dtsi. Signed-off-by: Stefan Wahren --- arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi-a.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi-b.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi-zero.dts | 2 ++ arch/arm/boot/dts/bcm2835-rpi.dtsi | 5 ----- arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 2 ++ arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts | 2 ++ arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 ++ arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 2 ++ arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts | 2 ++ 14 files changed, 26 insertions(+), 5 deletions(-) -- 2.7.4 diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts index 5b42e9a..6c8ce39 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts @@ -104,6 +104,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts index b716214..17fdd48 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-a.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts @@ -99,6 +99,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts index 3318082..b0355c2 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts @@ -106,6 +106,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts index 97d7eb5..33b3b5c 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts @@ -99,6 +99,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts index 37e02a1..2b69957 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts @@ -94,6 +94,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts b/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts index 41afea4..a75c882 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts @@ -79,6 +79,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &sdhost { diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts index f38f388..09a088f 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts @@ -105,6 +105,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &sdhci { diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts index 5fd0686..6dd93c6 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts @@ -101,6 +101,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &sdhost { diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi index f5125b7..6c6a7f6 100644 --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi @@ -67,11 +67,6 @@ power-domains = <&power RPI_POWER_DOMAIN_USB>; }; -&hdmi { - power-domains = <&power RPI_POWER_DOMAIN_HDMI>; - status = "okay"; -}; - &vec { power-domains = <&power RPI_POWER_DOMAIN_VEC>; status = "okay"; diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts index 6a89999..0455a68 100644 --- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts @@ -106,6 +106,8 @@ &hdmi { hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts index 0e29aaa..66ab35e 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts @@ -118,6 +118,8 @@ &hdmi { hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts index a1487ae..74ed6d0 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts @@ -125,6 +125,8 @@ &hdmi { hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &pwm { diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts index a36bfdb..054ecaa 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts @@ -126,6 +126,8 @@ &hdmi { hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; /* uart0 communicates with the BT module */ diff --git a/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts b/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts index 433e306..588d941 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts @@ -78,6 +78,8 @@ &hdmi { hpd-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; + power-domains = <&power RPI_POWER_DOMAIN_HDMI>; + status = "okay"; }; &sdhost { From patchwork Tue Aug 13 16:20:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092609 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5421B912 for ; Tue, 13 Aug 2019 16:21:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4386F285B7 for ; Tue, 13 Aug 2019 16:21:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 37C51285EA; Tue, 13 Aug 2019 16:21:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5CCC5285B7 for ; Tue, 13 Aug 2019 16:21:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728415AbfHMQVU (ORCPT ); Tue, 13 Aug 2019 12:21:20 -0400 Received: from mout.gmx.net ([212.227.15.15]:46047 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727221AbfHMQVT (ORCPT ); Tue, 13 Aug 2019 12:21:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713257; bh=7S5djWQzn2gDxYQ9YkU8zVyRZfcicTOF31rfB/MWxIE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=lC99sWYasat5GSmf9Co3iMrcdjlWo+GBid3HTTIC8GJNuu9V15EpH584z2qaCS5Ar nUhzFlT64/M1PuQo1ycgtyIPFHW3nBesXGzh44HlvAePUH7PFM+2n31H1xRL91sWE/ PopoEU91uHkK8hI7KUPC7vM3AxGnUnfdnOsp945w= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N9dwd-1iKj3k1bYj-015WJV; Tue, 13 Aug 2019 18:20:57 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 02/13] ARM: dts: bcm283x: Move BCM2835/6/7 specific to bcm2835-common.dtsi Date: Tue, 13 Aug 2019 18:20:37 +0200 Message-Id: <1565713248-4906-3-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:3kXe+yEkDGjZ2SVm7wmv+qrZ8kqqw8MimzfhpGvfDZbO84rjxEu +lAcLfQ8Uk2IGhsGyIi62nXEIgxHLzI85yUDA3if6GTKhNOj1lDVyO9QcGapz9+lq3ImBkL jR80bTg1cpFa4zyfGXArTgOVmXB1WunNTl5cXjIIQDBChVatmhkVNvvBmDHbvFKdTVpWp4K P10UqXZcwisEgGRHVlEIg== X-UI-Out-Filterresults: notjunk:1;V03:K0:hilN8USRaf4=:OkO8R8/IIDI5dSLHKpmLGp v1aaDRHSB6H8dswXbC6aWI5pTXBELgr1Xqf6X1eGa0QRaR+mI+dC3AToS4nQUidlABA1CuWIN Tg22TX+2O4fV+GBltMAKeN0dOM+BWR4zi2dpWWnM+DpuiX8kx+dkY6SUENjIrOpSCnUBd6lKS 2FWuGbIUHOIRYmK58JWa9rpRFK5Vs2uRZqkzxLc1AOv25ovLOn7tLP2jBBWOdTLvqM4kXyPyx +vOgj4GxhahttP6PmEQ/ZF0piSWjM/AQtRssqJddzDSlYvp/4FJow94Rca+Wq7tGOUi0X81f9 uzMJAeyJcsfn2D4Hw5X/XzRZq8tnP96RnMdGk3rn94htwlpSRVUIXOOmcTJOJoPgbaWwUJWX9 LjowQz35EUHDWgd10QJSiXFTGe7VkrB+msvxgZUOnEfZfXAXQ2sFBiwDijMWaXpuudCQWa6vc mBV6ekjOalBjtvCzHpaGuzrBE/ufrhukIhGN2vgIwIZX4QLdbZfQyonn8MIfWVFCN+rqvU8U6 NIbnAOfYS/fcjqRumAofI5VLHfq2Q46ncs5cnrZDpRlHig1mXHZRGP97wWkH2WsT8OaOByAaZ /VtbTih+pDX+qQXVsz1+xK7KYgTjs6sbUWRcOmdwND9cxgrdXGQCHH/z0+gP1hRQVoN9qyXsd m2Qd6/dBW+1Xgolxv1vSgi4pPPJRMDsT0E9vftb7NXABiIqvXaAuEKLdn8Q6TGVQjhR22Zuoo BMkxo6wkXO13XtieKMha8OeozSCGOu23yvX2vgVpb8IaMFvvRx8T7WohsjWf3LjLSgmnurDo0 36bwafm9sZfC3yeXxjCCtGC8fsIC1fl8Ea29uuMU0BBqFk6bwmXhdxH5ijN33csy9ZQFIIInG fFSn095tuuxxSXrphJNKPRzQeTIa2x2i7SnRkqPQ22S0XN/FEHoY/mnbacZ02vwlbuA1krQyC fPtkEevJ6o8PW5WF/uUlRzTZNNpybkyrsbUfcwYU39HvH8+OjDG7/4Yc22U/WLU1Ut04XLx3p lClX1l/gV8WT5iXd8Vg6F4onYrNnNE4GDpvFSuxECZcn8j7/xgkkYa7ker72gyrch8sK+pRgk FN8LfKJ072t48luDur8ONEKxlYxULC/fypcNTJsniXaPUqp3LJ9+oet3w== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP As preparation we want all common BCM2711 + BCM2835/6/7 functions in bcm283x.dtsi and all BCM2835/6/7 specific in the new bcm2835-common.dtsi. Signed-off-by: Stefan Wahren Acked-by: Eric Anholt --- arch/arm/boot/dts/bcm2835-common.dtsi | 183 ++++++++++++++++++++++++++++++++++ arch/arm/boot/dts/bcm2835.dtsi | 1 + arch/arm/boot/dts/bcm2836.dtsi | 1 + arch/arm/boot/dts/bcm2837.dtsi | 1 + arch/arm/boot/dts/bcm283x.dtsi | 164 +----------------------------- 5 files changed, 187 insertions(+), 163 deletions(-) create mode 100644 arch/arm/boot/dts/bcm2835-common.dtsi -- 2.7.4 diff --git a/arch/arm/boot/dts/bcm2835-common.dtsi b/arch/arm/boot/dts/bcm2835-common.dtsi new file mode 100644 index 0000000..003bbb6 --- /dev/null +++ b/arch/arm/boot/dts/bcm2835-common.dtsi @@ -0,0 +1,183 @@ +// SPDX-License-Identifier: GPL-2.0 + +/* This include file covers the common peripherals and configuration between + * bcm2835, bcm2836 and bcm2837 implementations. + */ + +/ { + interrupt-parent = <&intc>; + + soc { + dma: dma@7e007000 { + compatible = "brcm,bcm2835-dma"; + reg = <0x7e007000 0xf00>; + interrupts = <1 16>, + <1 17>, + <1 18>, + <1 19>, + <1 20>, + <1 21>, + <1 22>, + <1 23>, + <1 24>, + <1 25>, + <1 26>, + /* dma channel 11-14 share one irq */ + <1 27>, + <1 27>, + <1 27>, + <1 27>, + /* unused shared irq for all channels */ + <1 28>; + interrupt-names = "dma0", + "dma1", + "dma2", + "dma3", + "dma4", + "dma5", + "dma6", + "dma7", + "dma8", + "dma9", + "dma10", + "dma11", + "dma12", + "dma13", + "dma14", + "dma-shared-all"; + #dma-cells = <1>; + brcm,dma-channel-mask = <0x7f35>; + }; + + intc: interrupt-controller@7e00b200 { + compatible = "brcm,bcm2835-armctrl-ic"; + reg = <0x7e00b200 0x200>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + pm: watchdog@7e100000 { + compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; + #power-domain-cells = <1>; + #reset-cells = <1>; + reg = <0x7e100000 0x114>, + <0x7e00a000 0x24>; + clocks = <&clocks BCM2835_CLOCK_V3D>, + <&clocks BCM2835_CLOCK_PERI_IMAGE>, + <&clocks BCM2835_CLOCK_H264>, + <&clocks BCM2835_CLOCK_ISP>; + clock-names = "v3d", "peri_image", "h264", "isp"; + system-power-controller; + }; + + pixelvalve@7e206000 { + compatible = "brcm,bcm2835-pixelvalve0"; + reg = <0x7e206000 0x100>; + interrupts = <2 13>; /* pwa0 */ + }; + + pixelvalve@7e207000 { + compatible = "brcm,bcm2835-pixelvalve1"; + reg = <0x7e207000 0x100>; + interrupts = <2 14>; /* pwa1 */ + }; + + thermal: thermal@7e212000 { + compatible = "brcm,bcm2835-thermal"; + reg = <0x7e212000 0x8>; + clocks = <&clocks BCM2835_CLOCK_TSENS>; + #thermal-sensor-cells = <0>; + status = "disabled"; + }; + + pixelvalve@7e807000 { + compatible = "brcm,bcm2835-pixelvalve2"; + reg = <0x7e807000 0x100>; + interrupts = <2 10>; /* pixelvalve */ + }; + + hdmi: hdmi@7e902000 { + compatible = "brcm,bcm2835-hdmi"; + reg = <0x7e902000 0x600>, + <0x7e808000 0x100>; + interrupts = <2 8>, <2 9>; + ddc = <&i2c2>; + clocks = <&clocks BCM2835_PLLH_PIX>, + <&clocks BCM2835_CLOCK_HSM>; + clock-names = "pixel", "hdmi"; + dmas = <&dma 17>; + dma-names = "audio-rx"; + status = "disabled"; + }; + + v3d: v3d@7ec00000 { + compatible = "brcm,bcm2835-v3d"; + reg = <0x7ec00000 0x1000>; + interrupts = <1 10>; + }; + + vc4: gpu { + compatible = "brcm,bcm2835-vc4"; + }; + }; +}; + +&cpu_thermal { + thermal-sensors = <&thermal>; +}; + +&gpio { + i2c_slave_gpio18: i2c_slave_gpio18 { + brcm,pins = <18 19 20 21>; + brcm,function = ; + }; + + jtag_gpio4: jtag_gpio4 { + brcm,pins = <4 5 6 12 13>; + brcm,function = ; + }; + + pwm0_gpio12: pwm0_gpio12 { + brcm,pins = <12>; + brcm,function = ; + }; + pwm0_gpio18: pwm0_gpio18 { + brcm,pins = <18>; + brcm,function = ; + }; + pwm0_gpio40: pwm0_gpio40 { + brcm,pins = <40>; + brcm,function = ; + }; + pwm1_gpio13: pwm1_gpio13 { + brcm,pins = <13>; + brcm,function = ; + }; + pwm1_gpio19: pwm1_gpio19 { + brcm,pins = <19>; + brcm,function = ; + }; + pwm1_gpio41: pwm1_gpio41 { + brcm,pins = <41>; + brcm,function = ; + }; + pwm1_gpio45: pwm1_gpio45 { + brcm,pins = <45>; + brcm,function = ; + }; +}; + +&i2s { + dmas = <&dma 2>, <&dma 3>; + dma-names = "tx", "rx"; +}; + +&sdhost { + dmas = <&dma 13>; + dma-names = "rx-tx"; +}; + +&spi { + dmas = <&dma 6>, <&dma 7>; + dma-names = "tx", "rx"; +}; diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi index a5c3824..53bf457 100644 --- a/arch/arm/boot/dts/bcm2835.dtsi +++ b/arch/arm/boot/dts/bcm2835.dtsi @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 #include "bcm283x.dtsi" +#include "bcm2835-common.dtsi" / { compatible = "brcm,bcm2835"; diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi index c933e84..82d6c46 100644 --- a/arch/arm/boot/dts/bcm2836.dtsi +++ b/arch/arm/boot/dts/bcm2836.dtsi @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 #include "bcm283x.dtsi" +#include "bcm2835-common.dtsi" / { compatible = "brcm,bcm2836"; diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi index beb6c50..9e95fee 100644 --- a/arch/arm/boot/dts/bcm2837.dtsi +++ b/arch/arm/boot/dts/bcm2837.dtsi @@ -1,4 +1,5 @@ #include "bcm283x.dtsi" +#include "bcm2835-common.dtsi" / { compatible = "brcm,bcm2837"; diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index 2d191fc..cbc9422 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi @@ -18,7 +18,6 @@ / { compatible = "brcm,bcm2835"; model = "BCM2835"; - interrupt-parent = <&intc>; #address-cells = <1>; #size-cells = <1>; @@ -36,8 +35,6 @@ polling-delay-passive = <0>; polling-delay = <1000>; - thermal-sensors = <&thermal>; - trips { cpu-crit { temperature = <80000>; @@ -73,68 +70,6 @@ interrupts = <1 11>; }; - dma: dma@7e007000 { - compatible = "brcm,bcm2835-dma"; - reg = <0x7e007000 0xf00>; - interrupts = <1 16>, - <1 17>, - <1 18>, - <1 19>, - <1 20>, - <1 21>, - <1 22>, - <1 23>, - <1 24>, - <1 25>, - <1 26>, - /* dma channel 11-14 share one irq */ - <1 27>, - <1 27>, - <1 27>, - <1 27>, - /* unused shared irq for all channels */ - <1 28>; - interrupt-names = "dma0", - "dma1", - "dma2", - "dma3", - "dma4", - "dma5", - "dma6", - "dma7", - "dma8", - "dma9", - "dma10", - "dma11", - "dma12", - "dma13", - "dma14", - "dma-shared-all"; - #dma-cells = <1>; - brcm,dma-channel-mask = <0x7f35>; - }; - - intc: interrupt-controller@7e00b200 { - compatible = "brcm,bcm2835-armctrl-ic"; - reg = <0x7e00b200 0x200>; - interrupt-controller; - #interrupt-cells = <2>; - }; - - pm: watchdog@7e100000 { - compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; - #power-domain-cells = <1>; - #reset-cells = <1>; - reg = <0x7e100000 0x114>, - <0x7e00a000 0x24>; - clocks = <&clocks BCM2835_CLOCK_V3D>, - <&clocks BCM2835_CLOCK_PERI_IMAGE>, - <&clocks BCM2835_CLOCK_H264>, - <&clocks BCM2835_CLOCK_ISP>; - clock-names = "v3d", "peri_image", "h264", "isp"; - system-power-controller; - }; - clocks: cprman@7e101000 { compatible = "brcm,bcm2835-cprman"; #clock-cells = <1>; @@ -184,8 +119,7 @@ interrupt-controller; #interrupt-cells = <2>; - /* Defines pin muxing groups according to - * BCM2835-ARM-Peripherals.pdf page 102. + /* Defines common pin muxing groups * * While each pin can have its mux selected * for various functions individually, some @@ -263,15 +197,7 @@ brcm,pins = <44 45>; brcm,function = ; }; - i2c_slave_gpio18: i2c_slave_gpio18 { - brcm,pins = <18 19 20 21>; - brcm,function = ; - }; - jtag_gpio4: jtag_gpio4 { - brcm,pins = <4 5 6 12 13>; - brcm,function = ; - }; jtag_gpio22: jtag_gpio22 { brcm,pins = <22 23 24 25 26 27>; brcm,function = ; @@ -286,35 +212,6 @@ brcm,function = ; }; - pwm0_gpio12: pwm0_gpio12 { - brcm,pins = <12>; - brcm,function = ; - }; - pwm0_gpio18: pwm0_gpio18 { - brcm,pins = <18>; - brcm,function = ; - }; - pwm0_gpio40: pwm0_gpio40 { - brcm,pins = <40>; - brcm,function = ; - }; - pwm1_gpio13: pwm1_gpio13 { - brcm,pins = <13>; - brcm,function = ; - }; - pwm1_gpio19: pwm1_gpio19 { - brcm,pins = <19>; - brcm,function = ; - }; - pwm1_gpio41: pwm1_gpio41 { - brcm,pins = <41>; - brcm,function = ; - }; - pwm1_gpio45: pwm1_gpio45 { - brcm,pins = <45>; - brcm,function = ; - }; - sdhost_gpio48: sdhost_gpio48 { brcm,pins = <48 49 50 51 52 53>; brcm,function = ; @@ -410,8 +307,6 @@ reg = <0x7e202000 0x100>; interrupts = <2 24>; clocks = <&clocks BCM2835_CLOCK_VPU>; - dmas = <&dma 13>; - dma-names = "rx-tx"; status = "disabled"; }; @@ -419,10 +314,6 @@ compatible = "brcm,bcm2835-i2s"; reg = <0x7e203000 0x24>; clocks = <&clocks BCM2835_CLOCK_PCM>; - - dmas = <&dma 2>, - <&dma 3>; - dma-names = "tx", "rx"; status = "disabled"; }; @@ -431,8 +322,6 @@ reg = <0x7e204000 0x200>; interrupts = <2 22>; clocks = <&clocks BCM2835_CLOCK_VPU>; - dmas = <&dma 6>, <&dma 7>; - dma-names = "tx", "rx"; #address-cells = <1>; #size-cells = <0>; status = "disabled"; @@ -448,18 +337,6 @@ status = "disabled"; }; - pixelvalve@7e206000 { - compatible = "brcm,bcm2835-pixelvalve0"; - reg = <0x7e206000 0x100>; - interrupts = <2 13>; /* pwa0 */ - }; - - pixelvalve@7e207000 { - compatible = "brcm,bcm2835-pixelvalve1"; - reg = <0x7e207000 0x100>; - interrupts = <2 14>; /* pwa1 */ - }; - dpi: dpi@7e208000 { compatible = "brcm,bcm2835-dpi"; reg = <0x7e208000 0x8c>; @@ -490,14 +367,6 @@ }; - thermal: thermal@7e212000 { - compatible = "brcm,bcm2835-thermal"; - reg = <0x7e212000 0x8>; - clocks = <&clocks BCM2835_CLOCK_TSENS>; - #thermal-sensor-cells = <0>; - status = "disabled"; - }; - aux: aux@7e215000 { compatible = "brcm,bcm2835-aux"; #clock-cells = <1>; @@ -605,26 +474,6 @@ status = "disabled"; }; - pixelvalve@7e807000 { - compatible = "brcm,bcm2835-pixelvalve2"; - reg = <0x7e807000 0x100>; - interrupts = <2 10>; /* pixelvalve */ - }; - - hdmi: hdmi@7e902000 { - compatible = "brcm,bcm2835-hdmi"; - reg = <0x7e902000 0x600>, - <0x7e808000 0x100>; - interrupts = <2 8>, <2 9>; - ddc = <&i2c2>; - clocks = <&clocks BCM2835_PLLH_PIX>, - <&clocks BCM2835_CLOCK_HSM>; - clock-names = "pixel", "hdmi"; - dmas = <&dma 17>; - dma-names = "audio-rx"; - status = "disabled"; - }; - usb: usb@7e980000 { compatible = "brcm,bcm2835-usb"; reg = <0x7e980000 0x10000>; @@ -636,17 +485,6 @@ phys = <&usbphy>; phy-names = "usb2-phy"; }; - - v3d: v3d@7ec00000 { - compatible = "brcm,bcm2835-v3d"; - reg = <0x7ec00000 0x1000>; - interrupts = <1 10>; - power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>; - }; - - vc4: gpu { - compatible = "brcm,bcm2835-vc4"; - }; }; clocks { From patchwork Tue Aug 13 16:20:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092605 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A7DC8184E for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 97A8A2624D for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8BFD4285B7; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3B5D1285DB for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728305AbfHMQVT (ORCPT ); Tue, 13 Aug 2019 12:21:19 -0400 Received: from mout.gmx.net ([212.227.15.18]:48967 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728304AbfHMQVS (ORCPT ); Tue, 13 Aug 2019 12:21:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713258; bh=ljCWWxQsddXKHwCHwwLRNEuJ6GYiE6WQq8ZhiJ9nBow=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=TrU66qmEYyQhbj0nXpv2a/K8Xn5CO0p9ae2fmLRuve9MxnFqzFG/VG3QIgC35wEbO rgB+z2vfDTVAHEv8pkJWtckqy9hmDwEP/YeSBD6UILbIsU0lzGNoVextYk48M09q9a JDFSFcSfkwmnZe6B5/sdflRZhheldsTw58Zr48b4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MGz1V-1i1g0Q3rUp-00E6Tv; Tue, 13 Aug 2019 18:20:58 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 03/13] dt-bindings: bcm2835-cprman: Add bcm2711 support Date: Tue, 13 Aug 2019 18:20:38 +0200 Message-Id: <1565713248-4906-4-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:KSfyLs+GVp5WjPQyPhum21eug5l34GiwTaN7iVomfgen/gamzy8 tgmzYNTBwC1hym+UOSCs2how3XbtQJHBzPXJIVj5AJf7j0XgV/psrhkuM/pTtDn+vrkV9+X CAJygQ7hgSc5tJAj5KKML0sbnFGvdy4jM96CD+taNfVhEp8WqW8rm6vSu9pnSg/7asi8Srs aHTnO75cC3wfduwf+heww== X-UI-Out-Filterresults: notjunk:1;V03:K0:Gato0k7oJfA=:NZkdiiHlw7JN+KllaTE9Xa hafwVRfb7CVFJoWYI3plj5UsY99g/7MMOyJV8HBAAbStNodEbr04JY2mBBeyO5lpncyL4J9SU XHMjJciLMM6zWO4vETdaLhfFyoA2XtFnInL8n18n4PuEKzjSF1ajpKWFNWAkaamTwzEz7s2vB TXI3cisMj8fFgdVmaUdp6FGnJrQwm0fj2cPgISh7pNgR21Uv1cXzeqdxfhPeBn3QLtNsMuqU2 dJyDbYYaHH1LkA5vY3vTdYBb5rVSZYyKzYl0CbhPQ0OJjC3D44Y+MCzRHvmmyupuVNKQeyp7m xamx7OHoTg93KTsCan4xcSMJgTW3Yx985VI4s96TpR+KGdRHB4zghuFbopd0uAnNsMtlzg+tY KQiFJQwaZ5ScbvZWK/n6VAugwdpC7KmjY/yEfgm1xxUzzjQsdt0ZyDNWWGI5n4J+FRUbxbnTS IRV1hhHeOZVcr3n7WCmgIVRX6MC8nxno8mYdkeWSdZwazND4689UmgwvlyCeqeu8kTIZwnMl7 D3ddJOQ9jl3867Lr8/ICfu50oMqilSGCl7Wdpv6qLq2zIsgo0zAloV/X3zO7CNW758MyIhNC2 cfAu8UpzQv7dQgU3g9N4cqpWcYvL+HRlQBNJbQ901UlSHa12FmllrKwwyWL0KuR2tNLJ44QQT y60+Tbybt3TocMLwGrqpzBbU3fWAwqmP2O6WJVPNrnW+3G7hAL5Y7QMYsevTAHgbtYAIj+Uqb ek2YbBYr54I5bmYMN/80ABQei62MjaNMd8y/8VAYwvYxakLH6j1Z8xvKPg25JRqBN/RrnvtMF 55CHoV0Xdyeje3xtMWCRiufOb5rMPOEgILNYZm5r/NHxI1aJFGn9YNIG2VhK0VPuruUivLkhU HRXIKH5H/ncfinmotIFVhkC4B3CfH/idmxBtSVDLf0wUpYWZDQYbPj53nxnlZBgx2p3KiQaWb xu4Qu/de203a5jzWyILAkh78HoLw62WLUi1aayq92ypUbHO5TRrUXNnCpvjqow8BZpbn6DUW6 flnLwr0xb9sA+EZxBb1PpNXT7pky2vqY1tQ51dQ/Iwo3B1BXnsdBhugAq5wFfd2tk2zWbiBeT lsD8H8Ou99FadQuPHhDz2jS6OqPMydtYV2SeUoRNEF/7D8eUpkRB0iMW18oS6x4qv/jhLxDL6 FOQIa8tdIB+xEnJMcoaClb8K0CzDxgJreyy1LhC4C+MBUKJg== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The new BCM2711 supports an additional clock for the emmc2 block. So we need an additional compatible. Signed-off-by: Stefan Wahren Acked-by: Eric Anholt Reviewed-by: Rob Herring --- Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt | 4 +++- include/dt-bindings/clock/bcm2835.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) -- 2.7.4 diff --git a/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt b/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt index dd906db..9e0b03a 100644 --- a/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt +++ b/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt @@ -12,7 +12,9 @@ clock generators, but a few (like the ARM or HDMI) will source from the PLL dividers directly. Required properties: -- compatible: Should be "brcm,bcm2835-cprman" +- compatible: should be one of the following, + "brcm,bcm2711-cprman" + "brcm,bcm2835-cprman" - #clock-cells: Should be <1>. The permitted clock-specifier values can be found in include/dt-bindings/clock/bcm2835.h - reg: Specifies base physical address and size of the registers diff --git a/include/dt-bindings/clock/bcm2835.h b/include/dt-bindings/clock/bcm2835.h index 2cec01f..b60c0343 100644 --- a/include/dt-bindings/clock/bcm2835.h +++ b/include/dt-bindings/clock/bcm2835.h @@ -58,3 +58,5 @@ #define BCM2835_CLOCK_DSI1E 48 #define BCM2835_CLOCK_DSI0P 49 #define BCM2835_CLOCK_DSI1P 50 + +#define BCM2711_CLOCK_EMMC2 51 From patchwork Tue Aug 13 16:20:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092611 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 796931510 for ; Tue, 13 Aug 2019 16:21:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 695A52624D for ; Tue, 13 Aug 2019 16:21:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5D19A285C9; Tue, 13 Aug 2019 16:21:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1F5662624D for ; Tue, 13 Aug 2019 16:21:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728469AbfHMQVV (ORCPT ); Tue, 13 Aug 2019 12:21:21 -0400 Received: from mout.gmx.net ([212.227.15.15]:57365 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727942AbfHMQVV (ORCPT ); Tue, 13 Aug 2019 12:21:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713258; bh=5xXNcJdFFZ+S5gMLdTGBWr3vJj0SZHQ8AcRblKnTVeU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=EbATM02FOCfvXPWBnBkMRhnaydp4mWxrBXt7ou4r9FoqFeB552RUKlgliXFeMellE Lj8KrLLWMHUDJOKq9M1e/Ynw28R/QLszKfd+rUQKSFwodOlkFpDA/oYk0lsG9+ji3g caCS7FvKqiO7unS22ecn8Rh4QOlbeR7oEOcdzq+U= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MirjS-1iTM3q1nee-00ex2O; Tue, 13 Aug 2019 18:20:58 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 04/13] clk: bcm2835: Introduce SoC specific clock registration Date: Tue, 13 Aug 2019 18:20:39 +0200 Message-Id: <1565713248-4906-5-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:RIDVhXcRVT4isap/NHV18ZbXIRl4PZQYl/I/rIYxiG9A7ehl427 3kVmWfiib5gaikqyVfbLyq0lsEc/WLD3LLNLykaODIbGmsDBeLx2iv+Dv6+FA5Ln+lRenpw fU5WfotMBSzHqufBzr+L6gmIxYGWoTzXyt7pG7TqyZhAzlH+0QoEo0ucRmURyo4V3PMIrTG ZuHYpPFakG1TytZo3c9BA== X-UI-Out-Filterresults: notjunk:1;V03:K0:ZioBv5AE/w0=:IEVBt3pQxg3/xXQKcqRslG DFZoXp5Vk4oSjyHrQw6BLkTJ3Q1qjo6YO7jnpkR1o9QBC0hav9TKzJ307U4LNSBLNH+M8H0/6 aS2Ty8bWXg3pY10W9jdCLYqrpy579+sz2D4G1/5H4UTnlZ7NmqhkZuq5bZwpB/mv1G/dXtGZa mx/OzUXqzFHn02VL9NajC21qiW1IcYW3OYUMwVZCJ/QNGZAAnTxJXINl3rA+q/If9kXdIoTJl UIDC6Na13lgvGcoiS7yTmBppNJhCGQlAY2M9C+Mz/vbb9fn3e+xffClHWEICzgz7S7tthAbwQ G+AS4LEfzwrzRPw0OUrIHJnN0cpuJlljv8S02+/FLMYN8CuzfXlKZAQSLmnZGLdd3qfzGg3Q9 EaxLzKmLHI7sFWIE7WCJjj5CnxMgCdQZlGVd3fsATgDKsya5Rgp1TG4UvMHBOqsuGE6bqw35t Iba6fEb9FoUor3cqvCOOLaH+z6q7BwJxEasfKf/qscpPr/F5WlzXkOcangGqFUmL2uMEVWxbP sKcc/AoXkwdmT51fJJlgwd2EN+BvvoDTXJGJifzQOb0LNDxSMAeRNg4di6nvZ012md7jc9t56 r/fPgFMnTh8Y6gE6akdJ8gMH0A5HpNnHnfkvRFh0JRmJIo6GopIivW6eHW2LG0yPjO5gC7SII R8HzEJocOBihBjPd+yYS6j4iL0frKVNOA+yvpI0kLanG21CmGfgZVPcpQsTrB+R2iYK6H9zpw KUhIc8lCceCKDyyS23Ru3KVvJIZivm3w4OJhoq22EQOvUeE+CHzNuT88lRGHaGVJlLGjgmqKk QlBZ7uBSEl208+WEvLq/4CYWdu99WWJyqpfa1IF7upTdSlRPYqYnsyRzjZsA2KO+P+sX4ZuVw lW8PZ60AXTq9BvvdCQlFX4rfunXcnW6NbUnqTcv0T6IgDyg0Z5sZx3y1UcMLW3jtcdlpQlJjk 5t3t+BvUkCLdm9i++22setfjtel3bU9AxBALBlDc8Z81oxoCo32qe8D2x25YIkd+ES6L4GFHM X242SroQNCbfOimrAgVDL9aGHbpXEVYh/w6tNVdzKAeP40CO8lMZAnICI+Xu1RW5qBYMO/k7+ +d+KyiEGihy7q2NC3qVsGKq5nY9WNU2UddUE7JKxx8T2P8yp7LCkqiFGg== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In order to support SoC specific clocks (e.g. emmc2 for BCM2711), we extend the description with a SoC support flag. This approach avoids long and mostly redundant lists of clock IDs. Since only PLLH is specific to BCM2835, we register the rest of the clocks as common to all SoC. Suggested-by: Florian Fainelli Signed-off-by: Stefan Wahren Reviewed-by: Matthias Brugger Acked-by: Eric Anholt --- drivers/clk/bcm/clk-bcm2835.c | 113 +++++++++++++++++++++++++++++++++++------- 1 file changed, 96 insertions(+), 17 deletions(-) -- 2.7.4 diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c index 867ae3c..21cd952 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #include #include #include @@ -289,6 +289,9 @@ #define LOCK_TIMEOUT_NS 100000000 #define BCM2835_MAX_FB_RATE 1750000000u +#define SOC_BCM2835 BIT(0) +#define SOC_ALL (SOC_BCM2835) + /* * Names of clocks used within the driver that need to be replaced * with an external parent's name. This array is in the order that @@ -320,6 +323,10 @@ struct bcm2835_cprman { struct clk_hw_onecell_data onecell; }; +struct cprman_plat_data { + unsigned int soc; +}; + static inline void cprman_write(struct bcm2835_cprman *cprman, u32 reg, u32 val) { writel(CM_PASSWORD | val, cprman->regs + reg); @@ -1451,22 +1458,28 @@ typedef struct clk_hw *(*bcm2835_clk_register)(struct bcm2835_cprman *cprman, const void *data); struct bcm2835_clk_desc { bcm2835_clk_register clk_register; + unsigned int supported; const void *data; }; /* assignment helper macros for different clock types */ -#define _REGISTER(f, ...) { .clk_register = (bcm2835_clk_register)f, \ - .data = __VA_ARGS__ } -#define REGISTER_PLL(...) _REGISTER(&bcm2835_register_pll, \ +#define _REGISTER(f, s, ...) { .clk_register = (bcm2835_clk_register)f, \ + .supported = s, \ + .data = __VA_ARGS__ } +#define REGISTER_PLL(s, ...) _REGISTER(&bcm2835_register_pll, \ + s, \ &(struct bcm2835_pll_data) \ {__VA_ARGS__}) -#define REGISTER_PLL_DIV(...) _REGISTER(&bcm2835_register_pll_divider, \ - &(struct bcm2835_pll_divider_data) \ - {__VA_ARGS__}) -#define REGISTER_CLK(...) _REGISTER(&bcm2835_register_clock, \ +#define REGISTER_PLL_DIV(s, ...) _REGISTER(&bcm2835_register_pll_divider, \ + s, \ + &(struct bcm2835_pll_divider_data) \ + {__VA_ARGS__}) +#define REGISTER_CLK(s, ...) _REGISTER(&bcm2835_register_clock, \ + s, \ &(struct bcm2835_clock_data) \ {__VA_ARGS__}) -#define REGISTER_GATE(...) _REGISTER(&bcm2835_register_gate, \ +#define REGISTER_GATE(s, ...) _REGISTER(&bcm2835_register_gate, \ + s, \ &(struct bcm2835_gate_data) \ {__VA_ARGS__}) @@ -1480,7 +1493,8 @@ static const char *const bcm2835_clock_osc_parents[] = { "testdebug1" }; -#define REGISTER_OSC_CLK(...) REGISTER_CLK( \ +#define REGISTER_OSC_CLK(s, ...) REGISTER_CLK( \ + s, \ .num_mux_parents = ARRAY_SIZE(bcm2835_clock_osc_parents), \ .parents = bcm2835_clock_osc_parents, \ __VA_ARGS__) @@ -1497,7 +1511,8 @@ static const char *const bcm2835_clock_per_parents[] = { "pllh_aux", }; -#define REGISTER_PER_CLK(...) REGISTER_CLK( \ +#define REGISTER_PER_CLK(s, ...) REGISTER_CLK( \ + s, \ .num_mux_parents = ARRAY_SIZE(bcm2835_clock_per_parents), \ .parents = bcm2835_clock_per_parents, \ __VA_ARGS__) @@ -1522,7 +1537,8 @@ static const char *const bcm2835_pcm_per_parents[] = { "-", }; -#define REGISTER_PCM_CLK(...) REGISTER_CLK( \ +#define REGISTER_PCM_CLK(s, ...) REGISTER_CLK( \ + s, \ .num_mux_parents = ARRAY_SIZE(bcm2835_pcm_per_parents), \ .parents = bcm2835_pcm_per_parents, \ __VA_ARGS__) @@ -1541,7 +1557,8 @@ static const char *const bcm2835_clock_vpu_parents[] = { "pllc_core2", }; -#define REGISTER_VPU_CLK(...) REGISTER_CLK( \ +#define REGISTER_VPU_CLK(s, ...) REGISTER_CLK( \ + s, \ .num_mux_parents = ARRAY_SIZE(bcm2835_clock_vpu_parents), \ .parents = bcm2835_clock_vpu_parents, \ __VA_ARGS__) @@ -1577,12 +1594,14 @@ static const char *const bcm2835_clock_dsi1_parents[] = { "dsi1_byte_inv", }; -#define REGISTER_DSI0_CLK(...) REGISTER_CLK( \ +#define REGISTER_DSI0_CLK(s, ...) REGISTER_CLK( \ + s, \ .num_mux_parents = ARRAY_SIZE(bcm2835_clock_dsi0_parents), \ .parents = bcm2835_clock_dsi0_parents, \ __VA_ARGS__) -#define REGISTER_DSI1_CLK(...) REGISTER_CLK( \ +#define REGISTER_DSI1_CLK(s, ...) REGISTER_CLK( \ + s, \ .num_mux_parents = ARRAY_SIZE(bcm2835_clock_dsi1_parents), \ .parents = bcm2835_clock_dsi1_parents, \ __VA_ARGS__) @@ -1602,6 +1621,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * AUDIO domain is on. */ [BCM2835_PLLA] = REGISTER_PLL( + SOC_ALL, .name = "plla", .cm_ctrl_reg = CM_PLLA, .a2w_ctrl_reg = A2W_PLLA_CTRL, @@ -1616,6 +1636,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .max_rate = 2400000000u, .max_fb_rate = BCM2835_MAX_FB_RATE), [BCM2835_PLLA_CORE] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plla_core", .source_pll = "plla", .cm_reg = CM_PLLA, @@ -1625,6 +1646,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLA_PER] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plla_per", .source_pll = "plla", .cm_reg = CM_PLLA, @@ -1634,6 +1656,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plla_dsi0", .source_pll = "plla", .cm_reg = CM_PLLA, @@ -1642,6 +1665,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .hold_mask = CM_PLLA_HOLDDSI0, .fixed_divider = 1), [BCM2835_PLLA_CCP2] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plla_ccp2", .source_pll = "plla", .cm_reg = CM_PLLA, @@ -1663,6 +1687,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * AUDIO domain is on. */ [BCM2835_PLLC] = REGISTER_PLL( + SOC_ALL, .name = "pllc", .cm_ctrl_reg = CM_PLLC, .a2w_ctrl_reg = A2W_PLLC_CTRL, @@ -1677,6 +1702,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .max_rate = 3000000000u, .max_fb_rate = BCM2835_MAX_FB_RATE), [BCM2835_PLLC_CORE0] = REGISTER_PLL_DIV( + SOC_ALL, .name = "pllc_core0", .source_pll = "pllc", .cm_reg = CM_PLLC, @@ -1686,6 +1712,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLC_CORE1] = REGISTER_PLL_DIV( + SOC_ALL, .name = "pllc_core1", .source_pll = "pllc", .cm_reg = CM_PLLC, @@ -1695,6 +1722,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLC_CORE2] = REGISTER_PLL_DIV( + SOC_ALL, .name = "pllc_core2", .source_pll = "pllc", .cm_reg = CM_PLLC, @@ -1704,6 +1732,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLC_PER] = REGISTER_PLL_DIV( + SOC_ALL, .name = "pllc_per", .source_pll = "pllc", .cm_reg = CM_PLLC, @@ -1720,6 +1749,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * AUDIO domain is on. */ [BCM2835_PLLD] = REGISTER_PLL( + SOC_ALL, .name = "plld", .cm_ctrl_reg = CM_PLLD, .a2w_ctrl_reg = A2W_PLLD_CTRL, @@ -1734,6 +1764,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .max_rate = 2400000000u, .max_fb_rate = BCM2835_MAX_FB_RATE), [BCM2835_PLLD_CORE] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plld_core", .source_pll = "plld", .cm_reg = CM_PLLD, @@ -1743,6 +1774,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLD_PER] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plld_per", .source_pll = "plld", .cm_reg = CM_PLLD, @@ -1752,6 +1784,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLD_DSI0] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plld_dsi0", .source_pll = "plld", .cm_reg = CM_PLLD, @@ -1760,6 +1793,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .hold_mask = CM_PLLD_HOLDDSI0, .fixed_divider = 1), [BCM2835_PLLD_DSI1] = REGISTER_PLL_DIV( + SOC_ALL, .name = "plld_dsi1", .source_pll = "plld", .cm_reg = CM_PLLD, @@ -1775,6 +1809,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * It is in the HDMI power domain. */ [BCM2835_PLLH] = REGISTER_PLL( + SOC_BCM2835, "pllh", .cm_ctrl_reg = CM_PLLH, .a2w_ctrl_reg = A2W_PLLH_CTRL, @@ -1789,6 +1824,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .max_rate = 3000000000u, .max_fb_rate = BCM2835_MAX_FB_RATE), [BCM2835_PLLH_RCAL] = REGISTER_PLL_DIV( + SOC_BCM2835, .name = "pllh_rcal", .source_pll = "pllh", .cm_reg = CM_PLLH, @@ -1798,6 +1834,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 10, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLH_AUX] = REGISTER_PLL_DIV( + SOC_BCM2835, .name = "pllh_aux", .source_pll = "pllh", .cm_reg = CM_PLLH, @@ -1807,6 +1844,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .fixed_divider = 1, .flags = CLK_SET_RATE_PARENT), [BCM2835_PLLH_PIX] = REGISTER_PLL_DIV( + SOC_BCM2835, .name = "pllh_pix", .source_pll = "pllh", .cm_reg = CM_PLLH, @@ -1822,6 +1860,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* One Time Programmable Memory clock. Maximum 10Mhz. */ [BCM2835_CLOCK_OTP] = REGISTER_OSC_CLK( + SOC_ALL, .name = "otp", .ctl_reg = CM_OTPCTL, .div_reg = CM_OTPDIV, @@ -1833,6 +1872,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * bythe watchdog timer and the camera pulse generator. */ [BCM2835_CLOCK_TIMER] = REGISTER_OSC_CLK( + SOC_ALL, .name = "timer", .ctl_reg = CM_TIMERCTL, .div_reg = CM_TIMERDIV, @@ -1843,12 +1883,14 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * Generally run at 2Mhz, max 5Mhz. */ [BCM2835_CLOCK_TSENS] = REGISTER_OSC_CLK( + SOC_ALL, .name = "tsens", .ctl_reg = CM_TSENSCTL, .div_reg = CM_TSENSDIV, .int_bits = 5, .frac_bits = 0), [BCM2835_CLOCK_TEC] = REGISTER_OSC_CLK( + SOC_ALL, .name = "tec", .ctl_reg = CM_TECCTL, .div_reg = CM_TECDIV, @@ -1857,6 +1899,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* clocks with vpu parent mux */ [BCM2835_CLOCK_H264] = REGISTER_VPU_CLK( + SOC_ALL, .name = "h264", .ctl_reg = CM_H264CTL, .div_reg = CM_H264DIV, @@ -1864,6 +1907,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 1), [BCM2835_CLOCK_ISP] = REGISTER_VPU_CLK( + SOC_ALL, .name = "isp", .ctl_reg = CM_ISPCTL, .div_reg = CM_ISPDIV, @@ -1876,6 +1920,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * in the SDRAM controller can't be used. */ [BCM2835_CLOCK_SDRAM] = REGISTER_VPU_CLK( + SOC_ALL, .name = "sdram", .ctl_reg = CM_SDCCTL, .div_reg = CM_SDCDIV, @@ -1883,6 +1928,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 0, .tcnt_mux = 3), [BCM2835_CLOCK_V3D] = REGISTER_VPU_CLK( + SOC_ALL, .name = "v3d", .ctl_reg = CM_V3DCTL, .div_reg = CM_V3DDIV, @@ -1896,6 +1942,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * in various hardware documentation. */ [BCM2835_CLOCK_VPU] = REGISTER_VPU_CLK( + SOC_ALL, .name = "vpu", .ctl_reg = CM_VPUCTL, .div_reg = CM_VPUDIV, @@ -1907,6 +1954,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* clocks with per parent mux */ [BCM2835_CLOCK_AVEO] = REGISTER_PER_CLK( + SOC_ALL, .name = "aveo", .ctl_reg = CM_AVEOCTL, .div_reg = CM_AVEODIV, @@ -1914,6 +1962,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 0, .tcnt_mux = 38), [BCM2835_CLOCK_CAM0] = REGISTER_PER_CLK( + SOC_ALL, .name = "cam0", .ctl_reg = CM_CAM0CTL, .div_reg = CM_CAM0DIV, @@ -1921,6 +1970,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 14), [BCM2835_CLOCK_CAM1] = REGISTER_PER_CLK( + SOC_ALL, .name = "cam1", .ctl_reg = CM_CAM1CTL, .div_reg = CM_CAM1DIV, @@ -1928,12 +1978,14 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 15), [BCM2835_CLOCK_DFT] = REGISTER_PER_CLK( + SOC_ALL, .name = "dft", .ctl_reg = CM_DFTCTL, .div_reg = CM_DFTDIV, .int_bits = 5, .frac_bits = 0), [BCM2835_CLOCK_DPI] = REGISTER_PER_CLK( + SOC_ALL, .name = "dpi", .ctl_reg = CM_DPICTL, .div_reg = CM_DPIDIV, @@ -1943,6 +1995,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* Arasan EMMC clock */ [BCM2835_CLOCK_EMMC] = REGISTER_PER_CLK( + SOC_ALL, .name = "emmc", .ctl_reg = CM_EMMCCTL, .div_reg = CM_EMMCDIV, @@ -1952,6 +2005,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* General purpose (GPIO) clocks */ [BCM2835_CLOCK_GP0] = REGISTER_PER_CLK( + SOC_ALL, .name = "gp0", .ctl_reg = CM_GP0CTL, .div_reg = CM_GP0DIV, @@ -1960,6 +2014,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .is_mash_clock = true, .tcnt_mux = 20), [BCM2835_CLOCK_GP1] = REGISTER_PER_CLK( + SOC_ALL, .name = "gp1", .ctl_reg = CM_GP1CTL, .div_reg = CM_GP1DIV, @@ -1969,6 +2024,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .is_mash_clock = true, .tcnt_mux = 21), [BCM2835_CLOCK_GP2] = REGISTER_PER_CLK( + SOC_ALL, .name = "gp2", .ctl_reg = CM_GP2CTL, .div_reg = CM_GP2DIV, @@ -1978,6 +2034,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* HDMI state machine */ [BCM2835_CLOCK_HSM] = REGISTER_PER_CLK( + SOC_ALL, .name = "hsm", .ctl_reg = CM_HSMCTL, .div_reg = CM_HSMDIV, @@ -1985,6 +2042,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 22), [BCM2835_CLOCK_PCM] = REGISTER_PCM_CLK( + SOC_ALL, .name = "pcm", .ctl_reg = CM_PCMCTL, .div_reg = CM_PCMDIV, @@ -1994,6 +2052,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .low_jitter = true, .tcnt_mux = 23), [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( + SOC_ALL, .name = "pwm", .ctl_reg = CM_PWMCTL, .div_reg = CM_PWMDIV, @@ -2002,6 +2061,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .is_mash_clock = true, .tcnt_mux = 24), [BCM2835_CLOCK_SLIM] = REGISTER_PER_CLK( + SOC_ALL, .name = "slim", .ctl_reg = CM_SLIMCTL, .div_reg = CM_SLIMDIV, @@ -2010,6 +2070,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .is_mash_clock = true, .tcnt_mux = 25), [BCM2835_CLOCK_SMI] = REGISTER_PER_CLK( + SOC_ALL, .name = "smi", .ctl_reg = CM_SMICTL, .div_reg = CM_SMIDIV, @@ -2017,6 +2078,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 27), [BCM2835_CLOCK_UART] = REGISTER_PER_CLK( + SOC_ALL, .name = "uart", .ctl_reg = CM_UARTCTL, .div_reg = CM_UARTDIV, @@ -2026,6 +2088,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* TV encoder clock. Only operating frequency is 108Mhz. */ [BCM2835_CLOCK_VEC] = REGISTER_PER_CLK( + SOC_ALL, .name = "vec", .ctl_reg = CM_VECCTL, .div_reg = CM_VECDIV, @@ -2040,6 +2103,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { /* dsi clocks */ [BCM2835_CLOCK_DSI0E] = REGISTER_PER_CLK( + SOC_ALL, .name = "dsi0e", .ctl_reg = CM_DSI0ECTL, .div_reg = CM_DSI0EDIV, @@ -2047,6 +2111,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 18), [BCM2835_CLOCK_DSI1E] = REGISTER_PER_CLK( + SOC_ALL, .name = "dsi1e", .ctl_reg = CM_DSI1ECTL, .div_reg = CM_DSI1EDIV, @@ -2054,6 +2119,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 19), [BCM2835_CLOCK_DSI0P] = REGISTER_DSI0_CLK( + SOC_ALL, .name = "dsi0p", .ctl_reg = CM_DSI0PCTL, .div_reg = CM_DSI0PDIV, @@ -2061,6 +2127,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 0, .tcnt_mux = 12), [BCM2835_CLOCK_DSI1P] = REGISTER_DSI1_CLK( + SOC_ALL, .name = "dsi1p", .ctl_reg = CM_DSI1PCTL, .div_reg = CM_DSI1PDIV, @@ -2077,6 +2144,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { * non-stop vpu clock. */ [BCM2835_CLOCK_PERI_IMAGE] = REGISTER_GATE( + SOC_ALL, .name = "peri_image", .parent = "vpu", .ctl_reg = CM_PERIICTL), @@ -2109,9 +2177,14 @@ static int bcm2835_clk_probe(struct platform_device *pdev) struct resource *res; const struct bcm2835_clk_desc *desc; const size_t asize = ARRAY_SIZE(clk_desc_array); + const struct cprman_plat_data *pdata; size_t i; int ret; + pdata = of_device_get_match_data(&pdev->dev); + if (!pdata) + return -ENODEV; + cprman = devm_kzalloc(dev, struct_size(cprman, onecell.hws, asize), GFP_KERNEL); @@ -2147,8 +2220,10 @@ static int bcm2835_clk_probe(struct platform_device *pdev) for (i = 0; i < asize; i++) { desc = &clk_desc_array[i]; - if (desc->clk_register && desc->data) + if (desc->clk_register && desc->data && + (desc->supported & pdata->soc)) { hws[i] = desc->clk_register(cprman, desc->data); + } } ret = bcm2835_mark_sdc_parent_critical(hws[BCM2835_CLOCK_SDRAM]->clk); @@ -2159,8 +2234,12 @@ static int bcm2835_clk_probe(struct platform_device *pdev) &cprman->onecell); } +static const struct cprman_plat_data cprman_bcm2835_plat_data = { + .soc = SOC_BCM2835, +}; + static const struct of_device_id bcm2835_clk_of_match[] = { - { .compatible = "brcm,bcm2835-cprman", }, + { .compatible = "brcm,bcm2835-cprman", .data = &cprman_bcm2835_plat_data }, {} }; MODULE_DEVICE_TABLE(of, bcm2835_clk_of_match); From patchwork Tue Aug 13 16:20:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092593 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0BF2614D5 for ; Tue, 13 Aug 2019 16:21:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EF9E32624D for ; Tue, 13 Aug 2019 16:21:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E2E8E285C8; Tue, 13 Aug 2019 16:21:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 892422624D for ; Tue, 13 Aug 2019 16:21:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728106AbfHMQVP (ORCPT ); Tue, 13 Aug 2019 12:21:15 -0400 Received: from mout.gmx.net ([212.227.15.19]:33561 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727221AbfHMQVP (ORCPT ); Tue, 13 Aug 2019 12:21:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713259; bh=qdXQg2OrSZffMMctJ7ip3unY7gSBHUJWbQ4Efr9U4Y4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=dRVVd8zELT+O1B8rSCWCttDBQSp1Jzz3zyc/oYw5Cdi8BY3Ja+rAZwUfX1Xx66eQg i++eex9wfShxCj151QyJmcSUANEFOSHa5SdXP3FcDZPicmBriu7gcGzMRNj9mOGHwX 8UfNlEITUxcRx5MP0AlD2eaKUa0payx9/AaKBcrY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MmDEg-1ifOji3rBw-00iEJ2; Tue, 13 Aug 2019 18:20:59 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 05/13] clk: bcm2835: Add BCM2711_CLOCK_EMMC2 support Date: Tue, 13 Aug 2019 18:20:40 +0200 Message-Id: <1565713248-4906-6-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:MII+w+qvfSnz565NJxLI9YRp5kw2GvzGA3+V7tAejkOxHaFHLS1 r9siGlg27T4lOQWi2UbC7um1wV0luJe09kx+DT2+kxru+v2Yv7/DXnw5SWBBQHPjonMO0u0 QxM6+DpAzLISgA8yUjyZOX4IR6yo9p9Wu04vd9s41ln+Br9TBpL/kn9YQBYIwV5CiLnHPn9 EbaKX25HUVXoVYbkbs6jw== X-UI-Out-Filterresults: notjunk:1;V03:K0:8TJ2pPE3k6U=:ZDBYvhifcnxmeFUCKJMmND Sh+4KcsBGw5l2MokxZqJ4KibK7ewcnW6cSAGjgHN0D/A/JovI1KULRB+HkWfhjDW7T2XyWN/X n8CIueOphIo6RrPD/MJA+ldEIvCrTur7waaJR/b22QYBO3rSgSNAflyld23QqdKNMGlXwby3g A3pVlBlBsIkdFsfCxsg/C3cYfgX9W+7rjqk4KNzd+N+Br22GKeT1RZlecRBb3+7aIDCp/fFiM rZvTRwdlbkcBoq7k/D91tllV+OvsxI5SoNQ0lmngA+fy5yyL/9dxK1Aw6KZhb7ckxaG7FojH3 uFPI+//bkD3S2XkheBpM4E1C4+plft8TlV2NncpLqd/pu30+p+PSGxSZapRQGPklN46V9NRuT zBdEDBMtKG2HNdWHF9LbbyMotv3AMlx5YLvbAJeq7ksyub/8Xr//Ce0zl1Xzvsqwgqyu9tput WkyWDBu5t/c0yN/BFnTquRThqSUoMu/MGWfyXVrU/ikplnU9k7dIudwuOP9F5UvoySlzn2Wpu 2NkJinaNuwo27dv1qMWPK1Qd9xaNIRgs5xNMPdOHkMx4vtG3Mhh9omCkXXHZZKAwbtZ0RnTCW nQ3HlYHfgTN+2h0GCxBFOingPXyCNItYWWtzod0sWsV3/KNEIXjUSFl1YFjkCLx2O/Av9hdKA 2ipQBQgpUQc6ahbybsb8NGBX4TqON3j5rJMjs7ZRSlODviT9uUqOA0Q5xtl5+ZuRWRO/ScqJF ziAdv3IAzCMwJ0mBMotDjbMwjFb7mVSb9s7RF2Rxf5FHGOBbjZpJRQZJEg/Q25JYsEEaLCRnq kIiOq7qfP5oBXjseq2vIEUCebasVAJ4XRzfjLc8OcUBrNH0AkURKCJJTmDCb8dMDFEEI7nBBO xItNR6ZSmVY00LRQ+lXTZ/qiAs0DS1keKqvP8QLje1himsRJ8R9AP87PvTzhkKHgkEQ/ed011 af97O7sBgs9zLkgoL7ldarBAkhYS2aSC0J1nPL7ZguVmjtqrmTXj0m09iFSFKSGg1WZ5PcWJq EtBNmXYgFu0vOI17ZzaWwrytQWm69pVNAI4j1LoG2eFsVpsUl2+cIfzhxmIzTMpVnFPemUJyG +d2uHbAVhM6HW1/awnRbVfqKzJtc/x6/aIKo3JZOzipNRGViYaRXcP4ww== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The new BCM2711 supports an additional clock for the emmc2 block. So add a new compatible and register this clock only for BCM2711. Signed-off-by: Stefan Wahren Reviewed-by: Matthias Brugger Acked-by: Eric Anholt --- drivers/clk/bcm/clk-bcm2835.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) -- 2.7.4 diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c index 21cd952..fdf672a 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c @@ -114,6 +114,8 @@ #define CM_AVEODIV 0x1bc #define CM_EMMCCTL 0x1c0 #define CM_EMMCDIV 0x1c4 +#define CM_EMMC2CTL 0x1d0 +#define CM_EMMC2DIV 0x1d4 /* General bits for the CM_*CTL regs */ # define CM_ENABLE BIT(4) @@ -290,7 +292,8 @@ #define BCM2835_MAX_FB_RATE 1750000000u #define SOC_BCM2835 BIT(0) -#define SOC_ALL (SOC_BCM2835) +#define SOC_BCM2711 BIT(1) +#define SOC_ALL (SOC_BCM2835 | SOC_BCM2711) /* * Names of clocks used within the driver that need to be replaced @@ -2003,6 +2006,16 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .frac_bits = 8, .tcnt_mux = 39), + /* EMMC2 clock (only available for BCM2711) */ + [BCM2711_CLOCK_EMMC2] = REGISTER_PER_CLK( + SOC_BCM2711, + .name = "emmc2", + .ctl_reg = CM_EMMC2CTL, + .div_reg = CM_EMMC2DIV, + .int_bits = 4, + .frac_bits = 8, + .tcnt_mux = 42), + /* General purpose (GPIO) clocks */ [BCM2835_CLOCK_GP0] = REGISTER_PER_CLK( SOC_ALL, @@ -2238,8 +2251,13 @@ static const struct cprman_plat_data cprman_bcm2835_plat_data = { .soc = SOC_BCM2835, }; +static const struct cprman_plat_data cprman_bcm2711_plat_data = { + .soc = SOC_BCM2711, +}; + static const struct of_device_id bcm2835_clk_of_match[] = { { .compatible = "brcm,bcm2835-cprman", .data = &cprman_bcm2835_plat_data }, + { .compatible = "brcm,bcm2711-cprman", .data = &cprman_bcm2711_plat_data }, {} }; MODULE_DEVICE_TABLE(of, bcm2835_clk_of_match); From patchwork Tue Aug 13 16:20:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092595 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 12DC9912 for ; Tue, 13 Aug 2019 16:21:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 028732624D for ; Tue, 13 Aug 2019 16:21:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E9C53285C8; Tue, 13 Aug 2019 16:21:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A26D92624D for ; Tue, 13 Aug 2019 16:21:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727729AbfHMQVP (ORCPT ); Tue, 13 Aug 2019 12:21:15 -0400 Received: from mout.gmx.net ([212.227.15.15]:59773 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728019AbfHMQVP (ORCPT ); Tue, 13 Aug 2019 12:21:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713259; bh=dcbp9wyo3uwTgq6UFIx/2q7he00MX7X5KQnY77LIfhw=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=VhqxHnO/VCxDXppsYNbwakKFGN/6gX3zR0T0aL5FXCg1MRU6CjP8pQBsJSP6kqQVJ lfGehUcXza5qQAWQszx4JZ7fijQ3vEjE3pWpQzhMN5LWNVedCVuSbLZc2cSd9fow/v pswoGLzMKer8FCm2EHf6rwGKMkLZru4xhZ6dJzBM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mr9Bk-1ibZFt1nWw-00oGiA; Tue, 13 Aug 2019 18:20:59 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 06/13] clk: bcm2835: Mark PLLD_PER as CRITICAL Date: Tue, 13 Aug 2019 18:20:41 +0200 Message-Id: <1565713248-4906-7-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:IHISipDPkgSEtuerZ9YeqAdbuOcqfx1WWZSpdue+ABrqodCLh8L WOgb+7OoOmRjx9vcoUBPxzV8jzAd+hz60S8LROQ66M2sU9RBMNpc+ez02VAYhQHxZuXHmoT 0HIHHaQRnOFGKbENNspO17RhUFzXPwf6UUTeQxcNlK+KBSsg2ga2GI+B1xzV6XC2VAsDivu cq1pL8PogxkL5fO98sLQA== X-UI-Out-Filterresults: notjunk:1;V03:K0:S/vGA3BKd6Q=:DdZMNsh5Yyf+gZY+8I2lMf eBujfU4NY6iid0Wp4iR3MQ4Q0WhuA2To6M2STPNgodnv3HPT0FVKDezOVz/hN4cbfAFOlMMhu eOQ1NHAMFV10tTFUKjqsojKhaA3WajBp/XU5BrCscsMztiDNtCwlq/D+Tv4R98gKC5F+cxoeX rkjepfac6Ykz5t/k58g/AMJy4UQkzbsnp253g9pnZWjNqOeJT0JsGRdZAcf9HzoUuHFy8bCP3 tT628OxdViueKVf154hRfbfBBIT4PL4IGOs4wmKsKOPIPY6HpWJHZpXzn89CdluBBFlKReU95 oiVcqhap50qWJn3aKeL//4BXCoKF43eI8+luLXsR8HzNsuikTSk1/wrDGFPDKDng3mLlq+6/x 5sLngt+Js7MnXZKZUOAr0yxCXt5kCbA9KE0B973FXIenJosQ+7uYAk0kJPkA6PwagqG9E9tOx NzLIx1ZAlBDp5UI5uJrPeKMnpLcMyk65pItZOcHuVy/Dw1eJDA2XXHRplLgjO4GtDGhcw6gOZ O0qLEkOIqBeGmXRBHpwX9HDI0xZ758+qGXurphN5oqOC0tixgxxaD27VRvK/dq1K3HGb2g1da cX1p12pOy2Cp/NOWWrcnTUsd121smpkbD794yaWYvlt8hmGnfhrQLy7Uc8HiZtF8+7ZvOhRsm uCaUdLvnRjakTk27cH/YxwjfvSCcYlNDYaMzkeQ7aUI8xYsnzQkOZR5ZWVC9wHgHjhTLnIh8l A46MLFhD4u7R3ndrZyqnP3qoXLDGh72xnf+H1RBxkRVtO7Yh3lLevSUqFOnEUjfb5NkrLTL5j Jck0zb0Azl6YurGfPlIjcYwi3hFWTwrLMKWKYvQbPgsG7/YYbpD8lUdD4aE1N9hzXCtb4/+fD i2WBW5uOVrt0zxlp5q5BI60hCQe0u9SfNU+mFxzXfqBs1MdiTCzqKxvJGZf3mlod0b472HjvQ wtesTYl+JEdrRpBDnVUc3v/RPiFctz4RbX8YpCl/SXzU7WayFAGcNeO1i5LrIB/gIzu++7BnH 2jI/IcFgiqt6JED9mP/5tYKxPtdKo6ewZLvFrg/rN4xRfy3pQWLi8QJe9A0dmwuHibZ0hOSra bXRiZ5UV1KSqx3Rn/BwVliK1GnDOsny/ZIKvYAfnp5jpLOrdkhC8L6RHA== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The VPU firmware assume that the PLLD_PER isn't modified by the ARM core. Otherwise this could cause firmware lookups. So mark the clock as critical to avoid this. Signed-off-by: Stefan Wahren --- drivers/clk/bcm/clk-bcm2835.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.4 diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c index fdf672a..b62052e 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c @@ -1785,7 +1785,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .load_mask = CM_PLLD_LOADPER, .hold_mask = CM_PLLD_HOLDPER, .fixed_divider = 1, - .flags = CLK_SET_RATE_PARENT), + .flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT), [BCM2835_PLLD_DSI0] = REGISTER_PLL_DIV( SOC_ALL, .name = "plld_dsi0", From patchwork Tue Aug 13 16:20:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092603 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C5A014D5 for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6B9682624D for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5FF13285C8; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 67C9A2624D for ; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728298AbfHMQVS (ORCPT ); Tue, 13 Aug 2019 12:21:18 -0400 Received: from mout.gmx.net ([212.227.15.18]:45875 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728019AbfHMQVR (ORCPT ); Tue, 13 Aug 2019 12:21:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713260; bh=uRHDvL3TndR8wGBn8RWaBtvuYQCKr4j/BBz8Ga9FesQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=FD4Yg2lq/EwvFJdKqcle/04/mM9YxkFkhJBujTJPAx7L4Tg7folHXQuavb+A0FUeL 1p4LTYdw5W9/Wngcwog1CjPRTZ375rJdL75CG6B03kqa5CgihYalh1HP/seJi2P6M2 AGbtQTjjKOCXRjNB2LSOc9yv+fV1dMpESbOfKFWw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MUGi9-1hoOJE43pT-00RFcV; Tue, 13 Aug 2019 18:21:00 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 07/13] dt-bindings: i2c: bcm2835: Add brcm,bcm2711 compatible Date: Tue, 13 Aug 2019 18:20:42 +0200 Message-Id: <1565713248-4906-8-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:0cRHZfQHKeaAt4ouWJuDoL7IzMS/0ykCsxm1ArsSFkmJwmbdWdv SoPXQAAsZXksgG77tAe3/UJGlqPk1jl0LKXDwsgQQoY0xvsHgzUlNWnErDNfwZtWG5n3Q6a NFZzMIZctTNntz7XfsE22RrJYddL45W6QLlFIeMeGJOlmNDx1WOCRPmvk0on4sPrtGDhybQ IaYaLlCG6JWIw83K6kEvA== X-UI-Out-Filterresults: notjunk:1;V03:K0:/rvAzAeYiA0=:FN5M4wjfBAy5hu8tlP0v3T FDXwcxrxr5zUVQI1XKkrTKoFJDyzFHJE2XLGPoynZYwgpmok/hiG9urc2+ZmfO8oPUmqF9t3R jhfJqvhL1oXDDMeJHraVwQ4IP0YvBNIgluqw1j9Orb9gG1vHYFySZFu/y2DhDw54sVO101twT 7k5XaACYS2Rmkfp7kdV+at/RaA4pMiYuuDm6Z5tRaYlzlCnNoP4XtIYatwsBSedjl1YVfIs6M PnCjrSVG1U4aP3BAfHEhVWkeQS6z/ElBY96JSOtMFRqWdanSnKZWTZWEZw0LnR4mm4GPWfQsJ ZRfbCAmJFpVZiii8BNl8Vt3fPhd7q68knKrzKeeEb3UVYZvqjkG1KIODDW0ijaJjhu1VuLW57 CmC7tEA7tEyOI6Tc1NOb/5KoltbZBh0lyaM8kjdssXev+bF/ydu9qiEjQCQExQtMwBfe5IfbD ryZVglojt6AFGhzEajt2v2FdNg/OJt9+h1SOHhpg4Qt6Q2O19yKfgQ8ywfq061c27nSaPxxDx Mu9pjb5/n8Qhsg+ngZPkKX583i3z56fDyjgN+DyKAU/SECDEzxYsLZJzYRzZPdLSMuN9Nubhx UP6tN2J5RMCsQf6B/QtXNJoU41dDF35RJ8Nt0pAGKYqME13v2gKttZeKfmQ2SEoOvd2HHkjSZ WqFl8OIpdlmr6sPb8KTTjUZ2RfCQUa6RmOkrImsDWwwznSUxxkTf4TnfsRz2Ytc4ww+TE97L7 5MP045jdalgfg383oDhnpX2NrDr3/BSoGqnksQR9SwsmvN+4xCraLL9BDJiD3p8/ystQvZzlP sU0zsVvkyzp3ouKy3cpuW8bfOKd0Mk3qT+5Iz585hXEUJ/yD07jbpAwnRA8eNcPC68Gd5FP78 tBABbJcRmIvZb6Uj3GyRh6RWzlxgorRUFPfqpLm0S72X8nLVCC68mnoKu3v39MNlSqR4ZgtCM BGEWqEAtFCD/5zJnFYng56lRFT6ogZ9yLw3qagJ744nTNiPATpbRKzGIoVcS2bfFKa9gU+2qx Vn89/SYLzVRbrNQotYZ001sXafDKZKJOI7/BMnH+JD6cv3gz4bM0XdJ9j8yia4w0FdOxNSz8t 24s1j29sZd81dTWe/fR9Ih4qMQHNr5xM6StHJcMG7qfkoROPEFMaz2oIqN/FqBcyZva9Gtu48 SZSYvQV6mKYjiLq0IaTDwvIKJ7bfuOsSl297QSEoTUe+9WTA== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add a new compatible for the BCM2711, which hasn't the clock stretch bug. Signed-off-by: Stefan Wahren Reviewed-by: Rob Herring --- Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- 2.7.4 diff --git a/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt b/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt index e9de375..c9a6587 100644 --- a/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt +++ b/Documentation/devicetree/bindings/i2c/brcm,bcm2835-i2c.txt @@ -1,7 +1,9 @@ Broadcom BCM2835 I2C controller Required properties: -- compatible : Should be "brcm,bcm2835-i2c". +- compatible : Should be one of: + "brcm,bcm2711-i2c" + "brcm,bcm2835-i2c" - reg: Should contain register location and length. - interrupts: Should contain interrupt. - clocks : The clock feeding the I2C controller. From patchwork Tue Aug 13 16:20:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092615 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D9AA61510 for ; Tue, 13 Aug 2019 16:21:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CADC4285B7 for ; Tue, 13 Aug 2019 16:21:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BF466285C8; Tue, 13 Aug 2019 16:21:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 406D5285DB for ; Tue, 13 Aug 2019 16:21:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728334AbfHMQVT (ORCPT ); Tue, 13 Aug 2019 12:21:19 -0400 Received: from mout.gmx.net ([212.227.15.18]:35873 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728237AbfHMQVS (ORCPT ); Tue, 13 Aug 2019 12:21:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713260; bh=Y5aGEI9G/hsaduQVg6mAPiwmIIHBg3hjSpNANdv++sg=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=AEEPLeS20UcPjgOac3mgYrID9haAhFjV3cGIkOXHOX4NxWyTb9VWiNzHLU3/i7I5e G/RLON8Yi2iZ0x+jyWryAWYYWdOahJ0ryvlypMiySkmYaPSbQazF6Q2FarCZgI9Kgq ckXIrfsGQw+lILB247R7iUqI0RQVSgVKt/e65VIo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N3bWr-1iNS51247n-010aN5; Tue, 13 Aug 2019 18:21:00 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 08/13] i2c: bcm2835: Avoid clk stretch quirk for BCM2711 Date: Tue, 13 Aug 2019 18:20:43 +0200 Message-Id: <1565713248-4906-9-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:Pnlk69KrwCk9LvgrYJTYiJBIKI8o4JVBFM4dQ0wgTfUJNXIHwvE sNswh1Zm0es1wlgCP4X/1hGtxTHDFRiyNKKKsNzjCe79bHc1596yEHIsObjFFgI63RWhgMi Ob+Xn89m0mUMcFifQTaP+brmvGmYUeHcThDn0CHmuJ7Tu+er+BM+WFDBMcNcGuggrkTPKa4 jDtfu+lyZqFfNAfJcCI4A== X-UI-Out-Filterresults: notjunk:1;V03:K0:MElBaoq2NOo=:NgQcO7MtpiaVPB+cYEBP4v +zQaSwTPLexJsZbZCFqVKXX4MFzR4yg1nqveO7UEo59M7zRIY4/Qn2Y4IEDrmNPRY9eTV5scB HtOvTa7bOkwai9Mt8g103rGzoRPv2GE1ZdDLSY9Q6ba7qRWFVHt2R5EzMlG+Q47YHCq0HN81Z oWL/VOgvAlM9Yqww4eT1TUxduRt8IKhJLc7uqxA3m7MMm6HqTKePBOHM6NoOnnXYLSqZi45Jd MyNTnH0NiIEf+LrOUK91Ec2Pqt7KzR534tbIXYOhZ84TTrruRNJuNDVDKp61JkCf1MH4Bi/tD 8iqMyPVByOns1KBOauE5gKD8z/qSb/Y99+7JGcoFT2DiPks7vnE5ZofPyoPUUudLmL5kpYncj ghdwWZmPZuNk1eQ+wmTEULXvTj0T4pMXqxaEeCx/OCPq1n/1e75oirptZuChAXfqm7woIYD4+ O200/efAFL79CtszzYo/pmVHrhCJQW41Ag9ukNXNb6soyQNCbzEWun9VnnJFWW8bj1MeD7MIt wilIC8R3ZjM6Vu/kVdhAYCaHszNAMhNTJnxvd7alY3llHvQ5mJtAyRuj78M/1SmMNB3VElFer oUamxL+vLUUswFtVT3fkpoOpTnzXfc8yVmnKPqgQTe8AMRYiw7tUJhZEImCj7NHrRmoL14NC1 s6/58jPmjkMisoZ55C/yS5/SOrMTB8bIruWSpgGDYlfqseu+L//sy1PjdbdW/iO+HYj0QP/0x JMMr7SbbI+5nNP94Oq8P+k3DICT/h+ZhmYeH3ddmOZCdkLZvUJxE5GOLThg/Uc9edffEhRzqX ZfsmyeXZE4e1Ks/kMGqu0RVgcvt8k0C9JA4EJYnl+MufrnU28rRRaSuDyyeuGxZH+O5lX4uRN 2HMhJv39uu00i3lY4R2EsdUXppMzvnH8fMjl9hbWJW/+p7F/Y7H1H0xMUQtbvznJ1oic98Mq0 UiuigsDCL4fpgj6i3hpBgzKYS5Q0QRpPLp230mEujkscBoOLGuMR/F/Y5F51MI050KmHyyPbI YsAcLKB/WcRHq3t+Zrsaqd5Q7PIEg6yxC2xB7S/b2RlKpRdWE4MZMVc2YPIEAvVjZT27aIFwo jmZIAKyArntL7YVJUGy6prK24LZ14pW09xCvTVfTRWhDBidvCszKsCgTHXoJXoueb5wQyvjZy NXXyBl7CZL1tP/yDKz5xEu3T3EvlLmX0VqD3aUoldKdp3z6w== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The I2C block on the BCM2711 isn't affected by the clock stretching bug. So there is no need to apply the corresponding quirk. Signed-off-by: Stefan Wahren --- drivers/i2c/busses/i2c-bcm2835.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) -- 2.7.4 diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c index 67752f7..340da70 100644 --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -50,6 +51,9 @@ #define BCM2835_I2C_CDIV_MIN 0x0002 #define BCM2835_I2C_CDIV_MAX 0xFFFE +#define NO_STRETCH_BUG false +#define STRETCH_BUG true + struct bcm2835_i2c_dev { struct device *dev; void __iomem *regs; @@ -389,7 +393,7 @@ static const struct i2c_algorithm bcm2835_i2c_algo = { }; /* - * This HW was reported to have problems with clock stretching: + * The BCM2835 was reported to have problems with clock stretching: * http://www.advamation.com/knowhow/raspberrypi/rpi-i2c-bug.html * https://www.raspberrypi.org/forums/viewtopic.php?p=146272 */ @@ -406,6 +410,9 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) struct clk *bus_clk; struct clk *mclk; u32 bus_clk_rate; + bool clk_stretch_bug; + + clk_stretch_bug = (bool)of_device_get_match_data(&pdev->dev); i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL); if (!i2c_dev) @@ -475,7 +482,9 @@ static int bcm2835_i2c_probe(struct platform_device *pdev) adap->algo = &bcm2835_i2c_algo; adap->dev.parent = &pdev->dev; adap->dev.of_node = pdev->dev.of_node; - adap->quirks = &bcm2835_i2c_quirks; + + if (clk_stretch_bug) + adap->quirks = &bcm2835_i2c_quirks; bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, 0); @@ -501,7 +510,8 @@ static int bcm2835_i2c_remove(struct platform_device *pdev) } static const struct of_device_id bcm2835_i2c_of_match[] = { - { .compatible = "brcm,bcm2835-i2c" }, + { .compatible = "brcm,bcm2711-i2c", .data = (void *)NO_STRETCH_BUG }, + { .compatible = "brcm,bcm2835-i2c", .data = (void *)STRETCH_BUG }, {}, }; MODULE_DEVICE_TABLE(of, bcm2835_i2c_of_match); From patchwork Tue Aug 13 16:20:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092597 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4AF5D14D5 for ; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3BA1D2624D for ; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2F7B2285C8; Tue, 13 Aug 2019 16:21:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AA77D2624D for ; Tue, 13 Aug 2019 16:21:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728254AbfHMQVR (ORCPT ); Tue, 13 Aug 2019 12:21:17 -0400 Received: from mout.gmx.net ([212.227.15.15]:34905 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728021AbfHMQVQ (ORCPT ); Tue, 13 Aug 2019 12:21:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713261; bh=N/1fGHykkkj2ii3MMCPsqwFDNryE+MvPA8vb391G4JQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=Dc3iLjqjSS3CAc0DlTYVkmT1L1YWy30ZT0KPg2B9wvYsxbp4zbJOEEHIqFHm693LL /y+aaqOiU25z6vhQwSVRnwILCyLBYdmpuKPpj6M5BOpj98rxr8sWIxX7FJF5WtMlCZ y83SLpjoZOVTNTyMJ+bdhNPsXSqX44VgAQ6B5OOI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MNbp3-1hdS5v49t5-00P3kd; Tue, 13 Aug 2019 18:21:01 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 09/13] dt-bindings: arm: Convert BCM2835 board/soc bindings to json-schema Date: Tue, 13 Aug 2019 18:20:44 +0200 Message-Id: <1565713248-4906-10-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:9aQt5XHwmKTiYEkM5aG3tX0//bI6EK19R0s2CZt4Bu5hD+lDVVk tc6FzSARMk3ksT9HnAARreZXAug/jQiJYjAFWosz//m8bXOnNWsleuK8SguaQjXZMoHRGCy FnW2OG7tgcVpl4fsgksgtmbn7sgj28pdq0Ce2qg57xV6yX2hP+W8bjjhSAIYZlx51L1Zx0G g+JTqxieg1rIQNXLwPEPw== X-UI-Out-Filterresults: notjunk:1;V03:K0:FfTa5NEbgws=:y1zZ1PjuuewmfhVXv2TM3G Wymd2v5fnE2HCtVf09W+oBicBR1WmYk2qEoxMhtsc9IOx6EIYBhpFGXjHXdD34ZY0/kDmEmXz oOR5kfhT2ZLGRzMVOYKnbJDp8qVJGhyIICbA5+Tnh3sup4me1JC0C8ifLJJ5fkyqRWP93jfrA IP7ida6CNjEE+j1/5xr00WuH2fH27FNtVGixDpEbfKvd+1lal6Q4B6suB175BCbxq4Jj5fQC8 QDPVwIMxlDZ1vcuatlTYlZ80Oa64PM593sCYXYONbBy3DH4dFYDZfC6Fm8lSn5VWjJDBpB2m+ MaRZDECOod67MBcPiMhsOEl2DWGLM7vgm4DPX6gBXAs558XF6TgS/hgnRrXZNyYKnd/w6fr4x cXsHpHAy1qQXcHf52YNYRIlYT8N11+WB5Wr5w+HBQiguYTmn3qsYlE+h0uJqpjY9iDuOlcDDj mibyasOHTULMPGlpneLAOxYteVuHCNdn2ivfk/c7J//2FCBkUFl68a+D1fZ3iROk4fLi54UiQ yi0u+BL49gB2j4hdO2tVG73HbIXfZVy24UiJjYl/SVya/EOA0UeVOzuoD3Eo2LKCKkdpgw9iP UyaTu6sCAOf9+HZB6g6rRgdi3xsubkMB1TReo/ql2R+CwlxYy7S1/T2JfCSSi3+AD+lddvy8b 3gLSh7JkRB/rspLS1/uSUL3oyY43KKPTuyrbidxlLq2Viqd1uBwYv+WhCzPNhFJ/Bu7PQQvLw ke/j7C+jv4hN4OQZv6wEJF5fc+CiXzvtef6Rk8aP3Fw8gNqiY0xYAvUluKgiP/SWx6++HIhwC Er2ULdWN397USAdMvjrtQJh9By1y/Avpc4E6kjLxvPmQDYgGCjYH5jSJj+dqsVMWtnF8D4Ea5 SEQxtQFipIn+cy17doo7tYJfbJLR8HAZkqYzoHxGwCoidPQccaiAVpxdcKp17o2v0CrQReq7K RiqJIQnplWCa95dVWgfa08agkGOFxGR/mZ3cdXVW6Uf56Xuiy1vZAcDp5pnP1aGgnVJd7w/Np SJS2oJbTYqmCIyPH+U1zHE6xgYCXW0LyP6cQt14HJM4VylS5CjrzHT3dunKkXZtzDYxX64EZ1 fLs97R/qzOIrwRXjhW39Z//+rhjBi1W2hdc/0McxqDA386dNcsuCagX6w== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Convert the BCM2835/6/7 SoC bindings to DT schema format using json-schema. All the other Broadcom boards are maintained by Florian Fainelli. Signed-off-by: Stefan Wahren Acked-by: Eric Anholt --- .../devicetree/bindings/arm/bcm/bcm2835.yaml | 46 +++++++++++++++ .../devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 67 ---------------------- 2 files changed, 46 insertions(+), 67 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml delete mode 100644 Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt -- 2.7.4 diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml new file mode 100644 index 0000000..1a4be26 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/bcm/bcm2835.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom BCM2711/BCM2835 Platforms Device Tree Bindings + +maintainers: + - Eric Anholt + - Stefan Wahren + +properties: + $nodename: + const: '/' + compatible: + oneOf: + - description: BCM2835 based Boards + items: + - enum: + - raspberrypi,model-a + - raspberrypi,model-a-plus + - raspberrypi,model-b + - raspberrypi,model-b-i2c0 # Raspberry Pi Model B (no P5) + - raspberrypi,model-b-rev2 + - raspberrypi,model-b-plus + - raspberrypi,compute-module + - raspberrypi,model-zero + - raspberrypi,model-zero-w + - const: brcm,bcm2835 + + - description: BCM2836 based Boards + items: + - enum: + - raspberrypi,2-model-b + + - description: BCM2837 based Boards + items: + - enum: + - raspberrypi,3-model-a-plus + - raspberrypi,3-model-b + - raspberrypi,3-model-b-plus + - raspberrypi,3-compute-module + - raspberrypi,3-compute-module-lite + +... diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt deleted file mode 100644 index 245328f..0000000 --- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt +++ /dev/null @@ -1,67 +0,0 @@ -Broadcom BCM2835 device tree bindings -------------------------------------------- - -Raspberry Pi Model A -Required root node properties: -compatible = "raspberrypi,model-a", "brcm,bcm2835"; - -Raspberry Pi Model A+ -Required root node properties: -compatible = "raspberrypi,model-a-plus", "brcm,bcm2835"; - -Raspberry Pi Model B -Required root node properties: -compatible = "raspberrypi,model-b", "brcm,bcm2835"; - -Raspberry Pi Model B (no P5) -early model B with I2C0 rather than I2C1 routed to the expansion header -Required root node properties: -compatible = "raspberrypi,model-b-i2c0", "brcm,bcm2835"; - -Raspberry Pi Model B rev2 -Required root node properties: -compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835"; - -Raspberry Pi Model B+ -Required root node properties: -compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; - -Raspberry Pi 2 Model B -Required root node properties: -compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; - -Raspberry Pi 3 Model A+ -Required root node properties: -compatible = "raspberrypi,3-model-a-plus", "brcm,bcm2837"; - -Raspberry Pi 3 Model B -Required root node properties: -compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; - -Raspberry Pi 3 Model B+ -Required root node properties: -compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; - -Raspberry Pi Compute Module -Required root node properties: -compatible = "raspberrypi,compute-module", "brcm,bcm2835"; - -Raspberry Pi Compute Module 3 -Required root node properties: -compatible = "raspberrypi,3-compute-module", "brcm,bcm2837"; - -Raspberry Pi Compute Module 3 Lite -Required root node properties: -compatible = "raspberrypi,3-compute-module-lite", "brcm,bcm2837"; - -Raspberry Pi Zero -Required root node properties: -compatible = "raspberrypi,model-zero", "brcm,bcm2835"; - -Raspberry Pi Zero W -Required root node properties: -compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; - -Generic BCM2835 board -Required root node properties: -compatible = "brcm,bcm2835"; From patchwork Tue Aug 13 16:20:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092601 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 424EC912 for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2CFB8285B7 for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 217B0285C9; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D0A10285B7 for ; Tue, 13 Aug 2019 16:21:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728332AbfHMQVS (ORCPT ); Tue, 13 Aug 2019 12:21:18 -0400 Received: from mout.gmx.net ([212.227.15.19]:56119 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728267AbfHMQVS (ORCPT ); Tue, 13 Aug 2019 12:21:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713261; bh=Tog8MR549dxeaXAammAwAidG+XtuOysLRumT+/w95sk=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=L/eBvY4AYW2K0JNCMA8b0o9l7cCAPZtfyVK6cfdCldUYaOL7LOA2whNVDK3lQBJMy rs4+IUH0RKe88nTd9XLjl7LfTKOZ3vtTWO0hi69S7CFOd3j9w81CLaew22cLcdeYI5 0vLSKq28ACUD2vBNb1ZXjcCZXhIdt780o2Q9EsHY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MuUj2-1iEPfj20WI-00rXwk; Tue, 13 Aug 2019 18:21:01 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 10/13] dt-bindings: arm: bcm2835: Add Raspberry Pi 4 to DT schema Date: Tue, 13 Aug 2019 18:20:45 +0200 Message-Id: <1565713248-4906-11-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:npR3UJkhcDl4Lun93ftjDmmmRittMWdFbbCbLAdC+Bwi8P2kMrE GZiz3OavvpVS78sDhZeguCPtxFNFCgE54zcbOqs0QL74yD/hHNYI4bnMOo5rwmxaQOx+7Sk mGmIeTFndJWRDrOYVCam777KxsgFsb8eHlDAFWhwbJgGcuxtDOaf2dxBgjcY78k0GuG9Bwz ytMrfyvOwsP8PAtSqLJrg== X-UI-Out-Filterresults: notjunk:1;V03:K0:loX9HJrMuYk=:Cvg3Qtj6UooChF9sEh6l+8 ac6FCzBEBZbr8/4141/Mr6O/H1OlcU3YM+9SoXhzLocJ8knyk1vDJgF9jWzVP2ZOICTatZosN yDP/UWJl5fXrsmo+n1Or1PS+SCz70q7BRji33nAKzF0TsMVAN4fqtD1CRvhADCU+XNnUBByZa caG1UVyXV3RPtZURPvipxMHZwvWrl2EHos2At9sPE4C8NAoqcCbzU7G4SDTuAFLC1REueggwZ jTm/SEXlM9h06M5nyZFAHv9/D2eZgiKwIMYszzVWvPVmLHd0TpfeBwFSVIExhAxRU5JqDfgfN b/HLXmHqcbz2ykc4yXqcJpNYquvuMXpp8L/gn0tkvTrYcmoyuJWX402sqbp+Sms4PCeV+FoYg XOFUbsMQTLSoY50QzEeTbq8oQpHrP+dKjAdn1kXDQ8gyZ9FHUknetOclK6fUqBCJr15eS+kFw wB3VOnRs38YcbQBQr0m+HvBqlbqitzar6s5TBtdGcmyHaPGlnUoJJcb+i5TKLg9STeFgI1yDB e7XfGW8EW6rywA7vlTQIErlJ7s1tHIfBhxQpAcw0DrIoqhgOQmRgPh4zq6Az36G5Tnvc1clw/ zmHqWpvft9w49Ej0IoVgIr1lJYjt7a40pEA/TjnztUFG2yYRGZOF5CrDWoq9BShjLqoe3ltRP /dQpWSez8W9H4dKg4SJVKLgljMFI/Ij8OGd7TfQ5TykSa7e1K2b/apSfszVWRXyZfwfz4F6xL 0M+uToxk8K2zOqcdFyIoFmRXhSUGsDcnAMBpea27zzE9oLktUtIlUdijDY+lWZhtY/L9pIIpr 4MgkCZdCkfAfvZNGDmQ46bPHyECT+PrJWpKuu0JdcWcKSaN3dYc+DkErU99KQNG1M3WBwBdHm uyLk0oaLA8ItfCRCsy9n70eOrgDmfEDGlUbr/Nl7wIII+wk9/DVF7fkAAzs/+LWPaGWgFTaY9 Zmv6QlhiCUFvDNC+yMxhluTcTgOUS4VODLneDCPFMkm7bkLnM5Wzb02ejZ7TAfR2XAGSaKU9x 9B00ZcJSYD/OO94bqhvgU2LdwUkWVC1CBsevCPEhS/xexmULRc6h9UGhU97/tYh/wrqZ+cOFA ZFcCfTwgwNWPf2g9EFVaFq0Q+JsPbMNS69JCt9VONdvOQDHIgOeV3N8Dg== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add new Raspberry Pi 4 to DT schema. Signed-off-by: Stefan Wahren Acked-by: Eric Anholt --- Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml | 5 +++++ 1 file changed, 5 insertions(+) -- 2.7.4 diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml index 1a4be26..8c3bbad 100644 --- a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml +++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml @@ -15,6 +15,11 @@ properties: const: '/' compatible: oneOf: + - description: BCM2711 based Boards + items: + - enum: + - raspberrypi,4-model-b + - description: BCM2835 based Boards items: - enum: From patchwork Tue Aug 13 16:20:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092607 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6F2F1912 for ; Tue, 13 Aug 2019 16:21:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 605F02624D for ; Tue, 13 Aug 2019 16:21:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 54852285C8; Tue, 13 Aug 2019 16:21:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EF0782624D for ; Tue, 13 Aug 2019 16:21:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728019AbfHMQVU (ORCPT ); Tue, 13 Aug 2019 12:21:20 -0400 Received: from mout.gmx.net ([212.227.15.15]:33717 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728308AbfHMQVU (ORCPT ); Tue, 13 Aug 2019 12:21:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713262; bh=p/SSnJeKxjXEaPbgC1CRpaN/K2ZQCUsvDyxx2Jvj4LU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=HGAaxH8n+e7hjJX8rYPnrfAYFN9v1a8uXAQdpTqSX+B3oIe92oIT0lQNtZOC0bbZ6 osB9q80c9C4UrMmMvsK4pD7+QJyBeh0g8e9laFstPo9i568112uFV6V2mOodK/YiiR 9/+aSEvO792a9jPSobxidWgTLHD8bKamJJYvbcHs= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MWRVh-1hmDWI3vqN-00XpC3; Tue, 13 Aug 2019 18:21:02 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 11/13] ARM: bcm: Add support for BCM2711 SoC Date: Tue, 13 Aug 2019 18:20:46 +0200 Message-Id: <1565713248-4906-12-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:dFIO1Y73cHhYByVqZYoc8TOkFxlgLtwZRXUHniPN7XlD/XNDCa9 m9n9eNR6vODXNafG+h/DHp03ptu6IxHcGydxEQy/wryeqZsi4u6jdkz1cQTivz330HgDDJI TBmr7tX87emKd7Y3zMfLh51QJDwfHg4zrQe62z6+LJrEnP0MFjm36rnyRYFaZYXaDnE2SVL 8HWa/+fzafFnulyKmpoig== X-UI-Out-Filterresults: notjunk:1;V03:K0:5bicyWtCMlw=:K09yliheb9ZgWexnnYrLqO w14DFkCZl3Jl6qEhRe1SXZ9kvnvJBXA7a3pnuuyb8vRd15wQY0/ZElmPf92kW+TYjDb4EH1uK rpGtSDqZrJtKK70+JjEtipknm8/walVHJcIhe/ubR6JIRWsRKMEcPKIhBHPgZTpt0ppU9Exg8 8lwJbX5bH/RpdhA1iy/Yf1w9fVDtQYbrxMlQqPlaBAUfd7YjbT4BJN7lkz8ulbcA+LJdzZw2w WRaMomdoAYnapFyochF/DyjkBn8H0KUPnARk3ljtM11uUJFwqL2hSOjEIsCQKQLycznuJkFaZ Q9pjqf6Xg9SdbHcwpKLGeUZ9sJSe6+0Pd3J1KxcJZKvrE+CwoG9sNUoS6RLzG8uaeMqnsmQgj 5Aoe4K5U0QX0M+k4ntqPKztN/q0yg4gQ7qrT4IJ6IZCSNmmhebU7YK6MlJNASWRdPrzzQzTLY aCsuxh3Jj6SIaTC/XP2ezo1GNj4HepZs6C+VmvN/weoe2j2aDZM4i2GPI9AcBz3gebnNSLzvf eSzBkwBTXdPeU46WM5jpjaWCe9iMy0FpX+IfxybNc1PdstUIJZamnc8DEoz474RvXI95GFMZl kz/yPu2qEVPav1iEaLFdjCLAH+px7NELlQ3CvTR0+Hf5ee8uWOTwXdZwp1uQ2uMDToyO6mhll xZn4IVObC2lQP0C9cRU3yJu9KtFcFe6bnkmitGLCIUmE+NqSggCrxYQE40uQKwr61Wyk5VmfY r5PE+3C5ePOo6CreeC6+flGDbek4SVOUYxUs82XuVO4v3vIpB2F/RkA+MFqrOVMZNcJUwS54x cDEKUxHpq1bEIex1e3P2uzrglvuarDvgGkoKB8o/8CfX9wMZQEviJVV4P3R9sPM6HSwtdSLBv U4ypMvw5HrTgyWNVu3fYFJ8iZcBbJhFR0a5ysabz7WnzraZL7OcRK3keL5szS6TRF62Yx2X6T z/qBaKCfQZEyYIRJTY7ou8E6NRksSk5B1G32WZeXP2MYX5TDIRTIzXuvqJzSsi6D3KXAZHPud nIIsdhKai+uDWdNv5eEwrHxs8StxVNv3WaQodOHV3dU3bB+6RIcbCh1KZMEmqSElG90wo0432 omFL21MjsjTGj/X95forwjUjhxAkP0zWgnQoaDEwTWZ/NFF8Qg3C5aMQg== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add the BCM2711 to ARCH_BCM2835, but use new machine board code because of the differences. Signed-off-by: Stefan Wahren --- arch/arm/mach-bcm/Kconfig | 3 ++- arch/arm/mach-bcm/Makefile | 3 ++- arch/arm/mach-bcm/bcm2711.c | 22 ++++++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 arch/arm/mach-bcm/bcm2711.c -- 2.7.4 diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index 5e5f1fa..39bcbea 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -161,6 +161,7 @@ config ARCH_BCM2835 select GPIOLIB select ARM_AMBA select ARM_ERRATA_411920 if ARCH_MULTI_V6 + select ARM_GIC if ARCH_MULTI_V7 select ARM_TIMER_SP804 select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 select TIMER_OF @@ -169,7 +170,7 @@ config ARCH_BCM2835 select PINCTRL_BCM2835 select MFD_CORE help - This enables support for the Broadcom BCM2835 and BCM2836 SoCs. + This enables support for the Broadcom BCM2711 and BCM283x SoCs. This SoC is used in the Raspberry Pi and Roku 2 devices. config ARCH_BCM_53573 diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile index b59c813..7baa8c9 100644 --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile @@ -42,8 +42,9 @@ obj-$(CONFIG_ARCH_BCM_MOBILE_L2_CACHE) += kona_l2_cache.o obj-$(CONFIG_ARCH_BCM_MOBILE_SMC) += bcm_kona_smc.o # BCM2835 -obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o ifeq ($(CONFIG_ARCH_BCM2835),y) +obj-y += board_bcm2835.o +obj-y += bcm2711.o ifeq ($(CONFIG_ARM),y) obj-$(CONFIG_SMP) += platsmp.o endif diff --git a/arch/arm/mach-bcm/bcm2711.c b/arch/arm/mach-bcm/bcm2711.c new file mode 100644 index 0000000..1fa15b4 --- /dev/null +++ b/arch/arm/mach-bcm/bcm2711.c @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2019 Stefan Wahren + */ + +#include + +#include + +#include "platsmp.h" + +static const char * const bcm2711_compat[] = { +#ifdef CONFIG_ARCH_MULTI_V7 + "brcm,bcm2711", +#endif +}; + +DT_MACHINE_START(BCM2711, "BCM2711") + .dma_zone_size = SZ_1G, + .dt_compat = bcm2711_compat, + .smp = smp_ops(bcm2836_smp_ops), +MACHINE_END From patchwork Tue Aug 13 16:20:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092621 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 79A3D912 for ; Tue, 13 Aug 2019 16:21:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 65CC72624D for ; Tue, 13 Aug 2019 16:21:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 58AB2285B7; Tue, 13 Aug 2019 16:21:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EB03C285B7 for ; Tue, 13 Aug 2019 16:21:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726086AbfHMQV1 (ORCPT ); Tue, 13 Aug 2019 12:21:27 -0400 Received: from mout.gmx.net ([212.227.15.19]:41043 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728433AbfHMQV1 (ORCPT ); Tue, 13 Aug 2019 12:21:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713262; bh=rp/naLDBhmmYzDn4d28m8/eGPm+36qzZ3wawdGFFltg=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=JIiwkqmnElks6g5IGPrVSJX3p0Igci/hRECL19fculccqKF7J6g8ORW+1I7DZgL1b 5rBwxUWYNcyz0xUAX5ujGv8VcFbEtxiCMh5S2gVNvamT/BB3aMZrosSirXjXlZHrUh VQ8RGOf09vva7UbGmWzbIZYkmPlw9Xt90gJX+gMI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M26vL-1i03Rn1pof-002axJ; Tue, 13 Aug 2019 18:21:02 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 12/13] ARM: dts: Add minimal Raspberry Pi 4 support Date: Tue, 13 Aug 2019 18:20:47 +0200 Message-Id: <1565713248-4906-13-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:F+CPRg4RpumVp2Pb7sk2u5PCpHuv7SQI0mvFuoqtY5NcO11f+T1 3kvOo3Ha4IWsuCM6xOGoHL67cgNmOIGOGBRxKYLl4jI8x7io0q7SzDB7Kazatus73J0aZYv Pykw3lBqUPQdvE8TnvOI/jvQkexWbx61OHFljzMu/ojr2QOrH938dJUeZRLUFry1SaF1TRd 4asBiODNFHz3/E+8fAbfQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:2C2kKJMszRQ=:t93GAt+IKkCE9VMfl/OUnq OORNhlgT2XDzosY99eHGl5GUHd8EgT9AtZHNRA/hJWViWBzHox9YWYUmBsgaT0/oxWli6vfP+ u2HVaY+wrcK+7+Ozf6SwBmRRJ9TzUKDVcbmUIORTK4eicWaOzmNs6qWiILCX4uYeF83ts//2y ktypA+14RQGB57DQi2t3b9AnnyGS+v1R46KUmq4y30K6O3fqONJvNkzuJOJcvSZAd8n+ZftsH tv1cQnzlX5Fau3TH2yZSiaS6kapyMZqfFTAA0PEha3IjH29CCqkJyYdGmHyRRiAy2AD67JcTR UaSSw1fUC6ncr37uhaxPKA35iY9fRRVX0bXkSuuBKadAf1CWGOM0hoKwqY7IY+gu52XEAkCYU XUjmcDb+pVjiTAq9hDvwwhm6WBL3dij2IhhwILnzTNtPmouWr3+VP+aZFUdH8A2+DbWLnogII rao6Bh71NOp2bvJ0rL6DL3zDjaWf/hrXhiCtVzOxygU/CVCnrylGgyL9uZJM6UMe0su2JdFv8 IvBrZo1uG5Ub6z2GEIIHXouH6hI3u4IIwL9OTSTRNIjs4woUAOBT8WfBFDxyaL6CDdJgW64KM VPyJVy/DM3KyZAxJlOm6CINGSUtgzfObWWdHHIoEzHjFv4eGIg8RR90W0Ecok/2N7FAqyWTkf xOijo62C5cjNj4jt8o4QoSlgPx1SXZAZXFrWfS8+GF1sLQJ/9LVVkxvFcdU/ElPaa+POHCki9 tLhzVk6/a83YwZ1/X1kPNRtSu7eu1wArvOGNErarJNoRK2zZqFlXMFXdg2v2r4s6kDu9RXVHk rbHmLlByFt4ZBPFpSntfhzuyKxH3Y5OtxV2MlNzmEf2W8BRJ5hZZ8U8kVcBRmzfi4DdAFmcwR 8AMmzygqPD+OoMALdZhPSrFxhHgc8r/JbXZVVp1lG1DP9lbhOt9ww9rw1sfGWZjkMRI4TYwod +2yc0bKeF9WtLUE+TAjKFVRamwPau80rpbKp0E21KcxiKxqra0SFfUXNDjEjFnZXyMtqOdPPw aDQYFpHrsRu5fmwuJjAt9shU4RDh6zkUIUj6Sg4Cjf+eHFSY3CmarjBndloJzyAKTkjRovqu2 Ba36s2e9ZIsyxmKJ+ZVclvyrJXpr4MNyNqkuY6RScF8180NjrzYut5ChQ== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This adds minimal support for the new Raspberry Pi 4 without the fancy stuff like GENET, PCIe, xHCI, 40 bit DMA and V3D. The RPi 4 is available in 3 different variants (1, 2 and 4 GB RAM), so leave the memory size to zero and let the bootloader take care of it. The DWC2 is still usable as peripheral via the USB-C port. Other differences to the Raspberry Pi 3: - additional GIC 400 Interrupt controller - new thermal IP and HWRNG - additional MMC interface (emmc2) - additional UART, I2C, SPI and PWM interfaces - clock stretching bug in I2C IP has been fixed Signed-off-by: Stefan Wahren Acked-by: Eric Anholt --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 121 ++++ arch/arm/boot/dts/bcm2711.dtsi | 662 ++++++++++++++++++++++ arch/arm/boot/dts/bcm283x-rpi-usb-peripheral.dtsi | 7 + arch/arm/boot/dts/bcm283x.dtsi | 4 +- 5 files changed, 793 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/bcm2711-rpi-4-b.dts create mode 100644 arch/arm/boot/dts/bcm2711.dtsi create mode 100644 arch/arm/boot/dts/bcm283x-rpi-usb-peripheral.dtsi -- 2.7.4 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9159fa2..031ca32 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -83,6 +83,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ bcm2837-rpi-3-b.dtb \ bcm2837-rpi-3-b-plus.dtb \ bcm2837-rpi-cm3-io3.dtb \ + bcm2711-rpi-4-b.dtb \ bcm2835-rpi-zero.dtb \ bcm2835-rpi-zero-w.dtb dtb-$(CONFIG_ARCH_BCM_5301X) += \ diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts new file mode 100644 index 0000000..3825273 --- /dev/null +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -0,0 +1,121 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; +#include "bcm2711.dtsi" +#include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-usb-peripheral.dtsi" + +/ { + compatible = "raspberrypi,4-model-b", "brcm,bcm2711"; + model = "Raspberry Pi 4 Model B"; + + chosen { + /* 8250 auxiliary UART instead of pl011 */ + stdout-path = "serial1:115200n8"; + }; + + memory@0 { + device_type = "memory"; + reg = <0 0 0x00000000>; + }; + + leds { + act { + gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; + }; + + pwr { + label = "PWR"; + gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; + }; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; + }; + + sd_io_1v8_reg: sd_io_1v8_reg { + compatible = "regulator-gpio"; + regulator-name = "vdd-sd-io"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + regulator-settling-time-us = <5000>; + gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>; + states = <1800000 0x1 + 3300000 0x0>; + status = "okay"; + }; +}; + +&firmware { + expgpio: gpio { + compatible = "raspberrypi,firmware-gpio"; + gpio-controller; + #gpio-cells = <2>; + gpio-line-names = "BT_ON", + "WL_ON", + "PWR_LED_OFF", + "GLOBAL_RESET", + "VDD_SD_IO_SEL", + "CAM_GPIO", + "", + ""; + status = "okay"; + }; +}; + +&pwm1 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>; + status = "okay"; +}; + +/* SDHCI is used to control the SDIO for wireless */ +&sdhci { + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_gpio34>; + bus-width = <4>; + non-removable; + mmc-pwrseq = <&wifi_pwrseq>; + status = "okay"; + + brcmf: wifi@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + }; +}; + +/* EMMC2 is used to drive the SD card */ +&emmc2 { + vqmmc-supply = <&sd_io_1v8_reg>; + broken-cd; + status = "okay"; +}; + +/* uart0 communicates with the BT module */ +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>; + status = "okay"; + + bluetooth { + compatible = "brcm,bcm43438-bt"; + max-speed = <2000000>; + shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; + }; +}; + +/* uart1 is mapped to the pin header */ +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_gpio14>; + status = "okay"; +}; + +&vchiq { + interrupts = ; +}; diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi new file mode 100644 index 0000000..023ff27 --- /dev/null +++ b/arch/arm/boot/dts/bcm2711.dtsi @@ -0,0 +1,662 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "bcm283x.dtsi" + +#include +#include + +/ { + compatible = "brcm,bcm2711"; + + #address-cells = <2>; + #size-cells = <1>; + + interrupt-parent = <&gicv2>; + + soc { + ranges = <0x7e000000 0x0 0xfe000000 0x01800000>, + <0x7c000000 0x0 0xfc000000 0x02000000>, + <0x40000000 0x0 0xff800000 0x00800000>; + /* Emulate a contiguous 30-bit address range for DMA */ + dma-ranges = <0xc0000000 0x0 0x00000000 0x3c000000>; + + local_intc: local_intc@40000000 { + compatible = "brcm,bcm2836-l1-intc"; + reg = <0x40000000 0x100>; + }; + + gicv2: gic400@40041000 { + interrupt-controller; + #interrupt-cells = <3>; + compatible = "arm,gic-400"; + reg = <0x40041000 0x1000>, + <0x40042000 0x2000>, + <0x40044000 0x2000>, + <0x40046000 0x2000>; + interrupts = ; + }; + + dma: dma@7e007000 { + compatible = "brcm,bcm2835-dma"; + reg = <0x7e007000 0xb00>; + interrupts = , + , + , + , + , + , + , + /* DMA lite 7 - 10 */ + , + , + , + ; + interrupt-names = "dma0", + "dma1", + "dma2", + "dma3", + "dma4", + "dma5", + "dma6", + "dma7", + "dma8", + "dma9", + "dma10"; + #dma-cells = <1>; + brcm,dma-channel-mask = <0x07f5>; + }; + + pm: watchdog@7e100000 { + compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; + #power-domain-cells = <1>; + #reset-cells = <1>; + reg = <0x7e100000 0x114>, + <0x7e00a000 0x24>, + <0x7ec11000 0x20>; + clocks = <&clocks BCM2835_CLOCK_V3D>, + <&clocks BCM2835_CLOCK_PERI_IMAGE>, + <&clocks BCM2835_CLOCK_H264>, + <&clocks BCM2835_CLOCK_ISP>; + clock-names = "v3d", "peri_image", "h264", "isp"; + system-power-controller; + }; + + rng@7e104000 { + interrupts = ; + + /* RNG is incompatible to brcm,bcm2835-rng */ + status = "disabled"; + }; + + uart2: serial@7e201400 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x7e201400 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, + <&clocks BCM2835_CLOCK_VPU>; + clock-names = "uartclk", "apb_pclk"; + arm,primecell-periphid = <0x00241011>; + status = "disabled"; + }; + + uart3: serial@7e201600 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x7e201600 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, + <&clocks BCM2835_CLOCK_VPU>; + clock-names = "uartclk", "apb_pclk"; + arm,primecell-periphid = <0x00241011>; + status = "disabled"; + }; + + uart4: serial@7e201800 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x7e201800 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, + <&clocks BCM2835_CLOCK_VPU>; + clock-names = "uartclk", "apb_pclk"; + arm,primecell-periphid = <0x00241011>; + status = "disabled"; + }; + + uart5: serial@7e201a00 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x7e201a00 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_UART>, + <&clocks BCM2835_CLOCK_VPU>; + clock-names = "uartclk", "apb_pclk"; + arm,primecell-periphid = <0x00241011>; + status = "disabled"; + }; + + spi@7e204000 { + reg = <0x7e204000 0x0200>; + interrupts = ; + }; + + spi3: spi@7e204600 { + compatible = "brcm,bcm2835-spi"; + reg = <0x7e204600 0x0200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spi4: spi@7e204800 { + compatible = "brcm,bcm2835-spi"; + reg = <0x7e204800 0x0200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spi5: spi@7e204a00 { + compatible = "brcm,bcm2835-spi"; + reg = <0x7e204a00 0x0200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spi6: spi@7e204c00 { + compatible = "brcm,bcm2835-spi"; + reg = <0x7e204c00 0x0200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + i2c3: i2c@7e205600 { + compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; + reg = <0x7e205600 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + i2c4: i2c@7e205800 { + compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; + reg = <0x7e205800 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + i2c5: i2c@7e205a00 { + compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; + reg = <0x7e205a00 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + i2c6: i2c@7e205c00 { + compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; + reg = <0x7e205c00 0x200>; + interrupts = ; + clocks = <&clocks BCM2835_CLOCK_VPU>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + pwm1: pwm@7e20c800 { + compatible = "brcm,bcm2835-pwm"; + reg = <0x7e20c800 0x28>; + clocks = <&clocks BCM2835_CLOCK_PWM>; + assigned-clocks = <&clocks BCM2835_CLOCK_PWM>; + assigned-clock-rates = <10000000>; + #pwm-cells = <2>; + status = "disabled"; + }; + + emmc2: emmc2@7e340000 { + compatible = "brcm,bcm2711-emmc2"; + reg = <0x7e340000 0x100>; + interrupts = ; + clocks = <&clocks BCM2711_CLOCK_EMMC2>; + status = "disabled"; + }; + + hvs@7e400000 { + interrupts = ; + }; + }; + + arm-pmu { + compatible = "arm,cortex-a72-pmu", "arm,armv8-pmuv3"; + interrupts = , + , + , + ; + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + /* This only applies to the ARMv7 stub */ + arm,cpu-registers-not-fw-configured; + + /* The ARM cores doesn't enter deep enough states */ + always-on; + }; + + cpus: cpus { + #address-cells = <1>; + #size-cells = <0>; + enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <0>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x000000d8>; + }; + + cpu1: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <1>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x000000e0>; + }; + + cpu2: cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <2>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x000000e8>; + }; + + cpu3: cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a72"; + reg = <3>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x000000f0>; + }; + }; +}; + +&clk_osc { + clock-frequency = <54000000>; +}; + +&clocks { + compatible = "brcm,bcm2711-cprman"; +}; + +&cpu_thermal { + coefficients = <(-487) 410040>; +}; + +&dsi0 { + interrupts = ; +}; + +&dsi1 { + interrupts = ; +}; + +&gpio { + compatible = "brcm,bcm2711-gpio"; + interrupts = , + , + , + ; + + gpclk0_gpio49: gpclk0_gpio49 { + brcm,pins = <49>; + brcm,function = ; + brcm,pull = ; + }; + gpclk1_gpio50: gpclk1_gpio50 { + brcm,pins = <50>; + brcm,function = ; + brcm,pull = ; + }; + gpclk2_gpio51: gpclk2_gpio51 { + brcm,pins = <51>; + brcm,function = ; + brcm,pull = ; + }; + + i2c0_gpio46: i2c0_gpio46 { + brcm,pins = <46 47>; + brcm,function = ; + }; + i2c1_gpio46: i2c1_gpio46 { + brcm,pins = <46 47>; + brcm,function = ; + }; + i2c3_gpio2: i2c3_gpio2 { + brcm,pins = <2 3>; + brcm,function = ; + }; + i2c3_gpio4: i2c3_gpio4 { + brcm,pins = <4 5>; + brcm,function = ; + }; + i2c4_gpio6: i2c4_gpio6 { + brcm,pins = <6 7>; + brcm,function = ; + }; + i2c4_gpio8: i2c4_gpio8 { + brcm,pins = <8 9>; + brcm,function = ; + }; + i2c5_gpio10: i2c5_gpio10 { + brcm,pins = <10 11>; + brcm,function = ; + }; + i2c5_gpio12: i2c5_gpio12 { + brcm,pins = <12 13>; + brcm,function = ; + }; + i2c6_gpio0: i2c6_gpio0 { + brcm,pins = <0 1>; + brcm,function = ; + }; + i2c6_gpio22: i2c6_gpio22 { + brcm,pins = <22 23>; + brcm,function = ; + }; + i2c_slave_gpio8: i2c_slave_gpio8 { + brcm,pins = <8 9 10 11>; + brcm,function = ; + }; + + jtag_gpio48: jtag_gpio48 { + brcm,pins = <48 49 50 51 52 53>; + brcm,function = ; + }; + + mii_gpio28: mii_gpio28 { + brcm,pins = <28 29 30 31>; + brcm,function = ; + }; + mii_gpio36: mii_gpio36 { + brcm,pins = <36 37 38 39>; + brcm,function = ; + }; + + pcm_gpio50: pcm_gpio50 { + brcm,pins = <50 51 52 53>; + brcm,function = ; + }; + + pwm0_0_gpio12: pwm0_0_gpio12 { + brcm,pins = <12>; + brcm,function = ; + }; + pwm0_0_gpio18: pwm0_0_gpio18 { + brcm,pins = <18>; + brcm,function = ; + }; + pwm1_0_gpio40: pwm1_0_gpio40 { + brcm,pins = <40>; + brcm,function = ; + }; + pwm0_1_gpio13: pwm0_1_gpio13 { + brcm,pins = <13>; + brcm,function = ; + }; + pwm0_1_gpio19: pwm0_1_gpio19 { + brcm,pins = <19>; + brcm,function = ; + }; + pwm1_1_gpio41: pwm1_1_gpio41 { + brcm,pins = <41>; + brcm,function = ; + }; + pwm0_1_gpio45: pwm0_1_gpio45 { + brcm,pins = <45>; + brcm,function = ; + }; + pwm0_0_gpio52: pwm0_0_gpio52 { + brcm,pins = <52>; + brcm,function = ; + brcm,pull = ; + }; + pwm0_1_gpio53: pwm0_1_gpio53 { + brcm,pins = <53>; + brcm,function = ; + brcm,pull = ; + }; + + /* The following group consists of: + * RGMII_START_STOP + * RGMII_RX_OK + */ + rgmii_gpio35: rgmii_gpio35 { + brcm,pins = <35 36>; + brcm,function = ; + }; + rgmii_irq_gpio34: rgmii_irq_gpio34 { + brcm,pins = <34>; + brcm,function = ; + }; + rgmii_irq_gpio39: rgmii_irq_gpio39 { + brcm,pins = <39>; + brcm,function = ; + }; + rgmii_mdio_gpio28: rgmii_mdio_gpio28 { + brcm,pins = <28 29>; + brcm,function = ; + }; + rgmii_mdio_gpio37: rgmii_mdio_gpio37 { + brcm,pins = <37 38>; + brcm,function = ; + }; + + spi0_gpio46: spi0_gpio46 { + brcm,pins = <46 47 48 49>; + brcm,function = ; + }; + spi2_gpio46: spi2_gpio46 { + brcm,pins = <46 47 48 49 50>; + brcm,function = ; + }; + spi3_gpio0: spi3_gpio0 { + brcm,pins = <0 1 2 3>; + brcm,function = ; + }; + spi4_gpio4: spi4_gpio4 { + brcm,pins = <4 5 6 7>; + brcm,function = ; + }; + spi5_gpio12: spi5_gpio12 { + brcm,pins = <12 13 14 15>; + brcm,function = ; + }; + spi6_gpio18: spi6_gpio18 { + brcm,pins = <18 19 20 21>; + brcm,function = ; + }; + + uart2_gpio0: uart2_gpio0 { + pin-tx { + brcm,pins = <0>; + brcm,function = ; + brcm,pull = ; + }; + pin-rx { + brcm,pins = <1>; + brcm,function = ; + brcm,pull = ; + }; + }; + uart2_ctsrts_gpio2: uart2_ctsrts_gpio2 { + pin-cts { + brcm,pins = <2>; + brcm,function = ; + brcm,pull = ; + }; + pin-rts { + brcm,pins = <3>; + brcm,function = ; + brcm,pull = ; + }; + }; + uart3_gpio4: uart3_gpio4 { + pin-tx { + brcm,pins = <4>; + brcm,function = ; + brcm,pull = ; + }; + pin-rx { + brcm,pins = <5>; + brcm,function = ; + brcm,pull = ; + }; + }; + uart3_ctsrts_gpio6: uart3_ctsrts_gpio6 { + pin-cts { + brcm,pins = <6>; + brcm,function = ; + brcm,pull = ; + }; + pin-rts { + brcm,pins = <7>; + brcm,function = ; + brcm,pull = ; + }; + }; + uart4_gpio8: uart4_gpio8 { + pin-tx { + brcm,pins = <8>; + brcm,function = ; + brcm,pull = ; + }; + pin-rx { + brcm,pins = <9>; + brcm,function = ; + brcm,pull = ; + }; + }; + uart4_ctsrts_gpio10: uart4_ctsrts_gpio10 { + pin-cts { + brcm,pins = <10>; + brcm,function = ; + brcm,pull = ; + }; + pin-rts { + brcm,pins = <11>; + brcm,function = ; + brcm,pull = ; + }; + }; + uart5_gpio12: uart5_gpio12 { + pin-tx { + brcm,pins = <12>; + brcm,function = ; + brcm,pull = ; + }; + pin-rx { + brcm,pins = <13>; + brcm,function = ; + brcm,pull = ; + }; + }; + uart5_ctsrts_gpio14: uart5_ctsrts_gpio14 { + pin-cts { + brcm,pins = <14>; + brcm,function = ; + brcm,pull = ; + }; + pin-rts { + brcm,pins = <15>; + brcm,function = ; + brcm,pull = ; + }; + }; +}; + +&i2c0 { + compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; + interrupts = ; +}; + +&i2c1 { + compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; + interrupts = ; +}; + +&i2c2 { + compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c"; + interrupts = ; +}; + +&mailbox { + interrupts = ; +}; + +&sdhci { + interrupts = ; +}; + +&sdhost { + interrupts = ; +}; + +&spi1 { + interrupts = ; +}; + +&spi2 { + interrupts = ; +}; + +&system_timer { + interrupts = , + , + , + ; +}; + +&txp { + interrupts = ; +}; + +&uart0 { + interrupts = ; +}; + +&uart1 { + interrupts = ; +}; + +&usb { + interrupts = ; +}; + +&vec { + interrupts = ; +}; diff --git a/arch/arm/boot/dts/bcm283x-rpi-usb-peripheral.dtsi b/arch/arm/boot/dts/bcm283x-rpi-usb-peripheral.dtsi new file mode 100644 index 0000000..0ff0e9e --- /dev/null +++ b/arch/arm/boot/dts/bcm283x-rpi-usb-peripheral.dtsi @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0 +&usb { + dr_mode = "peripheral"; + g-rx-fifo-size = <256>; + g-np-tx-fifo-size = <32>; + g-tx-fifo-size = <256 256 512 512 512 768 768>; +}; diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi index cbc9422..5655ae4 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi @@ -53,7 +53,7 @@ #address-cells = <1>; #size-cells = <1>; - timer@7e003000 { + system_timer: timer@7e003000 { compatible = "brcm,bcm2835-system-timer"; reg = <0x7e003000 0x1000>; interrupts = <1 0>, <1 1>, <1 2>, <1 3>; @@ -64,7 +64,7 @@ clock-frequency = <1000000>; }; - txp@7e004000 { + txp: txp@7e004000 { compatible = "brcm,bcm2835-txp"; reg = <0x7e004000 0x20>; interrupts = <1 11>; From patchwork Tue Aug 13 16:20:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 11092617 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1C4A814D5 for ; Tue, 13 Aug 2019 16:21:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0CFAA2624D for ; Tue, 13 Aug 2019 16:21:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 00B70285C8; Tue, 13 Aug 2019 16:21:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E28472624D for ; Tue, 13 Aug 2019 16:21:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727942AbfHMQVX (ORCPT ); Tue, 13 Aug 2019 12:21:23 -0400 Received: from mout.gmx.net ([212.227.15.19]:58787 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728267AbfHMQVT (ORCPT ); Tue, 13 Aug 2019 12:21:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565713263; bh=mk1t8axBSu7Iis10B+6pFBh8hZLr+xH3FZwDc1byKUc=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=DlHq/dgfHdubCcFkek5nvmD+0IXDcWxMBesB/Jm8s/xZyl771PE757O/MWlJ6IuFZ ZIdL3Vgxm4ME4Kr7+hCLDFs5C4/ISLxawzLRKn3ck3qjI/ZwOPHO+7C1cshCiwo+FA ie1dCFmx9v+2gEHAof2Mk40hEX23TaqzHGFZsCko= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.106]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mr9Bk-1ibZFo47eA-00oGiA; Tue, 13 Aug 2019 18:21:03 +0200 From: Stefan Wahren To: Eric Anholt , Florian Fainelli , Ray Jui , Scott Branden , Wolfram Sang , Rob Herring , Mark Rutland , Michael Turquette , Stephen Boyd Cc: bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 13/13] MAINTAINERS: Add BCM2711 to BCM2835 ARCH Date: Tue, 13 Aug 2019 18:20:48 +0200 Message-Id: <1565713248-4906-14-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> References: <1565713248-4906-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:cayvR/uheIWNxYHm5e3pr7PKq9+WmnbRouCP3lNLUJCKQ3k6XG0 /WefPCwMSh9iL5GYsHo5zipRtHFrg/Y1etR0jeGC/jLrdXLKxpA3DomoG19bFJBzokBa8Eu pPTQdhQgLzzfaqmgAvjAhNxQxV3WaFRz5jwCJkvhn1VvTtjkoOFsTKrrcY3ZWvNfRwb6Rbx zB84wH6ALdi8C+jjW9K9A== X-UI-Out-Filterresults: notjunk:1;V03:K0:L0YbU3sLpSo=:OeI70LLcBh0CDJzTaHVBO1 tjhK+J5B193bRTAVTtYaooTH1xXMikebb4tDhlJrME1FusXgayqOVnST3vq1FNTVtBFaV02J6 pTJTCs8xKYjDdXoII0dBs0FpdQs/aI2zIRU5bdjLA422CV7+KMbeBBGzvkB5BkuoHxUZC/HSV Zd6fhYRY3lcItpE0dHAuoOWwnn+c9Faa4Xldm+9jGheU5/rwA8shxgiu6oCI/N7lBSUqmnYoG +n/YoGFfRCYc1MnQtQo4QWhoornVujNjol7Kn07h/iVzyEq2f1uUqdcFNw7JTirlBLwuXC0ON M++U0fiBdeEGzSK7Z5jDyeSBg8D+gMMYO+QT7RtuIHH0rGCiHfwzlOnnhxVIpZP+XbMfvYJq8 MDtePnsKPXXgaaWzi3jnMobp0WM8vKA63XHkBmRxpnQE7htAXnu7qsTjYYidSjdyiQP7FThxe m3sKVd9OAO+s1fflgK9xpZRUOl7f3lENJplPHe43fdcJ1Ob7+FswR3vhlR1sdSUwwcz3f4Jsx J0K3/3Ib3ztoxYAeu3XmZjhfpv7OAN9KzR3D4KILqSuYB1enhW1yBH+h5/p/7SEyzRLqEhuYm tvjmjkNjsiQC/jOQAJPDeNJF8DcP18FAcy8BT+DPXXyqHPaeMBpPVk/h1pd0+EWjpRrgbgtIA l2SwlqcL9gj/4TeNKRz1zYxLcudkBiyQB3yWfm3d0TSley+fhQNoHCHv4ew4UKHbwEh/FM1zw qoP+Or3ug6JpHNWGQ9jsWwTAgZd/e+cezTM4DoKBwzu2NyDG5JAO99FM0uS5wGmzdZ9vUkc65 inutHqbA5Pwk6/KT2ZAMoxEaW07bUPACc9DfUGhU+q2QL7mQECWdkKYPws8GILzoXuLQy0WnV NAawSGyo90BjtPlBgn0S8QUudCXqlu4KOKlUm2MKJUJYOjuH88jYCXMuz4j8o3+9YxZtFfuCD cIRjHxaE0LZIK7HANFmP5bBAMdP/fcZwiI07ph0oGLm1jsHLYH5i6b3IddruDg7VnkeH9eBGt 3NjDGEO0X86iBbZ/z6PgrH5M/fELSvUDZBb0UTjZ6pW7cFmV1od3lpIE5TRdBEe6h939+K4+s cDDLK9b4mLpFGGWF5pBrfK4GHevfUT4buYSv9Qhu2234td7+O8Wc1GOCw== Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Clarify that BCM2711 belongs to the BCM2835 ARCH. Signed-off-by: Stefan Wahren Acked-by: Eric Anholt --- MAINTAINERS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.7.4 diff --git a/MAINTAINERS b/MAINTAINERS index 6426db5..13c7c64 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3168,7 +3168,7 @@ N: bcm216* N: kona F: arch/arm/mach-bcm/ -BROADCOM BCM2835 ARM ARCHITECTURE +BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE M: Eric Anholt M: Stefan Wahren L: bcm-kernel-feedback-list@broadcom.com @@ -3176,6 +3176,7 @@ L: linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) T: git git://github.com/anholt/linux S: Maintained +N: bcm2711 N: bcm2835 F: drivers/staging/vc04_services