#!/usr/bin/env python3 import sys ramconfigs = ( '4g_hynix_1600s', '1g_samsung_1600', '4g_samsung_1600s', '1g_hynix_1600', '4g_elpida_1600s', '2g_samsung_1600', '2g_samsung_1333', '2g_hynix_1600', '4g_samsung_1600', '4g_hynix_1600', '2g_elpida_1600s', '2g_elpida_1600', '4g_elpida_1600', '2g_samsung_1600s', '2g_hynix_1600s' ) def main(): reg = None for line in sys.stdin: line = line.strip() if not line.endswith('(GPIO_LVL3)'): continue reg = int(line.split(' ')[1], 16) break if reg is None: raise Exceptions("failed to parse gpio registers") # GPIO68..GPIO71 ramcfg = (reg >> 4) & 0xf # reverse bit order ramcfg = int('{:04b}'.format(ramcfg)[::-1], 2) if ramcfg > len(ramconfigs): print("unsupported memory configuration %d" % ramcfg) else: print(ramconfigs[ramcfg]) if __name__ == '__main__': main()