Lines Matching +full:cros +full:- +full:ec +full:- +full:i2c
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Benson Leung <[email protected]>
11 - Guenter Roeck <[email protected]>
14 Google's ChromeOS EC is a microcontroller which talks to the AP and
16 The EC can be connected through various interfaces (I2C, SPI, and others)
22 - description:
23 For implementations of the EC connected through I2C.
24 const: google,cros-ec-i2c
25 - description:
26 For implementations of the EC connected through SPI.
27 const: google,cros-ec-spi
28 - description:
31 - const: google,cros-ec-fp
32 - const: google,cros-ec-spi
33 - description:
34 For implementations of the EC connected through RPMSG.
35 const: google,cros-ec-rpmsg
36 - description:
37 For implementations of the EC connected through UART.
38 const: google,cros-ec-uart
40 controller-data: true
42 google,cros-ec-spi-pre-delay:
49 google,cros-ec-spi-msg-delay:
55 google,has-vbc-nvram:
57 Some implementations of the EC include a small nvram space used to
62 mediatek,rpmsg-name:
64 Must be defined if the cros-ec is a rpmsg device for a Mediatek
65 ARM Cortex M4 Co-processor. Contains the name of the rpmsg
70 spi-max-frequency: true
78 reset-gpios:
81 boot0-gpios:
85 vdd-supply: true
87 wakeup-source:
88 description: Button can wake-up the system.
90 '#address-cells':
93 '#size-cells':
96 '#gpio-cells':
99 gpio-controller: true
102 $ref: /schemas/chrome/google,cros-ec-typec.yaml#
104 ec-pwm:
105 $ref: /schemas/pwm/google,cros-ec-pwm.yaml#
109 $ref: /schemas/pwm/google,cros-ec-pwm.yaml#
111 keyboard-controller:
112 $ref: /schemas/input/google,cros-ec-keyb.yaml#
115 $ref: /schemas/iio/proximity/google,cros-ec-mkbp-proximity.yaml#
122 '#address-cells':
125 '#size-cells':
129 "^ec-codec@[a-f0-9]+$":
131 $ref: /schemas/sound/google,cros-ec-codec.yaml#
134 - "#address-cells"
135 - "#size-cells"
146 const: google,cros-cbas
149 - compatible
154 "^i2c-tunnel[0-9]*$":
156 $ref: /schemas/i2c/google,cros-ec-i2c-tunnel.yaml#
158 "^regulator@[0-9]+$":
160 $ref: /schemas/regulator/google,cros-ec-regulator.yaml#
162 "^extcon[0-9]*$":
164 $ref: /schemas/extcon/extcon-usbc-cros-ec.yaml#
167 - compatible
170 - if:
175 const: google,cros-ec-spi
178 controller-data: false
179 google,cros-ec-spi-pre-delay: false
180 google,cros-ec-spi-msg-delay: false
181 spi-max-frequency: false
183 $ref: /schemas/spi/spi-peripheral-props.yaml
185 - if:
190 const: google,cros-ec-rpmsg
193 mediatek,rpmsg-name: false
195 - if:
201 - google,cros-ec-rpmsg
202 - google,cros-ec-uart
205 - reg
206 - interrupts
208 - if:
212 const: google,cros-ec-fp
215 '#address-cells': false
216 '#size-cells': false
218 ec-pwm: false
219 kbd-led-backlight: false
220 keyboard-controller: false
226 "^i2c-tunnel[0-9]*$": false
227 "^regulator@[0-9]+$": false
228 "^extcon[0-9]*$": false
234 - reset-gpios
235 - boot0-gpios
236 - vdd-supply
239 reset-gpios: false
240 boot0-gpios: false
241 vdd-supply: false
246 # Example for I2C
247 - |
248 #include <dt-bindings/gpio/gpio.h>
249 #include <dt-bindings/interrupt-controller/irq.h>
251 i2c {
252 #address-cells = <1>;
253 #size-cells = <0>;
255 cros-ec@1e {
256 compatible = "google,cros-ec-i2c";
259 interrupt-parent = <&gpio0>;
264 - |
265 #include <dt-bindings/gpio/gpio.h>
266 #include <dt-bindings/interrupt-controller/irq.h>
269 #address-cells = <1>;
270 #size-cells = <0>;
272 cros-ec@0 {
273 compatible = "google,cros-ec-spi";
275 google,cros-ec-spi-msg-delay = <30>;
276 google,cros-ec-spi-pre-delay = <10>;
278 interrupt-parent = <&gpio7>;
279 spi-max-frequency = <5000000>;
280 #gpio-cells = <2>;
281 gpio-controller;
284 compatible = "google,cros-ec-mkbp-proximity";
288 compatible = "google,cros-cbas";
294 - |
296 cros-ec {
297 compatible = "google,cros-ec-rpmsg";
302 - |
304 #address-cells = <0x1>;
305 #size-cells = <0x0>;
307 ec@0 {
308 compatible = "google,cros-ec-fp", "google,cros-ec-spi";
310 interrupt-parent = <&gpio_controller>;
312 spi-max-frequency = <3000000>;
313 reset-gpios = <&gpio_controller 5 GPIO_ACTIVE_LOW>;
314 boot0-gpios = <&gpio_controller 10 GPIO_ACTIVE_HIGH>;
315 vdd-supply = <&pp3300_fp_mcu>;
320 - |
322 cros-ec {
323 compatible = "google,cros-ec-uart";