Commit graph

104 commits

Author SHA1 Message Date
Maureen Helm
0540b1a699 soc: nxp_imx: Move code/data location configs to soc level
The imx rt family of socs has several options for linking code and data
into internal or external memories, and up until now we have handled
these options at the board level. This has resulted in several Kconfig
symbols being defined in multiple places and triggering warnings in
documentation builds:

warning: the default selection CODE_ITCM (defined at boards/arm/mimxrt1050_evk/Kconfig:13, boards/arm/mimxrt1060_evk/Kconfig:13) of <choice> (defined at boards/arm/mimxrt1050_evk/Kconfig:9) is not contained in the choice
warning: the choice symbol CODE_ITCM (defined at boards/arm/mimxrt1050_evk/Kconfig:13, boards/arm/mimxrt1060_evk/Kconfig:13) is defined with a prompt outside the choice
warning: the choice symbol CODE_HYPERFLASH (defined at boards/arm/mimxrt1050_evk/Kconfig:16, boards/arm/mimxrt1060_evk/Kconfig:16) is defined with a prompt outside the choice
warning: the choice symbol CODE_QSPI (defined at boards/arm/mimxrt1050_evk/Kconfig:19, boards/arm/mimxrt1060_evk/Kconfig:19) is defined with a prompt outside the choice
warning: the choice symbol CODE_ITCM (defined at boards/arm/mimxrt1050_evk/Kconfig:13, boards/arm/mimxrt1060_evk/Kconfig:13) is defined with a prompt outside the choice
warning: the choice symbol CODE_HYPERFLASH (defined at boards/arm/mimxrt1050_evk/Kconfig:16, boards/arm/mimxrt1060_evk/Kconfig:16) is defined with a prompt outside the choice
warning: the choice symbol CODE_QSPI (defined at boards/arm/mimxrt1050_evk/Kconfig:19, boards/arm/mimxrt1060_evk/Kconfig:19) is defined with a prompt outside the choice

The number of warnings increased as we added more imx rt boards. Fix the
warnings by moving code and data location configs from the board level
to the soc level.

The default memories for all imx rt boards are unchanged. The
mimxrt10{20,50,60}_evk boards still default to hyperflash/qspi for code
and sdram for data. The mimxrt1064_evk board still defaults to ITCM for
code and DTCM for data because jlink does not yet support programming
internal flash.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-02-13 17:52:20 -05:00
Anas Nashif
9fe4a94a12 doc: boards: split paragraph into multiple
Split the intro paragraph into multiple paragraphs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-02-11 07:45:21 -05:00
Anas Nashif
acaae579cc doc: boards: make board images consistent with board name
Having the image use the same name will help us script listing the
boards.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-02-10 17:48:08 -05:00
Anas Nashif
0e4ff809d7 doc: boards: move all board docs to be index.rst
Be consistent in how board docs are named and move all to index.rst.
This will make the URL to the board documentation predictable and easier
to remember.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-02-09 17:22:08 -06:00
Alexander Wachter
ad92d5bfe9 drivers: hwinfo: add driver support for NXP i.mx RT device ID
Add driver support for NXP i.mx RT ID device.
This device has an ID of 8 bytes.

Signed-off-by: Alexander Wachter <alexander.wachter@student.tugraz.at>
2019-02-07 15:08:18 -06:00
Maureen Helm
54047dc59a dts: boards: Add bindings and nodes for the rocktech lcd module
Adds device tree bindings and nodes for the rocktech lcd module used on
imx rt boards. The use of port, endpoint, and remote-endpoint properties
follow what is currently done in linux, but they are not yet used in
zephyr because some additional plumbing is needed in the
extract_dts_includes.py script.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-02-07 14:28:55 -06:00
Maureen Helm
769aa51dc8 boards: mimxrt1050_evk: Enable mcux elcdif driver and pins
Enables the mcux elcdif shim driver and pin muxes on the mimxrt1050_evk
board.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-02-07 14:28:55 -06:00
Kumar Gala
c3ba7335d9 boards: mimxrt{1020,1050,1060,1064}_evk remove CONFIG_ from dts files
The dts files on these boards had some CONFIG_ defines related to which
memory should be used to hold code.  We move this choice out of DTS and
back into Kconfig.

