RM-autogen-data.py: Parse the resource range from documentation
authorNikhil Devshatwar <nikhil.nd@ti.com>
Mon, 23 Mar 2020 13:54:54 +0000 (19:24 +0530)
committerNikhil Devshatwar <nikhil.nd@ti.com>
Mon, 23 Mar 2020 13:55:06 +0000 (19:25 +0530)
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
respart/RM-autogen-data.py

index 3a7e5aa86940cb0c8e77dadec6f196e79fcf28b0..75ae7fc88b3b05607bb51e6892d69e78fb385d22 100755 (executable)
@@ -116,26 +116,27 @@ for line in output.split('\n'):
        dict_host[host] = host_id
 
 # Parse docuemntation and extract dev_id and subtype defines
-output = evalcmd('cat %s/output/%s/rm/resasg_types.rst | grep SUBTYPE | awk -F" " \'{ print $2" "$4" "$6" "$8" "$10 }\'' % (args.prefix, args.soc))
+output = evalcmd('cat %s/output/%s/rm/resasg_types.rst | grep  -v "\------" | grep -A100000 "+======" | tail -n +2' % (args.prefix, args.soc))
 dev = dev_id = None
 for line in output.split('\n'):
-       if (line == ''):
+       array = line.replace(' ', '').split('|')
+       if(len(array) == 1):
                continue
-       array = line.split(' ')
-       #print(array)
-       if (array[0] != '|'):
-               (dev, dev_id, subtype, subtype_id, utype_id) = array
+
+       if (array[1] != ''):
+               (x, dev, dev_id, subtype, subtype_id, utype_id, start, count, x) = array
+       elif (array[3] != ''):
+               (x, x, x, subtype, subtype_id, utype_id, start, count, x) = array
        else:
-               (dummy, subtype, subtype_id, utype_id, dummy) = array
+               (x, x, x, x, x, x, start, count, x) = array
 
-       #print (dev, dev_id, subtype, subtype_id, utype_id)
+       #print (dev, dev_id, subtype, subtype_id, utype_id, start, count)
        dict_dev[dev] = int(dev_id, 0)
        dict_subtype[subtype] = int(subtype_id, 0)
        # TODO Add raneg parsing when documentation supports
-       '''
-       utypes.append((dev, subtype))
-       '''
+       utypes.append((dev, subtype, start, count))
 
+'''
 #Parse bordconfig to extract the dev, subtype and range of resources
 output = evalcmd('cat %s/output/%s/rm/boardcfg_rm_data.c | grep -A100000 "resasg_entries" | awk \'BEGIN { FS="\\n"; RS="{" } { print $2 " " $3 " " $4 }\' | awk -F" " \'{print $3 " " $4 " " $7 " " $10}\'' % (args.prefix, args.soc))
 for line in output.split('\n'):
@@ -149,6 +150,7 @@ for line in output.split('\n'):
        count = int(count)
        #print((dev, subtype, start, count))
        utypes.append((dev, subtype, start, count))
+'''
 
 #print(dict_dev)
 #print(dict_subtype)