71893eb
From patchwork Wed Mar  4 13:24:37 2020
71893eb
Content-Type: text/plain; charset="utf-8"
71893eb
MIME-Version: 1.0
71893eb
Content-Transfer-Encoding: 7bit
71893eb
X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
71893eb
X-Patchwork-Id: 11420129
71893eb
Return-Path: 
71893eb
 <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
71893eb
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
71893eb
 [172.30.200.123])
71893eb
	by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6D01139A
71893eb
	for <patchwork-linux-arm@patchwork.kernel.org>;
71893eb
 Wed,  4 Mar 2020 13:24:52 +0000 (UTC)
71893eb
Received: from bombadil.infradead.org (bombadil.infradead.org
71893eb
 [198.137.202.133])
71893eb
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
71893eb
	(No client certificate requested)
71893eb
	by mail.kernel.org (Postfix) with ESMTPS id 8EA4C20848
71893eb
	for <patchwork-linux-arm@patchwork.kernel.org>;
71893eb
 Wed,  4 Mar 2020 13:24:52 +0000 (UTC)
71893eb
Authentication-Results: mail.kernel.org;
71893eb
	dkim=pass (2048-bit key) header.d=lists.infradead.org
71893eb
 header.i=@lists.infradead.org header.b="rVot4hOX"
71893eb
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EA4C20848
71893eb
Authentication-Results: mail.kernel.org;
71893eb
 dmarc=none (p=none dis=none) header.from=suse.de
71893eb
Authentication-Results: mail.kernel.org;
71893eb
 spf=none
71893eb
 smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
71893eb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
71893eb
	d=lists.infradead.org; s=bombadil.20170209; h=Sender:
71893eb
	Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
71893eb
	List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
71893eb
	:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
71893eb
	Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
71893eb
	List-Owner; bh=8vOVvuwuEiZ/+aeWTFI6G54jitKev/MSiGHvL/NuYpM=; b=rVot4hOXzlJULi
71893eb
	AIV0tWo7xq5srSJPr0aW3ccsKyfTNsVGmB0Y4G8A2Wqd+29xOVNJGk9jIAaRqBaAEGozzfFQj8JuQ
71893eb
	YRKsDyKXSMgpM5EHFtlq7TSvY21pe6uHhTkMCYnhLdZu7BrX9V2BLfnG7b7kx+wVgh2SDk5Tu8iJI
71893eb
	3vNkR22Qd4bIZAMQVwr97BN6IasYg2C9Q1hACZKKYVTxOvCw1MDDfedhRK9IxgZXV8eacZco5TlC+
71893eb
	3FlBQSP6dxBhpgAZ2VSD8k94TZe8Vnj1HMmja4MShu5hUOaBMzV/cvTA0y9OFseFvzL3YES1oyPzk
71893eb
	vPYT4iiUYIWQEEsfDJoA==;
71893eb
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
71893eb
	by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
71893eb
	id 1j9U10-0004Kq-KB; Wed, 04 Mar 2020 13:24:46 +0000
71893eb
Received: from mx2.suse.de ([195.135.220.15])
71893eb
 by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
71893eb
 id 1j9U0x-0004KG-Lg; Wed, 04 Mar 2020 13:24:45 +0000
71893eb
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
71893eb
Received: from relay2.suse.de (unknown [195.135.220.254])
71893eb
 by mx2.suse.de (Postfix) with ESMTP id 28610AAC7;
71893eb
 Wed,  4 Mar 2020 13:24:42 +0000 (UTC)
71893eb
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
71893eb
To: Rob Herring <robh+dt@kernel.org>,
71893eb
 Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
71893eb
Subject: [PATCH v2] ARM: dts: bcm2711: Move emmc2 into its own bus
71893eb
Date: Wed,  4 Mar 2020 14:24:37 +0100
71893eb
Message-Id: <20200304132437.20164-1-nsaenzjulienne@suse.de>
71893eb
X-Mailer: git-send-email 2.25.1
71893eb
MIME-Version: 1.0
71893eb
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 
71893eb
X-CRM114-CacheID: sfid-20200304_052443_860022_0913505C 
71893eb
X-CRM114-Status: GOOD (  14.37  )
71893eb
X-Spam-Score: -2.3 (--)
71893eb
X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
71893eb
 Content analysis details:   (-2.3 points)
71893eb
 pts rule name              description
71893eb
 ---- ----------------------
