Commit Graph

2526 Commits

Author SHA1 Message Date
Gregory Nutt
2225940155 SMP: Add per-CPU initialization logic 2016-03-13 07:16:56 -06:00
Gregory Nutt
79c1fa5bd7 SMP: Simplified SMP interfaces 2016-03-12 15:29:33 -06:00
Gregory Nutt
24468128de TLS: Simplify 2016-03-11 07:17:32 -06:00
Gregory Nutt
934069e422 TLS: Add logic to get/set arbitrary TLS values 2016-03-10 19:31:22 -06:00
Gregory Nutt
d69dc04d96 TLS: Fix an error in a macro 2016-03-10 18:10:44 -06:00
Gregory Nutt
30b6ee96c9 Add basic definitions for TLS support 2016-03-10 11:56:33 -06:00
Gregory Nutt
6a056479d2 Add a some missing FAR in shared header files 2016-03-09 18:12:41 -06:00
Gregory Nutt
c7e7bda830 MTD struct mtd_geometry_s: Increase the size of blocksize again. Yes, there are devices with block size greater than 64KB. 2016-03-09 07:42:34 -06:00
Stefan Kolb
fde277a388 Missing parentheses in MSEC2TICK macro can lead to incorrect conversions 2016-03-09 07:24:16 -06:00
Gregory Nutt
9b5e88af71 Update some comments 2016-03-06 13:50:26 -06:00
Gregory Nutt
5d63cd85c7 sched/semaphore: Add an internal interface to reset a semaphore count. 2016-03-05 07:33:24 -06:00
Gregory Nutt
300edb9b0f Update ChangeLog 2016-02-27 10:37:42 -06:00
Gregory Nutt
3c5cd96646 Remove definitions for unsupported protocol families and address families 2016-02-27 07:59:26 -06:00
Gregory Nutt
fdddebbffd net/: Finish IEEE802154->6LOWPAN renaming; remove PF_IEEE804154; Move 6LoWPAN menu to inside Internet Protocol Menu 2016-02-27 07:26:20 -06:00
Sebastien Lorquet
dc7adfa817 drivers/wireless/ieee802154/Kconfig
drivers/wireless/ieee802154/Make.defs
    Changes to the build infrastructure to include the mrf24j40 driver

include/nuttx/spi/spi.h
    Define a IEEE SPI device

include/nuttx/wireless/ieee802154/ieee802154_radio.h
    This file defines the API of a IEEE 802.15.4 radio device, to be used by the future common MAC 802.15.4 layer

drivers/wireless/ieee802154/mrf24j40.c
drivers/wireless/ieee802154/mrf24j40.h
    The main MRF24J40 IEEE 802.15.4 radio driver

include/nuttx/wireless/ieee802154/mrf24j40.h
    This file allows instanciation of the MRF24j40 driver from board configurations
