From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753927AbbEAOVa (ORCPT ); Fri, 1 May 2015 10:21:30 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:36439 "EHLO mail-out.m-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753676AbbEAOV1 (ORCPT ); Fri, 1 May 2015 10:21:27 -0400 X-Auth-Info: DxuoymSGXFxeraeHkLAqnakW4uTqgr8qKXcGLYmDHaU= From: Marek Vasut To: Michal Suchanek Subject: Re: [PATCH 3/3] MTD: spi-nor: add flag to not use sector erase. Date: Fri, 1 May 2015 16:20:05 +0200 User-Agent: KMail/1.13.7 (Linux/3.14-2-amd64; KDE/4.13.1; x86_64; ; ) Cc: David Woodhouse , Brian Norris , "Rafa?? Mi??ecki" , Alison Chaiken , Ben Hutchings , Geert Uytterhoeven , "Bean Huo (beanhuo)" , "grmoore@altera.com" , linux-mtd@lists.infradead.org, Linux Kernel Mailing List References: <201505010113.50293.marex@denx.de> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <201505011620.05512.marex@denx.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday, May 01, 2015 at 09:05:15 AM, Michal Suchanek wrote: > On 1 May 2015 at 01:13, Marek Vasut wrote: > > On Thursday, April 30, 2015 at 11:13:12 PM, Michal Suchanek wrote: > >> The sector size of the flash memory is unclear from datasheet or may > >> possibly vary between chips so add a flag to always use 4k blocks. > >> > >> Currently 4k blocks are always used when possible but in the future > >> somebody might want to do some optimizations with sector erase. > >> > >> Signed-off-by: Michal Suchanek > > > > I _think_ you might be able to determine the size, no ? > > > > One way is to ask the vendor, but you can also try something like: > > 1) erase the whole SPI NOR > > 2) overwrite it with zeroes (or ones ? I think it should be all ones > > after erasing). > > 3) Erase sector 0 > > 4) Read some 128 KiB back > > 5) Observe what is the difference. > > I can determine it for this particular chip. However, when the vendor > datasheet says the block is 64/32K it might mean that chips with this > ID can have either block size. http://www.chingistek.com/img/Product_Files/Pm25LD010020datasheet%20v04.pdf page 21: SECTOR_ER (20h) erases 4kByte sector. BLOCK_ER (d8h) erases 64kByte sector. http://www.gigadevice.com/product/download/366.html?locale=en_US page 27-28: Sector Erase (SE) (20h) erases 4kByte sector 64KB Block Erase (BE) (d8h) erases 64kByte sector > It's a value that we don't use anyway so I just mark it as unknown > here for future reference. Looks like standard SPI NOR opcodes [1], nothing unknown there ;-) [1] include/linux/mtd/spi-nor.h Best regards, Marek Vasut