Commit Graph

6784 Commits

Author SHA1 Message Date
Bogdan Davidoaia a2605e50d7 sensor: add driver for LIS3MDL magnetometer
Add driver for the LIS3MDL ultra-low-power high-performance three-axis
magnetic sensor.

Datasheet:
	http://www.st.com/resource/en/datasheet/lis3mdl.pdf

Application note:
	http://www.st.com/resource/en/application_note/dm00136626.pdf

Change-Id: Id2d65e7525bef6c4fe50f86169a80f84197f8983
Origin: Original
Signed-off-by: Bogdan Davidoaia <bogdan.m.davidoaia@intel.com>
2016-05-29 22:25:03 +00:00
Flavio Santes f194272c41 samples/net/mqtt: MQTT publisher and subscriber
This sample shows how to integrate Paho's MQTT Packet Library to create
a MQTT publisher and subscriber application with Zephyr.

Change-Id: I1cb4124386752eef6187a56ccc9f6fd7fe7175a3
Signed-off-by: Flavio Santes <flavio.santes@intel.com>
2016-05-29 22:24:26 +00:00
Chuck Jordan 5f14d8fb01 arc: improved saving of lp_<count,start,end> using GPRs
Since firq utilizes a 2nd register bank, and since all of those
many GPRs can be used, the strategy here is to save extra registers,
such as lp_count, lp_start, lp_end into callee saved registers.
These registers are safe to use because the C-ABI followed by the
compiler will cause these to be spilled to the stack if a C function
wants to use them. By selecting upper GPRs, r23-r25, it is very unlikely
the compiler will spill them. This improvement, therefore, can avoid a
d-cache miss since we are avoding memory altogether when saving these.
The struct firq_regs is no longer needed.

Change-Id: I7c0d061908a90376da7a0101b62e804647a20443
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
2016-05-29 22:23:13 +00:00
Anas Nashif 4262850059 doc: arduino_due: fixed alignment of code sections
Change-Id: Ia7eec225f00ecbcde3c77509d90bba06865b7720
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-29 22:20:59 +00:00
Carles Cufi ddcc350a8b nrf52: Auto generate Intel Hex kernel image
Generate kernel image in Intel Hex format when building for the nRF52.
Remove the additional step from the board doc file.

Change-Id: I619496f64037c2a0ac459ae05e549e01458e0f71
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-29 03:27:27 -07:00
Anas Nashif d8933d6c0a arduino due: move pinmux code to board definition
Change-Id: Id52ce660c059ebf47b2f989014faba715ed93c32
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-28 10:45:43 -04:00
Anas Nashif ffdd2e64dc pinmux: fix naming inconsistency
Jira: ZEP-288
Change-Id: Ie9bfd3ac95305a35c96453448d13d6b4cd6c0f0b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-28 10:45:43 -04:00
Anas Nashif babe25e8fc galileo: merge pinmux code into one file
Change-Id: I8f2931f7e6a58813ec5784c6015baa51ed0c6cc8
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-28 10:45:39 -04:00
Anas Nashif de4aa2af13 galileo: Remove pinmux kconfigs for the board and reuse existing
Do not redefine the the pinmux configuration for the board, just use
the data directly. No other board will be using those, just the galileo.

Change-Id: If774bc5c4335021ae58a682224f092db23bc9f1b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-28 10:40:51 -04:00
Anas Nashif 14e0aa396f pinmux: move galileo pinmuxing to board/galileo
Change-Id: I46da8ee9d9ec807c5a797ae3311519353d54e6c6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-28 10:40:48 -04:00
Anas Nashif 0ae2e895d2 remove custom pinmux for quark and use qmsi
Change-Id: I60757c1299df08bd9307d1602204eadce8121d60
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-28 10:22:31 -04:00
Anas Nashif 2055b06e4e quark: move pinmux files to board/
Move pinmux defintions under board/<board> and have all board
configuration in one single place.

Change-Id: I055b024384fae2938881b1c57d8ce7426e732e92
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-28 10:22:31 -04:00
Carles Cufi 7101782900 doc: Add documentation for the nRF52 DK board (PCA10040)
Add documentation for the Nordic Semiconductor nRF52 DK board.

