Commits on Jan 24, 2019
  1. wifi: eswifi: Use generated SPI CS define

    galak committed Jan 23, 2019
    Move to using the generated DT_INVENTEK_ESWIFI_ESWIFI0_CS_GPIO_pin and
    Signed-off-by: Kumar Gala <>
  2. scripts/dts/extract: Add support for generating SPI GPIO CS defines

    galak committed Jan 22, 2019
    Add support to generation script to generate defines for GPIO CS
    [WIP], need to clarify some issues on how CS's look when we mix GPIO-CS
    and HW CS.
    Signed-off-by: Kumar Gala <>
  3. scripts/dts/extract: Add single extract to extract_{controller,cells}

    galak committed Jan 23, 2019
    Add the ability to extract just a single instance from extract_cells and
    extract_controller.  This lets us pass in a prop_values like:
    cs-gpios =  < 0x02 0x11 0x00 >, < 0x03 0x05 0x00 >;
    and extract just index = 1 if we want < 0x03 0x05 0x00 >.
    Signed-off-by: Kumar Gala <>
  4. scripts/dts/extract: Move extract_{controller,cells} into globals

    galak committed Jan 22, 2019
    Move extract_cells and extract_controller functions into globals so they
    can be utilized outside of just the main extract_dts_includes script.
    Signed-off-by: Kumar Gala <>
