xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm660.dtsi (revision 41c18552)
14870c76cSKonrad Dybcio// SPDX-License-Identifier: BSD-3-Clause
24870c76cSKonrad Dybcio/*
34870c76cSKonrad Dybcio * Copyright (c) 2020, Konrad Dybcio
44870c76cSKonrad Dybcio */
54870c76cSKonrad Dybcio
64bf09754SKonrad Dybcio#include <dt-bindings/iio/qcom,spmi-vadc.h>
74870c76cSKonrad Dybcio#include <dt-bindings/input/linux-event-codes.h>
84870c76cSKonrad Dybcio#include <dt-bindings/interrupt-controller/irq.h>
94870c76cSKonrad Dybcio#include <dt-bindings/spmi/spmi.h>
104bf09754SKonrad Dybcio#include <dt-bindings/thermal/thermal.h>
114bf09754SKonrad Dybcio
124bf09754SKonrad Dybcio/ {
134bf09754SKonrad Dybcio	thermal-zones {
146b056f38SKrzysztof Kozlowski		pm660-thermal {
154bf09754SKonrad Dybcio			polling-delay-passive = <250>;
164bf09754SKonrad Dybcio			polling-delay = <1000>;
174bf09754SKonrad Dybcio
184bf09754SKonrad Dybcio			thermal-sensors = <&pm660_temp>;
194bf09754SKonrad Dybcio
204bf09754SKonrad Dybcio			trips {
214bf09754SKonrad Dybcio				pm660_alert0: pm660-alert0 {
224bf09754SKonrad Dybcio					temperature = <95000>;
234bf09754SKonrad Dybcio					hysteresis = <2000>;
244bf09754SKonrad Dybcio					type = "passive";
254bf09754SKonrad Dybcio				};
264bf09754SKonrad Dybcio				pm660_crit: pm660-crit {
274bf09754SKonrad Dybcio					temperature = <125000>;
284bf09754SKonrad Dybcio					hysteresis = <2000>;
294bf09754SKonrad Dybcio					type = "critical";
304bf09754SKonrad Dybcio				};
314bf09754SKonrad Dybcio			};
324bf09754SKonrad Dybcio		};
334bf09754SKonrad Dybcio	};
344bf09754SKonrad Dybcio};
354870c76cSKonrad Dybcio
364870c76cSKonrad Dybcio&spmi_bus {
374870c76cSKonrad Dybcio
384870c76cSKonrad Dybcio	pmic@0 {
394870c76cSKonrad Dybcio		compatible = "qcom,pm660", "qcom,spmi-pmic";
404870c76cSKonrad Dybcio		reg = <0x0 SPMI_USID>;
414870c76cSKonrad Dybcio		#address-cells = <1>;
424870c76cSKonrad Dybcio		#size-cells = <0>;
434870c76cSKonrad Dybcio
444870c76cSKonrad Dybcio		rtc@6000 {
454870c76cSKonrad Dybcio			compatible = "qcom,pm8941-rtc";
464870c76cSKonrad Dybcio			reg = <0x6000>, <0x6100>;
474870c76cSKonrad Dybcio			reg-names = "rtc", "alarm";
484870c76cSKonrad Dybcio			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
494870c76cSKonrad Dybcio		};
504870c76cSKonrad Dybcio
514870c76cSKonrad Dybcio		pon: pon@800 {
5236730a8fSShawn Guo			compatible = "qcom,pm8998-pon";
534870c76cSKonrad Dybcio			reg = <0x800>;
5436730a8fSShawn Guo			mode-bootloader = <0x2>;
5536730a8fSShawn Guo			mode-recovery = <0x1>;
564870c76cSKonrad Dybcio
579f6cbe37SDang Huynh			pon_pwrkey: pwrkey {
584870c76cSKonrad Dybcio				compatible = "qcom,pm8941-pwrkey";
594870c76cSKonrad Dybcio				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
604870c76cSKonrad Dybcio				debounce = <15625>;
614870c76cSKonrad Dybcio				bias-pull-up;
624870c76cSKonrad Dybcio				linux,code = <KEY_POWER>;
639f6cbe37SDang Huynh
649f6cbe37SDang Huynh				status = "disabled";
654870c76cSKonrad Dybcio			};
664870c76cSKonrad Dybcio
679f6cbe37SDang Huynh			pon_resin: resin {
689f6cbe37SDang Huynh				compatible = "qcom,pm8941-resin";
699f6cbe37SDang Huynh				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
709f6cbe37SDang Huynh				debounce = <15625>;
719f6cbe37SDang Huynh				bias-pull-up;
729f6cbe37SDang Huynh
739f6cbe37SDang Huynh				status = "disabled";
749f6cbe37SDang Huynh			};
754870c76cSKonrad Dybcio		};
764870c76cSKonrad Dybcio
774bf09754SKonrad Dybcio		pm660_temp: temp-alarm@2400 {
784bf09754SKonrad Dybcio			compatible = "qcom,spmi-temp-alarm";
794bf09754SKonrad Dybcio			reg = <0x2400>;
804bf09754SKonrad Dybcio			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
814bf09754SKonrad Dybcio			io-channels = <&pm660_adc ADC5_DIE_TEMP>;
824bf09754SKonrad Dybcio			io-channel-names = "thermal";
834bf09754SKonrad Dybcio			#thermal-sensor-cells = <0>;
844bf09754SKonrad Dybcio		};
854bf09754SKonrad Dybcio
864bf09754SKonrad Dybcio		pm660_adc: adc@3100 {
874bf09754SKonrad Dybcio			compatible = "qcom,spmi-adc-rev2";
884bf09754SKonrad Dybcio			reg = <0x3100>;
894bf09754SKonrad Dybcio			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
904bf09754SKonrad Dybcio			#address-cells = <1>;
914bf09754SKonrad Dybcio			#size-cells = <0>;
924bf09754SKonrad Dybcio			#io-channel-cells = <1>;
934bf09754SKonrad Dybcio
94*41c18552SMarijn Suijten			channel@0 {
954bf09754SKonrad Dybcio				reg = <ADC5_REF_GND>;
964bf09754SKonrad Dybcio				qcom,decimation = <1024>;
974bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
98*41c18552SMarijn Suijten				label = "ref_gnd";
994bf09754SKonrad Dybcio			};
1004bf09754SKonrad Dybcio
101*41c18552SMarijn Suijten			channel@1 {
1024bf09754SKonrad Dybcio				reg = <ADC5_1P25VREF>;
1034bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1044bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
105*41c18552SMarijn Suijten				label = "vref_1p25";
1064bf09754SKonrad Dybcio			};
1074bf09754SKonrad Dybcio
108*41c18552SMarijn Suijten			channel@6 {
1094bf09754SKonrad Dybcio				reg = <ADC5_DIE_TEMP>;
1104bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1114bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
112*41c18552SMarijn Suijten				label = "die_temp";
1134bf09754SKonrad Dybcio			};
1144bf09754SKonrad Dybcio
115*41c18552SMarijn Suijten			channel@4c {
1164bf09754SKonrad Dybcio				reg = <ADC5_XO_THERM_100K_PU>;
1174bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1184bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1194bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1204bf09754SKonrad Dybcio				qcom,ratiometric;
121*41c18552SMarijn Suijten				label = "xo_therm";
1224bf09754SKonrad Dybcio			};
1234bf09754SKonrad Dybcio
124*41c18552SMarijn Suijten			channel@4d {
1254bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM1_100K_PU>;
1264bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1274bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1284bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1294bf09754SKonrad Dybcio				qcom,ratiometric;
130*41c18552SMarijn Suijten				label = "msm_therm";
1314bf09754SKonrad Dybcio			};
1324bf09754SKonrad Dybcio
133*41c18552SMarijn Suijten			channel@4e {
1344bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM2_100K_PU>;
1354bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1364bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1374bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1384bf09754SKonrad Dybcio				qcom,ratiometric;
139*41c18552SMarijn Suijten				label = "emmc_therm";
1404bf09754SKonrad Dybcio			};
1414bf09754SKonrad Dybcio
142*41c18552SMarijn Suijten			channel@4f {
1434bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM3_100K_PU>;
1444bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1454bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1464bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1474bf09754SKonrad Dybcio				qcom,ratiometric;
148*41c18552SMarijn Suijten				label = "pa_therm0";
1494bf09754SKonrad Dybcio			};
1504bf09754SKonrad Dybcio
151*41c18552SMarijn Suijten			channel@50 {
1524bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM4_100K_PU>;
1534bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1544bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1554bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1564bf09754SKonrad Dybcio				qcom,ratiometric;
157*41c18552SMarijn Suijten				label = "pa_therm1";
1584bf09754SKonrad Dybcio			};
1594bf09754SKonrad Dybcio
160*41c18552SMarijn Suijten			channel@51 {
1614bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM5_100K_PU>;
1624bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1634bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1644bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1654bf09754SKonrad Dybcio				qcom,ratiometric;
166*41c18552SMarijn Suijten				label = "quiet_therm";
1674bf09754SKonrad Dybcio			};
1684bf09754SKonrad Dybcio
169*41c18552SMarijn Suijten			channel@83 {
1704bf09754SKonrad Dybcio				reg = <ADC5_VPH_PWR>;
1714bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1724bf09754SKonrad Dybcio				qcom,pre-scaling = <1 3>;
173*41c18552SMarijn Suijten				label = "vph_pwr";
1744bf09754SKonrad Dybcio			};
1754bf09754SKonrad Dybcio
176*41c18552SMarijn Suijten			channel@85 {
1774bf09754SKonrad Dybcio				reg = <ADC5_VCOIN>;
1784bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1794bf09754SKonrad Dybcio				qcom,pre-scaling = <1 3>;
180*41c18552SMarijn Suijten				label = "vcoin";
1814bf09754SKonrad Dybcio			};
1824bf09754SKonrad Dybcio		};
1834bf09754SKonrad Dybcio
184c95243eeSKrzysztof Kozlowski		pm660_gpios: gpio@c000 {
185019102a9SKrzysztof Kozlowski			compatible = "qcom,pm660-gpio", "qcom,spmi-gpio";
1864870c76cSKonrad Dybcio			reg = <0xc000>;
1874870c76cSKonrad Dybcio			gpio-controller;
1884870c76cSKonrad Dybcio			gpio-ranges = <&pm660_gpios 0 0 13>;
1894870c76cSKonrad Dybcio			#gpio-cells = <2>;
1904870c76cSKonrad Dybcio			interrupt-controller;
19122f5adc7SŁukasz Patron			#interrupt-cells = <2>;
1924870c76cSKonrad Dybcio		};
1934870c76cSKonrad Dybcio	};
194b59b058cSAngeloGioacchino Del Regno
195b59b058cSAngeloGioacchino Del Regno	pmic@1 {
196b59b058cSAngeloGioacchino Del Regno		compatible = "qcom,pm660", "qcom,spmi-pmic";
197b59b058cSAngeloGioacchino Del Regno		reg = <0x1 SPMI_USID>;
198b59b058cSAngeloGioacchino Del Regno		#address-cells = <1>;
199b59b058cSAngeloGioacchino Del Regno		#size-cells = <0>;
200b59b058cSAngeloGioacchino Del Regno
201c29ed5afSKrzysztof Kozlowski		pm660_spmi_regulators: regulators {
202b59b058cSAngeloGioacchino Del Regno			compatible = "qcom,pm660-regulators";
203b59b058cSAngeloGioacchino Del Regno		};
204b59b058cSAngeloGioacchino Del Regno	};
2054870c76cSKonrad Dybcio};
206