]> git.pld-linux.org Git - packages/crossavr-libc.git/blob - 502-avr-libc-bug12838.patch
- synchronized patches with official AVR toolchain 3.4.1.830
[packages/crossavr-libc.git] / 502-avr-libc-bug12838.patch
1 diff -Naurp include/avr/power.h include/avr/power.h
2 --- include/avr/power.h 2012-11-03 00:55:56.898279648 +0530
3 +++ include/avr/power.h 2012-11-03 00:56:08.170335618 +0530
4 @@ -2011,9 +2011,18 @@ do{ \
5  #define power_spi_enable()      (PRR &= (uint8_t)~(1 << PRSPI))
6  #define power_spi_disable()     (PRR |= (uint8_t)(1 << PRSPI))
7  
8 +#if defined(__AVR_AT90PWM216__) || defined(__AVR_AT90PWM316__)
9 +
10  #define power_usart_enable()    (PRR &= (uint8_t)~(1 << PRUSART))
11  #define power_usart_disable()   (PRR |= (uint8_t)(1 << PRUSART))
12  
13 +#else
14 +
15 +#define power_usart_enable()    (PRR &= (uint8_t)~(1 << PRUSART0))
16 +#define power_usart_disable()   (PRR |= (uint8_t)(1 << PRUSART0))
17 +
18 +#endif
19 +
20  #define power_timer0_enable()   (PRR &= (uint8_t)~(1 << PRTIM0))
21  #define power_timer0_disable()  (PRR |= (uint8_t)(1 << PRTIM0))
22  
23 @@ -2032,9 +2041,18 @@ do{ \
24  #define power_psc2_enable()     (PRR &= (uint8_t)~(1 << PRPSC2))
25  #define power_psc2_disable()    (PRR |= (uint8_t)(1 << PRPSC2))
26  
27 +#if defined(__AVR_AT90PWM216__) || defined(__AVR_AT90PWM316__)
28 +
29  #define power_all_enable()      (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
30  #define power_all_disable()     (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
31  
32 +#else
33 +
34 +#define power_all_enable()      (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
35 +#define power_all_disable()     (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
36 +
37 +#endif
38 +
39  
40  #elif defined(__AVR_AT90PWM81__) \
41  || defined(__AVR_AT90PWM161__)
42 @@ -2066,9 +2084,11 @@ do{ \
43  || defined(__AVR_ATmega165PA__) \
44  || defined(__AVR_ATmega325__) \
45  || defined(__AVR_ATmega325A__) \
46 +|| defined(__AVR_ATmega325P__) \
47  || defined(__AVR_ATmega325PA__) \
48  || defined(__AVR_ATmega3250__) \
49  || defined(__AVR_ATmega3250A__) \
50 +|| defined(__AVR_ATmega3250P__) \
51  || defined(__AVR_ATmega3250PA__) \
52  || defined(__AVR_ATmega645__) \
53  || defined(__AVR_ATmega645A__) \
54 @@ -2229,8 +2249,6 @@ do{ \
55  || defined(__AVR_ATmega168PA__) \
56  || defined(__AVR_ATmega328__) \
57  || defined(__AVR_ATmega328P__) \
58 -|| defined(__AVR_ATtiny48__) \
59 -|| defined(__AVR_ATtiny88__) \
60  || defined(__AVR_ATtiny828__)
61  
62  #define power_adc_enable()      (PRR &= (uint8_t)~(1 << PRADC))
63 @@ -2270,6 +2288,28 @@ do{ \
64  
65  #endif
66  
67 +#elif defined(__AVR_ATtiny48__) \
68 +|| defined(__AVR_ATtiny88__)
69 +
70 +#define power_adc_enable()      (PRR &= (uint8_t)~(1 << PRADC))
71 +#define power_adc_disable()     (PRR |= (uint8_t)(1 << PRADC))
72 +
73 +#define power_spi_enable()      (PRR &= (uint8_t)~(1 << PRSPI))
74 +#define power_spi_disable()     (PRR |= (uint8_t)(1 << PRSPI))
75 +
76 +#define power_timer0_enable()   (PRR &= (uint8_t)~(1 << PRTIM0))
77 +#define power_timer0_disable()  (PRR |= (uint8_t)(1 << PRTIM0))
78 +
79 +#define power_timer1_enable()   (PRR &= (uint8_t)~(1 << PRTIM1))
80 +#define power_timer1_disable()  (PRR |= (uint8_t)(1 << PRTIM1))
81 +
82 +#define power_twi_enable()      (PRR &= (uint8_t)~(1 << PRTWI))
83 +#define power_twi_disable()     (PRR |= (uint8_t)(1 << PRTWI))
84 +
85 +#define power_all_enable()      (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTWI)))
86 +#define power_all_disable()     (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTWI)))
87 +
88 +  
89  #elif defined(__AVR_ATtiny24__) \
90  || defined(__AVR_ATtiny24A__) \
91  || defined(__AVR_ATtiny44__) \
92 @@ -2477,6 +2517,24 @@ do{ \
93  
94  #endif
95  
96 +#elif defined(__AVR_ATmega64HVE__)
97 +
98 +
99 +#define power_lin_enable()      (PRR0 &= (uint8_t)~(1 << PRLIN))
100 +#define power_lin_disable()     (PRR0 |= (uint8_t)(1 << PRLIN))
101 +
102 +#define power_timer0_enable()   (PRR0 &= (uint8_t)~(1 << PRTIM0))
103 +#define power_timer0_disable()  (PRR0 |= (uint8_t)(1 << PRTIM0))
104 +
105 +#define power_timer1_enable()   (PRR0 &= (uint8_t)~(1 << PRTIM1))
106 +#define power_timer1_disable()  (PRR0 |= (uint8_t)(1 << PRTIM1))
107 +
108 +#define power_spi_enable()      (PRR0 &= (uint8_t)~(1 << PRSPI))
109 +#define power_spi_disable()     (PRR0 |= (uint8_t)(1 << PRSPI))
110 +
111 +#define power_all_enable()      (PRR0 &= (uint8_t)~((1<<PRLIN)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)))
112 +#define power_all_disable()     (PRR0 |= (uint8_t)((1<<PRLIN)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)))
113 +
114  #elif defined(__AVR_ATmega16M1__) \
115  || defined(__AVR_ATmega32C1__) \
116  || defined(__AVR_ATmega32M1__) \
117 @@ -2741,9 +2799,11 @@ do{ \
118  || defined(__AVR_ATmega324P__) \
119  || defined(__AVR_ATmega325__) \
120  || defined(__AVR_ATmega325A__) \
121 +|| defined(__AVR_ATmega325P__) \
122  || defined(__AVR_ATmega325PA__) \
123  || defined(__AVR_ATmega3250__) \
124  || defined(__AVR_ATmega3250A__) \
125 +|| defined(__AVR_ATmega3250P__) \
126  || defined(__AVR_ATmega3250PA__) \
127  || defined(__AVR_ATmega328__) \
128  || defined(__AVR_ATmega328P__) \
129 @@ -2885,6 +2945,7 @@ Gets and returns the clock prescaler reg
130  
131  #elif defined(__AVR_ATmega16HVB__) \
132  || defined(__AVR_ATmega16HVBREVB__) \
133 +|| defined(__AVR_ATmega64HVE__) \
134  || defined(__AVR_ATmega32HVB__) \
135  || defined(__AVR_ATmega32HVBREVB__)
136  
This page took 0.070093 seconds and 3 git commands to generate.