From patchwork Sun May 9 13:20:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 1475965 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=YRNh+wZH; dkim-atps=neutral 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)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FdPxx5YZ2z9tkD for ; Sun, 9 May 2021 23:23:01 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C62D282ECE; Sun, 9 May 2021 15:21:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="YRNh+wZH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 853CD82EC6; Sun, 9 May 2021 15:21:09 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 93BE882EB9 for ; Sun, 9 May 2021 15:21:04 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=bmeng.cn@gmail.com Received: by mail-pf1-x431.google.com with SMTP id i190so11734975pfc.12 for ; Sun, 09 May 2021 06:21:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nIZE/GOtFB7EXYcsi1mY/xcMRLRlvj+uDchxOuEWoxY=; b=YRNh+wZHJ/H5sW15My8XR+H07FTths4fuV2rFfAnE0q3tkSplEGEtFIYskvJe9Bu7Y d38WY+B7akYUbxSMQb2TqRNmKGdFKxtyn6Dy89Y7V0TIiEZwd21V9Eyh3tk3086TBNYv CWWC+WNyk2CahrixCb5Sq7eY4qNr56Htm4SAjVdY+YeK3C+2zQrFJgB9j/ddCZ/8+xqW FZ+3E6Mkw9h88jC8jesvWgCUlOAZ2tGctPJRoigB1IrqVvwJIWPU3iozeEIwSvJy4/qm kieZzxxxJBkvZOA/M3BbMquu/PBKRv9PsLQ12KCycKcQbrSABkHq9Rj5B2ze5QyftalA Qu7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nIZE/GOtFB7EXYcsi1mY/xcMRLRlvj+uDchxOuEWoxY=; b=aSTcLZDmyHRBYGFArVHdsiyMH+Vr6LG2wDupcPJNcOPBc/IDFD/RSLjUg0vYPwUPNZ j4xYL0GlcaryIxbar+sE94amBHBk9KtTSES/uBqwzbZDpEXkDaLY1gmUV8Lg0otHLv36 ae247KhgG55ysO3eZflk7TZqkGPCK56aRH54Bpa5yEJYymv2IihhAIgbBlkpTEjUuvT5 WCTCzMeq3lyrNiX1k0OY5rDkvWTzOtlCrcaCCJcXKExIoMEmcdOcV74Mz2oeHuu9Mk7S f/Uaimaagiq8/0cqj2qSW3iw/UK2ib8Qz19BSMJgZ17oyYoR1YrF0KMDPmYiEWOtgQ4z blPA== X-Gm-Message-State: AOAM530Aw/h2ECJOPZ8c+DhK73YZjiMRKuzp4Q9TLmY6EX8fBDG3Aa5T KS6e6MUx/rtUWB/MoihUVJg= X-Google-Smtp-Source: ABdhPJzq/DgKZTwyuddwFKoKmj3FTD3jQAuuT2dycffiDdC/GM2sexmJjTl/L5ZooPjytWMTvRZ5tg== X-Received: by 2002:aa7:824e:0:b029:20a:3a1:eeda with SMTP id e14-20020aa7824e0000b029020a03a1eedamr20068217pfn.71.1620566463161; Sun, 09 May 2021 06:21:03 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id a7sm8678112pfo.211.2021.05.09.06.21.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 06:21:02 -0700 (PDT) From: Bin Meng To: Simon Glass , Rick Chen , u-boot@lists.denx.de Cc: Bin Meng Subject: [PATCH v3 11/13] riscv: qemu: Switch to use binman to generate u-boot.itb Date: Sun, 9 May 2021 21:20:26 +0800 Message-Id: <20210509132028.12794-12-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210509132028.12794-1-bmeng.cn@gmail.com> References: <20210509132028.12794-1-bmeng.cn@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.4 at phobos.denx.de X-Virus-Status: Clean By utilizing the newly introduced BINMAN_STANDALONE_FDT option, along with a new dedicated device tree source file for the QEMU virt target used for binman only, we can now use binman to generate u-boot.itb. Signed-off-by: Bin Meng Reviewed-by: Simon Glass --- (no changes since v2) Changes in v2: - new patch: "riscv: qemu: Switch to use binman to generate u-boot.itb" arch/riscv/cpu/generic/Kconfig | 1 + arch/riscv/dts/Makefile | 1 + arch/riscv/dts/binman.dtsi | 8 ++++++++ arch/riscv/dts/qemu-virt.dts | 8 ++++++++ configs/qemu-riscv32_spl_defconfig | 2 ++ configs/qemu-riscv64_spl_defconfig | 2 ++ 6 files changed, 22 insertions(+) create mode 100644 arch/riscv/dts/qemu-virt.dts diff --git a/arch/riscv/cpu/generic/Kconfig b/arch/riscv/cpu/generic/Kconfig index 198e36e969..a4934bb957 100644 --- a/arch/riscv/cpu/generic/Kconfig +++ b/arch/riscv/cpu/generic/Kconfig @@ -4,6 +4,7 @@ config GENERIC_RISCV bool + select BINMAN if SPL select ARCH_EARLY_INIT_R imply CPU imply CPU_RISCV diff --git a/arch/riscv/dts/Makefile b/arch/riscv/dts/Makefile index 3780334875..26ef853282 100644 --- a/arch/riscv/dts/Makefile +++ b/arch/riscv/dts/Makefile @@ -2,6 +2,7 @@ dtb-$(CONFIG_TARGET_AX25_AE350) += ae350_32.dtb ae350_64.dtb dtb-$(CONFIG_TARGET_MICROCHIP_ICICLE) += microchip-mpfs-icicle-kit.dtb +dtb-$(CONFIG_TARGET_QEMU_VIRT) += qemu-virt.dtb dtb-$(CONFIG_TARGET_SIFIVE_UNLEASHED) += hifive-unleashed-a00.dtb dtb-$(CONFIG_TARGET_SIPEED_MAIX) += k210-maix-bit.dtb diff --git a/arch/riscv/dts/binman.dtsi b/arch/riscv/dts/binman.dtsi index e02597e73d..d26cfdb78a 100644 --- a/arch/riscv/dts/binman.dtsi +++ b/arch/riscv/dts/binman.dtsi @@ -48,21 +48,29 @@ }; }; +#ifndef CONFIG_OF_PRIOR_STAGE @fdt-SEQ { description = "NAME"; type = "flat_dt"; compression = "none"; }; +#endif }; configurations { default = "conf-1"; +#ifndef CONFIG_OF_PRIOR_STAGE @conf-SEQ { +#else + conf-1 { +#endif description = "NAME"; firmware = "opensbi"; loadables = "uboot"; +#ifndef CONFIG_OF_PRIOR_STAGE fdt = "fdt-SEQ"; +#endif }; }; }; diff --git a/arch/riscv/dts/qemu-virt.dts b/arch/riscv/dts/qemu-virt.dts new file mode 100644 index 0000000000..fecff542b9 --- /dev/null +++ b/arch/riscv/dts/qemu-virt.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2021, Bin Meng + */ + +/dts-v1/; + +#include "binman.dtsi" diff --git a/configs/qemu-riscv32_spl_defconfig b/configs/qemu-riscv32_spl_defconfig index 18dfe33ca8..a4c156612a 100644 --- a/configs/qemu-riscv32_spl_defconfig +++ b/configs/qemu-riscv32_spl_defconfig @@ -2,11 +2,13 @@ CONFIG_RISCV=y CONFIG_NR_DRAM_BANKS=1 CONFIG_ENV_SIZE=0x20000 CONFIG_SPL=y +CONFIG_DEFAULT_DEVICE_TREE="qemu-virt" CONFIG_TARGET_QEMU_VIRT=y CONFIG_RISCV_SMODE=y CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000 +# CONFIG_USE_SPL_FIT_GENERATOR is not set CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_BOARDINFO=y # CONFIG_CMD_MII is not set diff --git a/configs/qemu-riscv64_spl_defconfig b/configs/qemu-riscv64_spl_defconfig index 897adf6a29..6c680483ce 100644 --- a/configs/qemu-riscv64_spl_defconfig +++ b/configs/qemu-riscv64_spl_defconfig @@ -2,12 +2,14 @@ CONFIG_RISCV=y CONFIG_NR_DRAM_BANKS=1 CONFIG_ENV_SIZE=0x20000 CONFIG_SPL=y +CONFIG_DEFAULT_DEVICE_TREE="qemu-virt" CONFIG_TARGET_QEMU_VIRT=y CONFIG_ARCH_RV64I=y CONFIG_RISCV_SMODE=y CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000 +# CONFIG_USE_SPL_FIT_GENERATOR is not set CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_BOARDINFO=y # CONFIG_CMD_MII is not set