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}; 144