1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

1732 Commits

Author SHA1 Message Date
Hauke Petersen
047f7544a4 Merge pull request #4198 from thomaseichinger/pr/fix_4197
stm32f1/i2c: Disable I2C module before initialization
2015-11-17 17:41:33 +01:00
Ludwig Knüpfer
a86866ea9f cpu/native: malloc.h for osx: fix doxygen, move 2015-11-15 12:14:59 +01:00
Andreas "Paul" Pauli
e5b6566c9a Merge pull request #4170 from haukepetersen/opt_sam3_uart
cpu/sam3: cleaned up UART driver
2015-11-11 16:21:10 +01:00
Cenk Gündoğan
0792450dd7 cpu: kinetis_common: remove vtimer include from spi.c 2015-11-11 09:03:12 +01:00
Joakim Nohlgård
511539bb7a Merge pull request #4247 from cgundogan/pr/stm32/remove_vtimer_include
cpu: stm32f[34]: remove unused vtimer include
2015-11-11 08:57:55 +01:00
Hauke Petersen
86da628971 Merge pull request #4081 from daniel-k/pr/samd21_rtt_fix_irq_priority
samd21: don't change priority of interrupts, this is really evil
2015-11-10 13:05:10 +01:00
Cenk Gündoğan
18427a8074 cpu: stm32f4: spi: remove unused vtimer include 2015-11-10 12:27:17 +01:00
Cenk Gündoğan
6e7f83a390 cpu: stm32f3: spi: remove unused vtimer include 2015-11-10 12:26:58 +01:00
Peter Kietzmann
745320dc41 Merge pull request #4232 from DipSwitch/fix_gpio_read
gpio: Pin direction readout of gpio_read was invalid
2015-11-09 13:18:13 +01:00
Oleg Hahm
4ef889f9ce Merge pull request #4226 from DipSwitch/stm32f1_add_spi_12
cpu/stm32f1/spi: add SPI peripheral 1 and 2
2015-11-07 18:06:09 +09:00
DipSwitch
4186e38976 stm32f1/gpio: pin direction readout of gpio_read was invalid 2015-11-06 16:57:10 +01:00
Andreas "Paul" Pauli
bf63e09a65 Merge pull request #4137 from haukepetersen/opt_samr21_pwm
cpu/samd21: optimized pin config for PWM driver
2015-11-05 16:14:05 +01:00
DipSwitch
2e2ec37846 cpu/stm32f1/spi: add SPI peripheral 1 and 2 2015-11-04 13:40:20 +01:00
René Herthel
13ae0ab979 atmega2560/cpu: Fixed wrong using of UART macros 2015-11-03 18:29:53 +01:00
Hauke Petersen
3ab389b1fd Merge pull request #4134 from gebart/pr/cortexm-hardfault-naked-fix
cpu/cortexm_common: only set naked attribute on DEVELHELP hardfault handler
2015-11-02 18:04:57 +01:00
Thomas Eichinger
96b6d4b1dd stm32f1/i2c: Disable I2C module before initialization
When initializing multiple drivers connected to the same
I2C bus, the bus should be disabled before pin toggeling
and reinitialization.
2015-11-01 11:51:51 +09:00
Ludwig Knüpfer
3b2d26b0dc cpu/saml21: fix typo in gpio.c 2015-10-31 17:35:41 +01:00
Ludwig Knüpfer
406aea453c cpu/samd21: fix typo in gpio.c 2015-10-31 17:28:16 +01:00
Joakim Nohlgård
76bddaf213 Merge pull request #3283 from gebart/pr/kinetis-errata-e4218
k60: Add workaround for errata e4218
2015-10-30 07:33:31 +01:00
Peter Kietzmann
6fcea29bdc Merge pull request #4042 from gebart/pr/kinetis-gpio-periph-refactor
kinetis_common: Refactor GPIO implementation
2015-10-29 08:29:09 +01:00
Hauke Petersen
7d1c952734 Merge pull request #3571 from haukepetersen/add_board_wstk6220a
boards/cpu: added SLWSTK6220A and EZR32WG support
2015-10-28 20:58:43 +01:00
Hauke Petersen
b9707cd8f3 cpu/ezr32wg: added extern C to vendor headers 2015-10-28 17:33:44 +01:00
Joakim Nohlgård
142c28094e kinetis_common: Refactor GPIO implementation
This is a rewrite of the Kinetis GPIO driver which follows the
refactored API in [1]. Pins are specified using the GPIO_PIN(PORT_x, y)
macro, e.g. GPIO_PIN(PORT_E, 25) for the PTE25 pin.

