51 lines
993 B
Python
Executable File
51 lines
993 B
Python
Executable File
#!/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()
|