As such, we removed the default setting of 'zephyr,flash' and just
map

CONFIG_CODE_ITCM to:
	DT_NXP_IMX_RT_ITCM_0_SIZE
	DT_NXP_IMX_RT_ITCM_0_BASE_ADDRESS

CONFIG_CODE_{QSPI,HYPERFLASH} to:
	DT_NXP_IMX_FLEXSPI_402A8000_SIZE_1
	DT_NXP_IMX_FLEXSPI_402A8000_BASE_ADDDRESS_1

for the mimxrt1050_evk, we remove the default setting of 'zephyr,sram'
and just map:

CONFIG_DATA_DTCM to:
	DT_NXP_IMX_DTCM_0_SIZE
	DT_NXP_IMX_DTCM_0_BASE_ADDRESS

CONFIG_DATA_SDRAM to:
	DT_MMIO_SRAM_80000000_SIZE
	DT_MMIO_SRAM_80000000_BASE_ADDRESS

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-02-01 10:16:06 -06:00
Andrei Gansari
0787936d15 mimxrt1050_evk: eth_mcux: driver fixup
Boot PHY initialization timeout, caching mechanism fixes and networking
buffer descriptors moved to no cache section. Enabled cache management
in networking driver and manual barriers.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2019-01-31 13:22:58 -06:00
Andrei Gansari
933a062ab6 mimxrt1050_evk: default external flash and sdram
Moved from ITCM and DTCM to HyperFlash and SDRAM.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2019-01-31 13:22:58 -06:00
Kumar Gala
d27ec68d0f boards: arm: mimxrt10{20,50,60,64}_evk: Enable BOOT HEADER in Kconfig
If we are setting the code to be in HyperFlash (CONFIG_CODE_HYPERFLASH)
or QSPI (CONFIG_CODE_QSPI) we should enable
CONFIG_NXP_IMX_RT_BOOT_HEADER.

Update mimxrt1064_evk to use select like other boards.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-24 12:21:47 -06:00
Maureen Helm
ad52bce1d0 boards: mimxrt1050_evk: Add fxos8700 dts node
Adds an fxos8700 device tree node to the mimxrt1050_evk. The sensor
interrupt gpios require a board modification to be used and conflict
with Ethernet and LCD signals, therefore their pinmuxes are not
configured.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-01-18 06:49:35 -05:00
Maureen Helm
b7b238e021 boards: mimxrt1050_evk: Enable mcux lpi2c driver and pins
Enables the mcux lpi2c shim driver and pin muxes on the mimxrt1050_evk
board. Updates the board documentation and yaml supported list
accordingly.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-01-18 06:49:35 -05:00
Kumar Gala
d3e27f518f boards: arm: nxp: imxrt: Fix SPI nodes on flexspi controller
Fix the QSPI and hyperflash nodes to be proper SPI children and expose
the address range for direct access as part of the controller's reg
region.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-11 13:12:18 -06:00
Maureen Helm
b5551d0690 soc: boards: Reserve space for the imx boot header at the soc level
Moves the default TEXT_SECTION_OFFSET from the board level to the soc
level for the imx rt series. This offset is used to reserve space for
the imx boot header for external xip flash images.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2019-01-09 16:01:25 -06:00
Kumar Gala
67af71e01d boards: arm: Add xtools as a supported toolchain
Update all ARM boards to have xtools as a supported toolchain.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-09 14:18:58 -05:00
Andrei Gansari
574014146d mimix1050rt: ethernet initialization corrected
Fixes board PHY initialization.
ENET_RST and ENET_INT pins are also used as USER_LED/JTAG_TDI and
INT1_COMBO/JTAG_TDO. Initialization needs to set these pins to power and
interrupt for the PHY Transciver. PHY reset works without busy waiting.
Moved pin initialization back to PRE_KERNEL_1 to fix UART bug and busy
wait not required.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2018-12-18 12:49:24 +01:00
Kumar Gala
f13be5ebe3 boards: mimxrt1050_evk: Split QSPI flash config as a seperate board
To enable the QSPI you have to physically modify the board and this
disables the hyperflash.  Since we plan on removing Kconfig from device
trees, its easier to treat the QSPI flash as a seperate board config and
thus it will get a dts to match.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-12-11 09:23:21 -06:00
Maureen Helm
2167ae07ba boards: Fix and update nxp board doc links
Fixes broken user guide and schematics links in nxp board documentation.
Updates remaining nxp.com links from http to https.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-12-07 16:41:29 -05:00
Jakub Rzeszutko
f8178dcb05 shell: remove Console dependencies
Removed Console dependencies from shell uart backend.
Generated define: CONFIG_UART_SHELL_ON_DEV_NAME for each board.

