| # SPDX-License-Identifier: GPL-2.0 |
| # Copyright (C) 2008-2011 Freescale Semiconductor Inc. |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/crypto/fsl,sec-v4.0-mon.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Freescale Secure Non-Volatile Storage (SNVS) |
| |
| maintainers: |
| - '"Horia Geantă" <horia.geanta@nxp.com>' |
| - Pankaj Gupta <pankaj.gupta@nxp.com> |
| - Gaurav Jain <gaurav.jain@nxp.com> |
| |
| description: |
| Node defines address range and the associated interrupt for the SNVS function. |
| This function monitors security state information & reports security |
| violations. This also included rtc, system power off and ON/OFF key. |
| |
| properties: |
| compatible: |
| oneOf: |
| - items: |
| - const: fsl,sec-v4.0-mon |
| - const: syscon |
| - const: simple-mfd |
| - items: |
| - const: fsl,sec-v5.0-mon |
| - const: fsl,sec-v4.0-mon |
| - items: |
| - enum: |
| - fsl,sec-v5.3-mon |
| - fsl,sec-v5.4-mon |
| - const: fsl,sec-v5.0-mon |
| - const: fsl,sec-v4.0-mon |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 2 |
| |
| snvs-rtc-lp: |
| type: object |
| additionalProperties: false |
| description: |
| Secure Non-Volatile Storage (SNVS) Low Power (LP) RTC Node |
| |
| properties: |
| compatible: |
| const: fsl,sec-v4.0-mon-rtc-lp |
| |
| clocks: |
| maxItems: 1 |
| |
| clock-names: |
| const: snvs-rtc |
| |
| interrupts: |
| # VFxxx has only one. What is the 2nd one? |
| minItems: 1 |
| maxItems: 2 |
| |
| regmap: |
| description: Parent node containing registers |
| $ref: /schemas/types.yaml#/definitions/phandle |
| |
| offset: |
| description: LP register offset |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 0x34 |
| |
| required: |
| - compatible |
| - interrupts |
| - regmap |
| |
| snvs-powerkey: |
| type: object |
| additionalProperties: false |
| description: |
| The snvs-pwrkey is designed to enable POWER key function which controlled |
| by SNVS ONOFF, the driver can report the status of POWER key and wakeup |
| system if pressed after system suspend. |
| |
| properties: |
| compatible: |
| const: fsl,sec-v4.0-pwrkey |
| |
| clocks: |
| maxItems: 1 |
| |
| clock-names: |
| const: snvs-pwrkey |
| |
| interrupts: |
| maxItems: 1 |
| |
| regmap: |
| description: Parent node containing registers |
| $ref: /schemas/types.yaml#/definitions/phandle |
| |
| wakeup-source: true |
| |
| linux,keycode: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 116 |
| deprecated: true |
| |
| linux,keycodes: |
| maxItems: 1 |
| default: 116 |
| |
| required: |
| - compatible |
| - interrupts |
| - regmap |
| |
| snvs-lpgpr: |
| $ref: /schemas/nvmem/snvs-lpgpr.yaml# |
| |
| snvs-poweroff: |
| description: |
| The SNVS could drive signal to PMIC to turn off system power by setting |
| SNVS_LP LPCR register. |
| $ref: /schemas/power/reset/syscon-poweroff.yaml# |
| |
| required: |
| - compatible |
| - reg |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/clock/imx7d-clock.h> |
| |
| sec_mon: sec-mon@314000 { |
| compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; |
| reg = <0x314000 0x1000>; |
| |
| snvs-rtc-lp { |
| compatible = "fsl,sec-v4.0-mon-rtc-lp"; |
| regmap = <&sec_mon>; |
| offset = <0x34>; |
| clocks = <&clks IMX7D_SNVS_CLK>; |
| clock-names = "snvs-rtc"; |
| interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| snvs-powerkey { |
| compatible = "fsl,sec-v4.0-pwrkey"; |
| regmap = <&sec_mon>; |
| clocks = <&clks IMX7D_SNVS_CLK>; |
| clock-names = "snvs-pwrkey"; |
| interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; |
| linux,keycode = <116>; /* KEY_POWER */ |
| wakeup-source; |
| }; |
| }; |