Commits on Jan 23, 2019
  1. dts: arm: msp432p4xx: Fix memory compatible

    galak authored and MaureenHelm committed Jan 22, 2019
    The memory compatible should be 'mmio-sram' not 'sram'.
    Signed-off-by: Kumar Gala <>
  2. doc: turbo mode for kconfig options

    nashif committed Jan 21, 2019
    Building the documentation for all the Kconfig options significantly
    adds to the total doc build time.  When making and testing major changes
    to the documentation, we provide an option to temporarily stub-out
    the auto-generated configuration documentation so the doc build process
    runs much faster.
    To enable this mode, set the following option when invoking cmake
    Signed-off-by: Anas Nashif <>
  3. requirements: update to pyocd 0.15.0

    nashif committed Jan 23, 2019
    Previous release had some issues with unicode and was failing to install
    in our CI. Those issues were fixed in this release.
    Signed-off-by: Anas Nashif <>
  4. drivers: nrf: timer: add inline qualifier where inlining is intended

    pabigot authored and carlescufi committed Jan 21, 2019
    Not necessary with gcc, and Zephyr is inconsistent about using the
    qualifier, but making the intent explicit is a good thing.
    Signed-off-by: Peter A. Bigot <>
  5. drivers: timer: nrf: refactor for speed and correctness

    pabigot authored and carlescufi committed Jan 20, 2019
    The existing implementation of z_clock_set_timeout() calculates the
    compare value based on a complex series of operations including an
    unconditional integer division and multiplication intended to ensure the
    compare value is aligned to a tick boundary.  On the nRF51 this division
    requires a call to an outline function with a data-dependent execution
    In the common case where the timeout is set less than one tick past the
    last observed tick the devision can be elided, as can several extra
    operations intended to deal with fractional ticks.
    The code also failed to account for a ticks-per-cycle that violated the
    minimum delay required to guarantee a compare value would result in a
    match without wrapping.  The minimum delay was also unreasonably long
    (about 1 ms).  Reduce it to a more reasonable value to allow for a
    higher ticks-per-second, and diagnose attempts to set the tick frequency
    above the supported maximum (8192 Hz).
    Finally, move the parts of the compare calculation that are not
    dependent on the live counter value out of the locked region.
    Prior to this change the observed time between the irq_lock() and
    irq_unlock() in z_clock_set_timeout() on the nRF51 ranged between 5 us
    and 8 us.
    With the revised algorithm the observed lock duration is between 2.16 us
    (1024 Hz) and 2.88 us (100 Hz) in the common case that the compare is
    set within the current tick.  If the compare is set late the duration
    will be higher, but no greater than the previous implementation.
    Signed-off-by: Peter A. Bigot <>
  6. drivers: timer: nrf: drop unnecessary counter mask

    pabigot authored and carlescufi committed Jan 17, 2019
    The RTC COUNTER register doesn't care that it receives a value larger
    than it can hold; it'll discard the bits internally.  No need to spend
    cycles doing it manually.
    Signed-off-by: Peter A. Bigot <>
  7. drivers: timer: nrf: use irq_lock instead of spinlock

    pabigot authored and carlescufi committed Jan 17, 2019
    spinlock gains us nothing on an architecture that doesn't support SMP.
    Use the standard irq_lock() API so when we search for conditions that
    may decrease ISR responsiveness we can find them.
    Signed-off-by: Peter A. Bigot <>
  8. kernel: timeout: detect inactive timeouts using dnode linked state

    pabigot authored and carlescufi committed Jan 2, 2019
    Whether a timeout is linked into the timeout queue can be determined
    from the corresponding sys_dnode_t linked state.  This removes the need
    to use a special flag value in dticks to determine that the timeout is
    Update _abort_timeout to return an error code, rather than the flag
    value, when the timeout to be aborted was not active.
    Remove the _INACTIVE flag value, and replace its external uses with an
    internal API function that checks whether a timeout is inactive.
    Signed-off-by: Peter A. Bigot <>
  9. kernel: poll: fix double-remove of node

    pabigot authored and carlescufi committed Dec 30, 2018
    k_poll events are registered in a linked list when their signal
    condition has been met.  The code to clear event registration did not
    account for events that were not registered, resulting in double-removes
    that produced core dumps on native-posix sanitycheck.
    Signed-off-by: Peter A. Bigot <>
  10. kernel: timeout: remove local fix for double-remove

    pabigot authored and carlescufi committed Dec 30, 2018
    Use the new generic capability to detect unlinked sys_dnode_t instances.
    Signed-off-by: Peter A. Bigot <>
  11. sys: dlist: Add sys_dnode_is_linked

    pabigot authored and carlescufi committed Dec 30, 2018
    The original implementation allows a list to be corrupted by list
    operations on the removed node.  Existing code attempts to avoid this by
    using external state to determine whether a node is in a list, but this
    is fragile and fails when the state that holds the flag value is changed
    after the node is removed, e.g. in preparation for re-using the node.
    Follow Linux in invalidating the link pointers in a removed node.  Add
    API so that detection of particpation in a list is available at the node
    This solution relies on the following steady-state invariants:
    * A node (as opposed to a list) will never be adjacent to itself in a
    * The next and prev pointers of a node are always either both null or
      both non-null.
    Signed-off-by: Peter A. Bigot <>
  12. kernel: sched: fix empty list detection

    pabigot authored and carlescufi committed Jan 4, 2019
    CONTAINER_OF() on a NULL pointer returns some offset around NULL and not
    another NULL pointer.  We have to check for that ourselves.
    This only worked because the dnode happened to be at the start of the
    Signed-off-by: Peter A. Bigot <>
  13. kernel: thread: correct type of dlist node

    pabigot authored and carlescufi committed Jan 4, 2019
    Although sys_dnode_t and sys_dlist_t are aliases, their roles are
    different and they appear in different positions in dlist API calls.
    Signed-off-by: Peter A. Bigot <>
  14. drivers: nordic: usb: USBD event handling rework

    pawelzadrozniak authored and carlescufi committed Jan 4, 2019
    Some of the events from USBD peripheral (i.e. cable disconnect)
    were handled in IRQ context and some of them (i.e. ep r/w events) in
    system workqueue (inherited from initial driver implementation).
    This may lead to race condition in some specific situations.
    Currently, all of the events are enqueued in ISR and processed in
    workqueue. Driver is reinitialized on queue overflow and queue size
    is configurable in KConfig.
    Fixes #12016
    Signed-off-by: Paweł Zadrożniak <>
  15. boards: x86: arduino_101: Fix SPI dts node

    galak committed Jan 22, 2019
    We are utilizing CS0 for the flash, so the reg address should be 0 to
    Signed-off-by: Kumar Gala <>
  16. cmake: dts: Tweak warning flags for unit_address check

    galak committed Jan 18, 2019
    In Zephyr we have dts in which multiple peripherals can be at the same
    MMIO address.  So we want to disable the `unique_unit_address` check via
    (-Wno-unique_unit_address).  However, newer dtc support a check that
    makes sure if we have duplicate unit-address devices that only one is
    enabled.  So if the dtc flag is supported we enable
    Signed-off-by: Kumar Gala <>
  17. cmake: dtc: Add ability to check of dtc flag is valid

    galak committed Jan 18, 2019
    Add a function that let's us check if a given dtc flag can be used with
    the version of dtc we have.  This lets us utilize specific warning flags
    that might not exist in older dtc versions and still have things work
    Signed-off-by: Kumar Gala <>
  18. boards: nucleo_l496zg: Use shell-uart

    gon1332 authored and galak committed Dec 11, 2018
    Added shell-uart for this board.
    Signed-off-by: Ioannis Konstantelias <>
  19. boards: nucleo_l496zg: Add SPI, I2C

    gon1332 authored and galak committed Nov 18, 2018
    Added Aduino SPI and I2C mappings.
    Signed-off-by: Ioannis Konstantelias <>
  20. boards: nucleo_l496zg: Add pwm mapping and RTC

    gon1332 authored and galak committed Nov 14, 2018
    Supported PWM at pins A0, D3, D5 and D6 which are also Arduino
    compatible. Also the onboard red LED can be used with PWM.
    The basic/{fade_led, blink_led} samples to apply to this board
    seemlessly and operate on the onboard red LED.
    Also supported RTC.
    Signed-off-by: Ioannis Konstantelias <>
  21. boards: nucleo_l496zg: Add docs & flashing support

    gon1332 authored and galak committed Nov 12, 2018
    Added documentation and openocd support.
    Signed-off-by: Ioannis Konstantelias <>
  22. boards: nucleo_l496zg: Add UART for console

    gon1332 authored and galak committed Nov 10, 2018
    Used LPUART 1 for console subsys. Also, added USART2 and USART3.
    Signed-off-by: Ioannis Konstantelias <>
  23. boards: arm: Add initial support for NUCLEO-L496ZG

    gon1332 authored and galak committed Oct 31, 2018
    This commit adds the simplest configuration for this Nucleo-144 board
    stripped down to the parts that are currently tested.
    Signed-off-by: Ioannis Konstantelias <>
  24. subsys/settings: fcb compress areas only once

    nvlsianpu authored and carlescufi committed Jan 23, 2019
    fcb instance might use less areas than CONFIG_SETTINGS_FCB_NUM_AREAS.
    During compression of completely filled up fcb it was possible to try
    compress areas more than once.
    What this patch fixes is not a bug - rather fix for inefficient service
    of the corner case.
    fixes #12657
    Signed-off-by: Andrzej Puzdrowski <>
  25. doc: tools: corrected file path in documentation

    varun-sha authored and nashif committed Jan 22, 2019
    Corrected file path for code relocation sample path in documention
    Fix for GH #12543
    Signed-off-by: Varun Sharma <>
  26. scripts/dts/extract: Don't warn for 'category' merge of 'required'

    galak committed Jan 17, 2019
    We get warnings like:
    	foo.yaml('BAH') merge of property 'category': 'required'
    	overwrites 'optional'
    This warning isn't meaningful as its reasonable to change the 'category'
    of a property from 'optional' to 'required'.  So don't warn in the case
    Signed-off-by: Kumar Gala <>
  27. ext: lib: crypto: Extend generic mbedTLS config with HAVE_ASM

    aurel32 authored and galak committed Jan 21, 2019
    Extend generic mbedTLS configuration file with MBEDTLS_HAVE_ASM option,
    to allow the use of assembly code. This improves the performances of
    asymetric cryptography, however depending on the architecture and the
    CPU, this might have an impact on the code size.
    Set the default value ot the previous non-configurable value, ie enable
    it by default except on ARM.
    Signed-off-by: Aurelien Jarno <>
  28. Driver: Serial STM32: Fix use of TXE IRQ

    Benichou34 authored and galak committed Nov 13, 2018
    In case of TX IRQ pending,
    uart_stm32_irq_is_pending() function always return 0,
    because "is TXE enabled ?" is checked instead of "is TC enabled ?".
    Signed-off-by: Benoit Leforestier <>
  29. samples: sensor: lsm6dsl

    avisconti authored and galak committed Dec 4, 2018
    This commit provides sample application for sensor lsm6dsl.
    This sample has been tested on both 96b_argonkey board,
    where lsm6dsl is connect to the micro thru SPI bus, and on
    disco_l475_iot1 board, where instead it is connected to I2C bus.
    Signed-off-by: Armando Visconti <>
  30. boards/arm: 96b_argonkey: add supported sensors to yaml file

    avisconti authored and galak committed Jan 21, 2019
    Add supported sensor to yaml file.
    The ArgonKey board supports following sensors:
    	- HTS221 (humidity)
    	- LPS22HB (pressure)
    	- LSM6DSL (imu)
    	- VL53L0X (proximity)
    Signed-off-by: Armando Visconti <>
  31. boards/arm: disco_l475_iot1: add supported sensors to yaml file

    avisconti authored and galak committed Jan 22, 2019
    Add LPS22HB and LSM6DSL sensors to yaml file.
    Signed-off-by: Armando Visconti <>