# HG changeset patch # User Mychaela Falconia # Date 1484460391 0 # Node ID 28734e076576b026351ca16244f12a751a5df631 # Parent 217942c111e1ea55e12de62ce69908908243adc5 l1tm_func.c: l1tm_codec_write() reconstructed diff -r 217942c111e1 -r 28734e076576 chipsetsw/layer1/tm_cfile/l1tm_func.c --- a/chipsetsw/layer1/tm_cfile/l1tm_func.c Sun Jan 15 05:33:34 2017 +0000 +++ b/chipsetsw/layer1/tm_cfile/l1tm_func.c Sun Jan 15 06:06:31 2017 +0000 @@ -1109,9 +1109,27 @@ tm_return->status = E_OK; } +/* TCS211 function missing in LoCosto, reconstructed from disassembly */ void l1tm_codec_write(T_TESTMODE_PRIM *prim, T_TM_RETURN *tm_return) { -/* TCS211 function missing in LoCosto, to be reconstructed from disasm */ + UWORD16 page, reg; + + page = (prim->u.tm_params.index >> 5) & 1; + reg = prim->u.tm_params.index & 0x1F; + if (!l1_config.TestMode) { + tm_return->status = E_TESTMODE; + goto out; + } + if (page >= 2 || reg >= 32) { + tm_return->status = E_INVAL; + goto out; + } + ABB_Write_Register_on_page(page + 1, reg << 1, + prim->u.tm_params.value & 0x3FF); + tm_return->status = E_OK; +out: + tm_return->index = 0; + tm_return->size = 0; } void l1tm_codec_read(T_TESTMODE_PRIM *prim, T_TM_RETURN *tm_return)