12075 #include "xil_io.h"
12076 #define PS7_MASK_POLL_TIME 100000000
12081 char* err_msg =
"";
12089 default: err_msg =
"Undefined error status";
break;
12098 unsigned long mask = 0xF0000000;
12099 unsigned long *addr = (
unsigned long*) 0XF8007080;
12100 unsigned long ps_version = (*addr & mask) >> 28;
12104 void mask_write (
unsigned long add ,
unsigned long mask,
unsigned long val ) {
12105 volatile unsigned long *addr = (
volatile unsigned long*) add;
12106 *addr = ( val & mask ) | ( *addr & ~mask);
12112 volatile unsigned long *addr = (
volatile unsigned long*) add;
12114 while (!(*addr & mask)) {
12124 unsigned long mask_read(
unsigned long add ,
unsigned long mask ) {
12125 volatile unsigned long *addr = (
volatile unsigned long*) add;
12126 unsigned long val = (*addr & mask);
12136 unsigned long *ptr = ps7_config_init;
12138 unsigned long opcode;
12139 unsigned long args[16];
12143 volatile unsigned long *addr;
12144 unsigned long val,mask;
12149 while( finish < 0 ) {
12150 numargs = ptr[0] & 0xF;
12151 opcode = ptr[0] >> 4;
12153 for( j = 0 ; j < numargs ; j ++ )
12154 args[j] = ptr[j+1];
12155 ptr += numargs + 1;
12158 switch ( opcode ) {
12165 addr = (
unsigned long*) args[0];
12170 addr = (
unsigned long*) args[0];
12176 addr = (
unsigned long*) args[0];
12179 *addr = ( val & mask ) | ( *addr & ~mask);
12183 addr = (
unsigned long*) args[0];
12186 while (!(*addr & mask)) {
12196 addr = (
unsigned long*) args[0];
12200 while ((*addr < delay)) {