Commit Graph

6014 Commits

Author SHA1 Message Date
Gregory Nutt
0dbbf19fea SIM: Kconfig now indicates that it supports multiple CPUs. 2016-02-10 17:29:04 -06:00
Gregory Nutt
52f88b0625 SIM: Add simulation of a multi-CPU processor 2016-02-10 14:58:21 -06:00
Gregory Nutt
5e91bf9a03 SIM: Add a fake spinlock.h header file that may be useful someday for testing of SMP features 2016-02-10 10:33:37 -06:00
Gregory Nutt
6181711942 Correct some comments 2016-02-09 13:48:16 -06:00
Gregory Nutt
a6eb9a351c Add spinlock support for ARMv7-M architectures 2016-02-09 13:44:22 -06:00
Gregory Nutt
98e9e7d768 Add spinlock support for ARMv7-R architectures 2016-02-09 13:01:32 -06:00
Gregory Nutt
5d449e9991 Add spinlock support for ARMv7-A architectures 2016-02-09 12:53:10 -06:00
Gregory Nutt
24428f7a59 z80 family: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 17:32:25 -06:00
Gregory Nutt
4078a3134e z16: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 17:17:17 -06:00
Gregory Nutt
b0bcd82ba7 x86: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 17:10:44 -06:00
Gregory Nutt
a1126361da sim: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 17:05:55 -06:00
Gregory Nutt
edc51a14cd SH: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 17:00:02 -06:00
Gregory Nutt
2dff5b27b7 SH: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 16:56:49 -06:00
Gregory Nutt
dc574dfd2e RGMP: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 16:52:38 -06:00
Gregory Nutt
b373894fbc MIPS: Replace explict references to g_readytorun with indirect references via the this_task() macro 2016-02-06 16:49:34 -06:00
Gregory Nutt
2b8d1fcbdb HC: Replace explicit references to g_readytorun with indirect references via the macro this_task() 2016-02-06 15:20:08 -06:00
Gregory Nutt
c62177be00 AVR: Replace explicit references to g_readytorun with indirect references via the macro this_task() 2016-02-06 13:55:15 -06:00
Gregory Nutt
ed4e3c0a9e ARM: Replace explicit references to g_readytorun with indirect references via the macro this_task() 2016-02-06 13:41:28 -06:00
Gregory Nutt
03b382d443 SAM3/4, SAMA5, SAMv7 Tickless: Refuse to call lower-level timer logic if not yet initialized 2016-02-05 10:22:11 -06:00
Gregory Nutt
341fbe1186 Rename all tiva_spi functions to tiva_ssi 2016-02-04 10:33:15 -06:00
Gregory Nutt
ef64f8b3f4 Missed spiinitialize name change 2016-02-04 10:15:51 -06:00
Gregory Nutt
d511afd507 LPC31: Fix an unmatching function prototype 2016-02-03 18:11:42 -06:00
Gregory Nutt
1166e311b0 Networking: Remove the HSEC argument from devif_timer. 2016-02-03 11:17:15 -06:00
Gregory Nutt
578402f8b5 Fix some spacing in a comment 2016-02-03 10:33:59 -06:00
Gregory Nutt
d2b2cd3415 Duplicate Manuel's EMAC driver fix to every other driver that supports CONFIG_NET_NOINTS 2016-02-03 10:33:22 -06:00
Manuel Stuehn
7236e742ab STM32 Ethernet: Fix a cornercase where the TX poll timer is not restarted. 2016-02-03 08:24:49 -06:00
Gregory Nutt
1e4f2ae2c1 Rename up_i2c initialize and uninitialize functions using the correct MCU-specific naming 2016-02-02 12:08:23 -06:00
Gregory Nutt
d2571985ef I2C: up_i2creset should not be a global function; Now it is an I2C interface method 2016-02-02 11:21:45 -06:00
Gregory Nutt
f1a5a6dfc7 I2C: Fixes/improvements from last massive I2C commits 2016-02-02 07:12:50 -06:00
Gregory Nutt
30624c8dfa EFM32, STM32, and Tiva I2C Drivers: Clean up some kruft that is no longer needed after the last massive I2C interfcase change 2016-02-01 19:51:55 -06:00
Gregory Nutt
c9a7d48cb2 I2C: Fix some compile time issues found with tools/testbuild.sh 2016-02-01 18:02:39 -06:00
Gregory Nutt
0693e76be8 I2C: Remove the setfrequency method from the interface 2016-02-01 16:30:29 -06:00
Gregory Nutt
bec6f373a7 I2C: Cosmetic changes 2016-02-01 14:15:52 -06:00
Gregory Nutt
a64f36a63e I2C: Remove setaddress method 2016-02-01 12:14:20 -06:00
Gregory Nutt
ce988c7ed3 Remove the read and write methods from the I2C interface 2016-02-01 09:22:10 -06:00
Gregory Nutt
91fa0b9616 More SPI initialize naming clarification 2016-01-31 15:38:28 -06:00
Gregory Nutt
2171438c61 I2C_TRANSFER support is no longer optional 2016-01-31 14:00:53 -06:00
Gregory Nutt
2d41fb26b8 z8 I2C driver now supports the I2C_TRANSFER method 2016-01-31 13:49:34 -06:00
Gregory Nutt
74d2073fca ez80: Fix some compile errors when I2C_TRANSFER is enabled 2016-01-31 13:08:43 -06:00
Gregory Nutt
e4629af2bc ez80: Add I2C_TRANSFER method to the I2C driver; Fixes for working with ZDS-II toolchain (still some problems with internal errors; Various fixes due to bit rot 2016-01-31 12:43:14 -06:00
Gregory Nutt
b5019c4b54 Backport the LPC17xx I2C driver to the LPC2378 in order to get the I2C_TRANSFER method. 2016-01-30 13:06:18 -06:00
Gregory Nutt
8f1b9886a9 Backport the new LPC17xx I2C driver to the LPC11xx in order to get the I2C_TRANSFER method 2016-01-30 12:17:01 -06:00
Gregory Nutt
8a37072e87 Backport the LPC32xx I2C driver to the LPC17xx in order to get the I2C_TRANSFER method 2016-01-30 11:26:38 -06:00
Gregory Nutt
531d73af41 Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s. 2016-01-30 08:35:46 -06:00
Gregory Nutt
9f9b85a932 Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h 2016-01-30 07:59:44 -06:00
Freddie Chopin
8203659ee5 stm32_rtc_endwr(): wait for RTC_CRL_RTOFF bit to be set. This ensures that the write "reaches" RTC registers before access is disabled by stm32_pwr_enablebkp(). 2016-01-28 16:58:02 -06:00
Gregory Nutt
5d0c914121 LPC2148: Missing spi initializatin prototype 2016-01-28 09:52:46 -06:00
Gregory Nutt
9f2ae5bb86 LPC43: Fix a naming collision with i2c_read 2016-01-28 07:47:32 -06:00
Gregory Nutt
4d2e423cf6 Calypso: Fix some typos in last SPI changes 2016-01-27 16:40:29 -06:00
Gregory Nutt
7a13837fdd Remove the final vestiges of up_spiinitialize() 2016-01-27 09:26:14 -06:00
Gregory Nutt
a0ce222318 For M9S12 MCUs, rename up_spiinitialize to hcs12_spibus_initialize 2016-01-27 09:10:36 -06:00
Gregory Nutt
215dfe778b For LPC2378 MCUs, rename up_spiinitialize to lpc23_spibus_initialize 2016-01-27 09:02:15 -06:00
Gregory Nutt
b4f0ad1af5 For i.MX1 MCUs, rename up_spiinitialize to imx_spibus_initialize 2016-01-27 08:57:34 -06:00
Gregory Nutt
bd5e6f784b For STR71xx MCUs, rename up_spiinitialize to str71_spibus_initialize 2016-01-27 08:50:01 -06:00
Gregory Nutt
f002980b50 For eZ80 MCUs, rename up_spiinitialize to ez80_spibus_initialize 2016-01-27 08:39:02 -06:00
Gregory Nutt
a9dec09444 Minor fix to comment 2016-01-27 08:16:46 -06:00
Gregory Nutt
120f7ccebf For Calypso MCUs, rename up_spiinitialize to calypso_spibus_initialize 2016-01-27 08:13:51 -06:00
Gregory Nutt
afbd0f55c3 For AVR MCUs, rename up_spiinitialize to avr_spibus_initialize 2016-01-27 08:00:28 -06:00
Gregory Nutt
c958d83ee1 For LPC43xx MCUs, rename lpc17_spiinitialize to lpc43_spibus_initialize 2016-01-26 17:17:12 -06:00
Gregory Nutt
6305c4274a For LPC17xx MCUs, rename lpc17_spiinitialize to lpc17_spibus_initialize 2016-01-26 17:07:47 -06:00
Gregory Nutt
cc68a24972 For LPC31xx MCUs, rename up_spiinitialize to lpc31_spibus_initialize 2016-01-26 16:56:28 -06:00
Gregory Nutt
aa2ae3f26a For Kinetis MCUs, rename up_spiinitialize to kinetis_spibus_initialize 2016-01-26 16:25:50 -06:00
Gregory Nutt
3b6a502eff For LK MCUs, rename up_spiinitialize to kl_spibus_initialize 2016-01-26 16:19:03 -06:00
Gregory Nutt
d06fae98a3 EFM32: Rename efm_spi_initialize to efm_spibus_initialize for compatibility with corresponding changes to other platforms 2016-01-26 15:58:33 -06:00
Gregory Nutt
ba17c8ea18 For PIC32MX/Z MCUs, rename up_spiinitialize to pic32mx/z_spibus_initialize 2016-01-26 15:47:42 -06:00
Gregory Nutt
8864c78e57 For Tiva/LM MCUs, rename up_spiinitialize to tiva_spibus_initialize 2016-01-26 15:20:31 -06:00
Gregory Nutt
d16978be7f For SAM MCUs, rename up_spiinitialize to sam_spibus_initialize 2016-01-26 13:03:17 -06:00
Gregory Nutt
04bbd8c67f For STM32, rename up_spiinitialize to stm32_spibus_initialize 2016-01-26 12:22:27 -06:00
Gregory Nutt
c0fb4e34a7 I2C: Eliminate the I2C_WRITEREAD method 2016-01-26 10:23:09 -06:00
Gregory Nutt
b64a45d667 Add a missing semicolon 2016-01-26 08:00:29 -06:00
Gregory Nutt
c9295c5152 Merge branch 'master' of bitbucket.org:nuttx/arch 2016-01-25 13:26:28 -06:00
Gregory Nutt
a2ce7cc30f Add SAMV7 AFEC header file 2016-01-25 13:25:12 -06:00
Gregory Nutt
f4115ab45c Correct LPC11xx priority definitions + fix some typos in comments 2016-01-25 07:36:26 -06:00
Lok Tep
1f4ce9e7f9 LPC43xx: Fix some NVIC priority definitions 2016-01-25 07:23:28 -06:00
Gregory Nutt
fb3baae5a4 Trivial: Change ASSERT to DEBUGASSERT 2016-01-24 10:48:35 -06:00
Gregory Nutt
7a7bb6387b Fix initialization of a semaphore 2016-01-24 09:25:39 -06:00
Gregory Nutt
52109ade2d Flesh out unfinished lock() method implementations in al SPI drivers 2016-01-24 09:15:57 -06:00
Gregory Nutt
b7cbbab761 Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law 2016-01-23 18:10:21 -06:00
Gregory Nutt
00aaceaf2f All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features 2016-01-23 16:17:42 -06:00
Gregory Nutt
3850b9b70c Remove carriage returns from a file 2016-01-23 15:19:57 -06:00
Gregory Nutt
4bd6adb725 Add dummy hwfeatures method to all SPI interfaces 2016-01-23 15:09:38 -06:00
Gregory Nutt
ece6517607 Kinetis ENET: Move ioctl function; add prototype and function header; split up some long lines 2016-01-21 19:14:04 -06:00
Andrew Webster
43303a5786 Kinetis: add MK60N512VLL100 support 2016-01-21 19:07:18 -06:00
Andrew Webster
9d0c378dbc Kinetis enet: switch to built-in byte swapper. Depends on GCC __builtin functions 2016-01-21 19:05:51 -06:00
Andrew Webster
d3238e6f95 Kinetis enet: buffer management update
This patch manages the packet buffer used by the upper layers by making sure it is always set to a valid transmit buffer that can be used by the MAC-NET core.  The only exception to this is when the upper layer re-uses a receive buffer to send a response. In this case, the updated receive buffer is swapped with an empty transmit buffer.  If there is no empty transmit buffer available, the packet will be dropped.

Signed-off-by: Andrew Webster <awebster@arcx.com>

Kinetis enet: add support for DBSWP

Signed-off-by: Andrew Webster <awebster@arcx.com>
2016-01-21 19:00:21 -06:00
Andrew Webster
64a0f54767 Kinetis enet: add PHY ioctl support. 2016-01-21 18:54:04 -06:00
Andrew Webster
a118233a59 Kinetis enet: set the MII_MODE bit. The RM states that this bit should always be 1. 2016-01-21 18:50:53 -06:00
Andrew Webster
36408697ca Kinetis enet: leave the write buffer wrap bit alone. The wrap buffer bit is initialized when the buffers are set up and should not be changed later 2016-01-21 18:49:23 -06:00
Andrew Webster
6ba74a281a Kinetis enet: RDAR should be called after ETHER_EN 2016-01-21 18:46:54 -06:00
Andrew Webster
c1a8443416 inetis enet: disallow transmit when the queue is full 2016-01-21 18:45:46 -06:00
Andrew Webster
a3f8be04ac Kinetis enet: initialize the MAC address 2016-01-21 18:44:10 -06:00
Andrew Webster
a16cae2b74 Kinetis enet: support multiple transmits between interrupts. Accounts for the unlikely event that more than one packet has been transmitted before the tx done is processed 2016-01-21 18:40:52 -06:00
Andrew Webster
409d499fc8 Kinetis enet: use rounded up MTU size for buffers. The buffers must be evenly divisible by 16, so round up the MTU size and use that for the buffer sizes 2016-01-21 18:39:12 -06:00
Andrew Webster
d09eec1066 Kinetis enet: fix minor logic errors 2016-01-21 18:36:27 -06:00
Andrew Webster
8dc63d6016 Kinetis enet: fix typos 2016-01-21 18:35:19 -06:00
Gregory Nutt
5ebd84c890 Update to use 64-bit timer when available 2016-01-21 11:53:58 -06:00
Stefan Kolb
b6dd44bdcd SAMV71 TC: Fix compilation errors when certain timers are enabled. 2016-01-20 09:39:12 -06:00
Paul A. Patience
3ecdb0c21c STM32 TIM: Fix comment 2016-01-19 17:02:00 -05:00
Gregory Nutt
b7e9fb9284 Merged in paulpatience/nuttx-arch/stm32_qencoder (pull request #52)
STM32 QEncoder: Fix typo
2016-01-19 15:47:07 -06:00
Paul A. Patience
d81001326c STM32 QEncoder: Fix typo 2016-01-19 16:44:21 -05:00
Paul A. Patience
26a434d76a STM32 TIM: Fix typos and add forgotten bit 2016-01-19 15:49:03 -05:00
Gregory Nutt
727361d736 Remove Eclipse project files from repository. Noted by Sebastien Lorquet 2016-01-19 10:00:26 -06:00
Frank Benkert
dd13fcde44 CAN: Add more extensive error reporting information 2016-01-18 12:21:20 -06:00
Gregory Nutt
74c7e3d0bf STM32 OTF FS/HS Host. Fix two cases where stm32_putreg parameters were backward. Noted by Hang Xu 2016-01-18 08:10:37 -06:00
Paul A. Patience
196d379010 STM32 QEncoder: Fix some typos 2016-01-17 21:52:03 -05:00
Gregory Nutt
4e8772dfca ATMEGA: A few trivial updates to USART-related macros 2016-01-16 14:38:28 -06:00
Gregory Nutt
6ca2315cf0 ATMEGA: Make some naming used with the 2560 compatible with other ATmega parts 2016-01-16 13:41:49 -06:00
Gregory Nutt
b5584c3cf9 Trivia, cosmetic 2016-01-15 13:38:35 -06:00
Gregory Nutt
027e5ef1a1 LPC43xx: Fix some errors/warnings in ADC driver 2016-01-15 13:37:12 -06:00
Gregory Nutt
6c2cd3edee Changes from review of last pull request 2016-01-15 10:55:58 -06:00
Lok Tep
a089847f39 Merged nuttx/arch into master 2016-01-15 15:32:55 +01:00
Gregory Nutt
2030784891 sim: Add more symbols to nuttx-names.dat 2016-01-14 15:14:25 -06:00
Juha Niskanen
8a671d604d stm32/chip: Fix STM32L15 TIM5 base address. 2016-01-11 07:25:50 -06:00
Gregory Nutt
4b71d74a2b Minor typo fix in warning 2016-01-09 19:57:48 -06:00
Gregory Nutt
10001f8556 WINTOOl should be selected only for Cygwin. MSYS and native should not have it. 2016-01-09 16:34:33 -06:00
Gregory Nutt
7231439290 Test for CONFIG_AVR_HAS_MEMX_PTR must be after inclusion of config.h 2016-01-09 08:11:25 -06:00
Gregory Nutt
d0578bfc2b Changes to last pull request needed for conformance with coding standard 2016-01-09 07:25:24 -06:00
Gregory Nutt
203899cca8 Merged in kloper/arch/atmega2560 (pull request #48)
debug macros for AVR (take #2): Introduce debug macro hooks for AVR
2016-01-09 07:17:35 -06:00
Dimitry Kloper
642b92b391 Introduce debug macro hooks for AVR
When AVR_HAS_MEMX_PTR is enabled provide dbg macro hooks that place
the format strings in program memory releasing RAM for other tasks.
2016-01-09 14:44:38 +02:00
Gregory Nutt
7a393f9e8b Eliminate some warnings 2016-01-08 11:26:16 -06:00
Gregory Nutt
278701f93d Eliminate warnings (one of which looks like a bug) 2016-01-08 11:22:57 -06:00
Gregory Nutt
68e3f5d9ce All AVR toolchain configuration names must end with _TOOLCHAIN to work properly with nuttx/tools/testbuilds.sh 2016-01-08 10:39:59 -06:00
Gregory Nutt
595799212c SAMV7: Add logic to check if multiple banks are busy in TXINI interrupt processing. This logic is probably necessary, but currently commented out because it is untested 2016-01-08 07:47:00 -06:00
Gregory Nutt
dfe3240973 AVR: Rename ATMEGA_PC_SIZE to AVR_PC_SIZE since it must be used in common AVR logic. Add definitions for other AVR architectures as necessary for compilation 2016-01-07 08:14:09 -06:00
Gregory Nutt
951c40215a Atmega: Eliminate some warnings 2016-01-06 09:50:15 -06:00
Gregory Nutt
fe94318bb4 PIC32MX/MZ: Fix error in assember macro. Noted by Tilak Tangudu 2016-01-05 10:04:50 -06:00
Dimitry Kloper
16212f19e7 AVR: Introduce Atmel Toolchain as a configuration option
Atmel's AVR8 toolchain is similar to WinAVR, but at present moment
it has one important feature that WinAVR does not. The __flash and __memx
allow built in comiler support for transparent program memory pointers.
Functions that use such pointers will work both with RAM arrays and
flash memory arrays. The compiler generates an appropriate code automatically.
For systems with tiny memory like atmega, this is very important and
allows to move all static const strings into flash.
2016-01-04 21:53:44 +02:00
Dimitry Kloper
b9f06dc5e3 ATMEGA2560: Fix compilation when CONFIG_DISABLE_SIGNALS is undefined 2016-01-04 21:39:48 +02:00
Gregory Nutt
b29ec04459 Trivial update to C comments 2016-01-01 12:17:40 -06:00
Gregory Nutt
b323e1d5ff Trivial, cosmetic 2015-12-30 12:36:22 -06:00
Gregory Nutt
d235dcc3b0 Rename the LPC2378 header file internal.h to lpc2378.h 2015-12-29 18:17:23 -06:00
Gregory Nutt
71c289ce4f Rename all architecture files of form xyz_internal.h to just xyz.h 2015-12-29 18:07:11 -06:00
Gregory Nutt
68cc2ecfd2 ATMEGA2560: Most cosmetic changes from review of pull request 2015-12-29 13:02:20 -06:00
Dimitry Kloper
0b8a43abbb Merged nuttx/arch/master into atmega2560 2015-12-29 19:10:57 +02:00
Dimitry Kloper
3c0c90e07d Minor identation fix 2015-12-29 19:09:20 +02:00
Dimitry Kloper
3746305f12 AVR: Minor adapt to a differnt TIMER IRQ notions for Atmega2560 2015-12-29 19:08:13 +02:00
Dimitry Kloper
556954141e AVR: Add support for AVR chips with 24-bit Program Counter register
The main challenge is to change the context switch code to be aware of the
extra byte that is saved on stack during call and intterupt. This relates also
to the task startup and signal handling.
2015-12-29 19:01:06 +02:00
Dimitry Kloper
99aab135b2 AVR: Make setting of XDIV optional for platforms that support it
Put setting of XDIV into ifdef since not AVR platforms support it.
2015-12-29 18:56:12 +02:00
Dimitry Kloper
462307f4b7 AVR: Clear EIND on system start-up
For AVR chips (Atmega2560) Program Counter register larger than 16 bits
EIND represents the most significant byte that is used for EICALL and EIJMP
instructions.

Setting of EIND is normally managed by compiler, but I have seen a situation
when for first 64K flash segment compiler didn't set EINT explicitly. Thus
setting EIND at system startup makes sure we are safe.
2015-12-29 18:46:28 +02:00
Dimitry Kloper
9a4a06bf47 AVR: Explicitly disable interrupts as the first step of system init
Disabling interrupts at the very beginning of system init does not
make sense after reset since interrupts are disabled anyway. But
it is very convenient for debugging purposes, in situations when the
system misbehaves and ocassionally jumps to zero.
2015-12-29 18:35:36 +02:00
Dimitry Kloper
ff5e589f76 AVR: add support for TCGETS and TCSETS terminal controls
Sometimes I need UART to support binary data transfer, TCSETS/TCGETS allow
stwitching into binary mode.
2015-12-29 17:56:44 +02:00
Gregory Nutt
416e01bbfa TMS570: Add some placeholders for missing logic; fix some conditional compilation 2015-12-29 09:30:37 -06:00
Dimitry Kloper
d6f6e41a36 AVR: Fix linking error for AVR platforms that have no ARCH_HAVE_LEDS defined
Minor bug while working on Arduino Mega support. I didn't add support
for ARCH_HAVE_LEDS and have it undefined in .config. To my surprise compilation
failed since AVR code had a related function compiled in.
2015-12-29 17:26:11 +02:00
Dimitry Kloper
8f8b88f532 AVR: Fix resulting nuttx file name when EXEEXT is not empty
arch/avr/Makefile is adding extra EXEEXT to the
nuttix image file. This was not discovered since in most configurations
EXEEXT is empty string.
2015-12-29 17:19:30 +02:00
Gregory Nutt
7a0d6cd7ca TMS570: Fix an error introduced in last commit 2015-12-29 08:10:16 -06:00
Gregory Nutt
d9737f0645 TMS570: reset stack pointer before calling os_start 2015-12-29 07:56:22 -06:00
Gregory Nutt
e7d7036cb9 ARMv7-R: L2CC_VBASE->L2CC_BASE 2015-12-28 16:32:34 -06:00
Gregory Nutt
ae0e6b4096 ARMv7-R and TMS570: Re-orider some initialization logic. __start used to called arm_boot() which would return. Then __start would call os_start(). That won't work for the TMS570 if is does a destructive memory tested because the return information will be lost in the stack. Also comment a nuisance assertion. The assertion is probably correct but certainly a nuisance during initial testing 2015-12-28 16:15:33 -06:00
Gregory Nutt
00f70474bb TMS570: Power-up errcheck assertion is a headache 2015-12-28 08:30:03 -06:00
Dimitry Kloper
41bdcd16b8 Change notation of PCH and PCL registers into PC0 and PC1
This is for forthcoming Atmega2560 support. The Atmega2560 has 24-bit PC
thus, PCH and PCL would become PCH, PCM and PCL (M for Middle). The problem
that in this notation PCM is equivalent to former PCH. This makes compatable
porting kind of difficult, at least for my taste.

Instead PCH becomes PC0 and PCL becomes PC1 (think of the index as order of
bytes pushed to stack when call is performed, PC0 as MSB goes first, PC1
goes to stack second, and for 24-bit PC, PC2 as LDB goes last).
2015-12-28 00:46:24 +02:00
Gregory Nutt
c3758286d7 TMS570: Add ESM interrupt handler 2015-12-27 08:34:14 -06:00
Gregory Nutt
e0214f9d62 ARMv7-R: Remove some CONFIG_PAGING logic left over from ARMv7-A leverage 2015-12-27 08:32:53 -06:00
Gregory Nutt
e1b1f80237 TMS570: Add ESM initialization logic 2015-12-27 07:54:43 -06:00
Gregory Nutt
6d0650349a Add support for ARM big-endian toolchains with prefix armeb- 2015-12-26 18:13:01 -06:00
Dimitry Kloper
0c1294d332 Introduce a new Kconfig variant for Atmega2560 and add some basic stuff
Modify Kconfig to be aware of the new chip.
Add all the interrupt hanler constants and vectors where needed.
Move contsatnts from generic to specific headers when needed.
2015-12-27 01:47:35 +02:00
Gregory Nutt
46da8a07ef Costmetic changes from review of merge request 2015-12-26 16:39:51 -06:00
Gregory Nutt
21bdeac349 Merged in kloper/arch/avr_irq_bomb_fix (pull request #45)
AVR: Fix interrupt bombing during a context switch
2015-12-26 16:31:25 -06:00
Gregory Nutt
9bcf27d15b TMS570 is big-endian 2015-12-26 14:47:54 -06:00
Dimitry Kloper
0998876ef6 AVR: Fix interrupt bombing during a context switch
TCB_RESTORE macro has a problem when restoring Status Register
and returning from the function (in up_fullcontextrestore()) as non-atomic action.

If there is some frequently occurring interrupt, chances are that we will
enter the interrupt handler just before ret is called.
The handler may cause a context switch which, when unrolled, will
execute up_fullcontextrestore() function that employs TCB_RESTORE.
It will be interrupted again just before return, leaving part of context
switch content un-popped again, etc... Thus, chances are that the stack will
eventually blow.

Note that this is not some edge condition fix. This bug was discovered when
testing AVR with UART configured to work on 115200 baud rate.
2015-12-26 21:55:40 +02:00
Gregory Nutt
1f2d9c9174 TMS570: Does not have prioritized interrupts in the sense of other CPUs. Fix some compile errors when DEBUG is enabled 2015-12-26 12:26:57 -06:00
Gregory Nutt
d592b2824e TMS570: A little more selftest logic 2015-12-26 12:05:32 -06:00
Gregory Nutt
a27cd8e54e TMS570: Add the beginning of some selftest logic 2015-12-26 10:01:53 -06:00
Gregory Nutt
9c1b677bd5 TMS570: Clean up misc. build issues 2015-12-26 08:18:52 -06:00
Gregory Nutt
c58393cb4d TMS570: Add GIO drivrs and GIO interrupt support 2015-12-25 13:44:49 -06:00
Gregory Nutt
ccc6913383 TMS570: Add definitions to support GIO second level interrupts 2015-12-25 11:43:38 -06:00
Gregory Nutt
f539d331c5 TMS570: A few more GIO definitions 2015-12-25 11:30:08 -06:00
Gregory Nutt
0a936e7fa7 TMS570: More GIO definitions 2015-12-25 11:28:01 -06:00
Gregory Nutt
2563663a45 TMS570: Add GIO header file 2015-12-25 10:39:04 -06:00
Gregory Nutt
be99e773cf TMS570: Return serial status when a byte is read 2015-12-25 08:47:12 -06:00
Gregory Nutt
6b1f3da01a TMS570: Don't try building arm_fpuconfig.S for a Cortex-R4 2015-12-24 13:46:49 -06:00
Gregory Nutt
ea1fa2e938 TMS570: SCI serial driver is now included in the build and compiles without error 2015-12-24 13:37:42 -06:00
Gregory Nutt
90cfe8e23b TMS570: Initalize SCI interrupt handling logic 2015-12-24 12:35:22 -06:00
Gregory Nutt
af1504ec4a TMS570: Flesh out low-level serial console logic 2015-12-24 11:07:03 -06:00
Gregory Nutt
ba0f5467d0 A few more cosmetic changes 2015-12-24 07:38:17 -06:00
Gregory Nutt
376b35be39 Mostly cosmetic changes from review for conformance to coding standard 2015-12-24 07:35:19 -06:00
pnb
400d06e9ec fix capture bug 2015-12-24 12:26:39 +01:00
pnb
709c257a43 cosmetic 2015-12-24 09:45:02 +01:00
pnb
097b5820a1 Merge branch 'master' of bitbucket.org:pnb990/nuttx-kernel-arch 2015-12-24 09:42:48 +01:00
pnb
e22d8aea5d add oter timer 2015-12-24 09:42:33 +01:00
pnb
5f9d23290a Merge remote-tracking branch 'upstream/master' 2015-12-24 09:21:40 +01:00
Gregory Nutt
7c72f32bbc TMS570: Add TMS570 SCI driver(s). Initial commits are just SAMV7 drivers with name changes. A lot more needs to be done 2015-12-23 17:48:33 -06:00
Gregory Nutt
1ab3e02ac8 TMS570: Fix a few naming issues leftover from leverage 2015-12-23 16:08:29 -06:00
Gregory Nutt
a76f2b853a TMS570: Add system timer logic 2015-12-23 13:41:36 -06:00
pnb
cfe9555e24 capture start to works need test it more 2015-12-23 19:07:45 +01:00
Gregory Nutt
fa36531fee TMS570: Add default VIM channel assignments 2015-12-23 09:45:32 -06:00
Gregory Nutt
6db67471cb TMS570: Add an RTI header file. Still incomplete on initial commit 2015-12-23 08:18:18 -06:00
Gregory Nutt
663d2b0127 Eliminate a warning due to a range check on an undefined pre-processar variable 2015-12-22 13:20:20 -06:00
pnb
54b275ec09 Merge branch 'master' of bitbucket.org:pnb990/nuttx-kernel-arch 2015-12-22 16:32:19 +01:00
pnb
9cc2119c4e capture compile 2015-12-22 16:28:19 +01:00
pnb
badc0c2215 Merge remote-tracking branch 'upstream/master' 2015-12-22 13:29:31 +01:00
pnb
0ef3dc81aa Merge branch 'master' of bitbucket.org:pnb990/nuttx-kernel-arch 2015-12-22 13:28:39 +01:00
pnb
7d244d4d04 Revert "add timer capture STM32"
This reverts commit 7a484f4d7665c533998d6893c21b69340038b5fc.
2015-12-22 13:27:42 +01:00
pnb
764c9ea887 Revert "used DEFINE instead of setcapturecfg function to set filter and prescaler of input capture"
This reverts commit 08600d05eb12cb4f62280766b7f780e8eaa2284b.
2015-12-22 13:27:35 +01:00
pnb
573462e355 Revert "continue capture integration"
This reverts commit c0b6ba73d59dc973d6984bce12ff4a20d870de2a.
2015-12-22 13:27:00 +01:00
pnb
406bc5e67e continue capture 2015-12-22 13:26:22 +01:00
Gregory Nutt
3e4fb7a60d Merged in paulpatience/nuttx-arch/stm32_adc (pull request #42)
STM32 ADC: Add DMA support for STM32F30xxx
2015-12-22 05:45:10 -06:00
pnb
f88e62c8e9 continue capture 2015-12-22 12:21:03 +01:00
Paul A. Patience
754a4ddb98 STM32 ADC: Add DMA support for STM32F30xxx 2015-12-22 03:42:37 -05:00
Gregory Nutt
d7af5b234c Fix an error in pre-processor condition 2015-12-21 21:36:34 -06:00
Gregory Nutt
860a2fc786 TMS570: Add interrupt decode logic 2015-12-21 12:17:26 -06:00
Gregory Nutt
092c681157 TMS570: Add a little more IRQ/FIQ logic 2015-12-21 10:57:01 -06:00
Lok Tep
74c4f4636a adc initerrupts 2015-12-21 17:23:07 +01:00
Gregory Nutt
caad954b01 TMS570: Add VIM header file 2015-12-21 07:40:27 -06:00
Gregory Nutt
010a73d3b6 TMS570: A little more selftest structure 2015-12-20 17:55:21 -06:00
Gregory Nutt
a2fb50d812 TMS570: Add a framework that will eventually support self-test 2015-12-20 11:51:36 -06:00
Gregory Nutt
2629053bbe TMS570: Add pin multiplexing logic 2015-12-20 10:14:51 -06:00
pnb
510dc7872d Merge remote-tracking branch 'upstream/master' 2015-12-20 13:00:17 +01:00
pnb
2f78c0c1bc continue capture integration 2015-12-20 12:54:21 +01:00
Gregory Nutt
b69c91a8a8 TMS570: Add empty, stub interrupt initialization logic 2015-12-19 19:06:30 -06:00
Gregory Nutt
63d5032d3b TMS4570: Was not building arm_head.S or up_allocateheap.c; ARMv7-R: Fix variious problems not that arm_head.S is being built 2015-12-19 18:56:23 -06:00
Gregory Nutt
4d99e2b0e6 TMS570: Add FLASH wait state configuration 2015-12-19 16:33:39 -06:00
Gregory Nutt
c9c473997c TMS570: Add ECLK setup 2015-12-19 15:56:00 -06:00
Gregory Nutt
d7595446bf TMS570: More clock configuration logic 2015-12-19 13:15:26 -06:00
Gregory Nutt
2bd1be6c96 TMS570: Use values from TI OTP to set LPO trim value 2015-12-19 11:40:38 -06:00
Gregory Nutt
fac00f04d0 TMS570: Add a FLASH controller header file 2015-12-19 09:01:24 -06:00
Gregory Nutt
1ddabf9ff1 TMS570: Add peripheral initialization logic 2015-12-19 08:10:21 -06:00
Gregory Nutt
3a6aa75d15 TMS570: Initial PBIST register definitions 2015-12-18 20:36:06 -06:00
Gregory Nutt
834c2baf40 TMS570: Add SCI header file 2015-12-18 19:52:08 -06:00
Gregory Nutt
727f0f47d6 Merged in paulpatience/nuttx-arch/stm32_pwm (pull request #40)
STM32 PWM: Fix timer type bug
2015-12-18 18:47:41 -06:00
Gregory Nutt
50205b4342 TMS570: Add some basic PLL configuration logic 2015-12-18 18:24:53 -06:00
Gregory Nutt
aa524024d0 Add a few more TMS570 SYS register bit definitions 2015-12-18 11:15:16 -06:00
Gregory Nutt
0403132800 TMS570: Add selftest configuration option; Add a few more SYS register definitions 2015-12-18 09:09:58 -06:00
Gregory Nutt
d4b7bf59d0 TMS570: More start-up logic 2015-12-18 08:57:29 -06:00
Gregory Nutt
f55ff3a3c5 TMS570: Add PBIST header file 2015-12-18 06:55:43 -06:00
Gregory Nutt
e7b48d264b TMS570: Separate SYS register definitions into SYS, STS2, and PCR 2015-12-18 06:39:19 -06:00
Gregory Nutt
1ff36b19e8 TMS570: Misc, minor updates 2015-12-17 15:31:58 -06:00
Gregory Nutt
0405ac92a2 TMS570: Add SYS register definitions (incomplete) 2015-12-17 15:30:54 -06:00
Gregory Nutt
4bdc22d7e2 TMS570: Eliminate some warnings 2015-12-17 12:57:48 -06:00
Gregory Nutt
0f7f364865 TMS570: Correct a few problems introduced in previous commits 2015-12-17 12:52:15 -06:00
Gregory Nutt
6baccab3ae Need to select MEMINIT if TMS570 selected 2015-12-17 12:40:24 -06:00
Gregory Nutt
3f964ab20c SR4 is the same as SR1-3 2015-12-17 12:28:45 -06:00
Gregory Nutt
add1754dcc TMS570: Add ESM header file 2015-12-17 12:17:48 -06:00
Gregory Nutt
cd0baf490f Fix Kconfig: BOOT_SDRAM_DATA, not CONFIG_BOOT_SDRAM_DATA 2015-12-17 10:50:53 -06:00
Gregory Nutt
c251fd7756 ARMv7-R: Add a configuration to support delayed memory initialization. This logic was already in place for SDRAM but is also required for some ECC memories as well. 2015-12-17 10:49:56 -06:00
Gregory Nutt
9364824a53 ARMv7-R: Add logic to work-around errata, remove logic to access VBAR since this is no VBAR and add logic to access PMCR. TMS570: Add logic to set debug bits in PMCR 2015-12-17 09:34:38 -06:00
pnb
e25bc48d01 used DEFINE instead of setcapturecfg function to set filter and prescaler of input capture 2015-12-16 23:42:43 +01:00
pnb
701c386299 add timer capture STM32 2015-12-16 21:39:51 +01:00
Gregory Nutt
5794675247 TMS570: Memory map applies only to LS04x and LS03x. Peripheral numbering seems to start with 1, not 0 2015-12-16 14:10:45 -06:00
Gregory Nutt
9f9cb00104 TMS570: Remove some garbage left in Kconfig file 2015-12-16 12:46:42 -06:00
Gregory Nutt
f310887bb9 TMS570: Add memory map and peripheral selection logic 2015-12-16 11:06:14 -06:00
Gregory Nutt
521ae00387 Merge remote-tracking branch 'origin/master' into armv7r 2015-12-16 09:03:55 -06:00
Gregory Nutt
bacf7cf07e ARMv7-R: fix some issues to get a clean compilation; TMS570: Add enough logic to support a minimum build. Not much there on the initial commit 2015-12-16 09:03:14 -06:00
Gregory Nutt
aa1e67ffe7 Merge remote-tracking branch 'origin/master' into armv7r 2015-12-15 17:16:02 -06:00
Gregory Nutt
8cabb844ab TMS570: Hook into build/configuration system 2015-12-15 17:15:37 -06:00
Gregory Nutt
1cd73ec861 Merged in paulpatience/nuttx-arch/stm32_qencoder (pull request #41)
STM32 QEncoder: Add support for STM32F30xxx
2015-12-15 14:13:44 -06:00
Gregory Nutt
a6e035baeb TMS570: Add arch/arm/include/tms570 header files 2015-12-15 13:41:12 -06:00
Paul A. Patience
377d29f1a1 STM32 QEncoder: Add support for STM32F30xxx 2015-12-15 12:13:37 -05:00
Gregory Nutt
26883fc7b9 Merged in paulpatience/nuttx-arch/stm32_tim (pull request #39)
STM32 TIM: Remove some warnings, fix timer resolution bug and cosmetic changes
2015-12-14 16:59:51 -06:00
Gregory Nutt
8fb76cf970 TMS570: Add a place holder for the TMS570. Not much there yet 2015-12-14 16:38:05 -06:00
Paul A. Patience
b7e8e1fb99 STM32 TIM: Remove some warnings, fix timer resolution bug and cosmetic changes 2015-12-14 17:24:11 -05:00