Fixes #10191

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-12-07 12:11:11 +01:00
Maureen Helm
bfd98954b2 boards: mimxrt1050_evk: Enable pyocd runner
Adds support for debugging and flashing the mimxrt1050_evk board via
pyocd. Support for this board has not yet been merged in upstream pyocd,
therefore the default in zephyr is left as jlink.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-11-21 05:10:04 -06:00
Andrei Gansari
bf988dc3af boards: mimxrt1050_evk: networking added to documentation
Board documentation updated with Networking related infomation.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2018-11-20 09:54:25 -06:00
Andrei Gansari
a5174be648 mimxrt1050_evk: enabling networking hardware
Enables Networking hardware on i.MX-RT 1050-EVKB board.
Pinout enabled board specific etherenet connection, also pin
initialization was moved later to PRE_KERNEL_2 in order to have
sysclock initialized before.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2018-11-20 09:54:25 -06:00
Kumar Gala
758d5b14a9 boards: Remove board.h from boards that don't need it
These boards don't need board.h to work so remove it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-11-14 06:44:02 -06:00
Ulf Magnusson
4638652214 Kconfig: Use 'default' instead of 'def_bool' in Kconfig.defconfig files
This can help find unused symbols. Those end up without a type if
'default' is used instead of 'def_bool', which generates a warning.

Search for "Kconfig.defconfig" in
https://docs.zephyrproject.org/latest/application/kconfig-tips.html for
a longer explanation.

Keep the 'def_bool' for the following symbols, which seem to be
deliberately defined only in Kconfig.defconfig files:

 - ALTERA_AVALON_I2C
 - ALTERA_AVALON_MSGDMA
 - ALTERA_AVALON_PIO
 - ALTERA_AVALON_QSPI
 - ALTERA_AVALON_SYSID
 - CLOCK_CONTROL_IMX_CCM
 - CPU_EM4_DMIPS
 - CPU_EM4_FPUDA
 - CPU_EM4_FPUS
 - FP_FPU_DA
 - I2C_GECKO

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-11-13 16:04:01 -05:00
Maureen Helm
8a1de3e9dd boards: Convert frdm_k64f and mimxrt1050_evk to use ble controller shield
The frdm_k64f and mimxrt1050_evk boards do not have native bluetooth
support, but rather require an arduino shield to supply a ble controller
over serial hci. Convert the dts to use the newly introduced frdm_kw41z
ble controller shield.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-11-01 07:22:10 -04:00
Andrei Gansari
3d72216bce boards: mimxrt1050_evk: EVKB documentation update
EVKB (rev A1) board was added to the documentation.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2018-10-12 13:54:32 -05:00
Sebastian Bøe
25e7316ea7 boards: dts: Fix dtc warning in board dts files
This patch is equivalent to 7b0ce85242,
but applied to buttons. As stated in the previous commit message:

This change aims at fixing 'unit_address_vs_reg' warning in arm based
boards. This warning pops up when a node name is made up with an
address (node_name@xx) but does not contain a reg property. This case
was encountered for led nodes for instance, where a reg property has
no meaning.  Fix this by changing node_name@xx to node_name_xx which
removes the guilty '@XX' syntax but preserves node_name uniqueness.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-10-03 08:22:44 -05:00
Sebastian Bøe
fdae117b45 boards: dts: Fix dtc warning in board dts files
This patch is equivalent to 7b0ce85242,
but applied to more boards. As stated in the previous commit message:

