From owner-freebsd-embedded@FreeBSD.ORG Wed Mar 19 07:51:59 2014 Return-Path: Delivered-To: freebsd-embedded@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 ESMTPS id 4B17FCD0 for ; Wed, 19 Mar 2014 07:51:59 +0000 (UTC) Received: from mail-qa0-x234.google.com (mail-qa0-x234.google.com [IPv6:2607:f8b0:400d:c00::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0AD1A1C0 for ; Wed, 19 Mar 2014 07:51:58 +0000 (UTC) Received: by mail-qa0-f52.google.com with SMTP id m5so8048128qaj.25 for ; Wed, 19 Mar 2014 00:51:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=siCM9bq/kK64UMZ+XHJ1v8qi2khac21D4aZB29ylSV4=; b=gLw8jCkKAVEy35qHfb22336/VCSRMkgPp+tgYyJq9UC6EWbeyabMkz7jpAwPnPtHQ0 bsC86/T3dAwf4J1PZZp+4lel36/w13tsnK8fXO7d/ZpUeBkUXtEsYeIjVJjcSSCZpkTw Nkycrtu9wHncnnbR1XR9bicGsFNKL2uWMDUba9HmcA6C62CtdtEbFxXqSJMfPH3CTSUj LALcE7BnP+ZTH2iXEzoIbFVwvrYrQmAyb+g0E4XAIMaNoKr7kxR8KVYfFpIRM3DpPv9/ DfyUPshlQpQ5zCRQhN87s5M7Ut1NOFi+iRdTOJzg9qvVA5hYu88V4DoSceJwiVCLBJwu F+Kg== MIME-Version: 1.0 X-Received: by 10.224.29.4 with SMTP id o4mr19760983qac.55.1395215518284; Wed, 19 Mar 2014 00:51:58 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.8.137 with HTTP; Wed, 19 Mar 2014 00:51:58 -0700 (PDT) In-Reply-To: <5BF1217D-6423-443B-A3AB-1722CDDDAD74@bsdimp.com> References: <5BF1217D-6423-443B-A3AB-1722CDDDAD74@bsdimp.com> Date: Wed, 19 Mar 2014 00:51:58 -0700 X-Google-Sender-Auth: N_38wnC1pcLWO_HKvJTZD_se3O0 Message-ID: Subject: Re: nand controller - how should one handle controllers that want the command+address bits together? From: Adrian Chadd To: Warner Losh Content-Type: text/plain; charset=ISO-8859-1 Cc: "freebsd-embedded@freebsd.org" X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Mar 2014 07:51:59 -0000 On 18 March 2014 07:12, Warner Losh wrote: > Because the state machines needed for different NAND types more or > less require the 'low level' interface that we have today. The different > phases in setting up a transaction vary somewhat between the different > types of NAND, and we have no real knowledge of that in the NAND layer > today. It was written 4 years ago when most controllers on the market > did little more than bit-bang and/or module the signals to the NAND since > the interfaces at the time were little more than fancy memory mapped > memory controllers. Right. > I've also been looking towards this area as well, given my recent > NAND history. In fact, I've been putting together a talk for BSDcan > on what needs to be done to make the NAND layer sane, cool and > groovy. I may have to come to bsdcan then. You have a DB120; take a look at the ar934x-nfc.c code in openwrt and see what they do. There's apparently a PIO mechanism. It's unclear how to use it and honestly I wouldn't want to. -a