Commit graph

47037 commits

Author SHA1 Message Date
Anas Nashif
08253db46b xtensa: set toolchain variant per SoC
The toolchain variant per SoC is not always the soc name, so set this
per SoC and use this in the SDK instead of hardcoding the soc name.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-12-20 14:30:50 -05:00
Daniel Leung
cc9b64080a pwm: convert Synopsys DesignWare PWM to use devicetree
This converts the Designware PWM driver to use devicetree
for device information.

Fixes #30869

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-12-20 13:32:15 -05:00
Daniel Leung
7ed6cf09f5 dts: add a binding for Synopsys DesignWare PWM node
This adds a new binding for Synopsys DesignWare PWM controller.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-12-20 13:32:15 -05:00
Mulin Chao
fa7843d12c driver: espi: add notification and opcodes for ec host command support.
This CL add a new notification event, ESPI_PERIPHERAL_EC_HOST_CMD, and
two response opcodes, ECUSTOM_HOST_CMD_GET_PARAM_MEMORY and
ECUSTOM_HOST_CMD_SEND_RESULT, to connect with host command sub-system
between host and ec.

It also introduced three configurations to increase the flexibility of
ec host command settings:
1. ESPI_PERIPHERAL_HOST_CMD_DATA_PORT_NUM:
   Host I/O peripheral port number for ec host command data. The default
   value is 0x0200.
2. ESPI_PERIPHERAL_HOST_CMD_PARAM_PORT_NUM:
   Host I/O peripheral port number for ec host command parameters. The
   default value is 0x0800.

3. ESPI_NPCX_PERIPHERAL_HOST_CMD_PARAM_SIZE:
   Host I/O peripheral port size for ec host command in npcx series. The
   valid value in npcx ec series for this option is
   8/16/32/64/128/256/512/1024/2048/4096 bytes. The default value is 256
   bytes.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2020-12-20 13:05:50 -05:00
Mulin Chao
988a7a4826 driver: espi: add acpi and customized op codes for lpc r/w request func.
This CL introduces two kinds of op codes for espi_api_lpc_read_request
and espi_api_lpc_write_request Zephyr espi api functions.

One is for supporting ACPI and shared memory region to access ACPI data.
The other is customized for certain platforms such as Chromebook and so
on.

This CL also introduced the following configurations to add the
flexibility of these settings.

1. ESPI_PERIPHERAL_ACPI_SHM_REGION_PORT_NUM:
   Host I/O peripheral port number for shared memory region. The default
   value is default 0x0900

2. ESPI_NPCX_PERIPHERAL_ACPI_SHD_MEM_SIZE:
   Host I/O peripheral port size for shared memory in npcx series.
   Please notice the valid value in npcx ec series for this option is
   8/16/32/64/128/256/512/1024/2048/4096 bytes. The default value is 256
   bytes.

This CL also turn off hardware-wire feature which generates VW events
that connected to hardware signals such as SMI and SCI. We will set
VW output events directly via espi_api_send_vwire() api function.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2020-12-20 13:05:50 -05:00
Michael Rosen
1c89837e79 usb: dfu: add separate pid for dfu mode
Refactor the file structure for USB DFU class to facilitate
separate PID for USB DFU when in DFU mode. As required by USB DFU
1.1 Section 2, the PID in the USB device descriptor must be
different between the Run-time and DFU mode device descriptor to
avoid problems caused by the host OS caching the remaining
descriptors when switching to DFU mode, thus hiding the new
interface descriptors from applications on the host and reporting
the Run-time descriptors when the device is in DFU mode.

To avoid adding too much clutter to the root USB class Kconfig and
CMakeLists files, move the DFU class files into their own directory
with dedicated Kconfig and CMakeLists.txt.

Signed-off-by: Michael Rosen <michael.r.rosen@intel.com>
2020-12-20 13:04:45 -05:00
Michael Rosen
d92ee92c95 usb: dfu: change device descriptors after reset
The USB device descriptors for DFU mode should only change after a
USB reset, not in appDETACH as the device is still in run-time mode
until reset; thus should still return the run-time descriptors when
requested.