JIRA: ZEP-377
Change-Id: I5ade880c4230dd7956792a0eeb429aa00df325cb
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-28 12:18:36 +00:00
Anas Nashif 329a24f705 doc: add EM starter kit to list of supported boards
Change-Id: Iac02ee7650e86a9d23ca82acbeef8c179e150c83
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-27 22:37:20 +00:00
Anas Nashif 5d7bbdab4b doc: arduino_101: remove line about jtag when using dfu-util
Change-Id: I68dd0e53de1d2c9fa5b46ee8e3e0690a83208948
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-27 21:33:52 +00:00
Chuck Jordan bc5cc98966 test: timestamp_serialize() empty macro for ARCv2
If the CPU is ARC, define timestamp_serialize() to be an
empty macro so that this test builds properly.

Change-Id: I36f00dd429972b610c327cbe59bedb24b33553ed
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
2016-05-27 21:11:27 +00:00
Chuck Jordan 472817285e test: fix wording here to "measure time from ISR back to interrupted task"
Used to say "ISR to back to". Now says "ISR back to".

Change-Id: I568306f6653096799ec22ea21cdb9ebee42ac359
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
2016-05-27 21:11:25 +00:00
Chuck Jordan 0ca24cedda arc: trap handler, used by irq_offload, now handles thread switch
It was found that the test latency_measure, when compiled
for microkernel, would fail on the ARC. This because the
trap handler, used by irq_offload, wasn't supporting thread switching.
This submission adds the code to do that, and the code size is
bigger only when CONFIG_MICROKERNEL is defined.

To keep code a bit smaller, there is a trick exploited here where
the AE bit is cleared in the STATUS32 register and in AUX_IRQ_ACT,
bit 1 is set, to make it appear as if the machine has interrupted
at priority 1 level. It then can jump into some common interrupt
exit code for regular interrupts and perform an RTIE instruction
to switch into the new thread.

test/latency_measure/microkernel now passes.

Change-Id: I1872a80bb09a259814540567f51721203201679a
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
2016-05-27 21:11:24 +00:00
Anas Nashif 4c7a5667f6 frdm_k64f: add flash target using openocd
This requires openocd > 0.9.0.

Change-Id: I6e0007abd3db1fde3cf461d3c1cf5549abc68983
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-27 20:11:02 +00:00
Kumar Gala bbe222cad0 soc: arm: Unify setting of Cortex-M specifc compiler flags
Moved setting of specific Cortex-M compiler flags in each SoC directory
unify setting them in the arch/arm/soc Makefile.

Add flags for Cortex M0, M0+, M1, M3, M4, and M7.  However only
CONFIG_CPU_CORTEX_M3 and CONFIG_CPU_CORTEX_M4 are supported at this time

As part of this change converted Kbuild files for some SoCs into
Makefiles as the Makefiles would be empty otherwise.

Change-Id: Ie4e0178b141ca761ec482a610ae50e94fe58070f
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-05-27 10:45:48 -05:00
Kumar Gala 6102427e5d build: Introduce concept of SoC specific build flags
Introduce a soc-cflags, soc-cxxflags, and soc-aflags as a means for
SoC specific compiler flags to be set without manipulating Kbuild
options directly.

Change-Id: I2c8f5019fb237429e59717ef96bd4251a61dc1a5
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-05-27 10:04:29 -05:00
Johan Hedberg 7753e335f7 Bluetooth: Fix advertising parameters documentation
Change-Id: I67af3d5928ffa76cfe8c8f7a25ad65eb6493821f
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-05-27 14:44:15 +03:00
Johan Hedberg 9beb49f807 doc: Bluetooth: Add cross refrerence to Arduino BLE documentation
Change-Id: I90d25ccec7e9587e9a4ca85ffdd9b1690886109f
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-05-27 14:44:15 +03:00
Johan Hedberg 6c4b7b1250 doc: Add initial documentation for network buffers
Change-Id: I6c533eab555d73ce337681bb34839c706d969613
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-05-27 14:44:15 +03:00
Sergio Rodriguez 3ac7823ba9 benchmark: Changing dummy IRQ due conflict with APIC timer IRQ
The Quark D2000 uses the IRQ 10 for the APIC timer interrupt, this
cause a conflict with the "random" IRQ for the footprint benchmark

Change-Id: Iead18821af307832d54b0c9f3db5e52413ba670b
Signed-off-by: Sergio Rodriguez <sergio.sf.rodriguez@intel.com>
2016-05-27 11:26:17 +00:00
Szymon Janc f23582fe71 tinycrypt: Fix discrepancy of ecc_make_key definition and declaration
ecc_make_key declaration has random size of NUM_ECC_DIGITS * 2 but
definition has (and use) only NUM_ECC_DIGITS.

