DTD adjusted
[avr-sim.git] / devices / device.dtd
blob89b68a6fb60274bfd50dc9f8ffd5dfb96509e857
1 <!-- DTD for AVR devices -->
3 <!ELEMENT device (memory, ioregisters, interrupts, hardware)>
5 <!ELEMENT memory (flash, iospace, sram, eram?)>
6 <!ELEMENT flash EMPTY>
7 <!ATTLIST flash size CDATA #REQUIRED>
8 <!ELEMENT iospace EMPTY>
9 <!ATTLIST iospace
10 start CDATA #IMPLIED
11 stop CDATA #IMPLIED
12 size CDATA #IMPLIED>
13 <!ELEMENT sram EMPTY>
14 <!ATTLIST sram size CDATA #REQUIRED>
15 <!ELEMENT eram EMPTY>
16 <!ATTLIST eram size CDATA #REQUIRED>
18 <!-- Packages -->
19 <!ELEMENT packages (package+)>
20 <!ELEMENT package (pin+)>
21 <!ATTLIST package
22 name CDATA #REQUIRED
23 pins CDATA #REQUIRED>
24 <!ELEMENT pin (#PCDATA)>
25 <!ATTLIST pin
26 id CDATA #REQUIRED
27 name CDATA #REQUIRED>
28 <!-- name can contain multiple names seperated by : -->
30 <!-- IO registers -->
31 <!ELEMENT ioregisters (ioreg*)>
32 <!ELEMENT ioreg (#PCDATA)>
33 <!ATTLIST ioreg
34 address CDATA #REQUIRED
35 name CDATA #REQUIRED
36 initial CDATA "0x00">
38 <!-- Interrupt vectors -->
39 <!ELEMENT interrupts (interrupt*)>
40 <!ATTLIST interrupts
41 num CDATA #REQUIRED>
42 <!ELEMENT interrupt (#PCDATA)>
43 <!ATTLIST interrupt
44 vector CDATA #REQUIRED
45 address CDATA #REQUIRED
46 name CDATA #REQUIRED>
48 <!-- Hardware -->
49 <!--
50 <!ELEMENT hardware (eeprom,hwport+,timer8*,timer16*,timerirq*)>
52 <!ELEMENT eeprom (eearl, eearh, eecr, eedr)>
53 <!ATTLIST eeprom
54 size CDATA #REQUIRED>
55 <!ELEMENT eearl (#PCDATA)>
56 <!ELEMENT eearh (#PCDATA)>
57 <!ELEMENT eecr (#PCDATA)>
58 <!ELEMENT eedr (#PCDATA)>
60 <!ELEMENT hwport (port, pin, ddr)>
61 <!ATTLIST hwport
62 name CDATA #REQUIRED>
63 <!ELEMENT port (#PCDATA)>
64 <!ELEMENT pin (#PCDATA)>
65 <!ELEMENT ddr (#PCDATA)>
67 <!ELEMENT timer8 (tccr,tcnt,ocr,tifr)>
68 <!ATTLIST timer8
69 name CDATA #REQUIRED
70 tov CDATA #REQUIRED
71 ocf CDATA #REQUIRED>
72 <!ELEMENT tccr (#PCDATA)>
73 <!ELEMENT tcnt (#PCDATA)>
74 <!ELEMENT ocr (#PCDATA)>
75 <!ELEMENT tifr (#PCDATA)>
77 <!ELEMENT timerirq (tifr,timsk)>
78 <!ATTLIST timerirq
79 mask CDATA "0xff"
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)>
89 -->