adafruit / circuitpython

CircuitPython - a Python implementation for teaching coding with microcontrollers
https://circuitpython.org
Other
4k stars 1.19k forks source link

IMIXRT1010-EVK pinout errors #3012

Closed jerryneedell closed 3 years ago

jerryneedell commented 4 years ago

The pins.c of the imxrt1010-evk has some pin names (at least D4, D5, D9) which are not actually brought out at the expected spots on the Arduino-style headers due to some DNP ("do not place") resistors. This leads to symptoms like D5 and D9 "not working" as the CS pin for SPI devices.

The signals are actually routed (through placed zero-ohm resistors) to other peripherals. For example, the pin named D9 is going instead to SAI1_RXD0, and connected to the I2C chip.

Presumably we should review the schematic, noting DNP resistors, and drop the board.D# pins which aren't actually connected through. (above text by @jepler)

image image

Original text by @jerryneedell :

I've been experimenting with SPI on the IMIXRT1010-EVK and have found that I can only connect to SPI devices if I use D10 as the CS pin I have tried D9 and D5 and they both fail - I have not tried every pin ... yet I tried this with a FRAM_SPI, BMP_388 , SD Card Breakout All work on D10 but fail on other pins.

Is there a known reason for this? The board document - shows SDP_CS on D10 but on other boards - any GPIO works,

I have verified that other pins work fine on the Teensy41 and sevearal other boards

another example - I have been trying to us an Airlift breakout wi the EVK and after much struggling found that using CS on D10 workes for SPI bit I also had to use RESET on D9 and READY on D8 So far, that is the only set of pins that works for me -- Moving READY to D5 for example results in SPI timeouts.

Is there something special about the GPIO pin usage on this board -- It is clearly reacting differently than any other board I have tried.

hierophect commented 4 years ago

Interesting. Maybe this is the reason for #2977? It's an unusual issue because we don't support hardware CS - whatever you select for CS should be getting bitbanged by DigitalIO. I'll look into it further.