1911 lines
80 KiB
Diff
1911 lines
80 KiB
Diff
From patchwork Mon Dec 18 21:03:35 2023
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
X-Patchwork-Id: 1877649
|
|
X-Patchwork-Delegate: pbrobinson@gmail.com
|
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
X-Original-To: incoming@patchwork.ozlabs.org
|
|
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256
|
|
header.s=susede2_rsa header.b=frMNX+46;
|
|
dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=IseK5QVE;
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.a=rsa-sha256 header.s=susede2_rsa header.b=1pz5pvm/;
|
|
dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=fIckdee4;
|
|
dkim-atps=neutral
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
|
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
|
|
Received: from phobos.denx.de (phobos.denx.de
|
|
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
|
|
(No client certificate requested)
|
|
by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC455lk9z1ydc
|
|
for <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 08:04:05 +1100 (AEDT)
|
|
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
by phobos.denx.de (Postfix) with ESMTP id 92DDD8753C;
|
|
Mon, 18 Dec 2023 22:03:54 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de;
|
|
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
Authentication-Results: phobos.denx.de;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.b="frMNX+46";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="IseK5QVE";
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="1pz5pvm/";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="fIckdee4";
|
|
dkim-atps=neutral
|
|
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
id 95A7F87525; Mon, 18 Dec 2023 22:03:53 +0100 (CET)
|
|
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
X-Spam-Level:
|
|
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
|
T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no
|
|
version=3.4.2
|
|
Received: from smtp-out1.suse.de (smtp-out1.suse.de
|
|
[IPv6:2a07:de40:b251:101:10:150:64:1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by phobos.denx.de (Postfix) with ESMTPS id 0B37B87530
|
|
for <u-boot@lists.denx.de>; Mon, 18 Dec 2023 22:03:51 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de
|
|
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
|
|
[10.150.64.97])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by smtp-out1.suse.de (Postfix) with ESMTPS id 6EE4F2228D;
|
|
Mon, 18 Dec 2023 21:03:49 +0000 (UTC)
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=;
|
|
b=frMNX+46FgFSdyN24UT7Y4WdFDJKcOxcjH0HyyTrZsMcayuXoLtERkmRllSmLu8aRAoWOI
|
|
dzM9aX7eK9EHwuozUVijinsJ6wKpvqwxEx0Kdnj3wKPjAS3KTXGwfYiuZeO5wmbGRytEXd
|
|
p252vWhSG5L4UgaWil84yA4iM0KqiPs=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=;
|
|
b=IseK5QVEh+KCaimaGVOvt6lv9A9n/uQ/xO6kky5hugt4tubeSnhwGXuCjHTIEZhYi9auSr
|
|
Q6h6Mb/o4bd7u1CQ==
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933429;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=;
|
|
b=1pz5pvm/SI3fxjKAlUcM+pRnK+NKLVbl/0Kj+UUQ/R29Irq4CDjfgTyaU0/DIXgn3x7Ttl
|
|
2U7+per0J38TYiYHjQSDlrdPq4CwSFX2IEFS6sA5jx41ySG3RgO51Hh5GXKFh/WDUjcsn6
|
|
ZPLcQCP31JjxHhULkzjaYLVYE2rQuXE=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933429;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=;
|
|
b=fIckdee4Yc6Iut7CdcyZnDHxDW58F+dY46W7JLg6y7iXnfDkSc0DETyb97S3ngS7GdF3OQ
|
|
HPy/QFdHWA8p8cBw==
|
|
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D359F13C92;
|
|
Mon, 18 Dec 2023 21:03:48 +0000 (UTC)
|
|
Received: from dovecot-director2.suse.de ([10.150.64.162])
|
|
by imap1.dmz-prg2.suse.org with ESMTPSA id 4CUUMbSzgGUtZAAAD6G6ig
|
|
(envelope-from <iivanov@suse.de>); Mon, 18 Dec 2023 21:03:48 +0000
|
|
From: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
To: Matthias Brugger <mbrugger@suse.com>,
|
|
Peter Robinson <pbrobinson@gmail.com>
|
|
Cc: Dmitry Malkin <dmitry@bedrocksystems.com>,
|
|
Thomas Fitzsimmons <fitzsim@fitzsim.org>, Peng Fan <peng.fan@nxp.com>,
|
|
Jaehoon Chung <jh80.chung@samsung.com>, Anatolij Gustschin <agust@denx.de>,
|
|
wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de,
|
|
"Ivan T . Ivanov" <iivanov@suse.de>
|
|
Subject: [PATCH v3 1/7] rpi5: add initial memory map for bcm2712
|
|
Date: Mon, 18 Dec 2023 23:03:35 +0200
|
|
Message-ID: <20231218210341.30073-2-iivanov@suse.de>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20231218210341.30073-1-iivanov@suse.de>
|
|
References: <20231218210341.30073-1-iivanov@suse.de>
|
|
MIME-Version: 1.0
|
|
Authentication-Results: smtp-out1.suse.de;
|
|
none
|
|
X-Spamd-Result: default: False [0.70 / 50.00]; ARC_NA(0.00)[];
|
|
RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[];
|
|
TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net];
|
|
R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain];
|
|
TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[];
|
|
NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[3];
|
|
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
NEURAL_HAM_SHORT(-0.20)[-1.000]; RCPT_COUNT_SEVEN(0.00)[11];
|
|
MID_CONTAINS_FROM(1.00)[];
|
|
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,bedrocksystems.com:email];
|
|
FREEMAIL_TO(0.00)[suse.com,gmail.com];
|
|
FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[];
|
|
MIME_TRACE(0.00)[0:+];
|
|
FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de];
|
|
RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%]
|
|
X-BeenThere: u-boot@lists.denx.de
|
|
X-Mailman-Version: 2.1.39
|
|
Precedence: list
|
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
List-Post: <mailto:u-boot@lists.denx.de>
|
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
Errors-To: u-boot-bounces@lists.denx.de
|
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
|
|
X-Virus-Status: Clean
|
|
|
|
From: Dmitry Malkin <dmitry@bedrocksystems.com>
|
|
|
|
includes:
|
|
* 1GB of RAM (from 4GB or 8GB total)
|
|
* VPU memory interface
|
|
* AXI ranges (main peripherals)
|
|
|
|
Signed-off-by: Dmitry Malkin <dmitry@bedrocksystems.com>
|
|
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
---
|
|
arch/arm/mach-bcm283x/init.c | 38 +++++++++++++++++++++++++++++++++++-
|
|
1 file changed, 37 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c
|
|
index 7265faf6ce..af23b9711a 100644
|
|
--- a/arch/arm/mach-bcm283x/init.c
|
|
+++ b/arch/arm/mach-bcm283x/init.c
|
|
@@ -19,7 +19,7 @@
|
|
#ifdef CONFIG_ARM64
|
|
#include <asm/armv8/mmu.h>
|
|
|
|
-#define MEM_MAP_MAX_ENTRIES (4)
|
|
+#define MEM_MAP_MAX_ENTRIES (5)
|
|
|
|
static struct mm_region bcm283x_mem_map[MEM_MAP_MAX_ENTRIES] = {
|
|
{
|
|
@@ -68,6 +68,41 @@ static struct mm_region bcm2711_mem_map[MEM_MAP_MAX_ENTRIES] = {
|
|
}
|
|
};
|
|
|
|
+static struct mm_region bcm2712_mem_map[MEM_MAP_MAX_ENTRIES] = {
|
|
+ {
|
|
+ .virt = 0x00000000UL,
|
|
+ .phys = 0x00000000UL,
|
|
+ .size = 0x3f800000UL,
|
|
+ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
|
+ PTE_BLOCK_INNER_SHARE
|
|
+ }, {
|
|
+ .virt = 0x3f800000UL,
|
|
+ .phys = 0x3f800000UL,
|
|
+ .size = 0x00800000UL,
|
|
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
|
+ PTE_BLOCK_NON_SHARE |
|
|
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
|
+ }, {
|
|
+ /* Beginning of AXI bus where uSD controller lives */
|
|
+ .virt = 0x1000000000UL,
|
|
+ .phys = 0x1000000000UL,
|
|
+ .size = 0x0002000000UL,
|
|
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
|
+ PTE_BLOCK_NON_SHARE |
|
|
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
|
+ }, {
|
|
+ .virt = 0x107c000000UL,
|
|
+ .phys = 0x107c000000UL,
|
|
+ .size = 0x0004000000UL,
|
|
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
|
+ PTE_BLOCK_NON_SHARE |
|
|
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
|
+ }, {
|
|
+ /* List terminator */
|
|
+ 0,
|
|
+ }
|
|
+};
|
|
+
|
|
struct mm_region *mem_map = bcm283x_mem_map;
|
|
|
|
/*
|
|
@@ -78,6 +113,7 @@ static const struct udevice_id board_ids[] = {
|
|
{ .compatible = "brcm,bcm2837", .data = (ulong)&bcm283x_mem_map},
|
|
{ .compatible = "brcm,bcm2838", .data = (ulong)&bcm2711_mem_map},
|
|
{ .compatible = "brcm,bcm2711", .data = (ulong)&bcm2711_mem_map},
|
|
+ { .compatible = "brcm,bcm2712", .data = (ulong)&bcm2712_mem_map},
|
|
{ },
|
|
};
|
|
|
|
|
|
From patchwork Mon Dec 18 21:03:36 2023
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
X-Patchwork-Id: 1877650
|
|
X-Patchwork-Delegate: pbrobinson@gmail.com
|
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
X-Original-To: incoming@patchwork.ozlabs.org
|
|
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256
|
|
header.s=susede2_rsa header.b=v1KGWKJg;
|
|
dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=fFiq02vw;
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.a=rsa-sha256 header.s=susede2_rsa header.b=v1KGWKJg;
|
|
dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=fFiq02vw;
|
|
dkim-atps=neutral
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
|
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
|
|
Received: from phobos.denx.de (phobos.denx.de
|
|
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature ECDSA (secp384r1))
|
|
(No client certificate requested)
|
|
by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4H2hzjz1ydc
|
|
for <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 08:04:15 +1100 (AEDT)
|
|
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
by phobos.denx.de (Postfix) with ESMTP id C85A08758C;
|
|
Mon, 18 Dec 2023 22:03:57 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de;
|
|
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
Authentication-Results: phobos.denx.de;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.b="v1KGWKJg";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="fFiq02vw";
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="v1KGWKJg";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="fFiq02vw";
|
|
dkim-atps=neutral
|
|
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
id 6F50F87530; Mon, 18 Dec 2023 22:03:54 +0100 (CET)
|
|
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
X-Spam-Level:
|
|
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
|
T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no
|
|
version=3.4.2
|
|
Received: from smtp-out2.suse.de (smtp-out2.suse.de
|
|
[IPv6:2a07:de40:b251:101:10:150:64:2])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by phobos.denx.de (Postfix) with ESMTPS id 199488753C
|
|
for <u-boot@lists.denx.de>; Mon, 18 Dec 2023 22:03:51 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de
|
|
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
|
|
[10.150.64.97])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by smtp-out2.suse.de (Postfix) with ESMTPS id 1AC1A1F46E;
|
|
Mon, 18 Dec 2023 21:03:50 +0000 (UTC)
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=;
|
|
b=v1KGWKJgJttai7C79qIEMd/XpNIgzFqndAnylh2LCSBCYnAQmHcbTcoqWFl1mbR0bCIJ2B
|
|
nnbHB6CW+/Ja2oUD0wavAmzqzhQ+ANsN8FLZ+RC4p4W0fnMs6Yz9lMDf8ozKecEdna61Q6
|
|
2SnPjyXAogWLFBBDalRvdzUIOIWe3Tc=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=;
|
|
b=fFiq02vw2EIwrIbp2ltl5amzeQZi9NS1k/nH07K65OVAZc8eRyKu/vHbdjX58887t//OZ/
|
|
6LuVBS0afgkEbWCg==
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=;
|
|
b=v1KGWKJgJttai7C79qIEMd/XpNIgzFqndAnylh2LCSBCYnAQmHcbTcoqWFl1mbR0bCIJ2B
|
|
nnbHB6CW+/Ja2oUD0wavAmzqzhQ+ANsN8FLZ+RC4p4W0fnMs6Yz9lMDf8ozKecEdna61Q6
|
|
2SnPjyXAogWLFBBDalRvdzUIOIWe3Tc=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=;
|
|
b=fFiq02vw2EIwrIbp2ltl5amzeQZi9NS1k/nH07K65OVAZc8eRyKu/vHbdjX58887t//OZ/
|
|
6LuVBS0afgkEbWCg==
|
|
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 7FCBC133E5;
|
|
Mon, 18 Dec 2023 21:03:49 +0000 (UTC)
|
|
Received: from dovecot-director2.suse.de ([10.150.64.162])
|
|
by imap1.dmz-prg2.suse.org with ESMTPSA id AH+lHLWzgGUtZAAAD6G6ig
|
|
(envelope-from <iivanov@suse.de>); Mon, 18 Dec 2023 21:03:49 +0000
|
|
From: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
To: Matthias Brugger <mbrugger@suse.com>,
|
|
Peter Robinson <pbrobinson@gmail.com>
|
|
Cc: Dmitry Malkin <dmitry@bedrocksystems.com>,
|
|
Thomas Fitzsimmons <fitzsim@fitzsim.org>, Peng Fan <peng.fan@nxp.com>,
|
|
Jaehoon Chung <jh80.chung@samsung.com>, Anatolij Gustschin <agust@denx.de>,
|
|
wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de,
|
|
"Ivan T . Ivanov" <iivanov@suse.de>
|
|
Subject: [PATCH v3 2/7] rpi5: Use devicetree as alternative way to read IO
|
|
base addresses
|
|
Date: Mon, 18 Dec 2023 23:03:36 +0200
|
|
Message-ID: <20231218210341.30073-3-iivanov@suse.de>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20231218210341.30073-1-iivanov@suse.de>
|
|
References: <20231218210341.30073-1-iivanov@suse.de>
|
|
MIME-Version: 1.0
|
|
X-Spamd-Result: default: False [10.00 / 50.00]; ARC_NA(0.00)[];
|
|
RCVD_VIA_SMTP_AUTH(0.00)[]; BAYES_SPAM(5.10)[100.00%];
|
|
FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[];
|
|
FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net];
|
|
R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain];
|
|
TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[];
|
|
RCVD_COUNT_THREE(0.00)[3];
|
|
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
RCPT_COUNT_SEVEN(0.00)[11]; MID_CONTAINS_FROM(1.00)[];
|
|
DBL_BLOCKED_OPENRESOLVER(0.00)[bedrocksystems.com:email,suse.de:email];
|
|
FREEMAIL_TO(0.00)[suse.com,gmail.com];
|
|
FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[];
|
|
MIME_TRACE(0.00)[0:+];
|
|
FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de];
|
|
RCVD_TLS_ALL(0.00)[]
|
|
Authentication-Results: smtp-out2.suse.de;
|
|
none
|
|
X-BeenThere: u-boot@lists.denx.de
|
|
X-Mailman-Version: 2.1.39
|
|
Precedence: list
|
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
List-Post: <mailto:u-boot@lists.denx.de>
|
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
Errors-To: u-boot-bounces@lists.denx.de
|
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
|
|
X-Virus-Status: Clean
|
|
|
|
From: Dmitry Malkin <dmitry@bedrocksystems.com>
|
|
|
|
MBOX and Watchdog on RPi5/bcm2712 has a different base IO offsets.
|
|
Find them via devicetree blob passed by bootloader.
|
|
|
|
Signed-off-by: Dmitry Malkin <dmitry@bedrocksystems.com>
|
|
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
---
|
|
arch/arm/mach-bcm283x/include/mach/base.h | 5 ++-
|
|
arch/arm/mach-bcm283x/include/mach/mbox.h | 3 +-
|
|
arch/arm/mach-bcm283x/include/mach/sdhci.h | 3 +-
|
|
arch/arm/mach-bcm283x/include/mach/timer.h | 3 +-
|
|
arch/arm/mach-bcm283x/include/mach/wdog.h | 3 +-
|
|
arch/arm/mach-bcm283x/init.c | 43 ++++++++++++++++++----
|
|
6 files changed, 43 insertions(+), 17 deletions(-)
|
|
|
|
diff --git a/arch/arm/mach-bcm283x/include/mach/base.h b/arch/arm/mach-bcm283x/include/mach/base.h
|
|
index 4ccaf69693..6de99e7ea1 100644
|
|
--- a/arch/arm/mach-bcm283x/include/mach/base.h
|
|
+++ b/arch/arm/mach-bcm283x/include/mach/base.h
|
|
@@ -6,7 +6,10 @@
|
|
#ifndef _BCM283x_BASE_H_
|
|
#define _BCM283x_BASE_H_
|
|
|
|
-extern unsigned long rpi_bcm283x_base;
|
|
+extern unsigned long rpi_mbox_base;
|
|
+extern unsigned long rpi_timer_base;
|
|
+extern unsigned long rpi_sdhci_base;
|
|
+extern unsigned long rpi_wdog_base;
|
|
|
|
#ifdef CONFIG_ARMV7_LPAE
|
|
#ifdef CONFIG_TARGET_RPI_4_32B
|
|
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
|
index 490664f878..35d4e2f075 100644
|
|
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
|
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
|
@@ -38,8 +38,7 @@
|
|
|
|
/* Raw mailbox HW */
|
|
|
|
-#define BCM2835_MBOX_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
|
|
- rpi_bcm283x_base + 0x0000b880; })
|
|
+#define BCM2835_MBOX_PHYSADDR rpi_mbox_base
|
|
|
|
struct bcm2835_mbox_regs {
|
|
u32 read;
|
|
diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
|
index 7323690687..e837c679c4 100644
|
|
--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
|
+++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
|
@@ -8,8 +8,7 @@
|
|
|
|
#include <asm/arch/base.h>
|
|
|
|
-#define BCM2835_SDHCI_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
|
|
- rpi_bcm283x_base + 0x00300000; })
|
|
+#define BCM2835_SDHCI_PHYSADDR rpi_sdhci_base
|
|
|
|
int bcm2835_sdhci_init(u32 regbase, u32 emmc_freq);
|
|
|
|
diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h
|
|
index 5567dbd7f3..60500a256d 100644
|
|
--- a/arch/arm/mach-bcm283x/include/mach/timer.h
|
|
+++ b/arch/arm/mach-bcm283x/include/mach/timer.h
|
|
@@ -11,8 +11,7 @@
|
|
#include <linux/bug.h>
|
|
#endif
|
|
|
|
-#define BCM2835_TIMER_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
|
|
- rpi_bcm283x_base + 0x00003000; })
|
|
+#define BCM2835_TIMER_PHYSADDR rpi_timer_base
|
|
|
|
#define BCM2835_TIMER_CS_M3 (1 << 3)
|
|
#define BCM2835_TIMER_CS_M2 (1 << 2)
|
|
diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h
|
|
index 9942666720..b950560674 100644
|
|
--- a/arch/arm/mach-bcm283x/include/mach/wdog.h
|
|
+++ b/arch/arm/mach-bcm283x/include/mach/wdog.h
|
|
@@ -8,8 +8,7 @@
|
|
|
|
#include <asm/arch/base.h>
|
|
|
|
-#define BCM2835_WDOG_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \
|
|
- rpi_bcm283x_base + 0x00100000; })
|
|
+#define BCM2835_WDOG_PHYSADDR rpi_wdog_base
|
|
|
|
struct bcm2835_wdog_regs {
|
|
u32 unknown0[7];
|
|
diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c
|
|
index af23b9711a..1c5c748484 100644
|
|
--- a/arch/arm/mach-bcm283x/init.c
|
|
+++ b/arch/arm/mach-bcm283x/init.c
|
|
@@ -151,7 +151,11 @@ static void rpi_update_mem_map(void)
|
|
static void rpi_update_mem_map(void) {}
|
|
#endif
|
|
|
|
-unsigned long rpi_bcm283x_base = 0x3f000000;
|
|
+/* Default bcm283x devices addresses */
|
|
+unsigned long rpi_mbox_base = 0x3f00b880;
|
|
+unsigned long rpi_sdhci_base = 0x3f300000;
|
|
+unsigned long rpi_wdog_base = 0x3f100000;
|
|
+unsigned long rpi_timer_base = 0x3f003000;
|
|
|
|
int arch_cpu_init(void)
|
|
{
|
|
@@ -162,22 +166,45 @@ int arch_cpu_init(void)
|
|
|
|
int mach_cpu_init(void)
|
|
{
|
|
- int ret, soc_offset;
|
|
+ int ret, soc, offset;
|
|
u64 io_base, size;
|
|
|
|
rpi_update_mem_map();
|
|
|
|
/* Get IO base from device tree */
|
|
- soc_offset = fdt_path_offset(gd->fdt_blob, "/soc");
|
|
- if (soc_offset < 0)
|
|
- return soc_offset;
|
|
+ soc = fdt_path_offset(gd->fdt_blob, "/soc");
|
|
+ if (soc < 0)
|
|
+ return soc;
|
|
|
|
- ret = fdt_read_range((void *)gd->fdt_blob, soc_offset, 0, NULL,
|
|
- &io_base, &size);
|
|
+ ret = fdt_read_range((void *)gd->fdt_blob, soc, 0, NULL,
|
|
+ &io_base, &size);
|
|
if (ret)
|
|
return ret;
|
|
|
|
- rpi_bcm283x_base = io_base;
|
|
+ rpi_mbox_base = io_base + 0x00b880;
|
|
+ rpi_sdhci_base = io_base + 0x300000;
|
|
+ rpi_wdog_base = io_base + 0x100000;
|
|
+ rpi_timer_base = io_base + 0x003000;
|
|
+
|
|
+ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc,
|
|
+ "brcm,bcm2835-mbox");
|
|
+ if (offset > soc)
|
|
+ rpi_mbox_base = fdt_get_base_address(gd->fdt_blob, offset);
|
|
+
|
|
+ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc,
|
|
+ "brcm,bcm2835-sdhci");
|
|
+ if (offset > soc)
|
|
+ rpi_sdhci_base = fdt_get_base_address(gd->fdt_blob, offset);
|
|
+
|
|
+ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc,
|
|
+ "brcm,bcm2835-system-timer");
|
|
+ if (offset > soc)
|
|
+ rpi_timer_base = fdt_get_base_address(gd->fdt_blob, offset);
|
|
+
|
|
+ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc,
|
|
+ "brcm,bcm2712-pm");
|
|
+ if (offset > soc)
|
|
+ rpi_wdog_base = fdt_get_base_address(gd->fdt_blob, offset);
|
|
|
|
return 0;
|
|
}
|
|
|
|
From patchwork Mon Dec 18 21:03:37 2023
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
X-Patchwork-Id: 1877652
|
|
X-Patchwork-Delegate: pbrobinson@gmail.com
|
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
X-Original-To: incoming@patchwork.ozlabs.org
|
|
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256
|
|
header.s=susede2_rsa header.b=MuifTv9w;
|
|
dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=J2WonmZQ;
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.a=rsa-sha256 header.s=susede2_rsa header.b=driIaEaW;
|
|
dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=ENBj4l6/;
|
|
dkim-atps=neutral
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
(client-ip=85.214.62.61; helo=phobos.denx.de;
|
|
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
|
|
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature ECDSA (secp384r1))
|
|
(No client certificate requested)
|
|
by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4h1PpHz1ydc
|
|
for <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 08:04:36 +1100 (AEDT)
|
|
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
by phobos.denx.de (Postfix) with ESMTP id BC5CE87656;
|
|
Mon, 18 Dec 2023 22:03:58 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de;
|
|
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
Authentication-Results: phobos.denx.de;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.b="MuifTv9w";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="J2WonmZQ";
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="driIaEaW";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="ENBj4l6/";
|
|
dkim-atps=neutral
|
|
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
id 24B3087578; Mon, 18 Dec 2023 22:03:57 +0100 (CET)
|
|
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
X-Spam-Level:
|
|
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
|
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
|
Received: from smtp-out1.suse.de (smtp-out1.suse.de
|
|
[IPv6:2a07:de40:b251:101:10:150:64:1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by phobos.denx.de (Postfix) with ESMTPS id 34BC9875A0
|
|
for <u-boot@lists.denx.de>; Mon, 18 Dec 2023 22:03:52 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de
|
|
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
|
|
[10.150.64.97])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by smtp-out1.suse.de (Postfix) with ESMTPS id B98772226F;
|
|
Mon, 18 Dec 2023 21:03:50 +0000 (UTC)
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933431;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=;
|
|
b=MuifTv9wBEOLgWscWoGcXg+RGB8+btC5sRFciLLURyCkDcUQuguKCF0MB5CUHbvIFDKQTs
|
|
3cu6hcIxZ1sJPOhJYAQlW90dBLsORX0sI25Eq4VgPGCsldwfrQ6KFwJmGJHKAf1t3bAtsp
|
|
bXmOjkuzkGiYTERqgRtFHlM+jbjtULk=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933431;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=;
|
|
b=J2WonmZQu47jTWrv+1hYLdw1tZ+mNBDcST4N3FHxlTW7EY6hSg3i0FkVDYqumfQMZdddMp
|
|
jagUtFA6k1hguwCQ==
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=;
|
|
b=driIaEaWsaR+g9AcK8SGiaVWp2t8QtO7GFM918C1n2Mg0Ag01KOyoFkVXAvjXENou/caP6
|
|
mszp+EvY1mp+ZR5gwQMkbkHBxQ10VWiFHcSdpA6ZicAD8PbXnb4DO5mEFRyVbxDu6b9fHp
|
|
mNp6oBcymc5k4gJFdfomnV1ubqgcp38=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933430;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=;
|
|
b=ENBj4l6/3jkDUxi4yY5WR8ECQN9jENKPjLTTKM7yT4ET1rZJ3jbU297szl97aZN4oQ41A9
|
|
z8StT2qNvcfjYQCA==
|
|
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2AC2D13C93;
|
|
Mon, 18 Dec 2023 21:03:50 +0000 (UTC)
|
|
Received: from dovecot-director2.suse.de ([10.150.64.162])
|
|
by imap1.dmz-prg2.suse.org with ESMTPSA id EE/zB7azgGUtZAAAD6G6ig
|
|
(envelope-from <iivanov@suse.de>); Mon, 18 Dec 2023 21:03:50 +0000
|
|
From: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
To: Matthias Brugger <mbrugger@suse.com>,
|
|
Peter Robinson <pbrobinson@gmail.com>
|
|
Cc: Dmitry Malkin <dmitry@bedrocksystems.com>,
|
|
Thomas Fitzsimmons <fitzsim@fitzsim.org>, Peng Fan <peng.fan@nxp.com>,
|
|
Jaehoon Chung <jh80.chung@samsung.com>, Anatolij Gustschin <agust@denx.de>,
|
|
wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de,
|
|
"Ivan T. Ivanov" <iivanov@suse.de>
|
|
Subject: [PATCH v3 3/7] rpi5: Use devicetree to retrieve board revision
|
|
Date: Mon, 18 Dec 2023 23:03:37 +0200
|
|
Message-ID: <20231218210341.30073-4-iivanov@suse.de>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20231218210341.30073-1-iivanov@suse.de>
|
|
References: <20231218210341.30073-1-iivanov@suse.de>
|
|
MIME-Version: 1.0
|
|
Authentication-Results: smtp-out1.suse.de;
|
|
none
|
|
X-Spamd-Result: default: False [1.14 / 50.00]; ARC_NA(0.00)[];
|
|
RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[];
|
|
TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net];
|
|
R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain];
|
|
TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[];
|
|
NEURAL_HAM_LONG(-1.00)[-1.000];
|
|
R_RATELIMIT(0.00)[to_ip_from(RL9dd9h8xg9qpm5f14t9e5w4zz)];
|
|
RCVD_COUNT_THREE(0.00)[3];
|
|
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
NEURAL_HAM_SHORT(-0.20)[-1.000]; RCPT_COUNT_SEVEN(0.00)[11];
|
|
MID_CONTAINS_FROM(1.00)[];
|
|
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
|
|
FREEMAIL_TO(0.00)[suse.com,gmail.com];
|
|
FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[];
|
|
MIME_TRACE(0.00)[0:+];
|
|
FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de];
|
|
RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-2.56)[98.03%]
|
|
X-BeenThere: u-boot@lists.denx.de
|
|
X-Mailman-Version: 2.1.39
|
|
Precedence: list
|
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
List-Post: <mailto:u-boot@lists.denx.de>
|
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
Errors-To: u-boot-bounces@lists.denx.de
|
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
|
|
X-Virus-Status: Clean
|
|
|
|
Firmware on RPi5 return error on board revision query
|
|
through firmware interface, but on the other hand it fills
|
|
"linux,revision" in "system" node, so use it to detect board
|
|
revision.
|
|
|
|
system {
|
|
linux,revision = <0xc04170>;
|
|
linux,serial = <0x6cf44e80 0x3c533ede>;
|
|
};
|
|
|
|
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
---
|
|
board/raspberrypi/rpi/rpi.c | 22 +++++++++++++++++++---
|
|
1 file changed, 19 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
|
index cd823ad746..2851ebc985 100644
|
|
--- a/board/raspberrypi/rpi/rpi.c
|
|
+++ b/board/raspberrypi/rpi/rpi.c
|
|
@@ -171,6 +171,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
|
|
DTB_DIR "bcm2711-rpi-cm4.dtb",
|
|
true,
|
|
},
|
|
+ [0x17] = {
|
|
+ "5 Model B",
|
|
+ DTB_DIR "bcm2712-rpi-5-b.dtb",
|
|
+ true,
|
|
+ },
|
|
};
|
|
|
|
static const struct rpi_model rpi_models_old_scheme[] = {
|
|
@@ -429,15 +434,27 @@ static void get_board_revision(void)
|
|
int ret;
|
|
const struct rpi_model *models;
|
|
uint32_t models_count;
|
|
+ ofnode node;
|
|
|
|
BCM2835_MBOX_INIT_HDR(msg);
|
|
BCM2835_MBOX_INIT_TAG(&msg->get_board_rev, GET_BOARD_REV);
|
|
|
|
ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr);
|
|
if (ret) {
|
|
- printf("bcm2835: Could not query board revision\n");
|
|
/* Ignore error; not critical */
|
|
- return;
|
|
+ node = ofnode_path("/system");
|
|
+ if (!ofnode_valid(node)) {
|
|
+ printf("bcm2835: Could not find /system node\n");
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ ret = ofnode_read_u32(node, "linux,revision", &revision);
|
|
+ if (ret) {
|
|
+ printf("bcm2835: Could not find linux,revision\n");
|
|
+ return;
|
|
+ }
|
|
+ } else {
|
|
+ revision = msg->get_board_rev.body.resp.rev;
|
|
}
|
|
|
|
/*
|
|
@@ -451,7 +468,6 @@ static void get_board_revision(void)
|
|
* http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=98367&start=250
|
|
* http://www.raspberrypi.org/forums/viewtopic.php?f=31&t=20594
|
|
*/
|
|
- revision = msg->get_board_rev.body.resp.rev;
|
|
if (revision & 0x800000) {
|
|
rev_scheme = 1;
|
|
rev_type = (revision >> 4) & 0xff;
|
|
|
|
From patchwork Mon Dec 18 21:03:38 2023
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
X-Patchwork-Id: 1877651
|
|
X-Patchwork-Delegate: pbrobinson@gmail.com
|
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
X-Original-To: incoming@patchwork.ozlabs.org
|
|
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256
|
|
header.s=susede2_rsa header.b=v2vbP3rz;
|
|
dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=DCEhbGvW;
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.a=rsa-sha256 header.s=susede2_rsa header.b=v2vbP3rz;
|
|
dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=DCEhbGvW;
|
|
dkim-atps=neutral
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
(client-ip=85.214.62.61; helo=phobos.denx.de;
|
|
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
|
|
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
|
|
(No client certificate requested)
|
|
by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4X1dxWz1ydc
|
|
for <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 08:04:28 +1100 (AEDT)
|
|
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
by phobos.denx.de (Postfix) with ESMTP id 516EE875B6;
|
|
Mon, 18 Dec 2023 22:03:58 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de;
|
|
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
Authentication-Results: phobos.denx.de;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.b="v2vbP3rz";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="DCEhbGvW";
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="v2vbP3rz";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="DCEhbGvW";
|
|
dkim-atps=neutral
|
|
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
id B3A6E87578; Mon, 18 Dec 2023 22:03:55 +0100 (CET)
|
|
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
X-Spam-Level:
|
|
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
|
T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no
|
|
version=3.4.2
|
|
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by phobos.denx.de (Postfix) with ESMTPS id AF6918758C
|
|
for <u-boot@lists.denx.de>; Mon, 18 Dec 2023 22:03:51 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de
|
|
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
|
|
[10.150.64.97])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by smtp-out1.suse.de (Postfix) with ESMTPS id 601C222298;
|
|
Mon, 18 Dec 2023 21:03:51 +0000 (UTC)
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933431;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=;
|
|
b=v2vbP3rzM/o63ofFdDaxhtUv68QFa8UxlaWLBU0PN+7PKXtZUGyrKBSmhVzxTM42FyEF7w
|
|
9fus9/ORTaMw41AMi4qeWNQkin7gz4BF2qAFQuYSksnSgsT4Jul8n1YBBmIDx1keXZtfAW
|
|
uJZcfMM7pykF11NRMTvI38ZkyYm3ueQ=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933431;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=;
|
|
b=DCEhbGvWPmgWKvfaoSUDgZ/cuuHGUnp9FvtlFeMSL2WTlsc5F+jQrl+8kVn2Yr5wDXUi8w
|
|
yyGhdRc4ihbp3tAg==
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933431;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=;
|
|
b=v2vbP3rzM/o63ofFdDaxhtUv68QFa8UxlaWLBU0PN+7PKXtZUGyrKBSmhVzxTM42FyEF7w
|
|
9fus9/ORTaMw41AMi4qeWNQkin7gz4BF2qAFQuYSksnSgsT4Jul8n1YBBmIDx1keXZtfAW
|
|
uJZcfMM7pykF11NRMTvI38ZkyYm3ueQ=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933431;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=;
|
|
b=DCEhbGvWPmgWKvfaoSUDgZ/cuuHGUnp9FvtlFeMSL2WTlsc5F+jQrl+8kVn2Yr5wDXUi8w
|
|
yyGhdRc4ihbp3tAg==
|
|
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C77BF133E5;
|
|
Mon, 18 Dec 2023 21:03:50 +0000 (UTC)
|
|
Received: from dovecot-director2.suse.de ([10.150.64.162])
|
|
by imap1.dmz-prg2.suse.org with ESMTPSA id cKI3LrazgGUtZAAAD6G6ig
|
|
(envelope-from <iivanov@suse.de>); Mon, 18 Dec 2023 21:03:50 +0000
|
|
From: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
To: Matthias Brugger <mbrugger@suse.com>,
|
|
Peter Robinson <pbrobinson@gmail.com>
|
|
Cc: Dmitry Malkin <dmitry@bedrocksystems.com>,
|
|
Thomas Fitzsimmons <fitzsim@fitzsim.org>, Peng Fan <peng.fan@nxp.com>,
|
|
Jaehoon Chung <jh80.chung@samsung.com>, Anatolij Gustschin <agust@denx.de>,
|
|
wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de,
|
|
"Ivan T. Ivanov" <iivanov@suse.de>
|
|
Subject: [PATCH v3 4/7] bcm2835: brcm,
|
|
bcm2708-fb device is using r5g6b5 format
|
|
Date: Mon, 18 Dec 2023 23:03:38 +0200
|
|
Message-ID: <20231218210341.30073-5-iivanov@suse.de>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20231218210341.30073-1-iivanov@suse.de>
|
|
References: <20231218210341.30073-1-iivanov@suse.de>
|
|
MIME-Version: 1.0
|
|
X-Spamd-Result: default: False [4.90 / 50.00]; ARC_NA(0.00)[];
|
|
RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[];
|
|
TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net];
|
|
R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain];
|
|
TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[];
|
|
R_RATELIMIT(0.00)[to_ip_from(RL9dd9h8xg9qpm5f14t9e5w4zz)];
|
|
RCVD_COUNT_THREE(0.00)[3];
|
|
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
RCPT_COUNT_SEVEN(0.00)[11]; MID_CONTAINS_FROM(1.00)[];
|
|
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
|
|
FREEMAIL_TO(0.00)[suse.com,gmail.com];
|
|
FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[];
|
|
MIME_TRACE(0.00)[0:+];
|
|
FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de];
|
|
RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-0.00)[34.66%]
|
|
Authentication-Results: smtp-out1.suse.de;
|
|
none
|
|
X-BeenThere: u-boot@lists.denx.de
|
|
X-Mailman-Version: 2.1.39
|
|
Precedence: list
|
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
List-Post: <mailto:u-boot@lists.denx.de>
|
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
Errors-To: u-boot-bounces@lists.denx.de
|
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
|
|
X-Virus-Status: Clean
|
|
|
|
brcm,bcm2708-fb device provided by firmware on RPi5 uses
|
|
16 bits per pixel. Update driver to properly handle this.
|
|
|
|
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
---
|
|
drivers/video/bcm2835.c | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
|
|
index 14942526f1..245c958b6e 100644
|
|
--- a/drivers/video/bcm2835.c
|
|
+++ b/drivers/video/bcm2835.c
|
|
@@ -43,7 +43,7 @@ static int bcm2835_video_probe(struct udevice *dev)
|
|
|
|
uc_priv->xsize = w;
|
|
uc_priv->ysize = h;
|
|
- uc_priv->bpix = VIDEO_BPP32;
|
|
+ uc_priv->bpix = dev_get_driver_data(dev);
|
|
plat->base = fb_base;
|
|
plat->size = fb_size;
|
|
|
|
@@ -51,11 +51,11 @@ static int bcm2835_video_probe(struct udevice *dev)
|
|
}
|
|
|
|
static const struct udevice_id bcm2835_video_ids[] = {
|
|
- { .compatible = "brcm,bcm2835-hdmi" },
|
|
- { .compatible = "brcm,bcm2711-hdmi0" },
|
|
- { .compatible = "brcm,bcm2708-fb" },
|
|
+ { .compatible = "brcm,bcm2835-hdmi", .data = VIDEO_BPP32},
|
|
+ { .compatible = "brcm,bcm2711-hdmi0", .data = VIDEO_BPP32},
|
|
+ { .compatible = "brcm,bcm2708-fb", .data = VIDEO_BPP16 },
|
|
#if !IS_ENABLED(CONFIG_VIDEO_DT_SIMPLEFB)
|
|
- { .compatible = "simple-framebuffer" },
|
|
+ { .compatible = "simple-framebuffer", .data = VIDEO_BPP32},
|
|
#endif
|
|
{ }
|
|
};
|
|
|
|
From patchwork Mon Dec 18 21:03:39 2023
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
X-Patchwork-Id: 1877653
|
|
X-Patchwork-Delegate: pbrobinson@gmail.com
|
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
X-Original-To: incoming@patchwork.ozlabs.org
|
|
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256
|
|
header.s=susede2_rsa header.b=NbGv/QjH;
|
|
dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=mv0vjv7/;
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.a=rsa-sha256 header.s=susede2_rsa header.b=NbGv/QjH;
|
|
dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=mv0vjv7/;
|
|
dkim-atps=neutral
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
(client-ip=85.214.62.61; helo=phobos.denx.de;
|
|
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
|
|
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature ECDSA (secp384r1))
|
|
(No client certificate requested)
|
|
by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4s5T6Bz1ydc
|
|
for <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 08:04:45 +1100 (AEDT)
|
|
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
by phobos.denx.de (Postfix) with ESMTP id 3B87487227;
|
|
Mon, 18 Dec 2023 22:04:02 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de;
|
|
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
Authentication-Results: phobos.denx.de;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.b="NbGv/QjH";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="mv0vjv7/";
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="NbGv/QjH";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="mv0vjv7/";
|
|
dkim-atps=neutral
|
|
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
id AC0FC874F3; Mon, 18 Dec 2023 22:03:57 +0100 (CET)
|
|
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
X-Spam-Level:
|
|
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
|
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
|
Received: from smtp-out1.suse.de (smtp-out1.suse.de
|
|
[IPv6:2a07:de40:b251:101:10:150:64:1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by phobos.denx.de (Postfix) with ESMTPS id 8349D875DB
|
|
for <u-boot@lists.denx.de>; Mon, 18 Dec 2023 22:03:52 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de
|
|
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
|
|
[10.150.64.97])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by smtp-out1.suse.de (Postfix) with ESMTPS id 07C81222A0;
|
|
Mon, 18 Dec 2023 21:03:52 +0000 (UTC)
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=;
|
|
b=NbGv/QjHBl2RkJvR6nKp9uvf3bewa/Jp5ykWs/ULuKNb1e1kp0q0TCiM3d88QGrhaOkktM
|
|
ARQoLZXxNSqS1EXqsPA7VQyuJpg3iM74I+GTJfNdlIDDYeA4JLrY6MexUOxdVl1EgxjaPf
|
|
8qkaGm9uEwoD2sactKTn0rgBg5C7Ej0=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=;
|
|
b=mv0vjv7/43Gm9IJuOWZT6NQDNDmZdNrBoTyjx7Yu5AAnyTgKtyFYldUlt18PDNHm701rhG
|
|
AxUSg7hqv1qJTiDg==
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=;
|
|
b=NbGv/QjHBl2RkJvR6nKp9uvf3bewa/Jp5ykWs/ULuKNb1e1kp0q0TCiM3d88QGrhaOkktM
|
|
ARQoLZXxNSqS1EXqsPA7VQyuJpg3iM74I+GTJfNdlIDDYeA4JLrY6MexUOxdVl1EgxjaPf
|
|
8qkaGm9uEwoD2sactKTn0rgBg5C7Ej0=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=;
|
|
b=mv0vjv7/43Gm9IJuOWZT6NQDNDmZdNrBoTyjx7Yu5AAnyTgKtyFYldUlt18PDNHm701rhG
|
|
AxUSg7hqv1qJTiDg==
|
|
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6FAB513C92;
|
|
Mon, 18 Dec 2023 21:03:51 +0000 (UTC)
|
|
Received: from dovecot-director2.suse.de ([10.150.64.162])
|
|
by imap1.dmz-prg2.suse.org with ESMTPSA id YHTRGLezgGUtZAAAD6G6ig
|
|
(envelope-from <iivanov@suse.de>); Mon, 18 Dec 2023 21:03:51 +0000
|
|
From: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
To: Matthias Brugger <mbrugger@suse.com>,
|
|
Peter Robinson <pbrobinson@gmail.com>
|
|
Cc: Dmitry Malkin <dmitry@bedrocksystems.com>,
|
|
Thomas Fitzsimmons <fitzsim@fitzsim.org>, Peng Fan <peng.fan@nxp.com>,
|
|
Jaehoon Chung <jh80.chung@samsung.com>, Anatolij Gustschin <agust@denx.de>,
|
|
wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de,
|
|
"Ivan T. Ivanov" <iivanov@suse.de>
|
|
Subject: [PATCH v3 5/7] mmc: bcmstb: Add support for bcm2712 SD controller
|
|
Date: Mon, 18 Dec 2023 23:03:39 +0200
|
|
Message-ID: <20231218210341.30073-6-iivanov@suse.de>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20231218210341.30073-1-iivanov@suse.de>
|
|
References: <20231218210341.30073-1-iivanov@suse.de>
|
|
MIME-Version: 1.0
|
|
X-Spamd-Result: default: False [1.90 / 50.00]; ARC_NA(0.00)[];
|
|
RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[];
|
|
TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net];
|
|
R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain];
|
|
TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[];
|
|
R_RATELIMIT(0.00)[to_ip_from(RL9dd9h8xg9qpm5f14t9e5w4zz)];
|
|
RCVD_COUNT_THREE(0.00)[3];
|
|
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
RCPT_COUNT_SEVEN(0.00)[11]; MID_CONTAINS_FROM(1.00)[];
|
|
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
|
|
FREEMAIL_TO(0.00)[suse.com,gmail.com];
|
|
FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[];
|
|
MIME_TRACE(0.00)[0:+];
|
|
FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de];
|
|
RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%]
|
|
Authentication-Results: smtp-out1.suse.de;
|
|
none
|
|
X-BeenThere: u-boot@lists.denx.de
|
|
X-Mailman-Version: 2.1.39
|
|
Precedence: list
|
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
List-Post: <mailto:u-boot@lists.denx.de>
|
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
Errors-To: u-boot-bounces@lists.denx.de
|
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
|
|
X-Virus-Status: Clean
|
|
|
|
Borrow SD quirks from vendor Linux driver.
|
|
|
|
"BCM2712 unfortunately carries with it a perennial bug with the SD
|
|
controller register interface present on previous chips (2711/2709/2708).
|
|
Accesses must be dword-sized and a read-modify-write cycle to the 32-bit
|
|
registers containing the COMMAND, TRANSFER_MODE, BLOCK_SIZE and
|
|
BLOCK_COUNT registers tramples the upper/lower 16 bits of data written.
|
|
BCM2712 does not seem to need the extreme delay between each write as on
|
|
previous chips, just the serialisation of writes to these registers in a
|
|
single 32-bit operation."
|
|
|
|
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
---
|
|
drivers/mmc/bcmstb_sdhci.c | 173 ++++++++++++++++++++++++++++++++++++-
|
|
1 file changed, 172 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/mmc/bcmstb_sdhci.c b/drivers/mmc/bcmstb_sdhci.c
|
|
index dc96818cff..21489e66c0 100644
|
|
--- a/drivers/mmc/bcmstb_sdhci.c
|
|
+++ b/drivers/mmc/bcmstb_sdhci.c
|
|
@@ -38,6 +38,16 @@
|
|
*/
|
|
#define BCMSTB_SDHCI_MINIMUM_CLOCK_FREQUENCY 400000
|
|
|
|
+#define SDIO_CFG_CTRL 0x0
|
|
+#define SDIO_CFG_CTRL_SDCD_N_TEST_EN BIT(31)
|
|
+#define SDIO_CFG_CTRL_SDCD_N_TEST_LEV BIT(30)
|
|
+
|
|
+#define SDIO_CFG_SD_PIN_SEL 0x44
|
|
+#define SDIO_CFG_SD_PIN_SEL_MASK 0x3
|
|
+#define SDIO_CFG_SD_PIN_SEL_CARD BIT(1)
|
|
+
|
|
+#define REG_OFFSET_IN_BITS(reg) ((reg) << 3 & 0x18)
|
|
+
|
|
/*
|
|
* This driver has only been tested with eMMC devices; SD devices may
|
|
* not work.
|
|
@@ -47,6 +57,53 @@ struct sdhci_bcmstb_plat {
|
|
struct mmc mmc;
|
|
};
|
|
|
|
+struct sdhci_bcmstb_host {
|
|
+ struct sdhci_host host;
|
|
+ u32 shadow_cmd;
|
|
+ u32 shadow_blk;
|
|
+ bool is_cmd_shadowed;
|
|
+ bool is_blk_shadowed;
|
|
+};
|
|
+
|
|
+struct sdhci_brcmstb_dev_priv {
|
|
+ int (*init)(struct udevice *dev);
|
|
+ struct sdhci_ops *ops;
|
|
+};
|
|
+
|
|
+static inline struct sdhci_bcmstb_host *to_bcmstb_host(struct sdhci_host *host)
|
|
+{
|
|
+ return container_of(host, struct sdhci_bcmstb_host, host);
|
|
+}
|
|
+
|
|
+static int sdhci_brcmstb_init_2712(struct udevice *dev)
|
|
+{
|
|
+ struct sdhci_host *host = dev_get_priv(dev);
|
|
+ void *cfg_regs;
|
|
+ u32 reg;
|
|
+
|
|
+ /* Map in the non-standard CFG registers */
|
|
+ cfg_regs = dev_remap_addr_name(dev, "cfg");
|
|
+ if (!cfg_regs)
|
|
+ return -ENOENT;
|
|
+
|
|
+ if ((host->mmc->host_caps & MMC_CAP_NONREMOVABLE) ||
|
|
+ (host->mmc->host_caps & MMC_CAP_NEEDS_POLL)) {
|
|
+ /* Force presence */
|
|
+ reg = readl(cfg_regs + SDIO_CFG_CTRL);
|
|
+ reg &= ~SDIO_CFG_CTRL_SDCD_N_TEST_LEV;
|
|
+ reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN;
|
|
+ writel(reg, cfg_regs + SDIO_CFG_CTRL);
|
|
+ } else {
|
|
+ /* Enable card detection line */
|
|
+ reg = readl(cfg_regs + SDIO_CFG_SD_PIN_SEL);
|
|
+ reg &= ~SDIO_CFG_SD_PIN_SEL_MASK;
|
|
+ reg |= SDIO_CFG_SD_PIN_SEL_CARD;
|
|
+ writel(reg, cfg_regs + SDIO_CFG_SD_PIN_SEL);
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
static int sdhci_bcmstb_bind(struct udevice *dev)
|
|
{
|
|
struct sdhci_bcmstb_plat *plat = dev_get_plat(dev);
|
|
@@ -58,10 +115,14 @@ static int sdhci_bcmstb_probe(struct udevice *dev)
|
|
{
|
|
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
|
|
struct sdhci_bcmstb_plat *plat = dev_get_plat(dev);
|
|
- struct sdhci_host *host = dev_get_priv(dev);
|
|
+ struct sdhci_bcmstb_host *bcmstb = dev_get_priv(dev);
|
|
+ struct sdhci_host *host = &bcmstb->host;
|
|
+ struct sdhci_brcmstb_dev_priv *dev_priv;
|
|
fdt_addr_t base;
|
|
int ret;
|
|
|
|
+ dev_priv = (struct sdhci_brcmstb_dev_priv *)dev_get_driver_data(dev);
|
|
+
|
|
base = dev_read_addr(dev);
|
|
if (base == FDT_ADDR_T_NONE)
|
|
return -EINVAL;
|
|
@@ -75,6 +136,10 @@ static int sdhci_bcmstb_probe(struct udevice *dev)
|
|
|
|
host->mmc = &plat->mmc;
|
|
host->mmc->dev = dev;
|
|
+
|
|
+ if (dev_priv && dev_priv->ops)
|
|
+ host->ops = dev_priv->ops;
|
|
+
|
|
ret = sdhci_setup_cfg(&plat->cfg, host,
|
|
BCMSTB_SDHCI_MAXIMUM_CLOCK_FREQUENCY,
|
|
BCMSTB_SDHCI_MINIMUM_CLOCK_FREQUENCY);
|
|
@@ -84,10 +149,116 @@ static int sdhci_bcmstb_probe(struct udevice *dev)
|
|
upriv->mmc = &plat->mmc;
|
|
host->mmc->priv = host;
|
|
|
|
+ if (dev_priv && dev_priv->init) {
|
|
+ ret = dev_priv->init(dev);
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
return sdhci_probe(dev);
|
|
}
|
|
|
|
+static u16 sdhci_brcmstb_32bits_readw(struct sdhci_host *host, int reg)
|
|
+{
|
|
+ struct sdhci_bcmstb_host *bcmstb = to_bcmstb_host(host);
|
|
+ u16 word;
|
|
+ u32 val;
|
|
+
|
|
+ if (reg == SDHCI_TRANSFER_MODE && bcmstb->is_cmd_shadowed) {
|
|
+ /* Get the saved transfer mode */
|
|
+ val = bcmstb->shadow_cmd;
|
|
+ } else if ((reg == SDHCI_BLOCK_SIZE || reg == SDHCI_BLOCK_COUNT) &&
|
|
+ bcmstb->is_blk_shadowed) {
|
|
+ /* Get the saved block info */
|
|
+ val = bcmstb->shadow_blk;
|
|
+ } else {
|
|
+ val = readl(host->ioaddr + (reg & ~3));
|
|
+ }
|
|
+
|
|
+ word = val >> REG_OFFSET_IN_BITS(reg) & 0xffff;
|
|
+ return word;
|
|
+}
|
|
+
|
|
+static u8 sdhci_brcmstb_32bits_readb(struct sdhci_host *host, int reg)
|
|
+{
|
|
+ u32 val = readl(host->ioaddr + (reg & ~3));
|
|
+ u8 byte = val >> REG_OFFSET_IN_BITS(reg) & 0xff;
|
|
+ return byte;
|
|
+}
|
|
+
|
|
+/*
|
|
+ * BCM2712 unfortunately carries with it a perennial bug with the SD
|
|
+ * controller register interface present on previous chips (2711/2709/2708).
|
|
+ * Accesses must be dword-sized and a read-modify-write cycle to the
|
|
+ * 32-bit registers containing the COMMAND, TRANSFER_MODE, BLOCK_SIZE and
|
|
+ * BLOCK_COUNT registers tramples the upper/lower 16 bits of data written.
|
|
+ * BCM2712 does not seem to need the extreme delay between each write as
|
|
+ * on previous chips, just the serialisation of writes to these registers
|
|
+ * in a single 32-bit operation.
|
|
+ */
|
|
+static void sdhci_brcmstb_32bits_writew(struct sdhci_host *host, u16 val, int reg)
|
|
+{
|
|
+ struct sdhci_bcmstb_host *bcmstb = to_bcmstb_host(host);
|
|
+ u32 word_shift = REG_OFFSET_IN_BITS(reg);
|
|
+ u32 mask = 0xffff << word_shift;
|
|
+ u32 oldval, newval;
|
|
+
|
|
+ if (reg == SDHCI_COMMAND) {
|
|
+ /* Write the block now as we are issuing a command */
|
|
+ if (bcmstb->is_blk_shadowed) {
|
|
+ writel(bcmstb->shadow_blk, host->ioaddr + SDHCI_BLOCK_SIZE);
|
|
+ bcmstb->is_blk_shadowed = false;
|
|
+ }
|
|
+ oldval = bcmstb->shadow_cmd;
|
|
+ bcmstb->is_cmd_shadowed = false;
|
|
+ } else if ((reg == SDHCI_BLOCK_SIZE || reg == SDHCI_BLOCK_COUNT) &&
|
|
+ bcmstb->is_blk_shadowed) {
|
|
+ /* Block size and count are stored in shadow reg */
|
|
+ oldval = bcmstb->shadow_blk;
|
|
+ } else {
|
|
+ /* Read reg, all other registers are not shadowed */
|
|
+ oldval = readl(host->ioaddr + (reg & ~3));
|
|
+ }
|
|
+ newval = (oldval & ~mask) | (val << word_shift);
|
|
+
|
|
+ if (reg == SDHCI_TRANSFER_MODE) {
|
|
+ /* Save the transfer mode until the command is issued */
|
|
+ bcmstb->shadow_cmd = newval;
|
|
+ bcmstb->is_cmd_shadowed = true;
|
|
+ } else if (reg == SDHCI_BLOCK_SIZE || reg == SDHCI_BLOCK_COUNT) {
|
|
+ /* Save the block info until the command is issued */
|
|
+ bcmstb->shadow_blk = newval;
|
|
+ bcmstb->is_blk_shadowed = true;
|
|
+ } else {
|
|
+ /* Command or other regular 32-bit write */
|
|
+ writel(newval, host->ioaddr + (reg & ~3));
|
|
+ }
|
|
+}
|
|
+
|
|
+static void sdhci_brcmstb_32bits_writeb(struct sdhci_host *host, u8 val, int reg)
|
|
+{
|
|
+ u32 oldval = readl(host->ioaddr + (reg & ~3));
|
|
+ u32 byte_shift = REG_OFFSET_IN_BITS(reg);
|
|
+ u32 mask = 0xff << byte_shift;
|
|
+ u32 newval = (oldval & ~mask) | (val << byte_shift);
|
|
+
|
|
+ writel(newval, host->ioaddr + (reg & ~3));
|
|
+}
|
|
+
|
|
+static struct sdhci_ops sdhci_brcmstb_ops_2712 = {
|
|
+ .read_b = sdhci_brcmstb_32bits_readb,
|
|
+ .read_w = sdhci_brcmstb_32bits_readw,
|
|
+ .write_w = sdhci_brcmstb_32bits_writew,
|
|
+ .write_b = sdhci_brcmstb_32bits_writeb,
|
|
+};
|
|
+
|
|
+static const struct sdhci_brcmstb_dev_priv match_priv_2712 = {
|
|
+ .init = sdhci_brcmstb_init_2712,
|
|
+ .ops = &sdhci_brcmstb_ops_2712,
|
|
+};
|
|
+
|
|
static const struct udevice_id sdhci_bcmstb_match[] = {
|
|
+ { .compatible = "brcm,bcm2712-sdhci", .data = (ulong)&match_priv_2712 },
|
|
{ .compatible = "brcm,bcm7425-sdhci" },
|
|
{ .compatible = "brcm,sdhci-brcmstb" },
|
|
{ }
|
|
|
|
From patchwork Mon Dec 18 21:03:40 2023
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
X-Patchwork-Id: 1877654
|
|
X-Patchwork-Delegate: pbrobinson@gmail.com
|
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
X-Original-To: incoming@patchwork.ozlabs.org
|
|
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256
|
|
header.s=susede2_rsa header.b=f/19Tx1x;
|
|
dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=e0CvACbS;
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.a=rsa-sha256 header.s=susede2_rsa header.b=f/19Tx1x;
|
|
dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=e0CvACbS;
|
|
dkim-atps=neutral
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
(client-ip=85.214.62.61; helo=phobos.denx.de;
|
|
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
|
|
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature ECDSA (secp384r1))
|
|
(No client certificate requested)
|
|
by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC5339Phz1ydc
|
|
for <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 08:04:55 +1100 (AEDT)
|
|
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
by phobos.denx.de (Postfix) with ESMTP id AEFAE87561;
|
|
Mon, 18 Dec 2023 22:04:02 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de;
|
|
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
Authentication-Results: phobos.denx.de;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.b="f/19Tx1x";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="e0CvACbS";
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="f/19Tx1x";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="e0CvACbS";
|
|
dkim-atps=neutral
|
|
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
id E31C887661; Mon, 18 Dec 2023 22:03:58 +0100 (CET)
|
|
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
X-Spam-Level:
|
|
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
|
T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no
|
|
version=3.4.2
|
|
Received: from smtp-out1.suse.de (smtp-out1.suse.de
|
|
[IPv6:2a07:de40:b251:101:10:150:64:1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by phobos.denx.de (Postfix) with ESMTPS id 23C28875FE
|
|
for <u-boot@lists.denx.de>; Mon, 18 Dec 2023 22:03:53 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de
|
|
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
|
|
[IPv6:2a07:de40:b281:104:10:150:64:97])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by smtp-out1.suse.de (Postfix) with ESMTPS id AA225222AF;
|
|
Mon, 18 Dec 2023 21:03:52 +0000 (UTC)
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=;
|
|
b=f/19Tx1x7UFtAUz8rSw0xZAG55X0OP1hiHqEuhAMQ+G/qEfSEkg6v1FGZhP70gpNWDQQgk
|
|
sr6WvGWKDP0t+jOsv0jDi9ZDrTiDB2ge+exjUPFNEvQP3H5zrjgKVOaqBaoOeLHXs/ay0l
|
|
qSAackxgs89eelJL1qSI3XwtAjq2zlQ=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=;
|
|
b=e0CvACbSltQnSYuEyv3yxtn0hfVqkwt0KNf0fBLAfLwxlC3hb9ebDGcHvra3iPCHYB22X9
|
|
ButpL853ceVzwdDA==
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=;
|
|
b=f/19Tx1x7UFtAUz8rSw0xZAG55X0OP1hiHqEuhAMQ+G/qEfSEkg6v1FGZhP70gpNWDQQgk
|
|
sr6WvGWKDP0t+jOsv0jDi9ZDrTiDB2ge+exjUPFNEvQP3H5zrjgKVOaqBaoOeLHXs/ay0l
|
|
qSAackxgs89eelJL1qSI3XwtAjq2zlQ=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933432;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=;
|
|
b=e0CvACbSltQnSYuEyv3yxtn0hfVqkwt0KNf0fBLAfLwxlC3hb9ebDGcHvra3iPCHYB22X9
|
|
ButpL853ceVzwdDA==
|
|
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 15B1C133E5;
|
|
Mon, 18 Dec 2023 21:03:52 +0000 (UTC)
|
|
Received: from dovecot-director2.suse.de ([10.150.64.162])
|
|
by imap1.dmz-prg2.suse.org with ESMTPSA id 8OvVArizgGUtZAAAD6G6ig
|
|
(envelope-from <iivanov@suse.de>); Mon, 18 Dec 2023 21:03:52 +0000
|
|
From: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
To: Matthias Brugger <mbrugger@suse.com>,
|
|
Peter Robinson <pbrobinson@gmail.com>
|
|
Cc: Dmitry Malkin <dmitry@bedrocksystems.com>,
|
|
Thomas Fitzsimmons <fitzsim@fitzsim.org>, Peng Fan <peng.fan@nxp.com>,
|
|
Jaehoon Chung <jh80.chung@samsung.com>, Anatolij Gustschin <agust@denx.de>,
|
|
wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de,
|
|
"Ivan T. Ivanov" <iivanov@suse.de>
|
|
Subject: [PATCH v3 6/7] configs: rpi_arm64: enable SDHCI BCMSTB driver
|
|
Date: Mon, 18 Dec 2023 23:03:40 +0200
|
|
Message-ID: <20231218210341.30073-7-iivanov@suse.de>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20231218210341.30073-1-iivanov@suse.de>
|
|
References: <20231218210341.30073-1-iivanov@suse.de>
|
|
MIME-Version: 1.0
|
|
Authentication-Results: smtp-out1.suse.de;
|
|
dkim=pass header.d=suse.de header.s=susede2_rsa header.b="f/19Tx1x";
|
|
dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=e0CvACbS
|
|
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
|
|
X-Spamd-Result: default: False [-1.62 / 50.00]; RCVD_VIA_SMTP_AUTH(0.00)[];
|
|
RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
|
|
SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
|
|
TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[];
|
|
BROKEN_CONTENT_TYPE(1.50)[]; RCVD_COUNT_THREE(0.00)[3];
|
|
DKIM_TRACE(0.00)[suse.de:+]; MX_GOOD(-0.01)[];
|
|
RCPT_COUNT_SEVEN(0.00)[11]; NEURAL_HAM_SHORT(-0.20)[-1.000];
|
|
FREEMAIL_TO(0.00)[suse.com,gmail.com]; FROM_EQ_ENVFROM(0.00)[];
|
|
MIME_TRACE(0.00)[0:+]; BAYES_HAM(-0.11)[66.45%];
|
|
ARC_NA(0.00)[];
|
|
R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
RCVD_DKIM_ARC_DNSWL_HI(-1.00)[]; FROM_HAS_DN(0.00)[];
|
|
FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net];
|
|
TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain];
|
|
DWL_DNSWL_HI(-3.50)[suse.de:dkim];
|
|
NEURAL_HAM_LONG(-1.00)[-1.000];
|
|
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
MID_CONTAINS_FROM(1.00)[];
|
|
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:email];
|
|
FUZZY_BLOCKED(0.00)[rspamd.com];
|
|
FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de];
|
|
RCVD_TLS_ALL(0.00)[];
|
|
RCVD_IN_DNSWL_HI(-0.50)[2a07:de40:b281:104:10:150:64:97:from]
|
|
X-Rspamd-Queue-Id: AA225222AF
|
|
X-BeenThere: u-boot@lists.denx.de
|
|
X-Mailman-Version: 2.1.39
|
|
Precedence: list
|
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
List-Post: <mailto:u-boot@lists.denx.de>
|
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
Errors-To: u-boot-bounces@lists.denx.de
|
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
|
|
X-Virus-Status: Clean
|
|
|
|
RPi5 have "brcm,bcm2712-sdhci" controller which is
|
|
handled by "sdhci-bcmstb" driver, so enable it.
|
|
|
|
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
---
|
|
configs/rpi_arm64_defconfig | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig
|
|
index f9dade18f6..1107fd11de 100644
|
|
--- a/configs/rpi_arm64_defconfig
|
|
+++ b/configs/rpi_arm64_defconfig
|
|
@@ -33,6 +33,7 @@ CONFIG_BCM2835_GPIO=y
|
|
CONFIG_MMC_SDHCI=y
|
|
CONFIG_MMC_SDHCI_SDMA=y
|
|
CONFIG_MMC_SDHCI_BCM2835=y
|
|
+CONFIG_MMC_SDHCI_BCMSTB=y
|
|
CONFIG_BCMGENET=y
|
|
CONFIG_PCI_BRCMSTB=y
|
|
CONFIG_PINCTRL=y
|
|
|
|
From patchwork Mon Dec 18 21:03:41 2023
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
X-Patchwork-Submitter: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
X-Patchwork-Id: 1877655
|
|
X-Patchwork-Delegate: pbrobinson@gmail.com
|
|
Return-Path: <u-boot-bounces@lists.denx.de>
|
|
X-Original-To: incoming@patchwork.ozlabs.org
|
|
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256
|
|
header.s=susede2_rsa header.b=1by1WnE8;
|
|
dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=e64lBvSE;
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.a=rsa-sha256 header.s=susede2_rsa header.b=1by1WnE8;
|
|
dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256
|
|
header.s=susede2_ed25519 header.b=e64lBvSE;
|
|
dkim-atps=neutral
|
|
Authentication-Results: legolas.ozlabs.org;
|
|
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
|
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
|
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
|
|
Received: from phobos.denx.de (phobos.denx.de
|
|
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature ECDSA (secp384r1))
|
|
(No client certificate requested)
|
|
by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC5H05zfz1ydc
|
|
for <incoming@patchwork.ozlabs.org>; Tue, 19 Dec 2023 08:05:07 +1100 (AEDT)
|
|
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
|
by phobos.denx.de (Postfix) with ESMTP id 2FBDE87650;
|
|
Mon, 18 Dec 2023 22:04:03 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de;
|
|
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
|
Authentication-Results: phobos.denx.de;
|
|
dkim=pass (1024-bit key;
|
|
unprotected) header.d=suse.de header.i=@suse.de header.b="1by1WnE8";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="e64lBvSE";
|
|
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="1by1WnE8";
|
|
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de
|
|
header.b="e64lBvSE";
|
|
dkim-atps=neutral
|
|
Received: by phobos.denx.de (Postfix, from userid 109)
|
|
id 5D01C876A4; Mon, 18 Dec 2023 22:03:59 +0100 (CET)
|
|
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
|
X-Spam-Level:
|
|
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
|
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
|
T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no
|
|
version=3.4.2
|
|
Received: from smtp-out2.suse.de (smtp-out2.suse.de
|
|
[IPv6:2a07:de40:b251:101:10:150:64:2])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
|
(No client certificate requested)
|
|
by phobos.denx.de (Postfix) with ESMTPS id C279687509
|
|
for <u-boot@lists.denx.de>; Mon, 18 Dec 2023 22:03:53 +0100 (CET)
|
|
Authentication-Results: phobos.denx.de;
|
|
dmarc=pass (p=none dis=none) header.from=suse.de
|
|
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de
|
|
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
|
|
[IPv6:2a07:de40:b281:104:10:150:64:97])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by smtp-out2.suse.de (Postfix) with ESMTPS id 5507C1F6E6;
|
|
Mon, 18 Dec 2023 21:03:53 +0000 (UTC)
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933433;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=;
|
|
b=1by1WnE818KeyiiUhS0PLD7P0c+SSwVEcIdSwLVDSj6t8vZK9vpPNROZRCB9WlZtgGyGUU
|
|
JlRP9h5PowjYnh5OWRH6KbjZ19MG+Fu3rWcMQ+gET5ljKGaRAtFv2t0gDAtmZGheOkf5pW
|
|
KEDUZYxYceI7JKlWcX6QlIjexymId9w=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933433;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=;
|
|
b=e64lBvSEDRhrUCpOd2eVMasuXC6PFNm5B1yOGeNNS+E2HREmMMam1YM4RObadB2tdux/T3
|
|
Galw853x9Gm0wpDA==
|
|
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_rsa;
|
|
t=1702933433;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=;
|
|
b=1by1WnE818KeyiiUhS0PLD7P0c+SSwVEcIdSwLVDSj6t8vZK9vpPNROZRCB9WlZtgGyGUU
|
|
JlRP9h5PowjYnh5OWRH6KbjZ19MG+Fu3rWcMQ+gET5ljKGaRAtFv2t0gDAtmZGheOkf5pW
|
|
KEDUZYxYceI7JKlWcX6QlIjexymId9w=
|
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
|
|
s=susede2_ed25519; t=1702933433;
|
|
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
|
|
mime-version:mime-version:
|
|
content-transfer-encoding:content-transfer-encoding:
|
|
in-reply-to:in-reply-to:references:references;
|
|
bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=;
|
|
b=e64lBvSEDRhrUCpOd2eVMasuXC6PFNm5B1yOGeNNS+E2HREmMMam1YM4RObadB2tdux/T3
|
|
Galw853x9Gm0wpDA==
|
|
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
|
|
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
|
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
|
SHA256)
|
|
(No client certificate requested)
|
|
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BB17413C92;
|
|
Mon, 18 Dec 2023 21:03:52 +0000 (UTC)
|
|
Received: from dovecot-director2.suse.de ([10.150.64.162])
|
|
by imap1.dmz-prg2.suse.org with ESMTPSA id 0JQfK7izgGUtZAAAD6G6ig
|
|
(envelope-from <iivanov@suse.de>); Mon, 18 Dec 2023 21:03:52 +0000
|
|
From: "Ivan T. Ivanov" <iivanov@suse.de>
|
|
To: Matthias Brugger <mbrugger@suse.com>,
|
|
Peter Robinson <pbrobinson@gmail.com>
|
|
Cc: Dmitry Malkin <dmitry@bedrocksystems.com>,
|
|
Thomas Fitzsimmons <fitzsim@fitzsim.org>, Peng Fan <peng.fan@nxp.com>,
|
|
Jaehoon Chung <jh80.chung@samsung.com>, Anatolij Gustschin <agust@denx.de>,
|
|
wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de,
|
|
"Ivan T. Ivanov" <iivanov@suse.de>
|
|
Subject: [PATCH v3 7/7] pci: pcie-brcmstb: Add bcm2712 PCIe controller support
|
|
Date: Mon, 18 Dec 2023 23:03:41 +0200
|
|
Message-ID: <20231218210341.30073-8-iivanov@suse.de>
|
|
X-Mailer: git-send-email 2.43.0
|
|
In-Reply-To: <20231218210341.30073-1-iivanov@suse.de>
|
|
References: <20231218210341.30073-1-iivanov@suse.de>
|
|
MIME-Version: 1.0
|
|
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
|
|
X-Spamd-Bar: /
|
|
X-Spamd-Result: default: False [-0.31 / 50.00]; RCVD_VIA_SMTP_AUTH(0.00)[];
|
|
RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
|
|
TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[];
|
|
BROKEN_CONTENT_TYPE(1.50)[];
|
|
R_RATELIMIT(0.00)[to_ip_from(RLccgikja4sxqnupiwsfdm9q1r)];
|
|
RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[suse.de:+];
|
|
MX_GOOD(-0.01)[]; RCPT_COUNT_SEVEN(0.00)[11];
|
|
FREEMAIL_TO(0.00)[suse.com,gmail.com]; FROM_EQ_ENVFROM(0.00)[];
|
|
MIME_TRACE(0.00)[0:+]; BAYES_HAM(-0.00)[27.73%];
|
|
ARC_NA(0.00)[];
|
|
R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
RCVD_DKIM_ARC_DNSWL_HI(-1.00)[]; FROM_HAS_DN(0.00)[];
|
|
FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net];
|
|
TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain];
|
|
DWL_DNSWL_HI(-3.50)[suse.de:dkim];
|
|
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
|
|
MID_CONTAINS_FROM(1.00)[];
|
|
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:email];
|
|
FUZZY_BLOCKED(0.00)[rspamd.com];
|
|
FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de];
|
|
RCVD_TLS_ALL(0.00)[];
|
|
RCVD_IN_DNSWL_HI(-0.50)[2a07:de40:b281:104:10:150:64:97:from]
|
|
Authentication-Results: smtp-out2.suse.de;
|
|
dkim=pass header.d=suse.de header.s=susede2_rsa header.b=1by1WnE8;
|
|
dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=e64lBvSE
|
|
X-Rspamd-Queue-Id: 5507C1F6E6
|
|
X-BeenThere: u-boot@lists.denx.de
|
|
X-Mailman-Version: 2.1.39
|
|
Precedence: list
|
|
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
|
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
|
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
|
List-Post: <mailto:u-boot@lists.denx.de>
|
|
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
|
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
|
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
|
Errors-To: u-boot-bounces@lists.denx.de
|
|
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
|
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
|
|
X-Virus-Status: Clean
|
|
|
|
PCIe controller have minor register map difference compared
|
|
to bcm2711 variant. Handle this using device specific register
|
|
offset.
|
|
|
|
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
---
|
|
drivers/pci/pcie_brcmstb.c | 23 +++++++++++++++++++----
|
|
1 file changed, 19 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/drivers/pci/pcie_brcmstb.c b/drivers/pci/pcie_brcmstb.c
|
|
index cd45f0bee9..d63e715b2e 100644
|
|
--- a/drivers/pci/pcie_brcmstb.c
|
|
+++ b/drivers/pci/pcie_brcmstb.c
|
|
@@ -90,7 +90,6 @@
|
|
#define PCIE_MEM_WIN0_LIMIT_HI(win) \
|
|
PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8)
|
|
|
|
-#define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204
|
|
#define PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000
|
|
|
|
#define PCIE_MSI_INTR2_CLR 0x4508
|
|
@@ -131,6 +130,10 @@
|
|
#define SSC_STATUS_PLL_LOCK_MASK 0x800
|
|
#define SSC_STATUS_PLL_LOCK_SHIFT 11
|
|
|
|
+struct pcie_cfg_data {
|
|
+ unsigned long hard_debug_offs;
|
|
+};
|
|
+
|
|
/**
|
|
* struct brcm_pcie - the PCIe controller state
|
|
* @base: Base address of memory mapped IO registers of the controller
|
|
@@ -141,6 +144,7 @@
|
|
struct brcm_pcie {
|
|
void __iomem *base;
|
|
|
|
+ struct pcie_cfg_data *cfg;
|
|
int gen;
|
|
bool ssc;
|
|
};
|
|
@@ -458,7 +462,7 @@ static int brcm_pcie_probe(struct udevice *dev)
|
|
/* Take the bridge out of reset */
|
|
clrbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK);
|
|
|
|
- clrbits_le32(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG,
|
|
+ clrbits_le32(base + pcie->cfg->hard_debug_offs,
|
|
PCIE_HARD_DEBUG_SERDES_IDDQ_MASK);
|
|
|
|
/* Wait for SerDes to be stable */
|
|
@@ -599,7 +603,7 @@ static int brcm_pcie_remove(struct udevice *dev)
|
|
setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_PERST_MASK);
|
|
|
|
/* Turn off SerDes */
|
|
- setbits_le32(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG,
|
|
+ setbits_le32(base + pcie->cfg->hard_debug_offs,
|
|
PCIE_HARD_DEBUG_SERDES_IDDQ_MASK);
|
|
|
|
/* Shutdown bridge */
|
|
@@ -620,6 +624,8 @@ static int brcm_pcie_of_to_plat(struct udevice *dev)
|
|
if (!pcie->base)
|
|
return -EINVAL;
|
|
|
|
+ pcie->cfg = (struct pcie_cfg_data *)dev_get_driver_data(dev);
|
|
+
|
|
pcie->ssc = ofnode_read_bool(dn, "brcm,enable-ssc");
|
|
|
|
ret = ofnode_read_u32(dn, "max-link-speed", &max_link_speed);
|
|
@@ -636,8 +642,17 @@ static const struct dm_pci_ops brcm_pcie_ops = {
|
|
.write_config = brcm_pcie_write_config,
|
|
};
|
|
|
|
+static const struct pcie_cfg_data bcm2711_cfg = {
|
|
+ .hard_debug_offs = 0x4204
|
|
+};
|
|
+
|
|
+static const struct pcie_cfg_data bcm2712_cfg = {
|
|
+ .hard_debug_offs = 0x4304
|
|
+};
|
|
+
|
|
static const struct udevice_id brcm_pcie_ids[] = {
|
|
- { .compatible = "brcm,bcm2711-pcie" },
|
|
+ { .compatible = "brcm,bcm2711-pcie", .data = (ulong)&bcm2711_cfg },
|
|
+ { .compatible = "brcm,bcm2712-pcie", .data = (ulong)&bcm2712_cfg },
|
|
{ }
|
|
};
|
|
|