]> git.pld-linux.org Git - packages/crossavr-libc.git/blobdiff - 502-avr-libc-bug12838.patch
- synchronized patches with official AVR toolchain 3.4.1.830
[packages/crossavr-libc.git] / 502-avr-libc-bug12838.patch
diff --git a/502-avr-libc-bug12838.patch b/502-avr-libc-bug12838.patch
new file mode 100644 (file)
index 0000000..112c49c
--- /dev/null
@@ -0,0 +1,136 @@
+diff -Naurp include/avr/power.h include/avr/power.h
+--- include/avr/power.h        2012-11-03 00:55:56.898279648 +0530
++++ include/avr/power.h        2012-11-03 00:56:08.170335618 +0530
+@@ -2011,9 +2011,18 @@ do{ \
+ #define power_spi_enable()      (PRR &= (uint8_t)~(1 << PRSPI))
+ #define power_spi_disable()     (PRR |= (uint8_t)(1 << PRSPI))
++#if defined(__AVR_AT90PWM216__) || defined(__AVR_AT90PWM316__)
++
+ #define power_usart_enable()    (PRR &= (uint8_t)~(1 << PRUSART))
+ #define power_usart_disable()   (PRR |= (uint8_t)(1 << PRUSART))
++#else
++
++#define power_usart_enable()    (PRR &= (uint8_t)~(1 << PRUSART0))
++#define power_usart_disable()   (PRR |= (uint8_t)(1 << PRUSART0))
++
++#endif
++
+ #define power_timer0_enable()   (PRR &= (uint8_t)~(1 << PRTIM0))
+ #define power_timer0_disable()  (PRR |= (uint8_t)(1 << PRTIM0))
+@@ -2032,9 +2041,18 @@ do{ \
+ #define power_psc2_enable()     (PRR &= (uint8_t)~(1 << PRPSC2))
+ #define power_psc2_disable()    (PRR |= (uint8_t)(1 << PRPSC2))
++#if defined(__AVR_AT90PWM216__) || defined(__AVR_AT90PWM316__)
++
+ #define power_all_enable()      (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
+ #define power_all_disable()     (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
++#else
++
++#define power_all_enable()      (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
++#define power_all_disable()     (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRUSART0)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRPSC0)|(1<<PRPSC1)|(1<<PRPSC2)))
++
++#endif
++
+ #elif defined(__AVR_AT90PWM81__) \
+ || defined(__AVR_AT90PWM161__)
+@@ -2066,9 +2084,11 @@ do{ \
+ || defined(__AVR_ATmega165PA__) \
+ || defined(__AVR_ATmega325__) \
+ || defined(__AVR_ATmega325A__) \
++|| defined(__AVR_ATmega325P__) \
+ || defined(__AVR_ATmega325PA__) \
+ || defined(__AVR_ATmega3250__) \
+ || defined(__AVR_ATmega3250A__) \
++|| defined(__AVR_ATmega3250P__) \
+ || defined(__AVR_ATmega3250PA__) \
+ || defined(__AVR_ATmega645__) \
+ || defined(__AVR_ATmega645A__) \
+@@ -2229,8 +2249,6 @@ do{ \
+ || defined(__AVR_ATmega168PA__) \
+ || defined(__AVR_ATmega328__) \
+ || defined(__AVR_ATmega328P__) \
+-|| defined(__AVR_ATtiny48__) \
+-|| defined(__AVR_ATtiny88__) \
+ || defined(__AVR_ATtiny828__)
+ #define power_adc_enable()      (PRR &= (uint8_t)~(1 << PRADC))
+@@ -2270,6 +2288,28 @@ do{ \
+ #endif
++#elif defined(__AVR_ATtiny48__) \
++|| defined(__AVR_ATtiny88__)
++
++#define power_adc_enable()      (PRR &= (uint8_t)~(1 << PRADC))
++#define power_adc_disable()     (PRR |= (uint8_t)(1 << PRADC))
++
++#define power_spi_enable()      (PRR &= (uint8_t)~(1 << PRSPI))
++#define power_spi_disable()     (PRR |= (uint8_t)(1 << PRSPI))
++
++#define power_timer0_enable()   (PRR &= (uint8_t)~(1 << PRTIM0))
++#define power_timer0_disable()  (PRR |= (uint8_t)(1 << PRTIM0))
++
++#define power_timer1_enable()   (PRR &= (uint8_t)~(1 << PRTIM1))
++#define power_timer1_disable()  (PRR |= (uint8_t)(1 << PRTIM1))
++
++#define power_twi_enable()      (PRR &= (uint8_t)~(1 << PRTWI))
++#define power_twi_disable()     (PRR |= (uint8_t)(1 << PRTWI))
++
++#define power_all_enable()      (PRR &= (uint8_t)~((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTWI)))
++#define power_all_disable()     (PRR |= (uint8_t)((1<<PRADC)|(1<<PRSPI)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRTWI)))
++
++  
+ #elif defined(__AVR_ATtiny24__) \
+ || defined(__AVR_ATtiny24A__) \
+ || defined(__AVR_ATtiny44__) \
+@@ -2477,6 +2517,24 @@ do{ \
+ #endif
++#elif defined(__AVR_ATmega64HVE__)
++
++
++#define power_lin_enable()      (PRR0 &= (uint8_t)~(1 << PRLIN))
++#define power_lin_disable()     (PRR0 |= (uint8_t)(1 << PRLIN))
++
++#define power_timer0_enable()   (PRR0 &= (uint8_t)~(1 << PRTIM0))
++#define power_timer0_disable()  (PRR0 |= (uint8_t)(1 << PRTIM0))
++
++#define power_timer1_enable()   (PRR0 &= (uint8_t)~(1 << PRTIM1))
++#define power_timer1_disable()  (PRR0 |= (uint8_t)(1 << PRTIM1))
++
++#define power_spi_enable()      (PRR0 &= (uint8_t)~(1 << PRSPI))
++#define power_spi_disable()     (PRR0 |= (uint8_t)(1 << PRSPI))
++
++#define power_all_enable()      (PRR0 &= (uint8_t)~((1<<PRLIN)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)))
++#define power_all_disable()     (PRR0 |= (uint8_t)((1<<PRLIN)|(1<<PRTIM0)|(1<<PRTIM1)|(1<<PRSPI)))
++
+ #elif defined(__AVR_ATmega16M1__) \
+ || defined(__AVR_ATmega32C1__) \
+ || defined(__AVR_ATmega32M1__) \
+@@ -2741,9 +2799,11 @@ do{ \
+ || defined(__AVR_ATmega324P__) \
+ || defined(__AVR_ATmega325__) \
+ || defined(__AVR_ATmega325A__) \
++|| defined(__AVR_ATmega325P__) \
+ || defined(__AVR_ATmega325PA__) \
+ || defined(__AVR_ATmega3250__) \
+ || defined(__AVR_ATmega3250A__) \
++|| defined(__AVR_ATmega3250P__) \
+ || defined(__AVR_ATmega3250PA__) \
+ || defined(__AVR_ATmega328__) \
+ || defined(__AVR_ATmega328P__) \
+@@ -2885,6 +2945,7 @@ Gets and returns the clock prescaler reg
+ #elif defined(__AVR_ATmega16HVB__) \
+ || defined(__AVR_ATmega16HVBREVB__) \
++|| defined(__AVR_ATmega64HVE__) \
+ || defined(__AVR_ATmega32HVB__) \
+ || defined(__AVR_ATmega32HVBREVB__)
This page took 0.068509 seconds and 4 git commands to generate.