From patchwork Mon Dec 27 10:38:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukasz Majewski X-Patchwork-Id: 1573336 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=denx.de header.i=@denx.de header.a=rsa-sha256 header.s=phobos-20191101 header.b=VuhvSKEA; dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.a=rsa-sha256 header.s=phobos-20191101 header.b=TXctSxhd; dkim-atps=neutral Authentication-Results: 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=) 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 RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JMvKZ0dvzz9sXS for ; Mon, 27 Dec 2021 21:38:56 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5A62B837F8; Mon, 27 Dec 2021 11:38:40 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1640601520; bh=iEIXiFwxQxkYv8nlNsSbKnJWt4EmGSRZL4RWqHyuVcw=; h=From:To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=VuhvSKEA3VALi5qFPLiHoqFBjUNiB0dNnAZfm3i0Ej7jFMV5u5+IvO54aaG0h2eM9 ZfDDLFtNXMyypT08VMuKOmIscsKt3yK/nY7yMly9d7BsxdAyNGz/RpmoiFIim9Ukms RR/S3R6ErRS1GgRsM3tr9bxix++s9rg4cnfU47UXwaHObZChyKDkzP5YKnAiDoYFwB 7n9K3XSxoKqqdluLL6cdA08yrvJgQpk906QwUY1M+poWd6AHIH9C/8vXfQJTybGaeX 722QpOIxWCfQg6aqFXwL1co9FZwbGQF4v8BXlODPg0ZflbGRQrwh4QNq6kVSace8rS yYupYBKlUpv/Q== Received: from localhost.localdomain (85-222-111-42.dynamic.chello.pl [85.222.111.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: lukma@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 536FC82F65; Mon, 27 Dec 2021 11:38:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1640601518; bh=iEIXiFwxQxkYv8nlNsSbKnJWt4EmGSRZL4RWqHyuVcw=; h=From:To:Cc:Subject:Date:From; b=TXctSxhd3DdLPf69PqziW30PYB3UgmWr6lsKmZPsTivsrhvyWEqzIVrrVMXwN3z2u dZWFZ9zV64KP0pn4HPaeQjlSQUY2GzlcdHJh40xReH8iSeO/FdSSdeRq7PZhORzQom ht3JWkvg6W2PLDy+36zKaXqmfHfWznoyw4UkzPpmO3SrQGUWimXm3SxRBgNEPZyVyQ gmejbu8nWpiUd+60JaCj++siGHceYKxWFiUbL7er1E/sPZsiD7VHFZyGc+CAZdsfAS MgnsN3n90mEfQnceKHHMglu/XsdutThjJbkeTxAmWbRac/gOK9d2WneaTKDsmCKzHo 80h9SipowwYfg== From: Lukasz Majewski To: u-boot@lists.denx.de, Stefano Babic , Tom Rini Cc: Lukasz Majewski Subject: [PATCH v3] arm: xea: Modify board code to generate single binary u-boot Date: Mon, 27 Dec 2021 11:38:21 +0100 Message-Id: <20211227103821.30336-1-lukma@denx.de> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean This change provides the possibility to build XEA (imx287 based) board U-Boot as a single binary (without support for CONFIG_SPL_FRAMEWORK). The generated u-boot.sb can be used in the factory environment to for example perform initial setup or HW testing. It can be used with 'uuu' utility (SDPS: boot -f /srv/tftp/xea/u-boot.sb) In the configs/imx28_xea_defconfig one needs to disable following configs: # CONFIG_SPL_BLK is not set # CONFIG_SPL_FRAMEWORK is not set The board_init_ll() is used in arch/arm/cpu/arm926ejs/mxs/start.S, which is utilized when CONFIG_SPL_FRAMEWORK is disabled. However, when it is enabled - the arch/arm/cpu/arm926ejs/start.S is used, which requires the lowlevel_init() function. Signed-off-by: Lukasz Majewski --- Changes in v3: - Use just #ifdef for CONFIG_SPL_BUILD and CONFIG_SPL_FRAMEWORK as those two are some kind of a special defines for low level code Changes in v2: - Use CONFIG_IS_ENABLED(FRAMEWORK) instead of #ifdef CONFIG_SPL_FRAMEWORK (previous version used CONFIG_IS_ENABLED(SPL_FRAMEWORK), which was wrong). - Restructure spl_xea.c code to be more readable board/liebherr/xea/spl_xea.c | 7 +++++++ board/liebherr/xea/xea.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/board/liebherr/xea/spl_xea.c b/board/liebherr/xea/spl_xea.c index 192f68fca5..df354cac64 100644 --- a/board/liebherr/xea/spl_xea.c +++ b/board/liebherr/xea/spl_xea.c @@ -290,6 +290,12 @@ u32 mxs_dram_vals[] = { 0x00000000, 0xffffffff }; +#ifndef CONFIG_SPL_FRAMEWORK +void board_init_ll(const u32 arg, const uint32_t *resptr) +{ + mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup)); +} +#else void lowlevel_init(void) { struct mxs_pinctrl_regs *pinctrl_regs = @@ -301,3 +307,4 @@ void lowlevel_init(void) mxs_common_spl_init(0, NULL, iomux_setup, ARRAY_SIZE(iomux_setup)); } +#endif diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c index cd11b0ada7..38e841c5f6 100644 --- a/board/liebherr/xea/xea.c +++ b/board/liebherr/xea/xea.c @@ -58,7 +58,7 @@ static void init_clocks(void) mxs_set_sspclk(MXC_SSPCLK3, 96000, 0); } -#ifdef CONFIG_SPL_BUILD +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_FRAMEWORK) void board_init_f(ulong arg) { init_clocks();