Commit Graph

111 Commits

Author SHA1 Message Date
Vincent Wan 8c430b64f0 simplelink: dpl: update SwiP in dpl to enable RF driver
Also updated HwiP in order to support SwiP, and added QueueP which is
a dependency.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2020-02-04 15:56:17 -06:00
Christopher Friedt e8f58c6564 simplelink: dpl: implement some dpl functions for the RF driver
Implementing a few functions that are necessary for the RF driver
to build:

- ClockP_getTimeout
- ClockP_isActive
- ClockP_destruct
- SemaphoreP_construct
- SemaphoreP_constructBinary
- SemaphoreP_destruct
- HwiP_post
- HwiP_setFunc
- HwiP_destruct
2020-02-04 15:56:17 -06:00
Vincent Wan e14693f475 simplelink: import TI RF driver from SimpleLink SDK
This commit imports the TI RF driver from SimpleLink SDK 3.10.00.53

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2020-02-04 15:56:17 -06:00
Ulf Magnusson c9fd9faeab dts: Include devicetree.h instead of generated_dts_board.h
Needed for https://github.com/zephyrproject-rtos/zephyr/pull/20757, to
avoid a warning-turned-error.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-01-13 13:00:00 +01:00
Vincent Wan 879c7d08ff simplelink: power: leave interrupts disabled in Power_sleep
Zephyr expects interrupts to stay disabled when running hooks during
resume. Hence we must modify Power_sleep to leave interrupts disabled.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-12-04 09:02:47 -06:00
Vincent Wan ccee61e5bd ext: simplelink: import driverlib functions used by TI Power module
Extra functions from driverlib are needed to build the Power module.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-12-04 09:02:47 -06:00
Vincent Wan 8df649b823 ext: simplelink: update dpl to support TI Power manager module
This commit updates the dpl layer for Zephyr to support the Power
manager module on the CC13x2/CC26x2 family of devices.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-12-04 09:02:47 -06:00
Vincent Wan 4a893817e8 ext: simplelink: import TI Power manager from SimpleLink SDK
This commit imports the TI Power manager from SimpleLink SDK 3.10.00.53

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-12-04 09:02:47 -06:00
Brett Witherspoon 112760ab5d simplelink: add RFC driverlib sources
Required for RFCDoorbellSendTo used in 802.15.4 driver.

See zephyrproject-rtos/zephyr#16263

Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
2019-09-11 12:24:26 -05:00
Anas Nashif 7a82e93e14 modules: make openisa TI a zephyr module
Split ext/ content and create a module that can be used with west.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-08-20 14:36:39 -07:00
Piotr Zięcik 9fb1719f28 soc: msp432p4xx: Get CPU clock frequency from DTS
The SoC initialization code used system clock frequency
as a CPU clock frequency. This commit corrects that by
obtaining the needed value from DTS.

Signed-off-by: Piotr Zięcik <piotr.ziecik@nordicsemi.no>
2019-07-24 15:10:02 +02:00
Anas Nashif e4452094e5 cleanup: include/: move misc/util.h to sys/util.h
move misc/util.h to sys/util.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Anas Nashif f45b86970e cleanup: include/: move misc/__assert.h to sys/__assert.h
move misc/__assert.h to sys/__assert.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Anas Nashif 860084020f cleanup: include/: move watchdog.h to drivers/watchdog.h
move watchdog.h to drivers/watchdog.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Brett Witherspoon 6120000215 soc: cc13x2_cc26x2: support setting CCFG values via Kconfig
Several customer configuration (CCFG) settings are useful for
development and deployment. This commit adds support for setting CCFG
values via Kconfig. It follows TI's recommendation of setting CCFG
values and then including the TI provided CCFG. This commit includes
support for enabling the ROM bootloader and additional settings can be
added as needed.

Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
2019-05-30 17:15:53 -04:00
Brett Witherspoon c60aa1bde4 drivers: add CC13xx / CC26xx I2C driver
Add I2C driver for the TI CC13xx / CC26xx series SoCs.

Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
2019-05-21 15:37:22 -04:00
Brett Witherspoon 8918473ec1 soc: ti_simplelink: add support for TI CC13x2 / CC26x2 series
Add initial support for the TI CC13x2 / CC26x2 series with the CC2652R
and CC1352R SoCs. The UART and GPIO peripherals are supported. Drivers
use the driverlib HAL from the TI CC13x2 / CC26x2 SDK.

Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
2019-05-04 09:13:43 -05:00
Brett Witherspoon 8e7d1df599 ext: simplelink: modify CC13x2/CC26x2 CCFG to use appropriate sections
The default customer configuration (CCFG) provided by the
TI CC13x2 / CC26x2 SDK puts the configuration in a section different
than expected by Zephyr. It has been modified to use the appropriate
section.

Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
2019-05-04 09:13:43 -05:00
Brett Witherspoon 4f751528e9 ext: simplelink: import HAL from TI CC13x2 / CC26x2 SDK 3.10.00.53
Add low level drivers (driverlib) and RF patches from the TI CC13x2 and
CC26x2 SDK. These sources have been added unmodified with the exception
of converting DOS to UNIX line endings.