2016-02-26 18:39:27 -06:00
Gregory Nutt
d84fa1689a Add include/nuttx/wireless/ieee802154 directory (with dummy header file) 2016-02-26 17:32:37 -06:00
Gregory Nutt
cfe018e991 Rename CONFIG_WIRELESS to CONFIG_DRIVERS_WIRELESS 2016-02-26 16:50:26 -06:00
Gregory Nutt
309beae2cd Move drivers/ieee802154 to drivers/wireless/ieee802154; rename include/nuttx/net ieee802154 to 6lowpan.h 2016-02-26 15:03:16 -06:00
Gregory Nutt
2f28ca86c2 Clean up some naming; rename net/ieee802154 to net/6lowpan 2016-02-26 10:08:36 -06:00
Gregory Nutt
9ff645a298 drivers/ieee802154: Add a skeleton IEEE802154 driver 2016-02-25 15:11:30 -06:00
Gregory Nutt
e4e6181098 net/: IEEE 802.15-4 basic build build structure. 2016-02-25 10:43:51 -06:00
Gregory Nutt
1ed1765e1a sys/socket.h: Add IEEE802.15-4 protocol family 2016-02-25 08:19:10 -06:00
Alan Carvalho de Assis
ea15ead6cc RGB LED driver 2016-02-22 08:43:32 -06:00
Gregory Nutt
143d287f11 Fix some missing header file inclusions and a misplaced semi-colon from recent commits 2016-02-21 11:27:55 -06:00
Gregory Nutt
f3356fee5b SMP: Add macros to CPU set manipulation to sched.h 2016-02-20 18:45:07 -06:00
Gregory Nutt
0eadf1dcad Costmetic change + update submodules 2016-02-20 14:57:05 -06:00
Gregory Nutt
5a590e99b9 Add SYSCALLS for pthread_setaffinity() and pthread_getaffinity() 2016-02-19 18:13:06 -06:00
Gregory Nutt
a633353ec3 Add a CPU affinity set to the TCB if SMP is enable and use this CPU set as a mask for determining which CPUs the thread may run on. Add an affinity field to the attrributes to permit controlling which CPUs a pthread may run on. Implements pthread_att_setaffinity_np() and pthread_attr_getaffinity_np(). 2016-02-19 17:33:35 -06:00
Gregory Nutt
2075eb7932 Fix a typo introduced in the last commit and a file that was missed in the last commit 2016-02-19 16:03:01 -06:00
Gregory Nutt
72d3920295 Rename cpuset_t to cpu_set_t which is the type used in some non-standard Linux/GNU interfaces. Move definitions of cpu_set_t to include/sys/types.h. Add prototypes for sched_setaffinity(), sched_getaffinity(), pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np(), pthread_setaffinity_np(), and pthread_getaffinity_np(). No implementation is yet in place. 2016-02-19 15:57:07 -06:00
Gregory Nutt
050b3ee06a profcs task status will now show CPU is SMP is enabled 2016-02-19 15:34:36 -06:00
Gregory Nutt
1780000777 SMP: Setting bit for wrong CPU. Assertion has cause false alarm crashes.. 2016-02-18 12:31:21 -06:00
Gregory Nutt
52fbbaf778 1. SMP: Fix an assertion. SMP-specific change accidentally made in non-SMP code
2. Move list of signal actions from the task TCB to the task group.  Signal handlers are a property of the entire task group and not of individual threads in the group.  I know, I preferred it the other way too but this is more compliant with POSIX.
2016-02-18 08:34:54 -06:00
Gregory Nutt
95735519dd SMP: Cosmetic renaming to clarify functionality of SMP interfaces. Update comments. 2016-02-17 13:36:25 -06:00
Gregory Nutt
b50325bb38 SMP: Add funtions to perform atomic bit set/clear operations; fix two errors in SMP macros 2016-02-17 13:20:01 -06:00
Gregory Nutt
6aeb4a52e8 Performance improvement: Idle loop should not take MM semaphore if there is not garbage to be collected. This can cause loss of performance and thrashing in tasking 2016-02-16 19:33:22 -06:00
Gregory Nutt
384e51cb05 Add some additional schedule instrumentation 2016-02-16 15:21:45 -06:00
Gregory Nutt
55d33fd912 Update some comments 2016-02-16 07:50:18 -06:00
Gregory Nutt
8ea1bc3188 SMP: Fix backward spinlock test 2016-02-15 11:06:54 -06:00
Gregory Nutt
9cb2a6b1f9 Rename irqsave() and irqrestore() to up_irq_save() and up_irq_restore() 2016-02-14 16:19:15 -06:00
Gregory Nutt
88c17bb4f2 nuttx/graphics and include: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section() 2016-02-14 15:09:28 -06:00
Gregory Nutt
97cbd7112f SMP: Implement enter/leave_critical_section 2016-02-13 10:23:16 -06:00
Gregory Nutt
8ac699b63d SMP: Need to perform all IDLE task memory allocations on initializatin thread prior to starting the other CPUs 2016-02-13 09:04:54 -06:00
Gregory Nutt
64b3ce8775 SMP: Add up_cpustart and up_cpurestart protoypes; fix some problems in sched_addreadytorun; first cut at SMP version of up_mergepending. 2016-02-12 16:13:14 -06:00
Gregory Nutt
85f663a8ee SMP: Add non-reentrant spinlocks, fix pre-emption controls with SMP, and most of the basic scheduler support for SMP (still missing a few things) 2016-02-12 14:55:31 -06:00
Gregory Nutt
c315479a04 SMP: Move IDLE thread init logic from sim to OS; need to assign unique IDs to each IDLE task 2016-02-11 14:11:26 -06:00
Gregory Nutt
49227fa554 Scheduler: Replace the boolean 'prioritized' with a uint8_t bit set so that additional attributes of a list can be specified without adding more boolean values. 2016-02-11 08:06:33 -06:00
Gregory Nutt
baac92cda2 Correct some columnar alignment 2016-02-10 16:55:37 -06:00
Gregory Nutt
292d2fe648 Correct naming of a TCB flag; update some comments 2016-02-10 16:53:34 -06:00
Gregory Nutt
96223cedf1 SMP: A little more 2016-02-10 15:43:05 -06:00
Gregory Nutt
8a1789ba11 Update ChangeLog 2016-02-10 14:58:55 -06:00
Gregory Nutt
3147dfc7d5 SMP: Add some tentative initialization logic 2016-02-10 13:49:27 -06:00
Gregory Nutt
47a5663f8c SMP: A few preliminary data structure definitions 2016-02-10 11:45:26 -06:00
Gregory Nutt
f5a3b1e89d Add EXPERIMENTAL configuration option to investigate some SMP issues 2016-02-10 10:27:48 -06:00
Gregory Nutt
2c0ad2564f Add CONFIG_SPINLOCK. Also need spinunlock() and spinlock_initialize() 2016-02-09 15:31:14 -06:00
Gregory Nutt
b022f1e9d8 Add basic support for spinlocks (not currently used by anything) 2016-02-09 13:48:59 -06:00
Gregory Nutt
0af9a197ac ARP: Add IOCTL commands to manage the ARP table 2016-02-08 11:17:22 -06:00
Gregory Nutt
12f95c6f6b Add procfs/kmm to show the state of the kernel heap 2016-02-06 11:35:30 -06:00
Gregory Nutt
50cf53914c Update submodule; Improve some comments 2016-02-05 10:23:39 -06:00
Gregory Nutt
0984104a9a init.h: Trivial clean-up 2016-02-05 09:25:12 -06:00
Gregory Nutt
2dc258986d Add a state variable that provides the current level of OS initialization. This is needed by some logic that may attempt to run early in the start-up sequence, but cannot run if a sufficient level of initializaitn has not not yet occurred 2016-02-05 08:34:03 -06:00
Gregory Nutt
dea24c503a Networking: Remove the HSEC argument from devif_timer. 2016-02-03 12:12:41 -06:00
Gregory Nutt
8fa9b99e7c I2C driver should support the RESET method as well 2016-02-03 07:32:25 -06:00
Gregory Nutt
03d868be3c I2C: Fix a naming error 2016-02-02 14:23:33 -06:00
Gregory Nutt
9ce58ad5b7 I2C: up_i2creset should not be a global function; Now it is an I2C interface method 2016-02-02 11:21:48 -06:00
Gregory Nutt
4a34a199dd I2C: Add an I2C character driver 2016-02-02 08:30:54 -06:00
Gregory Nutt
4304405bba I2C Slave: I don't think that the setfrequency method makes sense in a slave interface. 2016-02-02 06:07:51 -06:00
Gregory Nutt
456b5f06dc Clean up some comments 2016-02-01 19:52:16 -06:00
Gregory Nutt
69ce24c70c I2C: Remove the setfrequency method from the interface 2016-02-01 16:31:13 -06:00
Gregory Nutt
6ad641888b Add I2C frequency to the i2c_msg_s structure 2016-02-01 14:17:20 -06:00
Gregory Nutt
f9053182d3 I2C: Remove setaddress method 2016-02-01 12:14:31 -06:00
Gregory Nutt
ecdc428086 Remove the read and write methods from the I2C interface 2016-02-01 09:22:22 -06:00
Gregory Nutt
8c9bddf998 I2C: Eliminate the I2C_WRITE and I2C_READ macros 2016-02-01 08:57:22 -06:00
Gregory Nutt
10000841a8 The I2C_TRANSFER method is no longer optional 2016-01-31 14:16:05 -06:00
Gregory Nutt
9370b94241 compiler.h: Missing IOBJ/IPTR definitions for the ZDS-II toolchain 2016-01-31 12:44:44 -06:00
Gregory Nutt
af335827d0 Update ChangeLog 2016-01-30 11:27:49 -06:00
Gregory Nutt
cccfb11e38 Forgot to add a file in the last commit 2016-01-30 08:49:20 -06:00
Gregory Nutt
3a781a2d3f Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s. 2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h 2016-01-30 08:00:16 -06:00
Vladimir Komendantskiy
19feab1bd6 drivers/modem/u-blox.c and include/nuttx/drivers/u-blox.h: Add an upper half driver for the U-Blox Modem. From Vladimir Komendantskiy 2016-01-30 07:37:43 -06:00
Entinger Alexander
dc8c14aa53 Driver for the 24-Bit Differential Input ADC ADS1242 that communicates via SPI with a MCU. Reading the ADC conversion result as well as configuring the ADC, setting the input channel, etc. is implemented via ioctl calls. However, it does not yet implement the standard ADC interface. 2016-01-29 07:41:23 -06:00
Gregory Nutt
fd896330d8 Remove the final vestiges of up_spiinitialize() 2016-01-27 09:27:56 -06:00
Gregory Nutt
11dab241de SPI slave: Prototype for MCU-specific slave initialization function removed from spi_slave.h 2016-01-26 13:04:12 -06:00
Gregory Nutt
b6b3c2be3e Add I2C_TRANSFER based wrappers for I2C_TRANSFER as well 2016-01-26 10:57:51 -06:00
Gregory Nutt
d4a53ee131 I2C: Eliminate the I2C_WRITEREAD method 2016-01-26 10:26:16 -06:00
Gregory Nutt
67f38169b2 drivers/i2c: Move wrapper that implements I2C_WRITEREAD using I2C_transfer from pc9555.c to a new, comon i2c directory 2016-01-26 09:58:18 -06:00
Gregory Nutt
eac271413f Add more 32-bit math operations; Update ChangeLog 2016-01-25 11:19:25 -06:00
Gregory Nutt
047ed9e543 Add some utilities to support 64-bit math operations on platforms that do not support long long types. Not yet used anywhere 2016-01-25 09:56:00 -06:00
Gregory Nutt
564a1ce606 Cosmetic clean-up of comments 2016-01-24 08:21:55 -06:00
Gregory Nutt
a4a496ad6f spi.h needs to include errno.h now 2016-01-23 19:13:31 -06:00
Gregory Nutt
7edf921c5e Remove CONFIG_SPI_OWNBUS: Now it is not just a good idea, it is the law 2016-01-23 18:54:36 -06:00
Gregory Nutt
accd99db25 Add an optional hwfeatures method to the SPI interface 2016-01-23 15:12:45 -06:00
Gregory Nutt
84d4cb007b clock_systimer: 64-bit timer accesses are not atomic. Noted by Freddie Chopin. 2016-01-22 12:24:36 -06:00
Gregory Nutt
2dcebe1e3d Purely cosmetic changes from review of last commit 2016-01-22 07:11:29 -06:00
Stefan Kolb
2b05f3e830 I/O Expander: Fix some bad macros, make naming consisted 2016-01-22 07:08:59 -06:00
Gregory Nutt
032ad1b70b Remove clock_systimer32 and clock_systimer64. There is now only clock_systimer 2016-01-21 16:49:24 -06:00
Gregory Nutt
7db9a952bc Fix an error in conditional compilation introduced in the last set of changes 2016-01-21 13:42:34 -06:00
Gregory Nutt
f348e68069 Update to use 64-bit timer when available 2016-01-21 11:54:26 -06:00
Gregory Nutt
3a59eb4340 Fix romdisk_register prototype. Most ROMFS images actually lie in RAM. If moved to FLASH with const storage class, then changes are required to avoid warnings 2016-01-20 13:04:07 -06:00
Gregory Nutt
f849116a0b Add implementatino of Tiny Encryption Algorithm 2016-01-19 16:37:45 -06:00