~ubuntu-branches/ubuntu/raring/avr-libc/raring-proposed

« back to all changes in this revision

Viewing changes to include/avr/power.h

  • Committer: Bazaar Package Importer
  • Author(s): Hakan Ardo
  • Date: 2007-12-29 16:20:03 UTC
  • mto: This revision was merged to the branch mainline in revision 7.
  • Revision ID: james.westby@ubuntu.com-20071229162003-xx0w1lyakuvfwrhm
Tags: upstream-1.4.7
ImportĀ upstreamĀ versionĀ 1.4.7

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
27
  POSSIBILITY OF SUCH DAMAGE. */
28
28
 
29
 
/* $Id: power.h,v 1.1.2.3 2007/01/23 15:34:58 joerg_wunsch Exp $ */
 
29
/* $Id: power.h,v 1.1.2.9 2007/10/29 20:58:31 arcanum Exp $ */
30
30
 
31
31
#ifndef _AVR_POWER_H_
32
32
#define _AVR_POWER_H_   1
74
74
  <tr>
75
75
    <td>power_adc_enable()</td>
76
76
    <td>Enable the Analog to Digital Converter module.</td>
77
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
77
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
78
78
  </tr>
79
79
 
80
80
  <tr>
81
81
    <td>power_adc_disable()</td>
82
82
    <td>Disable the Analog to Digital Converter module.</td>
83
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
83
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
84
84
  </tr>
85
85
 
86
86
  <tr>
98
98
  <tr>
99
99
    <td>power_psc0_enable()</td>
100
100
    <td>Enable the Power Stage Controller 0 module.</td>
101
 
    <td>AT90PWM1, AT90PWM2, AT90PWM3</td>
 
101
    <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
102
102
  </tr>
103
103
 
104
104
  <tr>
105
105
    <td>power_psc0_disable()</td>
106
106
    <td>Disable the Power Stage Controller 0 module.</td>
107
 
    <td>AT90PWM1, AT90PWM2, AT90PWM3</td>
 
107
    <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
108
108
  </tr>
109
109
 
110
110
  <tr>
111
111
    <td>power_psc1_enable()</td>
112
112
    <td>Enable the Power Stage Controller 1 module.</td>
113
 
    <td>AT90PWM1, AT90PWM2, AT90PWM3</td>
 
113
    <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
114
114
  </tr>
115
115
 
116
116
  <tr>
117
117
    <td>power_psc1_disable()</td>
118
118
    <td>Disable the Power Stage Controller 1 module.</td>
119
 
    <td>AT90PWM1, AT90PWM2, AT90PWM3</td>
 
119
    <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
120
120
  </tr>
121
121
 
122
122
  <tr>
123
123
    <td>power_psc2_enable()</td>
124
124
    <td>Enable the Power Stage Controller 2 module.</td>
125
 
    <td>AT90PWM1, AT90PWM2, AT90PWM3</td>
 
125
    <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
126
126
  </tr>
127
127
 
128
128
  <tr>
129
129
    <td>power_psc2_disable()</td>
130
130
    <td>Disable the Power Stage Controller 2 module.</td>
131
 
    <td>AT90PWM1, AT90PWM2, AT90PWM3</td>
 
131
    <td>AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
132
132
  </tr>
133
133
 
134
134
  <tr>
135
135
    <td>power_spi_enable()</td>
136
136
    <td>Enable the Serial Peripheral Interface module.</td>
137
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
 
137
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
138
138
  </tr>
139
139
 
140
140
  <tr>
141
141
    <td>power_spi_disable()</td>
142
142
    <td>Disable the Serial Peripheral Interface module.</td>
143
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
 
143
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168</td>
144
144
  </tr>
145
145
 
146
146
  <tr>
147
147
    <td>power_timer0_enable()</td>
148
148
    <td>Enable the Timer 0 module.</td>
149
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
149
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM216, AT90PWM316, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
150
150
  </tr>
151
151
 
152
152
  <tr>
153
153
    <td>power_timer0_disable()</td>
154
154
    <td>Disable the Timer 0 module.</td>
155
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
155
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
156
156
  </tr>
157
157
 
158
158
  <tr>
159
159
    <td>power_timer1_enable()</td>
160
160
    <td>Enable the Timer 1 module.</td>
161
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
161
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
162
162
  </tr>
163
163
 
164
164
  <tr>
165
165
    <td>power_timer1_disable()</td>
166
166
    <td>Disable the Timer 1 module.</td>
167
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
167
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
168
168
  </tr>
169
169
 
170
170
  <tr>
230
230
  <tr>
231
231
    <td>power_usart_enable()</td>
232
232
    <td>Enable the USART module.</td>
233
 
    <td>AT90PWM2, AT90PWM3</td>
 
233
    <td>AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
234
234
  </tr>
235
235
 
236
236
  <tr>
237
237
    <td>power_usart_disable()</td>
238
238
    <td>Disable the USART module.</td>
239
 
    <td>AT90PWM2, AT90PWM3</td>
 
239
    <td>AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B</td>
240
240
  </tr>
241
241
 
242
242
  <tr>
326
326
  <tr>
327
327
    <td>power_all_enable()</td>
328
328
    <td>Enable all modules.</td>
329
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
329
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
330
330
  </tr>
331
331
 
332
332
  <tr>
