circuitpython/ports/mimxrt
robert-hh 689476c576 mimxrt/machine_uart: Add the UART class to the machine module.
The implementation uses the LPUARTx devices.  Up to 8 UARTs can be used,
given that the pins are accessible.  E.g. 8 on Teensy 4.1, 5 on
MIMXRT1020_EVK.

For Tennsy 4.0 and 4.1 the UART numbers are as printed on the pinout 1..N.
The MIMXRT10xx-EVK boards have only one UART named, which gets the number
1.  All other UART are assigned to different Pins:

MIMXRT1010-EVK:
    D0/D1   UART 1
    D6/D7   UART 2
    A0/D4   UART 3

MIMXRT1020-EVK:
    D0/D1   UART 1
    D6/D9   UART 2
    D10/D12 UART 3
    D14/D15 UART 4
    A0/A1   UART 5

MIMXRT1050-EVK, MIMXRT1060-EVK, MIMXRT1064-EVK:
    D0/D1   UART 1
    D7/D6   UART 2
    D8/D9   UART 3
    A1/A0   UART 4
2021-06-16 01:21:15 +10:00
..
boards mimxrt/machine_uart: Add the UART class to the machine module. 2021-06-16 01:21:15 +10:00
hal mimxrt: Enable many Python and some extmod features. 2021-06-04 00:38:18 +10:00
modules mimxrt: Add flash storage support with VFS and littlefs filesystem. 2021-06-01 23:42:57 +10:00
board_init.c mimxrt/machine_adc: Add the ADC class to the machine module. 2021-06-04 00:51:58 +10: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_led.c mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
machine_pin.c mimxrt: Enable many Python and some extmod features. 2021-06-04 00:38:18 +10:00
machine_rtc.c mimxrt/machine_rtc: Maintain microsecond offset. 2021-06-12 23:20:12 +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 mimxrt: Enable many Python and some extmod features. 2021-06-04 00:38:18 +10:00
Makefile mimxrt/machine_uart: Add the UART class to the machine module. 2021-06-16 01:21:15 +10:00
mimxrt_flash.c mimxrt: Add flash storage support with VFS and littlefs filesystem. 2021-06-01 23:42:57 +10:00
modmachine.c mimxrt/machine_uart: Add the UART class to the machine module. 2021-06-16 01:21:15 +10:00
modmachine.h mimxrt/machine_uart: Add the UART class to the machine module. 2021-06-16 01:21:15 +10: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: Add flash storage support with VFS and littlefs filesystem. 2021-06-01 23:42:57 +10:00
modutime.c mimxrt: Add new, minimal port to NXP i.MX RT series CPUs. 2020-03-11 15:34:13 +11:00
mpconfigport.h mimxrt: Enable many Python and some extmod features. 2021-06-04 00:38:18 +10:00
mphalport.c mimxrt: Add flash storage support with VFS and littlefs filesystem. 2021-06-01 23:42:57 +10:00
mphalport.h mimxrt: Enable many Python and some extmod features. 2021-06-04 00:38:18 +10:00
pin.c mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00
pin.h mimxrt/machine_adc: Add the ADC class to the machine module. 2021-06-04 00:51:58 +10:00
qstrdefsport.h mimxrt: Add new, minimal port to NXP i.MX RT series CPUs. 2020-03-11 15:34:13 +11:00
README.md mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10: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 mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00

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)