Commit graph

3837 commits

Author SHA1 Message Date
Huaqi Fang
55fc1f53fe boards: em_starterkit: Add board firmware version config option
Signed-off-by: Huaqi Fang <huaqi.fang@synopsys.com>
2017-08-09 23:21:13 -04:00
Andy Ross
0fd9afd974 esp32: Fix board cycle frequency
The ESP-WROOM-32 board exits the bootloader at 40 MHz, not 160 MHz as
suggested by documentation.  The CCOUNT special register works as
advertised, but not at the expected rate.  This was verified by
timestamping (at the host) the output of a dependency-free loop that
looks like:

	int key = irq_lock();
	while(1) {
		u32_t i, count;
		volatile int dummy;

		for(i = 0; i < 5000000; i++) {
			dummy++;
		}

		__asm__ volatile ("rsr.ccount %0" : "=a"(count));
		printk("%d\n", count);
	}

The SoC has a fairly robust set of possible CPU clocking modes, but we
don't have a driver for that yet.  Until we do, set the single
configured CPU frequency to the one we get at runtime.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2017-08-09 19:57:40 -04:00
Maureen Helm
469ddab780 pwm: Remove k64-specific driver and k20_sim.h
Now that we have an mcux shim driver, remove the old k64-specific
driver. Also remove include/drivers/k20_sim.h, since the old
k64-specific driver was the only thing left using it.

Jira: ZEP-2025

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-08-09 18:13:29 -04:00
Maureen Helm
f458b399b0 frdm_k64f: Enable ftm driver instance and pins
If the ftm driver is enabled, use an instance routed to the Arduino
header and configure the pinmux accordingly. Unlike the hexiwear_k64,
the pins routed to the RGB led cannot be muxed as ftm channels.

Jira: ZEP-2025

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-08-09 18:13:29 -04:00
Maureen Helm
44903f0c03 hexiwear_k64: Enable ftm driver instance and pins
If the ftm driver is enabled, use the instance routed to the RGB led and
configure the pinmuxes as ftm channels instead of gpios.

Jira: ZEP-2025

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-08-09 18:13:29 -04:00
Leandro Pereira
27ea2d8eb7 arch: xtensa: Convert Xtensa port to use gen_isr_table
The Xtensa port was the only one remaining to be converted to the new
way of connecting interrupts in Zephyr.  Some things are still
unconverted, mainly the exception table, and this will be performed
another time.

Of note: _irq_priority_set() isn't called on _ARCH_IRQ_CONNECT(), since
IRQs can't change priority on Xtensa: while the architecture has the
concept of interrupt priority levels, each line has a fixed level and
can't be changed.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-08-09 12:26:14 -07:00
Leandro Pereira
db6ff4da60 drivers: random: Add ESP32 random number generator driver
The random number generator from ESP32 uses noise from Wi-Fi and
Bluetooth radios.  If these are off, a pseudo-random number is
generated instead; this is currently the case, but even though it's a
black box, it's arguably better than returning a timestamp as a
pseudo-random number generator.

According to the ESP32 Technical Reference manual, the RNG passed the
Dieharder Random Number Test suite (version 3.31.1)[1], but nothing has
been said about the quality of the PRNG.

The RNG register is read directly; no effort is made to use its
contents to feed an entropy pool in a way that's similar to /dev/random
on POSIX systems, as no such subsystem exists on Zephyr at the moment.

[1] http://webhome.phy.duke.edu/~rgb/General/dieharder.php

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-08-09 12:26:14 -07:00
Leandro Pereira
c0c79a8041 drivers: gpio: esp32: Add ESP32 GPIO driver
This provides basic GPIO support, with interrupts, and the ability to
read and write to ports on a pin-by-pin basis.

Jira: ZEP-2286
Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-08-09 12:26:14 -07:00
Leandro Pereira
f3b05c6a58 drivers: pinmux: Add pin multiplexer driver for ESP32
This implements a driver for the pin multiplexer as present in the ESP32
SoCs.

All APIs are supported.

