Hi Greg/DaveM, Will you please apply the attached patch and tar archive? Patch split into uClinux-dist and uClinux-2.4.x components, tarball creates drivers/block/xilinx_sysace - apply from uClinux-2.4.x/ I think this is Microblaze's first user contributed patch :-) CVS note: ==== Driver support for the Xilinx SystemAce peripheral for Microblaze. Based on code from MontaVista for PPC Linux. Patch submitted by Eric Hansen <hansen@shf-communication.de> ===== Thanks, John
Index: arch/microblaze/config.in =================================================================== RCS file: /var/cvs/uClinux-2.4.x/arch/microblaze/config.in,v retrieving revision 1.5 diff -u -r1.5 config.in --- arch/microblaze/config.in 2003/08/28 11:38:37 1.5 +++ arch/microblaze/config.in 2003/11/14 09:57:43 @@ -58,6 +58,7 @@ bool 'Data Cache' CONFIG_MICROBLAZE_DCACHE bool 'GPIO driver' CONFIG_XILINX_GPIO bool 'Ethernet driver' CONFIG_XILINX_ENET + bool 'SystemAce driver' CONFIG_XILINX_SYSACE int 'CPU CLOCK Frequency' CONFIG_CPU_CLOCK_FREQ 66000000 Index: drivers/block/Makefile =================================================================== RCS file: /var/cvs/uClinux-2.4.x/drivers/block/Makefile,v retrieving revision 1.5 diff -u -r1.5 Makefile --- drivers/block/Makefile 2003/06/17 08:24:06 1.5 +++ drivers/block/Makefile 2003/11/14 09:57:54 @@ -35,6 +35,10 @@ subdir-$(CONFIG_PARIDE) += paride +mod-subdirs += xilinx_sysace +subdir-$(CONFIG_XILINX_SYSACE) += xilinx_sysace +obj-$(CONFIG_XILINX_SYSACE) += xilinx_sysace/xilinx_sysace.o + ifeq ($(CONFIG_ARCH_ACORN),y) mod-subdirs += ../acorn/block subdir-y += ../acorn/block Index: include/asm-microblaze/xparameters.h =================================================================== RCS file: /var/cvs/uClinux-2.4.x/include/asm-microblaze/xparameters.h,v retrieving revision 1.3 diff -u -r1.3 xparameters.h --- include/asm-microblaze/xparameters.h 2003/09/26 00:05:32 1.3 +++ include/asm-microblaze/xparameters.h 2003/11/14 09:58:28 @@ -76,9 +76,17 @@ #define XPAR_OPB_ETHERNET_0_ERR_COUNT_EXIST 1 #define XPAR_OPB_ETHERNET_0_MII_EXIST 1 +/******************************************************************/ + +#define XPAR_XSYSACE_NUM_INSTANCES 1 +#define XPAR_SYSACE_0_HIGHADDR 0xCF0001FF +#define XPAR_SYSACE_0_BASEADDR 0xCF000000 +#define XPAR_OPB_SYSACE_0_DEVICE_ID 0 +#define XPAR_OPB_SYSACE_0_BASEADDR XPAR_SYSACE_0_BASEADDR /******************************************************************/ #define STDIN_BASEADDRESS 0xFFFF2000 #define STDOUT_BASEADDRESS 0xFFFF2000 + extern void XIntc_LowLevelInterruptHandler(void) __attribute__ ((interrupt_handler));
Index: vendors/Insight/XC2V1K_Microblaze/Makefile =================================================================== RCS file: /var/cvs/uClinux-dist/vendors/Insight/XC2V1K_Microblaze/Makefile,v retrieving revision 1.1.1.2 diff -u -r1.1.1.2 Makefile --- vendors/Insight/XC2V1K_Microblaze/Makefile 2003/09/02 05:26:10 1.1.1.2 +++ vendors/Insight/XC2V1K_Microblaze/Makefile 2003/11/14 10:09:23 @@ -40,13 +40,18 @@ DEVICES += \ mtd0,c,90,0 mtdr0,c,90,1 mtdblock0,b,31,0 \ mtd1,c,90,2 mtdr1,c,90,3 mtdblock1,b,31,1 \ - mdt2,c,90,4 mtdr2,c,90,5 mtdblock2,b,31,2 \ + mtd2,c,90,4 mtdr2,c,90,5 mtdblock2,b,31,2 \ mtd3,c,90,6 mtdr3,c,90,7 mtdblock3,b,31,3 \ mtd4,c,90,8 mtdr4,c,90,9 mtdblock4,b,31,4 \ mtd5,c,90,10 mtdr5,c,90,11 mtdblock5,b,31,5 \ mtd6,c,90,12 mtdr6,c,90,13 mtdblock6,b,31,6 \ mtd7,c,90,14 mtdr7,c,90,15 mtdblock7,b,31,7 +DEVICES += \ + xsysacea0,b,254,0 xsysacea1,b,254,1 xsysacea2,b,254,2 xsysacea3,b,254,3 \ + xsysacea4,b,254,4 xsysacea5,b,254,5 xsysacea6,b,254,6 xsysacea7,b,254,7 \ + xsysacea8,b,254,8 xsysacea9,b,254,9 xsysacea10,b,254,10 xsysacea11,b,254,11\ + xsysacea12,b,254,12 xsysacea12,b,254,13 xsysacea14,b,254,14 xsysacea15,b,254,15 FLASH_DEVICES = \ boot,c,90,0 \
Attachment:
xilinx_systemace_patch.tar.gz
Description: GNU Zip compressed data