Registered User mNo edit summary |
Registered User No edit summary |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{ApplicableFor | |||
|MPUs list=STM32MP13x, STM32MP15x | |||
|MPUs checklist=STM32MP13x, STM32MP15x, STM32MP25x | |||
}} | |||
<noinclude> </noinclude> | |||
==Article purpose== | ==Article purpose== | ||
The purpose of this article is to: | The purpose of this article is to: | ||
* list the | * list the I/O expanders hardware components that might be integrated in the different STM32MPU[[:Category:ST boards| boards]] | ||
* link these components to the corresponding software framework(s) | * link these components to the corresponding software framework(s) | ||
* point to the datasheet(s) of these components | * point to the datasheet(s) of these components | ||
Line 7: | Line 12: | ||
==Software frameworks== | ==Software frameworks== | ||
{{: | {{:STM32MP15_internal_peripherals_software_table_template}} | ||
| Core/ | | Core/I/Os | ||
| [[# | | [[#ST_MFX_.28Multi-Function_eXpander.29|ST MFX (Multi-Function eXpander)]] | ||
| | | | ||
| [[Overview of GPIO pins|Linux IOs pins overview]] | | [[Overview of GPIO pins|Linux IOs pins overview]] | ||
| | | | ||
| | | I/O expander | ||
|- | |- | ||
| Core/ | | Core/I/Os | ||
| [[#MCP23017|MCP23017]] | | [[#MCP23017|MCP23017]] | ||
| | | | ||
| [[Overview of GPIO pins|Linux IOs pins overview]] | | [[Overview of GPIO pins|Linux IOs pins overview]] | ||
| | | | ||
| | | I/O expander | ||
|- | |- | ||
|} | |} | ||
==ST Multi-Function eXpander== | ==ST MFX (Multi-Function eXpander)== | ||
The ST MFX is an STM32L152 slave controller whose firmware embeds | 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 | For details, refer to [[STM32MP15 resources#UM2535|UM2535]], chapter MFX IO expander. | ||
===Linux driver=== | ===Linux driver=== | ||
Line 33: | Line 38: | ||
Sources: | Sources: | ||
*{{CodeSource | Linux kernel | drivers/mfd/stmfx.c}} | |||
*{{CodeSource | Linux kernel | drivers/pinctrl/pinctrl-stmfx.c}} | *{{CodeSource | Linux kernel | drivers/pinctrl/pinctrl-stmfx.c}} | ||
Line 38: | Line 44: | ||
The MCP23017 is a 16-bit input/output port expander with interrupt output. | The MCP23017 is a 16-bit input/output port expander with interrupt output. | ||
For details and the datasheet please contact the MCP23017 | For details and the datasheet please contact the MCP23017 I/O expander provider. | ||
{{InternalInfo | MCP23017 datasheet: https://ww1.microchip.com/downloads/en/devicedoc/20001952c.pdf }} | {{InternalInfo | MCP23017 datasheet: https://ww1.microchip.com/downloads/en/devicedoc/20001952c.pdf }} | ||
Line 51: | Line 57: | ||
[[Category:IO hardware components]] | [[Category:IO hardware components]] | ||
{{ArticleBasedOnModel | Hardware components article model}} | {{ArticleBasedOnModel | Hardware components article model}} | ||
{{PublicationRequestId | 21536 |2021-11-04}} | |||
</noinclude> | </noinclude> |
Latest revision as of 11:53, 8 February 2024
1. Article purpose
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
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)
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
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 I/O expander provider.
4.1. Linux driver
Bindings: Documentation/devicetree/bindings/pinctrl/pinctrl-mcp23s08.txt
Sources: