RTEMS CPU Kit with SuperCore  4.11.3
iotn4313.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2009 Atmel Corporation
11  * All rights reserved.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions are met:
15  *
16  * * Redistributions of source code must retain the above copyright
17  * notice, this list of conditions and the following disclaimer.
18  *
19  * * Redistributions in binary form must reproduce the above copyright
20  * notice, this list of conditions and the following disclaimer in
21  * the documentation and/or other materials provided with the
22  * distribution.
23  *
24  * * Neither the name of the copyright holders nor the names of
25  * contributors may be used to endorse or promote products derived
26  * from this software without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38  * POSSIBILITY OF SUCH DAMAGE.
39  */
40 
41 #ifndef _AVR_IO_H_
42 # error "Include <avr/io.h> instead of this file."
43 #endif
44 
45 #ifndef _AVR_IOXXX_H_
46 # define _AVR_IOXXX_H_ "iotn4313.h"
47 #else
48 # error "Attempt to include more than one <avr/ioXXX.h> file."
49 #endif
50 
51 
52 #ifndef _AVR_ATtiny4313_H_
53 #define _AVR_ATtiny4313_H_ 1
54 
62 /* Registers and associated bit numbers. */
63 
64 #define DIDR _SFR_IO8(0x001)
65 #define AIN0D 0
66 #define AIN1D 1
67 
68 #define UBRRH _SFR_IO8(0x002)
69 #define UBRR8 0
70 #define UBRR9 1
71 #define UBRR10 2
72 #define UBRR11 3
73 
74 #define UCSRC _SFR_IO8(0x003)
75 #define UCPOL 0
76 #define UCSZ0 1
77 #define UCSZ1 2
78 #define USBS 3
79 #define UPM0 4
80 #define UPM1 5
81 #define UMSEL 6
82 
83 #define PCMSK1 _SFR_IO8(0x004)
84 #define PCINT8 0
85 #define PCINT9 1
86 #define PCINT10 2
87 
88 #define PCMSK2 _SFR_IO8(0x005)
89 #define PCINT11 0
90 #define PCINT12 1
91 #define PCINT13 2
92 #define PCINT14 3
93 #define PCINT15 4
94 #define PCINT16 5
95 #define PCINT17 6
96 
97 #define PRR _SFR_IO8(0x006)
98 #define PRUSART 0
99 #define PRUSI 1
100 #define PRTIM0 2
101 #define PRTIM1 3
102 
103 #define BODCR _SFR_IO8(0x007)
104 #define BPDSE 0
105 #define BPDS 1
106 
107 #define ACSR _SFR_IO8(0x008)
108 #define ACIS0 0
109 #define ACIS1 1
110 #define ACIC 2
111 #define ACIE 3
112 #define ACI 4
113 #define ACO 5
114 #define ACBG 6
115 #define ACD 7
116 
117 #define UBRRL _SFR_IO8(0x009)
118 #define UBRR0 0
119 #define UBRR1 1
120 #define UBRR2 2
121 #define UBRR3 3
122 #define UBRR4 4
123 #define UBRR5 5
124 #define UBRR6 6
125 #define UBRR7 7
126 
127 #define UCSRB _SFR_IO8(0x00A)
128 #define TXB8 0
129 #define RXB8 1
130 #define UCSZ2 2
131 #define TXEN 3
132 #define RXEN 4
133 #define UDRIE 5
134 #define TXCIE 6
135 #define RXCIE 7
136 
137 #define UCSRA _SFR_IO8(0x00B)
138 #define MPCM 0
139 #define U2X 1
140 #define UPE 2
141 #define DOR 3
142 #define FE 4
143 #define UDRE 5
144 #define TXC 6
145 #define RXC 7
146 
147 #define UDR _SFR_IO8(0x00C)
148 #define UDR0 0
149 #define UDR1 1
150 #define UDR2 2
151 #define UDR3 3
152 #define UDR4 4
153 #define UDR5 5
154 #define UDR6 6
155 #define UDR7 7
156 
157 #define USICR _SFR_IO8(0x00D)
158 #define USITC 0
159 #define USICLK 1
160 #define USICS0 2
161 #define USICS1 3
162 #define USIWM0 4
163 #define USIWM1 5
164 #define USIOIE 6
165 #define USISIE 7
166 
167 #define USISR _SFR_IO8(0x00E)
168 #define USICNT0 0
169 #define USICNT1 1
170 #define USICNT2 2
171 #define USICNT3 3
172 #define USIDC 4
173 #define USIPF 5
174 #define USIOIF 6
175 #define USISIF 7
176 
177 #define USIDR _SFR_IO8(0x00F)
178 #define USIDR0 0
179 #define USIDR1 1
180 #define USIDR2 2
181 #define USIDR3 3
182 #define USIDR4 4
183 #define USIDR5 5
184 #define USIDR6 6
185 #define USIDR7 7
186 
187 #define PIND _SFR_IO8(0x010)
188 #define PIND0 0
189 #define PIND1 1
190 #define PIND2 2
191 #define PIND3 3
192 #define PIND4 4
193 #define PIND5 5
194 #define PIND6 6
195 
196 #define DDRD _SFR_IO8(0x011)
197 #define DDD0 0
198 #define DDD1 1
199 #define DDD2 2
200 #define DDD3 3
201 #define DDD4 4
202 #define DDD5 5
203 #define DDD6 6
204 
205 #define PORTD _SFR_IO8(0x012)
206 #define PORTD0 0
207 #define PORTD1 1
208 #define PORTD2 2
209 #define PORTD3 3
210 #define PORTD4 4
211 #define PORTD5 5
212 #define PORTD6 6
213 
214 #define GPIOR0 _SFR_IO8(0x013)
215 #define GPIOR00 0
216 #define GPIOR01 1
217 #define GPIOR02 2
218 #define GPIOR03 3
219 #define GPIOR04 4
220 #define GPIOR05 5
221 #define GPIOR06 6
222 #define GPIOR07 7
223 
224 #define GPIOR1 _SFR_IO8(0x014)
225 #define GPIOR10 0
226 #define GPIOR11 1
227 #define GPIOR12 2
228 #define GPIOR13 3
229 #define GPIOR14 4
230 #define GPIOR15 5
231 #define GPIOR16 6
232 #define GPIOR17 7
233 
234 #define GPIOR2 _SFR_IO8(0x015)
235 #define GPIOR20 0
236 #define GPIOR21 1
237 #define GPIOR22 2
238 #define GPIOR23 3
239 #define GPIOR24 4
240 #define GPIOR25 5
241 #define GPIOR26 6
242 #define GPIOR27 7
243 
244 #define PINB _SFR_IO8(0x016)
245 #define PINB0 0
246 #define PINB1 1
247 #define PINB2 2
248 #define PINB3 3
249 #define PINB4 4
250 #define PINB5 5
251 #define PINB6 6
252 #define PINB7 7
253 
254 #define DDRB _SFR_IO8(0x017)
255 #define DDB0 0
256 #define DDB1 1
257 #define DDB2 2
258 #define DDB3 3
259 #define DDB4 4
260 #define DDB5 5
261 #define DDB6 6
262 #define DDB7 7
263 
264 #define PORTB _SFR_IO8(0x018)
265 #define PORTB0 0
266 #define PORTB1 1
267 #define PORTB2 2
268 #define PORTB3 3
269 #define PORTB4 4
270 #define PORTB5 5
271 #define PORTB6 6
272 #define PORTB7 7
273 
274 #define PINA _SFR_IO8(0x019)
275 #define PINA0 0
276 #define PINA1 1
277 #define PINA2 2
278 
279 #define DDRA _SFR_IO8(0x01A)
280 #define DDA0 0
281 #define DDA1 1
282 #define DDA2 2
283 
284 #define PORTA _SFR_IO8(0x01B)
285 #define PORTA0 0
286 #define PORTA1 1
287 #define PORTA2 2
288 
289 #define EECR _SFR_IO8(0x01C)
290 #define EERE 0
291 #define EEPE 1
292 #define EEMPE 2
293 #define EERIE 3
294 #define EEPM0 4
295 #define EEPM1 5
296 
297 #define EEDR _SFR_IO8(0x01D)
298 #define EEDR0 0
299 #define EEDR1 1
300 #define EEDR2 2
301 #define EEDR3 3
302 #define EEDR4 4
303 #define EEDR5 5
304 #define EEDR6 6
305 #define EEDR7 7
306 
307 #define EEAR _SFR_IO8(0x01E)
308 #define EEAR0 0
309 #define EEAR1 1
310 #define EEAR2 2
311 #define EEAR3 3
312 #define EEAR4 4
313 #define EEAR5 5
314 #define EEAR6 6
315 
316 #define PCMSK _SFR_IO8(0x020)
317 #define PCINT0 0
318 #define PCINT1 1
319 #define PCINT2 2
320 #define PCINT3 3
321 #define PCINT4 4
322 #define PCINT5 5
323 #define PCINT6 6
324 #define PCINT7 7
325 
326 #define WDTCR _SFR_IO8(0x021)
327 #define WDP0 0
328 #define WDP1 1
329 #define WDP2 2
330 #define WDE 3
331 #define WDCE 4
332 #define WDP3 5
333 #define WDIE 6
334 #define WDIF 7
335 
336 #define TCCR1C _SFR_IO8(0x022)
337 #define FOC1B 6
338 #define FOC1A 7
339 
340 #define GTCCR _SFR_IO8(0x023)
341 #define PSR10 0
342 
343 #define ICR1 _SFR_IO16(0x024)
344 
345 #define ICR1L _SFR_IO8(0x024)
346 #define ICR1L0 0
347 #define ICR1L1 1
348 #define ICR1L2 2
349 #define ICR1L3 3
350 #define ICR1L4 4
351 #define ICR1L5 5
352 #define ICR1L6 6
353 #define ICR1L7 7
354 
355 #define ICR1H _SFR_IO8(0x025)
356 #define ICR1H0 0
357 #define ICR1H1 1
358 #define ICR1H2 2
359 #define ICR1H3 3
360 #define ICR1H4 4
361 #define ICR1H5 5
362 #define ICR1H6 6
363 #define ICR1H7 7
364 
365 #define CLKPR _SFR_IO8(0x026)
366 #define CLKPS0 0
367 #define CLKPS1 1
368 #define CLKPS2 2
369 #define CLKPS3 3
370 #define CLKPCE 7
371 
372 #define OCR1B _SFR_IO16(0x028)
373 
374 #define OCR1BL _SFR_IO8(0x028)
375 #define OCR1BL0 0
376 #define OCR1BL1 1
377 #define OCR1BL2 2
378 #define OCR1BL3 3
379 #define OCR1BL4 4
380 #define OCR1BL5 5
381 #define OCR1BL6 6
382 #define OCR1BL7 7
383 
384 #define OCR1BH _SFR_IO8(0x029)
385 #define OCR1BH0 0
386 #define OCR1BH1 1
387 #define OCR1BH2 2
388 #define OCR1BH3 3
389 #define OCR1BH4 4
390 #define OCR1BH5 5
391 #define OCR1BH6 6
392 #define OCR1BH7 7
393 
394 #define OCR1A _SFR_IO16(0x02A)
395 
396 #define OCR1AL _SFR_IO8(0x02A)
397 #define OCR1AL0 0
398 #define OCR1AL1 1
399 #define OCR1AL2 2
400 #define OCR1AL3 3
401 #define OCR1AL4 4
402 #define OCR1AL5 5
403 #define OCR1AL6 6
404 #define OCR1AL7 7
405 
406 #define OCR1AH _SFR_IO8(0x02B)
407 #define OCR1AH0 0
408 #define OCR1AH1 1
409 #define OCR1AH2 2
410 #define OCR1AH3 3
411 #define OCR1AH4 4
412 #define OCR1AH5 5
413 #define OCR1AH6 6
414 #define OCR1AH7 7
415 
416 #define TCNT1 _SFR_IO16(0x02C)
417 
418 #define TCNT1L _SFR_IO8(0x02C)
419 #define TCNT1L0 0
420 #define TCNT1L1 1
421 #define TCNT1L2 2
422 #define TCNT1L3 3
423 #define TCNT1L4 4
424 #define TCNT1L5 5
425 #define TCNT1L6 6
426 #define TCNT1L7 7
427 
428 #define TCNT1H _SFR_IO8(0x02D)
429 #define TCNT1H0 0
430 #define TCNT1H1 1
431 #define TCNT1H2 2
432 #define TCNT1H3 3
433 #define TCNT1H4 4
434 #define TCNT1H5 5
435 #define TCNT1H6 6
436 #define TCNT1H7 7
437 
438 #define TCCR1B _SFR_IO8(0x02E)
439 #define CS10 0
440 #define CS11 1
441 #define CS12 2
442 #define WGM12 3
443 #define WGM13 4
444 #define ICES1 6
445 #define ICNC1 7
446 
447 #define TCCR1A _SFR_IO8(0x02F)
448 #define WGM10 0
449 #define WGM11 1
450 #define COM1B0 4
451 #define COM1B1 5
452 #define COM1A0 6
453 #define COM1A1 7
454 
455 #define TCCR0A _SFR_IO8(0x030)
456 #define WGM00 0
457 #define WGM01 1
458 #define COM0B0 4
459 #define COM0B1 5
460 #define COM0A0 6
461 #define COM0A1 7
462 
463 #define OSCCAL _SFR_IO8(0x031)
464 #define CAL0 0
465 #define CAL1 1
466 #define CAL2 2
467 #define CAL3 3
468 #define CAL4 4
469 #define CAL5 5
470 #define CAL6 6
471 
472 #define TCNT0 _SFR_IO8(0x032)
473 #define TCNT0_0 0
474 #define TCNT0_1 1
475 #define TCNT0_2 2
476 #define TCNT0_3 3
477 #define TCNT0_4 4
478 #define TCNT0_5 5
479 #define TCNT0_6 6
480 #define TCNT0_7 7
481 
482 #define TCCR0B _SFR_IO8(0x033)
483 #define CS00 0
484 #define CS01 1
485 #define CS02 2
486 #define WGM02 3
487 #define FOC0B 6
488 #define FOC0A 7
489 
490 #define MCUSR _SFR_IO8(0x034)
491 #define PORF 0
492 #define EXTRF 1
493 #define BORF 2
494 #define WDRF 3
495 
496 #define MCUCR _SFR_IO8(0x035)
497 #define ISC00 0
498 #define ISC01 1
499 #define ISC10 2
500 #define ISC11 3
501 #define SM0 4
502 #define SE 5
503 #define SM1 6
504 #define PUD 7
505 
506 #define OCR0A _SFR_IO8(0x036)
507 #define OCR0A_0 0
508 #define OCR0A_1 1
509 #define OCR0A_2 2
510 #define OCR0A_3 3
511 #define OCR0A_4 4
512 #define OCR0A_5 5
513 #define OCR0A_6 6
514 #define OCR0A_7 7
515 
516 #define SPMCSR _SFR_IO8(0x037)
517 #define SPMEN 0
518 #define PGERS 1
519 #define PGWRT 2
520 #define RFLB 3
521 #define CTPB 4
522 
523 #define TIFR _SFR_IO8(0x038)
524 #define OCF0A 0
525 #define TOV0 1
526 #define OCF0B 2
527 #define ICF1 3
528 #define OCF1B 5
529 #define OCF1A 6
530 #define TOV1 7
531 
532 #define TIMSK _SFR_IO8(0x039)
533 #define OCIE0A 0
534 #define TOIE0 1
535 #define OCIE0B 2
536 #define ICIE1 3
537 #define OCIE1B 5
538 #define OCIE1A 6
539 #define TOIE1 7
540 
541 #define EIFR _SFR_IO8(0x03A)
542 #define PCIF 5
543 #define INTF0 6
544 #define INTF1 7
545 
546 #define GIMSK _SFR_IO8(0x03B)
547 #define PCIE 5
548 #define INT0 6
549 #define INT1 7
550 
551 #define OCR0B _SFR_IO8(0x03C)
552 #define OCR0_0 0
553 #define OCR0_1 1
554 #define OCR0_2 2
555 #define OCR0_3 3
556 #define OCR0_4 4
557 #define OCR0_5 5
558 #define OCR0_6 6
559 #define OCR0_7 7
560 
561 
562 /* Interrupt vectors */
563 /* Vector 0 is the reset vector */
564 #define INT0_vect_num 1
565 #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */
566 #define INT1_vect_num 2
567 #define INT1_vect _VECTOR(2) /* External Interrupt Request 1 */
568 #define TIMER1_CAPT_vect_num 3
569 #define TIMER1_CAPT_vect _VECTOR(3) /* Timer/Counter1 Capture Event */
570 #define TIMER1_COMPA_vect_num 4
571 #define TIMER1_COMPA_vect _VECTOR(4) /* Timer/Counter1 Compare Match A */
572 #define TIMER1_OVF_vect_num 5
573 #define TIMER1_OVF_vect _VECTOR(5) /* Timer/Counter1 Overflow */
574 #define TIMER0_OVF_vect_num 6
575 #define TIMER0_OVF_vect _VECTOR(6) /* Timer/Counter0 Overflow */
576 #define USART_RX_vect_num 7
577 #define USART_RX_vect _VECTOR(7) /* USART, Rx Complete */
578 #define USART_UDRE_vect_num 8
579 #define USART_UDRE_vect _VECTOR(8) /* USART Data Register Empty */
580 #define USART_TX_vect_num 9
581 #define USART_TX_vect _VECTOR(9) /* USART, Tx Complete */
582 #define ANA_COMP_vect_num 10
583 #define ANA_COMP_vect _VECTOR(10) /* Analog Comparator */
584 #define PCINT_B_vect_num 11
585 #define PCINT_B_vect _VECTOR(11) /* Pin Change Interrupt Request B */
586 #define TIMER1_COMPB_vect_num 12
587 #define TIMER1_COMPB_vect _VECTOR(12) /* */
588 #define TIMER0_COMPA_vect_num 13
589 #define TIMER0_COMPA_vect _VECTOR(13) /* */
590 #define TIMER0_COMPB_vect_num 14
591 #define TIMER0_COMPB_vect _VECTOR(14) /* */
592 #define USI_START_vect_num 15
593 #define USI_START_vect _VECTOR(15) /* USI Start Condition */
594 #define USI_OVERFLOW_vect_num 16
595 #define USI_OVERFLOW_vect _VECTOR(16) /* USI Overflow */
596 #define WDT_OVERFLOW_vect_num 18
597 #define WDT_OVERFLOW_vect _VECTOR(18) /* Watchdog Timer Overflow */
598 #define PCINT_D_vect_num 20
599 #define PCINT_D_vect _VECTOR(20) /* Pin Change Interrupt Request D */
600 #define EEPROM_Ready_vect_num 17
601 #define EEPROM_Ready_vect _VECTOR(17) /* */
602 #define PCINT_A_vect_num 19
603 #define PCINT_A_vect _VECTOR(19) /* Pin Change Interrupt Request A */
604 
605 #define _VECTOR_SIZE 2 /* Size of individual vector. */
606 #define _VECTORS_SIZE (21 * _VECTOR_SIZE)
607 
608 
609 /* Constants */
610 #define SPM_PAGESIZE (64)
611 #define RAMSTART (0x60)
612 #define RAMSIZE (256)
613 #define RAMEND (RAMSTART + RAMSIZE - 1)
614 #define XRAMSTART (NA)
615 #define XRAMSIZE (0)
616 #define XRAMEND (RAMEND)
617 #define E2END (0xFF)
618 #define E2PAGESIZE (4)
619 #define FLASHEND (0xFFF)
620 
621 
622 /* Fuses */
623 #define FUSE_MEMORY_SIZE 3
624 
625 /* Low Fuse Byte */
626 #define FUSE_CKSEL0 (unsigned char)~_BV(0) /* Select Clock Source */
627 #define FUSE_CKSEL1 (unsigned char)~_BV(1) /* Select Clock Source */
628 #define FUSE_CKSEL2 (unsigned char)~_BV(2) /* Select Clock Source */
629 #define FUSE_CKSEL3 (unsigned char)~_BV(3) /* Select Clock Source */
630 #define FUSE_SUT0 (unsigned char)~_BV(4) /* Select start-up time */
631 #define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */
632 #define FUSE_CKOUT (unsigned char)~_BV(6) /* Clock output */
633 #define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */
634 #define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL0)
635 
636 /* High Fuse Byte */
637 #define FUSE_BODLEVEL0 (unsigned char)~_BV(0) /* Brown-out Detector trigger level */
638 #define FUSE_BODLEVEL1 (unsigned char)~_BV(1) /* Brown-out Detector trigger level */
639 #define FUSE_BODLEVEL2 (unsigned char)~_BV(2) /* Brown-out Detector trigger level */
640 #define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */
641 #define FUSE_WDTON (unsigned char)~_BV(4) /* Watchdog Timer Always On */
642 #define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */
643 #define FUSE_DWEN (unsigned char)~_BV(6) /* debugWIRE Enable */
644 #define FUSE_RSTDISBL (unsigned char)~_BV(7) /* External reset disable */
645 #define HFUSE_DEFAULT (FUSE_SPIEN)
646 
647 /* Extended Fuse Byte */
648 #define FUSE_SELFPRGEN (unsigned char)~_BV(0) /* Self Programming Enable */
649 #define EFUSE_DEFAULT (0xFF)
650 
651 
652 /* Lock Bits */
653 #define __LOCK_BITS_EXIST
654 
655 
656 /* Signature */
657 #define SIGNATURE_0 0x1E
658 #define SIGNATURE_1 0x92
659 #define SIGNATURE_2 0x0D
660 
661 
662 /* Device Pin Definitions */
663 #define RXD_DDR DDRD
664 #define RXD_PORT PORTD
665 #define RXD_PIN PIND
666 #define RXD_BIT 0
667 
668 #define TXD_DDR DDRD
669 #define TXD_PORT PORTD
670 #define TXD_PIN PIND
671 #define TXD_BIT 1
672 
673 #define PA1_DDR DDRXTAL
674 #define PA1_PORT PORTXTAL
675 #define PA1_PIN PINXTAL
676 #define PA1_BIT XTAL2
677 
678 #define PA0_DDR DDRXTAL
679 #define PA0_PORT PORTXTAL
680 #define PA0_PIN PINXTAL
681 #define PA0_BIT XTAL1
682 
683 #define INT0_DDR DDRD
684 #define INT0_PORT PORTD
685 #define INT0_PIN PIND
686 #define INT0_BIT 2
687 
688 #define XCK_DDR DDRD
689 #define XCK_PORT PORTD
690 #define XCK_PIN PIND
691 #define XCK_BIT 2
692 
693 #define CKOUT_DDR DDRD
694 #define CKOUT_PORT PORTD
695 #define CKOUT_PIN PIND
696 #define CKOUT_BIT 2
697 
698 #define INT1_DDR DDRD
699 #define INT1_PORT PORTD
700 #define INT1_PIN PIND
701 #define INT1_BIT 3
702 
703 #define T0_DDR DDRD
704 #define T0_PORT PORTD
705 #define T0_PIN PIND
706 #define T0_BIT 4
707 
708 #define T1_DDR DDRD
709 #define T1_PORT PORTD
710 #define T1_PIN PIND
711 #define T1_BIT 5
712 
713 #define OC0B_DDR DDRD
714 #define OC0B_PORT PORTD
715 #define OC0B_PIN PIND
716 #define OC0B_BIT 5
717 
718 #define ICP_DDR DDRD
719 #define ICP_PORT PORTD
720 #define ICP_PIN PIND
721 #define ICP_BIT 6
722 
723 #define AIN0_DDR DDRB
724 #define AIN0_PORT PORTB
725 #define AIN0_PIN PINB
726 #define AIN0_BIT 0
727 
728 #define AIN1_DDR DDRB
729 #define AIN1_PORT PORTB
730 #define AIN1_PIN PINB
731 #define AIN1_BIT 1
732 
733 #define OC0A_DDR DDRB
734 #define OC0A_PORT PORTB
735 #define OC0A_PIN PINB
736 #define OC0A_BIT 2
737 
738 #define OC1A_DDR DDRB
739 #define OC1A_PORT PORTB
740 #define OC1A_PIN PINB
741 #define OC1A_BIT 3
742 
743 #define OC1B_DDR DDRB
744 #define OC1B_PORT PORTB
745 #define OC1B_PIN PINB
746 #define OC1B_BIT 4
747 
748 #define MOSI_DDR DDRB
749 #define MOSI_PORT PORTB
750 #define MOSI_PIN PINB
751 #define MOSI_BIT 5
752 
753 #define DI_DDR DDRB
754 #define DI_PORT PORTB
755 #define DI_PIN PINB
756 #define DI_BIT 5
757 
758 #define MISO_DDR DDRB
759 #define MISO_PORT PORTB
760 #define MISO_PIN PINB
761 #define MISO_BIT 6
762 
763 #define DO_DDR DDRB
764 #define DO_PORT PORTB
765 #define DO_PIN PINB
766 #define DO_BIT 6
767 
768 #define SCK_DDR DDRB
769 #define SCK_PORT PORTB
770 #define SCK_PIN PINB
771 #define SCK_BIT 7
772 
773 #define SCL_DDR DDRB
774 #define SCL_PORT PORTB
775 #define SCL_PIN PINB
776 #define SCL_BIT 7
777 
779 #endif /* _AVR_ATtiny4313_H_ */