Federico Pellegrin
d3cd2b71c0
sam0_common: fix sercom_id return value for SERCOM5 ( #9875 )
2018-09-03 18:57:18 +02:00
smlng
214ddc4fc4
cpu/cc2538: adapt and cleanup periph/hwrng
...
Some minor adaptions due to cleanup in periph/adc and usage of
vendor header files.
2018-09-03 09:01:42 +02:00
smlng
d40cfab95a
cpu/cc2538: enhance periph ADC
...
Adapt the periph ADC implementation to use vendor defines where
ever possible. Remove duplicate or obsolete defines and adapt
board configuration as required.
2018-09-03 09:01:42 +02:00
Federico Pellegrin
bfdafe877e
sam0_common: correct sercom_set_gen for sercom5. it assumes SERCOM5 GEN clock is in sequence, but is not, need to put a specific if test
2018-09-02 13:39:08 +02:00
Joakim Nohlgård
efc5f2a95c
msp430fxyz: Disable GPIO ISRs when periph_gpio_irq is not selected
2018-08-29 08:53:20 +02:00
Joakim Nohlgård
8996cbe313
make: Introduce new feature flag periph_gpio_irq
2018-08-29 08:53:20 +02:00
Pekka Nikander
6aa0a48558
cpu/cortexm_common/cortexm_init: Allow piecewise calling
...
Refactor cortexm_init to allow bits and pieces of
it to be called separately, while retaining the
current API, too. Needed for non-standard
Cortex-M initialisation, such as with nRF52
SoftDevice.
2018-08-28 14:07:50 +03:00
Karl Fessel
d9aac6a7d4
atmega_common/gpio_init: fix pull-up settings for GPIO_IN_PU
...
This Patch makes gpio_init precalculate the pin mask once,
This Patch makes gpio_init of atmega_common configure the pin as an input and configure the pullup in the case of GPIO_IN_PU.
GPIO_IN_PU and GPIO_IN need to change pullup so they need to change output (this is coverd by the not touching outputs is not guaranteed statement)
(this is a special case for atmega the pull_up is configured by writing 1 to the port_register which is also the level of the output if the pin is configured to output).
This fix makes it more compliant to comments in periph/gpio.h
2018-08-27 20:34:10 +02:00
c0fdce22b3
netdev_tap: declare netdev_driver struct as const
2018-08-23 17:31:45 +02:00
Hauke Petersen
c2184f3454
boards/cpu/drivers/sys: use generic stdio_ if
2018-08-22 10:54:25 +02:00
Semjon Kerner
2063e98b13
cpu/nrf52: initial PWM implementation
2018-08-21 11:28:23 +02:00
d94d1854ec
Merge pull request #9234 from kYc0o/move_eeprom_to_periph
...
drivers/periph_common/eeprom: move EEPROM definitions to periph_cpu.
2018-08-21 10:25:44 +02:00
MichelRottleuthner
2db68b600b
Merge pull request #9505 from PeterKietzmann/pr_puf_stm32
...
cpu/stm32_common: add PUF SRAM feature to makefile
2018-08-17 13:08:21 +02:00
Gaëtan Harter
623e3e156d
Merge pull request #9730 from miri64/make/enh/toolchain-supported-list
...
make: provide support for listing supported and blacklisting toolchains
2018-08-16 17:11:26 +02:00
Martine Lenders
c0a7da3068
native: Mark llvm and gnu as supported toolchains
2018-08-16 16:41:58 +02:00
Martine Lenders
b305ee4b41
cortexm_common: Mark llvm and gnu as supported toolchains
2018-08-16 16:41:58 +02:00
Francisco Acosta
8776df7423
cpu/atmega*: move EEPROM definitions to periph_cpu.h
2018-08-15 15:27:03 +02:00
Francisco Acosta
11b36a7184
stm32l1/0: move EEPROM config to periph_conf.h
2018-08-15 15:27:03 +02:00
Francisco Acosta
73ae563973
eeprom: Makefile.features: reorder features
...
They should be sorted alphabetically
2018-08-15 14:53:56 +02:00
Martine Lenders
e7b554bad2
Merge pull request #9773 from maribu/lpc2387
...
cpu/lpc2387: Fixed documentation and bugs preventing use of LLVM
2018-08-14 16:20:52 +02:00
Marian Buschsieweke
f31375a152
cpu/lpc2387: Use PRIu32 in DEBUG() in mci
2018-08-14 15:35:12 +02:00
Marian Buschsieweke
6358e75f01
cpu/lpc2387: Fixed bug and readability in IAP
...
- Previous cast was to a function pointer was not legal
- Using already present function pointer to store the IAP entry point to improve
readability. (Which also fixes the cast issue.)
2018-08-14 15:31:43 +02:00
Martine Lenders
9478274bd9
stm32_common/eeprom: fix DEBUG formatting
...
This fixes compilation for `periph_eeprom` with LLVM/clang and also is
more in accordance with our [coding conventions].
[coding conventions]: https://github.com/RIOT-OS/RIOT/wiki/Coding-conventions#-wformat
2018-08-14 14:56:44 +02:00
Marian Buschsieweke
18ae7652a9
cpu/lpc2387: Fixed doc and attribute of arm_reset
...
- arm_reset was completely undocumented, even though technical details buried
deeply in the data sheet of the LPC2387 are involved in the code
- The attribute "naked" is misplaced, it should only be used when no C code
is present. However, the function consists of C code only
- The attribute "noreturn" has to be used in the declaration [1] of a function,
not in the implementation. Otherwise the caller is not informed and code using
the function will not be optimized.
[1]: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
2018-08-14 10:40:09 +02:00
Martine Lenders
426cfbeea6
kinetis: timer: #ifdef unused functions
...
Another issue revealed by compiling several apps with LLVM/clang for
the `teensy31` board.
2018-08-13 18:38:13 +02:00
Semjon Kerner
9e63671eab
cpu/nrf51: fix formatting uint to PRIu32
2018-08-13 17:56:05 +02:00
Peter Kietzmann
a05e2f22e2
Merge pull request #9693 from smlng/pr/cc2538/timer
...
cc2538: cleanup and optimisation of periph timer
2018-08-13 08:40:51 +02:00
Gaëtan Harter
7dad2e7096
cortexm_common/ldscript: allow defining FW_ROM_SIZE
...
Allow defining a specific rom length to use for linking the firmware,
_fw_rom_length, instead of the default configuration to use the whole rom from
_rom_offset to the end.
* Add cortexm_common/Makefile.include FW_ROM_SIZE configuration
* Add an assertion that _fw_rom_length still respects _rom_length
2018-08-11 11:34:01 +02:00
Gaëtan Harter
c84539fdb3
cortexm_common: allow defining ROM_OFFFSET in a compilation rule
...
Define _rom_offset with a conditional evaluated at execution time to allow
setting it in compilation rules and generate in the same make instance different
elf files with different configurations.
2018-08-11 11:33:55 +02:00
Gaëtan Harter
9103dcaeda
cortexm_common: refactor the definition test
...
The variables should all always be defined.
2018-08-11 11:33:52 +02:00
Gaëtan Harter
83a617261a
cortexm_common/ldscript: add _fw_rom_length variable
...
It will help testing if it is taken into account and for defining for outside
after.
2018-08-11 11:33:47 +02:00
Gaëtan Harter
d9db258411
cortexm_common/ldscript: re-use _rom_offset variable name
...
Inspired by kaspar030 version to removing the new _boot_offset variable.
cbf324a66d/cpu/cortexm_common/ldscripts/cortexm.ld
2018-08-11 11:33:39 +02:00
smlng
d9c9c9479e
cpu/cc2538: add debug output in periph/spi
2018-08-10 10:38:51 +02:00
smlng
e246c19fe1
cpu/cc2538: adapt periph/spi to gpio API
...
Rework SPI periph driver to use proper RIOT GPIO API functions.
Also cleanup header files by using vendor defines and remove
obsolete code. Further, adapt board config accordingly.
2018-08-10 10:38:51 +02:00
smlng
d8e2611ed9
cpu/cc2538: refine gpio_init_mux
...
Introduces a define to inidicate an unused function parameter.
2018-08-10 10:38:51 +02:00
Martine Lenders
9bb33b9294
Merge pull request #9697 from miri64/kinetis/enh/gpio-unused-function
...
kinetis: uart: fix unused-function warning
2018-08-08 10:33:22 +02:00
Martine Lenders
376c10feff
kinetis: uart: fix unused-function warning
...
When compiling with LLVM (should also be seen `-Wunused-function` in
GCC), I get an error for `frdm-k22f`. This should fix that.
2018-08-08 10:02:53 +02:00
Vincent Dupont
824e10b52e
cpu/stm32f0: update stm32f091 vendor header
2018-08-07 14:47:40 +02:00
smlng
459f7ebce0
cpu/cc2538: generalise SPI clock configuration
...
The SPI bus frequency/clock is calculated relative to the MCUs
core clock. Currently all boards use the default 32MHz, hence
prescaler settings for SPI are all the same. This PR moves the
default config for 32MHz to the CPU and allows to be overriden
by board config if needed.
2018-08-07 12:15:45 +02:00
smlng
7ff2e44821
cpu/cc2538: cleanup periph timer headers and code
...
Remove unused or obsolete defines in headers, due to usage of
vendor headers. Also remove register bit definition in timer
struct because they where not used in the implementation.
2018-08-07 08:13:47 +02:00
smlng
b7ab6b4b36
cpu/cc2538: cleanup periph timer implementation
...
Refine periph timer implementation to use vendor header defines
where possible, remove unnecessary structs and general cleanup.
2018-08-07 08:13:47 +02:00
3e7c5423e5
Merge pull request #8917 from aabadie/pr/cpu/flashpage_l4
...
cpu/stm32l4: add support for flashpage
2018-08-06 14:11:45 +02:00
MichelRottleuthner
43e65ff5c8
Merge pull request #9500 from PeterKietzmann/pr_puf_nrfx
...
cpu/nrf5x_common: add PUF SRAM feature to makefile
2018-08-06 13:06:33 +02:00
d1a214ca74
cpu/stm32l4: configure flashpage
2018-08-06 12:33:03 +02:00
a008b983b3
cpu/stm32_common: add flashpage support for stm32l4
2018-08-06 12:33:03 +02:00
Martine Lenders
233935c539
Merge pull request #9700 from miri64/stm32_common/fix/unused-function
...
stm32_common: i2c_2: fix for -Wunused-function
2018-08-03 18:43:06 +02:00
Martine Lenders
6f78a7f331
stm32_common: i2c_2: fix for -Wunused-function
...
This came up when compiling an application for a STM32-based board
with LLVM/clang. The function is not used if I²C is not provided.
2018-08-03 16:12:52 +02:00
Martine Lenders
1ca6df3313
nrf5x_common: gpio: remove unused pin_num() function
...
This came up when compiling an application for an NRF5x-based board
with LLVM/clang. The function does not seem to be used throughout the
file so I just removed it.
2018-08-03 16:09:38 +02:00
smlng
df37e69b90
cpu/cc2538: add TI vendor headers
...
Currently the cc2538 is based on from-scratch adaption which is
not feature complete and thus lacks defines etc. Introducing the
official vendor header will ease future extension and adaptions
of the CPU and its features.
2018-08-03 08:29:32 +02:00
Sebastian Meiling
26c689ffbb
Merge pull request #9548 from RIOT-OS/new_i2c_if3
...
I2C: introduce and adapt new I2C interface (2nd attempt)
2018-08-02 12:00:59 +02:00
Martine Lenders
ad133da209
native: ignore -Wformat-nonliteral for formatting syscalls
...
The point of that call is to wrap the actual host system's formatting
functions, so the non-literal formatting string is alright here.
2018-08-01 09:03:01 +02:00
dylad
69297a0939
cpu/stm32_common: remove scl_af/sda_af attribut for STM32F1
2018-07-25 15:17:43 +02:00
smlng
0b9a54f184
cpu/kinetis: suppress selfAssignement warning by cppcheck
...
cppcheck raises a warning due to self assignment. As this is
intentional to clear all IRQ on register status flags, this
warning is suppressed now.
2018-07-25 12:01:40 +02:00
smlng
e39ebb1623
cpu/sam0: add doxygen group around i2c_speed_t
2018-07-25 12:01:40 +02:00
smlng
90f66a1952
cpu/sam0_common/i2c: fix ambiguous reg assignment
...
The value assigned to the register was unclear due to usage
of bit-comparison and ternary operator, added parentheses to
make it explicit.
2018-07-25 12:01:40 +02:00
Bas Stottelaar
e8a76acea5
cpu: efm32: adapt to new i2c interface.
2018-07-25 12:01:40 +02:00
5f1d5e0d83
cpu/stm32_common: various improvements in i2c_1 driver
...
- dont send stop if bus is busy and before any action is done on bus
- and bus check that looks for bus error, arbitration and nack events
- check for ACK (TXIS) before writing bytes on bus and not between each write
2018-07-25 12:01:39 +02:00
Laurent Navet
c7fed1526c
cpu/atmega_common: adapt to new i2c api
...
Rework atmega i2c to match new i2c interface.
Only i2c_read_bytes and i2c_write_bytes are implemented.
2018-07-25 12:01:39 +02:00
3e6336ce89
cpu/nrf51: adapt to new I2C api
2018-07-25 12:01:39 +02:00
MrKevinWeiss
e8c56ceadc
cpu/stm32_common/i2c: Fix return error code
2018-07-25 12:01:39 +02:00
Joakim Nohlgård
31b461d71c
kinetis: Interrupt based I2C transfers
2018-07-25 12:01:39 +02:00
Joakim Nohlgård
175f398b58
kinetis: Refactor I2C driver
2018-07-25 12:01:39 +02:00
Joakim Nohlgård
3ac45b5aa2
kinetis: Reflow text in doc.txt
2018-07-25 12:01:38 +02:00
MrKevinWeiss
6016266c77
cpu/stm_common/i2c: Fix error code
2018-07-25 12:01:38 +02:00
MrKevinWeiss
6a3f9f35dc
cpu/stm32_common/i2c: Fix extra clear_addr
2018-07-25 12:01:38 +02:00
MrKevinWeiss
6f6c3d7926
cpu/stm_common/i2c: style fix
2018-07-25 12:01:38 +02:00
MrKevinWeiss
6c4f144e25
cpu/stm32_common/i2c: fix addr nack and flags
2018-07-25 12:01:38 +02:00
smlng
eee4f36ef5
cpu/cc2538: adapt periph/i2c to new api
2018-07-25 12:01:38 +02:00
smlng
a27ae261b8
cpu/cc2538: add gpio_init_mux function
2018-07-25 12:01:38 +02:00
99b3bb88bd
cpu/stm32_common: update return values to error codes
2018-07-25 12:01:37 +02:00
Vincent Dupont
c0c9ea034c
cpu/stm32_common: add timeouts in stm32f4 i2c driver
2018-07-25 12:01:37 +02:00
06e11c5586
cpu/stm32_common: adapt i2c driver to stm32f1
2018-07-25 12:01:37 +02:00
9166fb27fa
cpu/stm32_common: split common i2c periph in 2
...
- i2c_1 is built for f0, f3, f7, l0 and l4
- i2c_2 is built for f4
2018-07-25 12:01:36 +02:00
ebc17acb59
cpu/stm32{f0,f3,f7,l0,l4}: unify i2c driver and use new API
2018-07-25 12:01:35 +02:00
35d65d8a44
cpu/stm32f3: update stm32f303xc CMSIS header file
2018-07-25 12:01:34 +02:00
ce108b9e18
cpu/stm32f3: update stm32f303xe CMSIS header file
2018-07-25 12:01:34 +02:00
dylad
4ff319b469
nrf52/i2c: adapt to new I2C API
2018-07-25 12:01:34 +02:00
dylad
e6bd6bfe3b
sam0/i2c: update driver to new API
2018-07-25 12:01:34 +02:00
Josarn
d6c0398f3d
atmega timer: Interrupt Pin
...
A debug pin can be used to probe timer interrupts with an oscilloscope or
other time measurement equipment. Thus, determine when an interrupt occurs
and how long the timer ISR takes.
The pin should be defined in the makefile as follows:
CFLAGS += -DDEBUG_TIMER_PORT=PORTF -DDEBUG_TIMER_DDR=DDRF \
-DDEBUG_TIMER_PIN=PORTF4
2018-07-18 20:48:17 +02:00
Francisco Acosta
d04058b54b
Merge pull request #9579 from MichelRottleuthner/pr_stm32_fix_ram_lengths
...
stm32_common: fix ram length for MCUs with non-contiguous ram regions
2018-07-18 14:35:29 +02:00
Michel Rottleuthner
b36131eea6
cpu/stm32_common: add variable for SRAM2 length on stm32l47xxx
2018-07-17 17:52:12 +02:00
Michel Rottleuthner
5610894ebe
stm32_common: fix ram length for MCUs with non-contiguous ram
...
stm32l47xxx see RM0351, Rev 6, page 75
https://www.st.com/resource/en/reference_manual/dm00083560.pdf#page=75
stm32f303xx see RM0316, Rev 8, page 53
https://www.st.com/resource/en/reference_manual/dm00043574.pdf#page=53
stm32f334xx see RM0364, Rev 3, page 47
https://www.st.com/resource/en/reference_manual/dm00093941.pdf#page=47
2018-07-17 17:12:57 +02:00
608f0135d7
zep: Use netdev reset function
2018-07-16 15:36:34 +02:00
smlng
0067be035c
cpu/cc2538: cleanup netdev calls in radio driver
...
Cleanup netdev calls using &dev->netdev for all functions and
thereby omiting the explicit cast.
2018-07-13 12:17:03 +02:00
smlng
520f5b60b3
cpu/cc2538: use netdev reset function in radio driver
2018-07-13 12:17:03 +02:00
Vincent Dupont
83168ce628
cpu/stm32f7: remove conflicting enum from vendor header
2018-07-10 15:37:59 +02:00
Vincent Dupont
dc793e92b4
cpu/stm32f4: remove conflicting enum from vendor header
2018-07-10 15:37:49 +02:00
Vincent Dupont
3af2ff0bd1
cpu/stm32f3: remove conflicting enum from vendor header
2018-07-10 15:37:41 +02:00
Vincent Dupont
5cc7342d10
cpu/stm32f2: remove conflicting enum from vendor header
2018-07-10 15:37:32 +02:00
Vincent Dupont
3aa7722e16
cpu/stm32f0: remove conflicting enum from vendor header
2018-07-10 15:37:24 +02:00
97bc07efee
Merge pull request #9520 from OTAkeys/pr/stm32f4_line_fixup
...
cpu/stm32f4: use CPU_LINE in stm32f410-specific code
2018-07-09 22:09:28 +02:00
Francisco Acosta
e2ab6cf882
Merge pull request #9472 from gebart/pr/kinetis-mcg-conditional
...
kinetis: Conditionally enable MCG
2018-07-09 14:44:20 +02:00
Vincent Dupont
bdac278c18
cpu/stm32_common/hwrng: use CPU_LINE for for stm32f410-specific code
2018-07-09 11:52:05 +02:00
Vincent Dupont
654595221d
cpu/stm32_common: use CPU_LINE for stm32f410-specific code
2018-07-09 11:51:39 +02:00
Gilles DOFFE
e031175d3c
cpu/stm32f4: add support for stm32f405rg
...
Signed-off-by: Gilles DOFFE <gilles.doffe@savoirfairelinux.com>
2018-07-07 14:38:50 +02:00
MichelRottleuthner
392c40e1a0
Merge pull request #8804 from MichelRottleuthner/pr_stm32l4_add_adc
...
cpu/stm32l4: add adc implementation
2018-07-06 10:31:41 +02:00
PeterKietzmann
45d47ea22f
cpu/stm32_common: add PUF SRAM feature to makefile
2018-07-05 16:21:14 +02:00
PeterKietzmann
d36f228b24
cpu/nrf5x_common: add PUF SRAM feature to makefile
2018-07-05 11:17:30 +02:00
Cenk Gündoğan
835f8f0daa
Merge pull request #9290 from PeterKietzmann/pr_sram_puf
...
Add SRAM based PRNG seeder
2018-07-04 18:08:53 +02:00
PeterKietzmann
2f86d6fcd8
cpu/cc2538: add SRAM based random seed
2018-07-04 17:55:20 +02:00
PeterKietzmann
347b972538
cpu/samd21: add SRAM based random seed
2018-07-04 17:55:20 +02:00
PeterKietzmann
729e3f2ac4
cpu/stm43f4: add SRAM based random seed
2018-07-04 17:55:20 +02:00
PeterKietzmann
20397c5b15
cortexm_common: add SRAM based PRNG seeder
2018-07-04 17:55:16 +02:00
f7922b9055
cpu/stm32l4: adapt for stm32l476vg
2018-07-04 09:19:46 +02:00
Joakim Nohlgård
172af17ae4
kinetis: Conditionally enable MCG
2018-06-30 19:14:59 +02:00
05c53a9216
Merge pull request #9435 from OTAkeys/pr/stm32f2_cpu_line
...
cpu/stm32f2: make use of CPU_LINE
2018-06-29 15:42:37 +02:00
5206446cf7
Merge pull request #9439 from OTAkeys/pr/stm32f3_cpu_line
...
cpu/stm32f3: make use of CPU_LINE
2018-06-29 15:42:17 +02:00
48d65d656f
Merge pull request #9441 from OTAkeys/pr/stm32f7_cpu_line
...
cpu/stm32f7: make use of CPU_LINE
2018-06-29 15:41:58 +02:00
Peter Kietzmann
8ab20f0551
Merge pull request #9456 from ZetaR60/RIOT_atmega_gpio_misc_fix
...
cpu/atmega_common: misc gpio interrupt fixes
2018-06-29 09:18:35 +02:00
Francisco Acosta
23d176f46b
Merge pull request #8857 from ZetaR60/RIOT_atmega_time_dot_h
...
cpu/atmega_common: Use updated time.h
2018-06-28 22:29:20 +02:00
Matthew Blue
adc44e6496
cpu/atmega_common: misc gpio interrupt fixes
2018-06-28 16:06:36 -04:00
Vincent Dupont
c93002351b
cpu/stm32f7: make use of CPU_LINE
2018-06-27 10:38:46 -07:00
Vincent Dupont
d89fda5768
cpu/stm32f3: make use of CPU_LINE
2018-06-27 10:27:19 -07:00
Joakim Nohlgård
28fe4b8653
kinetis: Clean up SPI module power handling
...
Fixes a problem with hardware CS when using slow SPI speeds,
mentioned in https://github.com/RIOT-OS/RIOT/issues/6437#issuecomment-283114795
2018-06-27 19:21:39 +02:00
Vincent Dupont
48a360afff
cpu/stm32f2: make use of CPU_LINE
2018-06-27 09:47:40 -07:00
Vincent Dupont
f4c01499c6
Merge pull request #9096 from OTAkeys/pr/stm32_cpu_line
...
cpu/stm32: add CPU_LINE_* variable and use it for stm32f0 and stm32f4
2018-06-27 00:21:02 -07:00
Marian Buschsieweke
80e448083e
cpu/msp430fxyz: Fixed input sanitizing in GPIO_PIN
2018-06-26 21:16:23 +02:00
Peter Kietzmann
aafb098a5e
Merge pull request #9413 from PeterKietzmann/pr_olegart_stm32l1_adc_clock
...
cpu/stm32l1: fix ADC clock
2018-06-26 16:56:48 +02:00
Oleg Artamonov
3f4752e91c
cpu/stm32l1: fix ADC clock
2018-06-26 16:42:27 +02:00
Francisco Acosta
f0dce1b920
Merge pull request #8988 from Josar/atmega_isr
...
cpu/atmega_common: __exit_isr thread_yield
2018-06-26 16:12:39 +03:00
Hauke Petersen
7ffd6265bb
cpu/nrf52: enable instruction cache
2018-06-22 16:09:23 +02:00
Peter Kietzmann
8724407686
Merge pull request #8958 from aabadie/pr/cpu/lm4f120
...
cpu/lm4f120: remove useless periph file guard
2018-06-22 13:27:23 +02:00
ZetaR60
7b8e3cbd01
Merge pull request #9340 from Josar/fix_gpio
...
atmega_common/gpio.c: Fixes GPIO_LOW interrupt
2018-06-21 14:08:52 -04:00
Andreas "Paul" Pauli
1aaeecf5b1
Merge pull request #9296 from maribu/lpc2387
...
cpu/lpc2387: Various fixes for GPIO driver
2018-06-21 19:28:53 +02:00
steffen
3ad71d5be0
atmega_common/gpio.c Fixes GPIO interrupt
...
fixes the GPIO_LOW interrupt on the atmega platform.
It results from trying to shift GPIO_LOW. Since it is 0, it is not shiftable and will not be set correctly.
There were more issues with the other flanks too, as they are 0b01 or 0b00. If 0b11 was set as a flank before it would not be able to switch to any other mode anymore. Now the bits get cleared before the new flank will be written.
2018-06-21 11:28:42 +02:00
5d633cd6d1
cpu/lm4f120: drop useless periph timer guards
2018-06-21 08:56:55 +02:00
Michel Rottleuthner
e4c405daf3
cpu/stm32l4: add adc support
2018-06-20 13:34:16 +02:00
Peter Kietzmann
6fd4009b89
Merge pull request #8957 from aabadie/pr/cpu/guard_lpc2387
...
cpu/lpc2387: remove useless periph file guard
2018-06-20 09:06:31 +02:00
Vincent Dupont
26cb3d8953
cpu/stm32f0: make use of CPU_LINE and STM32_FLASHSIZE
2018-06-19 14:31:23 +02:00
Vincent Dupont
e1ce7e5026
cpu/stm32_common: add STM32_FLASHSIZE constant
2018-06-19 14:31:23 +02:00
Vincent Dupont
d6d0f1a851
cpu/stm32f0: add custom CPU_LINE
2018-06-19 14:31:23 +02:00
Vincent Dupont
2e90eda456
cpu/stm32f4: make use of CPU_LINE_ variable
2018-06-19 14:22:48 +02:00
Vincent Dupont
4d7a195d33
cpu/stm32_common: add CPU_LINE_ variable
2018-06-19 14:22:46 +02:00
Marian Buschsieweke
1d0f90dcdf
cpu/lpc2387: Various fixes for GPIO driver
...
- Fixed documentation
- Use bitwise operation instead of multiplication and addition in `GPIO_PIN()`
- Allow GPIOs to be configured as input via `gpio_init()`
- Fixed bugs in `gpio_init_mux`:
- `0x01 << ((pin & 31) * 2)` was used before to generate the bitmask, but
this would shift by 62 to the left. Correct is `0x01 << ((pin & 15) * 2)`
(See [datasheet](https://www.nxp.com/docs/en/user-guide/UM10211.pdf ) at
pages 156ff)
- Only one of the two bits was cleared previously
- Changed strategy to access GPIO pins:
- Previous strategy:
- Set all bits in FIOMASK except the one for the pin to control to
disable access to them
- Set/clear/read all pins in the target GPIO port (but access to all but
the target pin is ignored because of the applied FIOMASK)
- New strategy:
- Set/clear/read only the target pin
- Advantages:
- Only one access to a GPIO register instead of two
- Proven approach: Access to GPIOs on lpc2387 is mostly done by
accessing the GPIO registers directy (e.g. see the sht11 driver).
Those accesses never touch the FIOMASK register
- No unwanted side effects: Disabling all but one pin in a GPIO port
without undoing that seems not to be a good idea
2018-06-18 09:10:25 +02:00
Josarn
91359631d5
cpu/atmega_common/thread_arch.c: uncrustified
2018-06-14 21:47:33 +02:00
Josarn
40c1839a8c
cpu/atmega_common/periph/uart.c: uncrustified
2018-06-14 21:47:33 +02:00
Josarn
0e491861af
cpu/atmega_common/periph/timer.c: uncrustified
2018-06-14 21:47:33 +02:00
Josarn
fe92771372
cpu/atmega_common/include/cpu.h: uncrustified
2018-06-14 21:47:33 +02:00
Josarn
9b631170cb
cpu/atmega_common: uncrustified
2018-06-14 21:47:33 +02:00
Josarn
80b02e5268
cpu/atmega_common: exit_isr thread_yield
2018-06-14 21:47:33 +02:00
938677cc83
cpu*: fix doxygen grouping
2018-06-11 19:12:02 +02:00
4133908fe0
cpu/native: fix doxygen grouping
2018-06-11 19:12:02 +02:00
Juan Carrano
da85094b65
cpu/saml21: Fix possibly uninitialized variable in pm.c.
2018-06-11 18:35:41 +02:00
Simon Brummer
323a38819a
native: Enforce safe strncpy usage in tap device setup
2018-06-10 17:16:46 +02:00
Hauke Petersen
e99010ac3e
cpu/nrf5x: include nrfx.h compatibility header
2018-06-06 13:52:57 +02:00
Bas Stottelaar
0c47233f97
cpu: efm32: add support for non-standard UART modes.
2018-06-04 18:16:41 +02:00
Bas Stottelaar
c3161ce524
cpu/efm32: efm32pg12b: add support
2018-06-03 16:48:04 +02:00
Bas Stottelaar
9b3f8ca047
cpu/efm32: efm32pg12b: add vendor headers
2018-06-03 16:48:04 +02:00
Peter Kietzmann
b3ef51fb39
Merge pull request #9232 from maribu/lpc2387
...
cpu/lpc2387: Fixed invalid call to send_msg in lpc2387-mci.c
2018-06-01 08:11:25 +02:00
Francisco Acosta
7529133558
Merge pull request #9068 from aabadie/pr/stm32-common/fix_flashpage_m3
...
cpu/stm32-common: slightly rework flashpage driver and fix iotlab-m3
2018-05-30 17:50:20 +02:00
Francisco Acosta
1aed925ca8
Merge pull request #8951 from ZetaR60/RIOT_atmega_ext_int_clarity
...
cpu/atmega_common: external interrupt fix and refactor
2018-05-30 16:33:34 +02:00
Francisco Acosta
9a0f3469b7
Merge pull request #8930 from gebart/pr/kinetis-rtt-refactor
...
kinetis: Refactor RTT driver
2018-05-30 14:54:15 +02:00
600727453b
cpu/stm32_common/flashpage: clear EOP bit
...
This was taken from STM32 Cube generated code
2018-05-30 14:14:29 +02:00
f7b61b6ac1
cpu/stm32_common/flashpage: force waiting for pending operations
...
Moving the while loop in a separate function ensures no ordering
optimizations is applied silently by gcc.
This commit fixes the flashpage not working on iotlab-m3.
2018-05-30 14:12:24 +02:00
c73ec5c00f
cpu/stm32_common/periph: don't lock if flash is already locked
2018-05-30 14:09:17 +02:00
cb089a2f74
cpu/stm32_common/periph: cleanup flashpage
...
- improve debug messages
- fix missing space before comment
- use a comment instead of debug message (the same message is displayed by the function called after)
2018-05-30 14:09:17 +02:00
Marian Buschsieweke
2c901ff181
cpu/lpc2387: Fixed invalid call to send_msg in lpc2387-mci.c
...
At `lpc2387-mci.c:383` in `send_cmd()` an `assert()` enforces that parameter
`buff` is not `NULL`. At `lpc2387-mci.c:538` in `mci_initialize()` `send_cmd()`
was called with `buff==NULL`.
2018-05-30 09:09:22 +02:00
kenrabold
db4d67c4fd
make: add hifive1 to BOARD_INSUFFICIENT_MEMORY
...
Added HiFive1 to BOARD_INSUFFICIENT_MEMORY list for examples and tests that are too big to fit
build: fixed missing syscall and cpuid failures
Added missing syscall stubs for nanostubs and fixed compile error with cpuid periph
build: fixed whitespace error
build: add hifive1 to more BOARD_INSUFFICIENT_MEMORY
doc: fixed doxygen warnings
Addressed Doxygen warnings in source file comments
doc: more doxygen fixes
doc: even more doxygen fixes
doc: more changes
build: fix pedantic and rdci_simple build failures
make: exclude lua
2018-05-29 16:27:53 -07:00
kenrabold
7d1d5e77d8
cpu/fe310: add RISC-V cpu FE310
...
New CPU FE310 from SiFive based on RISC-V architecture
build: add makefile for RISC-V builds
Makefile for builds using RISC-V tools
2018-05-29 15:21:45 -07:00
Matthew Blue
0b2d620161
cpu/atmega328p: external interrupt refactor
2018-05-29 11:24:16 -04:00
Matthew Blue
6ea326112d
cpu/atmega256rfr2: external interrupt refactor
2018-05-29 11:24:16 -04:00
Matthew Blue
737c46367a
cpu/atmega2560: external interrupt refactor
2018-05-29 11:24:15 -04:00
Matthew Blue
327bf09d20
cpu/atmega1284p: external interrupt refactor
2018-05-29 11:24:15 -04:00
Matthew Blue
a61aff6404
cpu/atmega1281: external interrupt refactor
2018-05-29 11:24:15 -04:00
Matthew Blue
533388d3ae
cpu/atmega_common: external interrupt fix and refactor
2018-05-29 11:24:15 -04:00
Francisco Acosta
6e484f7aed
Merge pull request #8814 from gebart/pr/kinetis-periph-timer-tfc
...
cpu/kinetis: Refactor LPTMR timer implementation
2018-05-29 15:54:11 +02:00
Loïc Dauphin
b7a8ba73a9
Merge pull request #8933 from gebart/pr/kinetis-pit-refactor
...
kinetis: Refactor PIT timer driver implementation
2018-05-29 11:09:55 +02:00
Matthew Blue
dfa8fb919d
sys/timex: fix incompatible atmega time.h
2018-05-28 13:04:55 -04:00
Matthew Blue
442634728f
cpu/atmega_common: add struct timespec to time.h
2018-05-28 13:04:55 -04:00
Matthew Blue
b597700a67
cpu/atmega_common: ignore format of avr-libc in CI
2018-05-28 13:04:55 -04:00
Matthew Blue
2a92d480ea
cpu/atmega_common: Use updated time.h from avr-libc-2.0.0
2018-05-28 13:04:55 -04:00
Bas Stottelaar
840de5139b
cpu: efm32: fix for cpp support.
2018-05-25 20:36:21 +02:00
Joakim Nohlgård
9657274d0d
Merge pull request #9147 from gebart/pr/kinetis-z-gpio-irqn
...
kinetis: GPIO: Enable the correct IRQn on CM0+
2018-05-25 00:50:59 +02:00
Joakim Nohlgård
09e0e8953d
kinetis: GPIO: Enable the correct IRQn on CM0+
2018-05-24 23:54:56 +02:00
Vincent Dupont
c99ac9ce3f
cpu/stm32f4: add stm32f437vg support
2018-05-24 15:15:48 +02:00
f3c3818fa7
cpu/atmega*: configure eeprom
2018-05-24 14:07:55 +02:00
364806e585
cpu/atmega_common: add support for eeprom periph interface
2018-05-24 14:07:55 +02:00
aa6cf07390
cpu/stm32l1: add definitions for internal eeprom
2018-05-24 14:07:55 +02:00
fc9a853c20
cpu/stm32l0: add definitions for internal eeprom
2018-05-24 14:07:55 +02:00
331ad0970d
cpu/stm32{f,l}{0,1}: provide flash common feature
2018-05-24 14:07:55 +02:00
89e0389f27
cpu/stm32_common: implement eeprom access functions
2018-05-24 14:07:55 +02:00
01934de2ff
Merge pull request #9177 from smlng/pr/cpu/cortex/vector/indention
...
cpu/cortex_common: fix indention in vector table
2018-05-24 11:55:13 +02:00
smlng
34ade00db9
cpu/cortex_common: fix indention in vector table
2018-05-24 11:26:46 +02:00
Vincent Dupont
b8dd0baa73
cpu/stm32f4: fix periph_cpu.h for f412zg and f446ze
2018-05-24 10:31:00 +02:00
633a92929d
boards/nucleo-l031k6: rename to st marketing name
2018-05-23 12:50:33 +02:00
3e4f7adc95
boards/nucleo-f031k6: rename to st marketing name
2018-05-23 12:46:42 +02:00
83e1298c5a
cpu/stm32f4: use nucleo-f446ze name
2018-05-23 12:09:28 +02:00
Vincent Dupont
93ebf38615
Merge pull request #8649 from aabadie/pr/nucleo-rename
...
boards/nucleo64*: rename boards to use their ST marketing name
2018-05-23 12:08:06 +02:00
Vincent Dupont
8fc63738f6
cpu/stm32_common: adapt UART driver to use DMA
2018-05-23 11:09:46 +02:00
Vincent Dupont
6551d896be
cpu/stm32_common: adapt SPI driver to use DMA
2018-05-23 11:09:46 +02:00
Vincent Dupont
d399518ac6
cpu/stm32_common: add DMA implementation for F2/F4/F7
2018-05-23 11:09:46 +02:00
5821bfd68e
boards/nucleo-f446re: rename to marketing name
2018-05-22 21:52:41 +02:00
de783eed78
boards/nucleo-f411re: rename to marketing name
2018-05-22 21:52:41 +02:00
7818c1a080
boards/nucleo-f401re: rename to marketing name
2018-05-22 21:52:41 +02:00
Francisco Acosta
8ab908146e
Merge pull request #8959 from aabadie/pr/cpu/guard_atmega_common
...
cpu/atmega_common: remove useless periph file guard
2018-05-22 19:57:46 +02:00
Joakim Nohlgård
fb73067494
kinetis: Refactor PIT driver
...
Stop prescaler instead of counter channel to avoid the need for saving
and restoring timeouts
2018-05-22 16:47:35 +02:00
Joakim Nohlgård
16af9b0beb
kinetis: Clean up PIT timer implementation
2018-05-22 16:47:23 +02:00
Joakim Nohlgård
a6c30ab61d
kinetis: Move RTT config to periph_cpu.h
2018-05-22 16:46:39 +02:00
Joakim Nohlgård
c7801e466d
kinetis: Refactor RTT driver
...
- Keep counter value between resets
- Let kinetis_mcg_init manage the RTC oscillator, to avoid disrupting
the core clock in certain configurations
- Remove some unnecessary macros for hardware abstraction; all Kinetis
CPUs which have an RTC only have a single RTC instance, and the ISRs
and hardware registers are named the same way in all Kinetis CPU
headers.
2018-05-22 16:46:39 +02:00
Joakim Nohlgård
9e10cd4401
cpu/kinetis: Refactor LPTMR driver implementation
...
Uses timer freerunning counter mode (TFC) and updating an internal
reference point instead of relying on RTT for reference time. The
target accuracy has been greatly improved for all test cases in
bench_periph_timer
2018-05-22 16:45:41 +02:00