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
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>;
62 - $ref: ../pinctrl/pinmux-node.yaml
68 bias-pull-pin-default: true
70 drive-open-drain: true
75 additionalProperties: false
82 - interrupt-controller
85 additionalProperties: false
94 #include <dt-bindings/interrupt-controller/arm-gic.h>
99 compatible = "st,stmfx-0300";
101 interrupts = <8 IRQ_TYPE_EDGE_RISING>;
102 interrupt-parent = <&gpioi>;
103 vdd-supply = <&v3v3>;
105 stmfx_pinctrl: pinctrl {
106 compatible = "st,stmfx-0300-pinctrl";
108 #interrupt-cells = <2>;
110 interrupt-controller;
111 gpio-ranges = <&stmfx_pinctrl 0 0 24>;
113 joystick_pins: joystick-pins {
114 pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";