The interrupt pin handling is now implemented as a linked list, this
is more memory efficient, but with a minor variation in interrupt
latency depending on in what order the pins were initialized at
runtime.

Because the linked list entries are taken from a shared pool, there is
also the possibility of running out of available configuration slots,
define the preprocessor macro GPIO_INT_POOL_SIZE in periph_conf.h if
you need more than 16 pins configured for interrupts in the same
application.

[1]: https://github.com/RIOT-OS/RIOT/pull/3095
2015-10-28 14:12:19 +01:00
Martine Lenders
a370a12f75 msp430: fix doc to time.h 2015-10-28 13:59:52 +01:00
Martine Lenders
77b0ffffec msp430: include missing types to time.h 2015-10-28 13:59:35 +01:00
Hauke Petersen
36646865f0 cpu: added support for SiLabs EZR32WG 2015-10-28 13:50:34 +01:00
Hauke Petersen
e1f028a859 cpu/sam3: reworked the UART driver 2015-10-28 12:05:35 +01:00
Hauke Petersen
85e05d411e Merge pull request #4114 from haukepetersen/opt_periph_uart
drivers/periph/uart: remodeled UART interface
2015-10-28 10:50:03 +01:00
Joakim Nohlgård
3033738e30 Merge pull request #4126 from gebart/pr/cortexm-r7-O0-fix
cortexm-common: Workaround for error: r7 cannot be used in asm here
2015-10-28 07:01:32 +01:00
Joakim Nohlgård
c3340b7ccf cpu/cortexm_common: Use PRIx32 for printing uint32_t in hard fault handler
fixes errors like:
    error: format specifies type 'unsigned long' but the argument has
    type 'uint32_t' (aka 'unsigned int') [-Werror,-Wformat]
2015-10-28 06:59:28 +01:00
Joakim Nohlgård
a5449bcbd4 cpu/cortexm_common: only set naked attribute on DEVELHELP hardfault handler
Fixes error on LLVM/Clang:

   cpu/cortexm_common/vectors_cortexm.c:287:5: error: non-ASM statement in naked function is not supported
       core_panic(PANIC_HARD_FAULT, "HARD FAULT HANDLER");
       ^
   cpu/cortexm_common/include/vectors_cortexm.h:65:46: note: attribute is here
   void hard_fault_default(void) __attribute__((naked));
                                                ^
   1 error generated.