This change aims at fixing 'unit_address_vs_reg' warning in arm based
boards. This warning pops up when a node name is made up with an
address (node_name@xx) but does not contain a reg property. This case
was encountered for led nodes for instance, where a reg property has
no meaning.  Fix this by changing node_name@xx to node_name_xx which
removes the guilty '@XX' syntax but preserves node_name uniqueness.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-10-02 11:03:30 -05:00
Maureen Helm
c73d5c7880 boards: mimxrt1050_evk: Enable lpuart3 for bluetooth hci
Enables instance 3 of the lpuart driver, adds dts fixups, and configures
pinmuxes to use bluetooth hci on the mimxrt1050_evk board. Updates board
documentation accordingly.

Tested with samples/bluetooth/peripheral_hr, with frdm_kw41z attached as
an arduino shield running the nxp hci controller application.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-09-27 05:55:55 +05:30
Johann Fischer
b64b9e7846 boards: arm: dts: remove unnecessary interrupt flag
Remove unnecessary GPIO_INT_ACTIVE_LOW flag from led node.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
2018-09-20 16:15:24 -07:00
Piotr Zięcik
edfcab428b arch: nxp_imx: Remove ARM_MPU_IMX_RT option.
The ARM_MPU_IMX_RT option is just selecting ARM_MPU option,
which could be also controlled through menuconfig.

This commit removes the ARM_MPU_IMX_RT option and replaces
its usage by ARM_MPU option.

Signed-off-by: Piotr Zięcik <piotr.ziecik@nordicsemi.no>
2018-09-20 14:16:50 +02:00
Maureen Helm
ca6a232ed4 mimxrt1050_evk: Configure an lpspi instance and pins
Enables an instance of the lpspi peripheral, configures the pinmuxes,
and updates the board documentation accordingly.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-09-19 09:15:29 -04:00
Maureen Helm
4f0f8ddeaf boards: Remove CONFIG_OSC_EXTERNAL defconfigs from non-kinetis boards
This config is only valid for kinetis boards. Fixes the Kconfig warning:

