From owner-freebsd-arm@FreeBSD.ORG Tue Jan 20 18:41:59 2009 Return-Path: Delivered-To: freebsd-arm@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF7E61065697; Tue, 20 Jan 2009 18:41:59 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 6C8DD8FC16; Tue, 20 Jan 2009 18:41:59 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id n0KIeF6r001605; Tue, 20 Jan 2009 11:40:15 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Tue, 20 Jan 2009 11:40:51 -0700 (MST) Message-Id: <20090120.114051.-854291995.imp@bsdimp.com> To: mav@FreeBSD.org From: "M. Warner Losh" In-Reply-To: <49760E8E.1000609@FreeBSD.org> References: <1232400185.00063286.1232389201@10.7.7.3> <1232450582.00063538.1232438401@10.7.7.3> <49760E8E.1000609@FreeBSD.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-arm@FreeBSD.org Subject: Re: Mount root from SD card? X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jan 2009 18:42:02 -0000 In message: <49760E8E.1000609@FreeBSD.org> Alexander Motin writes: : Krassimir Slavchev wrote: : > -----BEGIN PGP SIGNED MESSAGE----- : > Hash: SHA1 : > : > M. Warner Losh wrote: : > ... : >> mmcsd0: 1983MB at mmc0 30MHz/1bit : >> Trying to mount root from ufs:/dev/mmcsd0s1 : >> : >> Manual root filesystem specification: : >> : Mount using filesystem : >> eg. ufs:/dev/da0a : >> ? List valid disk boot devices : >> Abort manual input : >> : >> mountroot> ? : >> : >> List of GEOM managed disk devices: : >> mmcsd0 : >> : >>> Looks like that should be working. : >>> mav@ has done a lot of hacking on the mmc code... : >>> Do you have 1 wire or 4 wires for your mmc bus on your board? : > : > On the board all 4 bus wires are connected (MCD A0-A3) but I've never : > seen working 4-bit mode on AT91RM9200 (See PR128987 too). : : I have just committed MMCBR_IVAR_CAPS implementation into CURRENT. : Without having it implemented, results can be unpredictable. For : example, mmc layer could enable high-speed timings to reach 30MHz, but : this mode is not implemented for this controller. Booting with verbose : messages enabled could give a bit more information. This controller's driver should do the right thing when given a too high bus speed: clamp it to the maximum... However, maybe the clamps are right. The above symptom was what I'd see when the data read in was corrupted. It is the whole reason I never enabled the multi-block read for this controller. I could never make it work well enough to even make mountroot happy. : What's about 4-bit mode, I see some sc->wire4 variable checked by the : driver, which is never initialized. I don't very understand how this : thing expected to work. It is initialized to zero. It is expected that there will be a different mechanism in the future to set it generically on a per-board basis. : PS: For MMC cards bus width testing routine implemented. May be we could : do something alike for SD cards. It is not part of SD specification, but : may be we could just issue some other command, transferring data, to : check effective bus width. That would be cool. Warner