xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm660.dtsi (revision 9f6cbe37)
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 {
144bf09754SKonrad Dybcio		pm660 {
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
57*9f6cbe37SDang 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>;
63*9f6cbe37SDang Huynh
64*9f6cbe37SDang Huynh				status = "disabled";
654870c76cSKonrad Dybcio			};
664870c76cSKonrad Dybcio
67*9f6cbe37SDang Huynh			pon_resin: resin {
68*9f6cbe37SDang Huynh				compatible = "qcom,pm8941-resin";
69*9f6cbe37SDang Huynh				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
70*9f6cbe37SDang Huynh				debounce = <15625>;
71*9f6cbe37SDang Huynh				bias-pull-up;
72*9f6cbe37SDang Huynh
73*9f6cbe37SDang Huynh				status = "disabled";
74*9f6cbe37SDang 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
944bf09754SKonrad Dybcio			ref_gnd: ref_gnd@0 {
954bf09754SKonrad Dybcio				reg = <ADC5_REF_GND>;
964bf09754SKonrad Dybcio				qcom,decimation = <1024>;
974bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
984bf09754SKonrad Dybcio			};
994bf09754SKonrad Dybcio
1004bf09754SKonrad Dybcio			vref_1p25: vref_1p25@1 {
1014bf09754SKonrad Dybcio				reg = <ADC5_1P25VREF>;
1024bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1034bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1044bf09754SKonrad Dybcio			};
1054bf09754SKonrad Dybcio
1064bf09754SKonrad Dybcio			die_temp: die_temp@6 {
1074bf09754SKonrad Dybcio				reg = <ADC5_DIE_TEMP>;
1084bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1094bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1104bf09754SKonrad Dybcio			};
1114bf09754SKonrad Dybcio
1124bf09754SKonrad Dybcio			xo_therm: xo_therm@4c {
1134bf09754SKonrad Dybcio				reg = <ADC5_XO_THERM_100K_PU>;
1144bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1154bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1164bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1174bf09754SKonrad Dybcio				qcom,ratiometric;
1184bf09754SKonrad Dybcio			};
1194bf09754SKonrad Dybcio
1204bf09754SKonrad Dybcio			msm_therm: msm_therm@4d {
1214bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM1_100K_PU>;
1224bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1234bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1244bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1254bf09754SKonrad Dybcio				qcom,ratiometric;
1264bf09754SKonrad Dybcio			};
1274bf09754SKonrad Dybcio
1284bf09754SKonrad Dybcio			emmc_therm: emmc_therm@4e {
1294bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM2_100K_PU>;
1304bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1314bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1324bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1334bf09754SKonrad Dybcio				qcom,ratiometric;
1344bf09754SKonrad Dybcio			};
1354bf09754SKonrad Dybcio
1364bf09754SKonrad Dybcio			pa_therm0: thermistor0@4f {
1374bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM3_100K_PU>;
1384bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1394bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1404bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1414bf09754SKonrad Dybcio				qcom,ratiometric;
1424bf09754SKonrad Dybcio			};
1434bf09754SKonrad Dybcio
1444bf09754SKonrad Dybcio			pa_therm1: thermistor1@50 {
1454bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM4_100K_PU>;
1464bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1474bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1484bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1494bf09754SKonrad Dybcio				qcom,ratiometric;
1504bf09754SKonrad Dybcio			};
1514bf09754SKonrad Dybcio
1524bf09754SKonrad Dybcio			quiet_therm: quiet_therm@51 {
1534bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM5_100K_PU>;
1544bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
1554bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1564bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
1574bf09754SKonrad Dybcio				qcom,ratiometric;
1584bf09754SKonrad Dybcio			};
1594bf09754SKonrad Dybcio
1604bf09754SKonrad Dybcio			vadc_vph_pwr: vph_pwr@83 {
1614bf09754SKonrad Dybcio				reg = <ADC5_VPH_PWR>;
1624bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1634bf09754SKonrad Dybcio				qcom,pre-scaling = <1 3>;
1644bf09754SKonrad Dybcio			};
1654bf09754SKonrad Dybcio
1664bf09754SKonrad Dybcio			vcoin: vcoin@83 {
1674bf09754SKonrad Dybcio				reg = <ADC5_VCOIN>;
1684bf09754SKonrad Dybcio				qcom,decimation = <1024>;
1694bf09754SKonrad Dybcio				qcom,pre-scaling = <1 3>;
1704bf09754SKonrad Dybcio			};
1714bf09754SKonrad Dybcio		};
1724bf09754SKonrad Dybcio
1734870c76cSKonrad Dybcio		pm660_gpios: gpios@c000 {
1744870c76cSKonrad Dybcio			compatible = "qcom,pm660-gpio";
1754870c76cSKonrad Dybcio			reg = <0xc000>;
1764870c76cSKonrad Dybcio			gpio-controller;
1774870c76cSKonrad Dybcio			gpio-ranges = <&pm660_gpios 0 0 13>;
1784870c76cSKonrad Dybcio			#gpio-cells = <2>;
1794870c76cSKonrad Dybcio			interrupt-controller;
18022f5adc7SŁukasz Patron			#interrupt-cells = <2>;
1814870c76cSKonrad Dybcio		};
1824870c76cSKonrad Dybcio	};
183b59b058cSAngeloGioacchino Del Regno
184b59b058cSAngeloGioacchino Del Regno	pmic@1 {
185b59b058cSAngeloGioacchino Del Regno		compatible = "qcom,pm660", "qcom,spmi-pmic";
186b59b058cSAngeloGioacchino Del Regno		reg = <0x1 SPMI_USID>;
187b59b058cSAngeloGioacchino Del Regno		#address-cells = <1>;
188b59b058cSAngeloGioacchino Del Regno		#size-cells = <0>;
189b59b058cSAngeloGioacchino Del Regno
190b59b058cSAngeloGioacchino Del Regno		pm660_spmi_regulators: pm660-regulators {
191b59b058cSAngeloGioacchino Del Regno			compatible = "qcom,pm660-regulators";
192b59b058cSAngeloGioacchino Del Regno		};
193b59b058cSAngeloGioacchino Del Regno	};
1944870c76cSKonrad Dybcio};
195