1The SimpleLink SDKs provide peripheral driver and WiFi libraries
2and hardware register access header files for the Texas Instruments
3SimpleLink SoCs.
4
5For an explanation of the SimpleLink family SDK directory structure, see:
6http://dev.ti.com/tirex/content/simplelink_cc32xx_sdk_2_40_01_01/docs/simplelink_mcu_sdk/Users_Guide.html#directory-structure
7
81. CC13x2/26x2 SDK
9
10The current version supported in Zephyr is the SimpleLink CC13x2 and CC26x2 SDK
114.40.04.04, downloaded from:
12
13  http://www.ti.com/tool/simplelink-cc13x2-26x2-sdk
14
15The driver library source is copied from the SDK, as follows:
16
17  EXT_DIR=$HOME/hal_ti/simplelink/source/ti
18  pushd simplelink_cc13x2_26x2_sdk_4_40_04_04/source/ti
19  find devices/cc13x2_cc26x2/{driverlib,inc,rf_patches} -depth -name '*.[c|h]' -print0 | cpio --null -pvdm $EXT_DIR
20  find devices/cc13x2_cc26x2/startup_files -depth -name ccfg.c -print0 | cpio --null -pvd $EXT_DIR
21  cp -r drivers/power/* $EXT_DIR/drivers/power/.
22  mkdir $EXT_DIR/drivers/temperature
23  cp -r drivers/temperature/* $EXT_DIR/drivers/temperature/.
24  cp drivers/Temperature.* $EXT_DIR/drivers/.
25  mkdir $EXT_DIR/drivers/rf
26  cp drivers/rf/RF.h $EXT_DIR/drivers/rf/.
27  cp drivers/rf/RFCC26X2.h $EXT_DIR/drivers/rf/.
28  cp drivers/rf/RFCC26X2_multiMode.c $EXT_DIR/drivers/rf/.
29  find $EXT_DIR/devices/cc13x2_cc26x2 -name '*.[c|h]' -exec dos2unix {} \;
30  find $EXT_DIR/drivers/power -name '*.[c|h]' -exec dos2unix {} \;
31  find $EXT_DIR/drivers/rf -name '*.[c|h]' -exec dos2unix {} \;
32  find $EXT_DIR/drivers/temperature -name '*.[c|h]' -exec dos2unix {} \;
33  popd
34
35Afterwards, search through the `git diff` for the 'Zephyr' word in comments and
36reapply specific patches.
37
38The source file devices/cc13x2_cc26x2/startup_files/ccfg.c has been
39modified to use the appropriate sections when linking.
40
41TI provides the driver library functions burned into ROM at the factory,
42or updated via a service pack patch, thus saving application code space.
43
44After setting CONFIG_HAS_CC13X2_CC26X2_SDK=y in Kconfig, most of the
45peripheral driver library functions will be accessible from ROM.
46
472. CC32xx SDK
48
49The current version supported in Zephyr is the SimpleLink CC32xx SDK
504.10.00.07, downloaded from:
51
52	http://www.ti.com/tool/download/simplelink-cc32xx-sdk
53
54Source files from select subdirectories are copied from the
55source/ti/ subdirectory of the SDK installation, as follows:
56
57	EXT_DIR=$HOME/hal_ti/simplelink/source/ti
58	find devices -not -path '*/\.*' -name '*.[c|h]' | \
59		cpio -pdm $EXT_DIR
60	find drivers -name '*.[c|h]' | \
61		cpio -pdm $EXT_DIR
62	find net -maxdepth 1 -name '*.[c|h]' | cpio -pdm $EXT_DIR
63	cd $EXT_DIR
64	find . -name '*.[c|h]' -exec chmod 664 {} \;
65	find $EXT_DIR/devices/cc32xx -name '*.[c|h]' -exec dos2unix {} \;
66	find $EXT_DIR/drivers -name '*.[c|h]' -exec dos2unix {} \;
67
68When updating to a new SDK, a comparison of the files in the 'devices'
69and 'drivers' directories as copied above should be performed to pick up
70any new changes. Header files in source/ti/drivers/dpl should also be
71compared, both to pick up new changes and to ensure any modifications
72that were previously made are kept in place after the update if
73appropriate.
74
75In addition, some files in the source/ti/drivers/net/wifi/porting
76directory may need to be updated: notably user.h, cc_pal.c and cc_pal.h.
77Files in kernel/zephyr/dpl copied verbatim from kernel/nortos/dpl in the
78SDK, such as QueueP.h, QueueP_nortos.c and SwiP_nortos.c, should be
79compared to see if new changes have been introduced.
80
81Note: TI provides the driver library functions burned into ROM at the factory,
82or updated via a service pack patch, thus saving application code space.
83
84Calling driverlib APIs prefixed by "MAP_" will vector to those functions
85already existing in ROM.
86
87After setting CONFIG_HAS_CC3220SDK=y in Kconfig, most of the
88peripheral driver library functions will be accessible from ROM,
89except for some functions in the following modules, which are
90compiled in the Kbuild file:
91- driverlib/pin.c
92- driverlib/utils.c
93- driverlib/prcm.c
94
95Setting CONFIG_SIMPLELINK_HOST_DRIVER=y builds the SimpleLink Host
96Driver, which communicates over dedicated SPI to the
97network coprocessor.
98
992. MSP432 SDK
100
101The current version supported in Zephyr is MSP432 SDK V1.50.00.12, downloaded
102from:
103
104        http://www.ti.com/tool/simplelink-msp432-sdk
105
106Files in source/ti/devices/msp432p4xx/driverlib/ and inc/ are copied from
107a Linux SDK installation (without modification).
108
109TI provides the driver library functions burned into ROM at the factory,
110or updated via a service pack patch, thus saving application code space.
111
112Calling driverlib APIs prefixed by "MAP_" will vector to those functions
113already existing in ROM.
114
115After setting CONFIG_HAS_MSP432P4XXSDK=y in Kconfig, most of the
116peripheral driver library functions will be accessible from ROM.
117