The majority of these APIs are available in ROM and inclusion of the
headers will map functions that are not inline to the ROM versions.

Origin: Texas Instruments SimpleLink CC13x2 and CC26x2 SDK
License: BSD 3-Clause
URL: http://www.ti.com/tool/simplelink-cc13x2-26x2-sdk
Purpose: Provides HAL for TI CC13x2 and CC26x2 SoCs
Maintained-by: External

Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
2019-05-04 09:13:43 -05:00
Vincent Wan 9d0aae1f11 ext: simplelink: add workarounds when using POSIX headers
Adding additional workarounds to cc_pal.h that are necessary due to the
fact that the POSIX subsys does not integrate well with other parts of
Zephyr, as per discussion in #13444. These workarounds are needed when
fcntl.h is included, to avoid symbols from being redefined in POSIX
headers. They disable some POSIX headers and define what is necessary
for the code to compile.

We should aim to remove these when the integration story has improved.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-20 11:36:18 -05:00
Patrik Flykt cdf5843dfb all: Update reserved function names
Update reserved function names starting with one underscore, replacing
them as follows:
   '_k_' with 'z_'
   '_K_' with 'Z_'
   '_handler_' with 'z_handl_'
   '_Cstart' with 'z_cstart'
   '_Swap' with 'z_swap'

This renaming is done on both global and those static function names
in kernel/include and include/. Other static function names in kernel/
are renamed by removing the leading underscore. Other function names
not starting with any prefix listed above are renamed starting with
a 'z_' or 'Z_' prefix.

Function names starting with two or three leading underscores are not
automatcally renamed since these names will collide with the variants
with two or three leading underscores.

Various generator scripts have also been updated as well as perf,
linker and usb files. These are
   drivers/serial/uart_handlers.c
   include/linker/kobject-text.ld
   kernel/include/syscall_handler.h
   scripts/gen_kobject_list.py
   scripts/gen_syscall_header.py

Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
2019-03-11 13:48:42 -04:00
Vincent Wan 1966ce3b3c ext: simplelink: Remove build warnings
This commit removes build warnings in the SimpleLink SDK's driver.c file
by updating CMakeLists.txt

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan c563df13ca ext: simplelink: Run dos2unix on files imported from TI SimpleLink SDK
Getting rid of DOS line termination characters to be more
Linux-friendly.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan df76718727 ext: simplelink: Update the README
The README is updated for the new version of the TI SimpleLink SDK.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan 4bff140dad ext: simplelink: Add a workaround for #13444 in cc_pal.h
We are undefining timeval to avoid a symbol redefinition build error.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan 3931bc922f ext: simplelink: Add posix api and pthread support to Kconfig
When using the wifi driver, we should automatically select
CONFIG_POSIX_API and CONFIG_PTHREAD_IPC. This is necessary given the
code in the new SimpleLink host driver from the SimpleLink SDK uses
pthread and sem.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan ae6a2b66b2 ext: simplelink: Use Zephyr posix headers in cc_pal.h
We should use the headers from Zephyr, not the ones provided by TI for
their posix implementations.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan 19af0f2988 ext: simplelink: Update CMakeLists.txt to build new SDK
Updating it to build the correct list of files in the SDK.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan d95d4ee162 ext: simplelink: Update user.h
We are using the external spawn option, hence must make a change
to point to our os_Spawn implementation.