Jira: ZEP-2297
Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-08-09 12:26:14 -07:00
Erwin Rol
d278a527ab boards: arm: olimex_stm32_e407: small documentation updates
Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2017-08-09 14:24:21 -05:00
Erwin Rol
c711fa6fb7 boards: arm: olimex_stm32_p405: Initial Olimex STM32-P405 BSP
- board name olimex_stm32_p405
  - CPU STM32F405RGT6 Cortex M4
  - LED/BUTTON support
  - Console on USART2 with 8n1 115200 baud

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2017-08-09 14:24:21 -05:00
Johan Hedberg
2975ca0754 Bluetooth: Kconfig: Rename CONFIG_BLUETOOTH_* to CONFIG_BT_*
The API name space for Bluetooth is bt_* and BT_* so it makes sense to
align the Kconfig name space with this. The additional benefit is that
this also makes the names shorter. It is also in line with what Linux
uses for Bluetooth Kconfig entries.

Some Bluetooth-related Networking Kconfig defines are renamed as well
in order to be consistent, such as NET_L2_BLUETOOTH.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2017-08-09 11:14:19 +03:00
David B. Kinder
62a0cd246d doc: fix uses of back quotes in documentation
ReST defines interpreted text roles where text enclosed by single quotes
can be "intrepreted", for example :ref:`some name` becomes a link to
a label anywhere in the doc set named "some name", :c:func:`funcname()`
becomes a link to the API documentation for "funcname", and
:option:`CONFIG_NAME` becomes a link to, in our case, the documentation
for the generated Kconfig option.

This patch fixes uses of `some name` (without a role) by either adding
an explicit role, or changing to ``some name``, which indicates inline
code block formatting (most likely what was intended).

This is a precursor to changing the default behavior of interpreted
text to treat `some name` as :any:`some name` (as configured in
doc/conf.py), which would attempt to create a link to any available
definition of "some name".

We may not change this default role behavior, but it becomes an option
after the fixes in this patch.  In any case, this patch fixes incorrect
uses of single-quoted text (possibly introduced because GitHub's
markdown language uses single-quoted text for inline code formatting).

Jira: ZEP-2414

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-08-03 11:08:23 -04:00
Andreas Kölbl
a3c2916446 arm: board: Fix stm32f4_disco defconfig
This change fixes the prescaler values in the defconfig. The prescaler
values shown in the technical reference manual (STM32F407xx, p.19)
differ from those in the defconfig which results in wrong timer delays.
This patch corrects those values according to the manual. I tested it by
toggling a GPIO pin with different timer frequencies and run the
sanitycheck.

Signed-off-by: Andreas Kölbl <andreas.koelbl@st.oth-regensburg.de>
2017-08-03 07:16:36 -05:00
David B. Kinder
e9a3411651 doc: spelling fixes in docs
regular scan through docs and KConfig files for spelling issues
and UTF-8 characters

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-08-02 15:14:13 -04:00
Erwin Rol
36ddd475a2 board: olimex_stm32_e407: fix default 48MHz clock divisor
The previously used default value of 4 for the PPL_Q_DIVISOR results
in a frequency of 84MHz which is outside the acceptable range
of 47.88MHz to 48.12MHz.

The new value of 7 results in exactly 48MHz.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2017-08-02 12:28:11 -05:00
Erwin Rol
bd379e9b11 board: olimex_stm32_e407: fix compile bug due to pinmux rework
Jira: ZEP-2452
Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2017-08-02 12:28:11 -05:00
Erwin Rol
20deb23680 board: olimex_stm32_e407: set default gpio ports
The olimex_stm32_e407 uses gpio ports A to G, enable them
all in the default config.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2017-08-02 12:28:11 -05:00
Anas Nashif
4daabbd94e Revert "dts: x86: quark_se_c1000_devboard: Add device tree support"
This reverts commit c0d95f03c7.

Breaks UART and other things on this board, see Jira ZEP-2459.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-02 08:19:25 -04:00
Anas Nashif
56d88584db boards: support feature classes in yaml
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-02 07:31:22 -04:00
Maureen Helm
3e37011185 boards: Fix QEMU_TARGET config prompt and default
The default boolean setting for QEMU_TARGET was incorrectly placed in
the prompt field, so it was showing up as a config option in 'make
menuconfig' when it should be hidden.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-31 19:39:54 -04:00
Loic Poulain
b35b040f58 boards: arm: nrf52_blenano2: Add embedded LED definition
The on-board LED is connected to Pin 11 (P0_11)
Tested with samples/basic/blinky.

