1 /***************************************************************************** 2 * 3 * Copyright (C) 2016 Atmel Corporation 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in 14 * the documentation and/or other materials provided with the 15 * distribution. 16 * 17 * * Neither the name of the copyright holders nor the names of 18 * contributors may be used to endorse or promote products derived 19 * from this software without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 * POSSIBILITY OF SUCH DAMAGE. 32 ****************************************************************************/ 33 34 35 #ifndef _AVR_ATA6612C_H_INCLUDED 36 #define _AVR_ATA6612C_H_INCLUDED 37 38 39 #ifndef _AVR_IO_H_ 40 # error "Include <avr/io.h> instead of this file." 41 #endif 42 43 #ifndef _AVR_IOXXX_H_ 44 # define _AVR_IOXXX_H_ "ioa6612c.h" 45 #else 46 # error "Attempt to include more than one <avr/ioXXX.h> file." 47 #endif 48 49 /* Registers and associated bit numbers */ 50 51 #define PINB _SFR_IO8(0x03) 52 #define PINB7 7 53 #define PINB6 6 54 #define PINB5 5 55 #define PINB4 4 56 #define PINB3 3 57 #define PINB2 2 58 #define PINB1 1 59 #define PINB0 0 60 61 #define DDRB _SFR_IO8(0x04) 62 #define DDB0 0 63 #define DDB1 1 64 #define DDB2 2 65 #define DDB3 3 66 #define DDB4 4 67 #define DDB5 5 68 #define DDB6 6 69 #define DDB7 7 70 71 #define PORTB _SFR_IO8(0x05) 72 #define PORTB7 7 73 #define PORTB6 6 74 #define PORTB5 5 75 #define PORTB4 4 76 #define PORTB3 3 77 #define PORTB2 2 78 #define PORTB1 1 79 #define PORTB0 0 80 81 #define PINC _SFR_IO8(0x06) 82 #define PINC6 6 83 #define PINC5 5 84 #define PINC4 4 85 #define PINC3 3 86 #define PINC2 2 87 #define PINC1 1 88 #define PINC0 0 89 90 #define DDRC _SFR_IO8(0x07) 91 #define DDC0 0 92 #define DDC1 1 93 #define DDC2 2 94 #define DDC3 3 95 #define DDC4 4 96 #define DDC5 5 97 #define DDC6 6 98 99 #define PORTC _SFR_IO8(0x08) 100 #define PORTC6 6 101 #define PORTC5 5 102 #define PORTC4 4 103 #define PORTC3 3 104 #define PORTC2 2 105 #define PORTC1 1 106 #define PORTC0 0 107 108 #define PIND _SFR_IO8(0x09) 109 #define PIND7 7 110 #define PIND6 6 111 #define PIND5 5 112 #define PIND4 4 113 #define PIND3 3 114 #define PIND2 2 115 #define PIND1 1 116 #define PIND0 0 117 118 #define DDRD _SFR_IO8(0x0A) 119 #define DDD0 0 120 #define DDD1 1 121 #define DDD2 2 122 #define DDD3 3 123 #define DDD4 4 124 #define DDD5 5 125 #define DDD6 6 126 #define DDD7 7 127 128 #define PORTD _SFR_IO8(0x0B) 129 #define PORTD7 7 130 #define PORTD6 6 131 #define PORTD5 5 132 #define PORTD4 4 133 #define PORTD3 3 134 #define PORTD2 2 135 #define PORTD1 1 136 #define PORTD0 0 137 138 /* Reserved [0x0C..0x14] */ 139 140 #define TIFR0 _SFR_IO8(0x15) 141 #define TOV0 0 142 #define OCF0A 1 143 #define OCF0B 2 144 145 #define TIFR1 _SFR_IO8(0x16) 146 #define TOV1 0 147 #define OCF1A 1 148 #define OCF1B 2 149 #define ICF1 5 150 151 #define TIFR2 _SFR_IO8(0x17) 152 #define TOV2 0 153 #define OCF2A 1 154 #define OCF2B 2 155 156 /* Reserved [0x18..0x1A] */ 157 158 #define PCIFR _SFR_IO8(0x1B) 159 #define PCIF0 0 160 #define PCIF1 1 161 #define PCIF2 2 162 163 #define EIFR _SFR_IO8(0x1C) 164 #define INTF0 0 165 #define INTF1 1 166 167 #define EIMSK _SFR_IO8(0x1D) 168 #define INT0 0 169 #define INT1 1 170 171 #define GPIOR0 _SFR_IO8(0x1E) 172 173 #define EECR _SFR_IO8(0x1F) 174 #define EERE 0 175 #define EEPE 1 176 #define EEMPE 2 177 #define EERIE 3 178 #define EEPM0 4 179 #define EEPM1 5 180 181 #define EEDR _SFR_IO8(0x20) 182 183 /* Combine EEARL and EEARH */ 184 #define EEAR _SFR_IO16(0x21) 185 186 #define EEARL _SFR_IO8(0x21) 187 #define EEARH _SFR_IO8(0x22) 188 189 #define GTCCR _SFR_IO8(0x23) 190 #define PSRSYNC 0 191 #define TSM 7 192 #define PSRASY 1 193 194 #define TCCR0A _SFR_IO8(0x24) 195 #define WGM00 0 196 #define WGM01 1 197 #define COM0B0 4 198 #define COM0B1 5 199 #define COM0A0 6 200 #define COM0A1 7 201 202 #define TCCR0B _SFR_IO8(0x25) 203 #define CS00 0 204 #define CS01 1 205 #define CS02 2 206 #define WGM02 3 207 #define FOC0B 6 208 #define FOC0A 7 209 210 #define TCNT0 _SFR_IO8(0x26) 211 212 #define OCR0A _SFR_IO8(0x27) 213 214 #define OCR0B _SFR_IO8(0x28) 215 216 /* Reserved [0x29] */ 217 218 #define GPIOR1 _SFR_IO8(0x2A) 219 220 #define GPIOR2 _SFR_IO8(0x2B) 221 222 #define SPCR _SFR_IO8(0x2C) 223 #define SPR0 0 224 #define SPR1 1 225 #define CPHA 2 226 #define CPOL 3 227 #define MSTR 4 228 #define DORD 5 229 #define SPE 6 230 #define SPIE 7 231 232 #define SPSR _SFR_IO8(0x2D) 233 #define SPI2X 0 234 #define WCOL 6 235 #define SPIF 7 236 237 #define SPDR _SFR_IO8(0x2E) 238 239 /* Reserved [0x2F] */ 240 241 #define ACSR _SFR_IO8(0x30) 242 #define ACIS0 0 243 #define ACIS1 1 244 #define ACIC 2 245 #define ACIE 3 246 #define ACI 4 247 #define ACO 5 248 #define ACBG 6 249 #define ACD 7 250 251 /* Reserved [0x31..0x32] */ 252 253 #define SMCR _SFR_IO8(0x33) 254 #define SE 0 255 #define SM0 1 256 #define SM1 2 257 #define SM2 3 258 259 #define MCUSR _SFR_IO8(0x34) 260 #define PORF 0 261 #define EXTRF 1 262 #define BORF 2 263 #define WDRF 3 264 265 #define MCUCR _SFR_IO8(0x35) 266 #define IVCE 0 267 #define IVSEL 1 268 #define PUD 4 269 270 /* Reserved [0x36] */ 271 272 #define SPMCSR _SFR_IO8(0x37) 273 #define SELFPRGEN 0 274 #define PGERS 1 275 #define PGWRT 2 276 #define BLBSET 3 277 #define RWWSRE 4 278 #define RWWSB 6 279 #define SPMIE 7 280 281 /* Reserved [0x38..0x3C] */ 282 283 /* SP [0x3D..0x3E] */ 284 285 /* SREG [0x3F] */ 286 287 #define WDTCSR _SFR_MEM8(0x60) 288 #define WDE 3 289 #define WDCE 4 290 #define WDP0 0 291 #define WDP1 1 292 #define WDP2 2 293 #define WDP3 5 294 #define WDIE 6 295 #define WDIF 7 296 297 #define CLKPR _SFR_MEM8(0x61) 298 #define CLKPS0 0 299 #define CLKPS1 1 300 #define CLKPS2 2 301 #define CLKPS3 3 302 #define CLKPCE 7 303 304 /* Reserved [0x62..0x63] */ 305 306 #define PRR _SFR_MEM8(0x64) 307 #define PRADC 0 308 #define PRUSART0 1 309 #define PRSPI 2 310 #define PRTIM1 3 311 #define PRTIM0 5 312 #define PRTIM2 6 313 #define PRTWI 7 314 315 #define __AVR_HAVE_PRR ((1<<PRADC)|(1<<PRUSART0)|(1<<PRSPI)|(1<<PRTIM1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI)) 316 #define __AVR_HAVE_PRR_PRADC 317 #define __AVR_HAVE_PRR_PRUSART0 318 #define __AVR_HAVE_PRR_PRSPI 319 #define __AVR_HAVE_PRR_PRTIM1 320 #define __AVR_HAVE_PRR_PRTIM0 321 #define __AVR_HAVE_PRR_PRTIM2 322 #define __AVR_HAVE_PRR_PRTWI 323 324 /* Reserved [0x65] */ 325 326 #define OSCCAL _SFR_MEM8(0x66) 327 #define OSCCAL0 0 328 #define OSCCAL1 1 329 #define OSCCAL2 2 330 #define OSCCAL3 3 331 #define OSCCAL4 4 332 #define OSCCAL5 5 333 #define OSCCAL6 6 334 #define OSCCAL7 7 335 336 /* Reserved [0x67] */ 337 338 #define PCICR _SFR_MEM8(0x68) 339 #define PCIE0 0 340 #define PCIE1 1 341 #define PCIE2 2 342 343 #define EICRA _SFR_MEM8(0x69) 344 #define ISC00 0 345 #define ISC01 1 346 #define ISC10 2 347 #define ISC11 3 348 349 /* Reserved [0x6A] */ 350 351 #define PCMSK0 _SFR_MEM8(0x6B) 352 #define PCINT0 0 353 #define PCINT1 1 354 #define PCINT2 2 355 #define PCINT3 3 356 #define PCINT4 4 357 #define PCINT5 5 358 #define PCINT6 6 359 #define PCINT7 7 360 361 #define PCMSK1 _SFR_MEM8(0x6C) 362 #define PCINT8 0 363 #define PCINT9 1 364 #define PCINT10 2 365 #define PCINT11 3 366 #define PCINT12 4 367 #define PCINT13 5 368 #define PCINT14 6 369 370 #define PCMSK2 _SFR_MEM8(0x6D) 371 #define PCINT16 0 372 #define PCINT17 1 373 #define PCINT18 2 374 #define PCINT19 3 375 #define PCINT20 4 376 #define PCINT21 5 377 #define PCINT22 6 378 #define PCINT23 7 379 380 #define TIMSK0 _SFR_MEM8(0x6E) 381 #define TOIE0 0 382 #define OCIE0A 1 383 #define OCIE0B 2 384 385 #define TIMSK1 _SFR_MEM8(0x6F) 386 #define TOIE1 0 387 #define OCIE1A 1 388 #define OCIE1B 2 389 #define ICIE1 5 390 391 #define TIMSK2 _SFR_MEM8(0x70) 392 #define TOIE2 0 393 #define OCIE2A 1 394 #define OCIE2B 2 395 396 /* Reserved [0x71..0x77] */ 397 398 /* Combine ADCL and ADCH */ 399 #ifndef __ASSEMBLER__ 400 #define ADC _SFR_MEM16(0x78) 401 #endif 402 #define ADCW _SFR_MEM16(0x78) 403 404 #define ADCL _SFR_MEM8(0x78) 405 #define ADCH _SFR_MEM8(0x79) 406 407 #define ADCSRA _SFR_MEM8(0x7A) 408 #define ADPS0 0 409 #define ADPS1 1 410 #define ADPS2 2 411 #define ADIE 3 412 #define ADIF 4 413 #define ADATE 5 414 #define ADSC 6 415 #define ADEN 7 416 417 #define ADCSRB _SFR_MEM8(0x7B) 418 #define ADTS0 0 419 #define ADTS1 1 420 #define ADTS2 2 421 #define ACME 6 422 423 #define ADMUX _SFR_MEM8(0x7C) 424 #define MUX0 0 425 #define MUX1 1 426 #define MUX2 2 427 #define MUX3 3 428 #define ADLAR 5 429 #define REFS0 6 430 #define REFS1 7 431 432 /* Reserved [0x7D] */ 433 434 #define DIDR0 _SFR_MEM8(0x7E) 435 #define ADC0D 0 436 #define ADC1D 1 437 #define ADC2D 2 438 #define ADC3D 3 439 #define ADC4D 4 440 #define ADC5D 5 441 442 #define DIDR1 _SFR_MEM8(0x7F) 443 #define AIN0D 0 444 #define AIN1D 1 445 446 #define TCCR1A _SFR_MEM8(0x80) 447 #define WGM10 0 448 #define WGM11 1 449 #define COM1B0 4 450 #define COM1B1 5 451 #define COM1A0 6 452 #define COM1A1 7 453 454 #define TCCR1B _SFR_MEM8(0x81) 455 #define CS10 0 456 #define CS11 1 457 #define CS12 2 458 #define WGM12 3 459 #define WGM13 4 460 #define ICES1 6 461 #define ICNC1 7 462 463 #define TCCR1C _SFR_MEM8(0x82) 464 #define FOC1B 6 465 #define FOC1A 7 466 467 /* Reserved [0x83] */ 468 469 /* Combine TCNT1L and TCNT1H */ 470 #define TCNT1 _SFR_MEM16(0x84) 471 472 #define TCNT1L _SFR_MEM8(0x84) 473 #define TCNT1H _SFR_MEM8(0x85) 474 475 /* Combine ICR1L and ICR1H */ 476 #define ICR1 _SFR_MEM16(0x86) 477 478 #define ICR1L _SFR_MEM8(0x86) 479 #define ICR1H _SFR_MEM8(0x87) 480 481 /* Combine OCR1AL and OCR1AH */ 482 #define OCR1A _SFR_MEM16(0x88) 483 484 #define OCR1AL _SFR_MEM8(0x88) 485 #define OCR1AH _SFR_MEM8(0x89) 486 487 /* Combine OCR1BL and OCR1BH */ 488 #define OCR1B _SFR_MEM16(0x8A) 489 490 #define OCR1BL _SFR_MEM8(0x8A) 491 #define OCR1BH _SFR_MEM8(0x8B) 492 493 /* Reserved [0x8C..0xAF] */ 494 495 #define TCCR2A _SFR_MEM8(0xB0) 496 #define WGM20 0 497 #define WGM21 1 498 #define COM2B0 4 499 #define COM2B1 5 500 #define COM2A0 6 501 #define COM2A1 7 502 503 #define TCCR2B _SFR_MEM8(0xB1) 504 #define CS20 0 505 #define CS21 1 506 #define CS22 2 507 #define WGM22 3 508 #define FOC2B 6 509 #define FOC2A 7 510 511 #define TCNT2 _SFR_MEM8(0xB2) 512 513 #define OCR2A _SFR_MEM8(0xB3) 514 515 #define OCR2B _SFR_MEM8(0xB4) 516 517 /* Reserved [0xB5] */ 518 519 #define ASSR _SFR_MEM8(0xB6) 520 #define TCR2BUB 0 521 #define TCR2AUB 1 522 #define OCR2BUB 2 523 #define OCR2AUB 3 524 #define TCN2UB 4 525 #define AS2 5 526 #define EXCLK 6 527 528 /* Reserved [0xB7] */ 529 530 #define TWBR _SFR_MEM8(0xB8) 531 532 #define TWSR _SFR_MEM8(0xB9) 533 #define TWPS0 0 534 #define TWPS1 1 535 #define TWS3 3 536 #define TWS4 4 537 #define TWS5 5 538 #define TWS6 6 539 #define TWS7 7 540 541 #define TWAR _SFR_MEM8(0xBA) 542 #define TWGCE 0 543 #define TWA0 1 544 #define TWA1 2 545 #define TWA2 3 546 #define TWA3 4 547 #define TWA4 5 548 #define TWA5 6 549 #define TWA6 7 550 551 #define TWDR _SFR_MEM8(0xBB) 552 553 #define TWCR _SFR_MEM8(0xBC) 554 #define TWIE 0 555 #define TWEN 2 556 #define TWWC 3 557 #define TWSTO 4 558 #define TWSTA 5 559 #define TWEA 6 560 #define TWINT 7 561 562 #define TWAMR _SFR_MEM8(0xBD) 563 #define TWAM0 1 564 #define TWAM1 2 565 #define TWAM2 3 566 #define TWAM3 4 567 #define TWAM4 5 568 #define TWAM5 6 569 #define TWAM6 7 570 571 /* Reserved [0xBE..0xBF] */ 572 573 #define UCSR0A _SFR_MEM8(0xC0) 574 #define MPCM0 0 575 #define U2X0 1 576 #define UPE0 2 577 #define DOR0 3 578 #define FE0 4 579 #define UDRE0 5 580 #define TXC0 6 581 #define RXC0 7 582 583 #define UCSR0B _SFR_MEM8(0xC1) 584 #define TXB80 0 585 #define RXB80 1 586 #define UCSZ02 2 587 #define TXEN0 3 588 #define RXEN0 4 589 #define UDRIE0 5 590 #define TXCIE0 6 591 #define RXCIE0 7 592 593 #define UCSR0C _SFR_MEM8(0xC2) 594 #define UCPOL0 0 595 #define UCPHA0 1 596 #define UDORD0 2 597 #define UCSZ00 1 598 #define UCSZ01 2 599 #define USBS0 3 600 #define UPM00 4 601 #define UPM01 5 602 #define UMSEL00 6 603 #define UMSEL01 7 604 605 /* Reserved [0xC3] */ 606 607 /* Combine UBRR0L and UBRR0H */ 608 #define UBRR0 _SFR_MEM16(0xC4) 609 610 #define UBRR0L _SFR_MEM8(0xC4) 611 #define UBRR0H _SFR_MEM8(0xC5) 612 613 #define UDR0 _SFR_MEM8(0xC6) 614 615 616 617 /* Values and associated defines */ 618 619 620 #define SLEEP_MODE_IDLE (0x00<<1) 621 #define SLEEP_MODE_ADC (0x01<<1) 622 #define SLEEP_MODE_PWR_DOWN (0x02<<1) 623 #define SLEEP_MODE_PWR_SAVE (0x03<<1) 624 #define SLEEP_MODE_STANDBY (0x06<<1) 625 626 /* Interrupt vectors */ 627 /* Vector 0 is the reset vector */ 628 /* External Interrupt Request 0 */ 629 #define INT0_vect _VECTOR(1) 630 #define INT0_vect_num 1 631 632 /* External Interrupt Request 1 */ 633 #define INT1_vect _VECTOR(2) 634 #define INT1_vect_num 2 635 636 /* Pin Change Interrupt Request 0 */ 637 #define PCINT0_vect _VECTOR(3) 638 #define PCINT0_vect_num 3 639 640 /* Pin Change Interrupt Request 0 */ 641 #define PCINT1_vect _VECTOR(4) 642 #define PCINT1_vect_num 4 643 644 /* Pin Change Interrupt Request 1 */ 645 #define PCINT2_vect _VECTOR(5) 646 #define PCINT2_vect_num 5 647 648 /* Watchdog Time-out Interrupt */ 649 #define WDT_vect _VECTOR(6) 650 #define WDT_vect_num 6 651 652 /* Timer/Counter2 Compare Match A */ 653 #define TIMER2_COMPA_vect _VECTOR(7) 654 #define TIMER2_COMPA_vect_num 7 655 656 /* Timer/Counter2 Compare Match A */ 657 #define TIMER2_COMPB_vect _VECTOR(8) 658 #define TIMER2_COMPB_vect_num 8 659 660 /* Timer/Counter2 Overflow */ 661 #define TIMER2_OVF_vect _VECTOR(9) 662 #define TIMER2_OVF_vect_num 9 663 664 /* Timer/Counter1 Capture Event */ 665 #define TIMER1_CAPT_vect _VECTOR(10) 666 #define TIMER1_CAPT_vect_num 10 667 668 /* Timer/Counter1 Compare Match A */ 669 #define TIMER1_COMPA_vect _VECTOR(11) 670 #define TIMER1_COMPA_vect_num 11 671 672 /* Timer/Counter1 Compare Match B */ 673 #define TIMER1_COMPB_vect _VECTOR(12) 674 #define TIMER1_COMPB_vect_num 12 675 676 /* Timer/Counter1 Overflow */ 677 #define TIMER1_OVF_vect _VECTOR(13) 678 #define TIMER1_OVF_vect_num 13 679 680 /* TimerCounter0 Compare Match A */ 681 #define TIMER0_COMPA_vect _VECTOR(14) 682 #define TIMER0_COMPA_vect_num 14 683 684 /* TimerCounter0 Compare Match B */ 685 #define TIMER0_COMPB_vect _VECTOR(15) 686 #define TIMER0_COMPB_vect_num 15 687 688 /* Timer/Couner0 Overflow */ 689 #define TIMER0_OVF_vect _VECTOR(16) 690 #define TIMER0_OVF_vect_num 16 691 692 /* SPI Serial Transfer Complete */ 693 #define SPI_STC_vect _VECTOR(17) 694 #define SPI_STC_vect_num 17 695 696 /* USART Rx Complete */ 697 #define USART_RX_vect _VECTOR(18) 698 #define USART_RX_vect_num 18 699 700 /* USART, Data Register Empty */ 701 #define USART_UDRE_vect _VECTOR(19) 702 #define USART_UDRE_vect_num 19 703 704 /* USART Tx Complete */ 705 #define USART_TX_vect _VECTOR(20) 706 #define USART_TX_vect_num 20 707 708 /* ADC Conversion Complete */ 709 #define ADC_vect _VECTOR(21) 710 #define ADC_vect_num 21 711 712 /* EEPROM Ready */ 713 #define EE_READY_vect _VECTOR(22) 714 #define EE_READY_vect_num 22 715 716 /* Analog Comparator */ 717 #define ANALOG_COMP_vect _VECTOR(23) 718 #define ANALOG_COMP_vect_num 23 719 720 /* Two-wire Serial Interface */ 721 #define TWI_vect _VECTOR(24) 722 #define TWI_vect_num 24 723 724 /* Store Program Memory Read */ 725 #define SPM_Ready_vect _VECTOR(25) 726 #define SPM_Ready_vect_num 25 727 728 #define _VECTORS_SIZE 52 729 730 731 /* Constants */ 732 733 #define SPM_PAGESIZE 64 734 #define FLASHSTART 0x0000 735 #define FLASHEND 0x1FFF 736 #define RAMSTART 0x0100 737 #define RAMSIZE 1024 738 #define RAMEND 0x04FF 739 #define E2START 0 740 #define E2SIZE 512 741 #define E2PAGESIZE 4 742 #define E2END 0x01FF 743 #define XRAMEND RAMEND 744 745 746 /* Fuses */ 747 748 #define FUSE_MEMORY_SIZE 3 749 750 /* Low Fuse Byte */ 751 #define FUSE_SUT_CKSEL0 (unsigned char)~_BV(0) 752 #define FUSE_SUT_CKSEL1 (unsigned char)~_BV(1) 753 #define FUSE_SUT_CKSEL2 (unsigned char)~_BV(2) 754 #define FUSE_SUT_CKSEL3 (unsigned char)~_BV(3) 755 #define FUSE_SUT_CKSEL4 (unsigned char)~_BV(4) 756 #define FUSE_SUT_CKSEL5 (unsigned char)~_BV(5) 757 #define FUSE_CKOUT (unsigned char)~_BV(6) 758 #define FUSE_CKDIV8 (unsigned char)~_BV(7) 759 #define LFUSE_DEFAULT (FUSE_SUT_CKSEL0 & FUSE_SUT_CKSEL2 & FUSE_SUT_CKSEL3 & FUSE_SUT_CKSEL4 & FUSE_CKDIV8) 760 761 762 /* High Fuse Byte */ 763 #define FUSE_BODLEVEL0 (unsigned char)~_BV(0) 764 #define FUSE_BODLEVEL1 (unsigned char)~_BV(1) 765 #define FUSE_BODLEVEL2 (unsigned char)~_BV(2) 766 #define FUSE_EESAVE (unsigned char)~_BV(3) 767 #define FUSE_WDTON (unsigned char)~_BV(4) 768 #define FUSE_SPIEN (unsigned char)~_BV(5) 769 #define FUSE_DWEN (unsigned char)~_BV(6) 770 #define FUSE_RSTDISBL (unsigned char)~_BV(7) 771 #define HFUSE_DEFAULT (FUSE_SPIEN) 772 773 774 /* Extended Fuse Byte */ 775 #define FUSE_BOOTRST (unsigned char)~_BV(0) 776 #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) 777 #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) 778 #define EFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_BOOTSZ1) 779 780 781 782 /* Lock Bits */ 783 #define __LOCK_BITS_EXIST 784 #define __BOOT_LOCK_BITS_0_EXIST 785 #define __BOOT_LOCK_BITS_1_EXIST 786 787 788 /* Signature */ 789 #define SIGNATURE_0 0x1E 790 #define SIGNATURE_1 0x93 791 #define SIGNATURE_2 0x0A 792 793 794 #endif /* #ifdef _AVR_ATA6612C_H_INCLUDED */ 795 796