xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm8998.dtsi (revision 1b9d8bd69305d9020534e09f3f790e43d1393b03)
18ea4ffcaSStephen Boyd// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28ea4ffcaSStephen Boyd/* Copyright 2018 Google LLC. */
38ea4ffcaSStephen Boyd
443fb4431SMatthias Kaehlcke#include <dt-bindings/iio/qcom,spmi-vadc.h>
561020aa5SBjorn Andersson#include <dt-bindings/input/linux-event-codes.h>
68ea4ffcaSStephen Boyd#include <dt-bindings/interrupt-controller/irq.h>
743fb4431SMatthias Kaehlcke#include <dt-bindings/spmi/spmi.h>
8*1b9d8bd6SMatthias Kaehlcke#include <dt-bindings/thermal/thermal.h>
98ea4ffcaSStephen Boyd
10*1b9d8bd6SMatthias Kaehlcke/ {
11*1b9d8bd6SMatthias Kaehlcke	thermal-zones {
12*1b9d8bd6SMatthias Kaehlcke		pm8998 {
13*1b9d8bd6SMatthias Kaehlcke			polling-delay-passive = <250>;
14*1b9d8bd6SMatthias Kaehlcke			polling-delay = <1000>;
15*1b9d8bd6SMatthias Kaehlcke
16*1b9d8bd6SMatthias Kaehlcke			thermal-sensors = <&pm8998_temp>;
17*1b9d8bd6SMatthias Kaehlcke
18*1b9d8bd6SMatthias Kaehlcke			trips {
19*1b9d8bd6SMatthias Kaehlcke				pm8998_alert0: pm8998-alert0 {
20*1b9d8bd6SMatthias Kaehlcke					temperature = <105000>;
21*1b9d8bd6SMatthias Kaehlcke					hysteresis = <2000>;
22*1b9d8bd6SMatthias Kaehlcke					type = "passive";
23*1b9d8bd6SMatthias Kaehlcke				};
24*1b9d8bd6SMatthias Kaehlcke				pm8998_crit: pm8998-crit {
25*1b9d8bd6SMatthias Kaehlcke					temperature = <125000>;
26*1b9d8bd6SMatthias Kaehlcke					hysteresis = <2000>;
27*1b9d8bd6SMatthias Kaehlcke					type = "critical";
28*1b9d8bd6SMatthias Kaehlcke				};
29*1b9d8bd6SMatthias Kaehlcke			};
30*1b9d8bd6SMatthias Kaehlcke		};
31*1b9d8bd6SMatthias Kaehlcke	};
32*1b9d8bd6SMatthias Kaehlcke};
3361020aa5SBjorn Andersson
348ea4ffcaSStephen Boyd&spmi_bus {
358ea4ffcaSStephen Boyd	pm8998_lsid0: pmic@0 {
368ea4ffcaSStephen Boyd		compatible = "qcom,pm8998", "qcom,spmi-pmic";
378ea4ffcaSStephen Boyd		reg = <0x0 SPMI_USID>;
388ea4ffcaSStephen Boyd		#address-cells = <1>;
398ea4ffcaSStephen Boyd		#size-cells = <0>;
408ea4ffcaSStephen Boyd
4161020aa5SBjorn Andersson		pm8998_pon: pon@800 {
4261020aa5SBjorn Andersson			compatible = "qcom,pm8916-pon";
4361020aa5SBjorn Andersson
4461020aa5SBjorn Andersson			reg = <0x800>;
4561020aa5SBjorn Andersson			mode-bootloader = <0x2>;
4661020aa5SBjorn Andersson			mode-recovery = <0x1>;
4761020aa5SBjorn Andersson
4861020aa5SBjorn Andersson			pwrkey {
4961020aa5SBjorn Andersson				compatible = "qcom,pm8941-pwrkey";
5061020aa5SBjorn Andersson				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
5161020aa5SBjorn Andersson				debounce = <15625>;
5261020aa5SBjorn Andersson				bias-pull-up;
5361020aa5SBjorn Andersson				linux,code = <KEY_POWER>;
5461020aa5SBjorn Andersson			};
5561020aa5SBjorn Andersson		};
5661020aa5SBjorn Andersson
57104e6415SMatthias Kaehlcke		pm8998_temp: temp-alarm@2400 {
58104e6415SMatthias Kaehlcke			compatible = "qcom,spmi-temp-alarm";
59104e6415SMatthias Kaehlcke			reg = <0x2400>;
60104e6415SMatthias Kaehlcke			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
61104e6415SMatthias Kaehlcke			#thermal-sensor-cells = <0>;
62104e6415SMatthias Kaehlcke		};
63104e6415SMatthias Kaehlcke
6461020aa5SBjorn Andersson		pm8998_coincell: coincell@2800 {
6561020aa5SBjorn Andersson			compatible = "qcom,pm8941-coincell";
6661020aa5SBjorn Andersson			reg = <0x2800>;
6761020aa5SBjorn Andersson
6861020aa5SBjorn Andersson			status = "disabled";
6961020aa5SBjorn Andersson		};
7061020aa5SBjorn Andersson
7143fb4431SMatthias Kaehlcke		pm8998_adc: adc@3100 {
7243fb4431SMatthias Kaehlcke			compatible = "qcom,spmi-adc-rev2";
7343fb4431SMatthias Kaehlcke			reg = <0x3100>;
7443fb4431SMatthias Kaehlcke			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
7543fb4431SMatthias Kaehlcke			#address-cells = <1>;
7643fb4431SMatthias Kaehlcke			#size-cells = <0>;
7743fb4431SMatthias Kaehlcke			#io-channel-cells = <1>;
7843fb4431SMatthias Kaehlcke		};
7943fb4431SMatthias Kaehlcke
8061020aa5SBjorn Andersson		rtc@6000 {
8161020aa5SBjorn Andersson			compatible = "qcom,pm8941-rtc";
8261020aa5SBjorn Andersson			reg = <0x6000>, <0x6100>;
8361020aa5SBjorn Andersson			reg-names = "rtc", "alarm";
8461020aa5SBjorn Andersson			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
8561020aa5SBjorn Andersson		};
8661020aa5SBjorn Andersson
878ea4ffcaSStephen Boyd		pm8998_gpio: gpios@c000 {
888ea4ffcaSStephen Boyd			compatible = "qcom,pm8998-gpio", "qcom,spmi-gpio";
898ea4ffcaSStephen Boyd			reg = <0xc000>;
908ea4ffcaSStephen Boyd			gpio-controller;
918ea4ffcaSStephen Boyd			#gpio-cells = <2>;
928ea4ffcaSStephen Boyd			interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
938ea4ffcaSStephen Boyd				     <0 0xc1 0 IRQ_TYPE_NONE>,
948ea4ffcaSStephen Boyd				     <0 0xc2 0 IRQ_TYPE_NONE>,
958ea4ffcaSStephen Boyd				     <0 0xc3 0 IRQ_TYPE_NONE>,
968ea4ffcaSStephen Boyd				     <0 0xc4 0 IRQ_TYPE_NONE>,
978ea4ffcaSStephen Boyd				     <0 0xc5 0 IRQ_TYPE_NONE>,
988ea4ffcaSStephen Boyd				     <0 0xc6 0 IRQ_TYPE_NONE>,
998ea4ffcaSStephen Boyd				     <0 0xc7 0 IRQ_TYPE_NONE>,
1008ea4ffcaSStephen Boyd				     <0 0xc8 0 IRQ_TYPE_NONE>,
1018ea4ffcaSStephen Boyd				     <0 0xc9 0 IRQ_TYPE_NONE>,
1028ea4ffcaSStephen Boyd				     <0 0xca 0 IRQ_TYPE_NONE>,
1038ea4ffcaSStephen Boyd				     <0 0xcb 0 IRQ_TYPE_NONE>,
1048ea4ffcaSStephen Boyd				     <0 0xcc 0 IRQ_TYPE_NONE>,
1058ea4ffcaSStephen Boyd				     <0 0xcd 0 IRQ_TYPE_NONE>,
1068ea4ffcaSStephen Boyd				     <0 0xce 0 IRQ_TYPE_NONE>,
1078ea4ffcaSStephen Boyd				     <0 0xcf 0 IRQ_TYPE_NONE>,
1088ea4ffcaSStephen Boyd				     <0 0xd0 0 IRQ_TYPE_NONE>,
1098ea4ffcaSStephen Boyd				     <0 0xd1 0 IRQ_TYPE_NONE>,
1108ea4ffcaSStephen Boyd				     <0 0xd2 0 IRQ_TYPE_NONE>,
1118ea4ffcaSStephen Boyd				     <0 0xd3 0 IRQ_TYPE_NONE>,
1128ea4ffcaSStephen Boyd				     <0 0xd4 0 IRQ_TYPE_NONE>,
1138ea4ffcaSStephen Boyd				     <0 0xd5 0 IRQ_TYPE_NONE>,
1148ea4ffcaSStephen Boyd				     <0 0xd6 0 IRQ_TYPE_NONE>,
1158ea4ffcaSStephen Boyd				     <0 0xd7 0 IRQ_TYPE_NONE>,
1168ea4ffcaSStephen Boyd				     <0 0xd8 0 IRQ_TYPE_NONE>,
1178ea4ffcaSStephen Boyd				     <0 0xd9 0 IRQ_TYPE_NONE>;
1188ea4ffcaSStephen Boyd		};
1198ea4ffcaSStephen Boyd
1208ea4ffcaSStephen Boyd	};
1218ea4ffcaSStephen Boyd
1228ea4ffcaSStephen Boyd	pm8998_lsid1: pmic@1 {
1238ea4ffcaSStephen Boyd		compatible = "qcom,pm8998", "qcom,spmi-pmic";
1248ea4ffcaSStephen Boyd		reg = <0x1 SPMI_USID>;
1258ea4ffcaSStephen Boyd		#address-cells = <1>;
1268ea4ffcaSStephen Boyd		#size-cells = <0>;
1278ea4ffcaSStephen Boyd	};
1288ea4ffcaSStephen Boyd};
129