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 */