18c2ecf20Sopenharmony_ciSEMTECH SX150x GPIO expander bindings
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciPlease refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
48c2ecf20Sopenharmony_ci../interrupt-controller/interrupts.txt for generic information regarding
58c2ecf20Sopenharmony_cipin controller, GPIO, and interrupt bindings.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciRequired properties:
88c2ecf20Sopenharmony_ci- compatible: should be one of :
98c2ecf20Sopenharmony_ci			"semtech,sx1501q",
108c2ecf20Sopenharmony_ci			"semtech,sx1502q",
118c2ecf20Sopenharmony_ci			"semtech,sx1503q",
128c2ecf20Sopenharmony_ci			"semtech,sx1504q",
138c2ecf20Sopenharmony_ci			"semtech,sx1505q",
148c2ecf20Sopenharmony_ci			"semtech,sx1506q",
158c2ecf20Sopenharmony_ci			"semtech,sx1507q",
168c2ecf20Sopenharmony_ci			"semtech,sx1508q",
178c2ecf20Sopenharmony_ci			"semtech,sx1509q".
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci- reg: The I2C slave address for this device.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci- #gpio-cells: Should be 2. The first cell is the GPIO number and the
228c2ecf20Sopenharmony_ci		second cell is used to specify optional parameters:
238c2ecf20Sopenharmony_ci		bit 0: polarity (0: normal, 1: inverted)
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci- gpio-controller: Marks the device as a GPIO controller.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciOptional properties :
288c2ecf20Sopenharmony_ci- interrupts: Interrupt specifier for the controllers interrupt.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci- interrupt-controller: Marks the device as a interrupt controller.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci- semtech,probe-reset: Will trigger a reset of the GPIO expander on probe,
338c2ecf20Sopenharmony_ci		only for sx1507q, sx1508q and sx1509q
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciThe GPIO expander can optionally be used as an interrupt controller, in
368c2ecf20Sopenharmony_ciwhich case it uses the default two cell specifier.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciRequired properties for pin configuration sub-nodes:
398c2ecf20Sopenharmony_ci - pins: List of pins to which the configuration applies.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciOptional properties for pin configuration sub-nodes:
428c2ecf20Sopenharmony_ci----------------------------------------------------
438c2ecf20Sopenharmony_ci - bias-disable: disable any pin bias, except the OSCIO pin
448c2ecf20Sopenharmony_ci - bias-pull-up: pull up the pin, except the OSCIO pin
458c2ecf20Sopenharmony_ci - bias-pull-down: pull down the pin, except the OSCIO pin
468c2ecf20Sopenharmony_ci - bias-pull-pin-default: use pin-default pull state, except the OSCIO pin
478c2ecf20Sopenharmony_ci - drive-push-pull: drive actively high and low
488c2ecf20Sopenharmony_ci - drive-open-drain: drive with open drain only for sx1507q, sx1508q and sx1509q and except the OSCIO pin
498c2ecf20Sopenharmony_ci - output-low: set the pin to output mode with low level
508c2ecf20Sopenharmony_ci - output-high: set the pin to output mode with high level
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciExample:
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	i2c0gpio-expander@20{
558c2ecf20Sopenharmony_ci		#gpio-cells = <2>;
568c2ecf20Sopenharmony_ci		#interrupt-cells = <2>;
578c2ecf20Sopenharmony_ci		compatible = "semtech,sx1506q";
588c2ecf20Sopenharmony_ci		reg = <0x20>;
598c2ecf20Sopenharmony_ci		interrupt-parent = <&gpio_1>;
608c2ecf20Sopenharmony_ci		interrupts = <16 0>;
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci		gpio-controller;
638c2ecf20Sopenharmony_ci		interrupt-controller;
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci		pinctrl-names = "default";
668c2ecf20Sopenharmony_ci		pinctrl-0 = <&gpio1_cfg_pins>;
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci		gpio1_cfg_pins: gpio1-cfg {
698c2ecf20Sopenharmony_ci			pins = "gpio1";
708c2ecf20Sopenharmony_ci			bias-pull-up;
718c2ecf20Sopenharmony_ci		};
728c2ecf20Sopenharmony_ci	};
73