warning: the choice symbol OSC_EXTERNAL (defined at
arch/arm/soc/nxp_kinetis/Kconfig:53) was selected (set =y), but no
symbol ended up as the choice selection.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-08-30 10:51:57 -04:00
Carles Cufi
957262e37d build: Replace GCC ARM Embedded with GNU Arm Embedded
The old GCC ARM Embedded website on launchpad
(https://launchpad.net/gcc-arm-embedded) has been superseeded by the new
GNU Arm Embedded one
(https://developer.arm.com/open-source/gnu-toolchain/gnu-rm).

This also means a change of name from "GCC" to "GNU". Reflect this in
the enviroment variables so that the proper term is used henceforth.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-08-09 13:57:55 +02:00
Maureen Helm
7433f75e1a mimxrt1050_evk: Update jlink device name
A bug in the jlink application made it impossible to use OpenSDA
firmware with the mimxrt1052 device name, so we used the generic
Cortex-M7 device name as a workaround. This bug was fixed in jlink
V6.32h (2018-07-05), so now we can use the more specific device name.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-08-08 10:12:00 +02:00
Maureen Helm
5fda25af06 Revert "mimxrt1050_evk: disable sanitycheck on this board [REVERT ME]"
This reverts commit d147cc8dd4.

The board was fixed in commit 4b22ba7e4b.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-08-06 09:39:52 -05:00
Anas Nashif
d147cc8dd4 mimxrt1050_evk: disable sanitycheck on this board [REVERT ME]
Due to bug #9054 this boards is being disable from sanitycheck
temporarily.

Revert when the board is fixed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-07-24 09:58:18 -04:00
Alex Tereschenko
3c1a78ea0d cmake: replace PROJECT_SOURCE_DIR with ZEPHYR_BASE
Both variables were used (with the same value) interchangeably
throughout CMake files and per the discussion in GH issue,
ZEPHYR_BASE is preferred.

Also add a comment with explanation of one vs. the other.

Tested by building hello_world for several boards ensuring no errors.

Fixes #7173.

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
2018-06-18 15:25:55 -04:00
Ulf Magnusson
a3128e6a2c boards: defconfig: Consistently quote string defaults
In preparation for introducing a warning.

Unquoted string defaults work through a quirk of Kconfig (undefined
symbols get their name as their string value), but look confusing. It's
done inconsistently now too.

Suggested by Kumar Gala.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-05-26 19:17:48 -04:00
Maureen Helm
2368edd8e7 mimxrt1050_evk: Move led and button definitions to dts
Moves the led and button definitions for the mimxrt1050_evk board from
board.h to dts.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-05-14 14:36:15 -05:00
Maureen Helm
77e9e27d76 mimxrt1050_evk: Add config to select code linking location
Adds a board-level config option to select whether the code gets linked
into internal instruction tightly coupled memory (ITCM), external
hyperflash, or external qspi flash. The default is ITCM.

Note that we are not yet building an image vector table (IVT) into the
image, therefore the zephyr binary is not bootable by the SoC ROM as-is.
However, the DAPLink firmware prepends an IVT to the image when you use
its drag-and-drop feature to program flash, and this results in a
bootable zephyr application.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-05-08 17:39:28 -05:00
Maureen Helm
16399a6479 dts: mimxrt1050_evk: Add external memory nodes
Adds flexspi and semc memory controllers to the i.MX RT SoC. Adds
hyperflash, qspi, and sdram external memories to the mimxrt1050_evk
board.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2018-05-08 17:39:28 -05:00
Kumar Gala
c542c0e33e boards: dts: Cleanup aliases
Underscore ('_') isn't a valid char for alias names based on the device
tree spec.  Newer dtc compilers flag this as a warning so lets clean it
up.  Replaced '_' with '-' to keep things simple.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-04-12 04:03:46 -05:00
Paul Sokolovsky
69957a3d0f boards: Add "ram" and "flash" properties for a number of boards
Currently, it seems that only boards with smaller amount of RAM
get a value for "ram" property, and very few boards have "flash"
defined. However, to test bigger sample applications, it's helpful
to have these properties universally defined.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-03-16 13:44:06 -07:00
Kumar Gala
a73e8fa083 dts: nxp: Refactor imx/rt dts.fixup into arch/arm/soc
Move common SoC dts.fixup defines into arch/arm/soc/nxp_imx/rt/dts.fixup
so we remove duplication in the boards and only have board specific
defines in boards/arm/<FOO>/dts.fixup.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-21 11:38:36 -06:00
Carles Cufi
7d764b35f3 cmake: Use path-corrected version of ZEPHYR_BASE
Instead of accessing the environment variable ZEPHYR_BASE every time we
require accessing the source code root, use an intermediate variable
that has OS path separators correctly set to '/' to avoid issues on
Windows.

Note: This removes the ZEPHYR_SOURCE_DIR CMake variable. External
applications using that will need to change to use the new ZEPHYR_BASE
variable.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-01-11 14:59:03 -05:00
Marti Bolivar
7a3462de7a scripts: runner: use arguments, not environment vars
The various runners (flash/debug scripts) use environment variables to
take arguments. This is legacy behavior which is not desirable.

Use command line arguments instead.

Note: this leaves more general environment variables with publicly
      documented behavior in place for now, for compatibility, e.g.:

      ZEPHYR_FLASH_OVER_DFU, OPENSDA_FW, ESP_IDF_PATH, PYOCD_DAPARG

For example, when using dfu-util to flash arduino_101, instead of
setting DFUUTIL_PID, DFUUTIL_ALT, and DFUUTIL_IMG environment
variables, have the script invocation look like this:

  python3 .../zephyr_flash_debug.py dfu-util flash \
          [common arguments omitted] \
          --pid=8087:0aba --alt=x86_app \
          --img=.../build/zephyr/zephyr.bin

Make similar changes for other runners (openocd, etc.) and
targets (debug, debugserver).

To implement this in the scripts:

  - have the individual scripts/support/runner/some-runner.py files
    register their own command line arguments

  - teach them to construct instances from arguments, not the
    environment

  - have zephyr_flash_debug.py request runners to register command
    line argument parsers, and handle arguments

In the build system:

  - add a new board_runner_args() extension function that board.cmake
    files can use to add to the zephyr_flash_debug.py command line

  - adjust cmake/flash/CMakeLists.txt to invoke with arguments

  - add new helper include files for each runner (like
    boards/common/dfu-util.board.cmake, etc.), which add default
    options as needed and then add on overrides from
    board_runner_args() calls

  - update board.cmake files to use the new includes and extension

This implied some tweaking when using openocd to make the CMake string
escaping and unescaping work properly.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2017-12-15 09:57:30 -05:00
Marti Bolivar
e33ec242fd scripts: refactor flash/debug scripts to remove "shell"
The Python-based runners have replaced the old shell scripts. Refactor
the build system accordingly:

- FLASH_SCRIPT is now BOARD_FLASH_RUNNER
- DEBUG_SCRIPT is now BOARD_DEBUG_RUNNER

The values, rather than being the names of files, are now the names of
runners in scripts/support/runner. They are still short, descriptive
names like "openocd", "jlink", "em-starterkit", etc.

Adjust the zephyr_flash_debug.py call and runner internals
accordingly. Have each runner class report a name and the commands it
can handle. This lets us move some boilerplate from each do_run()
method into the common run() routine, and enables further improvements
in future patches.

The handles_command() method is temporary, and will be replaced by a
more general mechanism for describing runner capabilities in a
subsequent patch. The initial use case for extending this is to add
device tree awareness to the runners.

To try to avoid user confusion, abort the configuration if an
xxx_SCRIPT is defined.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
2017-12-15 09:57:30 -05:00
Maureen Helm
5e9c13afe6 mimxrt1050_evk: Fix kernel timer frequency
The kernel timer frequency was incorrectly set to the system clock
frequency (528 MHz) instead of the core clock frequency (600 MHz).

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-28 11:43:14 -06:00
Maureen Helm
d952aae3f1 doc: Convert mimxrt1050_evk doc to CMake
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-17 18:36:16 -05:00
Maureen Helm
fb011862e4 mimxrt1050_evk: Fix setting of JLINK_DEVICE
The '=' character was incorrectly getting passed to the JLinkGDBServer
device argument, and caused the server to fail to connect to the target.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-15 16:24:11 -06:00
Maureen Helm
457699cd3c arm: Enable the ARM MPU on the NXP i.MX RT SoC and board
Unlike other NXP SoCs currently in Zephyr, the mimxrt1052 has the ARM
MPU rather than the NXP MPU. Start out by enabling it with a simple set
of memory regions for "flash" (ITCM), "ram" (DTCM), and the peripheral
buses. More regions will need to be added when we implement support for
external memories.

Tested with:
- samples/mpu/mpu_stack_guard_test
- tests/kernel/mem_protect/protection

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-15 09:09:58 -06:00
Maureen Helm
ec11279645 boards: arm: Add NXP mimxrt1050_evk
Adds support for the NXP MIMXRT1050-EVK board, an entry-level
development board for the new mimxrt1052 Cortex-M7 SoC.

Adds pinmuxing, dts, documentation, and jlink debug support for the new
board. Note that pinmuxing uses the mcux pinmux driver directly rather
than the Zephyr pinmux interface. The mimxrt1052 SoC has complicated
pinmuxing that may require changing the Zephyr pinmux interface to
support, so for now let's use the mcux driver directly.

We are also not yet configuring the external flash, therefore a debugger
is required to load code to the internal sram. The on-board OpenSDA
circuit with jlink firmware is sufficient, and the 'make debug' build
target is supported.

Samples tested include: hello_world, philosophers, synchronization,
basic/blinky, and basic/button.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-11-15 09:09:58 -06:00