From patchwork Mon Mar 30 15:45:33 2020
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Pratyush Yadav
X-Patchwork-Id: 1264022
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=85.214.62.61;
helo=phobos.denx.de;
envelope-from=u-boot-bounces@lists.denx.de;
receiver=)
Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none)
header.from=ti.com
Authentication-Results: ozlabs.org; dkim=pass (1024-bit key;
unprotected) header.d=ti.com header.i=@ti.com header.a=rsa-sha256
header.s=ti-com-17Q1 header.b=wzzHFstv;
dkim-atps=neutral
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 RSA-PSS (4096 bits))
(No client certificate requested)
by ozlabs.org (Postfix) with ESMTPS id 48rcJ46Gftz9sQt
for ;
Tue, 31 Mar 2020 02:46:12 +1100 (AEDT)
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
by phobos.denx.de (Postfix) with ESMTP id 4CC98818B2;
Mon, 30 Mar 2020 17:46:04 +0200 (CEST)
Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none)
header.from=ti.com
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key;
unprotected) header.d=ti.com header.i=@ti.com header.b="wzzHFstv";
dkim-atps=neutral
Received: by phobos.denx.de (Postfix, from userid 109)
id 6AC26818B2; Mon, 30 Mar 2020 17:46:01 +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.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,
DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,SPF_HELO_NONE,URIBL_BLOCKED
autolearn=ham autolearn_force=no version=3.4.2
Received: from lelv0143.ext.ti.com (lelv0143.ext.ti.com [198.47.23.248])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256
bits)) (No client certificate requested)
by phobos.denx.de (Postfix) with ESMTPS id B909580369
for ; Mon, 30 Mar 2020 17:45:56 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=p.yadav@ti.com
Received: from lelv0266.itg.ti.com ([10.180.67.225])
by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 02UFjrEX070590;
Mon, 30 Mar 2020 10:45:53 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1585583153;
bh=2CruCv7f4klEf8APdLU4dj1NNJ5jkZMmXmDVXPo8SQ8=;
h=From:To:CC:Subject:Date;
b=wzzHFstvqkcclJqmn8nSSfHmwZ9JPwRc5rgqgona2ePbQTzA/AEr5dOzINXgmmT7y
CgM4WU4khTHkGB2NcPHVELNh2nxm0F68Wrx7jd7QB6I2eLXpUiLhaKgM0KKv4thuoo
yc5C3kNcErfmha7xcBhOPdSYsxpsC73GSGzEyScQ=
Received: from DFLE114.ent.ti.com (dfle114.ent.ti.com [10.64.6.35])
by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 02UFjrWc020340
(version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);
Mon, 30 Mar 2020 10:45:53 -0500
Received: from DFLE105.ent.ti.com (10.64.6.26) by DFLE114.ent.ti.com
(10.64.6.35) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3;
Mon, 30 Mar 2020 10:45:53 -0500
Received: from lelv0326.itg.ti.com (10.180.67.84) by DFLE105.ent.ti.com
(10.64.6.26) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3 via
Frontend Transport; Mon, 30 Mar 2020 10:45:53 -0500
Received: from pratyush-OptiPlex-790.dhcp.ti.com (ileax41-snat.itg.ti.com
[10.172.224.153])
by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 02UFjpAi044920;
Mon, 30 Mar 2020 10:45:52 -0500
From: Pratyush Yadav
To: Jagan Teki , Vignesh Raghavendra
CC: Pratyush Yadav , , Sekhar Nori
Subject: [PATCH v3 00/17] mtd: spi-nor-core: add xSPI Octal DTR support
Date: Mon, 30 Mar 2020 21:15:33 +0530
Message-ID: <20200330154550.21179-1-p.yadav@ti.com>
X-Mailer: git-send-email 2.25.0
MIME-Version: 1.0
X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.30rc1
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.2 at phobos.denx.de
X-Virus-Status: Clean
Hi,
This series adds support for octal DTR flashes in the spi-nor framework,
and then adds hooks for the Cypress Semper flash which is an xSPI
compliant Octal DTR flash.
The Cadence QSPI controller driver is also updated to run in Octal DTR
mode.
Tested on TI J721e EVM with 1-bit ECC on the Cypress flash on top of
u-boot-ti/next.
This series depends on [0].
[0] cf. <20200224071051.19331-1-p.yadav@ti.com>
[0] https://lists.denx.de/pipermail/u-boot/2020-February/401192.html
Changes in v3:
- Read 2 bytes in Octal DTR mode when reading SR and FSR to avoid
tripping up controllers.
- Use op->data.nbytes as a measure of whether the data phase exists or
not. This fixes data buswidth not being updadted for SR and FSR reads
because they keep data buffer as NULL when calling spi_nor_setup_op().
- Add support for Micron mt35xu512aba to run in Octal DTR mode.
Pratyush Yadav (17):
spi: spi-mem: allow specifying whether an op is DTR or not
spi: spi-mem: allow specifying a command's extension
spi: cadence-qspi: Do not calibrate when device tree sets read delay
spi: cadence-qspi: Add support for octal DTR flashes
mtd: spi-nor-core: Add a ->setup() hook
mtd: spi-nor-core: Move SFDP related declarations to top
mtd: spi-nor-core: Introduce flash-specific fixup hooks
mtd: spi-nor-core: Rework hwcaps selection
mtd: spi-nor-core: Add support for DTR protocol
mtd: spi-nor-core: Get command opcode extension type from BFPT
mtd: spi-nor-core: Parse xSPI Profile 1.0 table
mtd: spi-nor-core: Prepare Read SR and FSR for Octal DTR mode
mtd: spi-nor-core: Enable octal DTR mode when possible
mtd: spi-nor-core: Perform a Soft Reset on shutdown
mtd: spi-nor-core: Perform a Soft Reset on boot
mtd: spi-nor-core: Add support for Cypress Semper flash
mtd: spi-nor-core: Allow using Micron mt35xu512aba in Octal DTR mode
drivers/mtd/spi/Kconfig | 11 +
drivers/mtd/spi/sf_internal.h | 13 +
drivers/mtd/spi/sf_probe.c | 9 +
drivers/mtd/spi/spi-nor-core.c | 1273 +++++++++++++++++++++++++-------
drivers/mtd/spi/spi-nor-ids.c | 3 +-
drivers/mtd/spi/spi-nor-tiny.c | 22 -
drivers/spi/cadence_qspi.c | 87 ++-
drivers/spi/cadence_qspi.h | 15 +-
drivers/spi/cadence_qspi_apb.c | 286 ++++++-
drivers/spi/spi-mem.c | 3 +
include/linux/mtd/spi-nor.h | 271 +++++--
include/spi-mem.h | 16 +-
12 files changed, 1619 insertions(+), 390 deletions(-)
Reviewed-by: Vignesh Raghavendra
---
2.25.0