1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

55 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
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
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
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
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
60a5c85ca8 kinetis: Merge cpu_conf settings into kinetis_common 2017-07-22 15:51:25 +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
4ceb71e719 cpu/k22f: Add Freescale/NXP Kinetis K22F 2017-07-18 08:39:21 +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
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
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
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
0fcc7d3834 cleanup: apply headerguard script output 2017-05-24 17:54:02 +02:00
Hauke Petersen
867b09c224 cpu/kinetis: make UART mode configurable per board 2017-05-24 14:48:49 +02:00
Joakim Nohlgård
e618e6dfb4 kinetis: Unify default ISR definitions 2017-05-02 10:52:43 +02:00
Joakim Nohlgård
a107a416cf kinetis: Refactor UART driver 2017-04-09 17:21:38 +02:00
Joakim Nohlgård
6cda6a6560 periph/cpuid: Unify implementations to a common driver for several platforms 2017-04-05 09:03:49 +02:00
Hauke Petersen
5c7ed2228d pm_layerd: fix initial value for PM_BLOCKER_INITIAL
the current value was a debugging left-over and should
actually be 0.
2017-03-28 19:32:32 +02:00
Hauke Petersen
5bdb3bfa61 misc: aggregated doxygen fixes 2017-01-25 16:46:46 +01:00
Hauke Petersen
5880d0edda cpu/kinetis+boards: adapted to new SPI API
- adapted the SPI driver
- adapted all boards using the CPU
2017-01-25 16:46:05 +01:00
3e49d0c8c6 Merge pull request #6434 from aabadie/petersen_typo
cpu: fix typo in author email
2017-01-20 10:43:24 +01:00
245f60edfa cpu: fix typo in author email 2017-01-19 21:45:23 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
662bec002a cpu: k60: add periph/pm support 2017-01-12 16:26:02 +01:00
Hauke Petersen
d1db190f83 cpu/kinetis_common: reworked PWM driver 2017-01-05 10:55:15 +01:00
Joakim Nohlgård
5633af4300 cpu/kinetis_common: Update periph_timer to support both LPTMR and PIT 2016-07-07 13:38:27 +02:00
Ian Martin
49ae438dd5 doc: eliminate clutter in adc and gpio periph docs 2016-06-29 15:08:32 -04:00
zhuoshuguo
1cbe79a373 CPU: fix include header guards
Fix cpu/lpc2387/include/lpc2387.h
2016-06-08 16:38:20 +02:00
Joakim Nohlgård
8c154d47ad cpu/kinetis_common: Implement DAC periph driver 2016-03-22 06:06:56 +01:00
Hauke Petersen
4938142b42 cpu/kinetis: adapted GPIO driver 2016-03-17 14:55:30 +01:00
Hauke Petersen
3990bd84e7 cpu/kinetis_common: reworked ADC driver 2016-03-14 13:06:23 +01:00
Hauke Petersen
34f9deecb7 cpu/kinetis_common: reworked GPIO driver 2016-02-29 11:08:45 +01:00
Hauke Petersen
940097336a cpu: cleanup and unification of CPUID implementations
- moved definition of CPUID_LEN to periph_cpu.h
- fixed some doxygen
- simplyfied some implementations
2016-02-08 14:36:03 +01:00
Hauke Petersen
476167a86c cpu: fixed any doxygen warning realated to 'periph' 2015-11-19 16:08:38 +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
Joakim Nohlgård
98c465008b all: Update @gebart family name, email 2015-09-20 13:47:39 +02:00
c0d3524132 cpu: kinetis_common: remove obsolete hwtimer support 2015-09-16 10:58:52 +02:00
Hauke Petersen
253e7ce715 cpu/kinetis_common: optimization of startup code 2015-06-15 16:00:51 +02:00
Hauke Petersen
d7f659db71 cpu/kinetis_common: adjusted to changed GPIO if 2015-06-12 19:10:49 +02:00