micropython/ports/mimxrt
robert-hh 1866ed7e2e mimxrt/eth: Add LAN support and integrate the network module.
This commit implements 10/100 Mbit Ethernet support in the mimxrt port.

The following boards are configured without ETH network:
- MIMXRT1010_EVK
- Teensy 4.0

The following boards are configured with ETH network:
- MIMXRT1020_EVK
- MIMXRT1050_EVK
- MIMXRT1060_EVK
- MIMXRT1064_EVK
- Teensy 4.1

Ethernet support tested with TEENSY 4.1, MIMRTX1020_EVK and MIMXRT1050_EVK.
Build tested with Teensy 4.0 and MIMXRT1010_EVK to be still working.
Compiles and builds properly for MIMXRT1060_EVK and MIMXRT1064_EVK, but not
tested lacking suitable boards.

Tested functions are:
- ping works bothway
- simple UDP transfer works bothway
- ntptime works
- the ftp server works
- secure socker works
- telnet and webrepl works

The MAC address is 0x02 plus 5 bytes from the manifacturing info field,
which can be considered as unique per device.

Some boards do not wire the RESET and INT pin of the PHY transceiver.  For
operation, these are not required.  If they are defined, they will be used.
2021-10-25 15:14:26 +11:00
..
boards
hal
lwip_inc
mbedtls
modules
Makefile mimxrt/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +11:00
README.md
board_init.c
dma_channel.c
dma_channel.h
eth.c
eth.h
fatfs_port.c
led.c
led.h
machine_adc.c
machine_bitstream.c
machine_i2c.c
machine_led.c
machine_pin.c
machine_rtc.c
machine_sdcard.c
machine_spi.c
machine_timer.c
machine_uart.c
main.c
mimxrt_flash.c
mimxrt_sdram.c
modmachine.c
modmachine.h
modmimxrt.c
modmimxrt.h
moduos.c
modutime.c
mpconfigport.h mimxrt/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +11:00
mphalport.c
mphalport.h
mpnetworkport.c
network_lan.c
pendsv.c
pendsv.h
pin.c
pin.h
qstrdefsport.h
sdcard.c
sdcard.h
systick.c
systick.h
ticks.c
ticks.h
tusb_config.h
tusb_port.c

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)