From 5ad03c3b9c59acc455ee9c61146f986c2b258c6d Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 23 Apr 2021 23:05:24 +0200 Subject: [PATCH] Add GPIO peripherals, with addr+block --- parse.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/parse.py b/parse.py index 2a33348..756c163 100644 --- a/parse.py +++ b/parse.py @@ -309,6 +309,21 @@ def parse_chips(): if block := match_peri(pname+':'+pkind): p['block'] = block peris[pname] = p + + # Handle GPIO specially. + for p in range(20): + port = 'GPIO' + chr(ord('A')+p) + if addr := h['defines'].get(port + '_BASE'): + block = 'gpio_v2/GPIO' + if 'STM32F1' in chip_name: + block = 'gpio_v1/GPIO' + + p = OrderedDict({ + 'addr': addr, + 'block': block, + }) + peris[port] = p + chip['peripherals'] = peris with open('data/chips/'+chip_name+'.yaml', 'w') as f: