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