Received: by 2002:ab2:6a05:0:b0:1f8:1780:a4ed with SMTP id w5csp724414lqo; Fri, 10 May 2024 12:51:23 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWx0m9BMYAQJY2tq8J0ani3N73qqYg5L0a8Y/ixDzPGCZ0eY9I1CTw8j/fi0Zje7RVFnCp96+NqHaUWTndGDI1dD2BmFdLJWAaZnmaM2Q== X-Google-Smtp-Source: AGHT+IFNSlS0bsfNYq/aQ956jpc/SXmVP+O72IIrO+OxkJRmmJqrq4DBjySLIcX9j/RxV2P4LJpU X-Received: by 2002:a05:6e02:1a09:b0:36a:203e:6435 with SMTP id e9e14a558f8ab-36cc1501db3mr38631855ab.31.1715370683293; Fri, 10 May 2024 12:51:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715370683; cv=pass; d=google.com; s=arc-20160816; b=kgdk5tQtXSZd6ENmbdP5Cc68gDfbEl23/ctmy3RH7EK5h891LPB7TH57sIRC26gY+/ 1kRatXxV8favjn2fa5JsJcICPxZzpt3MGCOgWIKp2eaMjvc1YqJ7qA8NXe98U3kCi9YG BrMGc9ae4HDly7AZlJyJ1KLc2U8Jn2j0pFLwhN9zA/c+X8XYoHGeERVq9OqwwnVPPrY/ oMZyKLohTC+Kao48gzUGvhhhZ9BH0/8R87uqWTfrGMnHO9HC4VjOMOCO0WSBY5b9k/Pg Vt1PknH/ZQuSbI0KdyD5SolYIX+nIWUh37wFJ5xXBs5viwmmoDy0OCArlxdV/7SkHMVf 14yQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=ui-outboundreport:content-transfer-encoding:in-reply-to:from :content-language:references:to:subject:user-agent:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:date:message-id :dkim-signature; bh=XDCoIeuP6OBAz3vLkc/8yr7TOacQajXobnQ4DdJvzTo=; fh=KktzM6LXvkKF9SBQsRvQcTZ5UZW1UmtulO7tfnxcdaY=; b=wA+XGwJX9Ioxh0QOxqARU6nynQrJ0HrYxwj+d6XIHoImWziG+3Y1H/gJ0bfioJZZBL VBLSzTxTyJv2k3/2USMogldK8a+bJSzZ00+dsVgKfBpSBYgJ7Q7iBHsLsg+SCo3bbrXc EK6jckodSRqRQmYa6Xd0yy26SeKEYjPv/k4mjCyx4/Ln1LZI0JfRgFjiuTv3kd5DokbV 5asgK6NCVa/J/+tUFsKntm+28znfbgs1eeHtOqbYV+W88Y0ubLpk/H7G27LdrCwvWNgp H8l1Id6N8XvF5qCPkS/EH/FT35E5ACiv3VFWlaLqbGwdFrbnpASychWpf4Xnr8gmdI+I R42g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmx.net header.s=s31663417 header.b=QEwmwCmL; arc=pass (i=1 spf=pass spfdomain=gmx.net dkim=pass dkdomain=gmx.net dmarc=pass fromdomain=gmx.net); spf=pass (google.com: domain of linux-kernel+bounces-176147-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-176147-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=gmx.net Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id 41be03b00d2f7-6340b2a0b0bsi4823590a12.224.2024.05.10.12.51.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 May 2024 12:51:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-176147-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.net header.s=s31663417 header.b=QEwmwCmL; arc=pass (i=1 spf=pass spfdomain=gmx.net dkim=pass dkdomain=gmx.net dmarc=pass fromdomain=gmx.net); spf=pass (google.com: domain of linux-kernel+bounces-176147-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-176147-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=gmx.net Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id CA85C287A23 for ; Fri, 10 May 2024 19:43:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6031F4CB4E; Fri, 10 May 2024 19:43:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=wahrenst@gmx.net header.b="QEwmwCmL" Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 909E04317E; Fri, 10 May 2024 19:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.15 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715370229; cv=none; b=E4/F6Bspn1erR2nVnW/Kxal2AaRXF9ag6KBkFVvHIXRTO/bSnHyvjaMO6d05Ad2VsE2MQYwGZszse42Z93tAH5POwcECpFgsa36OQVO+zDa7ypq8JhJ6Z9GA+gttfj+tDTBfLkIS+4h3wm3WCFouJ4t9ItxtLhXWHYwzUTeZmOg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715370229; c=relaxed/simple; bh=Z6JR/YXHNRqELCeV0I6QeT5umPODWZn3kxBybMmeL5o=; h=Message-ID:Date:MIME-Version:Subject:To:References:From: In-Reply-To:Content-Type; b=b3NL5AbeNrqzWtQ09jBST2jttqqDyf8S91BxD72pevgp5yvAceL6+5BKtwXRaSuIh1Vzb8KpvXDxKU0i63LI4gPO7xLKWUYSc4IDwMlpWZHEAkhWe5APlMwJsYSAYmST3+I9f32cwYPdtMUAgI1MpKwkdVP1PjwuCJyhlbfoc9s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=wahrenst@gmx.net header.b=QEwmwCmL; arc=none smtp.client-ip=212.227.15.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1715370207; x=1715975007; i=wahrenst@gmx.net; bh=XDCoIeuP6OBAz3vLkc/8yr7TOacQajXobnQ4DdJvzTo=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=QEwmwCmLGfh50ZIixhoOHuHlHm3xgHml+C1//s3YRUTc95Af1C/AflKkxfU3eyij YtxA8yNCG3mtxiJDLTEIcDFGWV7Ch7Z4Z34eo5Eqb8mrAjAndNgpQ0yjnarw3seIN 1Lvu8XaAIa1DWp7Fsm7Lv4SRfGgSrztJnACtF15XTztUeppX6nkBGpgbImLrRfO3X pWeA6Nr2IGuC/x6sC/m5JHRTAB0jtt9POpV+gfIjMSH4vBDrNxiqLqdRrnH4zu1S/ OlaiFCvJaFUvTbl7OiysMB+yAFBnpk2puroIMjZ/ZgxJkiDo5bC8w0sxbD1YvMGC5 PROQC5/tqHC9mUxQ+w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.1.126] ([37.4.248.43]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N33Il-1skWKB3gI1-0103nS; Fri, 10 May 2024 21:43:26 +0200 Message-ID: <6199ca74-772a-41ed-a1b7-a86c1ed6cba5@gmx.net> Date: Fri, 10 May 2024 21:43:23 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 4/4] arm64: dts: broadcom: Add support for BCM2712 To: Andrea della Porta , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Ulf Hansson , Adrian Hunter , Kamal Dasu , Al Cooper , Eric Anholt , devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org References: <59a3015c3a6f2f0b70a38c030274a163773e7757.1715332922.git.andrea.porta@suse.com> Content-Language: en-US From: Stefan Wahren In-Reply-To: <59a3015c3a6f2f0b70a38c030274a163773e7757.1715332922.git.andrea.porta@suse.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:XjPWSbwk96CQpLbORvk9j0w7gFWu3/wPSq4fUVVQt4sTSkzko3l MbDNzJ55XX/EKq0zhr7D6Ie0I7C9bnFuyMw6pAdCukghuBvRNj0SmHua/37eEN6sZdQcoeu ThV6yFWhNefLdlXhzmdKD6F0JcAbLRm23M9Z1yOaxj40YQgnQ17JEowljImVVGjylArtMvL kKbTdPkd4PlaMbQ7/lbrg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:xiWQUMp0tVw=;koqFzweo7xISxav+8dY1eYyxtbT gWhF1v4fFU+lS5ur0PhTsYAtizUSJvSZM4ZIm3hjSDtTywNWgiDk7rlwHwS7hvUUxqP16dCO2 UKLraL5aFKA3ClnuSkNrwI8YOEu3DFvwvhaAZk5SmX/ZKWS+d4+f2ppUvLy7smaNvjcWoSqln w6D6vIzc6wdPVKxDenyfDdI2TNNe+YTpXcXQfnFbVXFAfl8xW9NjmIwAdhifD3jcvbRK8ta1U pcGX2kWC7X7N/PJFhg2vWDW/A4XUdTWXHLiFo0qpOc/Ql3GWXbfEThJKhM5TDdEUP+vFjmXRS p64Gqunk0ibr8+MJ6IvsslflT9nD74p+sITjM+ZRGOQJ1sQv/e28W0nhfUF+anke/E/Di3JL4 f8cntYukErQ2zchD4LBp4gAtRW1KpJ4Llx9sN62q1jBs7ny+VC+J85OOU2IvKeokPGN7twjHM QzAZmoG/d0gAnmLOtmuPz1rzwqDDrYCpQIo8ciILJwIiovtFVcuG71mTP0Aj+v5A8hDURGauZ ChVCEvnlXkmdgZaaNbffGT6Ka8iQ4cISAtzS2e9NL8Nk2ce4B89+ldCIEgiFhbdDgxdl7e41t THnKiX1UYdvgJENFV1fFrEUowk3Hkrxu262fX9ugMnbD/zp0pGd/KL8ROYZQ7TQmnOZtKECvh Rn/H0hDvzZA39BF/kpoaTcJbeh+Z89PPHQRar+pZpBaJZCGUhOzUXz1Pkqi0DzsvSx90KSOgk u7n2asfUbOmoo97mZTosRucwfkotHjJLWJFEnEZD8qZ49Dkqhi8QHHfBtbATyX3U1iifZzoiS GGEu6NTEaBim28xEd9vE43cmw8wHOLmbPTwX1T0QegBrc= Hi Andrea, Am 10.05.24 um 16:35 schrieb Andrea della Porta: > The BCM2712 SoC family can be found on Raspberry Pi 5. > Add minimal SoC and board (Rpi5 specific) dts file to be able to > boot from SD card and use console on debug UART. > > Signed-off-by: Andrea della Porta > --- > arch/arm64/boot/dts/broadcom/Makefile | 1 + > .../boot/dts/broadcom/bcm2712-rpi-5-b.dts | 62 ++++ > arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 302 ++++++++++++++++++ > 3 files changed, 365 insertions(+) > create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts > create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712.dtsi > > diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts= /broadcom/Makefile > index 8b4591ddd27c..92565e9781ad 100644 > --- a/arch/arm64/boot/dts/broadcom/Makefile > +++ b/arch/arm64/boot/dts/broadcom/Makefile > @@ -6,6 +6,7 @@ DTC_FLAGS :=3D -@ > dtb-$(CONFIG_ARCH_BCM2835) +=3D bcm2711-rpi-400.dtb \ > bcm2711-rpi-4-b.dtb \ > bcm2711-rpi-cm4-io.dtb \ > + bcm2712-rpi-5-b.dtb \ > bcm2837-rpi-3-a-plus.dtb \ > bcm2837-rpi-3-b.dtb \ > bcm2837-rpi-3-b-plus.dtb \ > diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm= 64/boot/dts/broadcom/bcm2712-rpi-5-b.dts > new file mode 100644 > index 000000000000..b5921437e09f > --- /dev/null > +++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts > @@ -0,0 +1,62 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/dts-v1/; > + > +#include > +#include "bcm2712.dtsi" > + > +/ { > + compatible =3D "raspberrypi,5-model-b", "brcm,bcm2712"; > + model =3D "Raspberry Pi 5"; > + > + aliases { > + serial10 =3D &uart0; > + }; > + > + chosen: chosen { > + stdout-path =3D "serial10:115200n8"; > + }; > + > + /* Will be filled by the bootloader */ > + memory@0 { > + device_type =3D "memory"; > + reg =3D <0 0 0x28000000>; > + }; > + > + sd_io_1v8_reg: sd-io-1v8-reg { > + compatible =3D "regulator-gpio"; > + regulator-name =3D "vdd-sd-io"; > + regulator-min-microvolt =3D <1800000>; > + regulator-max-microvolt =3D <3300000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-settling-time-us =3D <5000>; > + gpios =3D <&gio_aon 3 GPIO_ACTIVE_HIGH>; > + states =3D <1800000 0x1>, > + <3300000 0x0>; > + }; > + > + sd_vcc_reg: sd-vcc-reg { > + compatible =3D "regulator-fixed"; > + regulator-name =3D "vcc-sd"; > + regulator-min-microvolt =3D <3300000>; > + regulator-max-microvolt =3D <3300000>; > + regulator-boot-on; > + enable-active-high; > + gpios =3D <&gio_aon 4 GPIO_ACTIVE_HIGH>; > + }; > +}; > + > +/* The system UART */ Not sure this comment is helpful. Debug UART? > +&uart0 { > + status =3D "okay"; > +}; > + > +/* SDIO1 is used to drive the SD card */ > +&sdio1 { > + vqmmc-supply =3D <&sd_io_1v8_reg>; > + vmmc-supply =3D <&sd_vcc_reg>; > + bus-width =3D <4>; > + sd-uhs-sdr50; > + sd-uhs-ddr50; > + sd-uhs-sdr104; > +}; > diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot= /dts/broadcom/bcm2712.dtsi > new file mode 100644 > index 000000000000..398df13148bd > --- /dev/null > +++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi > @@ -0,0 +1,302 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include > + > +/ { > + compatible =3D "brcm,bcm2712"; > + > + #address-cells =3D <2>; > + #size-cells =3D <1>; > + > + interrupt-parent =3D <&gicv2>; > + > + axi: axi { > + compatible =3D "simple-bus"; > + #address-cells =3D <2>; > + #size-cells =3D <1>; > + ranges; > + > + sdio1: mmc@1000fff000 { > + compatible =3D "brcm,bcm2712-sdhci", > + "brcm,sdhci-brcmstb"; > + reg =3D <0x10 0x00fff000 0x260>, > + <0x10 0x00fff400 0x200>; > + reg-names =3D "host", "cfg"; > + interrupts =3D ; > + clocks =3D <&clk_emmc2>; > + clock-names =3D "sw_sdio"; > + mmc-ddr-3_3v; > + }; > + > + gicv2: interrupt-controller@107fff9000 { > + interrupt-controller; > + #interrupt-cells =3D <3>; > + compatible =3D "arm,gic-400"; > + reg =3D <0x10 0x7fff9000 0x1000>, > + <0x10 0x7fffa000 0x2000>, > + <0x10 0x7fffc000 0x2000>, > + <0x10 0x7fffe000 0x2000>; > + interrupts =3D + IRQ_TYPE_LEVEL_HIGH)>; Please take care of the DTS coding style [1]. > + }; > + }; > + > + clocks { > + /* The oscillator is the root of the clock tree. */ > + clk_osc: clk-osc { > + compatible =3D "fixed-clock"; > + #clock-cells =3D <0>; > + clock-output-names =3D "osc"; > + clock-frequency =3D <54000000>; > + }; > + > + clk_vpu: clk-vpu { > + #clock-cells =3D <0>; > + compatible =3D "fixed-clock"; > + clock-frequency =3D <750000000>; > + clock-output-names =3D "vpu-clock"; > + }; > + > + clk_uart: clk-uart { > + #clock-cells =3D <0>; > + compatible =3D "fixed-clock"; > + clock-frequency =3D <9216000>; > + clock-output-names =3D "uart-clock"; > + }; > + > + clk_emmc2: clk-emmc2 { > + #clock-cells =3D <0>; > + compatible =3D "fixed-clock"; > + clock-frequency =3D <200000000>; > + clock-output-names =3D "emmc2-clock"; > + }; > + }; > + > + cpus: cpus { > + #address-cells =3D <1>; > + #size-cells =3D <0>; > + > + /* Source for d/i cache-line-size, cache-sets, cache-size > + * https://developer.arm.com/documentation/100798/0401 > + * /L1-memory-system/About-the-L1-memory-system?lang=3Den I think we should try to keep URLs in one line, even checkpatch complains about it. [1] - https://docs.kernel.org/devicetree/bindings/dts-coding-style.html