Lines Matching +full:interrupt +full:- +full:driven
1 STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander bindings
3 ST Multi-Function eXpander (STMFX) offers up to 24 GPIOs expansion.
7 - compatible: should be "st,stmfx-0300-pinctrl".
8 - #gpio-cells: should be <2>, the first cell is the GPIO number and the second
9 cell is the gpio flags in accordance with <dt-bindings/gpio/gpio.h>.
10 - gpio-controller: marks the device as a GPIO controller.
11 - #interrupt-cells: should be <2>, the first cell is the GPIO number and the
12 second cell is the interrupt flags in accordance with
13 <dt-bindings/interrupt-controller/irq.h>.
14 - interrupt-controller: marks the device as an interrupt controller.
15 - gpio-ranges: specifies the mapping between gpio controller and pin
16 controller pins. Check "Concerning gpio-ranges property" below.
19 Please refer to pinctrl-bindings.txt for pin configuration.
21 Required properties for pin configuration sub-nodes:
22 - pins: list of pins to which the configuration applies.
24 Optional properties for pin configuration sub-nodes (pinconf-generic ones):
25 - bias-disable: disable any bias on the pin.
26 - bias-pull-up: the pin will be pulled up.
27 - bias-pull-pin-default: use the pin-default pull state.
28 - bias-pull-down: the pin will be pulled down.
29 - drive-open-drain: the pin will be driven with open drain.
30 - drive-push-pull: the pin will be driven actively high and low.
31 - output-high: the pin will be configured as an output driving high level.
32 - output-low: the pin will be configured as an output driving low level.
37 Concerning gpio-ranges property:
38 - if all STMFX pins[24:0] are available (no other STMFX function in use), you
39 should use gpio-ranges = <&stmfx_pinctrl 0 0 24>;
40 - if agpio[3:0] are not available (STMFX Touchscreen function in use), you
41 should use gpio-ranges = <&stmfx_pinctrl 0 0 16>, <&stmfx_pinctrl 20 20 4>;
42 - if agpio[7:4] are not available (STMFX IDD function in use), you
43 should use gpio-ranges = <&stmfx_pinctrl 0 0 20>;
51 stmfx_pinctrl: stmfx-pin-controller {
52 compatible = "st,stmfx-0300-pinctrl";
53 #gpio-cells = <2>;
54 #interrupt-cells = <2>;
55 gpio-controller;
56 interrupt-controller;
57 gpio-ranges = <&stmfx_pinctrl 0 0 24>;
61 drive-push-pull;
62 bias-pull-up;
70 compatible = "gpio-keys";
71 #address-cells = <1>;
72 #size-cells = <0>;
73 pinctrl-0 = <&joystick_pins>;
74 pinctrl-names = "default";
75 button-0 {
78 interrupt-parent = <&stmfx_pinctrl>;
81 button-1 {
84 interrupt-parent = <&stmfx_pinctrl>;
87 button-2 {
90 interrupt-parent = <&stmfx_pinctrl>;
93 button-3 {
96 interrupt-parent = <&stmfx_pinctrl>;
99 button-4 {
102 interrupt-parent = <&stmfx_pinctrl>;
108 compatible = "gpio-leds";