From owner-p4-projects@FreeBSD.ORG Sat Apr 22 03:46:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74C3E16A46A; Sat, 22 Apr 2006 03:46:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4D0BF16A40E for ; Sat, 22 Apr 2006 03:46:23 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13D9E43D48 for ; Sat, 22 Apr 2006 03:46:23 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3M3kMku019334 for ; Sat, 22 Apr 2006 03:46:22 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3M3kMQo019331 for perforce@freebsd.org; Sat, 22 Apr 2006 03:46:22 GMT (envelope-from imp@freebsd.org) Date: Sat, 22 Apr 2006 03:46:22 GMT Message-Id: <200604220346.k3M3kMQo019331@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 95861 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Apr 2006 03:46:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=95861 Change 95861 by imp@imp_hammer on 2006/04/22 03:46:20 Turn this into a more diagnostic for spi flash testing. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#4 (text) ==== @@ -26,6 +26,7 @@ #include "at91rm9200.h" #include "lib.h" +#include "p_string.h" #include "at91rm9200_lowlevel.h" #include "spi_flash.h" @@ -33,12 +34,48 @@ main(void) { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - int len; + int len, i; +#if 0 + char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ + unsigned this_sec; +#endif + printf("b4\r\n"); + SPI_InitFlash(); + printf("after\r\n"); +#if 0 while ((len = xmodem_rx(addr)) == -1) continue; - SPI_InitFlash(); - SPI_WriteFlash(FLASH_PAGE_SIZE, addr, len); - +#else + len = FLASH_PAGE_SIZE; + for (i = 0; i < FLASH_PAGE_SIZE; i++) + addr[i] = i; + SPI_GetId(0); + printf("Memory after init:\r\n"); + for (i = 0; i < 4; i++) + printf("0x%x ", addr[i]); + printf("\r\n"); +#endif +#if 0 + while (1) { + printf("Writing %u bytes to flash\r\n", len); + SPI_WriteFlash(FLASH_PAGE_SIZE, addr, len); + printf("Reading back %u bytes from flash\r\n", len); + SPI_ReadFlash(FLASH_PAGE_SIZE, addr2, len); + if (p_memcmp(addr, addr2, len) != 0) { + printf("Readback failed:\r\n"); + for (i = 0; i < 4; i++) + printf("0x%x ", addr[i]); + printf("\r\n"); + for (i = 0; i < 4; i++) + printf("0x%x ", addr2[i]); + printf("\r\n"); + } else + printf("Readback OK\r\n"); + this_sec = GetSeconds() + 1; + while (GetSeconds() < this_sec) + continue; + } +#endif return (1); }