| // SPDX-License-Identifier: GPL-2.0 |
| |
| &ssbi { |
| pm8058: pmic { |
| compatible = "qcom,pm8058"; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pwrkey@1c { |
| compatible = "qcom,pm8058-pwrkey"; |
| reg = <0x1c>; |
| interrupts-extended = <&pm8058 50 IRQ_TYPE_EDGE_RISING>, |
| <&pm8058 51 IRQ_TYPE_EDGE_RISING>; |
| debounce = <15625>; |
| pull-up; |
| }; |
| |
| pm8058_led48: led@48 { |
| compatible = "qcom,pm8058-keypad-led"; |
| reg = <0x48>; |
| status = "disabled"; |
| }; |
| |
| vibrator@4a { |
| compatible = "qcom,pm8058-vib"; |
| reg = <0x4a>; |
| }; |
| |
| pm8058_mpps: mpps@50 { |
| compatible = "qcom,pm8058-mpp", |
| "qcom,ssbi-mpp"; |
| reg = <0x50>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| gpio-ranges = <&pm8058_mpps 0 0 12>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| |
| pm8058_led131: led@131 { |
| compatible = "qcom,pm8058-led"; |
| reg = <0x131>; |
| status = "disabled"; |
| }; |
| |
| pm8058_led132: led@132 { |
| compatible = "qcom,pm8058-led"; |
| reg = <0x132>; |
| status = "disabled"; |
| }; |
| |
| pm8058_led133: led@133 { |
| compatible = "qcom,pm8058-led"; |
| reg = <0x133>; |
| status = "disabled"; |
| }; |
| |
| pm8058_keypad: keypad@148 { |
| compatible = "qcom,pm8058-keypad"; |
| reg = <0x148>; |
| interrupts-extended = <&pm8058 74 IRQ_TYPE_EDGE_RISING>, |
| <&pm8058 75 IRQ_TYPE_EDGE_RISING>; |
| debounce = <15>; |
| scan-delay = <32>; |
| row-hold = <91500>; |
| }; |
| |
| pm8058_gpio: gpio@150 { |
| compatible = "qcom,pm8058-gpio", |
| "qcom,ssbi-gpio"; |
| reg = <0x150>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| gpio-controller; |
| gpio-ranges = <&pm8058_gpio 0 0 44>; |
| #gpio-cells = <2>; |
| }; |
| |
| pm8058_xoadc: xoadc@197 { |
| compatible = "qcom,pm8058-adc"; |
| reg = <0x197>; |
| interrupts-extended = <&pm8058 76 IRQ_TYPE_EDGE_RISING>; |
| #address-cells = <2>; |
| #size-cells = <0>; |
| #io-channel-cells = <2>; |
| |
| vcoin: adc-channel@0 { |
| reg = <0x00 0x00>; |
| }; |
| |
| vbat: adc-channel@1 { |
| reg = <0x00 0x01>; |
| }; |
| |
| dcin: adc-channel@2 { |
| reg = <0x00 0x02>; |
| }; |
| |
| ichg: adc-channel@3 { |
| reg = <0x00 0x03>; |
| }; |
| |
| vph_pwr: adc-channel@4 { |
| reg = <0x00 0x04>; |
| }; |
| |
| usb_vbus: adc-channel@a { |
| reg = <0x00 0x0a>; |
| }; |
| |
| die_temp: adc-channel@b { |
| reg = <0x00 0x0b>; |
| }; |
| |
| ref_625mv: adc-channel@c { |
| reg = <0x00 0x0c>; |
| }; |
| |
| ref_1250mv: adc-channel@d { |
| reg = <0x00 0x0d>; |
| }; |
| |
| ref_325mv: adc-channel@e { |
| reg = <0x00 0x0e>; |
| }; |
| |
| ref_muxoff: adc-channel@f { |
| reg = <0x00 0x0f>; |
| }; |
| }; |
| |
| rtc@1e8 { |
| compatible = "qcom,pm8058-rtc"; |
| reg = <0x1e8>; |
| interrupts-extended = <&pm8058 39 IRQ_TYPE_EDGE_RISING>; |
| allow-set-time; |
| }; |
| }; |
| }; |
| |
| / { |
| /* |
| * These channels from the ADC are simply hardware monitors. |
| * That is why the ADC is referred to as "HKADC" - HouseKeeping |
| * ADC. |
| */ |
| iio-hwmon { |
| compatible = "iio-hwmon"; |
| io-channels = <&pm8058_xoadc 0x00 0x01>, /* Battery */ |
| <&pm8058_xoadc 0x00 0x02>, /* DC in (charger) */ |
| <&pm8058_xoadc 0x00 0x04>, /* VPH the main system voltage */ |
| <&pm8058_xoadc 0x00 0x0b>, /* Die temperature */ |
| <&pm8058_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */ |
| <&pm8058_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */ |
| <&pm8058_xoadc 0x00 0x0e>; /* Reference voltage 0.325V */ |
| }; |
| }; |