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 default: 116 107 108 required: 109 - compatible 110 - interrupts 111 - regmap 112 113 snvs-lpgpr: 114 $ref: /schemas/nvmem/snvs-lpgpr.yaml# 115 116 snvs-poweroff: 117 description: 118 The SNVS could drive signal to PMIC to turn off system power by setting 119 SNVS_LP LPCR register. 120 $ref: /schemas/power/reset/syscon-poweroff.yaml# 121 122required: 123 - compatible 124 - reg 125 126additionalProperties: false 127 128examples: 129 - | 130 #include <dt-bindings/interrupt-controller/arm-gic.h> 131 #include <dt-bindings/clock/imx7d-clock.h> 132 133 sec_mon: sec-mon@314000 { 134 compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; 135 reg = <0x314000 0x1000>; 136 137 snvs-rtc-lp { 138 compatible = "fsl,sec-v4.0-mon-rtc-lp"; 139 regmap = <&sec_mon>; 140 offset = <0x34>; 141 clocks = <&clks IMX7D_SNVS_CLK>; 142 clock-names = "snvs-rtc"; 143 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 144 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 145 }; 146 147 snvs-powerkey { 148 compatible = "fsl,sec-v4.0-pwrkey"; 149 regmap = <&sec_mon>; 150 clocks = <&clks IMX7D_SNVS_CLK>; 151 clock-names = "snvs-pwrkey"; 152 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 153 linux,keycode = <116>; /* KEY_POWER */ 154 wakeup-source; 155 }; 156 }; 157