Change-Id: I18f0d7992b21a2ed7ed99851b1b795cff0a08a10
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-05-27 11:19:00 +00:00
Ravi kumar Veeramally 6a9817a091 net: apps: Add DHCP client sample application
Change-Id: I9c3f317fb13bce56ee93d66d692618145087a6a9
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-05-27 11:09:31 +00:00
Ravi kumar Veeramally 0de956d53f net: dhcp: Add DHCP client support.
DHCP client support provided for IPv4 over ethernet.

Change-Id: Ia89bc4123842cf109813b80a90b70cf50cc52e0a
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-05-27 11:09:30 +00:00
Ravi kumar Veeramally 2c6de48374 net: apps: Provide pcap support for echo apps
Provide pcap support for echo-apps with PCAP=<filename> option.

For pcap support:
make server NET_IFACE=qemu PCAP=sample.pcap.

without pcap support:
make server NET_IFACE=qemu

Change-Id: Iad90064e0c32134f9c2fda7b28e2cbca1e4e931c
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-05-27 13:13:47 +03:00
Johan Hedberg 6714e88788 doc: arduino_101: Add link to BlueZ 5.40
Change-Id: I83e6a51e276cb68bbd02e6e184faf76b596f1449
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-05-27 07:31:44 +00:00
Jukka Rissanen 2dab1d7371 net: apps: Ignore multicast context get fails in echo-server
The echo-server should work just fine even if the multicast
context cannot be get. By default there are only two contexts
so the multicast would fail always anyway and the program
would not run properly.

Change-Id: Ia9737cbda4a933a208aae020f055f0b6062b4f47
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-05-27 06:15:22 +00:00
Jukka Rissanen 655eb4b75e net: ipv6: Allow user to select number of neighbors
Earlier default was 8, new default is 4.

Change-Id: I99c9d2aae465fd0feb968efa7417cd28bafd73b8
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-05-27 06:15:21 +00:00
Jukka Rissanen 798d3511c1 net: ip: Allow user to select number of TCP connections
Earlier default was 10, new default is 2.

Change-Id: I307a4abaad34223254fd32e1fd4357892a04a2d0
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-05-27 06:15:21 +00:00
Jukka Rissanen a2004cc70f net: ip: Allow user to select number of UDP connections
Earlier default was 10, new default is 2.

Change-Id: I938449d840a244a13e9b9b954648577b76db00bc
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-05-27 06:15:21 +00:00
Jukka Rissanen e56f701a04 net: ip: Allow user to select number of network contexts
The network context is similar concept as network socket.
Depending on application use, the number of contexts can be
now tweaked. Default value is now 2, it was 5 earlier. Using
the lower number saves 241 bytes of memory.

Change-Id: I6e2a9f053c8c63163af6d6175783233f67553ae9
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-05-27 06:15:21 +00:00
Jukka Rissanen 81671f793d net: 802.15.4: Removed the TX fiber and its stack
This saves little over 4kb of memory.

Change-Id: I4dc3812b11de2736e2bdc17042e47fcdf5cf5491
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-05-27 06:15:20 +00:00
Jukka Rissanen 026a6d170a net: 802.15.4: Always use nullmac driver
User cannot select CSMA mac driver any more in order to save some
memory.

Change-Id: I7805a1c2028f60bc8a428bd5b8f891d540a14b6d
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-05-27 06:15:20 +00:00
Carles Cufi f81801489a ext: Import Nordic MDK header files
Nordic Semiconductor's Microcontroller Development Kit
provides a set of low-level header files that describe
the different hardware registers and peripherals of
Nordic ICs.

Origin: Nordic MDK 8.5.0
URL: http://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52832
Maintained-by: External

JIRA: ZEP-377
Change-Id: Ia28fbaf7333a84ea7462fb7fd7a5d06661a6fce0
Signed-off-by: Glenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
Signed-off-by: Håkon Alseth <haakon.alseth@nordicsemi.no>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-27 01:38:23 +00:00
Anas Nashif 37b1d1eb55 ext: include headers based on HAL being used
For CMSIS we now have HAS_CMSIS which needs to be added to the
SoC definition.
Instead of changing the main Makefile we now include a sub-Makefile
with all related header and library paths that are hosted in
ext/

Move redifintion of LIB_INCLUDE_DIR later to get variables defined
in Makefile.toolchain.*

