Commit Graph

108 Commits (3ae6d045ee053ddef6749adbaef9466e4b51a537)

Author SHA1 Message Date
0xc0170 1cef3ffb2d Merge branch 'master' of https://github.com/sg-/mbed into sg--master
Conflicts:
	libraries/mbed/common/SPI.cpp
2015-05-27 13:09:05 +01:00
Sissors 9f16e75687 [HAL][KSDK] Switched delay type of SPI
Even though it does not actually toggle the CS signal, we can also use
the delay to CS toggle to get proper waveforms. This also fixes SPI in
mode 3.
2015-05-03 21:09:15 +02:00
Sissors fa63b6703f [HAL][KSDK] Fix issue with KSDK SPI timing
Depending on the format by default the Freescale SPI peripheral does not
give proper delay between SPI transfers. So code has been added which
sets half a period delay between SPI transfers.
2015-05-03 17:37:16 +02:00
sg- 70fad08a4c Update SPI API documentation for hardware driven SS. Modify all target spi_api.c implementations. spi_init ssel parameter was used incorrectly to determine master/slave mode rather than enable hardware driven SS (seems to be due to legacy copy paste). Remove duplicate copy paste code of initialization in spi_init that is done by constructor (SPI and SPISlave) 2015-04-10 00:38:27 -05:00
0x4E656F00 1519466bc8 Update serial_api.c
Fix number of stop bits in serial_format()
2015-03-11 17:02:15 -04:00
0xc0170 2a1d12bcd4 Fix #940 - k64f a4/5 pinnames swap 2015-03-03 08:16:09 +01:00
Przemek Wirkus a53cd59b51 Added is_connected() method to Digital I/O classes APIs (DigitalIn, DigitalOut and DigitalInOut 2014-12-19 13:31:54 +00:00
Przemek Wirkus b7f4d17aae Added new GPIO HAL function gpio_is_connected() used to check if gpio_t is connected or initialized with NC
Simple gpio_t structure in TARGET_KPSDK_MCUS field name changed to allign to other HALs
2014-12-19 13:14:53 +00:00
0xc0170 a36eb12b2f Targets: Freescale KSDK - extern } syntax error fix 2014-12-09 14:52:17 +00:00
0xc0170 81254a0e44 K64F - UART_NUM fix in a condition 2014-11-14 15:21:39 +00:00
Martin Kojtal 6fd59778d6 Merge pull request #684 from Sissors/ksdk
Targets: KSDK - Fix ACK/NACK received inverted (issue #661)
2014-11-12 08:45:48 +00:00
Sissors d3e2cacff3 [HAL][KSDK] Fixed ACK/NACK received inverted (https://github.com/mbedmicro/mbed/issues/661)
As reported by Geremia G
(http://developer.mbed.org/forum/bugs-suggestions/topic/5220/)
2014-11-11 20:32:07 +01:00
Martin Kojtal c9ec513887 Merge pull request #677 from Sissors/ksdk
Targets: Freescale KSDK - Fix first serial char not being sent
2014-11-11 09:38:07 +00:00
Sissors 57a79c08a9 [HAL][KSDK] Fix first serial char not being sent
The K64F/K22F didn't send the first char. I don't know why exactly, but
any type of reading a status register seems to fix it. And this extra
line at least makes sense. Now it works correctly.
2014-11-09 19:40:29 +01:00
Ned Konz e6ae0a7e02 Ensure that IG (Global) bit is reset in MAC address for K64F and others
See IEE 802.3-2002, Section 3.2.3(b)
2014-11-06 09:48:32 -08:00
sg- 3bd868408b [K64F] Add mbed_mac_address implementation 2014-10-07 17:41:39 -05:00
Martin Kojtal 6d6dd0be3a Merge pull request #530 from Sissors/master
HAL: Allow Serial pin to be NC for all targets
2014-10-06 11:38:36 +01:00
Sissors 1b833cbd67 Changed serial pin_mode with brackets and for all targets 2014-10-06 12:15:24 +02:00
Sissors 86e71216fa Allow Serial pin to be NC on Freescale/NXP devices
Nordic(?)/STM should also be done, but I don't know if they do their own
stuff.

Issue is that since the mbed-assert implementation, calling pin_mode
causes an assert when a pin is NC. Since defining a serial object with
only TX or RX is a valid use case, this should be handled.

pinmap_pinout does accept NC pins, so there no guards are needed (person
who adds asserts there may also fix it in all other code).
2014-10-04 22:47:25 +02:00
Martin Kojtal 25ff4eb5b4 Merge pull request #513 from Sissors/ksdk
[HAL] K22F - UART pinnames
2014-09-27 12:25:54 +01:00
Sissors cc3456f254 [HAL][K22F] Added final UART pinnames
See title
2014-09-27 10:57:36 +02:00
Andrew Fritz a31c4aa310 Merge remote-tracking branch 'upstream/master' 2014-09-24 16:34:35 -05:00
Andrew Fritz ebe53afecb Added pin names for cellular radio. 2014-09-24 16:19:39 -05:00
Andrew Fritz 8eb5bd40cb Expanded PeripheralPins.c to suppor UART5 for cellular radio. 2014-09-24 16:18:53 -05:00
Martin Kojtal 347b41de66 Merge pull request #502 from Sissors/ksdk
[HAL] Freescale KSDK -  Use PIT timer for ticker/timeout
2014-09-23 08:23:15 +01:00
Martin Kojtal cb3999ca5e Merge pull request #504 from 0xc0170/fix_enet_k64f_ksdk
[NET, HAL] K64F - update files to use address of enet peripheral (not instance as required by KSDK v1.0)
2014-09-22 17:15:30 +01:00
0xc0170 c4a60632a8 [NET, HAL] K64F - enet edit for new header files (address used instead of instance)
- hal enet - asserts commented out as they are not valid for new MCU headers (address, no instance)
	- net - corrections for new ksdk API
2014-09-22 13:49:12 +01:00
Sissors d4263bfed6 [HAL][KSDK] Use PIT timer for ticker/timeout
Previously in the KLXX devices the LPTMR was used for ticker/timeout,
since they only have 2 PIT channels which are required for regular
timer. The KSDK targets have 4 PIT channels, which allows for two 32-bit
timers running at 1 MHz.

Since PIT timers are 32-bit, and LPTMR 16-bit, this both simplifies it
and makes it more efficient. It does cost the remaining 2 PIT channels,
but on the other hand leaves the LPTMR free.
2014-09-20 21:36:29 +02:00
sg- 4df4b2ffc5 [mbed][KPSDK][K22F][K64F] sw_timer.c seems to be left over from the last version of KSDKand isn't part of the v1.0.0 release. fsl_interrupt_manager.c relies on using KSDK specific startup code and linker scripts which we dont use. 2014-09-19 15:51:45 -05:00
Martin Kojtal 01f28ff20d Merge pull request #491 from sg-/master
[ENET] K64F -  Remove storage-class specifier "extern" from C++ guard at closing squiggle
2014-09-19 08:25:22 +01:00
0xc0170 b051dbd717 [HAL] Freescale KSDK - MBED_NO_ENET guard for enet drivers 2014-09-17 08:53:36 +01:00
0xc0170 0390a92d71 [HAL] MCU_K64F - files in MCU_K64F folder, as it is in the latest mbed master 2014-09-16 15:54:14 +01:00
0xc0170 cfd2a98b57 [KPSDK] Revert Enet driver to older version - compatible with lwip port
- this will be reverted back along with an updated lwip K64F implementation
2014-09-16 15:15:32 +01:00
0xc0170 a83f8e809d [HAL] K64F - timestamp_t change in usticker 2014-09-16 14:22:47 +01:00
0xc0170 385d2fe792 MCU K64F files in K64F target folder 2014-09-16 13:45:02 +01:00
0xc0170 c8eab47e81 Merge branch 'master' of github.com:Sissors/mbed into Sissors-master
Conflicts:
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/PeripheralPins.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/PortNames.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K22F/device/MK22F51212/fsl_bitaccess.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/PeripheralPins.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/PortNames.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/analogin_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/analogout_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/device/MK64F12/regs.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/gpio_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/gpio_irq_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/gpio_object.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/i2c_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/objects.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/pinmap.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/port_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/pwmout_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/rtc_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/serial_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/sleep.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/spi_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/us_ticker.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/PeripheralPins.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/PortNames.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/analogin_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/analogout_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/device/MK64F12/regs.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/device/MK64F12/system_MK64F12.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/gpio_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/gpio_irq_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/gpio_object.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/i2c_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/objects.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/pinmap.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/port_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/pwmout_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/rtc_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/serial_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/sleep.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/spi_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_MCU_K64F/us_ticker.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/analogin_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/analogout_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/gpio_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/gpio_irq_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/gpio_object.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/i2c_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/objects.h
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/pinmap.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/port_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/pwmout_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/rtc_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/sleep.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/spi_api.c
	libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/us_ticker.c
	libraries/net/eth/lwip-eth/arch/TARGET_Freescale/fsl_enet_driver.c
	workspace_tools/tests.py
2014-09-16 13:43:02 +01:00
sg- 01b323b46b [mbed][k64f][enet] Remove extern from c++ guard at closing squiggle 2014-09-12 19:25:25 -05:00
Andrew Fritz dd418c9507 Merge remote-tracking branch 'upstream/master' 2014-09-12 13:15:18 -05:00
Sissors 0de8335c20 [K22F] Sleep/deepsleep verified to work
Works properly with waking from interruptin, not from timeout from
regular sleep, but thats the nature of the current KSDK Ticker timer
used, can be changed later on :)
2014-09-11 08:33:44 +02:00
Sissors a1be82dc81 [KSDK][K22F] AnalogIn/Out added/verified
The original code switched ADC clock source depending on required
prescaler. Maybe thats possible on K64, but on K22 it just tried to set
clock to non-existing source. Not it gets a bit above MAX_ADC, but that
is set fairly conservative so is not an issue.
2014-09-11 08:08:39 +02:00
Andrew Fritz 9e74068fbd Added pin names for SPI buses and SPI chip select lines as well as pin names for GPIO pins. 2014-09-10 13:14:47 -05:00
Sissors 6c61dab521 GPIO-irq fixed + activated on K22F + Arduino pins 2014-09-09 23:21:33 +02:00
Sissors 47988de521 RTC works correctly
Removes unnecesary code, and moved some things around, now it works
fine.
2014-09-09 22:52:51 +02:00
Sissors c9194f0f9e RTC compiles and doesn't crash anymore, but also doesn't run 2014-09-09 20:51:13 +02:00
Sissors 6585203559 Added SPI to K22F
Just copied from K64F the pinmap and removed SPI2, seems to be
identical. And apparantly had a typo in i2c which is fixed now.
2014-09-09 20:26:54 +02:00
Sissors 555d43fab4 Added K22F I2C + fixed I2C
First part was pinouts. Second part is that the earlier done new I2C
commands were wrong. The macros for writing for example status register
expect the I2C base address, and were only getting the number of the i2c
peripheral. After figuring that one out technically the changes in
timeout_status_poll aren't necesary, but it won't hurt either.
2014-09-07 21:39:16 +02:00
Sissors 978732550b Green LED irritation fix
The green LED is by default on. It is part of the JTAG interface,
although then it should be high-Z. Whatever the exact reason, it bothers
me. This disables it at startup (by switching the pin to GPIO).
2014-09-07 15:03:29 +02:00
Sissors 15bbd4143c K22F PWM support
Pinouts added, and pwm names changed into something which are bit easier
to use when making that pinout.
2014-09-07 14:53:31 +02:00
Sissors 1aaaea5553 Set correct CPU for K22F
Apparantly the wrong CPU was set, fixed that to correct one
(MK22F51212). Won't hurt though if someone checks the .s and .sct file.
(It does compile and work fine now for blinky and helloworld)
2014-09-07 11:56:21 +02:00
Sissors d35e9bbe27 Added Serial support for K22F and fixed overal serial
First part is pretty obvious, added some pin defines, and some ifdefs in
serial_api.c to make it compile (they all use KSDK macros, so goes
automatically, and not that many ifdefs).

Second part is that in the new version of the hal files you apparantly
got to manually enable the uart transmitter/receiver. This wasn't in
there yet, so it did very little.

Now it works fine on a K22F (well minus the part where the first char in
a program isn't transmitted, but thats alot better than nothing being
transmitted)
2014-09-06 20:50:33 +02:00