We are also supplying errno values that are missing from Zephyr errno.h
and the external errno setter function, to allow the SimpleLink
driver.c to compile.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan f3a0d1b3e8 ext: simplelink: Add updated CC3220 board files
This commit adds updated board files to configure the peripheral
drivers on the CC3220.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Vincent Wan 096585c0fd ext: simplelink: Import files from TI CC32XX SDK 2.40.01.01
Add/Update files taken from TI CC32XX SDK, including
    - peripheral drivers
    - driverlib (HAL)
    - WiFi host driver and porting layer interface headers

Origin: Texas Instruments cc32xx SimpleLink SDK
URL: http://www.ti.com/tool/download/simplelink-cc32xx-sdk
Purpose: Provide driver libraries and HAL for TI CC32XX SoC
Maintained-by: External

Fixes #11126

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-03-05 11:37:10 -05:00
Ulf Magnusson 725ed817f2 ext: Kconfig: Remove redundant 'default n' properties
Bool symbols implicitly default to 'n'.

A 'default n' could make sense e.g. in a Kconfig.defconfig file, if you
wanted to override a 'default y' on the base definition of the symbol,
but it doesn't seem to be used like that on any of these symbols.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-06-18 15:26:38 -04:00
Gil Pitney 6e35306464 net: drivers: wifi: SimpleLink WiFi Offload Driver (wifi_mgmt only)
Initiate a SimpleLink WiFi Driver, implemented to the WiFi management
offload APIs for scan, connect, disconnect.

Also registers the DHCP-obtained IPv4 address upon connect.

This was validated on a cc3220sf_launchxl using the wifi
shell module from the Zephyr shell_module sample.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2018-06-15 10:01:21 -04:00
Kumar Gala d1c9bc2a30 ext: simplelink: Fix minor typo in CONFIG_NUM_IRQs
CONFIG_NUM_IRQs should be CONFIG_NUM_IRQS

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-05-23 17:57:06 -04:00
Gil Pitney be021d1e79 ext: hal: ti: simplelink: Add comments to CMakeLists.txt
Add comments explaining why these three driverlib files need to be
built rather than using the ROM versions.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2018-05-08 17:35:25 -05:00
Gil Pitney 223095b74a ext: hal: ti: simplelink: ensure ROM APIs used in board port file
Previously, a rom.h header was missing from the SDK board porting
file, resulting in some MAP_ API calls not getting vectored to ROM.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2018-05-08 17:35:25 -05:00
Anas Nashif af9d3ed57b kconfig: fix help syntax and add spaces
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-13 17:43:28 -06:00
Gil Pitney 0fd9718e64 cmake: Fix ext/hal/ti/simplelink/CMakeLists.txt
After the cmake conversion, the SimpleLink WiFi host
driver would not build, and compiler flags like -Wno-strict-aliasing
were not being applied as they got spliced in before
-Wall rather than after.

This fixes those issues, using the set_source_files_properties()
method as suggeted in the CMakeLists.txt TODO comment.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-11-11 10:32:50 -05:00
Sebastian Bøe 2e526128b2 kbuild: Removed KBuild
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Sebastian Bøe 1fd9c72f9b Introduce cmake-based rewrite of KBuild
Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.

Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.

This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.

For users that just want to continue their work with minimal
disruption the following should suffice:

Install CMake 3.8.2+

Port any out-of-tree Makefiles to CMake.

Learn the absolute minimum about the new command line interface:

$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..

$ cd build
$ make

PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Manivannan Sadhasivam bb6abea14f ext: hal: Add MSP432P4XX SDK Kconfig/Build support
This patch adds Kconfig/build support to MSP432P4XX
SDK. MSP432P4XX microcontrollers have driverlib flashed
onto the ROM, which will be used by default.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Kumar Gala 02332052e5 ext: hal: ti: msp432p4xx: Tweak SDK to build with Zephyr
There are some minor conflicts or porting changes needed to get the
msp432p4xx SDK to work with Zephyr:
1. Remove definition of BIT, as it conflicts with Zephyr defined one
2. Set __SYSTEM_CLOCK define based on Zephyr Kconfig define
3. Fix a build warning that gets treated as an error.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Kumar Gala b2fed5bf8a ext: hal: ti: Add MSP432P4XX SDK
MSP432P4XX SDK is a CMSIS based SDK offered by Texas Instruments
for supporting their Simplelink MSP432P4XX microcontrollers. The
version included in Zephyr is V1.50.00.12 which is a stripped
down version containing only HAL and SoC header support.

Origin: SIMPLELINK-MSP432-SDK
License: BSD 3-Clause
URL: http://www.ti.com/tool/simplelink-msp432-sdk
Version: V1.50.00.12
Purpose: Provides HAL support to MSP432P4XX SoC
Maintained-by: External

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2017-10-19 12:16:11 -05:00
Gil Pitney 73a82a59f5 ext: simplelink: Build files for the SimpleLink host driver and DPL.
This patch adds files to build the SimpleLink host driver
and its DPL port to Zephyr.

It disables the host driver build by default.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-09 14:27:52 -04:00
Gil Pitney cc73e881ae ext: simplelink: Add SimpleLink DPL porting layer to Zephyr
This ports the SimpleLink WiFi host driver via its OS adaptation
layer to Zephyr OS primitives.

This was validated using an out-of-tree SimpleLink shell
application including functions for:
* WLAN connect, disconnect and scan
* Socket: UDP server and client

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-09 14:27:52 -04:00
Gil Pitney 59367e3a29 ext: simplelink: dos2unix EOL conversion on wifi/porting files
Convert some files in the Linux SimpleLink SDK installation
which had DOS line endings.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-09 14:27:52 -04:00
Gil Pitney ec1c8ebb63 ext: simplelink: Fix file modes of SimpleLink SDK files
Repair file modes of the TI SimpleLink SDK installation.

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-04 07:14:29 -05:00
Gil Pitney 2ebc46750e ext: simplelink: Update cc32xx SDK to version 1.50.00.06
This includes:
- peripheral drivers
- driverlib (HAL)
- WiFi host driver and porting layer interface headers

See README in this patch for details.

Origin: Texas Instruments cc32xx SimpleLink SDK
URL: http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK
Purpose: Provide driver libraries and HAL for TI CC32XX SoC
Maintained-by: External

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-10-04 07:14:29 -05:00
Gil Pitney c58a8db809 Revert "ext: simplelink: Import TI SimpleLink SDK host driver for CC3220SF"
This reverts commit e1382cc7d6344477167d076ad00b4238f22fe777.

Due to restrictive simplelink host driver source licensing.

This also reverts commits based on the simplelink wifi host
driver:

Revert "ext: simplelink: host driver: depend on multithreading"
commit: 4d912b004b6997e4312a903c85a3c75e2e24d7ca

Revert "ext: simplelink: Enable SimpleLink to use Zephyr __errno"
commit: 4e022f7b28dae683497e68180e500fbba24fd88f

Revert "ext: simplelink: Add SimpleLink DPL porting layer to Zephyr"
commit: 4bc51e67d481bc12e6555c6c3afd08c8c71706fb

Revert "ext: simplelink: Enable build of the SimpleLink host driver."
commit: 2d2615a49a9812784edbd57a9006b078ee220542

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-08-17 08:53:06 -05:00
Gil Pitney e86dbd0c9a cc3200: Remove TI cc3200 SOC and LaunchXL board support
Per ZEP-1958, Phase 2 of adding CC3220sf LaunchXL support,
was to "deprecate the CC3200 launchxl support in Zephyr
(redundant to the CC3220)."

Effectively, the CC3220 SOC replaces the CC3200.

This patch removes the following:
* the imported CC3200 SDK
* CC3200 SOC, board, DTS files.
* adjusts other files where cc3200 was mentioned.

Also, it fixes explicit references to CC3200 in generic
CC32xx driver files.

Jira: ZEP-1958

Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2017-08-15 11:02:48 -05:00