Skip to content

Commit

Permalink
arm64: dts: qcom: sc8180x: Add pmics
Browse files Browse the repository at this point in the history
SC8180X based platforms have PM8150, PM8150C, PMC8180 and SMB2351 PMICs,
so add these as well

Co-developed-by: Bjorn Andersson <[email protected]>
Signed-off-by: Bjorn Andersson <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
Signed-off-by: Bjorn Andersson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
  • Loading branch information
vinodkoul authored and andersson committed May 30, 2023
1 parent 494dec9 commit d330229
Showing 1 changed file with 326 additions and 0 deletions.
326 changes: 326 additions & 0 deletions arch/arm64/boot/dts/qcom/sc8180x-pmics.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,326 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2023, Linaro Limited
*/

#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/iio/qcom,spmi-vadc.h>

/ {
thermal-zones {
pmc8180-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;

thermal-sensors = <&pmc8180_temp>;

trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};

trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "hot";
};

trip2 {
temperature = <145000>;
hysteresis = <0>;
type = "critical";
};
};
};

pmc8180c-thermal {
polling-delay-passive = <100>;
polling-delay = <0>;

thermal-sensors = <&pmc8180c_temp>;

trips {
trip0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};

trip1 {
temperature = <115000>;
hysteresis = <0>;
type = "hot";
};

trip2 {
temperature = <145000>;
hysteresis = <0>;
type = "critical";
};
};
};
};
};

&spmi_bus {
pmc8180_0: pmic@0 {
compatible = "qcom,pm8150", "qcom,spmi-pmic";
reg = <0x0 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;

pon: power-on@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;
pwrkey {
compatible = "qcom,pm8941-pwrkey";
interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
debounce = <15625>;
bias-pull-up;
linux,code = <KEY_POWER>;

status = "disabled";
};
};

pmc8180_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
io-channels = <&pmc8180_adc ADC5_DIE_TEMP>;
io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};

pmc8180_adc: adc@3100 {
compatible = "qcom,spmi-adc5";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;

ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};

vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};

die-temp@6 {
reg = <ADC5_DIE_TEMP>;
qcom,pre-scaling = <1 1>;
label = "die_temp";
};
};

pmc8180_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";
};

rtc@6000 {
compatible = "qcom,pm8941-rtc";
reg = <0x6000>;
reg-names = "rtc", "alarm";
interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
};

pmc8180_gpios: gpio@c000 {
compatible = "qcom,pmc8180-gpio";
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};

pmic@1 {
compatible = "qcom,pmc8180", "qcom,spmi-pmic";
reg = <0x1 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
};

pmic@2 {
compatible = "qcom,smb2351", "qcom,spmi-pmic";
reg = <0x2 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;

adc@3100 {
compatible = "qcom,spmi-adc-rev2";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;

ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};

vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};

vcoin@85 {
reg = <0x85>;
qcom,pre-scaling = <1 1>;
label = "vcoin2";
};
};
};

pmic@6 {
compatible = "qcom,pm8150c", "qcom,spmi-pmic";
reg = <0x6 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
};

pmic@8 {
compatible = "qcom,pm8150", "qcom,spmi-pmic";
reg = <0x8 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
};

pmic@a {
compatible = "qcom,smb2351", "qcom,spmi-pmic";
reg = <0xa SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;

adc@3100 {
compatible = "qcom,spmi-adc-rev2";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0xa 0x31 0x0 IRQ_TYPE_EDGE_RISING>;

ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};

vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};

vcoin@85 {
reg = <0x85>;
qcom,pre-scaling = <1 1>;
label = "vcoin";
};
};
};

pmic@4 {
compatible = "qcom,pm8150c", "qcom,spmi-pmic";
reg = <0x4 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;

power-on@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;

status = "disabled";
};

pmc8180c_temp: temp-alarm@2400 {
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
io-channels = <&pmc8180c_adc ADC5_DIE_TEMP>;
io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};

pmc8180c_adc: adc@3100 {
compatible = "qcom,spmi-adc5";
reg = <0x3100>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;

ref-gnd@0 {
reg = <ADC5_REF_GND>;
qcom,pre-scaling = <1 1>;
label = "ref_gnd";
};

vref-1p25@1 {
reg = <ADC5_1P25VREF>;
qcom,pre-scaling = <1 1>;
label = "vref_1p25";
};

die-temp@6 {
reg = <ADC5_DIE_TEMP>;
qcom,pre-scaling = <1 1>;
label = "die_temp";
};
};

pmc8180c_adc_tm: adc-tm@3500 {
compatible = "qcom,spmi-adc-tm5";
reg = <0x3500>;
interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};

pmc8180c_gpios: gpio@c000 {
compatible = "qcom,pmc8180c-gpio";
reg = <0xc000>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
};

pmic@5 {
compatible = "qcom,pmc8180c", "qcom,spmi-pmic";
reg = <0x5 SPMI_USID>;

pmc8180c_lpg: lpg {
compatible = "qcom,pmc8180c-lpg";

#address-cells = <1>;
#size-cells = <0>;
#pwm-cells = <2>;

status = "disabled";
};
};
};

0 comments on commit d330229

Please sign in to comment.