From owner-svn-src-head@FreeBSD.ORG Sat Nov 9 18:46:12 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 9CC1E97D; Sat, 9 Nov 2013 18:46:12 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 70D212D2F; Sat, 9 Nov 2013 18:46:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rA9IkCq5090529; Sat, 9 Nov 2013 18:46:12 GMT (envelope-from br@svn.freebsd.org) Received: (from br@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rA9IkBf4090524; Sat, 9 Nov 2013 18:46:11 GMT (envelope-from br@svn.freebsd.org) Message-Id: <201311091846.rA9IkBf4090524@svn.freebsd.org> From: Ruslan Bukin Date: Sat, 9 Nov 2013 18:46:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r257892 - head/sys/dev/nand X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Nov 2013 18:46:12 -0000 Author: br Date: Sat Nov 9 18:46:11 2013 New Revision: 257892 URL: http://svnweb.freebsd.org/changeset/base/257892 Log: o Add ONFI signature check. o Add Micron chip found in Freescale Vybrid Family Phytec COSMIC board. Approved by: cognet (mentor) Modified: head/sys/dev/nand/nand.h head/sys/dev/nand/nand_generic.c head/sys/dev/nand/nand_id.c Modified: head/sys/dev/nand/nand.h ============================================================================== --- head/sys/dev/nand/nand.h Sat Nov 9 16:20:42 2013 (r257891) +++ head/sys/dev/nand/nand.h Sat Nov 9 18:46:11 2013 (r257892) @@ -122,7 +122,8 @@ MALLOC_DECLARE(M_NAND); #define NAND_MAN_SAMSUNG 0xec #define NAND_MAN_HYNIX 0xad -#define NAND_MAN_STMICRO 0x20 +#define NAND_MAN_STMICRO 0x20 +#define NAND_MAN_MICRON 0x2c struct nand_id { uint8_t man_id; Modified: head/sys/dev/nand/nand_generic.c ============================================================================== --- head/sys/dev/nand/nand_generic.c Sat Nov 9 16:20:42 2013 (r257891) +++ head/sys/dev/nand/nand_generic.c Sat Nov 9 18:46:11 2013 (r257892) @@ -341,8 +341,12 @@ onfi_read_parameter(struct nand_chip *ch NANDBUS_READ_BUFFER(nandbus, params, sizeof(struct onfi_params)); + if (memcmp(params->signature, "ONFI", sizeof(params->signature))) { + device_printf(chip->dev, "Error: bad signature\n"); + return (ENXIO); + } + /* TODO */ - /* Check for signature */ /* Check CRC */ /* Use redundant page if necessary */ Modified: head/sys/dev/nand/nand_id.c ============================================================================== --- head/sys/dev/nand/nand_id.c Sat Nov 9 16:20:42 2013 (r257891) +++ head/sys/dev/nand/nand_id.c Sat Nov 9 18:46:11 2013 (r257892) @@ -47,6 +47,8 @@ struct nand_params nand_ids[] = { 0x80, 0x200, 0x10, 0x20, 0 }, { { NAND_MAN_STMICRO, 0xf1 }, "STMicro 128MB 3,3V 8-bit", 0x80, 2048, 64, 0x40, 0 }, + { { NAND_MAN_MICRON, 0xcc }, "Micron NAND 512MiB 3,3V 16-bit", + 0x200, 2048, 64, 0x40, 0 }, }; struct nand_params *nand_get_params(struct nand_id *id)