FreeCalypso > hg > tcs211-l1-reconst
annotate chipsetsw/services/dar/dar_diagnose.c @ 294:ff9fbb4a4ecf
l1p_asyn.c: reconstruction complete, perfect match to TCS211 object
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 02 Oct 2017 05:57:54 +0000 | 
| parents | 509db1a7b7b8 | 
| children | 
| rev | line source | 
|---|---|
| 0 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 1 /****************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 2 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 3 /* File Name: dar_diagnose.c */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 4 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 5 /* Purpose: This function contains the DAR diagnose functions */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 6 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 7 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 8 /* Version 0.1 */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 9 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 10 /* Date Modification */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 11 /* ------------------------------------ */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 12 /* 18 October 2001 Create */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 13 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 14 /* Author Stephanie Gerthoux */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 15 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 16 /* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 17 /****************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 18 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 19 #include "rv/rv_defined_swe.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 20 #ifdef RVM_DAR_SWE | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 21 #ifndef _WINDOWS | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 22 #include "timer/timer.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 23 #endif | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 24 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 25 #include "rv/rv_general.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 26 #include "rvm/rvm_gen.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 27 #include "rvm/rvm_priorities.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 28 #include "dar/dar_api.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 29 #include "dar/dar_structs_i.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 30 #include "dar/dar_env.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 31 #include "rvf/rvf_target.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 32 #include "dar/dar_const_i.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 33 #include "dar/dar_macro_i.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 34 #include "dar/dar_messages_i.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 35 #include "dar/dar_error_hdlr_i.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 36 //#include "rvf/rvf_i.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 37 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 38 /**** Global variables ****/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 39 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 40 /* Define a pointer to the Global Environment Control block */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 41 extern T_DAR_ENV_CTRL_BLK *dar_gbl_var_p; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 42 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 43 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 44 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 45 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 46 /* Function dar_search_group */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 47 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 48 /* Description This function checks if the use_id group_nb exists: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 49 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 50 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 51 T_RV_RET dar_search_group(UINT16 group, UINT8 *index_p) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 52 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 53 /* Declare local variables */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 54 UINT8 i=0; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 55 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 56 /* Check if the DAR entity is started */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 57 if (dar_gbl_var_p != NULL ) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 58 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 59 /* Search in the dar_filter_array if the group exists */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 60 for (i=0;i< DAR_MAX_GROUP_NB; i++) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 61 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 62 if(dar_gbl_var_p->dar_filter_array[i].group_nb == group) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 63 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 64 *index_p=i; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 65 //DAR_SEND_TRACE_PARAM("dar filter_array index",*index_p,RV_TRACE_LEVEL_DEBUG_LOW); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 66 return(RV_OK); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 67 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 68 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 69 return(RV_NOT_SUPPORTED); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 70 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 71 else | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 72 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 73 return(RV_NOT_READY); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 74 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 75 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 76 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 77 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 78 /* Function dar_add_group */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 79 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 80 /* Description This function research the index of the first free group */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 81 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 82 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 83 T_RV_RET dar_add_group(UINT8 *index_p) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 84 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 85 /* Declare local variables */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 86 UINT8 i=0; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 87 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 88 /* Check if the DAR entity is started */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 89 if (dar_gbl_var_p == NULL ) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 90 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 91 dar_error_trace(DAR_ENTITY_NOT_START); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 92 return(RV_NOT_READY); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 93 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 94 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 95 /* Search in the dar_filter_array the first free group */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 96 for (i=0;i< DAR_MAX_GROUP_NB; i++) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 97 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 98 if(dar_gbl_var_p->dar_filter_array[i].group_nb == DAR_INITIALIZATION_VALUE) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 99 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 100 *index_p=i; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 101 return(RV_OK); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 102 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 103 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 104 return(RV_NOT_SUPPORTED); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 105 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 106 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 107 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 108 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 109 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 110 /* Function Name: dar_send_write_data */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 111 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 112 /* Purpose: This function is called to send write data in the DAR mailbox */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 113 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 114 /* Input Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 115 /* Pointer to the message to store */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 116 /* Data Format, */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 117 /* Data level, */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 118 /* Data Use Id, */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 119 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 120 /* Output Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 121 /* Validation of the function execution. */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 122 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 123 /* Note: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 124 /* None */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 125 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 126 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 127 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 128 T_RV_RET dar_send_write_data ( T_DAR_INFO *buffer_p, | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 129 T_DAR_FORMAT format, | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 130 T_DAR_LEVEL diagnose_info_level, | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 131 T_RVM_USE_ID dar_use_id) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 132 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 133 /* Declare local variables */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 134 T_RVF_MB_STATUS mb_status = RVF_GREEN; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 135 T_DAR_WRITE_START *write_data_p = NULL; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 136 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 137 /************************** dar_send_write_data **********************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 138 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 139 if (dar_gbl_var_p != NULL ) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 140 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 141 /* allocate the memory for the message to send */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 142 mb_status = rvf_get_buf (dar_gbl_var_p->mb_dar, | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 143 sizeof (T_DAR_WRITE_START), | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 144 (T_RVF_BUFFER **) (&write_data_p)); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 145 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 146 /* If insufficient resources, then report a memory error and abort.*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 147 if (mb_status == RVF_YELLOW) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 148 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 149 /* deallocate the memory */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 150 rvf_free_buf((T_RVF_BUFFER *)write_data_p); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 151 dar_error_trace(DAR_ENTITY_NO_MEMORY); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 152 return (RV_NOT_SUPPORTED); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 153 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 154 else | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 155 if (mb_status == RVF_RED) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 156 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 157 dar_error_trace(DAR_ENTITY_NO_MEMORY); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 158 return (RV_MEMORY_ERR); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 159 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 160 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 161 /* fill the message id */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 162 write_data_p->os_hdr.msg_id = DAR_WRITE_REQ; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 163 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 164 /* fill the addr source id */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 165 write_data_p->os_hdr.src_addr_id = dar_gbl_var_p->addrId; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 166 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 167 /* fill the message parameters */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 168 write_data_p->data_write.char_p = buffer_p ; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 169 write_data_p->data_write.data_format = format; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 170 write_data_p->data_write.level = diagnose_info_level; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 171 write_data_p->data_write.use_id.group_nb = (dar_use_id>>16)& 0x7FFF; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 172 write_data_p->data_write.use_id.mask = (dar_use_id)&0xFFFF; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 173 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 174 /* send the messsage to the DAR entity */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 175 rvf_send_msg (dar_gbl_var_p->addrId, | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 176 write_data_p); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 177 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 178 return (RV_OK); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 179 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 180 else | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 181 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 182 return(RV_NOT_READY); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 183 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 184 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 185 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 186 } /* dar_send_write_data */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 187 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 188 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 189 /* Function dar_reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 190 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 191 /* Description This function is used to reset the system */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 192 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 193 /* Input Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 194 /* None */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 195 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 196 /* Output Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 197 /* Validation of the function execution. */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 198 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 199 /* Note: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 200 /* None */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 201 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 202 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 203 T_RV_RET dar_reset(void) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 204 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 205 #ifndef _WINDOWS | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 206 /* Declare global variable*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 207 volatile UINT16 *register_p; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 208 volatile UINT8 i; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 209 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 210 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 211 /* enable the Watchdog timer */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 212 TM_EnableWatchdog(); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 213 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 214 /* Reset the system with the Watchdog */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 215 /* initialize the adress of the watchdog timer pointer */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 216 register_p = (volatile UINT16 *)WATCHDOG_TIM_MODE; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 217 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 218 /* Write the 0xF5 value to the Watchdog timer mode register to disable the Watchdog*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 219 /* Note the bit 15 must be unchanged ( bit 15 = 1 -> 0x8000)*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 220 *register_p =0x80F5; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 221 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 222 /* Wait a couple of time to be sure that this register has a new value */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 223 for (i=0;i<100;i++); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 224 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 225 /* After having received 0xF5 in the Watchdog timer mode register, if the */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 226 /* second write access is differennt from 0xA0, ARM core is reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 227 /* The ARM HW core is reset + branch to adress 0x0000 ( SW reset) */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 228 *register_p=0x80F5; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 229 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 230 /* Wait until the ARM reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 231 while(1); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 232 #endif | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 233 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 234 return(RV_OK); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 235 } /* dar_reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 236 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 237 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 238 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 239 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 240 /* Function dar_read_mbox */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 241 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 242 /* Description Called by the dar to read a buffer from its mailboxes. */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 243 /* when the Operating System is out */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 244 /* Input Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 245 /* None */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 246 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 247 /* Output Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 248 /* NULL if the mailbox was empty, else the address of a buffer */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 249 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 250 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 251 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 252 void * dar_read_mbox (UINT8 mbox) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 253 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 254 // void * p_buf = NULL; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 255 // T_RVF_INTERNAL_BUF * p_hdr; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 256 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 257 /* Verify if DAR's global struct was set by RVM, then read the mailbox */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 258 if (dar_gbl_var_p != NULL ) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 259 return rvf_read_addr_mbox (dar_gbl_var_p->addrId, mbox); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 260 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 261 return NULL; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 262 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 263 // Check if the DAR entity is started | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 264 /*if (dar_gbl_var_p != NULL ) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 265 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 266 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 267 if ( OSTaskQFirst[dar_gbl_var_p->addrId][mbox] )// if the chained list is not empty | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 268 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 269 p_hdr = OSTaskQFirst[dar_gbl_var_p->addrId][mbox]; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 270 OSTaskQFirst[dar_gbl_var_p->addrId][mbox] = p_hdr->p_next; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 271 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 272 p_hdr->p_next = NULL; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 273 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 274 #if RVF_ENABLE_BUF_LINKAGE_CHECK | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 275 RVF_SET_BUF_UNLINKED(p_hdr); // change buffer status | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 276 #endif | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 277 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 278 p_buf = (UINT8 *)p_hdr + sizeof(T_RVF_INTERNAL_BUF); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 279 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 280 } | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 281 return (p_buf); */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 282 } // dar_read_mbox | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 283 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 284 #else | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 285 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 286 /* ******************************************************* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 287 /* THE DAR ENTITY IS DISABLED */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 288 /* ******************************************************* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 289 #ifndef _WINDOWS | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 290 #include "config/swconfig.cfg" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 291 #include "config/sys.cfg" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 292 #include "config/chipset.cfg" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 293 #include "timer/timer.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 294 #endif | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 295 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 296 #include "rv/rv_general.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 297 #include "rvm/rvm_gen.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 298 #include "rvm/rvm_priorities.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 299 #include "rvf/rvf_target.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 300 //#include "rvf/rvf_i.h" | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 301 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 302 /* Define the Watchdog timer register mode */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 303 #define WATCHDOG_TIM_MODE (0xFFFFF804) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 304 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 305 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 306 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 307 /* Function dar_reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 308 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 309 /* Description This function is used to reset the system */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 310 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 311 /* Input Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 312 /* None */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 313 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 314 /* Output Parameters: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 315 /* Validation of the function execution. */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 316 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 317 /* Note: */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 318 /* None */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 319 /* */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 320 /********************************************************************************/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 321 T_RV_RET dar_reset(void) | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 322 { | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 323 #ifndef _WINDOWS | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 324 /* Declare global variable*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 325 volatile UINT16 *register_p; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 326 volatile UINT8 i; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 327 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 328 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 329 /* enable the Watchdog timer */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 330 TM_EnableWatchdog(); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 331 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 332 /* Reset the system with the Watchdog */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 333 /* initialize the adress of the watchdog timer pointer */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 334 register_p = (volatile UINT16 *)WATCHDOG_TIM_MODE; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 335 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 336 /* Write the 0xF5 value to the Watchdog timer mode register to disable the Watchdog*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 337 /* Note the bit 15 must be unchanged ( bit 15 = 1 -> 0x8000)*/ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 338 *register_p =0x80F5; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 339 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 340 /* Wait a couple of time to be sure that this register has a new value */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 341 for (i=0;i<100;i++); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 342 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 343 /* After having received 0xF5 in the Watchdog timer mode register, if the */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 344 /* second write access is differennt from 0xA0, ARM core is reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 345 /* The ARM HW core is reset + branch to adress 0x0000 ( SW reset) */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 346 *register_p=0x80F5; | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 347 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 348 /* Wait until the ARM reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 349 while(1); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 350 #endif | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 351 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 352 return(RV_OK); | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 353 } /* dar_reset */ | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 354 | 
| 
509db1a7b7b8
initial import: leo2moko-r1
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 355 #endif /* #ifdef RVM_DAR_SWE */ | 
