From patchwork Wed Dec 8 15:19:01 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guillaume LECERF X-Patchwork-Id: 74738 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from canuck.infradead.org (canuck.infradead.org [134.117.69.58]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 530A8B70DF for ; Thu, 9 Dec 2010 02:27:20 +1100 (EST) Received: from localhost ([127.0.0.1] helo=canuck.infradead.org) by canuck.infradead.org with esmtp (Exim 4.72 #1 (Red Hat Linux)) id 1PQLtr-0002KY-Dl; Wed, 08 Dec 2010 15:25:47 +0000 Received: from smtp1-g21.free.fr ([212.27.42.1]) by canuck.infradead.org with esmtp (Exim 4.72 #1 (Red Hat Linux)) id 1PQLto-0002Jg-O3 for linux-mtd@lists.infradead.org; Wed, 08 Dec 2010 15:25:46 +0000 Received: from dev.siriade.com (unknown [82.235.60.83]) by smtp1-g21.free.fr (Postfix) with ESMTP id 2C1BC940155; Wed, 8 Dec 2010 16:25:38 +0100 (CET) Received: from localhost ([127.0.0.1] helo=dev.siriade.com) by dev.siriade.com with esmtp (Exim 4.72) (envelope-from ) id 1PQLnJ-0005I9-Uf; Wed, 08 Dec 2010 16:19:01 +0100 Subject: [PATCH v2 1/2] mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips To: linux-mtd@lists.infradead.org From: Guillaume LECERF Date: Wed, 08 Dec 2010 16:19:01 +0100 Message-ID: <20101208151901.20317.30721.stgit@dev.siriade.com> User-Agent: StGit/0.15 MIME-Version: 1.0 X-CRM114-Version: 20090807-BlameThorstenAndJenny ( TRE 0.7.6 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20101208_102545_363597_2D58D25B X-CRM114-Status: GOOD ( 17.73 ) X-Spam-Score: 1.2 (+) X-Spam-Report: SpamAssassin version 3.3.1 on canuck.infradead.org summary: Content analysis details: (1.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, low trust [212.27.42.1 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is freemail (glecerf[at]gmail.com) 0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is CUSTOM_MED 1.2 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing list 0.0 T_TO_NO_BRKTS_FREEMAIL T_TO_NO_BRKTS_FREEMAIL Cc: Matthias Buecher / Germany , David Woodhouse X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-mtd-bounces@lists.infradead.org Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org These chips report CFI v0.0 [1], so extend cfi_fixup_major_minor() to patch all Samsung chips with Major == 0 to 1.0. Discussed and tested by the OpenWRT people [2]. [1] http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/NORFlash/64Mbit/K8D6316UTM/ds_K8D6x16UxM_rev16.pdf [2] https://dev.openwrt.org/ticket/7348 Signed-off-by: Guillaume LECERF --- drivers/mtd/chips/cfi_cmdset_0002.c | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 9d68ab9..bca69d4 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -392,9 +392,19 @@ static struct cfi_fixup fixup_table[] = { static void cfi_fixup_major_minor(struct cfi_private *cfi, struct cfi_pri_amdstd *extp) { - if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e && - extp->MajorVersion == '0') - extp->MajorVersion = '1'; + if (cfi->mfr == CFI_MFR_SAMSUNG) { + if (extp->MajorVersion == '0') { + /* + * Samsung K8P2815UQB and K8D6x16UxM chips report major=0 / minor=0 + */ + printk(" Fixed Samsung's Amd/Fujitsu Extended Query version from %c.%c to 1.0", + extp->MajorVersion, extp->MinorVersion); + + extp->MajorVersion = '1'; + extp->MinorVersion = '0'; + } + } + /* * SST 38VF640x chips report major=0xFF / minor=0xFF. */