[Armadeus-commitlog] SF.net SVN: armadeus:[1123] trunk/target/linux/modules/fpga/dev_tools/ fpga_d
Brought to you by:
sszy
|
From: <th...@us...> - 2009-03-08 14:02:12
|
Revision: 1123
http://armadeus.svn.sourceforge.net/armadeus/?rev=1123&view=rev
Author: thom25
Date: 2009-03-08 14:01:50 +0000 (Sun, 08 Mar 2009)
Log Message:
-----------
[LINUX] working version of the linux apf27 fpga loader
Modified Paths:
--------------
trunk/target/linux/modules/fpga/dev_tools/fpga_devtools/apf27-fpga-loader.c
Modified: trunk/target/linux/modules/fpga/dev_tools/fpga_devtools/apf27-fpga-loader.c
===================================================================
--- trunk/target/linux/modules/fpga/dev_tools/fpga_devtools/apf27-fpga-loader.c 2009-03-07 18:13:30 UTC (rev 1122)
+++ trunk/target/linux/modules/fpga/dev_tools/fpga_devtools/apf27-fpga-loader.c 2009-03-08 14:01:50 UTC (rev 1123)
@@ -21,19 +21,17 @@
#include <mach/iomux-mx1-mx2.h>
#include <mach/gpio.h>
+#include <asm/io.h>
#include <linux/platform_device.h>
#include "xilinx-fpga-loader.h"
#define FPGA_BASE_ADDR CS5_BASE_ADDR
-#define FPGA_VIRT_ADDR (IO_ADDRESS(FPGA_BASE_ADDR) + 0x0)
#define CFG_FPGA_PWR (GPIO_PORTF | 19) /* FPGA prog pin */
#define CFG_FPGA_PRG (GPIO_PORTF | 11) /* FPGA prog pin */
#define CFG_FPGA_CLK (GPIO_PORTF | 15) /* FPGA clk pin */
-#define CFG_FPGA_RDATA 0xD6000000 /* FPGA data addr */
-#define CFG_FPGA_WDATA 0xD6000000 /* FPGA data addr */
#define CFG_FPGA_INIT (GPIO_PORTF | 12) /* FPGA init pin */
#define CFG_FPGA_DONE (GPIO_PORTF | 9) /* FPGA done pin */
#define CFG_FPGA_RW (GPIO_PORTF | 21) /* FPGA done pin */
@@ -41,7 +39,9 @@
#define CFG_FPGA_SUSPEND (GPIO_PORTF | 10) /* FPGA done pin */
#define CFG_FPGA_RESET (GPIO_PORTF | 7) /* FPGA done pin */
+static void __iomem *fpga_addr;
+
/* Initialize GPIO port before download */
int apf27_fpga_pre(void)
{
@@ -65,6 +65,9 @@
mxc_gpio_mode(CFG_FPGA_RESET | GPIO_OUT | GPIO_PUEN | GPIO_GPIO);
gpio_set_value(CFG_FPGA_PWR, 0);
+ fpga_addr = ioremap( FPGA_BASE_ADDR, 16);
+ if( fpga_addr == NULL )
+ return 0;
return 1;
}
@@ -122,7 +125,7 @@
int apf27_fpga_wdata( unsigned char data )
{
- __raw_writew(data, FPGA_VIRT_ADDR);
+ __raw_writew(data, fpga_addr);
return data;
}
@@ -137,6 +140,7 @@
mxc_gpio_mode (CFG_FPGA_CS | GPIO_PF | GPIO_PUEN);
mxc_gpio_mode (CFG_FPGA_CLK | GPIO_PF | GPIO_PUEN);
gpio_set_value(CFG_FPGA_PRG, 1);
+ iounmap(fpga_addr);
return 1;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|