1 #define _IFXMIPS_ADSL_APP
2 #define u32 unsigned int
3 #define IFXMIPS_MEI_DEV "/dev/ifxmips/mei"
11 #include <sys/types.h>
12 #include <sys/ioctl.h>
15 #include <asm/ifxmips/ifxmips_mei_app.h>
16 #include <asm/ifxmips/ifxmips_mei_ioctl.h>
17 #include <asm/ifxmips/ifxmips_mei_app_ioctl.h>
19 #define SEGMENT_SIZE (64*1024)
21 #define u8 unsigned char
22 #define u16 unsigned short
25 int main(int argc, char **argv)
32 int size,read_size=SEGMENT_SIZE;
34 u16 Message[16]__attribute__ ((aligned(4)));
39 printf("\nWrong Arguments! Usage: %s r/w address size/value\n",argv[0]);
43 fd_mei=open(IFXMIPS_MEI_DEV, O_RDWR);
45 printf("\n open device fail");
47 dbg_data.iAddress = strtoul(argv[2],NULL,0);
48 printf("Address = %08X\n",dbg_data.iAddress);
51 dbg_data.buffer[0]=strtoul(argv[3],NULL,0);
57 dbg_data.iCount =strtoul(argv[3],NULL,0);
61 if(ioctl(fd_mei, IFXMIPS_MEI_WRITEDEBUG,&dbg_data)!=MEI_SUCCESS){
62 printf("\n IFXMIPS_MEI_WRITEDEBUG() failed");
66 printf("Writing %08X with data %X!\n",dbg_data.iAddress,dbg_data.buffer[0]);
69 if(ioctl(fd_mei, IFXMIPS_MEI_READDEBUG,&dbg_data)!=MEI_SUCCESS){
70 printf("\n IFXMIPS_MEI_READDEBUG() failed");
74 printf("Read %08X .\nResult:",dbg_data.iAddress);
75 for (i=0;i<dbg_data.iCount;i++)
77 printf("%08X ",dbg_data.buffer[i]);