xref: /freebsd-src/sys/contrib/device-tree/Bindings/crypto/fsl,sec-v4.0-mon.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2fac71e4eSEmmanuel Vadot# Copyright (C) 2008-2011 Freescale Semiconductor Inc.
3fac71e4eSEmmanuel Vadot%YAML 1.2
4fac71e4eSEmmanuel Vadot---
5fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/crypto/fsl,sec-v4.0-mon.yaml#
6fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7fac71e4eSEmmanuel Vadot
8fac71e4eSEmmanuel Vadottitle: Freescale Secure Non-Volatile Storage (SNVS)
9fac71e4eSEmmanuel Vadot
10fac71e4eSEmmanuel Vadotmaintainers:
11fac71e4eSEmmanuel Vadot  - '"Horia Geantă" <horia.geanta@nxp.com>'
12fac71e4eSEmmanuel Vadot  - Pankaj Gupta <pankaj.gupta@nxp.com>
13fac71e4eSEmmanuel Vadot  - Gaurav Jain <gaurav.jain@nxp.com>
14fac71e4eSEmmanuel Vadot
15fac71e4eSEmmanuel Vadotdescription:
16fac71e4eSEmmanuel Vadot  Node defines address range and the associated interrupt for the SNVS function.
17fac71e4eSEmmanuel Vadot  This function monitors security state information & reports security
18fac71e4eSEmmanuel Vadot  violations. This also included rtc, system power off and ON/OFF key.
19fac71e4eSEmmanuel Vadot
20fac71e4eSEmmanuel Vadotproperties:
21fac71e4eSEmmanuel Vadot  compatible:
22fac71e4eSEmmanuel Vadot    oneOf:
23fac71e4eSEmmanuel Vadot      - items:
24fac71e4eSEmmanuel Vadot          - const: fsl,sec-v4.0-mon
25fac71e4eSEmmanuel Vadot          - const: syscon
26fac71e4eSEmmanuel Vadot          - const: simple-mfd
27fac71e4eSEmmanuel Vadot      - items:
28fac71e4eSEmmanuel Vadot          - const: fsl,sec-v5.0-mon
29fac71e4eSEmmanuel Vadot          - const: fsl,sec-v4.0-mon
30fac71e4eSEmmanuel Vadot      - items:
31fac71e4eSEmmanuel Vadot          - enum:
32fac71e4eSEmmanuel Vadot              - fsl,sec-v5.3-mon
33fac71e4eSEmmanuel Vadot              - fsl,sec-v5.4-mon
34fac71e4eSEmmanuel Vadot          - const: fsl,sec-v5.0-mon
35fac71e4eSEmmanuel Vadot          - const: fsl,sec-v4.0-mon
36fac71e4eSEmmanuel Vadot
37fac71e4eSEmmanuel Vadot  reg:
38fac71e4eSEmmanuel Vadot    maxItems: 1
39fac71e4eSEmmanuel Vadot
40fac71e4eSEmmanuel Vadot  interrupts:
41fac71e4eSEmmanuel Vadot    maxItems: 2
42fac71e4eSEmmanuel Vadot
43fac71e4eSEmmanuel Vadot  snvs-rtc-lp:
44fac71e4eSEmmanuel Vadot    type: object
45fac71e4eSEmmanuel Vadot    additionalProperties: false
46fac71e4eSEmmanuel Vadot    description:
47fac71e4eSEmmanuel Vadot      Secure Non-Volatile Storage (SNVS) Low Power (LP) RTC Node
48fac71e4eSEmmanuel Vadot
49fac71e4eSEmmanuel Vadot    properties:
50fac71e4eSEmmanuel Vadot      compatible:
51fac71e4eSEmmanuel Vadot        const: fsl,sec-v4.0-mon-rtc-lp
52fac71e4eSEmmanuel Vadot
53fac71e4eSEmmanuel Vadot      clocks:
54fac71e4eSEmmanuel Vadot        maxItems: 1
55fac71e4eSEmmanuel Vadot
56fac71e4eSEmmanuel Vadot      clock-names:
57fac71e4eSEmmanuel Vadot        const: snvs-rtc
58fac71e4eSEmmanuel Vadot
59fac71e4eSEmmanuel Vadot      interrupts:
60fac71e4eSEmmanuel Vadot        # VFxxx has only one. What is the 2nd one?
61fac71e4eSEmmanuel Vadot        minItems: 1
62fac71e4eSEmmanuel Vadot        maxItems: 2
63fac71e4eSEmmanuel Vadot
64fac71e4eSEmmanuel Vadot      regmap:
65fac71e4eSEmmanuel Vadot        description: Parent node containing registers
66fac71e4eSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/phandle
67fac71e4eSEmmanuel Vadot
68fac71e4eSEmmanuel Vadot      offset:
69fac71e4eSEmmanuel Vadot        description: LP register offset
70fac71e4eSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
71fac71e4eSEmmanuel Vadot        default: 0x34
72fac71e4eSEmmanuel Vadot
73fac71e4eSEmmanuel Vadot    required:
74fac71e4eSEmmanuel Vadot      - compatible
75fac71e4eSEmmanuel Vadot      - interrupts
76fac71e4eSEmmanuel Vadot      - regmap
77fac71e4eSEmmanuel Vadot
78fac71e4eSEmmanuel Vadot  snvs-powerkey:
79fac71e4eSEmmanuel Vadot    type: object
80fac71e4eSEmmanuel Vadot    additionalProperties: false
81fac71e4eSEmmanuel Vadot    description:
82fac71e4eSEmmanuel Vadot      The snvs-pwrkey is designed to enable POWER key function which controlled
83fac71e4eSEmmanuel Vadot      by SNVS ONOFF, the driver can report the status of POWER key and wakeup
84fac71e4eSEmmanuel Vadot      system if pressed after system suspend.
85fac71e4eSEmmanuel Vadot
86fac71e4eSEmmanuel Vadot    properties:
87fac71e4eSEmmanuel Vadot      compatible:
88fac71e4eSEmmanuel Vadot        const: fsl,sec-v4.0-pwrkey
89fac71e4eSEmmanuel Vadot
90fac71e4eSEmmanuel Vadot      clocks:
91fac71e4eSEmmanuel Vadot        maxItems: 1
92fac71e4eSEmmanuel Vadot
93fac71e4eSEmmanuel Vadot      clock-names:
94fac71e4eSEmmanuel Vadot        const: snvs-pwrkey
95fac71e4eSEmmanuel Vadot
96fac71e4eSEmmanuel Vadot      interrupts:
97fac71e4eSEmmanuel Vadot        maxItems: 1
98fac71e4eSEmmanuel Vadot
99fac71e4eSEmmanuel Vadot      regmap:
100fac71e4eSEmmanuel Vadot        description: Parent node containing registers
101fac71e4eSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/phandle
102fac71e4eSEmmanuel Vadot
103fac71e4eSEmmanuel Vadot      wakeup-source: true
104fac71e4eSEmmanuel Vadot
105fac71e4eSEmmanuel Vadot      linux,keycode:
106*f126890aSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32
107*f126890aSEmmanuel Vadot        default: 116
108*f126890aSEmmanuel Vadot        deprecated: true
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot      linux,keycodes:
111*f126890aSEmmanuel Vadot        maxItems: 1
112fac71e4eSEmmanuel Vadot        default: 116
113fac71e4eSEmmanuel Vadot
114fac71e4eSEmmanuel Vadot    required:
115fac71e4eSEmmanuel Vadot      - compatible
116fac71e4eSEmmanuel Vadot      - interrupts
117fac71e4eSEmmanuel Vadot      - regmap
118fac71e4eSEmmanuel Vadot
119fac71e4eSEmmanuel Vadot  snvs-lpgpr:
120fac71e4eSEmmanuel Vadot    $ref: /schemas/nvmem/snvs-lpgpr.yaml#
121fac71e4eSEmmanuel Vadot
122fac71e4eSEmmanuel Vadot  snvs-poweroff:
123fac71e4eSEmmanuel Vadot    description:
124fac71e4eSEmmanuel Vadot      The SNVS could drive signal to PMIC to turn off system power by setting
125fac71e4eSEmmanuel Vadot      SNVS_LP LPCR register.
126fac71e4eSEmmanuel Vadot    $ref: /schemas/power/reset/syscon-poweroff.yaml#
127fac71e4eSEmmanuel Vadot
128fac71e4eSEmmanuel Vadotrequired:
129fac71e4eSEmmanuel Vadot  - compatible
130fac71e4eSEmmanuel Vadot  - reg
131fac71e4eSEmmanuel Vadot
132fac71e4eSEmmanuel VadotadditionalProperties: false
133fac71e4eSEmmanuel Vadot
134fac71e4eSEmmanuel Vadotexamples:
135fac71e4eSEmmanuel Vadot  - |
136fac71e4eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
137fac71e4eSEmmanuel Vadot    #include <dt-bindings/clock/imx7d-clock.h>
138fac71e4eSEmmanuel Vadot
139fac71e4eSEmmanuel Vadot    sec_mon: sec-mon@314000 {
140fac71e4eSEmmanuel Vadot        compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
141fac71e4eSEmmanuel Vadot        reg = <0x314000 0x1000>;
142fac71e4eSEmmanuel Vadot
143fac71e4eSEmmanuel Vadot        snvs-rtc-lp {
144fac71e4eSEmmanuel Vadot            compatible = "fsl,sec-v4.0-mon-rtc-lp";
145fac71e4eSEmmanuel Vadot            regmap = <&sec_mon>;
146fac71e4eSEmmanuel Vadot            offset = <0x34>;
147fac71e4eSEmmanuel Vadot            clocks = <&clks IMX7D_SNVS_CLK>;
148fac71e4eSEmmanuel Vadot            clock-names = "snvs-rtc";
149fac71e4eSEmmanuel Vadot            interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
150fac71e4eSEmmanuel Vadot                         <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
151fac71e4eSEmmanuel Vadot        };
152fac71e4eSEmmanuel Vadot
153fac71e4eSEmmanuel Vadot        snvs-powerkey {
154fac71e4eSEmmanuel Vadot            compatible = "fsl,sec-v4.0-pwrkey";
155fac71e4eSEmmanuel Vadot            regmap = <&sec_mon>;
156fac71e4eSEmmanuel Vadot            clocks = <&clks IMX7D_SNVS_CLK>;
157fac71e4eSEmmanuel Vadot            clock-names = "snvs-pwrkey";
158fac71e4eSEmmanuel Vadot            interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
159fac71e4eSEmmanuel Vadot            linux,keycode = <116>; /* KEY_POWER */
160fac71e4eSEmmanuel Vadot            wakeup-source;
161fac71e4eSEmmanuel Vadot        };
162fac71e4eSEmmanuel Vadot    };
163