xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/pm8937.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
189f6e025SDang Huynh// SPDX-License-Identifier: BSD-3-Clause
289f6e025SDang Huynh/*
389f6e025SDang Huynh * Copyright (c) 2023, Dang Huynh <danct12@riseup.net>
489f6e025SDang Huynh */
589f6e025SDang Huynh
689f6e025SDang Huynh#include <dt-bindings/iio/qcom,spmi-vadc.h>
789f6e025SDang Huynh#include <dt-bindings/input/linux-event-codes.h>
889f6e025SDang Huynh#include <dt-bindings/spmi/spmi.h>
989f6e025SDang Huynh
1089f6e025SDang Huynh/ {
1189f6e025SDang Huynh	thermal-zones {
1289f6e025SDang Huynh		pm8937-thermal {
1389f6e025SDang Huynh			polling-delay-passive = <0>;
1489f6e025SDang Huynh			polling-delay = <0>;
1589f6e025SDang Huynh			thermal-sensors = <&pm8937_temp>;
1689f6e025SDang Huynh
1789f6e025SDang Huynh			trips {
1889f6e025SDang Huynh				trip0 {
1989f6e025SDang Huynh					temperature = <105000>;
2089f6e025SDang Huynh					hysteresis = <0>;
2189f6e025SDang Huynh					type = "passive";
2289f6e025SDang Huynh				};
2389f6e025SDang Huynh
2489f6e025SDang Huynh				trip1 {
2589f6e025SDang Huynh					temperature = <125000>;
2689f6e025SDang Huynh					hysteresis = <0>;
2789f6e025SDang Huynh					type = "hot";
2889f6e025SDang Huynh				};
2989f6e025SDang Huynh
3089f6e025SDang Huynh				trip2 {
3189f6e025SDang Huynh					temperature = <145000>;
3289f6e025SDang Huynh					hysteresis = <0>;
3389f6e025SDang Huynh					type = "critical";
3489f6e025SDang Huynh				};
3589f6e025SDang Huynh			};
3689f6e025SDang Huynh		};
3789f6e025SDang Huynh	};
3889f6e025SDang Huynh};
3989f6e025SDang Huynh
4089f6e025SDang Huynh&spmi_bus {
4189f6e025SDang Huynh	pmic@0 {
4289f6e025SDang Huynh		compatible = "qcom,pm8937", "qcom,spmi-pmic";
4389f6e025SDang Huynh		reg = <0x0 SPMI_USID>;
4489f6e025SDang Huynh		#address-cells = <1>;
4589f6e025SDang Huynh		#size-cells = <0>;
4689f6e025SDang Huynh
4789f6e025SDang Huynh		pon@800 {
4889f6e025SDang Huynh			compatible = "qcom,pm8916-pon";
4989f6e025SDang Huynh			reg = <0x800>;
5089f6e025SDang Huynh			mode-bootloader = <0x2>;
5189f6e025SDang Huynh			mode-recovery = <0x1>;
5289f6e025SDang Huynh
5389f6e025SDang Huynh			pm8937_pwrkey: pwrkey {
5489f6e025SDang Huynh				compatible = "qcom,pm8941-pwrkey";
5589f6e025SDang Huynh				interrupts = <0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
5689f6e025SDang Huynh				debounce = <15625>;
5789f6e025SDang Huynh				bias-pull-up;
5889f6e025SDang Huynh				linux,code = <KEY_POWER>;
5989f6e025SDang Huynh			};
6089f6e025SDang Huynh
6189f6e025SDang Huynh			pm8937_resin: resin {
6289f6e025SDang Huynh				compatible = "qcom,pm8941-resin";
6389f6e025SDang Huynh				interrupts = <0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
6489f6e025SDang Huynh				debounce = <15625>;
6589f6e025SDang Huynh				bias-pull-up;
6689f6e025SDang Huynh				status = "disabled";
6789f6e025SDang Huynh			};
6889f6e025SDang Huynh		};
6989f6e025SDang Huynh
7089f6e025SDang Huynh		pm8937_gpios: gpio@c000 {
7189f6e025SDang Huynh			compatible = "qcom,pm8937-gpio", "qcom,spmi-gpio";
7289f6e025SDang Huynh			reg = <0xc000>;
7389f6e025SDang Huynh			gpio-controller;
7489f6e025SDang Huynh			gpio-ranges = <&pm8937_gpios 0 0 8>;
7589f6e025SDang Huynh			#gpio-cells = <2>;
7689f6e025SDang Huynh			interrupt-controller;
7789f6e025SDang Huynh			#interrupt-cells = <2>;
7889f6e025SDang Huynh		};
7989f6e025SDang Huynh
8089f6e025SDang Huynh		pm8937_mpps: mpps@a000 {
8189f6e025SDang Huynh			compatible = "qcom,pm8937-mpp", "qcom,spmi-mpp";
8289f6e025SDang Huynh			reg = <0xa000>;
8389f6e025SDang Huynh			gpio-controller;
8489f6e025SDang Huynh			gpio-ranges = <&pm8937_mpps 0 0 4>;
8589f6e025SDang Huynh			#gpio-cells = <2>;
8689f6e025SDang Huynh			interrupt-controller;
8789f6e025SDang Huynh			#interrupt-cells = <2>;
8889f6e025SDang Huynh		};
8989f6e025SDang Huynh
9089f6e025SDang Huynh		pm8937_temp: temp-alarm@2400 {
9189f6e025SDang Huynh			compatible = "qcom,spmi-temp-alarm";
9289f6e025SDang Huynh			reg = <0x2400>;
9389f6e025SDang Huynh			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
9489f6e025SDang Huynh			io-channels = <&pm8937_vadc VADC_DIE_TEMP>;
9589f6e025SDang Huynh			io-channel-names = "thermal";
9689f6e025SDang Huynh			#thermal-sensor-cells = <0>;
9789f6e025SDang Huynh		};
9889f6e025SDang Huynh
9989f6e025SDang Huynh		pm8937_vadc: adc@3100 {
10089f6e025SDang Huynh			compatible = "qcom,spmi-vadc";
10189f6e025SDang Huynh			reg = <0x3100>;
10289f6e025SDang Huynh			interrupts = <0 0x31 0 IRQ_TYPE_EDGE_RISING>;
10389f6e025SDang Huynh			#address-cells = <1>;
10489f6e025SDang Huynh			#size-cells = <0>;
10589f6e025SDang Huynh			#io-channel-cells = <1>;
10689f6e025SDang Huynh
10789f6e025SDang Huynh			channel@8 {
10889f6e025SDang Huynh				reg = <VADC_DIE_TEMP>;
10989f6e025SDang Huynh			};
11089f6e025SDang Huynh
11189f6e025SDang Huynh			channel@9 {
11289f6e025SDang Huynh				reg = <VADC_REF_625MV>;
11389f6e025SDang Huynh			};
11489f6e025SDang Huynh
11589f6e025SDang Huynh			channel@a {
11689f6e025SDang Huynh				reg = <VADC_REF_1250MV>;
11789f6e025SDang Huynh			};
11889f6e025SDang Huynh
11989f6e025SDang Huynh			channel@c {
12089f6e025SDang Huynh				reg = <VADC_SPARE1>;
12189f6e025SDang Huynh			};
12289f6e025SDang Huynh
12389f6e025SDang Huynh			channel@e {
12489f6e025SDang Huynh				reg = <VADC_GND_REF>;
12589f6e025SDang Huynh			};
12689f6e025SDang Huynh
12789f6e025SDang Huynh			channel@f {
12889f6e025SDang Huynh				reg = <VADC_VDD_VADC>;
12989f6e025SDang Huynh			};
13089f6e025SDang Huynh		};
13189f6e025SDang Huynh
13289f6e025SDang Huynh		rtc@6000 {
13389f6e025SDang Huynh			compatible = "qcom,pm8941-rtc";
13489f6e025SDang Huynh			reg = <0x6000>, <0x6100>;
13589f6e025SDang Huynh			reg-names = "rtc", "alarm";
13689f6e025SDang Huynh			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
13789f6e025SDang Huynh		};
13889f6e025SDang Huynh	};
13989f6e025SDang Huynh
14089f6e025SDang Huynh	pmic@1 {
14189f6e025SDang Huynh		compatible = "qcom,pm8937", "qcom,spmi-pmic";
14289f6e025SDang Huynh		reg = <0x1 SPMI_USID>;
14389f6e025SDang Huynh		#address-cells = <1>;
14489f6e025SDang Huynh		#size-cells = <0>;
14589f6e025SDang Huynh
146*b18c1aa6SDaniil Titov		pm8937_pwm: pwm {
147*b18c1aa6SDaniil Titov			compatible = "qcom,pm8937-pwm", "qcom,pm8916-pwm";
148*b18c1aa6SDaniil Titov
149*b18c1aa6SDaniil Titov			#pwm-cells = <2>;
150*b18c1aa6SDaniil Titov
151*b18c1aa6SDaniil Titov			status = "disabled";
152*b18c1aa6SDaniil Titov		};
153*b18c1aa6SDaniil Titov
15489f6e025SDang Huynh		pm8937_spmi_regulators: regulators {
15589f6e025SDang Huynh			compatible = "qcom,pm8937-regulators";
15689f6e025SDang Huynh		};
15789f6e025SDang Huynh	};
15889f6e025SDang Huynh};
159