From owner-p4-projects@FreeBSD.ORG Fri Apr 28 22:58:06 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 E3AEB16A40A; Fri, 28 Apr 2006 22:58:05 +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 A701316A440 for ; Fri, 28 Apr 2006 22:58:05 +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 453D143D45 for ; Fri, 28 Apr 2006 22:58:05 +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 k3SMw5b4035466 for ; Fri, 28 Apr 2006 22:58:05 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SMw4QY035463 for perforce@freebsd.org; Fri, 28 Apr 2006 22:58:04 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 22:58:04 GMT Message-Id: <200604282258.k3SMw4QY035463@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 96336 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: Fri, 28 Apr 2006 22:58:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=96336 Change 96336 by imp@imp_hammer on 2006/04/28 22:57:39 demo fpga loading progarm. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#8 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#8 (text) ==== @@ -29,27 +29,48 @@ #include "p_string.h" #include "at91rm9200_lowlevel.h" #include "spi_flash.h" +#include "fpga.h" +struct fpga main_fpga = +{ + AT91C_BASE_PIOB, AT91C_PIO_PB0, + AT91C_BASE_PIOC, AT91C_PIO_PC11, + AT91C_BASE_PIOB, AT91C_PIO_PB2, + AT91C_BASE_PIOC, AT91C_PIO_PC12 +}; + + int main(void) { int len; char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ +#if 0 char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ +#endif SPI_InitFlash(); +#if 0 while ((len = xmodem_rx(addr)) == -1) continue; printf("Downloaded %u bytes.\r\n", len); p_memcpy(addr3, addr, len); printf("Writing %u bytes to flash\r\n", len); - SPI_WriteFlash(0, addr, len); + SPI_WriteFlash(15 * FLASH_PAGE_SIZE, addr, len); printf("Reading back %u bytes from flash\r\n", len); - SPI_ReadFlash(0, addr2, len); + SPI_ReadFlash(15 * FLASH_PAGE_SIZE, addr2, len); if (p_memcmp(addr3, addr2, len) != 0) printf("Readback failed\r\n"); else printf("Readback OK\r\n"); +#else + len = 212482; + SPI_ReadFlash(15 * FLASH_PAGE_SIZE, addr, len); + fpga_init(&main_fpga); + fpga_clear(&main_fpga); + fpga_write_bytes(&main_fpga, addr, len); + fpga_done(&main_fpga); +#endif return (1); }