1. Article purpose[edit | 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 | 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 | 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 | edit source]
Bindings: Documentation/devicetree/bindings/mfd/st,stmfx.yaml
Sources:
4. MCP23017[edit | 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 | edit source]
Bindings: Documentation/devicetree/bindings/pinctrl/pinctrl-mcp23s08.txt
Sources: