From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 23 Jul 2026 16:02:07 +0200 Received: from mx1.white.stw.pengutronix.de ([2a0a:edc0:0:b01:1d::107]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wmtzz-001zAr-0t for lore@lore.pengutronix.de; Thu, 23 Jul 2026 16:02:07 +0200 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by mx1.white.stw.pengutronix.de (Postfix) with ESMTPS id AB406202586 for ; Thu, 23 Jul 2026 16:02:07 +0200 (CEST) Authentication-Results: mx1.white.stw.pengutronix.de; dkim=pass header.d=lists.infradead.org header.s=bombadil.20210309 header.b=ftERY07u; dkim=pass header.d=kernel.org header.s=k20201202 header.b=CoUKph96; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (mx1.white.stw.pengutronix.de: domain of "barebox-bounces+lore=pengutronix.de@lists.infradead.org" designates 2607:7c80:54:3::133 as permitted sender) smtp.mailfrom="barebox-bounces+lore=pengutronix.de@lists.infradead.org" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BeX8+kTa61xZPnUkppW9+b+H0BZzWDSeKmeldsJoiYM=; b=ftERY07uSzHXOBGrZG+GivoweV hLklvArp0StWjIQ3NLLCWfmI/+3Bcxvvv6vj483x0Mavx3jZ+TdgWT36SsZvK6b01nGN+lBHF+jxF 6OLMBl2tNnXnB9aAHGSRgbc/tsGPWKgFcegWWVE9dKkoBJn2bmO1vpN/K9WvE8+gY1+l0P/vpFipf c0GyFSZ4Dqxl3QiUU4Imj1fZeeQ59utMJMqJoPjkaPWMZiB3rmSU6zaOHpxYfXfuvtMd9FRN3WFJf 3RWn//S4Ep/92WV5iUVMrAEGAxXiP54RAcqJdftwG1nyr7Tq4/7M8kWzvAHG/nqypLGM9NVEDEWXh x3nqANfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wmtvE-0000000EQRF-3XBp; Thu, 23 Jul 2026 13:57:12 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wmtvA-0000000EQMC-3uRJ for barebox@lists.infradead.org; Thu, 23 Jul 2026 13:57:09 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 3864760A70; Thu, 23 Jul 2026 13:57:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id E1DE4C2BCC7; Thu, 23 Jul 2026 13:57:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1784815027; bh=kWG3tp5AgUOvl+EOkOJQE83Xyj/PR6oH91MUaotkpcE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=CoUKph96trkhfKVivnuNCOig8waaZQJLHxQBOlPg9NzHN1As2xdJ6i4Hxl8ttDhzu Na8G/z3AonCnIbtITigSBlKNwEFCOKrNmN0HY2Bsx6clSL07mZkYfxgLCVK1aqtynz +qxWCWpiXE8ChgzS8TofTk6jOXt8aGkW6bH2D5rSmHeoHGkt8h07ovgCivVfj1BI3g sQPGASMAw2azPyjUZ0AeL87IZJlL37GOz0k+SYx0g+9CLo5OLHR9fWfKH382QIVa7Z 2R4GAIgmoc4+uXIwktfSeagQ6h1VkMW88Cf74+qmX5AR5kOjTvcWXtEAyKqGJ+H4IM QObbLVrvxOYRA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D21D1C531D2; Thu, 23 Jul 2026 13:57:07 +0000 (UTC) From: Luca Lauro via B4 Relay Date: Thu, 23 Jul 2026 15:57:47 +0200 Subject: [PATCH 09/19] ARM: mvebu: add lowlevel support for Netgear RN104 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260723-rn102-rn104-series-v1-9-7698d25df866@gmail.com> References: <20260723-rn102-rn104-series-v1-0-7698d25df866@gmail.com> In-Reply-To: <20260723-rn102-rn104-series-v1-0-7698d25df866@gmail.com> To: Sascha Hauer , "open list:BAREBOX" Cc: Luca Lauro X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784815061; l=1882; i=famlauro93l@gmail.com; s=20260723; h=from:subject:message-id; bh=ZnmWEwKuJfDye7aJF8fWx4G4qnFxtjev2+5OWgN13Bs=; b=be8NV85NWaOxbmiBNmY2Gw1ZoeZb8Pmvj1+0XY2grxX5bZ1gsKnyfTI+aoDVBrd6v0i7FVsUm Ox2ZjjrSfWWB0lH8aBRxxvIOJ5v3bVgQokRxMjLvKyTeN/ByK7DHPn1 X-Developer-Key: i=famlauro93l@gmail.com; a=ed25519; pk=OAJlcD69ugQCl99Vy6w+Aeu+ZUb1IVGcz1Ijxo6Ch78= X-Endpoint-Received: by B4 Relay for famlauro93l@gmail.com/20260723 with auth_id=892 X-Original-From: Luca Lauro X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: famlauro93l@gmail.com Sender: "barebox" X-Spamd-Result: default: False [-6.91 / 15.00]; DWL_DNSWL_MED(-4.00)[infradead.org:dkim,kernel.org:dkim]; BAYES_HAM(-3.00)[100.00%]; FREEMAIL_REPLYTO_NEQ_FROM(2.00)[]; DMARC_POLICY_ALLOW(-0.50)[kernel.org,quarantine]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; MAILLIST(-0.20)[mailman]; R_SPF_ALLOW(-0.20)[+mx:c]; RCVD_IN_DNSWL_MED(-0.20)[2607:7c80:54:3::133:from]; R_DKIM_ALLOW(-0.20)[lists.infradead.org:s=bombadil.20210309,kernel.org:s=k20201202]; MIME_GOOD(-0.10)[text/plain]; HAS_LIST_UNSUB(-0.01)[]; RCVD_TLS_LAST(0.00)[]; RECEIVED_HELO_LOCALHOST(0.00)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; FORGED_SENDER(0.00)[devnull@kernel.org,barebox-bounces@lists.infradead.org]; FREEMAIL_REPLYTO(0.00)[gmail.com]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; FORWARDED(0.00)[barebox@lists.infradead.org]; TO_DN_ALL(0.00)[]; FREEMAIL_CC(0.00)[gmail.com]; REPLYTO_DOM_NEQ_FROM_DOM(0.00)[]; FORGED_SENDER_FORWARDING(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; FROM_NEQ_ENVFROM(0.00)[devnull@kernel.org,barebox-bounces@lists.infradead.org]; FROM_HAS_DN(0.00)[]; TAGGED_FROM(0.00)[lore=pengutronix.de,famlauro93l.gmail.com]; NEURAL_HAM(-0.00)[-1.000]; ASN(0.00)[asn:7247, ipnet:2607:7c80:54::/48, country:US]; REPLYTO_DOM_NEQ_TO_DOM(0.00)[]; FORGED_SENDER_MAILLIST(0.00)[]; DKIM_TRACE(0.00)[lists.infradead.org:+,kernel.org:+]; RCPT_COUNT_THREE(0.00)[3]; HAS_REPLYTO(0.00)[famlauro93l@gmail.com] X-Rspamd-Action: no action X-Rspamd-Queue-Id: AB406202586 X-Rspamd-Server: mx1 X-Stat-Signature: na5na3qd8b57jseuiskorcfd8dab33tr From: Luca Lauro --- arch/arm/boards/netgear-rn104/lowlevel.c | 43 +++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/arch/arm/boards/netgear-rn104/lowlevel.c b/arch/arm/boards/netgear-rn104/lowlevel.c index e693d13993..4fb5b6432b 100644 --- a/arch/arm/boards/netgear-rn104/lowlevel.c +++ b/arch/arm/boards/netgear-rn104/lowlevel.c @@ -1,24 +1,49 @@ // SPDX-License-Identifier: GPL-2.0-only -/* - * Copyright (C) 2014 Uwe Kleine-Koenig - */ - #include #include -#include #include +#include +#include extern char __dtb_armada_370_rn104_bb_start[]; -ENTRY_FUNCTION_MVEBU(start_netgear_rn104, r0, r1, r2) +#define INTERNAL_REG_BASE_ADDR 0x20080 + +static __always_inline void mvebu_remap_registers(void) +{ + void __iomem *base = mvebu_get_initial_int_reg_base(); + + writel(MVEBU_REMAP_INT_REG_BASE, base + INTERNAL_REG_BASE_ADDR); +} + +static unsigned long armada_370_xp_memory_find(void) { - void *fdt; + unsigned long mem_size = 0; + + for (int cs = 0; cs < 4; cs++) { + u32 ctrl = readl(ARMADA_370_XP_SDRAM_BASE + DDR_SIZE_CSn(cs)); + + /* Skip non-enabled CS */ + if ((ctrl & DDR_SIZE_ENABLED) != DDR_SIZE_ENABLED) + continue; + + mem_size += (ctrl | ~DDR_SIZE_MASK) + 1; + } - arm_cpu_lowlevel_init(); + return mem_size; +} + +ENTRY_FUNCTION_MVEBU(start_netgear_rn104, r0, r1, r2) +{ + void *fdt; + arm_cpu_lowlevel_init(); + fdt = __dtb_armada_370_rn104_bb_start + get_runtime_offset(); - armada_370_xp_barebox_entry(fdt); + mvebu_remap_registers(); + barebox_arm_entry(0, armada_370_xp_memory_find(), fdt); + // armada_370_xp_barebox_entry(fdt); } -- 2.47.3