2015-10-28 06:51:51 +01:00
Peter Kietzmann
f5b2c80bd6 Merge pull request #4015 from daniel-k/pr/cortexm_hardfault_overflow
cortexm_common: check for possible stack overflow in hardfault handler
2015-10-27 19:19:32 +01:00
daniel-k
c5e220c140 cortexm_common: check for possible stack overflow in hardfault handler 2015-10-27 15:58:36 +01:00
Hauke Petersen
19cd4b32c4 cpu/stm32l1: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
1eb63f20a7 cpu/stm32f4: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
9741267d9d cpu/stm32f3: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
59b935bd1e cpu/stm32f1: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
b71d8ea750 cpu/stm32f0: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
65673663b5 cpu/saml21: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
a93f15b5cb cpu/samd21: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
07a7d93690 cpu/msp430fxyz: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
fe249b9006 cpu/lpc2387: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
68670f038f cpu/lpc1768: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
d31401ef1a cpu/lpc11u34: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
14796f2351 cpu/lm4f120: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
c7d256d83e cpu/kinetis_common: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
a58d577cb1 cpu/cc2538: adapted UART driver 2015-10-27 14:59:38 +01:00
Hauke Petersen
1125f5feb3 cpu/atmega2560: adapted UART driver 2015-10-27 14:59:37 +01:00
Hauke Petersen
8044e457cb cpu/atmega2560: adapted UART driver 2015-10-27 14:59:37 +01:00
Hauke Petersen
4c3a397f34 cpu/sam3: adapted UART driver 2015-10-27 14:59:37 +01:00
Hauke Petersen
d32c03932e cpu/nrf51: adapted UART driver 2015-10-27 14:59:37 +01:00
Hauke Petersen
97af043227 cpu/stm32f4: adapted UART driver 2015-10-27 14:59:37 +01:00
Peter Kietzmann
59e2fd8a22 Merge pull request #4148 from LudwigKnuepfer/pr/nrf51-adc
cpu/nrf51 + boards: add ADC implementation
2015-10-27 14:49:32 +01:00
Peter Kietzmann
816bef6220 Merge pull request #4094 from danielamkaer/atmega2560_gpio_init_fix
cpu/atmega2560: fixes the configuration of pullup resistors in gpio.c
2015-10-26 08:45:34 +01:00
Peter Kietzmann
e539db10ee Merge pull request #4104 from gebart/pr/drop-timer-reset
periph/timer: Drop timer_reset
2015-10-26 08:36:01 +01:00
Peter Kietzmann
9f6cd49559 Merge pull request #4047 from danielamkaer/bugfix_atmega2560_gpio
cpu/atmega2560: gpio - fixes a bug where gpio_* behaves incorrect if …
2015-10-26 08:17:36 +01:00
Joakim Gebart
c404bd97ad k60: Add workaround for errata e4218
e4218: SIM/FLEXBUS: SIM_SCGC7[FLEXBUS] bit should be cleared when the
FlexBus is not being used.

Errata type: Errata

Description:

The SIM_SCGC7[FLEXBUS] bit is set by default. This means that the
FlexBus will be enabled and come up in global chip select mode. With
some code sequence and register value combinations the core could
attempt to prefetch from the FlexBus even though it might not actually
use the value it prefetched. In the case where the FlexBus is
unconfigured, this can result in a hung bus cycle on the FlexBus.

Workaround:

 - If the FlexBus is not being used, disabled the clock to the FlexBus
   during chip initialization by clearing the SIM_SCGC7[FLEXBUS] bit.
 - If the FlexBus will be used, then enable at least one chip select as
   early in the chip initialization process as possible.
