Flags= 0x2, (DEVICE_CLOSED, High-speed USB) Type= 0xa ID= 0x403601c LocId= 0x0 SerialNumber= A Description= FT4222 A ftHandle= 0x0 Init FT4222 as I2C master ====== setup the DES ====== [enable bk ch ] [write slave(x60): x01 x05 ] [I2C passthru ] [write slave(x60): x03 xE9 ] [I2C ctl 1 ] [write slave(x60): x21 x17 ] ====== remap TMP102 ====== [Slave ID[0] ] [write slave(x60): x08 x90 ] [Slave Alias[0] ] [write slave(x60): x10 x90 ] ====== remap SER ====== [set SER_ID ] [write slave(x60): x06 xB0 ] [set SER_Alias ] [write slave(x60): x07 xB0 ] [read DES_ID (exp(xB0) ] read reg x06: [write slave(x60): x06 ] [read slave(0X60)] exp(1) got(1) bytes: xB0 [read DES_Alias (exp(xB0) ] read reg x07: [write slave(x60): x07 ] [read slave(0X60)] exp(1) got(1) bytes: xB0 ====== DES: general read registers ====== [DES RESET ] read reg x01: [write slave(x60): x01 ] [read slave(0X60)] exp(1) got(1) bytes: x04 [DES general config 0 ] read reg x02: [write slave(x60): x02 ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES general config 1 ] read reg x03: [write slave(x60): x03 ] [read slave(0X60)] exp(1) got(1) bytes: xE9 [DES EQ control ] read reg x04: [write slave(x60): x04 ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES SER_ID ] read reg x06: [write slave(x60): x06 ] [read slave(0X60)] exp(1) got(1) bytes: xB0 [DES SER_ALIAS ] read reg x07: [write slave(x60): x07 ] [read slave(0X60)] exp(1) got(1) bytes: xB0 [DES LS parity error threshold ] read reg x18: [write slave(x60): x18 ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES MS parity error threshold ] read reg x19: [write slave(x60): x19 ] [read slave(0X60)] exp(1) got(1) bytes: x01 [DES LS parity error count ] read reg x1A: [write slave(x60): x1A ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES MS parity error count ] read reg x1B: [write slave(x60): x1B ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES General status ] read reg x1C: [write slave(x60): x1C ] [read slave(0X60)] exp(1) got(1) bytes: x03 [DES MODE/OSS select ] read reg x1F: [write slave(x60): x1F ] [read slave(0X60)] exp(1) got(1) bytes: x04 [DES I2C ctl 1 ] read reg x21: [write slave(x60): x21 ] [read slave(0X60)] exp(1) got(1) bytes: x17 [DES I2C ctl 2 ] read reg x22: [write slave(x60): x22 ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES BIST control ] read reg x24: [write slave(x60): x24 ] [read slave(0X60)] exp(1) got(1) bytes: x08 [DES BIST error count ] read reg x25: [write slave(x60): x25 ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES CRC force error ] read reg x42: [write slave(x60): x42 ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES SEL channel ] read reg x4C: [write slave(x60): x4C ] [read slave(0X60)] exp(1) got(1) bytes: x00 [DES AEQ test mode select ] read reg x4D: [write slave(x60): x4D ] [read slave(0X60)] exp(1) got(1) bytes: x20 [DES EQ value ] read reg x4E: [write slave(x60): x4E ] [read slave(0X60)] exp(1) got(1) bytes: x00 ====== setup the SER ====== [SER reset; enable BC ] [write slave(x58): x01 x06 ] [reset CRC err count ] [write slave(x58): x03 xE5 ] [ready to run ] [write slave(x58): x03 xC5 ] ====== SER dump registers after setup ====== [SER DEV_ID ] read reg x00: [write slave(x58): x00 ] [read slave(0X58)] exp(1) got(1) bytes: xB0 [SER PWR/RST ] read reg x01: [write slave(x58): x01 ] [read slave(0X58)] exp(1) got(1) bytes: x04 [SER MODE select ] read reg x05: [write slave(x58): x05 ] [read slave(0X58)] exp(1) got(1) bytes: x14 [SER LS CRC errors ] read reg x0A: [write slave(x58): x0A ] [read slave(0X58)] exp(1) got(1) bytes: x00 [SER LS CRC errors ] read reg x0B: [write slave(x58): x0B ] [read slave(0X58)] exp(1) got(1) bytes: x00 [SER general status ] read reg x0C: [write slave(x58): x0C ] [read slave(0X58)] exp(1) got(1) bytes: x15 [SER general purpose ctl ] read reg x13: [write slave(x58): x13 ] [read slave(0X58)] exp(1) got(1) bytes: x00 [SER BIST clock src ] read reg x14: [write slave(x58): x14 ] [read slave(0X58)] exp(1) got(1) bytes: x00 [SER BIST BCC watchdog ] read reg x1E: [write slave(x58): x1E ] [read slave(0X58)] exp(1) got(1) bytes: xFE [SER BIST err count reg ] read reg x25: [write slave(x58): x25 ] [read slave(0X58)] exp(1) got(1) bytes: x00 [SER CRC error count ] read reg x2A: [write slave(x58): x2A ] [read slave(0X58)] exp(1) got(1) bytes: x00 [SER inject fwd chan err ] read reg x2D: [write slave(x58): x2D ] [read slave(0X58)] exp(1) got(1) bytes: x0F ====== START BIST SEQUENCE ====== [set exp err count ] [write slave(x58): x2D x0F ] [force CRC ] [write slave(x60): x42 x01 ] [start BIST ] [write slave(x60): x24 x03 ] [stop BIST ] [write slave(x60): x24 x00 ] [DES BIST err count reg ] read reg x25: [write slave(x60): x25 ] [read slave(0X60)] exp(1) got(1) bytes: x0F [SER BIST err count reg ] read reg x2A: [write slave(x58): x2A ] [read slave(0X58)] exp(1) got(1) bytes: x00 ====== END BIST SEQUENCE ====== [read TMP102 ] [read slave(0X48)] exp(2) got(2) bytes: x15 xB0 [read TMP102 ] [read slave(0X48)] exp(2) got(2) bytes: x15 xB0 [read TMP102 ] [read slave(0X48)] exp(2) got(2) bytes: x15 xB0 [read TMP102 ] [read slave(0X48)] exp(2) got(2) bytes: x15 xB0 [read TMP102 ] [read slave(0X48)] exp(2) got(2) bytes: x15 xB0 [read TMP102 ] [read slave(0X48)] exp(2) got(2) bytes: x15 xB0 [read TMP102 ] [read slave(0X48)] exp(2) got(2) bytes: x15 xB0