Signed-off-by: Michael Rosen <michael.r.rosen@intel.com>
2020-12-20 13:04:45 -05:00
Michael Rosen
c58d201086 usb: dfu: add timer for appDETACH
In accordance with USB DFU 1.1 Section 5.1, a device should only
stay in appDETACH for a given period of time, either from the
DFU_DETACH request (wValue ms) or from the wDetachTimeout property,
after which the device should return to appIDLE.

Signed-off-by: Michael Rosen <michael.r.rosen@intel.com>
2020-12-20 13:04:45 -05:00
Andrzej Kaczmarek
f8c8cac714 Bluetooth: controller: Use PHY_xxx symbols consistently
We have convenient PHY_1M, PHY_2M and PHY_CODED symbols defined but
they are not used too much in the code. This replaces all usages of
magic numbers and other symbols as PHY constants with those symbols.

Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
2020-12-20 13:04:13 -05:00
David Vincze
ec923274b6 arm: V2M Musca-S1: Update board's index.rst file
Change-Id: I211817620db2130ffb275a5962a24bf90aad57e9
Co-authored-by: Kevin Townsend <kevin@ktownsend.com>
Signed-off-by: David Vincze <david.vincze@linaro.org>
2020-12-20 13:03:49 -05:00
David Vincze
79cac4e58d arm: V2M Musca-S1: Add Musca-S1 SoC and board support
Musca-S1 is a Cortex-M33 based SoC. It's similar to the
Musca-B1, but among other things the embedded flash has
been replaced with embedded MRAM (eMRAM) memory.

The Musca-S1 files have been created based on the Musca-B1
SoC and board files.

Add the Musca-S1 board to the list of allowed platforms
for the TF-M integration examples.

Change-Id: I4f517d28d0a5b8c4a3fc3fab73adb5519acfc3c2
Signed-off-by: David Vincze <david.vincze@linaro.org>
2020-12-20 13:03:49 -05:00
Emil Gydesen
9a3f863637 Bluetooth: host: Assert conn ref counter on unref
Adds an assert on the "old" ref counter when doing unref, that
checks if there indeed is a reference to unref. This prevents
any underflows of the ref counter.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-12-20 13:02:44 -05:00
Puranjay Mohan
4111cfd73c samples: sensor: tmp116: Add sample code for tmp117
Add sample code which demostrates the use of the offset
register offered in the TMP117.
Also add information about tmp117 in README.

Signed-off-by: Puranjay Mohan <puranjay12@gmail.com>
2020-12-20 13:02:21 -05:00
Puranjay Mohan
d31ed3be04 drivers: sensor: tmp116: Add support for SENSOR_ATTR_OFFSET.
TMP117 from TI is a sensor similar to tmp116, but it has more precision
and it also supports the offset register.
Add support for SENSOR_ATTR_OFFSET, which is used by TMP117 to the
pre-exisiting tmp116 driver.

This commit also enables multiple instances and adds TMP117 to Kconfig.

Signed-off-by: Puranjay Mohan <puranjay12@gmail.com>
2020-12-20 13:02:21 -05:00
Meng xianglin
bc52a21b90 test: logging: sync log handling with log process thread
Fix issue #27570
Waiting for the log process thread handle all the log by
k_sleep(TIMEOUT), define a reasonable TIMEOUT for all platform
is difficult. This patch sync the test thread and log process
thread by taking and giving a defined semaphore.

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2020-12-20 13:01:52 -05:00
Watson Zeng
2609101eda arc: stack guard: bug fix with multi push stack situation
accessing the stack below guard_end is always a bug. some
instrustions (like enter_s {r13-r26, fp, blink}) push a collection
of registers on to the stack. In this situation, the fault_addr will
less than guard_end, but sp will greater than guard_end.

|------stack base-------| <--- high address
|                       |
|                       | <--- sp
|------stack top--------|
|------guard_end--------|
|                       | <--- fault_addr
|                       |
|------guard_start------| <--- low address

So we need to remove the SP check. Trade-off here is if we prefer
'false' classifications of MPU stack guard area accesses as stack
error or as general mpu error. The faults get caught anyway, this is
just about classification: don't see a strong need for the extra check
to only report stack pointer accesses to guard area as stack error,
instead of all accesses.

Signed-off-by: Watson Zeng <zhiwei@synopsys.com>
2020-12-20 13:01:22 -05:00
Shlomi Vaknin
cad96852a2 drivers: dma: stm32: add get_status to dmamux driver
Add `get_status` function to dmamux driver api.
This uses the regular dma driver `get_status` function.

