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

166 Commits

Author SHA1 Message Date
Joakim Nohlgård
00a0740fcc kinetis: Add support for LPUART module in parallel with UART module
A dispatcher function is implemented for directing writes to the correct
function. The dispatcher is bypassed completely if the CPU only contain
one kind of UART module.

There are at least two different UART hardware modules deployed in
different Kinetis CPU families (or possibly three or more when counting
variations of the UART module). The UART module is an older 8 bit module
with advanced functionality, while the LPUART is a 32 bit module with
focus on low power consumption.

 - The older families in the K series all have UART modules.
 - The K22F family have both UART and LPUART modules in the same CPU.
 - Older L series (e.g. KL25Z) have two variations of the UART module
 - Newer L series (e.g. KL43Z) have LPUART modules, and sometimes
   UART as well.
 - Newer W series (KW41Z) have only LPUART
2017-11-07 14:19:42 +01:00
3ec8126c84 cpu: cortexm: provide periph_pm for all cortexm 2017-11-06 12:01:19 +01:00
6be2fb1f25 cpu: kinetis_common: rename periph/hwrng_rnga.c -> periph/hwrng.c 2017-11-06 12:01:19 +01:00
443c8e39ed cpu: kinetis: make periph_rtc depend on periph_rtt 2017-11-06 12:01:19 +01:00
5cd997fcdc cpu: kinetis_common: adapt to periph.mk 2017-11-06 12:01:19 +01:00
a20745b6c5 cpu: make use of Makefile.periph 2017-11-06 12:01:19 +01:00
358079879f cpu: kinetis: reorganize Makefile.features 2017-11-02 12:59:45 +01:00
Joakim Nohlgård
dea1676ef6 kinetis: Merge all ISR vector tables into one generic mutant
The ISR names have been changed to match the name of the IRQ number they
are servicing.
2017-10-31 05:45:13 +01:00
Joakim Nohlgård
222842c951 kinetis_common: Use separate array for padding ISR vector table 2017-10-31 05:45:13 +01:00
416ac62fbf pm: unify and set safe default pm_blocker 2017-10-16 14:32:27 +02:00
Francisco Acosta
52efba5b31 Merge pull request #7476 from gebart/pr/kinetis-rtt-alarm
kinetis: Adjust RTT alarm trigger time
2017-10-09 14:34:09 +02:00
Hauke Petersen
be456915e9 cpu/kinetis/gpio: do not clear output pin on init 2017-10-04 12:15:03 +02:00
Hauke Petersen
938ba0b3c5 Merge pull request #7535 from haukepetersen/opt_cortexm_vectordefs
cpu: use shared Cortex-M base vector table
2017-10-01 21:46:17 +02:00
smlng
1ed6f84992 doc: fix whitespaces 2017-09-06 08:49:05 +02:00
Hauke Petersen
1a20ef8223 cpu: unified cortex-m base interrupt vector 2017-09-04 15:13:32 +02:00
Hauke Petersen
d54c849822 Merge pull request #6573 from gebart/pr/lpc11u34-periph-macro
lpc11u34: Remove short name macros for GPIO modes
2017-08-25 10:57:28 +02:00
Joakim Nohlgård
b94e91c6f1 kinetis: Adjust RTT alarm trigger time
The RTT alarm will trigger when the RTT seconds register is equal to the
set alarm target, instead of triggering at the following second.
2017-08-15 20:28:24 +02:00
Joakim Nohlgård
2ac66c8d65 kinetis: Handle CPUs without DAC module (KW2xD) 2017-08-03 21:18:09 +02:00
Joakim Nohlgård
97878f9c6e kinetis: Add compatibility definitions to common cpu include 2017-08-03 21:18:08 +02:00
Joakim Nohlgård
a67940e382 kinetis: Remove some unused configuration macros from docs 2017-08-01 16:42:49 +02:00
Joakim Nohlgård
10e53fe841 Merge pull request #7379 from gebart/pr/kinetis-clock-init
kinetis: Unify cpu.c, update clock initialization code
2017-08-01 16:40:19 +02:00
Joakim Nohlgård
742bcad912 kinetis: Unify cpu.c, update clocking initialization
Unify cpu_init for all Kinetis CPUs to reduce code duplication.
Updated the MCG driver implementation to make the configuration easier.
Most clock settings are initialized by kinetis_mcg_init() called from
cpu_init. Board specific external clock source initialization
(FRDM-K64F, PhyNode) needs to be performed in board_init instead of
in cpu_init.
2017-08-01 16:30:19 +02:00
Francisco Acosta
f2efd88f98 Merge pull request #7129 from haukepetersen/opt_periph_sharetimerset
cpu: add and use shared code for timer_set()
2017-08-01 15:09:48 +02:00
Joakim Nohlgård
aa67bdbc42 kinetis: Add support for CPUs with RSIM module
Some KW series CPUs have no OSC module, but uses the oscillator found in
the built-in transceiver.
2017-08-01 12:03:49 +02:00
Martine Lenders
3686b2cba5 Merge pull request #7394 from gebart/pr/kinetis-periph-docs
kinetis: Update Doxygen
2017-07-29 11:29:32 +02:00
Joakim Nohlgård
60a5c85ca8 kinetis: Merge cpu_conf settings into kinetis_common 2017-07-22 15:51:25 +02:00
Joakim Nohlgård
cb9e3c13bf kinetis: fix capitalization of periph doc headings 2017-07-21 09:57:27 +02:00
Hauke Petersen
3c623f63c3 cpu/kinetis: optimization of DAC driver impl.
- use assert() for checking the line parameter
- use 'bit.h' for bitbanding
- simplified code a bit
- unified style of defifining the board configuration
- removed unused configurations form pba-d-01-kw2x and frdm-k64f
2017-07-20 16:44:41 +02:00
Joakim Nohlgård
2194a3366e kinetis: Update documentation for periph drivers 2017-07-19 17:36:56 +02:00
Joakim Nohlgård
4ceb71e719 cpu/k22f: Add Freescale/NXP Kinetis K22F 2017-07-18 08:39:21 +02:00
Joakim Nohlgård
de8f0b62d9 kinetis: Handle ADC modules without extra ADICLK divider
Newer CPUs have alternate clock sources on ADICLK=1 instead of Bus/2
2017-07-18 08:39:21 +02:00
Joakim Nohlgård
676df9a0d7 kinetis: Add support for alternate location for ADC1 clock gate 2017-07-18 08:39:21 +02:00
smlng
01af6d94c4 cpu, periph: retain constness in spi_transfer_bytes 2017-06-29 15:47:13 +02:00
Hauke Petersen
a2bc258af0 drivers/dac: clarified doc and named return values
- added more comprehensive doc to dac_init and dac_set
- named return values for dac_init
- use named return values in existing implementations
2017-06-27 12:52:12 +02:00
smlng
692cf96297 doc: fix doxygen grouping of cpu periph drivers 2017-06-26 14:42:11 +02:00
42830d2308 Merge pull request #6916 from gebart/pr/cortexm3-bitband
cpu: Add bit manipulation macros for Cortex-M
2017-06-21 12:47:41 +02:00
Joakim Nohlgård
ca1e32977f kinetis: Fix typo in periph_cpu.h 2017-06-21 12:31:49 +02:00
Joakim Nohlgård
54b68844e0 Merge pull request #7165 from mfrey/kinetis-uart
kinetis: Use 9 bit UART config for 8E1, 8O1 modes
2017-06-13 09:04:04 +02:00
Francisco Acosta
5f0b8e5b80 Merge pull request #6978 from gebart/pr/kinetis-mcg
kinetis: MCG improvements
2017-06-12 23:27:39 +02:00
Michael Frey
282dafdd25 kinetis: Use 9 bit UART config for 8E1, 8O1 modes 2017-06-11 18:34:27 +02:00
Joakim Nohlgård
a63c0a84a6 kinetis: Use bit.h functions 2017-06-09 05:19:13 +02:00
Hauke Petersen
a1499f4190 cpu: add and use shared code for timer_set() 2017-06-02 12:21:56 +02:00
Joakim Nohlgård
7548c509e6 Merge pull request #7101 from haukepetersen/opt_kinetis_rmsymlinks
cpu/kinetis: prevent use of symlinks for ld-scripts
2017-06-01 06:35:43 +02:00
Joakim Nohlgård
8efb714edd kinetis/mcg: Use {} for empty while loops 2017-05-30 08:50:30 +02:00
Joakim Nohlgård
5c34eb4e2c kinetis: Add support for low-end MCG without PLL
Found in Kinetis L series, among others
2017-05-30 08:50:30 +02:00
Joakim Nohlgård
a8450f2952 kinetis: Simplify MCG state traversal algorithm
The new implementation uses a precalculated map of which mode to switch
to next if going from mode A to mode B. This simplifies the
implementation for moving between modes which are not direct neighbors.
See mcg.h documentation for a diagram of the state machine for the
clocking modes. Also found in the CPU reference manual of all Kinetis
CPUs, MCG chapter, MCG mode state diagram.
2017-05-30 08:50:30 +02:00
Joakim Nohlgård
f9ed160fe2 cpu/kinetis_common: Add state graph to MCG documentation 2017-05-30 08:50:30 +02:00
Joakim Nohlgård
f6073c0aa4 Merge pull request #6993 from gebart/pr/kinetis-isr
kinetis: Unify default ISR definitions
2017-05-30 08:48:50 +02:00
Hauke Petersen
9b7ece6827 cpu/kinetis: prevent use of symlinks for ld-scripts
The use of symbolic links leads to trouble in certain environments
(e.g. vagrant under Win). This PR gets rid of symlinks and uses
variables in the Makefiles to map to the correct linkerscripts
instead.
2017-05-26 16:07:48 +02:00
Martine Lenders
d4693648ba Merge pull request #7095 from kaspar030/add_headerguard_check_script
dist: tools: add headerguard check script
2017-05-24 18:08:29 +02:00