xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm6125.dtsi (revision 41c18552)
17c969c6eSMarijn Suijten// SPDX-License-Identifier: BSD-3-Clause
27c969c6eSMarijn Suijten
37c969c6eSMarijn Suijten#include <dt-bindings/iio/qcom,spmi-vadc.h>
47c969c6eSMarijn Suijten#include <dt-bindings/input/input.h>
57c969c6eSMarijn Suijten#include <dt-bindings/input/linux-event-codes.h>
67c969c6eSMarijn Suijten#include <dt-bindings/interrupt-controller/irq.h>
77c969c6eSMarijn Suijten#include <dt-bindings/spmi/spmi.h>
87c969c6eSMarijn Suijten
97c969c6eSMarijn Suijten/ {
107c969c6eSMarijn Suijten	thermal-zones {
117c969c6eSMarijn Suijten		pm6125-thermal {
127c969c6eSMarijn Suijten			polling-delay-passive = <100>;
137c969c6eSMarijn Suijten			polling-delay = <0>;
147c969c6eSMarijn Suijten
157c969c6eSMarijn Suijten			thermal-sensors = <&pm6125_temp>;
167c969c6eSMarijn Suijten
177c969c6eSMarijn Suijten			trips {
187c969c6eSMarijn Suijten				trip0 {
197c969c6eSMarijn Suijten					temperature = <95000>;
207c969c6eSMarijn Suijten					hysteresis = <0>;
217c969c6eSMarijn Suijten					type = "passive";
227c969c6eSMarijn Suijten				};
237c969c6eSMarijn Suijten
247c969c6eSMarijn Suijten				trip1 {
257c969c6eSMarijn Suijten					temperature = <115000>;
267c969c6eSMarijn Suijten					hysteresis = <0>;
277c969c6eSMarijn Suijten					type = "hot";
287c969c6eSMarijn Suijten				};
297c969c6eSMarijn Suijten
307c969c6eSMarijn Suijten				trip2 {
317c969c6eSMarijn Suijten					temperature = <145000>;
327c969c6eSMarijn Suijten					hysteresis = <0>;
337c969c6eSMarijn Suijten					type = "critical";
347c969c6eSMarijn Suijten				};
357c969c6eSMarijn Suijten			};
367c969c6eSMarijn Suijten		};
377c969c6eSMarijn Suijten	};
387c969c6eSMarijn Suijten};
397c969c6eSMarijn Suijten
407c969c6eSMarijn Suijten&spmi_bus {
417c969c6eSMarijn Suijten	pmic@0 {
427c969c6eSMarijn Suijten		compatible = "qcom,pm6125", "qcom,spmi-pmic";
437c969c6eSMarijn Suijten		reg = <0x0 SPMI_USID>;
447c969c6eSMarijn Suijten		#address-cells = <1>;
457c969c6eSMarijn Suijten		#size-cells = <0>;
467c969c6eSMarijn Suijten
477c969c6eSMarijn Suijten		pm6125_pon: pon@800 {
487c969c6eSMarijn Suijten			compatible = "qcom,pm8998-pon";
497c969c6eSMarijn Suijten			reg = <0x800>;
507c969c6eSMarijn Suijten			mode-bootloader = <0x2>;
517c969c6eSMarijn Suijten			mode-recovery = <0x1>;
527c969c6eSMarijn Suijten
537c969c6eSMarijn Suijten			pon_pwrkey: pwrkey {
547c969c6eSMarijn Suijten				compatible = "qcom,pm8941-pwrkey";
557c969c6eSMarijn Suijten				interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
567c969c6eSMarijn Suijten				debounce = <15625>;
577c969c6eSMarijn Suijten				linux,code = <KEY_POWER>;
587c969c6eSMarijn Suijten				bias-pull-up;
597c969c6eSMarijn Suijten				status = "disabled";
607c969c6eSMarijn Suijten			};
617c969c6eSMarijn Suijten
627c969c6eSMarijn Suijten			pon_resin: resin {
637c969c6eSMarijn Suijten				compatible = "qcom,pm8941-resin";
647c969c6eSMarijn Suijten				interrupts = <0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>;
657c969c6eSMarijn Suijten				debounce = <15625>;
667c969c6eSMarijn Suijten				bias-pull-up;
677c969c6eSMarijn Suijten				status = "disabled";
687c969c6eSMarijn Suijten			};
697c969c6eSMarijn Suijten		};
707c969c6eSMarijn Suijten
717c969c6eSMarijn Suijten		pm6125_temp: temp-alarm@2400 {
727c969c6eSMarijn Suijten			compatible = "qcom,spmi-temp-alarm";
737c969c6eSMarijn Suijten			reg = <0x2400>;
747c969c6eSMarijn Suijten			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
757c969c6eSMarijn Suijten			io-channels = <&pm6125_adc ADC5_DIE_TEMP>;
767c969c6eSMarijn Suijten			io-channel-names = "thermal";
777c969c6eSMarijn Suijten			#thermal-sensor-cells = <0>;
787c969c6eSMarijn Suijten		};
797c969c6eSMarijn Suijten
807c969c6eSMarijn Suijten		pm6125_adc: adc@3100 {
817c969c6eSMarijn Suijten			compatible = "qcom,spmi-adc5";
827c969c6eSMarijn Suijten			reg = <0x3100>;
837c969c6eSMarijn Suijten			#address-cells = <1>;
847c969c6eSMarijn Suijten			#size-cells = <0>;
857c969c6eSMarijn Suijten			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
867c969c6eSMarijn Suijten			#io-channel-cells = <1>;
877c969c6eSMarijn Suijten
88*41c18552SMarijn Suijten			channel@0 {
897c969c6eSMarijn Suijten				reg = <ADC5_REF_GND>;
907c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
91*41c18552SMarijn Suijten				label = "ref_gnd";
927c969c6eSMarijn Suijten			};
937c969c6eSMarijn Suijten
94*41c18552SMarijn Suijten			channel@1 {
957c969c6eSMarijn Suijten				reg = <ADC5_1P25VREF>;
967c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
97*41c18552SMarijn Suijten				label = "vref_1p25";
987c969c6eSMarijn Suijten			};
997c969c6eSMarijn Suijten
100*41c18552SMarijn Suijten			channel@6 {
1017c969c6eSMarijn Suijten				reg = <ADC5_DIE_TEMP>;
1027c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
103*41c18552SMarijn Suijten				label = "die_temp";
1047c969c6eSMarijn Suijten			};
1057c969c6eSMarijn Suijten
106*41c18552SMarijn Suijten			channel@83 {
1077c969c6eSMarijn Suijten				reg = <ADC5_VPH_PWR>;
1087c969c6eSMarijn Suijten				qcom,pre-scaling = <1 3>;
109*41c18552SMarijn Suijten				label = "vph_pwr";
1107c969c6eSMarijn Suijten			};
1117c969c6eSMarijn Suijten
112*41c18552SMarijn Suijten			channel@85 {
1137c969c6eSMarijn Suijten				reg = <ADC5_VCOIN>;
1147c969c6eSMarijn Suijten				qcom,pre-scaling = <1 3>;
115*41c18552SMarijn Suijten				label = "vcoin";
1167c969c6eSMarijn Suijten			};
1177c969c6eSMarijn Suijten
118*41c18552SMarijn Suijten			channel@4c {
1197c969c6eSMarijn Suijten				reg = <ADC5_XO_THERM_100K_PU>;
1207c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
1217c969c6eSMarijn Suijten				qcom,hw-settle-time = <200>;
1227c969c6eSMarijn Suijten				qcom,ratiometric;
123*41c18552SMarijn Suijten				label = "xo_therm";
1247c969c6eSMarijn Suijten			};
1257c969c6eSMarijn Suijten		};
1267c969c6eSMarijn Suijten
1277c969c6eSMarijn Suijten		pm6125_adc_tm: adc-tm@3500 {
1287c969c6eSMarijn Suijten			compatible = "qcom,spmi-adc-tm5";
1297c969c6eSMarijn Suijten			reg = <0x3500>;
1307c969c6eSMarijn Suijten			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
1317c969c6eSMarijn Suijten			#address-cells = <1>;
1327c969c6eSMarijn Suijten			#size-cells = <0>;
1337c969c6eSMarijn Suijten			#thermal-sensor-cells = <1>;
1347c969c6eSMarijn Suijten			status = "disabled";
1357c969c6eSMarijn Suijten		};
1367c969c6eSMarijn Suijten
1377c969c6eSMarijn Suijten		pm6125_rtc: rtc@6000 {
1387c969c6eSMarijn Suijten			compatible = "qcom,pm8941-rtc";
1397c969c6eSMarijn Suijten			reg = <0x6000>, <0x6100>;
1407c969c6eSMarijn Suijten			reg-names = "rtc", "alarm";
1417c969c6eSMarijn Suijten			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
1427c969c6eSMarijn Suijten			status = "disabled";
1437c969c6eSMarijn Suijten		};
1447c969c6eSMarijn Suijten
145ea25d61bSMarijn Suijten		pm6125_gpios: gpio@c000 {
1467c969c6eSMarijn Suijten			compatible = "qcom,pm6125-gpio", "qcom,spmi-gpio";
1477c969c6eSMarijn Suijten			reg = <0xc000>;
1487c969c6eSMarijn Suijten			gpio-controller;
149ea25d61bSMarijn Suijten			gpio-ranges = <&pm6125_gpios 0 0 9>;
1507c969c6eSMarijn Suijten			#gpio-cells = <2>;
1517c969c6eSMarijn Suijten			interrupt-controller;
1527c969c6eSMarijn Suijten			#interrupt-cells = <2>;
1537c969c6eSMarijn Suijten		};
1547c969c6eSMarijn Suijten	};
1557c969c6eSMarijn Suijten
1567c969c6eSMarijn Suijten	pmic@1 {
1577c969c6eSMarijn Suijten		compatible = "qcom,pm6125", "qcom,spmi-pmic";
1587c969c6eSMarijn Suijten		reg = <0x1 SPMI_USID>;
1597c969c6eSMarijn Suijten	};
1607c969c6eSMarijn Suijten};
161