diff --git a/README.md b/README.md
index f181d23f..9ce4ff6f 100644
--- a/README.md
+++ b/README.md
@@ -12,13 +12,13 @@ These tools and this data set is maintained and curated by
[@salkinium][] only at [modm-io/modm-devices][modm-devices].
It is licensed under the MPLv2 license.
-Currently data for 3583 devices is available.
+Currently data for 3589 devices is available.
Please open an issue or better yet a pull request for additional support.
| Family | Devices | Family | Devices | Family | Devices |
|:--------------|:--------|:--------------|:--------|:--------------|:--------|
-| AT90 | 12 | ATMEGA | 346 | ATTINY | 148 |
+| AT90 | 12 | ATMEGA | 352 | ATTINY | 148 |
| NRF52 | 7 | SAMD | 209 | SAML | 47 |
| STM32F0 | 169 | STM32F1 | 194 | STM32F2 | 71 |
| STM32F3 | 145 | STM32F4 | 347 | STM32F7 | 183 |
diff --git a/devices/avr/atmega-128-rfa1.xml b/devices/avr/atmega-128-rfa1.xml
new file mode 100644
index 00000000..5150afc9
--- /dev/null
+++ b/devices/avr/atmega-128-rfa1.xml
@@ -0,0 +1,174 @@
+
+
+
+
+ at{family}{name}{type}-{speed}{package}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/generator/dfg/avr/avr_device_tree.py b/tools/generator/dfg/avr/avr_device_tree.py
index ec31205f..96986ae1 100644
--- a/tools/generator/dfg/avr/avr_device_tree.py
+++ b/tools/generator/dfg/avr/avr_device_tree.py
@@ -81,6 +81,8 @@ def _properties_from_file(filename, devname):
"instance": m.get("name").lower()}
# module SPI has two instances USART0_SPI, USART1_SPI, wtf?
if tmp["module"] == "spi" and tmp["instance"].startswith("usart"): continue;
+ # some RF modules mistakenly claim flash module
+ if tmp["module"] == "flash": continue
if tmp["module"] == "port":
ports.append(tmp)
else:
diff --git a/tools/generator/raw-data-extractor/patches/avr.patch b/tools/generator/raw-data-extractor/patches/avr.patch
index 2f566b45..82886e98 100644
--- a/tools/generator/raw-data-extractor/patches/avr.patch
+++ b/tools/generator/raw-data-extractor/patches/avr.patch
@@ -89,3 +89,332 @@ index 02a8cc3..4cbd66d 100644
+diff --git a/avr-devices/atmega/ATmega128RFA1.atdf b/avr-devices/atmega/ATmega128RFA1.atdf
+index 7cfe8a8..6e23298 100644
+--- a/avr-devices/atmega/ATmega128RFA1.atdf
++++ b/avr-devices/atmega/ATmega128RFA1.atdf
+@@ -1,7 +1,12 @@
+
+
+
+-
++
++
++
++
++
++
+
+
+
+@@ -39,24 +44,48 @@
+
+
+
++
++
++
++
+
+
+
+
+
++
++
++
++
++
+
+
+
++
++
++
++
++
+
+
+
+
+
++
++
++
++
+
+
+
+
+
++
++
++
++
++
++
+
+
+
+@@ -68,34 +97,112 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
+
+
+
++
++
++
++
++
++
++
++
++
++
+
+
+
++
++
++
++
++
++
++
++
++
++
+
+
+
++
++
++
++
++
++
++
++
++
++
+
+
+
++
++
++
++
++
++
++
++
++
++
+
+
+
++
++
++
++
++
++
++
++
++
++
+
+
+
++
++
++
++
++
++
++
++
+
+
+
+
+
++
++
++
++
++
+
+
+
+
+
++
++
++
++
++
+
+
+
+@@ -112,9 +219,23 @@
+
+
+
++
++
++
++
++
++
++
+
+
+
++
++
++
++
++
++
++
+
+
+
+@@ -135,16 +256,51 @@
+
+
+
++
++
++
++
++
++
+
+
+
+
+
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+
+
+
++
++
++
++
++
++
++
++
++
++
+
+
+
+@@ -2214,4 +2370,72 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+