FreeCalypso > hg > tcs211-l1-reconst
comparison chipsetsw/layer1/tm_cfile/l1tm_func.c @ 231:28734e076576
l1tm_func.c: l1tm_codec_write() reconstructed
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 15 Jan 2017 06:06:31 +0000 |
parents | 217942c111e1 |
children | 3061759abe6a |
comparison
equal
deleted
inserted
replaced
230:217942c111e1 | 231:28734e076576 |
---|---|
1107 prim->u.mem_read.length); | 1107 prim->u.mem_read.length); |
1108 tm_return->size = prim->u.mem_read.length + 4; | 1108 tm_return->size = prim->u.mem_read.length + 4; |
1109 tm_return->status = E_OK; | 1109 tm_return->status = E_OK; |
1110 } | 1110 } |
1111 | 1111 |
1112 /* TCS211 function missing in LoCosto, reconstructed from disassembly */ | |
1112 void l1tm_codec_write(T_TESTMODE_PRIM *prim, T_TM_RETURN *tm_return) | 1113 void l1tm_codec_write(T_TESTMODE_PRIM *prim, T_TM_RETURN *tm_return) |
1113 { | 1114 { |
1114 /* TCS211 function missing in LoCosto, to be reconstructed from disasm */ | 1115 UWORD16 page, reg; |
1116 | |
1117 page = (prim->u.tm_params.index >> 5) & 1; | |
1118 reg = prim->u.tm_params.index & 0x1F; | |
1119 if (!l1_config.TestMode) { | |
1120 tm_return->status = E_TESTMODE; | |
1121 goto out; | |
1122 } | |
1123 if (page >= 2 || reg >= 32) { | |
1124 tm_return->status = E_INVAL; | |
1125 goto out; | |
1126 } | |
1127 ABB_Write_Register_on_page(page + 1, reg << 1, | |
1128 prim->u.tm_params.value & 0x3FF); | |
1129 tm_return->status = E_OK; | |
1130 out: | |
1131 tm_return->index = 0; | |
1132 tm_return->size = 0; | |
1115 } | 1133 } |
1116 | 1134 |
1117 void l1tm_codec_read(T_TESTMODE_PRIM *prim, T_TM_RETURN *tm_return) | 1135 void l1tm_codec_read(T_TESTMODE_PRIM *prim, T_TM_RETURN *tm_return) |
1118 { | 1136 { |
1119 /* TCS211 function missing in LoCosto, to be reconstructed from disasm */ | 1137 /* TCS211 function missing in LoCosto, to be reconstructed from disasm */ |