Last edited 5 months ago

IO expander hardware components

Applicable for STM32MP13x lines, STM32MP15x lines

1. Article purpose[edit source]

The purpose of this article is to:

  • list the I/O expanders hardware components that might be integrated in the different STM32MPU boards
  • link these components to the corresponding software framework(s)
  • point to the datasheet(s) of these components
  • explain, when necessary, how to configure these components.

2. Software frameworks[edit source]

Domain Peripheral Software components Comment
OP-TEE Linux STM32Cube
Core/I/Os ST MFX (Multi-Function eXpander) Linux IOs pins overview I/O expander
Core/I/Os MCP23017 Linux IOs pins overview I/O expander

3. ST MFX (Multi-Function eXpander)[edit source]

The ST MFX is an STM32L152 slave controller whose firmware embeds an I/O expander feature with 16 GPIOs + 8 GPIOs extra if other features (resistive touchscreen controller and IDD measurement) are not enabled.

For details, refer to UM2535, chapter MFX IO expander.

3.1. Linux driver[edit source]

Bindings: Documentation/devicetree/bindings/mfd/st,stmfx.yaml


4. MCP23017[edit source]

The MCP23017 is a 16-bit input/output port expander with interrupt output.

For details and the datasheet please contact the MCP23017 I/O expander provider.

4.1. Linux driver[edit source]

Bindings: Documentation/devicetree/bindings/pinctrl/pinctrl-mcp23s08.txt