Commit Graph

91 Commits

Author SHA1 Message Date
Jussi Kivilinna
dffb8a67e3 Add entropy pool and strong random number generator
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output.

Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
2017-03-30 07:38:37 -06:00
ahb
164546a65c increase number of supported PWM channels from 4 to 6 2017-03-09 11:54:37 +01:00
Maciej Wójcik
29b4b00068 drivers/spi/Kconfig: There is too much SPI in the configuration menu; SPI Driver Support menu is empty 2017-02-23 14:39:13 -06:00
Gregory Nutt
f063e4c5ac Remove Calypso architecture support and support for Calypso SERCOMM driver. 2016-12-13 18:35:52 -06:00
Paul A. Patience
d89765e1d0 spi: Fix Kconfig warning
This commit moves the ARCH_HAVE_SPI options outside the check
for SPI. Those options don't depend on SPI, and Kconfig files
in arch/ enable them even if SPI isn't enabled.

Sourcing the driver's Kconfig in drivers/Kconfig only if
support for the driver is enabled prevents us from defining
these ARCH_HAVE options in the driver's Kconfig. We should
probably remove the other checks in drivers/Kconfig and check
if the drivers are enabled only in their Kconfig.
2016-11-02 13:16:12 -04:00
Sebastien Lorquet
3654b841bc Move contactless drivers to their own directory 2016-08-31 13:08:58 +02:00
Gregory Nutt
ee9c66186c ramdisk.h moved from include/fs/nuttx/ to include/nuttx/drivers. 2016-07-20 14:02:18 -06:00
Gregory Nutt
1b9b3a7b47 pwm.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:48:24 -06:00
Gregory Nutt
ddcaa3d425 can.h moved from include/nuttx/ to include/nuttx/drivers. 2016-07-20 13:38:36 -06:00
Gregory Nutt
4b4dbc79a2 Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h 2016-07-20 13:15:37 -06:00
Gregory Nutt
d6bf67f9ff Alloc different sizes for pipe and fifo buffers 2016-07-19 13:34:18 -06:00
Gregory Nutt
a4458c5016 PTY: Fix a race condition in test-fifo-empty-before-read logic 2016-07-19 06:45:02 -06:00
Gregory Nutt
e0aaa168aa /dev/urandom: Add option to replace software PRNG with hardware TRNG. 2016-07-18 07:03:47 -06:00
Gregory Nutt
bf25eef79f Update comments in Kconfig 2016-07-18 06:43:08 -06:00
Gregory Nutt
1b7455c171 Update comments in a Kconfig 2016-07-17 11:09:01 -06:00
Gregory Nutt
07e20479ad /dev/random: Add configuration option to use the congruential PRNG. 2016-07-17 07:56:25 -06:00
David Alessio
6cefbc0c3f This change provides an option to add /dev/urandom to all architectures. The pseudo-random algorithm I choose strikes an arguably-good balance between being "random" and small/fast enough for 8/16 bit MCUs. It’s the well-documented xorshift128 algorithm. It has an internal state of 128 bits that can be [re-]seeded with a write. 2016-07-17 06:42:26 -06:00
Gregory Nutt
a897fd4ccf Eliminate use of apps/system/usbmonitor. Use drivers/usbmonitor instead. 2016-06-30 13:09:22 -06:00
Gregory Nutt
7c34a77b54 Move apps/system/usbmonitor to nuttx/drivers/usbmonitor 2016-06-30 12:24:33 -06:00
Gregory Nutt
ae19ca45e0 drivrs/ioexpander: Add support for a very simple GPIO drivers. It supports only pre-conrigured input and output pins and only basic input and output operations. 2016-06-24 09:43:49 -06:00
Paul A. Patience
2f76f6e848 can: Add support for poll 2016-06-21 13:02:46 -04:00
Gregory Nutt
de58cb6027 Some higher level SYSLOG features are disabled if the architecture-specific logic provides its own SYSLOG functionality 2016-06-19 09:21:52 -06:00
Gregory Nutt
e57a6d14c3 lcd/Kconfig, Make.defs: Remove dependency of CONFIG_LCD_NXDRIVER for building non-graphic, SLCD drivers. 2016-05-26 07:21:14 -06:00
Gregory Nutt
55faa87188 Should fix a warning about unmet dependencies in 'make menuconfig' 2016-05-25 10:17:42 -06:00
Gregory Nutt
35ab1697cd CONFIG_DEV_RANDOM depends on CONFIG_ARCH_HAVE_RNG which is selected with MCU-specific RNG H/W is enabled. So correct default is y; you almost certainly want /dev/random as well. 2016-03-30 07:58:09 -06:00
Gregory Nutt
970822b351 Add missing PM configuratin options to Kconfig file 2016-03-27 10:18: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
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
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
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
Frank Benkert
da33ec6b2e CAN: Add more extensive error reporting information 2016-01-18 12:22:27 -06:00
Gregory Nutt
b1a0171d0f Fix a missed name change in a Kconfig file 2015-12-15 08:43:18 -06:00
Gregory Nutt
8ab93fdf98 Change name of drivers/discrete back to drivers/ioexpander 2015-12-15 08:40:34 -06:00
Gregory Nutt
d62a626703 Adds a driver for the PCA9635PW I2C LED driver IC which can be used to control the intensity of up to 16 LEDs. From Alexander Entinger 2015-12-15 08:05:10 -06:00
Gregory Nutt
08213f830d poll() and select() should not be built if poll() is disabled 2015-12-02 05:30:52 -06:00
Gregory Nutt
b84da6e696 drivers/loop: Move drivers/loop.c to drivers/loop/losetup.c 2015-11-25 16:23:19 -06:00
Gregory Nutt
5e241cd157 CAN Kconfig: Resolve a circular dependency. I am not sure if the correct version foolproof, however 2015-11-14 13:36:48 -06:00
Gregory Nutt
81ab270a96 CAN driver: Removing call to can_xmit() from can_txready() in a previous commit was a mistake. This commit restores the call to can_xmit(), but does the call in a safer environment on the work thread. 2015-11-14 10:33:02 -06:00
Gregory Nutt
c6fc285277 CAN: Add a new CAN upper-half interface, can_txready(), that can be used to break deadlock conditions in certain CAN hardware that supports queuing of TX messages 2015-11-03 10:52:58 -06:00
Gregory Nutt
51d29d3c97 Merged in paulpatience/nuttx/pwm (pull request #29)
PWM: Add support for multiple output channels per timer
2015-11-01 16:40:06 -06:00
Paul A. Patience
e8c2466c1c PWM: Add support for multiple output channels per timer 2015-11-01 17:15:12 -05:00
Gregory Nutt
cbb78071b3 Rename ioexpander/ directories to discrete/ 2015-11-01 13:14:48 -06:00
Gregory Nutt
4b58990362 CAN: Add CAN FD mode as a configuration option 2015-08-05 13:56:48 -06:00
Sebastien Lorquet
b947002d6a This commit adds:
-headers in nuttx/ioexpander to define the "generic" ioexpander framework
-files in drivers/ioexpander for the implementation of the NXP PCA9555 framework
-bindings in drivers/Kconfig and drivers/Makefile

From Sebastien Lorquet
2015-07-09 08:27:07 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
c463f9fad6 Move timer-related drivers from drivers/ to drivers/timers. 2015-02-13 10:30:06 -06:00