Signed-off-by: Shlomi Vaknin <shlomi.39sd@gmail.com>
2020-12-20 13:00:46 -05:00
Martin Jäger
6fd8cbb9b4 storage: stream: flash: update log output
LOG_DBG is more appropriate for this logging output than LOG_INF.

Signed-off-by: Martin Jäger <martin@libre.solar>
2020-12-20 12:40:19 -05:00
Martin Jäger
6181184163 drivers: flash: stm32g4x: fix LOG_ERR compiler warning
off_t can be 32-bit or 64-bit depending on the platform. STM32 flash
addresses are always 32-bit so it's safe to use long here.

Signed-off-by: Martin Jäger <martin@libre.solar>
2020-12-20 12:40:19 -05:00
Peter Bigot
15b19f03dc doc: kernel: expose function
k_thread_system_pool_assign() is referenced at in the memory pool API
documentation and used in multiple tests, but generated documentation
was excluded by preprocessor condition.  Add a PREDEFINED to expose
it.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-12-20 12:38:39 -05:00
Peter Bigot
d03dbab105 drivers: led: fix led_pwm initialization
The PM control function and the init function were swapped.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-12-20 10:30:29 -06:00
Kumar Gala
63d0a109c0 arch/x86: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert device to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-20 10:19:30 -06:00
Sebastian Schwabe
a44de32db2 dts: arm: Add STM32F303x8 dtsi config
This commit adds the dtsi config for the stm32f303k8.
In addition fixing to long line for author.
Fixing sram0 memory size.

Signed-off-by: Sebastian Schwabe <sebastian.schwabe@mailbox.tu-dresden.de>
2020-12-20 10:14:03 -05:00
Sebastian Schwabe
1ec13cedaa soc: arm: st_stm32: stm32f3: Add support for STM32F303x8
This commit adds the soc config for the STM32F303x8.
Add the STM32F303x8 as choice to the Kconfig.soc.
Fixing indention error in Kconfig.soc.

Signed-off-by: Sebastian Schwabe <sebastian.schwabe@mailbox.tu-dresden.de>
2020-12-20 10:14:03 -05:00
Sebastian Schwabe
1413ebff7b board: arm: add support for the nucleo_f303k8 board
This branch adds support for the nucleo_f303k8 board.
The configuration is based on the nucleo_l011k4,
the f302r8 and the ST reference manual.

I had successfully tested the following sample code:
blinky
blink_led (uses TIM2_CH1 on PA0)
button
hello_world

Signed-off-by: Sebastian Schwabe <sebastian.schwabe@mailbox.tu-dresden.de>
2020-12-20 10:14:03 -05:00
Emil Gydesen
06ef2396c0 Bluetooth: controller: Adds initial BIG receiver test
The test currently does nothing, as it depends on the
advertiser part of the test which has not yet been implemented
properly. Also slightly modified how the test is run.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-12-20 13:36:50 +01:00
Emil Gydesen
47aa17bb5c Bluetooth: controller: Implements ULL Sync ISO ticker
Implements the ull_sync_iso_setup function which starts the
ticker for ISO sync. Furthermore, ll_big_sync_terminate
will not stop the ticker as well.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-12-20 13:36:50 +01:00
Emil Gydesen
9d4d6d06a0 Bluetooth: controller: Implements BIG sync commands in the ULL
Implements handling of the BIG sync commands in the ULL.
LLL support and handling of ACAD (biginfo) remaining.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-12-20 13:36:50 +01:00
Vinayak Kariappa Chettimada
396566d449 dts: nordic: Use PPIs 0-5 consistently for SW PWM
Use PPIs 0-5 consistently across nRF51x and nRF52x for SW
PWM driver. Bluetooth LE controller's use of PPI has been
adjusted to use PPI 6-19 based on features enabled.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-12-20 13:36:09 +01:00
Vinayak Kariappa Chettimada
e603b9d59e Bluetooth: controller: Adjust PPI used for nRF51x and nRF52x
Adjust the PPI used by nRF51x and nRF52x so that PPI 0-5 is
available for application's use or for SW PWM driver use.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-12-20 13:36:09 +01:00
Morten Priess
467fd155a8 Bluetooth: controller: Make must-expire runtime configurable
Under CONFIG_BT_TICKER_EXT configuration, the ticker interface has been
extended to support enabling/disabling must-expire scheduling. This
means that conn and slave ticker start calls can now omit must-expire
default-on configuration, relying on LLL updating the mode as needed.