Change-Id: I9f90f90247c2a66b4565427b89d4e1d4dd5c9622
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-27 01:38:23 +00:00
Carles Cufi a3a8828af3 scripts: Add the ISA to the path of included libraries
for GCC ARM Embedded

When compiling and linking Zephyr with GCC ARM Embedded,
the path to the libraries to be linked needs to be provided
explicitely for the correct variant to be linked in.

JIRA: ZEP-377
Change-Id: I745aa45c7dde12f1cc5c8ea4380b904e086ed94d
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-27 01:38:22 +00:00
Carles Cufi 44351ef004 boards: Add support for the nRF52 DK board (PCA10040)
Add board support for the Nordic Semiconductor's
nRF52832 (nRF52 series) Development Kit.

JIRA: ZEP-377
Change-Id: I6d8f1f7ec1b8a068193f6ba67c8a1ab9f399f80b
Signed-off-by: Glenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
Signed-off-by: Håkon Alseth <haakon.alseth@nordicsemi.no>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-27 01:38:22 +00:00
Carles Cufi 7923617c8f drivers: Add basic GPIO and UART support for nRF52
Add basic support for the Nordic Semiconductor's
nRF52832 (nRF52 series) GPIO and UART.

JIRA: ZEP-377
Change-Id: Ie3613956bae57829e26cb1cc20d3f740b5371f65
Signed-off-by: Glenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
Signed-off-by: Håkon Alseth <haakon.alseth@nordicsemi.no>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-27 01:38:21 +00:00
Carles Cufi 893fbd5460 arm: Add support for Nordic Semiconductor's nRF52 series of ICs
Add SoC support for the Nordic Semiconductor nRF52 series.

JIRA: ZEP-377
Change-Id: Idb476f43d7ca35f87c73910dd9bd1c50032ccdbe
Signed-off-by: Glenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
Signed-off-by: Håkon Alseth <haakon.alseth@nordicsemi.no>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-27 01:38:20 +00:00
Baohong Liu 0ccc831452 drivers: PWM QMSI dev name fix
Change the dev name from PWM to PWM_0. This will make it
consistent with other drivers and also fix the device binding
failure in the PWM sample app.

Jira: ZEP-395

Change-Id: I90b945a7e57700d384eaa52e5300c881a3251d83
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-05-26 22:35:33 +00:00
Sergio Rodriguez c2a0a59481 spi: Use locking mechanism to guard critical regions.
This will allow the driver to be fiber and task safe

Change-Id: I916d4ad67ab6f51f41f3d1136c105e4d1445de48
Signed-off-by: Sergio Rodriguez <sergio.sf.rodriguez@intel.com>
2016-05-26 21:41:00 +00:00
Sergio Rodriguez bf45b0bd87 i2c: Use locking mechanism to guard critical regions.
This will allow the driver to be safe from fibers and task

Change-Id: I6c4c4fc387cf334f0287b8a02982be1941a311fd
Signed-off-by: Sergio Rodriguez <sergio.sf.rodriguez@intel.com>
2016-05-26 21:40:21 +00:00
Johan Hedberg ab9cdd93ce MAINTAINERS: Add section for Bluetooth
Change-Id: Id79e0515eb8fcde77315acb51cf98465f30806a5
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-05-26 21:35:42 +00:00
Andrew Boie 81f61bb1be x86: make GDT setup optional
For some security scenarios the GDT may already be setup and locked,
in which case the kernel trying to set it again could lead to problems.

Change-Id: I727c1d213479f46a4bb6f0c04a9096131e10b3e7
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-05-26 19:32:03 +00:00
Chuck Jordan d11ed0b13e spi: can use a tx threshold of 50%
The TX fifo threshold is pretty arbitrary.
Set this too big and too many interrupts will occur
for no good reason. Set it too small, and latency
in the SPI transactions is introduced. User's will probably
have to tune this per their application and SPI frequency, etc.
I think setting this to 50% is a good guess for now.

Change-Id: Ib325d40bc7ee10473d99443b3b3cd00fd6e4b95f
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
2016-05-26 17:34:32 +00:00
Javier B Perez fe5aa9f6ae test: bluetooth: disable test for STM32F103RB not enough RAM
Disabled bluetooth test for STM32F103RB SOC because there is not
enough RAM space for the test.

Change-Id: I9f097d9201ed659c4970b67f42c570331b92bad8
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
2016-05-26 11:14:38 -05:00