xref: /freebsd/sys/contrib/device-tree/Bindings/power/reset/toradex,smarc-ec.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*ae5de77eSEmmanuel Vadot%YAML 1.2
3*ae5de77eSEmmanuel Vadot---
4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/power/reset/toradex,smarc-ec.yaml#
5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadottitle: Toradex Embedded Controller
8*ae5de77eSEmmanuel Vadot
9*ae5de77eSEmmanuel Vadotmaintainers:
10*ae5de77eSEmmanuel Vadot  - Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
11*ae5de77eSEmmanuel Vadot  - Francesco Dolcini <francesco.dolcini@toradex.com>
12*ae5de77eSEmmanuel Vadot
13*ae5de77eSEmmanuel Vadotdescription: |
14*ae5de77eSEmmanuel Vadot  The Toradex Embedded Controller (EC) is used on Toradex SMARC modules,
15*ae5de77eSEmmanuel Vadot  primarily to manage power and reset functionalities.
16*ae5de77eSEmmanuel Vadot
17*ae5de77eSEmmanuel Vadot  The EC provides the following functions:
18*ae5de77eSEmmanuel Vadot    - Reads the SMARC POWER_BTN# and RESET_IN# signals and controls the PMIC accordingly.
19*ae5de77eSEmmanuel Vadot    - Controls the SoC boot mode signals based on the SMARC BOOT_SEL# and FORCE_RECOV# inputs.
20*ae5de77eSEmmanuel Vadot    - Manages the CARRIER_STDBY# signal in response to relevant SoC signals.
21*ae5de77eSEmmanuel Vadot
22*ae5de77eSEmmanuel Vadot  The EC runs a small firmware, factory programmed into its internal flash, and communicates over I2C.
23*ae5de77eSEmmanuel Vadot  It allows software to control power-off and reset functionalities of the module.
24*ae5de77eSEmmanuel Vadot
25*ae5de77eSEmmanuel Vadotproperties:
26*ae5de77eSEmmanuel Vadot  compatible:
27*ae5de77eSEmmanuel Vadot    items:
28*ae5de77eSEmmanuel Vadot      - enum:
29*ae5de77eSEmmanuel Vadot          - toradex,smarc-imx95-ec
30*ae5de77eSEmmanuel Vadot          - toradex,smarc-imx8mp-ec
31*ae5de77eSEmmanuel Vadot      - const: toradex,smarc-ec
32*ae5de77eSEmmanuel Vadot
33*ae5de77eSEmmanuel Vadot  reg:
34*ae5de77eSEmmanuel Vadot    maxItems: 1
35*ae5de77eSEmmanuel Vadot
36*ae5de77eSEmmanuel Vadotrequired:
37*ae5de77eSEmmanuel Vadot  - compatible
38*ae5de77eSEmmanuel Vadot  - reg
39*ae5de77eSEmmanuel Vadot
40*ae5de77eSEmmanuel VadotadditionalProperties: false
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel Vadotexamples:
43*ae5de77eSEmmanuel Vadot  - |
44*ae5de77eSEmmanuel Vadot    i2c {
45*ae5de77eSEmmanuel Vadot        #address-cells = <1>;
46*ae5de77eSEmmanuel Vadot        #size-cells = <0>;
47*ae5de77eSEmmanuel Vadot
48*ae5de77eSEmmanuel Vadot        reset-controller@28 {
49*ae5de77eSEmmanuel Vadot            compatible = "toradex,smarc-imx95-ec", "toradex,smarc-ec";
50*ae5de77eSEmmanuel Vadot            reg = <0x28>;
51*ae5de77eSEmmanuel Vadot        };
52*ae5de77eSEmmanuel Vadot    };
53