From patchwork Sat Jul 22 08:40:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 1811220 X-Patchwork-Delegate: tudor.ambarus@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=oydFSmlC; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=Q8CDUX1g; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4R7Kdc4xnsz1yYc for ; Sat, 22 Jul 2023 18:41:08 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rjEtb/NtQGCWdQSe8UArZ6fWDi94XYriVaMhNyfcjvY=; b=oydFSmlCqN9CqE s3OFB8YClbUMGLMr5fhlUC5hUf1Nee6/kQBI/hamns10TsLoMQsOYaysf09lQsRAuVSoxkgbeskmH 1ZEMhc9aQEDMfKM/L7fHglcCJrZgPEm+g4jXhWWHoEVlMrcz80G8G67NYaZs+yX31YNKMCLCwtz6v uMr1V3wOn1ca5LRxUT7PDwXpww+0nAKjrZqLJgLpnmvkV5Ol7WS5jTda+wRCe+kYyosT0ZLaqvyco 7yamaNZe6ngk3wLHt1LoV++B5E/2svbw1GlMrTRsOROWWpk45Zrc+ZW7hdRjSIyASG+afjmwKRutX rVNJPrGs4yW8D2+ajn4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qN8AL-00GADZ-1B; Sat, 22 Jul 2023 08:40:41 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qN8AG-00GAAE-18 for linux-mtd@lists.infradead.org; Sat, 22 Jul 2023 08:40:37 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-992ace062f3so433614566b.2 for ; Sat, 22 Jul 2023 01:40:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690015235; x=1690620035; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0zR/M8U1wHDKNH5FK18SqWQfcxUTegtHbVe9hHuhxRk=; b=Q8CDUX1g919ChNF1aXrbToRMtSAuo4l2fClsOX5A9ydH5K3MX+x0uEDUreGg61XcfB 0OexDaywZdd8lWC6tOn03l8mAm/is66saBlUY7CHBgwVWaRBmAPF41E4SYUelMxeCS4h qzPpU4Z0NUecnH8BfjQ9sdHYImROoh1B2XpTgopDL+7gKjGa+9LMJD7/GJ40g1fQC2lX mRlTfWInp0HqYNBHScwezmMWfzH9UJxktF70q4yL+0QGB8GhEw/fBuC1eBQvEAhuEtNb b2MxBGKhTdk1dyy+XiihQ6C7Krl7+usdDOAyRECIh8/jz3tyKYrqQtOjx3hQBlYd078S DwNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690015235; x=1690620035; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0zR/M8U1wHDKNH5FK18SqWQfcxUTegtHbVe9hHuhxRk=; b=d/ViFXSF9d6s0o7d/OkNqEFJd+ESgoEVYNKQ4PgZC2LS7Rya4n+duJ2p9PjA1TF139 UTCu5ZArKvhe3uorJY4NxND8vRS5p7r2/n+13L4zYwH92zSeCmEthjqg6wKbTx6MZ3cy AsQ920X+RluSEkGBtU262VFyyxCga4NjLGvSvQOnms7iDTRMP7BPb0NfhAy6PObw1omR bMGwf4ZbvEYrinId80ENB9Re3BlMx9EewtaRBcaelQFq3X36uy8LFPB31gixfVfD+BXH OtiSvtd8kvSPwLc4KiXZzKoz+Egq4FcoIIsPMIx+cINt04LauzUc0+VIks1KORje/MrS p8WA== X-Gm-Message-State: ABy/qLY4YeStH4GHcUy3DfjXFU7QlP/yyldu4MI5Qrf3JkUEb9To0G0u Rt7Wacn7JwR6DpjBBGKnF2iCmw== X-Google-Smtp-Source: APBJJlFLqt4xcTFAt2SORNGL+XlPD4TKMSXUYNLhF5LHkHtv5TWjMVJb4msGeL3AmaHBWHpP/Kp8Lg== X-Received: by 2002:a17:907:a056:b0:994:5396:e322 with SMTP id gz22-20020a170907a05600b009945396e322mr3888825ejc.1.1690015235212; Sat, 22 Jul 2023 01:40:35 -0700 (PDT) Received: from 1.. ([79.115.63.16]) by smtp.gmail.com with ESMTPSA id w8-20020a170906130800b00992b510089asm3253861ejb.84.2023.07.22.01.40.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Jul 2023 01:40:34 -0700 (PDT) From: Tudor Ambarus To: tkuw584924@gmail.com, takahiro.kuwano@infineon.com, michael@walle.cc Cc: pratyush@kernel.org, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, bacem.daassi@infineon.com, miquel.raynal@bootlin.com, richard@nod.at, Takahiro Kuwano Subject: [PATCH v3 06/11] mtd: spi-nor: spansion: add MCP support in set_octal_dtr() Date: Sat, 22 Jul 2023 11:40:01 +0300 Message-Id: <20230722084004.21857-7-tudor.ambarus@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230722084004.21857-1-tudor.ambarus@linaro.org> References: <20230722084004.21857-1-tudor.ambarus@linaro.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2370; i=tudor.ambarus@linaro.org; h=from:subject; bh=Wrd7TgCxXlMqnk/UDwQEgLVdRWdaYJRKC05Rf/3Xxx0=; b=owEBbQGS/pANAwAKAUtVT0eljRTpAcsmYgBku5Xj6rh7ujEX5KOJrzAwohHe3MP6fhRRPEZAn HCFY1KuZRqJATMEAAEKAB0WIQQdQirKzw7IbV4d/t9LVU9HpY0U6QUCZLuV4wAKCRBLVU9HpY0U 6eWOB/9+2h8aDbm4YrPkRSrcKUFhB5510QgyQbrAdkMp2QkSds+NKEyUPi3vT3ssN8FoWehS71q ritgg5fmEKWDSvD+vfkpvucWch3obftYa7XOBRbyyhCeQqzavdNktNYaW4TZ+CGHl2XR2hEbBro AfPzVsTdcrJirY+aWhPBEV4PeDg2Kg3hYXX4r7IuXEVYDcitDuhYV+NoQPLMZMvc4qA5sr8Od5N wohkPhYJW1GhiNdPFTvPKgqs+3dU7hZpyPbYGKT5qDQ/9Uqd+Vdfx342In8AI4akCJi1gN2/Tan Rf3vwiL5+MrIYOjkgahLZA71m4NPyRJgJFzk3r/j9JzHDn97 X-Developer-Key: i=tudor.ambarus@linaro.org; a=openpgp; fpr=280B06FD4CAAD2980C46DDDF4DB1B079AD29CF3D X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230722_014036_399672_B44377C2 X-CRM114-Status: GOOD ( 12.96 ) X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: From: Takahiro Kuwano Infineon multi-chip package (MCP) devices require the Octal DTR configuraion to be set on each die. We can access to configuration registers in each die by using params->n_dice and params->vreg_offset [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:62f listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Takahiro Kuwano Infineon multi-chip package (MCP) devices require the Octal DTR configuraion to be set on each die. We can access to configuration registers in each die by using params->n_dice and params->vreg_offset[] populated from SFDP. Add MCP support in set_octal_dtr(). Signed-off-by: Takahiro Kuwano --- drivers/mtd/spi-nor/spansion.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/drivers/mtd/spi-nor/spansion.c b/drivers/mtd/spi-nor/spansion.c index 5b6f36b56e9f..28d0a995f3b9 100644 --- a/drivers/mtd/spi-nor/spansion.c +++ b/drivers/mtd/spi-nor/spansion.c @@ -206,17 +206,19 @@ static int cypress_nor_octal_dtr_en(struct spi_nor *nor) const struct spi_nor_flash_parameter *params = nor->params; u8 *buf = nor->bouncebuf; u64 addr; - int ret; + int i, ret; - addr = params->vreg_offset[0] + SPINOR_REG_CYPRESS_CFR2; - ret = cypress_nor_set_memlat(nor, addr); - if (ret) - return ret; + for (i = 0; i < params->n_dice; i++) { + addr = params->vreg_offset[i] + SPINOR_REG_CYPRESS_CFR2; + ret = cypress_nor_set_memlat(nor, addr); + if (ret) + return ret; - addr = params->vreg_offset[0] + SPINOR_REG_CYPRESS_CFR5; - ret = cypress_nor_set_octal_dtr_bits(nor, addr); - if (ret) - return ret; + addr = params->vreg_offset[i] + SPINOR_REG_CYPRESS_CFR5; + ret = cypress_nor_set_octal_dtr_bits(nor, addr); + if (ret) + return ret; + } /* Read flash ID to make sure the switch was successful. */ ret = spi_nor_read_id(nor, nor->addr_nbytes, 3, buf, @@ -251,14 +253,17 @@ static int cypress_nor_set_single_spi_bits(struct spi_nor *nor, u64 addr) static int cypress_nor_octal_dtr_dis(struct spi_nor *nor) { + const struct spi_nor_flash_parameter *params = nor->params; u8 *buf = nor->bouncebuf; u64 addr; - int ret; + int i, ret; - addr = nor->params->vreg_offset[0] + SPINOR_REG_CYPRESS_CFR5; - ret = cypress_nor_set_single_spi_bits(nor, addr); - if (ret) - return ret; + for (i = 0; i < params->n_dice; i++) { + addr = params->vreg_offset[i] + SPINOR_REG_CYPRESS_CFR5; + ret = cypress_nor_set_single_spi_bits(nor, addr); + if (ret) + return ret; + } /* Read flash ID to make sure the switch was successful. */ ret = spi_nor_read_id(nor, 0, 0, buf, SNOR_PROTO_1_1_1);