1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/nxp,bbnsm.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP Battery-Backed Non-Secure Module
8
9maintainers:
10  - Jacky Bai <ping.bai@nxp.com>
11
12description: |
13  NXP BBNSM serves as non-volatile logic and storage for the system.
14  it Intergrates RTC & ON/OFF control.
15  The RTC can retain its state and continues counting even when the
16  main chip is power down. A time alarm is generated once the most
17  significant 32 bits of the real-time counter match the value in the
18  Time Alarm register.
19  The ON/OFF logic inside the BBNSM allows for connecting directly to
20  a PMIC or other voltage regulator device. both smart PMIC mode and
21  Dumb PMIC mode supported.
22
23properties:
24  compatible:
25    items:
26      - enum:
27          - nxp,imx93-bbnsm
28      - const: syscon
29      - const: simple-mfd
30
31  reg:
32    maxItems: 1
33
34  rtc:
35    type: object
36    $ref: /schemas/rtc/rtc.yaml#
37
38    properties:
39      compatible:
40        enum:
41          - nxp,imx93-bbnsm-rtc
42
43      interrupts:
44        maxItems: 1
45
46      start-year: true
47
48    required:
49      - compatible
50      - interrupts
51
52    additionalProperties: false
53
54  pwrkey:
55    type: object
56    $ref: /schemas/input/input.yaml#
57
58    properties:
59      compatible:
60        enum:
61          - nxp,imx93-bbnsm-pwrkey
62
63      interrupts:
64        maxItems: 1
65
66      linux,code: true
67
68    required:
69      - compatible
70      - interrupts
71
72    additionalProperties: false
73
74required:
75  - compatible
76  - reg
77  - rtc
78  - pwrkey
79
80additionalProperties: false
81
82examples:
83  - |
84    #include <dt-bindings/input/linux-event-codes.h>
85    #include <dt-bindings/interrupt-controller/arm-gic.h>
86
87    bbnsm: bbnsm@44440000 {
88        compatible = "nxp,imx93-bbnsm", "syscon", "simple-mfd";
89        reg = <0x44440000 0x10000>;
90
91        bbnsm_rtc: rtc {
92            compatible = "nxp,imx93-bbnsm-rtc";
93            interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
94        };
95
96        bbnsm_pwrkey: pwrkey {
97            compatible = "nxp,imx93-bbnsm-pwrkey";
98            interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
99            linux,code = <KEY_POWER>;
100        };
101    };
102