xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm6150.dtsi (revision ea25d61b)
1a727ec12SKiran Gunda// SPDX-License-Identifier: BSD-3-Clause
25d9bf210SKonrad Dybcio/*
35d9bf210SKonrad Dybcio * Copyright (c) 2019, The Linux Foundation. All rights reserved.
45d9bf210SKonrad Dybcio */
5a727ec12SKiran Gunda
6a727ec12SKiran Gunda#include <dt-bindings/iio/qcom,spmi-vadc.h>
7a727ec12SKiran Gunda#include <dt-bindings/input/linux-event-codes.h>
8a727ec12SKiran Gunda#include <dt-bindings/interrupt-controller/irq.h>
9a727ec12SKiran Gunda#include <dt-bindings/spmi/spmi.h>
10a727ec12SKiran Gunda#include <dt-bindings/thermal/thermal.h>
11a727ec12SKiran Gunda
12eb59cd3eSMatthias Kaehlcke/ {
13eb59cd3eSMatthias Kaehlcke	thermal-zones {
14eb59cd3eSMatthias Kaehlcke		pm6150_thermal: pm6150-thermal {
15eb59cd3eSMatthias Kaehlcke			polling-delay-passive = <100>;
16eb59cd3eSMatthias Kaehlcke			polling-delay = <0>;
17eb59cd3eSMatthias Kaehlcke			thermal-sensors = <&pm6150_temp>;
18eb59cd3eSMatthias Kaehlcke
19eb59cd3eSMatthias Kaehlcke			trips {
20eb59cd3eSMatthias Kaehlcke				pm6150_trip0: trip0 {
21eb59cd3eSMatthias Kaehlcke					temperature = <95000>;
22eb59cd3eSMatthias Kaehlcke					hysteresis = <0>;
23eb59cd3eSMatthias Kaehlcke					type = "passive";
24eb59cd3eSMatthias Kaehlcke				};
25eb59cd3eSMatthias Kaehlcke
26eb59cd3eSMatthias Kaehlcke				pm6150_crit: crit {
27eb59cd3eSMatthias Kaehlcke					temperature = <115000>;
28eb59cd3eSMatthias Kaehlcke					hysteresis = <0>;
29eb59cd3eSMatthias Kaehlcke					type = "critical";
30eb59cd3eSMatthias Kaehlcke				};
31eb59cd3eSMatthias Kaehlcke			};
32eb59cd3eSMatthias Kaehlcke		};
33eb59cd3eSMatthias Kaehlcke	};
34eb59cd3eSMatthias Kaehlcke};
35eb59cd3eSMatthias Kaehlcke
36a727ec12SKiran Gunda&spmi_bus {
37a727ec12SKiran Gunda	pm6150_lsid0: pmic@0 {
38a727ec12SKiran Gunda		compatible = "qcom,pm6150", "qcom,spmi-pmic";
39a727ec12SKiran Gunda		reg = <0x0 SPMI_USID>;
40a727ec12SKiran Gunda		#address-cells = <1>;
41a727ec12SKiran Gunda		#size-cells = <0>;
42a727ec12SKiran Gunda
43a727ec12SKiran Gunda		pm6150_pon: pon@800 {
44a727ec12SKiran Gunda			compatible = "qcom,pm8998-pon";
45a727ec12SKiran Gunda			reg = <0x800>;
46a727ec12SKiran Gunda			mode-bootloader = <0x2>;
47a727ec12SKiran Gunda			mode-recovery = <0x1>;
48a727ec12SKiran Gunda
49f855a922SStephen Boyd			pm6150_pwrkey: pwrkey {
50a727ec12SKiran Gunda				compatible = "qcom,pm8941-pwrkey";
51a727ec12SKiran Gunda				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
52a727ec12SKiran Gunda				debounce = <15625>;
53a727ec12SKiran Gunda				bias-pull-up;
54a727ec12SKiran Gunda				linux,code = <KEY_POWER>;
55a727ec12SKiran Gunda			};
56a727ec12SKiran Gunda		};
57a727ec12SKiran Gunda
58a727ec12SKiran Gunda		pm6150_temp: temp-alarm@2400 {
59a727ec12SKiran Gunda			compatible = "qcom,spmi-temp-alarm";
60a727ec12SKiran Gunda			reg = <0x2400>;
61a727ec12SKiran Gunda			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
62a727ec12SKiran Gunda			io-channels = <&pm6150_adc ADC5_DIE_TEMP>;
63a727ec12SKiran Gunda			io-channel-names = "thermal";
64a727ec12SKiran Gunda			#thermal-sensor-cells = <0>;
65a727ec12SKiran Gunda		};
66a727ec12SKiran Gunda
67a727ec12SKiran Gunda		pm6150_adc: adc@3100 {
68a727ec12SKiran Gunda			compatible = "qcom,spmi-adc5";
69a727ec12SKiran Gunda			reg = <0x3100>;
70a727ec12SKiran Gunda			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
71a727ec12SKiran Gunda			#address-cells = <1>;
72a727ec12SKiran Gunda			#size-cells = <0>;
73a727ec12SKiran Gunda			#io-channel-cells = <1>;
74a727ec12SKiran Gunda
753f155dbeSDouglas Anderson			adc-chan@6 {
76a727ec12SKiran Gunda				reg = <ADC5_DIE_TEMP>;
77a727ec12SKiran Gunda				label = "die_temp";
78a727ec12SKiran Gunda			};
79a727ec12SKiran Gunda		};
80a727ec12SKiran Gunda
817ee3eae8SJishnu Prakash		pm6150_adc_tm: adc-tm@3500 {
827ee3eae8SJishnu Prakash			compatible = "qcom,spmi-adc-tm5";
837ee3eae8SJishnu Prakash			reg = <0x3500>;
847ee3eae8SJishnu Prakash			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
857ee3eae8SJishnu Prakash			#thermal-sensor-cells = <1>;
867ee3eae8SJishnu Prakash			#address-cells = <1>;
877ee3eae8SJishnu Prakash			#size-cells = <0>;
887ee3eae8SJishnu Prakash			status = "disabled";
897ee3eae8SJishnu Prakash		};
907ee3eae8SJishnu Prakash
91*ea25d61bSMarijn Suijten		pm6150_gpios: gpio@c000 {
92a727ec12SKiran Gunda			compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
93a727ec12SKiran Gunda			reg = <0xc000>;
94a727ec12SKiran Gunda			gpio-controller;
95*ea25d61bSMarijn Suijten			gpio-ranges = <&pm6150_gpios 0 0 10>;
96a727ec12SKiran Gunda			#gpio-cells = <2>;
97a727ec12SKiran Gunda			interrupt-controller;
98a727ec12SKiran Gunda			#interrupt-cells = <2>;
99a727ec12SKiran Gunda		};
100a727ec12SKiran Gunda	};
101a727ec12SKiran Gunda
102a727ec12SKiran Gunda	pm6150_lsid1: pmic@1 {
103a727ec12SKiran Gunda		compatible = "qcom,pm6150", "qcom,spmi-pmic";
104a727ec12SKiran Gunda		reg = <0x1 SPMI_USID>;
105a727ec12SKiran Gunda		#address-cells = <1>;
106a727ec12SKiran Gunda		#size-cells = <0>;
107a727ec12SKiran Gunda	};
108a727ec12SKiran Gunda};
109