|  | // SPDX-License-Identifier: BSD-3-Clause | 
|  | /* | 
|  | * Copyright (c) 2019, The Linux Foundation. All rights reserved. | 
|  | */ | 
|  |  | 
|  | #include <dt-bindings/iio/qcom,spmi-vadc.h> | 
|  | #include <dt-bindings/input/linux-event-codes.h> | 
|  | #include <dt-bindings/interrupt-controller/irq.h> | 
|  | #include <dt-bindings/spmi/spmi.h> | 
|  | #include <dt-bindings/thermal/thermal.h> | 
|  |  | 
|  | / { | 
|  | thermal-zones { | 
|  | pm6150_thermal: pm6150-thermal { | 
|  | polling-delay-passive = <100>; | 
|  |  | 
|  | thermal-sensors = <&pm6150_temp>; | 
|  |  | 
|  | trips { | 
|  | pm6150_trip0: trip0 { | 
|  | temperature = <95000>; | 
|  | hysteresis = <0>; | 
|  | type = "passive"; | 
|  | }; | 
|  |  | 
|  | pm6150_crit: crit { | 
|  | temperature = <115000>; | 
|  | hysteresis = <0>; | 
|  | type = "critical"; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &spmi_bus { | 
|  | pm6150_lsid0: pmic@0 { | 
|  | compatible = "qcom,pm6150", "qcom,spmi-pmic"; | 
|  | reg = <0x0 SPMI_USID>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  |  | 
|  | pm6150_pon: pon@800 { | 
|  | compatible = "qcom,pm8998-pon"; | 
|  | reg = <0x800>; | 
|  | mode-bootloader = <0x2>; | 
|  | mode-recovery = <0x1>; | 
|  |  | 
|  | pm6150_pwrkey: pwrkey { | 
|  | compatible = "qcom,pm8941-pwrkey"; | 
|  | interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>; | 
|  | debounce = <15625>; | 
|  | bias-pull-up; | 
|  | linux,code = <KEY_POWER>; | 
|  | }; | 
|  |  | 
|  | pm6150_resin: resin { | 
|  | compatible = "qcom,pm8941-resin"; | 
|  | interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; | 
|  | debounce = <15625>; | 
|  | bias-pull-up; | 
|  | status = "disabled"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pm6150_vbus: usb-vbus-regulator@1100 { | 
|  | compatible = "qcom,pm6150-vbus-reg", | 
|  | "qcom,pm8150b-vbus-reg"; | 
|  | reg = <0x1100>; | 
|  | status = "disabled"; | 
|  | }; | 
|  |  | 
|  | pm6150_typec: typec@1500 { | 
|  | compatible = "qcom,pm6150-typec", | 
|  | "qcom,pm8150b-typec"; | 
|  | reg = <0x1500>, <0x1700>; | 
|  | interrupts = <0x0 0x15 0x00 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x15 0x01 IRQ_TYPE_EDGE_BOTH>, | 
|  | <0x0 0x15 0x02 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x15 0x03 IRQ_TYPE_EDGE_BOTH>, | 
|  | <0x0 0x15 0x04 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x15 0x05 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x15 0x06 IRQ_TYPE_EDGE_BOTH>, | 
|  | <0x0 0x15 0x07 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x00 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x01 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x02 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x03 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x04 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x05 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x06 IRQ_TYPE_EDGE_RISING>, | 
|  | <0x0 0x17 0x07 IRQ_TYPE_EDGE_RISING>; | 
|  | interrupt-names = "or-rid-detect-change", | 
|  | "vpd-detect", | 
|  | "cc-state-change", | 
|  | "vconn-oc", | 
|  | "vbus-change", | 
|  | "attach-detach", | 
|  | "legacy-cable-detect", | 
|  | "try-snk-src-detect", | 
|  | "sig-tx", | 
|  | "sig-rx", | 
|  | "msg-tx", | 
|  | "msg-rx", | 
|  | "msg-tx-failed", | 
|  | "msg-tx-discarded", | 
|  | "msg-rx-discarded", | 
|  | "fr-swap"; | 
|  | status = "disabled"; | 
|  | }; | 
|  |  | 
|  | pm6150_temp: temp-alarm@2400 { | 
|  | compatible = "qcom,spmi-temp-alarm"; | 
|  | reg = <0x2400>; | 
|  | interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>; | 
|  | io-channels = <&pm6150_adc ADC5_DIE_TEMP>; | 
|  | io-channel-names = "thermal"; | 
|  | #thermal-sensor-cells = <0>; | 
|  | }; | 
|  |  | 
|  | pm6150_adc: adc@3100 { | 
|  | compatible = "qcom,spmi-adc5"; | 
|  | reg = <0x3100>; | 
|  | interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | #io-channel-cells = <1>; | 
|  |  | 
|  | channel@6 { | 
|  | reg = <ADC5_DIE_TEMP>; | 
|  | label = "die_temp"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pm6150_adc_tm: adc-tm@3500 { | 
|  | compatible = "qcom,spmi-adc-tm5"; | 
|  | reg = <0x3500>; | 
|  | interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>; | 
|  | #thermal-sensor-cells = <1>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | status = "disabled"; | 
|  | }; | 
|  |  | 
|  | pm6150_rtc: rtc@6000 { | 
|  | compatible = "qcom,pm8941-rtc"; | 
|  | reg = <0x6000>, <0x6100>; | 
|  | reg-names = "rtc", "alarm"; | 
|  | interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>; | 
|  | status = "disabled"; | 
|  | }; | 
|  |  | 
|  | pm6150_gpios: gpio@c000 { | 
|  | compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio"; | 
|  | reg = <0xc000>; | 
|  | gpio-controller; | 
|  | gpio-ranges = <&pm6150_gpios 0 0 10>; | 
|  | #gpio-cells = <2>; | 
|  | interrupt-controller; | 
|  | #interrupt-cells = <2>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pm6150_lsid1: pmic@1 { | 
|  | compatible = "qcom,pm6150", "qcom,spmi-pmic"; | 
|  | reg = <0x1 SPMI_USID>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  |  | 
|  | pm6150_vib: vibrator@5300 { | 
|  | compatible = "qcom,pm6150-vib", "qcom,pmi632-vib"; | 
|  | reg = <0x5300>; | 
|  | status = "disabled"; | 
|  | }; | 
|  | }; | 
|  | }; |