#4180 closed enhancement (fixed)

Add BSP for i.MXRT1050

Reported by: Christian Mauderer Owned by: Christian Mauderer
Priority: normal Milestone: 6.1
Component: bsps Version: 6
Severity: normal Keywords:
Cc: Blocked By:


Add a BSP for the ​i.MXRT1050 series. The default settings for the BSP will run on the IMXRT1050-EVKB evaluation board.

Change History (29)

comment:1 Changed on 11/20/20 at 07:54:42 by Christian Mauderer <christian.mauderer@…>

In e00f443/rtems:

imx: Move imx_iomux to arm/shared

Update #4180

comment:2 Changed on 11/20/20 at 07:54:45 by Christian Mauderer <christian.mauderer@…>

In 6cece585/rtems:

bsps/imx: Move imx-gpio to arm/shared

Update #4180

comment:3 Changed on 11/20/20 at 07:54:49 by Christian Mauderer <christian.mauderer@…>

In b169095c/rtems:

cpu/armv7m: Add table based init for ARMV7M_MPU

Modify the MPU functions of the stm32h7 BSP to be table based and
available for all ARMV7M BSPs.

Update #4180

comment:4 Changed on 11/20/20 at 07:54:53 by Christian Mauderer <christian.mauderer@…>

In 48f6a6c/rtems:

bsp/imxrt: Import files from MCUXpresso SDK V2.8.5

The following files have been imported:

cp ${SDK}/boards/evkbimxrt1050/project_template/clock_config.c nxp/boards/evkbimxrt1050
cp ${SDK}/boards/evkbimxrt1050/project_template/clock_config.h include/fsl_clock_config.h
cp ${SDK}/boards/evkbimxrt1050/project_template/dcd.c start/flash-dcd.c
cp ${SDK}/boards/evkbimxrt1050/project_template/pin_mux.c nxp/boards/evkbimxrt1050
cp ${SDK}/boards/evkbimxrt1050/project_template/pin_mux.h include/fsl_pin_mux.h
cp ${SDK}/boards/evkbimxrt1050/xip/evkbimxrt1050_flexspi_nor_config.h include/fsl_flexspi_nor_config.h
cp ${SDK}/devices/MIMXRT1052/MIMXRT1052.h include
cp ${SDK}/devices/MIMXRT1052/MIMXRT1052_features.h include
cp ${SDK}/devices/MIMXRT1052/drivers/fsl_*.c nxp/devices/MIMXRT1052/drivers
cp ${SDK}/devices/MIMXRT1052/drivers/fsl_*.h include
cp ${SDK}/devices/MIMXRT1052/fsl_device_registers.h include
cp ${SDK}/devices/MIMXRT1052/system_MIMXRT1052.h include/
cp ${SDK}/devices/MIMXRT1052/xip/fsl_flexspi_nor_boot.c nxp/devices/MIMXRT1052/xip/fsl_flexspi_nor_boot.c
cp ${SDK}/devices/MIMXRT1052/xip/fsl_flexspi_nor_boot.h include

Update #4180

comment:5 Changed on 11/20/20 at 07:54:56 by Christian Mauderer <christian.mauderer@…>

In 8abf858c/rtems:

bsp/imxrt: Fix warnings for imported files

Update #4180

comment:6 Changed on 11/20/20 at 07:54:59 by Christian Mauderer <christian.mauderer@…>

In 57b5b29c/rtems:

bsp/imxrt: Adapt imported files

Update #4180

comment:7 Changed on 11/20/20 at 07:55:03 by Christian Mauderer <christian.mauderer@…>

In 7141afbb/rtems:

bsp/imxrt: Add new BSP

Update #4180

comment:8 Changed on 11/20/20 at 08:07:53 by Christian Mauderer <christian.mauderer@…>

In e95d992/rtems-docs:

user/bsps: Add imxrt

Update #4180

comment:9 Changed on 12/14/20 at 11:54:55 by Christian Mauderer <christian.mauderer@…>

In b63a187/rtems:

bsps/imxrt: Split up dts.

This allows simpler creation of own dts files for custom boards.

Update #4180

comment:10 Changed on 12/14/20 at 11:54:59 by Christian Mauderer <christian.mauderer@…>

In 9b3def2/rtems:

bsps/arm/imx*: Fix location of shared headers

When moving the headers from the imx BSP to the shared area, the wrong
directory has been selected. This patch fixes that problem.

Update #4180

comment:11 Changed on 12/14/20 at 11:55:02 by Christian Mauderer <christian.mauderer@…>

In eb2b915/rtems:

cpu/armv7m: Fix table based init for ARMV7M_MPU

Somehow the table index has been missing in the latest patch version.
With that, the configuration for the first region has been applied
multiple times.

Update #4180

comment:12 Changed on 12/14/20 at 11:55:29 by Christian Mauderer <christian.mauderer@…>

In 2cf3076/rtems-docs:

user/bsp/imxrt: Information for custom FDT

Update #4180

comment:13 Changed on 01/21/21 at 09:26:38 by Christian Mauderer <christian.mauderer@…>

In 22e9dafb/rtems:

bsps/imxrt: Use standard names to avoid warnings