71893eb
 --------------------------------------------------
71893eb
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
71893eb
 medium trust [195.135.220.15 listed in list.dnswl.org]
71893eb
 -0.0 SPF_PASS               SPF: sender matches SPF record
71893eb
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
71893eb
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
71893eb
 [195.135.220.15 listed in wl.mailspike.net]
71893eb
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
71893eb
X-BeenThere: linux-arm-kernel@lists.infradead.org
71893eb
X-Mailman-Version: 2.1.29
71893eb
Precedence: list
71893eb
List-Id: <linux-arm-kernel.lists.infradead.org>
71893eb
List-Unsubscribe: 
71893eb
 <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
71893eb
 <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
71893eb
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
71893eb
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
71893eb
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
71893eb
List-Subscribe: 
71893eb
 <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
71893eb
 <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
71893eb
Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, phil@raspberrypi.org,
71893eb
 linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
71893eb
 linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
71893eb
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
71893eb
Errors-To: 
71893eb
 linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
71893eb
71893eb
Depending on bcm2711's revision its emmc2 controller might have
71893eb
different DMA constraints. Raspberry Pi 4's firmware will take care of
71893eb
updating those, but only if a certain alias is found in the device tree.
71893eb
So, move emmc2 into its own bus, so as not to pollute other devices with
71893eb
dma-ranges changes and create the emmc2bus alias.
71893eb
71893eb
Based in Phil ELwell's downstream implementation.
71893eb
71893eb
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
71893eb
---
71893eb
71893eb
Changes since v1:
71893eb
 - Add comment in dt
71893eb
 - Fix commit title
71893eb
71893eb
 arch/arm/boot/dts/bcm2711-rpi-4-b.dts |  1 +
71893eb
 arch/arm/boot/dts/bcm2711.dtsi        | 25 ++++++++++++++++++++-----
71893eb
 2 files changed, 21 insertions(+), 5 deletions(-)
71893eb
71893eb
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
71893eb
index 1d4b589fe233..e26ea9006378 100644
71893eb
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
71893eb
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
71893eb
@@ -20,6 +20,7 @@ memory@0 {
71893eb
 	};
71893eb
 
71893eb
 	aliases {
71893eb
+		emmc2bus = &emmc2bus;
71893eb
 		ethernet0 = &genet;
71893eb
 		pcie0 = &pcie0;
71893eb
 	};
71893eb
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
71893eb
index d1e684d0acfd..a91cf68e3c4c 100644
71893eb
--- a/arch/arm/boot/dts/bcm2711.dtsi
71893eb
+++ b/arch/arm/boot/dts/bcm2711.dtsi
71893eb
@@ -241,17 +241,32 @@ pwm1: pwm@7e20c800 {
71893eb
 			status = "disabled";
71893eb
 		};
71893eb
 
71893eb
+		hvs@7e400000 {
71893eb
+			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
71893eb
+		};
71893eb
+	};
71893eb
+
71893eb
+	/*
71893eb
+	 * emmc2 has different DMA constraints based on SoC revisions. It was
71893eb
+	 * moved into its own bus, so as for RPi4's firmware to update them.
71893eb
+	 * The firmware will find whether the emmc2bus alias is defined, and if
71893eb
+	 * so, it'll edit the dma-ranges property below accordingly.
71893eb
+	 */
71893eb
+	emmc2bus: emmc2bus {
71893eb
+		compatible = "simple-bus";
71893eb
+		#address-cells = <2>;
71893eb
+		#size-cells = <1>;
71893eb
+
71893eb
+		ranges = <0x0 0x7e000000  0x0 0xfe000000  0x01800000>;
71893eb
+		dma-ranges = <0x0 0xc0000000  0x0 0x00000000  0x40000000>;
71893eb
+
71893eb
 		emmc2: emmc2@7e340000 {
71893eb
 			compatible = "brcm,bcm2711-emmc2";
71893eb
-			reg = <0x7e340000 0x100>;
71893eb
+			reg = <0x0 0x7e340000 0x100>;
71893eb
 			interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
71893eb
 			clocks = <&clocks BCM2711_CLOCK_EMMC2>;
71893eb
 			status = "disabled";
71893eb
 		};
71893eb
-
71893eb
-		hvs@7e400000 {
71893eb
-			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
71893eb
-		};
71893eb
 	};
71893eb
 
71893eb
 	arm-pmu {