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