162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2023, Linaro Limited
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
762306a36Sopenharmony_ci#include <dt-bindings/spmi/spmi.h>
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	thermal-zones {
1162306a36Sopenharmony_ci		pmm8654au_0_thermal: pm8775-0-thermal {
1262306a36Sopenharmony_ci			polling-delay-passive = <100>;
1362306a36Sopenharmony_ci			polling-delay = <0>;
1462306a36Sopenharmony_ci			thermal-sensors = <&pmm8654au_0_temp_alarm>;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci			trips {
1762306a36Sopenharmony_ci				trip0 {
1862306a36Sopenharmony_ci					temperature = <105000>;
1962306a36Sopenharmony_ci					hysteresis = <0>;
2062306a36Sopenharmony_ci					type = "passive";
2162306a36Sopenharmony_ci				};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci				trip1 {
2462306a36Sopenharmony_ci					temperature = <125000>;
2562306a36Sopenharmony_ci					hysteresis = <0>;
2662306a36Sopenharmony_ci					type = "critical";
2762306a36Sopenharmony_ci				};
2862306a36Sopenharmony_ci			};
2962306a36Sopenharmony_ci		};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		pmm8654au_1_thermal: pm8775-1-thermal {
3262306a36Sopenharmony_ci			polling-delay-passive = <100>;
3362306a36Sopenharmony_ci			polling-delay = <0>;
3462306a36Sopenharmony_ci			thermal-sensors = <&pmm8654au_1_temp_alarm>;
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci			trips {
3762306a36Sopenharmony_ci				trip0 {
3862306a36Sopenharmony_ci					temperature = <105000>;
3962306a36Sopenharmony_ci					hysteresis = <0>;
4062306a36Sopenharmony_ci					type = "passive";
4162306a36Sopenharmony_ci				};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci				trip1 {
4462306a36Sopenharmony_ci					temperature = <125000>;
4562306a36Sopenharmony_ci					hysteresis = <0>;
4662306a36Sopenharmony_ci					type = "critical";
4762306a36Sopenharmony_ci				};
4862306a36Sopenharmony_ci			};
4962306a36Sopenharmony_ci		};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		pmm8654au_2_thermal: pm8775-2-thermal {
5262306a36Sopenharmony_ci			polling-delay-passive = <100>;
5362306a36Sopenharmony_ci			polling-delay = <0>;
5462306a36Sopenharmony_ci			thermal-sensors = <&pmm8654au_2_temp_alarm>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci			trips {
5762306a36Sopenharmony_ci				trip0 {
5862306a36Sopenharmony_ci					temperature = <105000>;
5962306a36Sopenharmony_ci					hysteresis = <0>;
6062306a36Sopenharmony_ci					type = "passive";
6162306a36Sopenharmony_ci				};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci				trip1 {
6462306a36Sopenharmony_ci					temperature = <125000>;
6562306a36Sopenharmony_ci					hysteresis = <0>;
6662306a36Sopenharmony_ci					type = "critical";
6762306a36Sopenharmony_ci				};
6862306a36Sopenharmony_ci			};
6962306a36Sopenharmony_ci		};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci		pmm8654au_3_thermal: pm8775-3-thermal {
7262306a36Sopenharmony_ci			polling-delay-passive = <100>;
7362306a36Sopenharmony_ci			polling-delay = <0>;
7462306a36Sopenharmony_ci			thermal-sensors = <&pmm8654au_3_temp_alarm>;
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci			trips {
7762306a36Sopenharmony_ci				trip0 {
7862306a36Sopenharmony_ci					temperature = <105000>;
7962306a36Sopenharmony_ci					hysteresis = <0>;
8062306a36Sopenharmony_ci					type = "passive";
8162306a36Sopenharmony_ci				};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci				trip1 {
8462306a36Sopenharmony_ci					temperature = <125000>;
8562306a36Sopenharmony_ci					hysteresis = <0>;
8662306a36Sopenharmony_ci					type = "critical";
8762306a36Sopenharmony_ci				};
8862306a36Sopenharmony_ci			};
8962306a36Sopenharmony_ci		};
9062306a36Sopenharmony_ci	};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	reboot-mode {
9362306a36Sopenharmony_ci		compatible = "nvmem-reboot-mode";
9462306a36Sopenharmony_ci		nvmem-cells = <&reboot_reason>;
9562306a36Sopenharmony_ci		nvmem-cell-names = "reboot-mode";
9662306a36Sopenharmony_ci		mode-recovery = <0x01>;
9762306a36Sopenharmony_ci		mode-bootloader = <0x02>;
9862306a36Sopenharmony_ci	};
9962306a36Sopenharmony_ci};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci&spmi_bus {
10262306a36Sopenharmony_ci	pmm8654au_0: pmic@0 {
10362306a36Sopenharmony_ci		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
10462306a36Sopenharmony_ci		reg = <0x0 SPMI_USID>;
10562306a36Sopenharmony_ci		#address-cells = <1>;
10662306a36Sopenharmony_ci		#size-cells = <0>;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		pmm8654au_0_temp_alarm: temp-alarm@a00 {
10962306a36Sopenharmony_ci			compatible = "qcom,spmi-temp-alarm";
11062306a36Sopenharmony_ci			reg = <0xa00>;
11162306a36Sopenharmony_ci			interrupts-extended = <&spmi_bus 0x0 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
11262306a36Sopenharmony_ci			#thermal-sensor-cells = <0>;
11362306a36Sopenharmony_ci		};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci		pmm8654au_0_pon: pon@1200 {
11662306a36Sopenharmony_ci			compatible = "qcom,pmk8350-pon";
11762306a36Sopenharmony_ci			reg = <0x1200>, <0x800>;
11862306a36Sopenharmony_ci			reg-names = "hlos", "pbs";
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci			pmm8654au_0_pon_pwrkey: pwrkey {
12162306a36Sopenharmony_ci				compatible = "qcom,pmk8350-pwrkey";
12262306a36Sopenharmony_ci				interrupts-extended = <&spmi_bus 0x0 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
12362306a36Sopenharmony_ci				linux,code = <KEY_POWER>;
12462306a36Sopenharmony_ci				debounce = <15625>;
12562306a36Sopenharmony_ci			};
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci			pmm8654au_0_pon_resin: resin {
12862306a36Sopenharmony_ci				compatible = "qcom,pmk8350-resin";
12962306a36Sopenharmony_ci				interrupts-extended = <&spmi_bus 0x0 0x12 0x6 IRQ_TYPE_EDGE_BOTH>;
13062306a36Sopenharmony_ci				debounce = <15625>;
13162306a36Sopenharmony_ci				status = "disabled";
13262306a36Sopenharmony_ci			};
13362306a36Sopenharmony_ci		};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci		pmm8654au_0_gpios: gpio@8800 {
13662306a36Sopenharmony_ci			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
13762306a36Sopenharmony_ci			reg = <0x8800>;
13862306a36Sopenharmony_ci			gpio-controller;
13962306a36Sopenharmony_ci			gpio-ranges = <&pmm8654au_0_gpios 0 0 12>;
14062306a36Sopenharmony_ci			#gpio-cells = <2>;
14162306a36Sopenharmony_ci			interrupt-controller;
14262306a36Sopenharmony_ci			#interrupt-cells = <2>;
14362306a36Sopenharmony_ci		};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci		pmm8654au_0_sdam_0: nvram@7100 {
14662306a36Sopenharmony_ci			compatible = "qcom,spmi-sdam";
14762306a36Sopenharmony_ci			reg = <0x7100>;
14862306a36Sopenharmony_ci			#address-cells = <1>;
14962306a36Sopenharmony_ci			#size-cells = <1>;
15062306a36Sopenharmony_ci			ranges = <0 0x7100 0x100>;
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci			reboot_reason: reboot-reason@48 {
15362306a36Sopenharmony_ci				reg = <0x48 0x1>;
15462306a36Sopenharmony_ci				bits = <1 7>;
15562306a36Sopenharmony_ci			};
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci	};
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci	pmm8654au_1: pmic@2 {
16062306a36Sopenharmony_ci		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
16162306a36Sopenharmony_ci		reg = <0x2 SPMI_USID>;
16262306a36Sopenharmony_ci		#address-cells = <1>;
16362306a36Sopenharmony_ci		#size-cells = <0>;
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci		pmm8654au_1_temp_alarm: temp-alarm@a00 {
16662306a36Sopenharmony_ci			compatible = "qcom,spmi-temp-alarm";
16762306a36Sopenharmony_ci			reg = <0xa00>;
16862306a36Sopenharmony_ci			interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
16962306a36Sopenharmony_ci			#thermal-sensor-cells = <0>;
17062306a36Sopenharmony_ci		};
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci		pmm8654au_1_gpios: gpio@8800 {
17362306a36Sopenharmony_ci			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
17462306a36Sopenharmony_ci			reg = <0x8800>;
17562306a36Sopenharmony_ci			gpio-controller;
17662306a36Sopenharmony_ci			gpio-ranges = <&pmm8654au_1_gpios 0 0 12>;
17762306a36Sopenharmony_ci			#gpio-cells = <2>;
17862306a36Sopenharmony_ci			interrupt-controller;
17962306a36Sopenharmony_ci			#interrupt-cells = <2>;
18062306a36Sopenharmony_ci		};
18162306a36Sopenharmony_ci	};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci	pmm8654au_2: pmic@4 {
18462306a36Sopenharmony_ci		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
18562306a36Sopenharmony_ci		reg = <0x4 SPMI_USID>;
18662306a36Sopenharmony_ci		#address-cells = <1>;
18762306a36Sopenharmony_ci		#size-cells = <0>;
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci		pmm8654au_2_temp_alarm: temp-alarm@a00 {
19062306a36Sopenharmony_ci			compatible = "qcom,spmi-temp-alarm";
19162306a36Sopenharmony_ci			reg = <0xa00>;
19262306a36Sopenharmony_ci			interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
19362306a36Sopenharmony_ci			#thermal-sensor-cells = <0>;
19462306a36Sopenharmony_ci		};
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci		pmm8654au_2_gpios: gpio@8800 {
19762306a36Sopenharmony_ci			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
19862306a36Sopenharmony_ci			reg = <0x8800>;
19962306a36Sopenharmony_ci			gpio-controller;
20062306a36Sopenharmony_ci			gpio-ranges = <&pmm8654au_2_gpios 0 0 12>;
20162306a36Sopenharmony_ci			#gpio-cells = <2>;
20262306a36Sopenharmony_ci			interrupt-controller;
20362306a36Sopenharmony_ci			#interrupt-cells = <2>;
20462306a36Sopenharmony_ci		};
20562306a36Sopenharmony_ci	};
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci	pmm8654au_3: pmic@6 {
20862306a36Sopenharmony_ci		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
20962306a36Sopenharmony_ci		reg = <0x6 SPMI_USID>;
21062306a36Sopenharmony_ci		#address-cells = <1>;
21162306a36Sopenharmony_ci		#size-cells = <0>;
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci		pmm8654au_3_temp_alarm: temp-alarm@a00 {
21462306a36Sopenharmony_ci			compatible = "qcom,spmi-temp-alarm";
21562306a36Sopenharmony_ci			reg = <0xa00>;
21662306a36Sopenharmony_ci			interrupts-extended = <&spmi_bus 0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
21762306a36Sopenharmony_ci			#thermal-sensor-cells = <0>;
21862306a36Sopenharmony_ci		};
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci		pmm8654au_3_gpios: gpio@8800 {
22162306a36Sopenharmony_ci			compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
22262306a36Sopenharmony_ci			reg = <0x8800>;
22362306a36Sopenharmony_ci			gpio-controller;
22462306a36Sopenharmony_ci			gpio-ranges = <&pmm8654au_3_gpios 0 0 12>;
22562306a36Sopenharmony_ci			#gpio-cells = <2>;
22662306a36Sopenharmony_ci			interrupt-controller;
22762306a36Sopenharmony_ci			#interrupt-cells = <2>;
22862306a36Sopenharmony_ci		};
22962306a36Sopenharmony_ci	};
23062306a36Sopenharmony_ci};
231