From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Mon, 19 Mar 2012 16:21:32 -0700 Subject: [U-Boot] [PATCH] mmc: omap: handle controller errors properly In-Reply-To: <1332195126-24719-1-git-send-email-notasas@gmail.com> References: <1332195126-24719-1-git-send-email-notasas@gmail.com> Message-ID: <20120319232132.GG19810@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, Mar 20, 2012 at 12:12:06AM +0200, Grazvydas Ignotas wrote: > According to OMAP3 TRM, when the controller reports certain errors, > driver must perform a software reset. This is done by setting a bit > in SYSCTL and waiting it to clear: > - SRC on command timeout (CTO) > - SRD on data errors (DTO, DCRC and DEB) > > This fixes a problem seen on OMAP3 pandora board with some cards > that won't work with a message printed multiple times: > timedout waiting on cmd inhibit to clear > > Code loosely based on Linux omap_hsmmc driver. > > Signed-off-by: Grazvydas Ignotas On a BeagleBoard xM (rev A), tested various class 2 and 4 uSD cards I have (none of which have ever failed, however). On a BeagleBoard rev C5 and am335x EVM and an omap4_panda (ES), tested with various class 2, 4 and 6 SD cards (or uSD in adapter). Tested-by: Tom Rini And I've sent a private message to folks that have had failing cards that previous changes have fixed to make sure this doesn't break them. -- Tom