xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/pmk8550.dtsi (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Linaro Limited
4 */
5
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/input/linux-event-codes.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/spmi/spmi.h>
10
11/ {
12	reboot-mode {
13		compatible = "nvmem-reboot-mode";
14		nvmem-cells = <&reboot_reason>;
15		nvmem-cell-names = "reboot-mode";
16		mode-recovery = <0x01>;
17		mode-bootloader = <0x02>;
18	};
19};
20
21&spmi_bus {
22	pmk8550: pmic@0 {
23		compatible = "qcom,pm8550", "qcom,spmi-pmic";
24		reg = <0x0 SPMI_USID>;
25		#address-cells = <1>;
26		#size-cells = <0>;
27
28		pmk8550_pon: pon@1300 {
29			compatible = "qcom,pmk8350-pon";
30			reg = <0x1300>, <0x800>;
31			reg-names = "hlos", "pbs";
32
33			pon_pwrkey: pwrkey {
34				compatible = "qcom,pmk8350-pwrkey";
35				interrupts = <0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
36				linux,code = <KEY_POWER>;
37				status = "disabled";
38			};
39
40			pon_resin: resin {
41				compatible = "qcom,pmk8350-resin";
42				interrupts = <0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
43				status = "disabled";
44			};
45		};
46
47		pmk8550_rtc: rtc@6100 {
48			compatible = "qcom,pmk8350-rtc";
49			reg = <0x6100>, <0x6200>;
50			reg-names = "rtc", "alarm";
51			interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
52		};
53
54		pmk8550_sdam_2: nvram@7100 {
55			compatible = "qcom,spmi-sdam";
56			reg = <0x7100>;
57			#address-cells = <1>;
58			#size-cells = <1>;
59			ranges = <0 0x7100 0x100>;
60
61			reboot_reason: reboot-reason@48 {
62				reg = <0x48 0x1>;
63				bits = <1 7>;
64			};
65		};
66
67		pmk8550_gpios: gpio@8800 {
68			compatible = "qcom,pmk8550-gpio", "qcom,spmi-gpio";
69			reg = <0xb800>;
70			gpio-controller;
71			gpio-ranges = <&pmk8550_gpios 0 0 6>;
72			#gpio-cells = <2>;
73			interrupt-controller;
74			#interrupt-cells = <2>;
75		};
76	};
77};
78