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

51 Commits

Author SHA1 Message Date
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
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
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
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
a63c0a84a6 kinetis: Use bit.h functions 2017-06-09 05:19:13 +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
Hauke Petersen
867b09c224 cpu/kinetis: make UART mode configurable per board 2017-05-24 14:48:49 +02:00
Martine Lenders
0cc15955f6 Merge pull request #6958 from haukepetersen/fix_kinetis_uart
cpu/kintis+boards: fixed UART configuration
2017-04-25 17:22:45 +02:00
Hauke Petersen
9dabbddb2f cpu/kintis+boards: fixed UART configuration 2017-04-25 14:27:33 +02:00
Oleg Hahm
242cd6290a cpu: kinetis: suppress incorrect cppcheck warning 2017-04-14 14:36:16 +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
8064bd9fa9 periph/pwm: remove pwm_(start|stop) + doc
- joined start/stop and poweron/poweroff
- added general documentation
2017-02-13 09:37:31 +01:00
Hauke Petersen
2f9e3c89e1 periph/hwrng: use void* buf for hwrng_read() 2017-02-07 13:20:39 +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
Hauke Petersen
2c5a9a5cbf cpu/kinetis: unified PM implementation 2017-01-18 14:54:16 +01:00
Joakim Nohlgård
45c8bc47e8 kinetis_common: Fix -Wsign-compare in gpio.c 2017-01-16 08:55:08 +01:00
662bec002a cpu: k60: add periph/pm support 2017-01-12 16:26:02 +01:00
Peter Kietzmann
280a200377 Merge pull request #6230 from haukepetersen/opt_kinetis_pwm
cpu/kinetis: reworked PWM driver implementation
2017-01-12 10:16:31 +01:00
Hauke Petersen
c062bf71b9 Merge pull request #6177 from gebart/pr/kinetis-adc-clock-scaler-fix
kinetis: Fix ADC clock computation
2017-01-05 14:08:00 +01:00
Hauke Petersen
d1db190f83 cpu/kinetis_common: reworked PWM driver 2017-01-05 10:55:15 +01:00
Joakim Nohlgård
c2ccc1bfa0 kinetis: Fix ADC clock computation
The ADC prescaler computation was broken and gave too high ADC clock for
module clocks slower than 32 MHz (the >32 MHz case is already handled
separately)
2016-12-27 17:10:25 +01:00
Hauke Petersen
3a00fe8e49 cpus: make use of cortexm_isr_end() 2016-12-21 11:28:46 +01:00
Hauke Petersen
2eebf36eb2 cpu/uart: make use of named return values 2016-10-28 10:32:00 +02:00
Kees Bakker
bac5cda1e3 periph/i2c: convert char to uint8_t where applicapable
In general, data transferred through I2C are bytes and thus should have
type uint8_t, not char.

Also convert uint8_t ptrs to void ptrs
2016-10-04 20:26:39 +02:00
Joakim Nohlgård
1a2b2575fb kinetis: Add stddef, stdint missing includes for gpio.c 2016-09-29 15:47:53 +02:00
Joakim Nohlgård
8947a3c49c cpu/kinetis_common: Add debugging messages to i2c driver 2016-08-10 19:40:39 +02: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
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
Johann Fischer
0b2ffc212d Merge pull request #5075 from jfischer-phytec-iot/pr@kinetis-i2c
cpu/kinetis_common/periph/i2c.c: fix generating the STOP signal
2016-03-17 12:53:24 +01:00
Joakim Nohlgård
65bb26f0b4 cpu/kinetis_common: Use gpio_init_port for PWM pin handling 2016-03-14 17:52:51 +01:00
Johann Fischer
db2506822f cpu/kinetis_common/periph/i2c.c: fix generating the STOP signal
This patch fix the bug in _i2c_receive. The STOP signal should be
generated before the reading from the data register because the
receiving of the next byte will be initiated by reading
the data register (dev->D).
2016-03-14 14:53:59 +01:00
Hauke Petersen
3990bd84e7 cpu/kinetis_common: reworked ADC driver 2016-03-14 13:06:23 +01:00
Peter Kietzmann
c8829a49b8 Merge pull request #4838 from haukepetersen/fix_periph_timerarg
drivers/timer: added callback argument
2016-03-01 08:55:54 +01:00
Hauke Petersen
b11a3ad74b cpus: adapted timer implementations to API changes 2016-02-29 14:45:00 +01:00
Hauke Petersen
34f9deecb7 cpu/kinetis_common: reworked GPIO driver 2016-02-29 11:08:45 +01:00
Joakim Nohlgård
e2f7ac78f0 Merge pull request #4040 from gebart/pr/periph-timer-init-freq
periph/timer: Change timer_init API to support arbitrary (integer) frequencies
2016-02-15 23:36:44 +01:00
Hauke Petersen
6f0179ce69 cpu/kinetis_common: adapted HWRNG implementation 2016-02-14 12:59:46 +01:00
Joakim Nohlgård
d2b06d1923 cpu/kinetis_common: Update timer_init to match API change 2016-02-13 21:29:36 +01:00
Hauke Petersen
fecf74970e cpu/kinetis_common: adapted to PWM interface changes 2016-02-12 16:10:01 +01:00
Joakim Nohlgård
3db00667b7 cpu/kinetis_common: Use a different module name to prevent linker races in Travis 2016-02-12 08:45:56 +01:00
Hauke Petersen
cfcf951b9d cpu/kinetis_common: fixed null ptr ref in gpio.c 2016-02-09 16:22:25 +01:00