File Index
Files and directories
Sign in
FILE

pm8921.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm/boot/dts/qcom/pm8921.dtsi DEVICETREE
  1// SPDX-License-Identifier: GPL-2.0
  2
  3&ssbi {
  4	pm8921: pmic {
  5		compatible = "qcom,pm8921";
  6		#interrupt-cells = <2>;
  7		interrupt-controller;
  8		#address-cells = <1>;
  9		#size-cells = <0>;
 10
 11		pwrkey@1c {
 12			compatible = "qcom,pm8921-pwrkey";
 13			reg = <0x1c>;
 14			interrupts-extended = <&pm8921 50 IRQ_TYPE_EDGE_RISING>,
 15					      <&pm8921 51 IRQ_TYPE_EDGE_RISING>;
 16			debounce = <15625>;
 17			pull-up;
 18		};
 19
 20		pm8921_vibrator: vibrator@4a {
 21			compatible = "qcom,pm8921-vib";
 22			reg = <0x4a>;
 23			status = "disabled";
 24		};
 25
 26		pm8921_mpps: mpps@50 {
 27			compatible = "qcom,pm8921-mpp",
 28				     "qcom,ssbi-mpp";
 29			reg = <0x50>;
 30			gpio-controller;
 31			#gpio-cells = <2>;
 32			gpio-ranges = <&pm8921_mpps 0 0 12>;
 33			interrupt-controller;
 34			#interrupt-cells = <2>;
 35		};
 36
 37		rtc@11d {
 38			compatible = "qcom,pm8921-rtc";
 39			reg = <0x11d>;
 40			interrupts-extended = <&pm8921 39 IRQ_TYPE_EDGE_RISING>;
 41			allow-set-time;
 42		};
 43
 44		pm8921_keypad: keypad@148 {
 45			compatible = "qcom,pm8921-keypad";
 46			reg = <0x148>;
 47			interrupts-extended = <&pm8921 74 IRQ_TYPE_EDGE_RISING>,
 48					      <&pm8921 75 IRQ_TYPE_EDGE_RISING>;
 49			debounce = <15>;
 50			scan-delay = <32>;
 51			row-hold = <91500>;
 52			status = "disabled";
 53		};
 54
 55		pm8921_gpio: gpio@150 {
 56
 57			compatible = "qcom,pm8921-gpio",
 58				     "qcom,ssbi-gpio";
 59			reg = <0x150>;
 60			interrupt-controller;
 61			#interrupt-cells = <2>;
 62			gpio-controller;
 63			gpio-ranges = <&pm8921_gpio 0 0 44>;
 64			#gpio-cells = <2>;
 65
 66		};
 67
 68		pm8921_xoadc: xoadc@197 {
 69			compatible = "qcom,pm8921-adc";
 70			reg = <0x197>;
 71			interrupts-extended = <&pm8921 78 IRQ_TYPE_EDGE_RISING>;
 72			#address-cells = <2>;
 73			#size-cells = <0>;
 74			#io-channel-cells = <2>;
 75
 76			vcoin: adc-channel@0 {
 77				reg = <0x00 0x00>;
 78			};
 79
 80			vbat: adc-channel@1 {
 81				reg = <0x00 0x01>;
 82			};
 83
 84			dcin: adc-channel@2 {
 85				reg = <0x00 0x02>;
 86			};
 87
 88			vph_pwr: adc-channel@4 {
 89				reg = <0x00 0x04>;
 90			};
 91
 92			batt_therm: adc-channel@8 {
 93				reg = <0x00 0x08>;
 94			};
 95
 96			batt_id: adc-channel@9 {
 97				reg = <0x00 0x09>;
 98			};
 99
100			usb_vbus: adc-channel@a {
101				reg = <0x00 0x0a>;
102			};
103
104			die_temp: adc-channel@b {
105				reg = <0x00 0x0b>;
106			};
107
108			ref_625mv: adc-channel@c {
109				reg = <0x00 0x0c>;
110			};
111
112			ref_1250mv: adc-channel@d {
113				reg = <0x00 0x0d>;
114			};
115
116			chg_temp: adc-channel@e {
117				reg = <0x00 0x0e>;
118			};
119
120			ref_muxoff: adc-channel@f {
121				reg = <0x00 0x0f>;
122			};
123		};
124	};
125};
126
127/ {
128	/*
129	 * These channels from the ADC are simply hardware monitors.
130	 * That is why the ADC is referred to as "HKADC" - HouseKeeping
131	 * ADC.
132	 */
133	iio-hwmon {
134		compatible = "iio-hwmon";
135		io-channels = <&pm8921_xoadc 0x00 0x01>, /* Battery */
136			      <&pm8921_xoadc 0x00 0x02>, /* DC in (charger) */
137			      <&pm8921_xoadc 0x00 0x04>, /* VPH the main system voltage */
138			      <&pm8921_xoadc 0x00 0x0b>, /* Die temperature */
139			      <&pm8921_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
140			      <&pm8921_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
141			      <&pm8921_xoadc 0x00 0x0e>; /* Charger temperature */
142	};
143};
~/ Read-only file preview.