2015-10-25 15:12:22 +01:00
Ludwig Knüpfer
73d21efe7d cpu/nrf51: add ADC driver 2015-10-25 14:30:14 +01:00
Ludwig Knüpfer
0b5918003f cpu/nrf51 + boards: fix typo - TIEMER -> TIMER 2015-10-25 08:07:21 +01:00
Johann Fischer
f31db0431f Merge pull request #4132 from jfischer-phytec-iot/pr@kinetis-ldscript
kinetis_common: use cortexm_common ldscript
2015-10-24 09:59:38 +02:00
Johann Fischer
e95afc80fb kinetis_common: use cortexm_common ldscript
kinetis.ld includes cortexm_common ldscript, the fields for the
isr vectors and fcfield remain in kinetis.ld.
2015-10-23 12:01:22 +02:00
Johann Fischer
f0e7d2fc03 cpu/kinetis_common/timer.c: cleanup and fix the pit timer
It simplifies the virtual "count up timer" and improves
the accuracy a little. The LDVAL for the prescaler should
be set as a number of prescaler cycles-1. The virtual
up-counter should be corrected in the isr by +1
(See PIT reference manual). This also fixes a bug where
the timer is not used by xtimer and up-counter does not overflow.
2015-10-23 11:58:10 +02:00
Hauke Petersen
13fcefb638 s cpu: moved pwm_conf_[chan_]t to periph_cpu.h 2015-10-23 11:41:04 +02:00
Hauke Petersen
fe6b3e7d54 cpu/samd21: optimized pin config for PWM driver 2015-10-23 11:41:04 +02:00
Daniel Amkær Sørensen
6040531ae1 cpu/atmega2560: fixes the configuration of pullup resistors in gpio.c 2015-10-22 07:05:33 +02:00
Joakim Nohlgård
30584a49e5 cortexm-common: Workaround for error: r7 cannot be used in asm here
Fixes https://github.com/RIOT-OS/RIOT/issues/4125
2015-10-21 14:35:02 +02:00
Hauke Petersen
05ef9fee99 cpu/kinetis_common: removed i2c_init_slave() 2015-10-20 16:58:06 +02:00
Hauke Petersen
82c843a000 cpu: removed init_slave from I2C drivers 2015-10-20 16:57:39 +02:00
Joakim Nohlgård
cbaeccdb90 periph/timer: Drop timer_reset 2015-10-17 20:11:03 +02:00
Thomas Eichinger
79a3b05b42 Merge pull request #4092 from ks156/spi
cpu/lpc11u34 : Added SPI for NXP LPC11U34 (SPI_0 and SPI_1)
2015-10-16 17:48:23 +02:00
Paul Rathgeb
df68ac9f79 cpu/lpc11u34 : Added SPI for NXP LPC11U34 (SPI_0 and SPI_1)
make: Blacklisted 'weio' in driver_at86rf2xx and driver_kw2xrf due to insufficient memory
2015-10-16 17:28:09 +02:00
daniel-k
1f98e06956 samd21/gpio: check if interrupt is enabled in isr, fixes #4087
The interrupt flag for a previously configured external gpio interrupt
will be set regardless of the actual configuration. So when another source
causes an interrupt, the callback of a disabled gpio interrupt will be serviced
although it was disabled if the interrupt occured in the meantime.
2015-10-15 17:05:40 +02:00
Thomas Eichinger
02e2d8c353 Merge pull request #4084 from ks156/adc
cpu/lpc11u34 : Added ADC support for LPC11U34
2015-10-14 10:22:09 +02:00
Paul Rathgeb
c2d8d27322 cpu/lpc11u34 : Added ADC support for LPC11U34 2015-10-13 21:45:17 +02:00
Thomas Eichinger
2b29abed8e Merge pull request #4071 from thomaseichinger/hauke-fix-gpio-gpiodev
drivers/gpio: renamed GPIO(x,y) macro to GPIO_PIN
2015-10-13 16:05:19 +02:00
Hauke Petersen
d43dc9182f cpu: s/GPIO(x,y)/GPIO_PIN(x,y)/ 2015-10-13 14:59:54 +02:00
8c08c9f731 Merge pull request #4049 from thomaseichinger/pr/mega_gpio_oob
cpu/atmega2560: fix out of bounds array access
2015-10-13 13:00:07 +02:00
Thomas Eichinger
c0782d68e8 Merge pull request #4070 from thomaseichinger/hauke_fix_l1_uartpins
cpu/stm32l1: cleaned up UART pin configuration slightly
2015-10-13 11:37:12 +02:00
daniel-k
70c8f355c5 samd21: don't change priority of interrupts, this is really evil 2015-10-12 19:53:43 +02:00
Hauke Petersen
cdcdd185af boards/nucleo-l1: adapted UART configuration 2015-10-10 13:24:28 +02:00
Paul Rathgeb
8b97ef12d5 cpu/lpc11u34 : Add CPUID support and added this capability to board/weio 2015-10-10 09:23:45 +02:00
Hauke Petersen
2e84fbf85e cpu/stm32l1: optimized pin init in UART driver 2015-10-09 11:15:34 +02:00
Thomas Eichinger
89c0f42b00 Merge pull request #4029 from ks156/pwm
cpu/lpc11u34 : Peripheral addition : PWM
2015-10-08 17:00:52 +02:00
Cenk Gündoğan
05fe4a33d8 Merge pull request #3870 from cgundogan/pr/cpu/cortexm0plus
cpu/Makefile.include.cortexm_common: don't use cortex-m0plus for clang if unsupported
2015-10-08 16:50:39 +02:00
Paul Rathgeb
01e5c056d9 cpu/lpc11u34 : Added PWM support for the NXP LPC11U34
and added PWM capabilities to the board WeIO
2015-10-08 15:37:38 +02:00
Thomas Eichinger
11895d4f07 cpu/atmega2560: fix out of bounds array access 2015-10-05 13:55:16 +02:00
Daniel Amkær Sørensen
e500301f1c cpu/atmega2560: gpio - fixes a bug where gpio_* behaves incorrect if PORTn address > 0xFF 2015-10-05 12:43:35 +02:00
Ludwig Knüpfer
dd3229aa62 native: dynamically load malloc
g++ 5.2.0 apparently requires malloc before startup is run.
2015-10-04 18:13:12 +02:00
Paul Rathgeb
53b6df3751 cpu/lpc11u34: Fixed typo 2015-10-02 14:56:52 +02:00
Paul Rathgeb
100bd51a64 cpu/lpc11u34 : Added a new CPU definition for NXP LPC11U34
This CPU is used in the WeIO (www.we-io.net)
               board.
               Peripheral included :
               - timer
               - uart
               - gpio