Signed-off-by: Morten Priess <mtpr@oticon.com>
2020-12-20 13:35:58 +01:00
Andrzej Głąbek
f234c5f876 drivers: adc: Introduce the adc_sequence_options::user_data field
Introduce the field that can be used to associate a given sampling
sequence with any other data needed in the sampling-done callback
function.
Adjust one ADC API test case that uses a sequence callback so that
it checks if this introduced field is propagated as expected.

Also clarify in the description of the `sequence` parameter of the
callback function that this parameter is not supposed to be supplied
to the CONTAINER_OF() macro, to avoid any further confusion in that
regard.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-12-20 13:34:59 +01:00
Rihards Skuja
3b89f4a474 Bluetooth: fix C++ compile error
C++ disallows implicit cast to enum values.

Signed-off-by: Rihards Skuja <rihardssk@mikrotik.com>
2020-12-19 22:05:33 -05:00
Dominik Ermel
d83875f32a power: Idle depends on system clock when power management enabled
The idle, when power management is enabled, requires system clock to
be present.
This commit adds dependency, to PM option, on SYS_CLOCK_EXISTS.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-12-19 21:05:45 -05:00
Kumar Gala
609844d56e drivers: pinmux: Convert drivers to new DT device macros
Convert pinmux drivers from:

    DEVICE_AND_API_INIT -> DEVICE_DT{_INST}_DEFINE

etc..

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:06:45 -05:00
Kumar Gala
2d754333ad drivers: interrupt_controller: Convert drivers to new DT device macros
Convert interrupt_controller drivers from:

    DEVICE_AND_API_INIT -> DEVICE_DT_INST_DEFINE
    DEVICE_GET -> DEVICE_DT_INST_GET
    DEVICE_DECLARE -> DEVICE_DT_INST_DECLARE

etc...

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:06:25 -05:00
Kumar Gala
1706bd2b41 tests: convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert tests to DEVICE_{DT_}DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:05:40 -05:00
Kumar Gala
e2e882ab3e samples: convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert samples to DEVICE_{DT_}DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:05:40 -05:00
Kumar Gala
078368efcf drivers: dma: pl330: Convert drivers to new DT device macros
Convert dma pl330 driver from:

    DEVICE_AND_API_INIT -> DEVICE_DT_INST_DEFINE
    DEVICE_NAME_GET -> DEVICE_DT_INST_DECLARE

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:05:14 -05:00
Kumar Gala
673a81eabb pinmux: Convert drivers to be devicetree based
Convert drivers to use pinmux devicetree node to create pinmux device
object.

On intel S1000 we add 'label' as a required property and set it to
'PINMUX' to match CONFIG_PINMUX_NAME.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:04:23 -05:00
Kumar Gala
c5582358f6 drivers: dma: Convert drivers to new DT device macros
Convert dma drivers from:

    DEVICE_AND_API_INIT -> DEVICE_DT_INST_DEFINE
    DEVICE_GET -> DEVICE_DT_INST_GET
    DEVICE_DECLARE -> DEVICE_DT_INST_DECLARE

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:03:23 -05:00
Kumar Gala
85518d177e drivers: kscan: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert driver(s) to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:02:19 -05:00
Kumar Gala
50b52279e9 drivers: crypto: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert driver(s) to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:01:58 -05:00
Kumar Gala
82767ef3bb bluetooth: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert drivers to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:01:42 -05:00
Kumar Gala
ce6088380f drivers: ethernet: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert driver(s) to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:01:24 -05:00
Kumar Gala
e2268e1ac4 drivers: ieee802154: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert drivers to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:01:06 -05:00
Kumar Gala
19ecf1f19f drivers: video: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert driver(s) to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:00:43 -05:00
Kumar Gala
e23238da1a drivers: counter: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert driver(s) to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:00:23 -05:00
Kumar Gala
c372f4ef7d drivers: pwm: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert driver(s) to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:00:00 -05:00
Kumar Gala
8d96e8741b drivers: pinmux: Convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert driver(s) to DEVICE_DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 19:59:41 -05:00