SLAU966 February 2025 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1 , MSPM0C1105 , MSPM0C1106 , MSPM0C1106-Q1 , MSPM0G1106 , MSPM0G1107 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0H3216 , MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2228
MSPM0 GPIO functionality covers all of the features offered by the S32K1xx , KEA128x devices, and KM35x with additional functionality. NXP uses the term GPIO to refer to the pins that can be set, reset, or toggle. However, MSPM0 uses a slightly different nomenclature, namely:
The MSPM0 GPIO and IOMUX modules cover the same functionality as NXP's GPIO, PORT, and TRGMUX/SMU modules. MSPM0 devices also offer several additional functions that are unavailable for NXP S32K1xx, KEA128x, and KM35x devices.
| Feature | S32K1xx | KEA128x | KM35x | MSPM0G, MSPM0L,MSPM0C |
|---|---|---|---|---|
| Output modes | Push-pull Open drain with pullup or pulldown | Push-pull Open drain with pullup | Push-pull Open drain with pullup or pulldown | Push-pull Open drain with pullup or pulldown |
| GPIO speed selection | Synchronous path 1.5*tmax = 31.25ns @48MHz Asynchronous path: 50ns | 10.2ns rise time, 9.5ns fall time | 8.0ns rise time, 5.0ns fall time | ODIO pins: 120ns All others: 0.3*fmax = 3.75ns @ 80MHz |
| High-drive GPIO | 12mA Per High drive port pin | 20mA | Yes | Equivalent, called High Drive IO (HDIO) |
| Input modes | Floating Pull-up/Pull-down Analog | Floating Pull-up Analog | Floating Pull-up/Pull-down Analog | Equivalent |
| Atomic bit set and reset | Yes | Yes | Yes | Equivalent |
| Alternate functions | Configured with Signal Multiplexing Unit | Configured with PORT module | Configured with PORT module | Equivalent MSPM0 uses IOMUX |
| Wake-up | GPIO pin interrupt | N/A | Equivalent | Equivalent |
| GPIO controlled by DMA | Yes | No | Yes | Yes |
| User controlled input filtering to reject glitches less than 1, 3, or 8 ULPCLK periods | Equivalent | Equivalent | Equivalent | Yes |
| User controllable input hysteresis | Yes | Yes | No | Yes |
GPIO code examples
Information about GPIO code examples can be found in the MSPM0 SDK examples guide.