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