Signed-off-by: Loic Poulain <loic.poulain@gmail.com>
2017-07-31 11:55:30 -05:00
Savinay Dharmappa
c0d95f03c7 dts: x86: quark_se_c1000_devboard: Add device tree support
patch add device tree support for developement board of
quark_se_c1000.

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2017-07-31 10:17:45 -05:00
Leandro Pereira
6000c70ea0 boards: doc: Add ESP32 documentation
The documentation details how to install and configure all the
pre-requisites to build Zephyr for the ESP32 SoC, including using the
vendor SDK and toolchain, the flashing tool, and how to use JTAG.

Jira: ZEP-2109
Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-07-28 19:35:55 -04:00
Anas Nashif
a6857195ca boards: zedboard_pulpino: disable networking and bluetooth tests
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-07-26 18:17:01 -04:00
Anas Nashif
dd8fd72826 boards: mark qemu targets with a unified Kconfig
This will allow checking if we are building for QEMU globally, without
having to know the exact architecture and board name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-07-26 07:40:45 -05:00
Anas Nashif
9f642c4291 samples: mesh: build only on BLE platforms
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-07-26 07:23:14 -04:00
Kumar Gala
0e7067c6be arm: dts: cleanup uart related Kconfig options
Now that we generate BLUETOOTH_UART_ON_DEV_NAME, UART_PIPE_ON_DEV_NAME,
and BLUETOOTH_MONITOR_ON_DEV_NAME Kconfig defines for dts enabled
platforms add those into the appropriate dts files and remove from the
various board/Kconfig.defconfig files.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-07-25 12:23:20 -05:00
Andrew Boie
19fdf4d6f8 qemu_x86: enable MMU stack protection by default
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-07-25 11:32:36 -04:00
Kumar Gala
6ec63522cc board: arduino_101: remove unused !HAS_DTS bits
Since HAS_DTS is always defined for arduino_101 the board specific
Kconfig bits associated with !HAS_DTS are never used, so lets remove
them.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-07-25 09:09:11 -05:00
Savinay Dharmappa
dca22fa983 dts: tinytile: Add device tree support for tinytile board
Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2017-07-25 08:58:14 -05:00
Nam Do
f04e0cde46 boards: arm: doc: Fix problems in nrf52_vbluno52 document
This patch fix problems in nrf52_vbluno52 document:
+ Delete `Segger RTT` from supported features
+ Add `5.0` version to Bluetooth Low Energy feature

Signed-off-by: Nam Do <robotden@gmail.com>
2017-07-25 06:08:05 -04:00
Andrew Boie
a717050140 qemu_x86: terminate emulator on fatal system error
This will cause sanitycheck runs to finish more quickly
instead of sitting there waiting on a timeout. We already
do this with the Xtensa simulator.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-07-22 09:46:26 -04:00
Maureen Helm
f477672eb6 hexiwear_kw40z: Select flash/debug scripts based on OpenSDA firmware
Adds a new variable to define which OpenSDA firmware is on the board,
and selects the default flash/debug scripts accordingly.

Sets the default to jlink since the flashing and debugging examples
in the board document were written to use jlink.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
815e7b2c9d hexiwear_k64: Select flash/debug scripts based on OpenSDA firmware
Adds a new variable to define which OpenSDA firmware is on the board,
and selects the default flash/debug scripts accordingly.

Sets the default to daplink since the flashing and debugging examples in
the board document were written to use pyocd.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
6c840f23a9 frdm_kl25z: Select flash/debug scripts based on OpenSDA firmware
Adds a new variable to define which OpenSDA firmware is on the board,
and selects the default flash/debug scripts accordingly.

Sets the default to daplink since the flashing and debugging examples in
the board document were written to use pyocd.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
afff3df786 frdm_k64f: Select flash/debug scripts based on OpenSDA firmware
Adds a new variable to define which OpenSDA firmware is on the board,
and selects the default flash/debug scripts accordingly.

