18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci// Copyright (c) 2018, Linaro Limited
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#include <dt-bindings/spmi/spmi.h>
58c2ecf20Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h>
68c2ecf20Sopenharmony_ci#include <dt-bindings/iio/qcom,spmi-vadc.h>
78c2ecf20Sopenharmony_ci#include <dt-bindings/thermal/thermal.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/ {
108c2ecf20Sopenharmony_ci	thermal-zones {
118c2ecf20Sopenharmony_ci		pms405 {
128c2ecf20Sopenharmony_ci			polling-delay-passive = <250>;
138c2ecf20Sopenharmony_ci			polling-delay = <1000>;
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci			thermal-sensors = <&pms405_temp>;
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci			trips {
188c2ecf20Sopenharmony_ci				pms405_alert0: pms405-alert0 {
198c2ecf20Sopenharmony_ci					temperature = <105000>;
208c2ecf20Sopenharmony_ci					hysteresis = <2000>;
218c2ecf20Sopenharmony_ci					type = "passive";
228c2ecf20Sopenharmony_ci				};
238c2ecf20Sopenharmony_ci				pms405_crit: pms405-crit {
248c2ecf20Sopenharmony_ci					temperature = <125000>;
258c2ecf20Sopenharmony_ci					hysteresis = <2000>;
268c2ecf20Sopenharmony_ci					type = "critical";
278c2ecf20Sopenharmony_ci				};
288c2ecf20Sopenharmony_ci			};
298c2ecf20Sopenharmony_ci		};
308c2ecf20Sopenharmony_ci	};
318c2ecf20Sopenharmony_ci};
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci&spmi_bus {
348c2ecf20Sopenharmony_ci	pms405_0: pms405@0 {
358c2ecf20Sopenharmony_ci		compatible = "qcom,spmi-pmic";
368c2ecf20Sopenharmony_ci		reg = <0x0 SPMI_USID>;
378c2ecf20Sopenharmony_ci		#address-cells = <1>;
388c2ecf20Sopenharmony_ci		#size-cells = <0>;
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci		pms405_gpios: gpio@c000 {
418c2ecf20Sopenharmony_ci			compatible = "qcom,pms405-gpio";
428c2ecf20Sopenharmony_ci			reg = <0xc000>;
438c2ecf20Sopenharmony_ci			gpio-controller;
448c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
458c2ecf20Sopenharmony_ci			interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
468c2ecf20Sopenharmony_ci				<0 0xc1 0 IRQ_TYPE_NONE>,
478c2ecf20Sopenharmony_ci				<0 0xc2 0 IRQ_TYPE_NONE>,
488c2ecf20Sopenharmony_ci				<0 0xc3 0 IRQ_TYPE_NONE>,
498c2ecf20Sopenharmony_ci				<0 0xc4 0 IRQ_TYPE_NONE>,
508c2ecf20Sopenharmony_ci				<0 0xc5 0 IRQ_TYPE_NONE>,
518c2ecf20Sopenharmony_ci				<0 0xc6 0 IRQ_TYPE_NONE>,
528c2ecf20Sopenharmony_ci				<0 0xc7 0 IRQ_TYPE_NONE>,
538c2ecf20Sopenharmony_ci				<0 0xc8 0 IRQ_TYPE_NONE>,
548c2ecf20Sopenharmony_ci				<0 0xc9 0 IRQ_TYPE_NONE>,
558c2ecf20Sopenharmony_ci				<0 0xca 0 IRQ_TYPE_NONE>,
568c2ecf20Sopenharmony_ci				<0 0xcb 0 IRQ_TYPE_NONE>;
578c2ecf20Sopenharmony_ci		};
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci		pon@800 {
608c2ecf20Sopenharmony_ci			compatible = "qcom,pms405-pon";
618c2ecf20Sopenharmony_ci			reg = <0x0800>;
628c2ecf20Sopenharmony_ci			mode-bootloader = <0x2>;
638c2ecf20Sopenharmony_ci			mode-recovery = <0x1>;
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci			pwrkey {
668c2ecf20Sopenharmony_ci				compatible = "qcom,pm8941-pwrkey";
678c2ecf20Sopenharmony_ci				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
688c2ecf20Sopenharmony_ci				debounce = <15625>;
698c2ecf20Sopenharmony_ci				bias-pull-up;
708c2ecf20Sopenharmony_ci				linux,code = <KEY_POWER>;
718c2ecf20Sopenharmony_ci			};
728c2ecf20Sopenharmony_ci		};
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci		pms405_temp: temp-alarm@2400 {
758c2ecf20Sopenharmony_ci			compatible = "qcom,spmi-temp-alarm";
768c2ecf20Sopenharmony_ci			reg = <0x2400>;
778c2ecf20Sopenharmony_ci			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
788c2ecf20Sopenharmony_ci			io-channels = <&pms405_adc ADC5_DIE_TEMP>;
798c2ecf20Sopenharmony_ci			io-channel-names = "thermal";
808c2ecf20Sopenharmony_ci			#thermal-sensor-cells = <0>;
818c2ecf20Sopenharmony_ci		};
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci		pms405_adc: adc@3100 {
848c2ecf20Sopenharmony_ci			compatible = "qcom,pms405-adc", "qcom,spmi-adc-rev2";
858c2ecf20Sopenharmony_ci			reg = <0x3100>;
868c2ecf20Sopenharmony_ci			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
878c2ecf20Sopenharmony_ci			#address-cells = <1>;
888c2ecf20Sopenharmony_ci			#size-cells = <0>;
898c2ecf20Sopenharmony_ci			#io-channel-cells = <1>;
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci			ref_gnd@0 {
928c2ecf20Sopenharmony_ci				reg = <ADC5_REF_GND>;
938c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 1>;
948c2ecf20Sopenharmony_ci			};
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci			vref_1p25@1 {
978c2ecf20Sopenharmony_ci				reg = <ADC5_1P25VREF>;
988c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 1>;
998c2ecf20Sopenharmony_ci			};
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci			pon_1: vph_pwr@131 {
1028c2ecf20Sopenharmony_ci				reg = <ADC5_VPH_PWR>;
1038c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 3>;
1048c2ecf20Sopenharmony_ci			};
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci			die_temp@6 {
1078c2ecf20Sopenharmony_ci				reg = <ADC5_DIE_TEMP>;
1088c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 1>;
1098c2ecf20Sopenharmony_ci			};
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci			pa_therm1: thermistor1@77 {
1128c2ecf20Sopenharmony_ci				reg = <ADC5_AMUX_THM1_100K_PU>;
1138c2ecf20Sopenharmony_ci				qcom,ratiometric;
1148c2ecf20Sopenharmony_ci				qcom,hw-settle-time = <200>;
1158c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 1>;
1168c2ecf20Sopenharmony_ci			};
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci			pa_therm3: thermistor3@79 {
1198c2ecf20Sopenharmony_ci				reg = <ADC5_AMUX_THM3_100K_PU>;
1208c2ecf20Sopenharmony_ci				qcom,ratiometric;
1218c2ecf20Sopenharmony_ci				qcom,hw-settle-time = <200>;
1228c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 1>;
1238c2ecf20Sopenharmony_ci			};
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci			xo_therm: xo_temp@76 {
1268c2ecf20Sopenharmony_ci				reg = <ADC5_XO_THERM_100K_PU>;
1278c2ecf20Sopenharmony_ci				qcom,ratiometric;
1288c2ecf20Sopenharmony_ci				qcom,hw-settle-time = <200>;
1298c2ecf20Sopenharmony_ci				qcom,pre-scaling = <1 1>;
1308c2ecf20Sopenharmony_ci			};
1318c2ecf20Sopenharmony_ci		};
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci		rtc@6000 {
1348c2ecf20Sopenharmony_ci			compatible = "qcom,pm8941-rtc";
1358c2ecf20Sopenharmony_ci			reg = <0x6000>;
1368c2ecf20Sopenharmony_ci			reg-names = "rtc", "alarm";
1378c2ecf20Sopenharmony_ci			interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
1388c2ecf20Sopenharmony_ci		};
1398c2ecf20Sopenharmony_ci	};
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci	pms405_1: pms405@1 {
1428c2ecf20Sopenharmony_ci		compatible = "qcom,spmi-pmic";
1438c2ecf20Sopenharmony_ci		reg = <0x1 SPMI_USID>;
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci		pms405_spmi_regulators: regulators {
1468c2ecf20Sopenharmony_ci			compatible = "qcom,pms405-regulators";
1478c2ecf20Sopenharmony_ci		};
1488c2ecf20Sopenharmony_ci	};
1498c2ecf20Sopenharmony_ci};
150