If spi or i2c slaves are "connected" to the spi or i2c bus, the device
tree compiler complains if the busses are not named spi or i2c.

Update #4180

comment:14 Changed on 01/21/21 at 09:26:42 by Christian Mauderer <christian.mauderer@…>

In 301bbc3/rtems:

bsps/shared: Copy fsl-edma from mpc55xx

This is a preparation for making the driver universal.

Update #4180

comment:15 Changed on 01/21/21 at 09:26:45 by Christian Mauderer <christian.mauderer@…>

In a434cc8/rtems:

bsps/shared: Adapt fsl-edma driver for imxrt

Note: The changes have been done with portability in mind. The driver
should (in theory) be able to replace the original one in the MPC BSPs
too. For full compatibility an adaption layer and especially a test
would be necessary. Because both are missing, don't integrate it into
the MPC BSP now.

Update #4180

comment:16 Changed on 01/21/21 at 09:26:48 by Christian Mauderer <christian.mauderer@…>

In d9794a1/rtems:

bsps/imxrt: Add DMA numbers to dtsi

Also currently no driver uses these numbers, it is usefull for
applications that want to use the DMA.

Update #4180

comment:17 Changed on 01/21/21 at 09:26:55 by Christian Mauderer <christian.mauderer@…>

In 36b4e8c/rtems:

bsps/imxrt: Add ioctl to LPSPI to get registers

This allows an application to get the registers of the LPSPI. That is
usefull for applications that want to use DMA for a very specialized and
highly optimized communication.

Update #4180

comment:18 Changed on 05/17/21 at 07:13:13 by Christian Mauderer <christian.mauderer@…>

In 08e4e6f2/rtems:

bsps/imxrt: Fix documentation error

Update #4180

comment:19 Changed on 05/17/21 at 07:13:16 by Christian Mauderer <christian.mauderer@…>

In c3056666/rtems:

bsps/imxrt: Reduce devicetree size

Remove symbols that would be necessary for overlays and decrease padding
that would be necessary for adding stuff during run-time.

Update #4180

comment:20 Changed on 05/17/21 at 07:13:20 by Christian Mauderer <christian.mauderer@…>

In 988cc1a/rtems:

bsps/imxrt: Add addresses and interrupts to dts

Add addresses and interrupts for most internal peripherals to the dts.
The additional aliases make it possible for an application to easily
access these informations.

Update #4180

comment:21 Changed on 05/17/21 at 07:13:23 by Christian Mauderer <christian.mauderer@…>

In 691fec40/rtems:

bsps/imxrt: Fix OCRAM, ITCM and DTCM sizes

The sizes are configurable via fuses or per software via some registers.
At the moment the registers are not changed. Changing the registers
destroys data stored in the RAM areas (like application code or data).
So either the fuses or some bootloader should be used to set them before
the application starts.

This also adds an OCRAM only linker command file.

Update #4180

comment:22 Changed on 05/17/21 at 07:13:27 by Christian Mauderer <christian.mauderer@…>

In 15e26f4/rtems:

bsps/imxrt: Enable DMA clock

The EDMA is intialized so make sure the the clock is initialized too.

Update #4180

comment:23 Changed on 05/28/21 at 06:27:33 by Christian Mauderer <christian.mauderer@…>

In a3ebe17/rtems-docs:

bsps/imxrt: Remove superfluous options from dtc

The -@ option adds symbols that are used when applying an overlay. RTEMS
doesn't support overlays or re-parsing of device trees. So the symbols
only increase the size of the binary.

The same is true for the padding. It would be useful if the device tree
is changed during run time which is not supported in RTEMS.

Update #4180

comment:24 Changed on 07/02/21 at 11:51:06 by Christian Mauderer <christian.mauderer@…>

In 95a38dd/rtems:

bsps/imxrt: Allow different ARM PLL setting

Update #4180

comment:25 Changed on 07/02/21 at 11:51:10 by Christian Mauderer <christian.mauderer@…>

In 0d3453a4/rtems:

bsps/imxrt: Simplify linkcmds and make it flexible

Calling the memory FLASH and EXTRAM instead of FLEXSPI and SDRAM makes
it simpler to support other types of external RAM. This patch also
removes some of the calculations and improves names and documentation to
avoid pitfalls. It removes a unnecessary memory definition.

Update #4180

comment:26 Changed on 07/02/21 at 11:53:08 by Christian Mauderer <christian.mauderer@…>

In 72ae964/rtems-docs:

user/bsps/imxrt: Info about ARM PLL frequency

Update #4180

comment:27 Changed on 09/02/21 at 06:38:40 by Christian Mauderer <christian.mauderer@…>

In e495633/rtems:

bsps/imxrt: Improve SPI driver

It wasn't possible to keep the CS line low between multiple message
descriptors in one transfer. This patch reworks the driver so that it is

Update #4180

comment:28 Changed on 12/17/21 at 07:39:50 by Christian Mauderer

The base BSP works since quite some time now. Further changes to this BSP are improvements. Therefore closing this ticket now.

comment:29 Changed on 12/17/21 at 07:40:16 by Christian Mauderer

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.