2015-10-01 20:11:00 +02:00
5b0dc7641f Merge pull request #4004 from sgso/used_attribute_for_lto
cpu/cortexm_common: add used attributes for LTO
2015-10-01 11:18:46 +02:00
Peter Kietzmann
4e05254eb7 Merge pull request #3893 from haukepetersen/opt_f1_baudcalc
cpu/stm32f1: optimized baudrate calculation
2015-09-30 17:20:08 +02:00
Sebastian Sontberg
bc1e6c815e cpu/cortexm_common: add used attributes for LTO 2015-09-30 15:56:38 +02:00
Peter Kietzmann
be8f63769c Merge pull request #3879 from sgso/fix_spi_slave_return_codes
cpu: let spi_init_slave() stubs return error codes
2015-09-30 14:07:54 +02:00
Daniel Krebs
85f5a86f7e Merge pull request #3887 from daniel-k/pr/samd21_clocks
samd21: tidy up peripheral clocks and fix potential bugs
2015-09-30 10:42:10 +02:00
Thomas Eichinger
053d2498fc Merge pull request #3193 from locicontrols/cc2538-uart-fixes
cpu/cc2538: misc UART driver fixes
2015-09-30 00:30:31 +02:00
Peter Kietzmann
076cbb6c15 Merge pull request #3897 from haukepetersen/opt_l1_baudcalc
cpu/stm32l1: optimized baudrate calculation
2015-09-29 23:41:27 +02:00
Peter Kietzmann
c797117be1 Merge pull request #3896 from haukepetersen/opt_f4_baudcalc
cpu/stm32f4: optimized baudrate calculation
2015-09-29 23:30:35 +02:00
Peter Kietzmann
6dd73a0e70 Merge pull request #3895 from haukepetersen/opt_f3_baudcalc
cpu/stm32f3: optimized baudrate calculation
2015-09-29 22:24:23 +02:00
Peter Kietzmann
15b5e09d9f Merge pull request #3894 from haukepetersen/opt_f0_baudcalc
cpu/stm32f0: optimized baudrate calculation
2015-09-29 21:01:37 +02:00