From patchwork Thu Apr 11 04:25:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Watts X-Patchwork-Id: 1922372 X-Patchwork-Delegate: andre.przywara@arm.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=jookia.org header.i=@jookia.org header.a=rsa-sha256 header.s=key1 header.b=r/qc+QET; 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 4VFRYR4Q94z1yY8 for ; Thu, 11 Apr 2024 14:29:31 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3129F881ED; Thu, 11 Apr 2024 06:28:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=jookia.org 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=jookia.org header.i=@jookia.org header.b="r/qc+QET"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id DCD49881ED; Thu, 11 Apr 2024 06:28:54 +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.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from out-178.mta1.migadu.com (out-178.mta1.migadu.com [95.215.58.178]) (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 F2D9087FA0 for ; Thu, 11 Apr 2024 06:28:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=jookia.org Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=contact@jookia.org X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jookia.org; s=key1; t=1712809732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ndmw9EoGFOkwrg4HAacK103v5QjvNF30TsMgj55xx78=; b=r/qc+QET10aA8LehkWT7tMwOVAbjU5pcfryLoSvJT15nPmeanKQZEmR81SX+BDVVwjcbUp 3XBfhTSDP9MUNx82A8VGzllgJPAvpkZq4wXdIeHEFPVcrvbGJ0YlHwLH4O7pjTCVJsIE5c xPp21C96ZYj1YhwwzC5TQ032xvkTDn6t6A3fxkXfZfj88irz1PJq/TiIDdUjTGT0RzXU/V erBgLc9P3AOz2OBL8PpQjcxnRATAYN4U1+Bvv0UMODTwnTnpZK1kZyEaCZas+6AsRTUjQ5 aJSv4r94UttK1QLSs1w66qPcCI8Ox+7tpk91zOT5CRyYVATFcPttQuuPHyyzRw== From: John Watts Date: Thu, 11 Apr 2024 14:25:31 +1000 Subject: [PATCH RFC 14/15] spl: Support SPI NAND boot in UBI MIME-Version: 1.0 Message-Id: <20240411-spinand-v1-14-62d31bb188e8@jookia.org> References: <20240411-spinand-v1-0-62d31bb188e8@jookia.org> In-Reply-To: <20240411-spinand-v1-0-62d31bb188e8@jookia.org> To: Jagan Teki , Andre Przywara , Tom Rini , Daniel Schwierzeck , Rick Chen , Leo , Simon Glass Cc: u-boot@lists.denx.de, John Watts X-Developer-Signature: v=1; a=openssh-sha256; t=1712809591; l=1613; i=contact@jookia.org; h=from:subject:message-id; bh=K7004TES0uyJJQeZPLgqmp916jd9SmnINVNsn+TfY84=; b=U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgpGuA3uho2 8zVxm554DVLHyl4gq5/nBHglU5WIWN8/zYAAAAEc3NoOgAAAAZwYXRhdHQAAAAAAAAABnNoYTUx MgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABAz4Dv3JSv959NKqLPc9sSGkm yQBEM9QixMLP6f1OssL0er67gQu+Hp0DQwcT+8nA8cU6AU06SIaXmoeOJJmKoCAUAAOmA X-Developer-Key: i=contact@jookia.org; a=openssh; fpr=SHA256:6LBQmZH5u7i/edmEZXzCTwCrpSevs/ZshZxNmlD1thY X-Migadu-Flow: FLOW_OUT X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.8 at phobos.denx.de X-Virus-Status: Clean UBI supports traditional NAND and oneNAND devices already, so add support for booting from SPI NAND devices. Signed-off-by: John Watts --- common/spl/spl_ubi.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/common/spl/spl_ubi.c b/common/spl/spl_ubi.c index d7ab9efd11..72b4b195ed 100644 --- a/common/spl/spl_ubi.c +++ b/common/spl/spl_ubi.c @@ -21,6 +21,13 @@ int spl_ubi_load_image(struct spl_image_info *spl_image, int ret = 1; switch (bootdev->boot_device) { +#ifdef CONFIG_SPL_SPINAND_SUPPORT + case BOOT_DEVICE_SPINAND: + spinand_init(); + info.read = spinand_spl_read_block; + info.peb_size = CONFIG_SPL_SPINAND_BLOCK_SIZE; + break; +#endif #ifdef CONFIG_SPL_NAND_SUPPORT case BOOT_DEVICE_NAND: nand_init(); @@ -77,12 +84,18 @@ int spl_ubi_load_image(struct spl_image_info *spl_image, if (!ret) spl_parse_image_header(spl_image, bootdev, header); out: +#ifdef CONFIG_SPL_SPINAND_SUPPORT + if (bootdev->boot_device == BOOT_DEVICE_SPINAND) + spinand_deselect(); +#endif #ifdef CONFIG_SPL_NAND_SUPPORT if (bootdev->boot_device == BOOT_DEVICE_NAND) nand_deselect(); #endif return ret; } -/* Use priorty 0 so that Ubi will override NAND and ONENAND methods */ + +/* Use priority 0 so that UBI will override all NAND methods */ SPL_LOAD_IMAGE_METHOD("NAND", 0, BOOT_DEVICE_NAND, spl_ubi_load_image); SPL_LOAD_IMAGE_METHOD("OneNAND", 0, BOOT_DEVICE_ONENAND, spl_ubi_load_image); +SPL_LOAD_IMAGE_METHOD("SPINAND", 0, BOOT_DEVICE_SPINAND, spl_ubi_load_image);