112651Skvn# SPDX-License-Identifier: GPL-2.0 212651Skvn# Copyright (C) 2008-2011 Freescale Semiconductor Inc. 312651Skvn%YAML 1.2 412651Skvn--- 512651Skvn$id: http://devicetree.org/schemas/crypto/fsl,sec-v4.0-mon.yaml# 612651Skvn$schema: http://devicetree.org/meta-schemas/core.yaml# 712651Skvn 812651Skvntitle: Freescale Secure Non-Volatile Storage (SNVS) 912651Skvn 1012651Skvnmaintainers: 1112651Skvn - '"Horia Geant��" <horia.geanta@nxp.com>' 1212651Skvn - Pankaj Gupta <pankaj.gupta@nxp.com> 1312651Skvn - Gaurav Jain <gaurav.jain@nxp.com> 1412651Skvn 1512651Skvndescription: 1612651Skvn Node defines address range and the associated interrupt for the SNVS function. 1712651Skvn This function monitors security state information & reports security 1812651Skvn violations. This also included rtc, system power off and ON/OFF key. 1912651Skvn 2012651Skvnproperties: 2112651Skvn compatible: 2212651Skvn oneOf: 2312651Skvn - items: 2412651Skvn - const: fsl,sec-v4.0-mon 2512651Skvn - const: syscon 2612651Skvn - const: simple-mfd 2712651Skvn - items: 2812651Skvn - const: fsl,sec-v5.0-mon 2912651Skvn - const: fsl,sec-v4.0-mon 3012651Skvn - items: 3112651Skvn - enum: 3212651Skvn - fsl,sec-v5.3-mon 3312651Skvn - fsl,sec-v5.4-mon 3412651Skvn - const: fsl,sec-v5.0-mon 3512651Skvn - const: fsl,sec-v4.0-mon 3612651Skvn 3712651Skvn reg: 3812651Skvn maxItems: 1 3912651Skvn 4012651Skvn interrupts: 4112651Skvn maxItems: 2 4212651Skvn 4312651Skvn snvs-rtc-lp: 4412651Skvn type: object 4512651Skvn additionalProperties: false 4612651Skvn description: 4712651Skvn Secure Non-Volatile Storage (SNVS) Low Power (LP) RTC Node 4812651Skvn 4912651Skvn properties: 5012651Skvn compatible: 5112651Skvn const: fsl,sec-v4.0-mon-rtc-lp 5212651Skvn 5312651Skvn clocks: 5412651Skvn maxItems: 1 5512651Skvn 5612651Skvn clock-names: 5712651Skvn const: snvs-rtc 5812651Skvn 5912651Skvn interrupts: 6012651Skvn # VFxxx has only one. What is the 2nd one? 6112651Skvn minItems: 1 6212651Skvn maxItems: 2 6312651Skvn 6412651Skvn regmap: 6512651Skvn description: Parent node containing registers 6612651Skvn $ref: /schemas/types.yaml#/definitions/phandle 6712651Skvn 6812651Skvn offset: 6912651Skvn description: LP register offset 7012651Skvn $ref: /schemas/types.yaml#/definitions/uint32 7112651Skvn default: 0x34 7212651Skvn 7312651Skvn required: 7412651Skvn - compatible 7512651Skvn - interrupts 7612651Skvn - regmap 7712651Skvn 7812651Skvn snvs-powerkey: 7912651Skvn type: object 8012651Skvn additionalProperties: false 8112651Skvn description: 8212651Skvn 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