1. Article purpose
The purpose of this article is to:
- list the IO 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
Domain | Peripheral | Software components | Comment | ||
---|---|---|---|---|---|
OP-TEE | Linux | STM32Cube | |||
Core/IOs | ST Multi Function eXpander | Linux IOs pins overview | IO expander | ||
Core/IOs | MCP23017 | Linux IOs pins overview | IO expander |
3. ST Multi-Function eXpander
The ST MFX is an STM32L152 slave controller whose firmware embeds IO expander feature with 16 GPIOs + 8 extra if other features (resistive touchscreen controller and IDD measurement) are not enabled.
For details, refer to https://www.st.com/resource/en/user_manual/um2535-evaluation-boards-with-stm32mp157-mpus-stmicroelectronics.pdf chapter MFX IO expander.
3.1. Linux driver
Bindings: Documentation/devicetree/bindings/mfd/st,stmfx.yaml
Sources:
4. MCP23017
The MCP23017 is a 16-bit input/output port expander with interrupt output.
For details and the datasheet please contact the MCP23017 codec provider.
4.1. Linux driver
Bindings: Documentation/devicetree/bindings/pinctrl/pinctrl-mcp23s08.txt
Sources: