circuitpython/ports/mimxrt
Philipp Ebensberger 0d7366c912 mimxrt: Rework flash configuration.
- Moves definition of BOARD_FLASH_SIZE and other header files related to
	flash configuration into the Makefile.
- Adds board specific clock_config.h.
- Adds board.h, pin_mux.h, and peripherals.h as they are
	required by NXP MCU SDK in order to use our own clock_config.h.
- Renames board specific FlexSPI configuration files.
- Updates flash frequency of MIMXRT1020_EVK
- Creates separated flash_config files for QSPI NOR and
	QSPI Hyper flash.
- Unifies VFS start address to be @ 1M for 1010 and 1020 boards.
- Unifies 1050EVK boards
- Adds support to both NOR and HyperFlash on boards with
	both capabilities.
- Adds automatic FlexRAM initialization to start-up code based on
	linker script and NXP HAL.
- Applies code formatting to all files in mimxrt port.

With this change the flash configuration is restructured and
organized. This simplifies the configuration process and
provides a better overview of each board's settings. With the integration
of clock_config.h, board.h, pin_mux.h, and peripherals.h we gain better
control of the settings and clock configurations. Furthermore the
implementation of an explicit FlexRAM setup improves the system
performance and allows for performance tuning.

Signed-off-by: Philipp Ebensberger
2021-09-14 13:52:52 +02:00
..
boards mimxrt: Rework flash configuration. 2021-09-14 13:52:52 +02:00
hal mimxrt: Rework flash configuration. 2021-09-14 13:52:52 +02:00
modules mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
Makefile mimxrt: Rework flash configuration. 2021-09-14 13:52:52 +02:00
README.md mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00
board_init.c mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
dma_channel.c mimxrt/machine_spi: Add the SPI class to the machine module. 2021-06-26 22:14:47 +10:00
dma_channel.h mimxrt/machine_spi: Add the SPI class to the machine module. 2021-06-26 22:14:47 +10:00
fatfs_port.c mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
led.c mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00
led.h mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00
machine_adc.c mimxrt/machine_adc: Add the ADC class to the machine module. 2021-06-04 00:51:58 +10:00
machine_bitstream.c mimxrt/machine_bitstream: Add bitstream function to machine module. 2021-09-10 13:32:53 +10:00
machine_i2c.c mimxrt/machine_i2c: Add hardware-based machine.I2C to machine module. 2021-07-15 00:36:31 +10:00
machine_led.c mimxrt/machine_led: Use mp_raise_msg_varg helper. 2021-07-15 00:12:41 +10:00
machine_pin.c mimxrt/machine_pin: Implement ioctl for Pin. 2021-08-16 15:03:50 +10:00
machine_rtc.c all: Update to point to files in new shared/ directory. 2021-07-12 17:08:10 +10:00
machine_sdcard.c mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
machine_spi.c mimxrt/machine_spi: Add the SPI class to the machine module. 2021-06-26 22:14:47 +10:00
machine_timer.c mimxrt/machine_timer: Leave the Timer clock source at IPG clock. 2021-06-03 13:03:02 +10:00
machine_uart.c mimxrt/machine_uart: Add the UART class to the machine module. 2021-06-16 01:21:15 +10:00
main.c all: Update to point to files in new shared/ directory. 2021-07-12 17:08:10 +10:00
mimxrt_flash.c mimxrt: Add support for Hyperflash chips. 2021-07-31 16:25:40 +10:00
modmachine.c mimxrt/machine_bitstream: Add bitstream function to machine module. 2021-09-10 13:32:53 +10:00
modmachine.h mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
modmimxrt.c mimxrt: Add flash storage support with VFS and littlefs filesystem. 2021-06-01 23:42:57 +10:00
modmimxrt.h mimxrt: Add flash storage support with VFS and littlefs filesystem. 2021-06-01 23:42:57 +10:00
moduos.c mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
modutime.c all: Update to point to files in new shared/ directory. 2021-07-12 17:08:10 +10:00
mpconfigport.h mimxrt/machine_bitstream: Add bitstream function to machine module. 2021-09-10 13:32:53 +10:00
mphalport.c all: Update to point to files in new shared/ directory. 2021-07-12 17:08:10 +10:00
mphalport.h mimxrt/machine_bitstream: Add bitstream function to machine module. 2021-09-10 13:32:53 +10:00
pin.c mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00
pin.h mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
qstrdefsport.h mimxrt: Add new, minimal port to NXP i.MX RT series CPUs. 2020-03-11 15:34:13 +11:00
sdcard.c mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
sdcard.h mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
ticks.c mimxrt: Improve ticks and sleep functions using GPT. 2021-05-18 22:36:32 +10:00
ticks.h mimxrt: Improve ticks and sleep functions using GPT. 2021-05-18 22:36:32 +10:00
tusb_config.h ports: Update to build with new tinyusb. 2021-02-12 12:50:36 +11:00
tusb_port.c ports: Rename USBD_VID/PID config macros to MICROPY_HW_USB_VID/PID. 2021-08-07 23:13:55 +10:00

README.md

Port of MicroPython to NXP iMX RT 10xx

Currently supports Teensy 4.0 and the i.MX RT1010 EVK board.

Features:

  • REPL over USB VCP
  • machine.Pin

Known issues:

  • pyboard.py doesn't work with files larger than 64 bytes
  • machine.Pin class currently does not support GPIOMUX option of i.MX RT101x variants

TODO:

  • Enable TCM
  • Peripherals (LED, Timers, etc)