1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: ChromeOS Embedded Controller
10 - Benson Leung <bleung@chromium.org>
11 - Enric Balletbo i Serra <enric.balletbo@collabora.com>
12 - Guenter Roeck <groeck@chromium.org>
15 Google's ChromeOS EC is a microcontroller which talks to the AP and
16 implements various functions such as keyboard and battery charging.
17 The EC can be connected through various interfaces (I2C, SPI, and others)
18 and the compatible string specifies which interface is being used.
24 For implementations of the EC is connected through I2C.
25 const: google,cros-ec-i2c
27 For implementations of the EC is connected through SPI.
28 const: google,cros-ec-spi
30 For implementations of the EC is connected through RPMSG.
31 const: google,cros-ec-rpmsg
35 SPI controller data, see bindings/spi/spi-samsung.txt
38 google,cros-ec-spi-pre-delay:
40 This property specifies the delay in usecs between the
41 assertion of the CS and the first clock pulse.
43 - $ref: /schemas/types.yaml#/definitions/uint32
47 google,cros-ec-spi-msg-delay:
49 This property specifies the delay in usecs between messages.
51 - $ref: /schemas/types.yaml#/definitions/uint32
57 Some implementations of the EC include a small nvram space used to
58 store verified boot context data. This boolean flag is used to specify
59 whether this nvram is present or not.
64 Must be defined if the cros-ec is a rpmsg device for a Mediatek
65 ARM Cortex M4 Co-processor. Contains the name pf the rpmsg
66 device. Used to match the subnode to the rpmsg device announced by
68 $ref: "/schemas/types.yaml#/definitions/string"
71 description: Maximum SPI frequency of the device in Hz.
80 description: Button can wake-up the system.
89 $ref: "/schemas/chrome/google,cros-ec-typec.yaml#"
92 $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
95 $ref: "/schemas/input/google,cros-ec-keyb.yaml#"
98 $ref: "/schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml#"
102 additionalProperties: false
112 "^ec-codec@[a-f0-9]+$":
114 $ref: "/schemas/sound/google,cros-ec-codec.yaml#"
124 This device is used to signal when a detachable base is attached
125 to a Chrome OS tablet. This device cannot be detected at runtime.
129 const: google,cros-cbas
134 additionalProperties: false
137 "^i2c-tunnel[0-9]*$":
139 $ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#"
141 "^regulator@[0-9]+$":
143 $ref: "/schemas/regulator/google,cros-ec-regulator.yaml#"
147 $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
158 - google,cros-ec-rpmsg
161 google,cros-ec-spi-pre-delay: false
162 google,cros-ec-spi-msg-delay: false
163 spi-max-frequency: false
165 additionalProperties: false
170 #include <dt-bindings/gpio/gpio.h>
171 #include <dt-bindings/interrupt-controller/irq.h>
174 #address-cells = <1>;
178 compatible = "google,cros-ec-i2c";
181 interrupt-parent = <&gpio0>;
187 #include <dt-bindings/gpio/gpio.h>
188 #include <dt-bindings/interrupt-controller/irq.h>
191 #address-cells = <1>;
195 compatible = "google,cros-ec-spi";
197 google,cros-ec-spi-msg-delay = <30>;
198 google,cros-ec-spi-pre-delay = <10>;
200 interrupt-parent = <&gpio7>;
201 spi-max-frequency = <5000000>;
204 compatible = "google,cros-ec-mkbp-proximity";
208 compatible = "google,cros-cbas";
217 compatible = "google,cros-ec-rpmsg";