Sets the default to daplink since the flashing and debugging examples in
the board document were written to use pyocd.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
57e2b13d6d frdm_kw41z: Select flash/debug scripts based on OpenSDA firmware
Adds a new variable to define which OpenSDA firmware is on the board,
and selects the default flash/debug scripts accordingly.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
45e4536eb0 frdm_kw41z: Add pyocd target
Adds the pyocd target name for the frdm_kw41z board, but does not change
the default flash/debug scripts from jlink to pyocd. pyocd has not yet
tagged a release with kw41z support, so to use it one must build pyocd
from source based on the current master branch (f21d43d).

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Kumar Gala
563f8f1464 i2c: mcux: Convert to supporting device tree
Update the MCUX I2C driver and related platforms to get their I2C
information from the device tree.  We also updated a few of the sensor
drivers found on the FRDM & Hexiwear boards to get their I2C bus name
from the device tree instead of directly from Kconfig.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-07-19 14:28:08 -05:00
Maureen Helm
34c8004334 hexiwear_k64: Enable the battery sense circuit
Adds a Kconfig option and pinmuxing to enable the battery sense circuit.

Jira: ZEP-1396

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
9dd79984fe hexiwear_k64: Enable adc driver instance
Enables a usable adc driver instance based on the board design. No
additional pinmux configuration is necessary because a dedicated adc pin
is routed to the board's battery sense circuit. Updates the board
documentation to reflect that the board now supports an adc driver.

Jira: ZEP-1396

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
2160bf0161 hexiwear_kw40z: Enable adc driver instance and pins
Enables a usable adc driver instance based on the board design and
configures the pinmux to enable the SoC's PTB1 pin, which is routed to
the board's battery sense circuit. Updates the board documentation to
reflect that the board now supports an adc driver.

Jira: ZEP-1396

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
4d7d09bc84 frdm_k64f: Enable adc driver instance and pins
Enables a usable adc driver instance based on the board design and
configures the pinmux to enable the SoC's PTB10 pin, which is routed to
the Arduino header A2 pin. Updates the board documentation to reflect
that the board now supports an adc driver.

Jira: ZEP-1396

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
1d75c6a395 frdm_kl25z: Enable adc driver instance and pins
Enables a usable adc driver instance based on the board design and
configures the pinmux to enable one adc channel on the SoC's PTB2 pin,
which is routed to the Arduino header A2 pin. Updates the board
documentation to reflect that the board now supports an adc driver.

Jira: ZEP-1396

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Maureen Helm
17cc5e6eee frdm_kw41z: Enable adc driver instance and pins
Enables a usable adc driver instance based on the board design and
configures the pinmux to enable one adc channel on the SoC's PTB2 pin,
which is routed to the Arduino header A2 pin. Updates the board
documentation to reflect that the board now supports an adc driver.

Jira: ZEP-1396

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-07-19 14:28:08 -05:00
Savinay Dharmappa
c1e5cbfd41 devicetree: Generate BLUETOOTH_UART,UART_PIPE etc config from dt
patch uses chosen property zephyr,bt-uart, zephyr,uart-pipe
and zephyr,bt-mon-uart to determine the uart instance to be
used for bluetooth,uart_pipe and bluetooth_monitor and generate
appropriate configs.

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2017-07-19 11:52:35 -04:00
Savinay Dharmappa
9f116097bf dts: quark_d2000_crb: Add device tree support to mint valley
patch adds device tree support for mint valley board

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2017-07-19 11:25:43 -04:00
Nam Do
92dacb2a62 boards: arm: Add support for the VBLUno52 board
+ The VBLUno52 board
    nRF52832 ARM Cortex-M4F processor
    Bluetooth Low Energy 5.0
    DAPLink interface
    UNO pinout
    4 power

+ The following samples were tested:
    hello_world
    basic/button
    basic/blinky
    bluetooth/peripheral_hr
    bluetooth/beacon

Signed-off-by: Nam Do <robotden@gmail.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-07-14 08:40:44 -05:00
Marcel Holtmann
cdeecb8db7 boards: arm: Add flash target for BLE Nano 2
Signed-off-by: Marcel Holtmann <marcel.holtmann@intel.com>
2017-07-14 14:54:52 +03:00