1. Update soc.c file to add USB clock setup
2. Add a linker script file to move USB transfer
buffer and controller buffers to USB RAM
3. Update Kconfig's to add USB support
4. Add zephyr_udc0 nodelabel
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
SRAM partitioning for non-secure should be done via a reserved-memory
node and not fixed-partitions. fixed-partitions is meant for flash
style devices.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Fix the settings in lpcxpresso55s69_ns.yaml to reflect the normal amount
of flash/ram that is allocated to the non-secure side.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Configures flexcomm2 to operate in USART mode and enables the associated
peripheral clock and pinmuxes. This instance is attached to the Arduino
serial header pins and can be used for Bluetooth serial HCI with a
frdm_kw41z or other BLE controller shield.
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
Move to using port property for a few cases in which we need to know
which specific hardware port a device is for. This allows us to
remove the PORT0/1 Kconfig options. This also fixes the issue that
assumed pio0 would map to DT_INST(0) and pio1 would map to DT_INST(1)
Fixes#35693
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
The flash layout definition has changed in upstream TF-M for the
LCPXPRESSO55S69 platform, for builds without bootloader. Fix the
layout in the boards' configuration, as well.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
This commit forces the `CONFIG_BUILD_WITH_TFM=y` option when
using the `_ns` build targets for the LPC55sXX.
Using these targets in samples or in CI without an accompanying
secure environment image (ex. TF-M) leads to execution failures,
since the NS images are offset a predetermined amount.
Fixes#35100
Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
This commit adds the missing `ARM_TRUSTZONE_M` config flag
from TrustZone-enabled cores on LPC55sxx board targets.
Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
Switch the default LPC board configuration to select the
TFM_PROFILE_TYPE_MEDIUM choice, instead of directly setting
the TFM_PROFILE variable, as this is now made hidden.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Remove SPI_[0-8] and SPI_[0-8]_OP_MODES Kconfig symbols as no driver
uses them anymore. We also cleanup board and sample code to remove
use of these symbols.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Convert driver and users of pinmux on mcux lpc platforms to getting
basic port info from devicetree (register address, label)
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Place the new signing code in the TFM module CMakeLists.txt.
Make some small tweaks and add a sentence to the docs.
In the process, make a few changes to the signing code:
- Change some names of files created.
- Minimize the number of files created.
- Use hex files instead of bin files. This is so we don't need to know
the offset when creating hex files from bin files.
Also add signing for MCUBOOT_IMAGE_NUMBER=1 based on the code from the
v2m_musca_b1 board, though, this board does not build with =1 now
because of (I assume) some flash aliasing which places the S and NS
images 0x10000000 apart, where the manual algorithm places them next to
each other. It builds with =2, though.
Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
The choice allowed for using TFM's own default. We now need full
knowledge over whether BL2 is enabled or not (e.g. to do signing),
so remove this option and simplify to a bool.
Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
This commit moves TFM CMakeLists.txt into Zephyr and relocates the
Kconfig.tfm file under the modules/tfm folder.
Updates the manifest to point to related TFM changes.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
A number of SoCs have overlapping devices at the same unit address.
Surpress the warning for those cases:
* Atmel - pinmux@41004400 & gpio@41004400
* Atmel - pinmux@41004480 & gpio@41004480
* Atmel - pinmux@41008000 & gpio@41008000
* NXP - flash@0 & gpio@0
* NXP - syscon@0 & gpio@0
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Document on how memory is mapped in different configurations starting
from the MCUboot partitioning of the flash. The given examples are for
TFM use cases and dual-core samples.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Updates lpcxpresso55s69 board's documentation with mailbox and multicore
setups. Explain how _cpu1 and _ns targets are used.
Also fixes TFM related documentation.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Merges cpu0 and cpu1 targets to a single image, named multicore.bin,
this image can be found in the build folder.
Documentation is to be updated in a later commit.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
for the signing procedures for boards an521, nrf5340, nrf9160,
nucleo_l552ze_q, and musca_b1.
Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
Set building TFM with MCUboot. Set the build configuration to
profile_medium, we need smaller TFM images to fit into flash.
Build MCUboot, TFM, sign it, sign Zephyr NS image and merge all the
images. Also change the other configuration, BL2=OFF, to merge as a
single image.
Update documentation on how to flash the board.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Create a special configuration when BL2=OFF is set. DTS partitioning is
used for MCUboot, but does not match TFM's flash_layout.h configuration
when BL2=OFF, DTS matches when BL2=ON.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Refactor lpcxpresso55s69's partitions to match TFM's flash_layout.h
configuration. This matches TFM with MCUboot configuration.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Some pins on the arduino header and on the mikrobus header were wrong.
These are now corrected. They are the same on the lpcxpresso55s28
board.
Signed-off-by: Christian Taedcke <christian.taedcke@lemonbeat.com>
Add Kconfig options that will be used by the module
to call the function with the desired parameters.
Refactor the tfm_integration samples and
the supported boards.
Update west.yml to bring in Cmake changes that use the new KConfigs.
Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
In the flash partition definitions for ARM boards,
the link to the legacy partition macros does not
exist any more. The commit cleans up the partition
definition by removing this link.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
-Add DMA channel details for the SPI DMA transfer
-Reserve HEAP_SPACE for DMA channel descriptors
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
TF-M related information in the relevant board definitions
needs to be updated in the wake of the new TF-M Build
system.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Enables hardware stack protection on all possible nxp lpc boards to
help detect stack overflows more easily. Boards that do not have mpu
support are excluded.
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
Adds an entropy dts chosen node for the lpcxpresso55s69_cpu1 board
configuration. Commit 50830385d8 added
this for the _cpu0 and _ns board configurations, but missed the _cpu1
board configuration.
Fixes sanitycheck build errors for network socket samples.
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
This board is broken and is preventing us from fixing issues that
allowed it to be merged skipping CI checks. Disabling the board from
sanitycheck to avoid more boards with the same issue from happening
again.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Configures the Non-Secure target to work with TFM.
Memory (Flash and RAM) mapping according to TFM definitions.
How to build and flash the board.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Signed-off-by: Kevin Townsend <kevin@ktownsend.com>
Moved the flash partitioning to the shared device tree include so all
targets can benefit from the partitioning.
This is implemented to MCUboot can run TFM(S) with Zephyr
(lpc55s69 cpu 0 NS).
Also defines RAM partitions as TFM expects them, first part of ram for
S, second half for NS.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Now that device_api attribute is unmodified at runtime, as well as all
the other attributes, it is possible to switch all device driver
instance to be constant.
A coccinelle rule is used for this:
@r_const_dev_1
disable optional_qualifier
@
@@
-struct device *
+const struct device *
@r_const_dev_2
disable optional_qualifier
@
@@
-struct device * const
+const struct device *
Fixes#27399
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
The zephyr,code-parition was set incorrectly to SRAM. Set it to the
slot0 partition, so that enabling BOOTLOADER_MCUBOOT will place the code
at the proper address.
Signed-off-by: David Brown <david.brown@linaro.org>
The partition table in DTS are offsets within the flash device, not
absolute addresses. The flash doesn't start at 0 on the lpc55s6x
(because of the secure execution bit), but the offsets in the partition
table should.
Signed-off-by: David Brown <david.brown@linaro.org>