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) bindings
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@st.com>
27 drive-open-drain: true
37 const: st,stmfx-0300-pinctrl
47 interrupt-controller: true
50 description: if all STMFX pins[24:0] are available (no other STMFX function in use),
51 you should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
52 if agpio[3:0] are not available (STMFX Touchscreen function in use),
53 you should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
54 if agpio[7:4] are not available (STMFX IDD function in use),
55 you should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
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";