blob: b1ade64a1554143b0953000523c03d66f747a62a [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 };