arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / mfd / nxp,bbnsm.yaml
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
7 title: NXP Battery-Backed Non-Secure Module
8
9 maintainers:
10   - Jacky Bai <ping.bai@nxp.com>
11
12 description: |
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
23 properties:
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
74 required:
75   - compatible
76   - reg
77   - rtc
78   - pwrkey
79
80 additionalProperties: false
81
82 examples:
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     };