xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/pinctrl-sx150x.txt (revision 18054d0220cfc8df9c9568c437bd6fbb59d53c3c)
1SEMTECH SX150x GPIO expander bindings
2
3Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
4../interrupt-controller/interrupts.txt for generic information regarding
5pin controller, GPIO, and interrupt bindings.
6
7Required properties:
8- compatible: should be one of :
9			"semtech,sx1501q",
10			"semtech,sx1502q",
11			"semtech,sx1503q",
12			"semtech,sx1504q",
13			"semtech,sx1505q",
14			"semtech,sx1506q",
15			"semtech,sx1507q",
16			"semtech,sx1508q",
17			"semtech,sx1509q".
18
19- reg: The I2C slave address for this device.
20
21- #gpio-cells: Should be 2. The first cell is the GPIO number and the
22		second cell is used to specify optional parameters:
23		bit 0: polarity (0: normal, 1: inverted)
24
25- gpio-controller: Marks the device as a GPIO controller.
26
27Optional properties :
28- interrupts: Interrupt specifier for the controllers interrupt.
29
30- interrupt-controller: Marks the device as a interrupt controller.
31
32- semtech,probe-reset: Will trigger a reset of the GPIO expander on probe,
33		only for sx1507q, sx1508q and sx1509q
34
35The GPIO expander can optionally be used as an interrupt controller, in
36which case it uses the default two cell specifier.
37
38Required properties for pin configuration sub-nodes:
39 - pins: List of pins to which the configuration applies.
40
41Optional properties for pin configuration sub-nodes:
42----------------------------------------------------
43 - bias-disable: disable any pin bias, except the OSCIO pin
44 - bias-pull-up: pull up the pin, except the OSCIO pin
45 - bias-pull-down: pull down the pin, except the OSCIO pin
46 - bias-pull-pin-default: use pin-default pull state, except the OSCIO pin
47 - drive-push-pull: drive actively high and low
48 - drive-open-drain: drive with open drain only for sx1507q, sx1508q and sx1509q and except the OSCIO pin
49 - output-low: set the pin to output mode with low level
50 - output-high: set the pin to output mode with high level
51
52Example:
53
54	i2c0gpio-expander@20{
55		#gpio-cells = <2>;
56		#interrupt-cells = <2>;
57		compatible = "semtech,sx1506q";
58		reg = <0x20>;
59		interrupt-parent = <&gpio_1>;
60		interrupts = <16 0>;
61
62		gpio-controller;
63		interrupt-controller;
64
65		pinctrl-names = "default";
66		pinctrl-0 = <&gpio1_cfg_pins>;
67
68		gpio1_cfg_pins: gpio1-cfg {
69			pins = "gpio1";
70			bias-pull-up;
71		};
72	};
73