File Index
Files and directories
Sign in
FILE

fsl,sec-v4.0-mon.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/crypto/fsl,sec-v4.0-mon.yaml YAML
  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    };
~/ Read-only file preview.