The current documentation points to MyNewt 0.9 which doesn't have the
necessary fix, so revert the workaround until the next release of
MyNewt is out. A minor change to the original patch is that we also
have a delay in prng_init() which seems to be needed since this is now
called earlier during the HCI init sequence.
This reverts commit d75acb44c3.
Change-Id: Ic4919e01bddbfaca477825c3f7fdcb549c8d10ec
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Currently CONFIG_BLUETOOTH_PRIVACY is defined as the ability to
generate RPAs, and it depends on CONFIG_BLUETOOTH_SMP. NRPA usage
however may be desirable even without these features (e.g. a
broadcaster-only device). Furthermore, if we are using RPA based
privacy we should be using that instead of NRPA even when doing
non-connectable advertising.
This patch leaves out the option of advertising with the Identity
Address when non-connectable, however if we get a use case for that we
could consider adding a BT_LE_ADV_OPT_ID_ADDR to force using it.
Change-Id: I0502323aec15eefad1a729c393c707108d4cf758
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Added maintainer component for MAINTAINER file.
Change-Id: I083f0ed966fb5ad2a52bdf03f459a3cab0c0cdde
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
Nordic MDK and Tinycrypt maintainer are in charge of all the files
inside the directory not just the directory itself.
Change-Id: I898bdfb4eda6d90c49434e6fc6e7d2fe9b4b8eab
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
The unicode characters for trade mark and register trademark,
although understood by the Atom editor, apparently don't work
here. :-(
Change-Id: Ifbdb25a015630fc90afb18aec6f07a8724fc37f7
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
The KSDK device header files require a preprocessor macro that defines
the part number string (e.g., MK64FN1M0VMD12). Create a hidden Kconfig
option to hold the part number string, and hidden Kconfig options that
the board Kconfig will use to select the specific part number.
Change-Id: I612e785026261e425b47b5b7fae0c65b4f94b30b
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
We get these out of system.h instead. A clause in libc-hooks.c
for newlib added since we don't get RAM size from
CONFIG_SRAM_BASE_ADDRESS.
Change-Id: Ic35113395b951f625e8e29658afe19c525037964
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
We will require 6 variables to be defined by SOC-specific
linker script; these values in turn can be pulled from
defines in layout.h.
To help position code correctly we define two new ELF sections
for this arch, 'reset' and 'exceptions'.
Change-Id: Idffbd53895945b7d0ec0aac281e5bf7c85b4b2c2
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This header was pulled in verbatim from Altera HAL and had
some style and naming issues. The inline functions or macros
which read registers can now be used in expressions.
Change-Id: I7a463717051efd2f9dd36e8a84d357852fbf9215
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Nios II does not have a power saving instruction, so there is nothing
to really do here other than ensure that interrupts are in the correct
state when leaving nano_cpu_atomic_idle().
Change-Id: I664c7542dc2fc1795a453d35e183a737dcb20c38
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
For the moment, NIOS2_CPU_SOF must be set with the path to the
CPU configuration. We are checking with Altera on whether we
can directly check in the binary to the source tree.
These scripts depend on tools provided by the Altera Quartus
Prime Lite Edition. This is available for free but requires
registration on Altera's website to obtain.
Change-Id: Ia6cb6c9e43c3e141807a887cb25c47b370a7d8e9
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Altera tools for creating .pof files for flashing onto their
FPGAs require UFM data to be in this special format. Extend
the current 'all' and 'zephyr' targets to additionally create
this .hex file using objcopy, with the same exclusions as the
existing rule for .bin files.
Change-Id: I75293fba47536545359f817a1f2c1ae905b9d25c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
__start is the CPU's reset vector. In a typical Nios II configuration,
the exception vector is 0x20 bytes after the reset vector, severely
constraining the amount of code that can go in here.
Split this into __start and __text_start. The only thing that __start
really need to do is init the instruction cache and jump into
__text_start.
JIRA IDs placed in comments for missing items.
Change-Id: I3c6b8ed65e8fcf6b6a735b80cf007d0180599230
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Linker scripts for Nios II will also need these headers as it
specifies the device's physical layout and various important
vector addresses.
Change-Id: Ie9efaf19e53d2493eed7b9783052393d7ea9dd0f
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
We need to expose the path to the newlib headers that are part of the
ARM embedded gcc at ${GCCARMEMB_TOOLCHAIN_PATH}/arm-none-eabi/include
otherwise we get build errors like when trying to use newlib:
lib/libc/newlib/libc-hooks.c:17:19: fatal error: errno.h: No such file or directory
Change-Id: Iedce526d23e54e54b9cefdfa6ca176fe12ed8090
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Some variants of newlib build and expect namespace protected stubs
(typically having an underscore prefix). To support such newlib variants
change all the stubs to the namespace protect version and use function
aliases to support the nonprotected namespace version.
Change-Id: I6a4162eca949afec96b152ffe6f60b87c4496c4d
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
We only need to implement fstat(), so drop the _fstat implementation and
have fstat() match the newlib docs for minimal implementation and only
set st_mode = S_IFCHR.
Change-Id: Iba9042707d1ee5975ab98293cfe20e2996b17c05
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Remove duplicate I2C_QMSI_SS option from Kconfig file, as there is no
reason to have it twice.
Change-Id: I602677676419c3f9581a606e8e3ebb889b439eb7
Signed-off-by: Bogdan Davidoaia <bogdan.m.davidoaia@intel.com>
ip_buf_appdatalen is not set while sending buffer.
Fixes: RTOS-1562
Change-Id: Id423ba5898b9b405d0ca027a74a06a19708841fe
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Improve this doc to use register trademark and trademark unicode
symbols.
Further, the make rules can benefit from also being passed the argument
ARCH=arc. I see that some zephyr tests use ARCH to select a prj.conf file.
Change-Id: I0650e5d5aba10aa984ebd0be21d0b381dd96dd56
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
The code was setting the interrupt priority to 1 for each
vector to start. But I think it might be more appropriate
to set it to the LOWEST priority. Some ARCs will have
upwards to 15 priorities.
Change-Id: I9330ec8df323fe04ba0751faaafa39694f012364
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
The ccc config clear logic should only clear its own cfg value if it is not
bonded and not the other ones.
Change-Id: I1b053b714744bdfb61fdbb445c08dffd3c9e1a1f
Signed-off-by: Roger Lendenmann <roger.lendenmann@intel.com>
Latest firmware seems to have this fixed and delay is no longer needed.
Change-Id: I3caa8d38fc856964b57049d6704c80ca732ccde5
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
PRNG needs to be initialized right at the begining so that it is safe
to use it from initialization sequence. This fix a race when ECC
emulation code was using uninitiliazed PRNG for public key generation.
Change-Id: Ia396f964b915368cee39ea6be998ef5774062591
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
If LE Create Connection was cancelled LE Connection Complete event
status is set to Unknown Connection Identifier and doesn't contain
valid remote address. In such case we need to look for connection
object in CONNECT state without using address. There can be only one
object in that state anyway so this is OK also for other error codes.
Change-Id: Ie61d47b8bb7ade6b2ab4db14ee394a65bb4e642b
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
NULL peer means that first connection with specific state should be
returned.
Change-Id: Ia635584437f948d9dcd82a3619fcf1516d23e0d1
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
There is no need for local variabel as error code can be returned
directly.
Change-Id: I0ad1bccb75bf1897d210c12d3ad0108f1f909dbe
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
* clear non-bonded ccc cfg values as per BT spec
* address compare logic
* check if cfg_changed is defined
Change-Id: Id002f22a6aac1b918d743ef1e73b7e5c4768a229
Signed-off-by: Roger Lendenmann <roger.lendenmann@intel.com>
It's common for the rx_queue to be written to in ISR context (by the
HCI driver). This means that if there's lots of data coming in from
the driver the rx_queue might get empty very rarely. With the current
code this means that the rx fiber might end up not yielding to other
higher priority runnable fibers for long durations (as long as there's
data in the rx_queue).
To solve the issue, call fiber_yield() explicitly after each processed
buffer from the rx_queue. This way we give other fibers a chance to
run even if there's a heavy flow of data from the Bluetooth
controller.
Change-Id: Ib3dbe6536a62360ad5153ed12eee8489645e4109
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The dependencies for the HCI firmware are now part of the latest
stable MyNewt release, so special editing of project.yml is no longer
needed.
Change-Id: Ia3658ab1da03e208cd5230e0cda4c96a4628e8f0
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Buffers pass to BT stack need to have minimum BT_BUF_USER_DATA_MIN
of reserved user space data.
Change-Id: Iaeb85faa20b1c5281bfd0331336295ad7cfdd68e
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This header defines BT_BUF_USER_DATA_MIN which is needed for declaring
buffers passed to BT stack and already includes <net/buf.h>.
Change-Id: I6b556be9fb3939a55af0b73d49fc59152d6d6a53
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
It is no longer necessary to implement flush callback for long
descriptors since the stack can queue prepare writes this callback
will never be called which makes BT_GATT_LONG_DESCRIPTOR obsolete
as well.
Change-Id: Idca31ba8e4404d2acba760c420394d5adee0a508
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This is similar to previous patch which makes the API much more simple
when handling long writes.
Change-Id: Ibd3856863a43927195e23936872a160d5ff94648
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This adds a buffer for incoming prepare writes which can be
tunned using BLUETOOTH_ATT_PREPARE_COUNT, these buffers are then used in
execute write to commit the data thus making flush callback obsolete:
[bt] [DBG] bt_att_recv: (0x001159c0)Received ATT code 0x16 len 50
[bt] [DBG] att_prepare_write_req: (0x001159c0)handle 0x0022 offset 0
[bt] [DBG] prep_write_cb: (0x001159c0)handle 0x0022 offset 0
[bt] [DBG] bt_att_recv: (0x001159c0)Received ATT code 0x16 len 34
[bt] [DBG] att_prepare_write_req: (0x001159c0)handle 0x0022 offset 45
[bt] [DBG] prep_write_cb: (0x001159c0)handle 0x0022 offset 45
[bt] [DBG] bt_att_recv: (0x001159c0)Received ATT code 0x18 len 2
[bt] [DBG] att_exec_write_req: (0x001159c0)flags 0x01
[bt] [DBG] write_cb: (0x001159c0)handle 0x0022 offset 0
[bt] [DBG] write_cb: (0x001159c0)handle 0x0022 offset 45
Change-Id: Iae071d7b4b5b042285952da57e3f7a853cf58afb
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This way we split all Bluetooth options behind a single switch.
Change-Id: Ia7a4b22842be4c0bf94bb73a6b39fd9f606db406
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Add testing for fragmented buffers to the net_buf test.
Change-Id: Id6c541b86c30ac94931a7086ebb6f1312fbc34f7
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Freeing the fragment list by recursively calling net_buf_unref() is
elegant but dangerous. Since we have fairly small stack sizes it'd be
possible to overflow the stack if the user creates a very long list of
fragments (empirical tests showed that some 21 fragments is enough to
kill a 2k stack). Instead, use a while-loop for freeing up the
fragments, thereby guaranteeing a fixed upper bound for net_buf_unref()
stack usage.
Change-Id: Ibfe794fa717d1cddc84365c7b7b9cff4024edbf6
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>