333
333
    <td>power_all_disable()</td>
334
334
    <td>Disable all modules.</td>
335
 
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM3, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
 
335
    <td>ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861</td>
336
336
  </tr>
337
337
</table>
338
338
</center>
476
476
 
477
477
 
478
478
#elif defined(__AVR_AT90PWM2__) \
479
 
|| defined(__AVR_AT90PWM3__)
 
479
|| defined(__AVR_AT90PWM2B__) \
 
480
|| defined(__AVR_AT90PWM3__) \
 
481
|| defined(__AVR_AT90PWM3B__) \
 
482
|| defined(__AVR_AT90PWM216__) \
 
483
|| defined(__AVR_AT90PWM316__)
480
484
 
481
485
#define power_adc_enable()      (PRR &= (uint8_t)~(1 << PRADC))
482
486
#define power_adc_disable()     (PRR |= (uint8_t)(1 << PRADC))
589
593
#define power_all_disable()     (PRR0 |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRUSART1)|(1<<PRTIM0)|(1<<PRTIM2)|(1<<PRTWI)))
590
594
 
591
595
 
592
 
#elif defined(__AVR_ATmega644__)
 
596
#elif defined(__AVR_ATmega644__) \
 
597
|| defined(__AVR_ATmega644P__)
593
598
 
594
599
#define power_adc_enable()      (PRR0 &= (uint8_t)~(1 << PRADC))
595
600
#define power_adc_disable()     (PRR0 |= (uint8_t)(1 << PRADC))
636
641
 
637
642
 
638
643
#elif defined(__AVR_ATmega48__) \
 
644
|| defined(__AVR_ATmega48P__) \
639
645
|| defined(__AVR_ATmega88__) \
640
 
|| defined(__AVR_ATmega168__)
 
646
|| defined(__AVR_ATmega88P__) \
 
647
|| defined(__AVR_ATmega168__) \
 
648
|| defined(__AVR_ATmega168P__) \
 
649
|| defined(__AVR_ATmega328P__) \
 
650
|| defined(__AVR_ATtiny48__)
641
651
 
642
652
#define power_adc_enable()      (PRR &= (uint8_t)~(1 << PRADC))
643
653
#define power_adc_disable()     (PRR |= (uint8_t)(1 << PRADC))
672
682
|| defined(__AVR_ATtiny85__) \
673
683
|| defined(__AVR_ATtiny261__) \
674
684
|| defined(__AVR_ATtiny461__) \
675
 
|| defined(__AVR_ATtiny861__)
 
685
|| defined(__AVR_ATtiny861__) \
 
686
|| defined(__AVR_ATtiny43U__)
676
687
 
677
688
#define power_adc_enable()      (PRR &= (uint8_t)~(1 << PRADC))
678
689
#define power_adc_disable()     (PRR |= (uint8_t)(1 << PRADC))
707
718
|| defined(__AVR_AT90CAN128__) \
708
719
|| defined(__AVR_AT90PWM1__) \
709
720
|| defined(__AVR_AT90PWM2__) \
 
721
|| defined(__AVR_AT90PWM2B__) \
710
722
|| defined(__AVR_AT90PWM3__) \
 
723
|| defined(__AVR_AT90PWM3B__) \
 
724
|| defined(__AVR_AT90PWM216__) \
 
725
|| defined(__AVR_AT90PWM316__) \
711
726
|| defined(__AVR_ATmega162__) \
712
727
|| defined(__AVR_ATmega165__) \
713
728
|| defined(__AVR_ATmega165P__) \
721
736
|| defined(__AVR_ATmega3290__) \
722
737
|| defined(__AVR_ATmega649__) \
723
738
|| defined(__AVR_ATmega6490__) \
724
 
|| defined (__AVR_ATmega48__) \
725
 
|| defined (__AVR_ATmega88__) \
726
 
|| defined (__AVR_ATmega168__) \
727
 
|| defined (__AVR_ATmega164P__) \
728
 
|| defined (__AVR_ATmega324P__) \
729
 
|| defined (__AVR_ATmega644__) \
730
 
|| defined (__AVR_ATmega644P__) \
731
 
|| defined (__DOXYGEN__)
 
739
|| defined(__AVR_ATmega48__) \
 
740
|| defined(__AVR_ATmega48P__) \
 
741
|| defined(__AVR_ATmega88__) \
 
742
|| defined(__AVR_ATmega88P__) \
 
743
|| defined(__AVR_ATmega168__) \
 
744
|| defined(__AVR_ATmega168P__) \
 
745
|| defined(__AVR_ATmega328P__) \
 
746
|| defined(__AVR_ATmega164P__) \
 
747
|| defined(__AVR_ATmega324P__) \
 
748
|| defined(__AVR_ATmega644__) \
 
749
|| defined(__AVR_ATmega644P__) \
 
750
|| defined(__AVR_ATtiny48__) \
 
751
|| defined(__DOXYGEN__)
732
752
 
733
753
 
734
754
/** \addtogroup avr_power
815
835
|| defined(__AVR_ATtiny861__) \
816
836
|| defined(__AVR_ATtiny2313__) \
817
837
|| defined(__AVR_ATtiny13__) \
 
838
|| defined(__AVR_ATtiny43U__) \
818
839
 
819
840
typedef enum
820
841
{