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 }; 168