summaryrefslogtreecommitdiffstats
path: root/bsps/arm/imxrt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/imxrt1166: Disable video_muxChristian Mauderer2023-11-282-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.
* bsp/imxrt1166: Support GPIO CS pins in LPSPIChristian Mauderer2023-11-281-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.
* bsps/arm/imxrt: Optimize nocache memory settingsChristian Mauderer2023-08-211-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.
* bsps/arm/imxrt1166: Enable USBChristian Mauderer2023-08-213-46/+85
| | | | Enable the USB modules in the FDT.
* bsps/imxrt: Fix enabling USBPHY in fsl_clockChristian Mauderer2023-08-211-0/+8
| | | | | The mcux-sdk tries to enable the USBPHY. But it uses the wrong register for that. This patch fixes the bug.
* bsps/imxrt: Add imxrt1166_cm7_saltshaker BSPChristian Mauderer2023-07-2414-3/+6858
| | | | | The BSP is for a custom i.MXRT1166 based board. At the moment, only the cortex M7 is supported.
* bsps/imsrt: Make flash config more flexibleChristian Mauderer2023-07-244-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.
* imxrt/mcux-sdk: Add HREQ-related bitsChristian Mauderer2023-07-241-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
* bsps/imxrt: Fix getting qtmr clock for i.MXRT11xxChristian Mauderer2023-07-241-1/+1
| | | | The function returned a multiplexer value instead of the frequency.
* bsps/imxrt: Move board specific filesChristian Mauderer2023-05-224-0/+0
| | | | | Move the files that are board specific and not specific to the chip family into a separate folder.
* bsps/imxrt: Make chip start code chip specificChristian Mauderer2023-05-222-0/+6
| | | | | Some parts of the startup code don't apply for all chips. Make that part chip specific.
* bsps/imxrt: Support more chip variants in headerChristian Mauderer2023-05-221-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.
* bsps/imxrt: Remove unmaintained definesChristian Mauderer2023-05-222-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.
* bsps/imxrt: Get clock for IMXRT11xx in driversChristian Mauderer2023-05-224-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.
* bsps/imxrt1052: PLL config based on speed gradeChristian Mauderer2023-05-221-0/+7
|
* bsps/imxrt: Adapt to new mcux-sdk versionChristian Mauderer2023-05-22145-141136/+9
| | | | | Remove the old NXP MCUXpresso SDK and adapt the BSP so that it uses the new mcux-sdk.
* bsps/imxrt: (Re-)Apply RTEMS patches to new libChristian Mauderer2023-05-229-0/+419
| | | | | Reapply patches used in the old version of the NXP library and apply patches necessary for the new version of the library.
* bsp/imxrt: Update support library from mcux-sdkChristian Mauderer2023-05-22246-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
* Update company nameSebastian Huber2023-05-2021-21/+21
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* score/arm: enhance ARMV7M MPU setup with capability to set control registerKarel Gardas2023-03-161-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
* bsps/arm/imxrt: Change license to BSD-2Joel Sherrill2022-07-081-3/+22
| | | | Updates #3053.
* bsps/arm/: Scripted embedded brains header file clean upJoel Sherrill2022-03-101-6/+0
| | | | Updates #4625.
* bsp/imxrt: Enforce alignment for devicetreeChristian Mauderer2022-02-213-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()".
* bsps/imxrt: Improve SPI driverChristian Mauderer2021-09-021-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
* bsps/imxrt: Fix undefined symbolChristian Mauderer2021-07-081-1/+1
|
* bsps/imxrt: Simplify linkcmds and make it flexibleChristian Mauderer2021-07-026-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
* bsps/imxrt: Allow different ARM PLL settingChristian Mauderer2021-07-022-0/+41
| | | | Update #4180
* bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAXSebastian Huber2021-06-241-1/+0
| | | | | | This define is no longer used. Update #3269.
* bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNTSebastian Huber2021-06-241-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.
* bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber2021-06-241-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.
* bsps/imxrt: Enable DMA clockChristian Mauderer2021-05-171-0/+3
| | | | | | The EDMA is intialized so make sure the the clock is initialized too. Update #4180
* bsps/imxrt: Fix OCRAM, ITCM and DTCM sizesChristian Mauderer2021-05-173-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
* bsps/imxrt: Add addresses and interrupts to dtsChristian Mauderer2021-05-172-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
* bsps/imxrt: Reduce devicetree sizeChristian Mauderer2021-05-172-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
* bsps/imxrt: Fix documentation errorChristian Mauderer2021-05-171-1/+1
| | | | Update #4180
* bsps/arm/imxrt: Add FDT and FDT helper for QTMRChristian Mauderer2021-03-214-139/+293
| | | | | Makes it simpler to access the QTMR in an application via a FDT name or link in an application specific FDT entry.
* bsps/imxrt: Add ioctl to LPSPI to get registersChristian Mauderer2021-01-212-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
* bsps/imxrt: Add DMA numbers to dtsiChristian Mauderer2021-01-212-478/+604
| | | | | | | Also currently no driver uses these numbers, it is usefull for applications that want to use the DMA. Update #4180
* bsps/shared: Adapt fsl-edma driver for imxrtChristian Mauderer2021-01-211-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
* bsps/imxrt: Use standard names to avoid warningsChristian Mauderer2021-01-212-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
* bsps/imxrt: Split up dts.Christian Mauderer2020-12-142-290/+311
| | | | | | This allows simpler creation of own dts files for custom boards. Update #4180
* bsp/imxrt: Add new BSPChristian Mauderer2020-11-2023-35/+4858
| | | | Update #4180
* bsp/imxrt: Adapt imported filesChristian Mauderer2020-11-208-26/+80
| | | | Update #4180
* bsp/imxrt: Fix warnings for imported filesChristian Mauderer2020-11-205-0/+307
| | | | Update #4180
* bsp/imxrt: Import files from MCUXpresso SDK V2.8.5Christian Mauderer2020-11-20145-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