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 properties: 87 compatible: 88 const: fsl,sec-v4.0-pwrkey 89 90 clocks: 91 maxItems: 1 92 93 clock-names: 94 const: snvs-pwrkey 95 96 interrupts: 97 maxItems: 1 98 99 regmap: 100 description: Parent node containing registers 101 $ref: /schemas/types.yaml#/definitions/phandle 102 103 wakeup-source: true 104 105 linux,keycode: 106 $ref: /schemas/types.yaml#/definitions/uint32 107 default: 116 108 deprecated: true 109 110 linux,keycodes: 111 maxItems: 1 112 default: 116 113 114 required: 115 - compatible 116 - interrupts 117 - regmap 118 119 snvs-lpgpr: 120 $ref: /schemas/nvmem/snvs-lpgpr.yaml# 121 122 snvs-poweroff: 123 description: 124 The SNVS could drive signal to PMIC to turn off system power by setting 125 SNVS_LP LPCR register. 126 $ref: /schemas/power/reset/syscon-poweroff.yaml# 127 128required: 129 - compatible 130 - reg 131 132additionalProperties: false 133 134examples: 135 - | 136 #include <dt-bindings/interrupt-controller/arm-gic.h> 137 #include <dt-bindings/clock/imx7d-clock.h> 138 139 sec_mon: sec-mon@314000 { 140 compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; 141 reg = <0x314000 0x1000>; 142 143 snvs-rtc-lp { 144 compatible = "fsl,sec-v4.0-mon-rtc-lp"; 145 regmap = <&sec_mon>; 146 offset = <0x34>; 147 clocks = <&clks IMX7D_SNVS_CLK>; 148 clock-names = "snvs-rtc"; 149 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 150 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 151 }; 152 153 snvs-powerkey { 154 compatible = "fsl,sec-v4.0-pwrkey"; 155 regmap = <&sec_mon>; 156 clocks = <&clks IMX7D_SNVS_CLK>; 157 clock-names = "snvs-pwrkey"; 158 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 159 linux,keycode = <116>; /* KEY_POWER */ 160 wakeup-source; 161 }; 162 }; 163