xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/lemans-pmics.dtsi (revision 96fb1ebd28756790597f73ad25306f58f558be97)
11537cf73SEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
21537cf73SEmmanuel Vadot/*
31537cf73SEmmanuel Vadot * Copyright (c) 2023, Linaro Limited
41537cf73SEmmanuel Vadot */
51537cf73SEmmanuel Vadot
61537cf73SEmmanuel Vadot#include <dt-bindings/input/input.h>
71537cf73SEmmanuel Vadot#include <dt-bindings/spmi/spmi.h>
81537cf73SEmmanuel Vadot
91537cf73SEmmanuel Vadot/ {
101537cf73SEmmanuel Vadot	thermal-zones {
111537cf73SEmmanuel Vadot		pmm8654au_0_thermal: pm8775-0-thermal {
121537cf73SEmmanuel Vadot			polling-delay-passive = <100>;
131537cf73SEmmanuel Vadot
141537cf73SEmmanuel Vadot			thermal-sensors = <&pmm8654au_0_temp_alarm>;
151537cf73SEmmanuel Vadot
161537cf73SEmmanuel Vadot			trips {
171537cf73SEmmanuel Vadot				trip0 {
181537cf73SEmmanuel Vadot					temperature = <105000>;
191537cf73SEmmanuel Vadot					hysteresis = <0>;
201537cf73SEmmanuel Vadot					type = "passive";
211537cf73SEmmanuel Vadot				};
221537cf73SEmmanuel Vadot
231537cf73SEmmanuel Vadot				trip1 {
241537cf73SEmmanuel Vadot					temperature = <125000>;
251537cf73SEmmanuel Vadot					hysteresis = <0>;
261537cf73SEmmanuel Vadot					type = "critical";
271537cf73SEmmanuel Vadot				};
281537cf73SEmmanuel Vadot			};
291537cf73SEmmanuel Vadot		};
301537cf73SEmmanuel Vadot
311537cf73SEmmanuel Vadot		pmm8654au_1_thermal: pm8775-1-thermal {
321537cf73SEmmanuel Vadot			polling-delay-passive = <100>;
331537cf73SEmmanuel Vadot
341537cf73SEmmanuel Vadot			thermal-sensors = <&pmm8654au_1_temp_alarm>;
351537cf73SEmmanuel Vadot
361537cf73SEmmanuel Vadot			trips {
371537cf73SEmmanuel Vadot				trip0 {
381537cf73SEmmanuel Vadot					temperature = <105000>;
391537cf73SEmmanuel Vadot					hysteresis = <0>;
401537cf73SEmmanuel Vadot					type = "passive";
411537cf73SEmmanuel Vadot				};
421537cf73SEmmanuel Vadot
431537cf73SEmmanuel Vadot				trip1 {
441537cf73SEmmanuel Vadot					temperature = <125000>;
451537cf73SEmmanuel Vadot					hysteresis = <0>;
461537cf73SEmmanuel Vadot					type = "critical";
471537cf73SEmmanuel Vadot				};
481537cf73SEmmanuel Vadot			};
491537cf73SEmmanuel Vadot		};
501537cf73SEmmanuel Vadot
511537cf73SEmmanuel Vadot		pmm8654au_2_thermal: pm8775-2-thermal {
521537cf73SEmmanuel Vadot			polling-delay-passive = <100>;
531537cf73SEmmanuel Vadot
541537cf73SEmmanuel Vadot			thermal-sensors = <&pmm8654au_2_temp_alarm>;
551537cf73SEmmanuel Vadot
561537cf73SEmmanuel Vadot			trips {
571537cf73SEmmanuel Vadot				trip0 {
581537cf73SEmmanuel Vadot					temperature = <105000>;
591537cf73SEmmanuel Vadot					hysteresis = <0>;
601537cf73SEmmanuel Vadot					type = "passive";
611537cf73SEmmanuel Vadot				};
621537cf73SEmmanuel Vadot
631537cf73SEmmanuel Vadot				trip1 {
641537cf73SEmmanuel Vadot					temperature = <125000>;
651537cf73SEmmanuel Vadot					hysteresis = <0>;
661537cf73SEmmanuel Vadot					type = "critical";
671537cf73SEmmanuel Vadot				};
681537cf73SEmmanuel Vadot			};
691537cf73SEmmanuel Vadot		};
701537cf73SEmmanuel Vadot
711537cf73SEmmanuel Vadot		pmm8654au_3_thermal: pm8775-3-thermal {
721537cf73SEmmanuel Vadot			polling-delay-passive = <100>;
731537cf73SEmmanuel Vadot
741537cf73SEmmanuel Vadot			thermal-sensors = <&pmm8654au_3_temp_alarm>;
751537cf73SEmmanuel Vadot
761537cf73SEmmanuel Vadot			trips {
771537cf73SEmmanuel Vadot				trip0 {
781537cf73SEmmanuel Vadot					temperature = <105000>;
791537cf73SEmmanuel Vadot					hysteresis = <0>;
801537cf73SEmmanuel Vadot					type = "passive";
811537cf73SEmmanuel Vadot				};
821537cf73SEmmanuel Vadot
831537cf73SEmmanuel Vadot				trip1 {
841537cf73SEmmanuel Vadot					temperature = <125000>;
851537cf73SEmmanuel Vadot					hysteresis = <0>;
861537cf73SEmmanuel Vadot					type = "critical";
871537cf73SEmmanuel Vadot				};
881537cf73SEmmanuel Vadot			};
891537cf73SEmmanuel Vadot		};
901537cf73SEmmanuel Vadot	};
911537cf73SEmmanuel Vadot
921537cf73SEmmanuel Vadot	reboot-mode {
931537cf73SEmmanuel Vadot		compatible = "nvmem-reboot-mode";
941537cf73SEmmanuel Vadot		nvmem-cells = <&reboot_reason>;
951537cf73SEmmanuel Vadot		nvmem-cell-names = "reboot-mode";
961537cf73SEmmanuel Vadot		mode-recovery = <0x01>;
971537cf73SEmmanuel Vadot		mode-bootloader = <0x02>;
981537cf73SEmmanuel Vadot	};
991537cf73SEmmanuel Vadot};
1001537cf73SEmmanuel Vadot
1011537cf73SEmmanuel Vadot&spmi_bus {
1021537cf73SEmmanuel Vadot	pmm8654au_0: pmic@0 {
1031537cf73SEmmanuel Vadot		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
1041537cf73SEmmanuel Vadot		reg = <0x0 SPMI_USID>;
1051537cf73SEmmanuel Vadot		#address-cells = <1>;
1061537cf73SEmmanuel Vadot		#size-cells = <0>;
1071537cf73SEmmanuel Vadot
1081537cf73SEmmanuel Vadot		pmm8654au_0_temp_alarm: temp-alarm@a00 {
1091537cf73SEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
1101537cf73SEmmanuel Vadot			reg = <0xa00>;
1111537cf73SEmmanuel Vadot			interrupts-extended = <&spmi_bus 0x0 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
1121537cf73SEmmanuel Vadot			#thermal-sensor-cells = <0>;
1131537cf73SEmmanuel Vadot		};
1141537cf73SEmmanuel Vadot
1151537cf73SEmmanuel Vadot		pmm8654au_0_pon: pon@1200 {
1161537cf73SEmmanuel Vadot			compatible = "qcom,pmk8350-pon";
1171537cf73SEmmanuel Vadot			reg = <0x1200>, <0x800>;
1181537cf73SEmmanuel Vadot			reg-names = "hlos", "pbs";
1191537cf73SEmmanuel Vadot
1201537cf73SEmmanuel Vadot			pmm8654au_0_pon_pwrkey: pwrkey {
1211537cf73SEmmanuel Vadot				compatible = "qcom,pmk8350-pwrkey";
1221537cf73SEmmanuel Vadot				interrupts-extended = <&spmi_bus 0x0 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
1231537cf73SEmmanuel Vadot				linux,code = <KEY_POWER>;
1241537cf73SEmmanuel Vadot				debounce = <15625>;
1251537cf73SEmmanuel Vadot			};
1261537cf73SEmmanuel Vadot
1271537cf73SEmmanuel Vadot			pmm8654au_0_pon_resin: resin {
1281537cf73SEmmanuel Vadot				compatible = "qcom,pmk8350-resin";
1291537cf73SEmmanuel Vadot				interrupts-extended = <&spmi_bus 0x0 0x12 0x6 IRQ_TYPE_EDGE_BOTH>;
1301537cf73SEmmanuel Vadot				debounce = <15625>;
1311537cf73SEmmanuel Vadot				status = "disabled";
1321537cf73SEmmanuel Vadot			};
1331537cf73SEmmanuel Vadot		};
1341537cf73SEmmanuel Vadot
135*96fb1ebdSEmmanuel Vadot		pmm8654au_0_rtc: rtc@6100 {
136*96fb1ebdSEmmanuel Vadot			compatible = "qcom,pmk8350-rtc";
137*96fb1ebdSEmmanuel Vadot			reg = <0x6100>,
138*96fb1ebdSEmmanuel Vadot			      <0x6200>;
139*96fb1ebdSEmmanuel Vadot			reg-names = "rtc",
140*96fb1ebdSEmmanuel Vadot				    "alarm";
141*96fb1ebdSEmmanuel Vadot			interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
142*96fb1ebdSEmmanuel Vadot		};
143*96fb1ebdSEmmanuel Vadot
1441537cf73SEmmanuel Vadot		pmm8654au_0_gpios: gpio@8800 {
1451537cf73SEmmanuel Vadot			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
1461537cf73SEmmanuel Vadot			reg = <0x8800>;
1471537cf73SEmmanuel Vadot			gpio-controller;
1481537cf73SEmmanuel Vadot			gpio-ranges = <&pmm8654au_0_gpios 0 0 12>;
1491537cf73SEmmanuel Vadot			#gpio-cells = <2>;
1501537cf73SEmmanuel Vadot			interrupt-controller;
1511537cf73SEmmanuel Vadot			#interrupt-cells = <2>;
1521537cf73SEmmanuel Vadot		};
1531537cf73SEmmanuel Vadot
1541537cf73SEmmanuel Vadot		pmm8654au_0_sdam_0: nvram@7100 {
1551537cf73SEmmanuel Vadot			compatible = "qcom,spmi-sdam";
1561537cf73SEmmanuel Vadot			reg = <0x7100>;
1571537cf73SEmmanuel Vadot			#address-cells = <1>;
1581537cf73SEmmanuel Vadot			#size-cells = <1>;
1591537cf73SEmmanuel Vadot			ranges = <0 0x7100 0x100>;
1601537cf73SEmmanuel Vadot
1611537cf73SEmmanuel Vadot			reboot_reason: reboot-reason@48 {
1621537cf73SEmmanuel Vadot				reg = <0x48 0x1>;
1631537cf73SEmmanuel Vadot				bits = <1 7>;
1641537cf73SEmmanuel Vadot			};
1651537cf73SEmmanuel Vadot		};
1661537cf73SEmmanuel Vadot	};
1671537cf73SEmmanuel Vadot
1681537cf73SEmmanuel Vadot	pmm8654au_1: pmic@2 {
1691537cf73SEmmanuel Vadot		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
1701537cf73SEmmanuel Vadot		reg = <0x2 SPMI_USID>;
1711537cf73SEmmanuel Vadot		#address-cells = <1>;
1721537cf73SEmmanuel Vadot		#size-cells = <0>;
1731537cf73SEmmanuel Vadot
1741537cf73SEmmanuel Vadot		pmm8654au_1_temp_alarm: temp-alarm@a00 {
1751537cf73SEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
1761537cf73SEmmanuel Vadot			reg = <0xa00>;
1771537cf73SEmmanuel Vadot			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
1781537cf73SEmmanuel Vadot			#thermal-sensor-cells = <0>;
1791537cf73SEmmanuel Vadot		};
1801537cf73SEmmanuel Vadot
1811537cf73SEmmanuel Vadot		pmm8654au_1_gpios: gpio@8800 {
1821537cf73SEmmanuel Vadot			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
1831537cf73SEmmanuel Vadot			reg = <0x8800>;
1841537cf73SEmmanuel Vadot			gpio-controller;
1851537cf73SEmmanuel Vadot			gpio-ranges = <&pmm8654au_1_gpios 0 0 12>;
1861537cf73SEmmanuel Vadot			#gpio-cells = <2>;
1871537cf73SEmmanuel Vadot			interrupt-controller;
1881537cf73SEmmanuel Vadot			#interrupt-cells = <2>;
1891537cf73SEmmanuel Vadot		};
1901537cf73SEmmanuel Vadot	};
1911537cf73SEmmanuel Vadot
1921537cf73SEmmanuel Vadot	pmm8654au_2: pmic@4 {
1931537cf73SEmmanuel Vadot		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
1941537cf73SEmmanuel Vadot		reg = <0x4 SPMI_USID>;
1951537cf73SEmmanuel Vadot		#address-cells = <1>;
1961537cf73SEmmanuel Vadot		#size-cells = <0>;
1971537cf73SEmmanuel Vadot
1981537cf73SEmmanuel Vadot		pmm8654au_2_temp_alarm: temp-alarm@a00 {
1991537cf73SEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
2001537cf73SEmmanuel Vadot			reg = <0xa00>;
2011537cf73SEmmanuel Vadot			interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
2021537cf73SEmmanuel Vadot			#thermal-sensor-cells = <0>;
2031537cf73SEmmanuel Vadot		};
2041537cf73SEmmanuel Vadot
2051537cf73SEmmanuel Vadot		pmm8654au_2_gpios: gpio@8800 {
2061537cf73SEmmanuel Vadot			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
2071537cf73SEmmanuel Vadot			reg = <0x8800>;
2081537cf73SEmmanuel Vadot			gpio-controller;
2091537cf73SEmmanuel Vadot			gpio-ranges = <&pmm8654au_2_gpios 0 0 12>;
2101537cf73SEmmanuel Vadot			#gpio-cells = <2>;
2111537cf73SEmmanuel Vadot			interrupt-controller;
2121537cf73SEmmanuel Vadot			#interrupt-cells = <2>;
2131537cf73SEmmanuel Vadot		};
2141537cf73SEmmanuel Vadot	};
2151537cf73SEmmanuel Vadot
2161537cf73SEmmanuel Vadot	pmm8654au_3: pmic@6 {
2171537cf73SEmmanuel Vadot		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
2181537cf73SEmmanuel Vadot		reg = <0x6 SPMI_USID>;
2191537cf73SEmmanuel Vadot		#address-cells = <1>;
2201537cf73SEmmanuel Vadot		#size-cells = <0>;
2211537cf73SEmmanuel Vadot
2221537cf73SEmmanuel Vadot		pmm8654au_3_temp_alarm: temp-alarm@a00 {
2231537cf73SEmmanuel Vadot			compatible = "qcom,spmi-temp-alarm";
2241537cf73SEmmanuel Vadot			reg = <0xa00>;
2251537cf73SEmmanuel Vadot			interrupts-extended = <&spmi_bus 0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
2261537cf73SEmmanuel Vadot			#thermal-sensor-cells = <0>;
2271537cf73SEmmanuel Vadot		};
2281537cf73SEmmanuel Vadot
2291537cf73SEmmanuel Vadot		pmm8654au_3_gpios: gpio@8800 {
2301537cf73SEmmanuel Vadot			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
2311537cf73SEmmanuel Vadot			reg = <0x8800>;
2321537cf73SEmmanuel Vadot			gpio-controller;
2331537cf73SEmmanuel Vadot			gpio-ranges = <&pmm8654au_3_gpios 0 0 12>;
2341537cf73SEmmanuel Vadot			#gpio-cells = <2>;
2351537cf73SEmmanuel Vadot			interrupt-controller;
2361537cf73SEmmanuel Vadot			#interrupt-cells = <2>;
2371537cf73SEmmanuel Vadot		};
2381537cf73SEmmanuel Vadot	};
2391537cf73SEmmanuel Vadot};
240