Author: stepan Date: 2010-01-16 18:50:55 +0100 (Sat, 16 Jan 2010) New Revision: 5021
Modified: trunk/util/ectool/ec.c trunk/util/ectool/ec.h trunk/util/ectool/ectool.c Log: ectool: Support for dumping EC "index ram"
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Ronald G. Minnich rminnich@gmail.com
Modified: trunk/util/ectool/ec.c =================================================================== --- trunk/util/ectool/ec.c 2010-01-16 17:21:17 UTC (rev 5020) +++ trunk/util/ectool/ec.c 2010-01-16 17:50:55 UTC (rev 5021) @@ -114,3 +114,13 @@
return send_ec_data(data); } + +uint8_t ec_idx_read(uint16_t addr) +{ + uint16_t lpc_idx = 0x380; + + outb(addr & 0xff, lpc_idx + 2); + outb(addr >> 8, lpc_idx + 1); + + return inb(lpc_idx + 3); +}
Modified: trunk/util/ectool/ec.h =================================================================== --- trunk/util/ectool/ec.h 2010-01-16 17:21:17 UTC (rev 5020) +++ trunk/util/ectool/ec.h 2010-01-16 17:50:55 UTC (rev 5021) @@ -47,4 +47,5 @@ uint8_t recv_ec_data(void); uint8_t ec_read(uint8_t addr);
+uint8_t ec_idx_read(uint16_t addr); #endif
Modified: trunk/util/ectool/ectool.c =================================================================== --- trunk/util/ectool/ectool.c 2010-01-16 17:21:17 UTC (rev 5020) +++ trunk/util/ectool/ectool.c 2010-01-16 17:50:55 UTC (rev 5021) @@ -99,5 +99,14 @@ } printf("\n\n");
+ printf("EC IDX RAM:\n"); + for (i = 0; i < 0x10000; i++) { + if ((i % 0x10) == 0) + printf("\n%04x: ", i); + printf("%02x ", ec_idx_read(i)); + } + printf("\n\n"); + + return 0; }