1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/mfd/st,stmfx.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: STMicroelectonics Multi-Function eXpander (STMFX)
9 description: ST Multi-Function eXpander (STMFX) is a slave controller using I2C for
10 communication with the main MCU. Its main features are GPIO expansion,
11 main MCU IDD measurement (IDD is the amount of current that flows
12 through VDD) and resistive touchscreen controller.
15 - Amelie Delaunay <amelie.delaunay@foss.st.com>
27 drive-open-drain: true
36 const: st,stmfx-0300-pinctrl
46 interrupt-controller: true
49 description: if all STMFX pins[24:0] are available (no other STMFX function in use),
50 you should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
51 if agpio[3:0] are not available (STMFX Touchscreen function in use),
52 you should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
53 if agpio[7:4] are not available (STMFX IDD function in use),
54 you should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
60 additionalProperties: false
63 - $ref: ../pinctrl/pinmux-node.yaml
69 bias-pull-pin-default: true
71 drive-open-drain: true
76 additionalProperties: false
83 - interrupt-controller
86 additionalProperties: false
95 #include <dt-bindings/interrupt-controller/arm-gic.h>
100 compatible = "st,stmfx-0300";
102 interrupts = <8 IRQ_TYPE_EDGE_RISING>;
103 interrupt-parent = <&gpioi>;
104 vdd-supply = <&v3v3>;
106 stmfx_pinctrl: pinctrl {
107 compatible = "st,stmfx-0300-pinctrl";
109 #interrupt-cells = <2>;
111 interrupt-controller;
112 gpio-ranges = <&stmfx_pinctrl 0 0 24>;
114 joystick_pins: joystick-pins {
115 pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";