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