Lines Matching +full:done +full:- +full:gpios

1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-arb-gpio-challenge.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: GPIO-based I2C Arbitration Using a Challenge & Response Mechanism
10 - Doug Anderson <dianders@chromium.org>
11 - Peter Rosin <peda@axentia.se>
17 In many cases using GPIOs to arbitrate is not needed and a design can use the
18 standard I2C multi-master rules. Using GPIOs is generally useful in the case
30 others can see. These are all active low with pull-ups enabled. We'll
37 best done with an example.
44 are done.
51 const: i2c-arb-gpio-challenge
53 i2c-parent:
56 The I2C bus that this multiplexer's master-side port is connected to.
58 our-claim-gpios:
63 slew-delay-us:
68 their-claim-gpios:
72 The GPIOs that the other sides use to claim the bus. Note that some
75 wait-free-us:
80 wait-retry-us:
85 i2c-arb:
87 $ref: /schemas/i2c/i2c-controller.yaml
93 - compatible
94 - i2c-arb
95 - our-claim-gpios
96 - their-claim-gpios
101 - |
102 #include <dt-bindings/gpio/gpio.h>
103 #include <dt-bindings/interrupt-controller/irq.h>
105 i2c-arbitrator {
106 compatible = "i2c-arb-gpio-challenge";
107 i2c-parent = <&i2c_4>;
109 our-claim-gpios = <&gpf0 3 GPIO_ACTIVE_LOW>;
110 their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
111 slew-delay-us = <10>;
112 wait-retry-us = <3000>;
113 wait-free-us = <50000>;
115 i2c-arb {
116 #address-cells = <1>;
117 #size-cells = <0>;
119 sbs-battery@b {
120 compatible = "sbs,sbs-battery";
122 sbs,poll-retry-count = <1>;
125 embedded-controller@1e {
126 compatible = "google,cros-ec-i2c";
129 interrupt-parent = <&gpx1>;
130 pinctrl-names = "default";
131 pinctrl-0 = <&ec_irq>;
132 wakeup-source;