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