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 interrupts-extended = <&pm8058 50 IRQ_TYPE_EDGE_RISING>, 15 <&pm8058 51 IRQ_TYPE_EDGE_RISING>; 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 interrupts-extended = <&pm8058 74 IRQ_TYPE_EDGE_RISING>, 64 <&pm8058 75 IRQ_TYPE_EDGE_RISING>; 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 interrupts-extended = <&pm8058 39 IRQ_TYPE_EDGE_RISING>; 138 allow-set-time; 139 }; 140 }; 141}; 142 143/ { 144 /* 145 * These channels from the ADC are simply hardware monitors. 146 * That is why the ADC is referred to as "HKADC" - HouseKeeping 147 * ADC. 148 */ 149 iio-hwmon { 150 compatible = "iio-hwmon"; 151 io-channels = <&pm8058_xoadc 0x00 0x01>, /* Battery */ 152 <&pm8058_xoadc 0x00 0x02>, /* DC in (charger) */ 153 <&pm8058_xoadc 0x00 0x04>, /* VPH the main system voltage */ 154 <&pm8058_xoadc 0x00 0x0b>, /* Die temperature */ 155 <&pm8058_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */ 156 <&pm8058_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */ 157 <&pm8058_xoadc 0x00 0x0e>; /* Reference voltage 0.325V */ 158 }; 159}; 160