1 <!-- DTD for AVR devices -->
3 <!ELEMENT device (memory, ioregisters, interrupts, hardware)
>
5 <!ELEMENT memory (flash, iospace, sram, eram?)
>
7 <!ATTLIST flash size CDATA #REQUIRED
>
8 <!ELEMENT iospace EMPTY
>
14 <!ATTLIST sram size CDATA #REQUIRED
>
16 <!ATTLIST eram size CDATA #REQUIRED
>
19 <!ELEMENT packages (package+)
>
20 <!ELEMENT package (pin+)
>
24 <!ELEMENT pin (#PCDATA)
>
28 <!-- name can contain multiple names seperated by : -->
31 <!ELEMENT ioregisters (ioreg*)
>
32 <!ELEMENT ioreg (#PCDATA)
>
34 address CDATA #REQUIRED
38 <!-- Interrupt vectors -->
39 <!ELEMENT interrupts (interrupt*)
>
42 <!ELEMENT interrupt (#PCDATA)
>
44 vector CDATA #REQUIRED
45 address CDATA #REQUIRED
50 <!ELEMENT hardware (eeprom,hwport+,timer8*,timer16*,timerirq*)>
52 <!ELEMENT eeprom (eearl, eearh, eecr, eedr)>
55 <!ELEMENT eearl (#PCDATA)>
56 <!ELEMENT eearh (#PCDATA)>
57 <!ELEMENT eecr (#PCDATA)>
58 <!ELEMENT eedr (#PCDATA)>
60 <!ELEMENT hwport (port, pin, ddr)>
63 <!ELEMENT port (#PCDATA)>
64 <!ELEMENT pin (#PCDATA)>
65 <!ELEMENT ddr (#PCDATA)>
67 <!ELEMENT timer8 (tccr,tcnt,ocr,tifr)>
72 <!ELEMENT tccr (#PCDATA)>
73 <!ELEMENT tcnt (#PCDATA)>
74 <!ELEMENT ocr (#PCDATA)>
75 <!ELEMENT tifr (#PCDATA)>
77 <!ELEMENT timerirq (tifr,timsk)>
80 bit0Vec CDATA #REQUIRED
81 bit1Vec CDATA #REQUIRED
82 bit2Vec CDATA #REQUIRED
83 bit3Vec CDATA #REQUIRED
84 bit4Vec CDATA #REQUIRED
85 bit5Vec CDATA #REQUIRED
86 bit6Vec CDATA #REQUIRED
87 bit7Vec CDATA #REQUIRED>
88 <!ELEMENT timsk (#PCDATA)>