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