xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pmk8350.dtsi (revision 435a73d7)
1712d68d1SVinod Koul// SPDX-License-Identifier: BSD-3-Clause
2712d68d1SVinod Koul/*
3712d68d1SVinod Koul * Copyright (c) 2021, Linaro Limited
4712d68d1SVinod Koul */
5712d68d1SVinod Koul
6b2de4313Ssatya priya#include <dt-bindings/input/input.h>
7b2de4313Ssatya priya#include <dt-bindings/input/linux-event-codes.h>
8712d68d1SVinod Koul#include <dt-bindings/interrupt-controller/irq.h>
9712d68d1SVinod Koul#include <dt-bindings/spmi/spmi.h>
10712d68d1SVinod Koul
11f73de026SKonrad Dybcio/* (Sadly) this PMIC can be configured to be at different SIDs */
12f73de026SKonrad Dybcio#ifndef PMK8350_SID
13f73de026SKonrad Dybcio	#define PMK8350_SID 0
14f73de026SKonrad Dybcio#endif
15f73de026SKonrad Dybcio
16399a3c34SNeil Armstrong/ {
17399a3c34SNeil Armstrong	reboot-mode {
18399a3c34SNeil Armstrong		compatible = "nvmem-reboot-mode";
19399a3c34SNeil Armstrong		nvmem-cells = <&reboot_reason>;
20399a3c34SNeil Armstrong		nvmem-cell-names = "reboot-mode";
21399a3c34SNeil Armstrong		mode-recovery = <0x01>;
22399a3c34SNeil Armstrong		mode-bootloader = <0x02>;
23399a3c34SNeil Armstrong	};
24399a3c34SNeil Armstrong};
25399a3c34SNeil Armstrong
26712d68d1SVinod Koul&spmi_bus {
27f73de026SKonrad Dybcio	pmk8350: pmic@PMK8350_SID {
28712d68d1SVinod Koul		compatible = "qcom,pmk8350", "qcom,spmi-pmic";
29f73de026SKonrad Dybcio		reg = <PMK8350_SID SPMI_USID>;
30712d68d1SVinod Koul		#address-cells = <1>;
31712d68d1SVinod Koul		#size-cells = <0>;
32712d68d1SVinod Koul
33b2de4313Ssatya priya		pmk8350_pon: pon@1300 {
34c0ee8e0bSKonrad Dybcio			compatible = "qcom,pmk8350-pon";
35f46ef374SKonrad Dybcio			reg = <0x1300>, <0x800>;
36f46ef374SKonrad Dybcio			reg-names = "hlos", "pbs";
37b2de4313Ssatya priya
382dab7aacSKonrad Dybcio			pon_pwrkey: pwrkey {
39b2de4313Ssatya priya				compatible = "qcom,pmk8350-pwrkey";
40f73de026SKonrad Dybcio				interrupts = <PMK8350_SID 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
41b2de4313Ssatya priya				linux,code = <KEY_POWER>;
422dab7aacSKonrad Dybcio				status = "disabled";
43b2de4313Ssatya priya			};
44b2de4313Ssatya priya
452dab7aacSKonrad Dybcio			pon_resin: resin {
46b2de4313Ssatya priya				compatible = "qcom,pmk8350-resin";
47f73de026SKonrad Dybcio				interrupts = <PMK8350_SID 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
482dab7aacSKonrad Dybcio				status = "disabled";
49b2de4313Ssatya priya			};
50b2de4313Ssatya priya		};
51b2de4313Ssatya priya
52b2de4313Ssatya priya		pmk8350_vadc: adc@3100 {
53b2de4313Ssatya priya			compatible = "qcom,spmi-adc7";
54b2de4313Ssatya priya			reg = <0x3100>;
55b2de4313Ssatya priya			#address-cells = <1>;
56b2de4313Ssatya priya			#size-cells = <0>;
57f73de026SKonrad Dybcio			interrupts = <PMK8350_SID 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
58b2de4313Ssatya priya			#io-channel-cells = <1>;
59b2de4313Ssatya priya		};
60b2de4313Ssatya priya
61b2de4313Ssatya priya		pmk8350_adc_tm: adc-tm@3400 {
62*435a73d7SDmitry Baryshkov			compatible = "qcom,spmi-adc-tm5-gen2";
63b2de4313Ssatya priya			reg = <0x3400>;
64f73de026SKonrad Dybcio			interrupts = <PMK8350_SID 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
65b2de4313Ssatya priya			#address-cells = <1>;
66b2de4313Ssatya priya			#size-cells = <0>;
67b2de4313Ssatya priya			#thermal-sensor-cells = <1>;
68b2de4313Ssatya priya			status = "disabled";
69b2de4313Ssatya priya		};
70b2de4313Ssatya priya
71b2de4313Ssatya priya		pmk8350_rtc: rtc@6100 {
72b2de4313Ssatya priya			compatible = "qcom,pmk8350-rtc";
73b2de4313Ssatya priya			reg = <0x6100>, <0x6200>;
74b2de4313Ssatya priya			reg-names = "rtc", "alarm";
75f73de026SKonrad Dybcio			interrupts = <PMK8350_SID 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
7612a7f71aSDouglas Anderson			status = "disabled";
77b2de4313Ssatya priya		};
78b2de4313Ssatya priya
79399a3c34SNeil Armstrong		pmk8350_sdam_2: nvram@7100 {
80399a3c34SNeil Armstrong			compatible = "qcom,spmi-sdam";
81399a3c34SNeil Armstrong			reg = <0x7100>;
82399a3c34SNeil Armstrong			#address-cells = <1>;
83399a3c34SNeil Armstrong			#size-cells = <1>;
84399a3c34SNeil Armstrong			ranges = <0 0x7100 0x100>;
85399a3c34SNeil Armstrong
86399a3c34SNeil Armstrong			reboot_reason: reboot-reason@48 {
87399a3c34SNeil Armstrong				reg = <0x48 0x1>;
88399a3c34SNeil Armstrong				bits = <1 7>;
89399a3c34SNeil Armstrong			};
90399a3c34SNeil Armstrong		};
91399a3c34SNeil Armstrong
92712d68d1SVinod Koul		pmk8350_gpios: gpio@b000 {
93d0927c21Ssatya priya			compatible = "qcom,pmk8350-gpio", "qcom,spmi-gpio";
94712d68d1SVinod Koul			reg = <0xb000>;
95712d68d1SVinod Koul			gpio-controller;
96d0927c21Ssatya priya			gpio-ranges = <&pmk8350_gpios 0 0 4>;
97712d68d1SVinod Koul			#gpio-cells = <2>;
98712d68d1SVinod Koul			interrupt-controller;
99712d68d1SVinod Koul			#interrupt-cells = <2>;
100712d68d1SVinod Koul		};
101712d68d1SVinod Koul	};
102712d68d1SVinod Koul};
103