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

3629 Commits

Author SHA1 Message Date
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