I'm developing an application on a Teensy 4.0 using the arm cortex m7 processor that incorporates imxrt1060 functionality. In order to set the pad to support a i2C port I need some detailed information on the fields used to define the pad configuration..
The statement I need to configure is
#define PAD_CONFIG IOMUXC_PAD_DSE(4) | IOMUXC_PAD_SPEED(1) | IOMUXC_PAD_PKE | IOMUXC_PAD_PUE | IOMUXC_PAD_PUS(3) | IOMUXC_PAD_ODE | IOMUXC_PAD_HYSI've searched and can't find detailed information on fields like DSE, SPEED, and PUS. What do the subscripts mean? What do the PKE, PUE, PUS fields mean and now should they be set when using an external pull up resistor. I'm sure that these values are documented. I just can't find where. Any help would be appreciated.
(Note that I don't have any actual experience with the imxrt1060. I'm just guessing...)
See "10.5.6 SW_PAD_CTL_PAD_ONOFF SW PAD Control Register (IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF)" and friends, in the "i.MX RT1060 Processor Reference Manual"
This is apparently IOMUX Controller stuff, and the bits/values seem to be substantially different depending on which pad you're talking about.
I'd assume that the "subscripts" are values for a multi-bit field. PUS (Pull Up Strength?) is a two-bit field, and a value of 3 there says use an ~22k pullup.
These guys didn't make finding the information easy. It is documented in this application note on page 16.https://www.nxp.com/docs/en/application-note/AN5078.pdf