summaryrefslogtreecommitdiffstats
path: root/bsps/arm/imxrt (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-11-28bsps/imxrt1166: Disable video_muxChristian Mauderer2-4/+7
The pinctrl-0 of the video_mux might overwrite pin settings done by other peripherals. Disabling it by default prevents unexpected pin settings.
2023-11-28bsp/imxrt1166: Support GPIO CS pins in LPSPIChristian Mauderer1-19/+225
With this, it is possible to use GPIOs as CS pins in the LPSPI. To avoid additional complexity, the GPIOs will have the same limitations as the native (hardware) CS pins. The GPIO CS feature adds a number of extra code when starting SPI transfers on this controller. Therefore it is possible to disable the additional code by just setting the IMXRT_LPSPI_MAX_CS option to 0. In that case only native CS pins are supported. At the moment, this feature is only enabled on i.MXRT1166 by default because it is not tested on i.MXRT1050. But it should work there too.
2023-08-21bsps/arm/imxrt: Optimize nocache memory settingsChristian Mauderer1-2/+2
The nocache-memory was set as device memory. It's not necessary to be that strict. Set it to normal non-cacheable non-shareable memory instead.
2023-08-21bsps/arm/imxrt1166: Enable USBChristian Mauderer3-46/+85
Enable the USB modules in the FDT.
2023-08-21bsps/imxrt: Fix enabling USBPHY in fsl_clockChristian Mauderer1-0/+8
The mcux-sdk tries to enable the USBPHY. But it uses the wrong register for that. This patch fixes the bug.
2023-07-24bsps/imxrt: Add imxrt1166_cm7_saltshaker BSPChristian Mauderer14-3/+6858
The BSP is for a custom i.MXRT1166 based board. At the moment, only the cortex M7 is supported.
2023-07-24bsps/imsrt: Make flash config more flexibleChristian Mauderer4-3/+7
The flash configuration is something very board specific. So move the file to a board specific location. Beneath that, not all controllers and configurations need the flash config right at the address 0 of the flash. For example on the i.MXRT11xx, the config has an offset for some flash types.
2023-07-24imxrt/mcux-sdk: Add HREQ-related bitsChristian Mauderer1-0/+25
According to the reference manual the bits exist and they can be used. Also confirmed by NXP support in the community forum: https://community.nxp.com/t5/i-MX-RT/i-MXRT1160-LPSPI-HREQ-supported/m-p/1668647#M25512
2023-07-24bsps/imxrt: Fix getting qtmr clock for i.MXRT11xxChristian Mauderer1-1/+1
The function returned a multiplexer value instead of the frequency.
2023-05-22bsps/imxrt: Move board specific filesChristian Mauderer4-0/+0
Move the files that are board specific and not specific to the chip family into a separate folder.
2023-05-22bsps/imxrt: Make chip start code chip specificChristian Mauderer2-0/+6
Some parts of the startup code don't apply for all chips. Make that part chip specific.
2023-05-22bsps/imxrt: Support more chip variants in headerChristian Mauderer1-9/+40
The different variants of the i.MXRT have some minimal differences in the fsl_flexspi_nor_config.h. Make sure that the header supports the different chips.
2023-05-22bsps/imxrt: Remove unmaintained definesChristian Mauderer2-56/+4
The defines for the different clock frequencies in the fsl_clock_config.h do not represent the clock frequencies that have been set up in the registers. Remove them to avoid someone trusting in correct values.
2023-05-22bsps/imxrt: Get clock for IMXRT11xx in driversChristian Mauderer4-6/+73
The mcux_sdk has a different interface for getting the clock for IMXRT11xx than for getting it in IMXRT10xx. Adapt simple drivers to support that interface.
2023-05-22bsps/imxrt1052: PLL config based on speed gradeChristian Mauderer1-0/+7
2023-05-22bsps/imxrt: Adapt to new mcux-sdk versionChristian Mauderer145-141136/+9
Remove the old NXP MCUXpresso SDK and adapt the BSP so that it uses the new mcux-sdk.
2023-05-22bsps/imxrt: (Re-)Apply RTEMS patches to new libChristian Mauderer9-0/+419
Reapply patches used in the old version of the NXP library and apply patches necessary for the new version of the library.
2023-05-22bsp/imxrt: Update support library from mcux-sdkChristian Mauderer246-0/+396279
This imports new files from the mcux-sdk support library. NXP now offers the library as a git repository instead of a zip package. The git repository supports multiple CPUs from the i.MXRT family: https://github.com/nxp-mcuxpresso/mcux-sdk.git The imported files are from revision 2b9354539e6e4f722749e87b0bdc22966dc080d9 This revision is the same as MCUXpresso 2.13.0 with small bug fixes. For importing the files, a script has been used, that parses the mcux-sdk cmake files and creates the yaml files for RTEMS: https://raw.githubusercontent.com/c-mauderer/nxp-mcux-sdk/d21c3e61eb8602b2cf8f45fed0afa50c6aee932f/export_to_RTEMS.py
2023-05-20Update company nameSebastian Huber21-21/+21
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2023-03-16score/arm: enhance ARMV7M MPU setup with capability to set control registerKarel Gardas1-1/+1
Due to API change, the patch also fixes affected BSPs and uses value provided by MPU CTRL spec option there. Sponsored-By: Precidata
2022-07-08bsps/arm/imxrt: Change license to BSD-2Joel Sherrill1-3/+22
Updates #3053.
2022-03-10bsps/arm/: Scripted embedded brains header file clean upJoel Sherrill1-6/+0
Updates #4625.
2022-02-21bsp/imxrt: Enforce alignment for devicetreeChristian Mauderer3-3/+3
A device tree binary has to be 8 byte aligned in memory. This is checked since RTEMS commit 34052ef78cf8724dee73e9279b2c6bff8cfed234 "libfdt: Add FDT alignment check to fdt_check_header()".
2021-09-02bsps/imxrt: Improve SPI driverChristian Mauderer1-73/+124
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 possible. Update #4180
2021-07-08bsps/imxrt: Fix undefined symbolChristian Mauderer1-1/+1
2021-07-02bsps/imxrt: Simplify linkcmds and make it flexibleChristian Mauderer6-64/+60
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
2021-07-02bsps/imxrt: Allow different ARM PLL settingChristian Mauderer2-0/+41
Update #4180
2021-06-24bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAXSebastian Huber1-1/+0
This define is no longer used. Update #3269.
2021-06-24bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNTSebastian Huber1-0/+1
Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT. After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be removed and replaced by BSP_INTERRUPT_VECTOR_COUNT. The BSP_INTERRUPT_VECTOR_COUNT allows a default implementation which supports no interrupt vector at all. Using COUNT instead of MAX may avoid some interpretation issues, for example is the maximum value a valid vector number or not. Update #3269.
2021-06-24bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber1-1/+0
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector numbers start with zero. The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit and building all BSPs. Update #3269.
2021-05-17bsps/imxrt: Enable DMA clockChristian Mauderer1-0/+3
The EDMA is intialized so make sure the the clock is initialized too. Update #4180
2021-05-17bsps/imxrt: Fix OCRAM, ITCM and DTCM sizesChristian Mauderer3-0/+33
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
2021-05-17bsps/imxrt: Add addresses and interrupts to dtsChristian Mauderer2-521/+1651
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
2021-05-17bsps/imxrt: Reduce devicetree sizeChristian Mauderer2-765/+472
Remove symbols that would be necessary for overlays and decrease padding that would be necessary for adding stuff during run-time. Update #4180
2021-05-17bsps/imxrt: Fix documentation errorChristian Mauderer1-1/+1
Update #4180
2021-03-21bsps/arm/imxrt: Add FDT and FDT helper for QTMRChristian Mauderer4-139/+293
Makes it simpler to access the QTMR in an application via a FDT name or link in an application specific FDT entry.
2021-01-21bsps/imxrt: Add ioctl to LPSPI to get registersChristian Mauderer2-0/+74
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
2021-01-21bsps/imxrt: Add DMA numbers to dtsiChristian Mauderer2-478/+604
Also currently no driver uses these numbers, it is usefull for applications that want to use the DMA. Update #4180
2021-01-21bsps/shared: Adapt fsl-edma driver for imxrtChristian Mauderer1-0/+3
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
2021-01-21bsps/imxrt: Use standard names to avoid warningsChristian Mauderer2-106/+103
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
2020-12-14bsps/imxrt: Split up dts.Christian Mauderer2-290/+311
This allows simpler creation of own dts files for custom boards. Update #4180
2020-11-20bsp/imxrt: Add new BSPChristian Mauderer23-35/+4858
Update #4180
2020-11-20bsp/imxrt: Adapt imported filesChristian Mauderer8-26/+80
Update #4180
2020-11-20bsp/imxrt: Fix warnings for imported filesChristian Mauderer5-0/+307
Update #4180
2020-11-20bsp/imxrt: Import files from MCUXpresso SDK V2.8.5Christian Mauderer145-0/+141919
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