12062 #include "xil_io.h"
12063 #define PS7_MASK_POLL_TIME 100000000
12068 char* err_msg =
"";
12076 default: err_msg =
"Undefined error status";
break;
12085 unsigned long mask = 0xF0000000;
12086 unsigned long *addr = (
unsigned long*) 0XF8007080;
12087 unsigned long ps_version = (*addr & mask) >> 28;
12091 void mask_write (
unsigned long add ,
unsigned long mask,
unsigned long val ) {
12092 volatile unsigned long *addr = (
volatile unsigned long*) add;
12093 *addr = ( val & mask ) | ( *addr & ~mask);
12099 volatile unsigned long *addr = (
volatile unsigned long*) add;
12101 while (!(*addr & mask)) {
12111 unsigned long mask_read(
unsigned long add ,
unsigned long mask ) {
12112 volatile unsigned long *addr = (
volatile unsigned long*) add;
12113 unsigned long val = (*addr & mask);
12123 unsigned long *ptr = ps7_config_init;
12125 unsigned long opcode;
12126 unsigned long args[16];
12130 volatile unsigned long *addr;
12131 unsigned long val,mask;
12136 while( finish < 0 ) {
12137 numargs = ptr[0] & 0xF;
12138 opcode = ptr[0] >> 4;
12140 for( j = 0 ; j < numargs ; j ++ )
12141 args[j] = ptr[j+1];
12142 ptr += numargs + 1;
12145 switch ( opcode ) {
12152 addr = (
unsigned long*) args[0];
12157 addr = (
unsigned long*) args[0];
12163 addr = (
unsigned long*) args[0];
12166 *addr = ( val & mask ) | ( *addr & ~mask);
12170 addr = (
unsigned long*) args[0];
12173 while (!(*addr & mask)) {
12183 addr = (
unsigned long*) args[0];
12187 while ((*addr < delay)) {