Skip to content

Commit

Permalink
Add support for ATmega128RFA1
Browse files Browse the repository at this point in the history
  • Loading branch information
twasilczyk committed Aug 22, 2021
1 parent 58fb37c commit 2b667e1
Show file tree
Hide file tree
Showing 4 changed files with 507 additions and 2 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <!--devicecount-->3583<!--/devicecount--> devices is available.
Currently data for <!--devicecount-->3589<!--/devicecount--> devices is available.
Please open an issue or better yet a pull request for additional support.

<!--devicetable-->
| 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 |
Expand Down
174 changes: 174 additions & 0 deletions devices/avr/atmega-128-rfa1.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
<?xml version='1.0' encoding='UTF-8'?>
<modm version="0.4.0">
<!-- WARNING: This file is generated by the modm device file generator. Do not edit! -->
<device platform="avr" family="mega" name="128" type="rfa1" speed="" package="zf|zfr|zu|zu00|zur|zur00">
<naming-schema>at{family}{name}{type}-{speed}{package}</naming-schema>
<attribute-mcu value="m128rfa1"/>
<driver name="core" type="avr8">
<fcpu value="16000000"/>
<memory name="eeprom" size="4096"/>
<memory name="flash" size="131072"/>
<memory name="ram" size="16384"/>
</driver>
<driver name="ac" type="avr"/>
<driver name="adc" type="avr"/>
<driver name="clock" type="avr"/>
<driver name="eeprom" type="avr"/>
<driver name="pwrctrl" type="avr"/>
<driver name="spi" type="avr"/>
<driver name="symcnt" type="avr"/>
<driver name="tc" type="tc16">
<instance value="1"/>
<instance value="3"/>
<instance value="4"/>
<instance value="5"/>
</driver>
<driver name="tc" type="tc8">
<instance value="0"/>
</driver>
<driver name="tc" type="tc8_async">
<instance value="2"/>
</driver>
<driver name="trx24" type="avr"/>
<driver name="twi" type="avr"/>
<driver name="usart" type="avr">
<instance value="0"/>
<instance value="1"/>
</driver>
<driver name="wdt" type="avr"/>
<driver name="gpio" type="avr">
<gpio port="B" pin="0">
<signal driver="exint" name="pcint0"/>
<signal driver="spi" name="ss"/>
</gpio>
<gpio port="B" pin="1">
<signal driver="exint" name="pcint1"/>
<signal driver="spi" name="sck"/>
</gpio>
<gpio port="B" pin="2">
<signal driver="exint" name="pcint2"/>
<signal driver="spi" name="mosi"/>
</gpio>
<gpio port="B" pin="3">
<signal driver="exint" name="pcint3"/>
<signal driver="spi" name="miso"/>
</gpio>
<gpio port="B" pin="4">
<signal driver="exint" name="pcint4"/>
<signal driver="tc" instance="2" name="oca"/>
</gpio>
<gpio port="B" pin="5">
<signal driver="exint" name="pcint5"/>
<signal driver="tc" instance="1" name="oca"/>
</gpio>
<gpio port="B" pin="6">
<signal driver="exint" name="pcint6"/>
<signal driver="tc" instance="1" name="ocb"/>
</gpio>
<gpio port="B" pin="7">
<signal driver="exint" name="pcint7"/>
<signal driver="tc" instance="0" name="oca"/>
<signal driver="tc" instance="1" name="occ"/>
</gpio>
<gpio port="D" pin="0">
<signal driver="exint" name="0"/>
<signal driver="twi" name="scl"/>
</gpio>
<gpio port="D" pin="1">
<signal driver="exint" name="1"/>
<signal driver="twi" name="sda"/>
</gpio>
<gpio port="D" pin="2">
<signal driver="exint" name="2"/>
<signal driver="usart" instance="1" name="rxd"/>
</gpio>
<gpio port="D" pin="3">
<signal driver="exint" name="3"/>
<signal driver="usart" instance="1" name="txd"/>
</gpio>
<gpio port="D" pin="4">
<signal driver="tc" instance="1" name="icp"/>
</gpio>
<gpio port="D" pin="5">
<signal driver="usart" instance="1" name="xck"/>
</gpio>
<gpio port="D" pin="6">
<signal driver="tc" instance="1" name="t"/>
</gpio>
<gpio port="D" pin="7">
<signal driver="tc" instance="0" name="t"/>
</gpio>
<gpio port="E" pin="0">
<signal driver="exint" name="pcint8"/>
<signal driver="usart" instance="0" name="rxd"/>
</gpio>
<gpio port="E" pin="1">
<signal driver="usart" instance="0" name="txd"/>
</gpio>
<gpio port="E" pin="2">
<signal driver="ac" name="ain0"/>
<signal driver="usart" instance="0" name="xck"/>
</gpio>
<gpio port="E" pin="3">
<signal driver="ac" name="ain1"/>
<signal driver="tc" instance="3" name="oca"/>
</gpio>
<gpio port="E" pin="4">
<signal driver="exint" name="4"/>
<signal driver="tc" instance="3" name="ocb"/>
</gpio>
<gpio port="E" pin="5">
<signal driver="exint" name="5"/>
<signal driver="tc" instance="3" name="occ"/>
</gpio>
<gpio port="E" pin="6">
<signal driver="exint" name="6"/>
<signal driver="tc" instance="3" name="t"/>
</gpio>
<gpio port="E" pin="7">
<signal driver="exint" name="7"/>
<signal driver="tc" instance="3" name="icp"/>
</gpio>
<gpio port="F" pin="0">
<signal driver="adc" name="0"/>
</gpio>
<gpio port="F" pin="1">
<signal driver="adc" name="1"/>
</gpio>
<gpio port="F" pin="2">
<signal driver="adc" name="2"/>
</gpio>
<gpio port="F" pin="3">
<signal driver="adc" name="3"/>
</gpio>
<gpio port="F" pin="4">
<signal driver="adc" name="4"/>
<signal driver="jtag" name="tck"/>
</gpio>
<gpio port="F" pin="5">
<signal driver="adc" name="5"/>
<signal driver="jtag" name="tms"/>
</gpio>
<gpio port="F" pin="6">
<signal driver="adc" name="6"/>
<signal driver="jtag" name="tdo"/>
</gpio>
<gpio port="F" pin="7">
<signal driver="adc" name="7"/>
<signal driver="jtag" name="tdi"/>
</gpio>
<gpio port="G" pin="0"/>
<gpio port="G" pin="1"/>
<gpio port="G" pin="2"/>
<gpio port="G" pin="3">
<signal driver="tc" instance="2" name="tosc2"/>
</gpio>
<gpio port="G" pin="4">
<signal driver="tc" instance="2" name="tosc1"/>
</gpio>
<gpio port="G" pin="5">
<signal driver="tc" instance="0" name="ocb"/>
</gpio>
</driver>
</device>
</modm>
2 changes: 2 additions & 0 deletions tools/generator/dfg/avr/avr_device_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Loading

0 comments on commit 2b667e1

Please sign in to comment.