summaryrefslogtreecommitdiffstats
path: root/target/linux/qualcommax/patches-6.6/0013-v6.2-arm64-dts-qcom-add-PMP8074-DTSI.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/qualcommax/patches-6.6/0013-v6.2-arm64-dts-qcom-add-PMP8074-DTSI.patch')
-rw-r--r--target/linux/qualcommax/patches-6.6/0013-v6.2-arm64-dts-qcom-add-PMP8074-DTSI.patch149
1 files changed, 149 insertions, 0 deletions
diff --git a/target/linux/qualcommax/patches-6.6/0013-v6.2-arm64-dts-qcom-add-PMP8074-DTSI.patch b/target/linux/qualcommax/patches-6.6/0013-v6.2-arm64-dts-qcom-add-PMP8074-DTSI.patch
new file mode 100644
index 0000000000..cd146420cf
--- /dev/null
+++ b/target/linux/qualcommax/patches-6.6/0013-v6.2-arm64-dts-qcom-add-PMP8074-DTSI.patch
@@ -0,0 +1,149 @@
+From fb76b808f8628215afebaf0f8af0bde635302590 Mon Sep 17 00:00:00 2001
+From: Robert Marko <robimarko@gmail.com>
+Date: Fri, 19 Aug 2022 00:18:14 +0200
+Subject: [PATCH] arm64: dts: qcom: add PMP8074 DTSI
+
+PMP8074 is a companion PMIC to the Qualcomm IPQ8074 series that is
+controlled via SPMI.
+
+Add DTSI for it providing GPIO, regulator, RTC and VADC support.
+
+RTC is disabled by default as there is no built-in battery so it will
+loose time unless board vendor added a battery, so make it optional.
+
+Signed-off-by: Robert Marko <robimarko@gmail.com>
+Signed-off-by: Bjorn Andersson <andersson@kernel.org>
+Link: https://lore.kernel.org/r/20220818221815.346233-4-robimarko@gmail.com
+---
+ arch/arm64/boot/dts/qcom/pmp8074.dtsi | 125 ++++++++++++++++++++++++++
+ 1 file changed, 125 insertions(+)
+ create mode 100644 arch/arm64/boot/dts/qcom/pmp8074.dtsi
+
+--- /dev/null
++++ b/arch/arm64/boot/dts/qcom/pmp8074.dtsi
+@@ -0,0 +1,125 @@
++// SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
++
++#include <dt-bindings/spmi/spmi.h>
++#include <dt-bindings/iio/qcom,spmi-vadc.h>
++
++&spmi_bus {
++ pmic@0 {
++ compatible = "qcom,pmp8074", "qcom,spmi-pmic";
++ reg = <0x0 SPMI_USID>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ pmp8074_adc: adc@3100 {
++ compatible = "qcom,spmi-adc-rev2";
++ reg = <0x3100>;
++ interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ #io-channel-cells = <1>;
++
++ ref-gnd@0 {
++ reg = <ADC5_REF_GND>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ vref-1p25@1 {
++ reg = <ADC5_1P25VREF>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ vref-vadc@2 {
++ reg = <ADC5_VREF_VADC>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ pmic_die: die-temp@6 {
++ reg = <ADC5_DIE_TEMP>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ xo_therm: xo-temp@76 {
++ reg = <ADC5_XO_THERM_100K_PU>;
++ qcom,ratiometric;
++ qcom,hw-settle-time = <200>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ pa_therm1: thermistor1@77 {
++ reg = <ADC5_AMUX_THM1_100K_PU>;
++ qcom,ratiometric;
++ qcom,hw-settle-time = <200>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ pa_therm2: thermistor2@78 {
++ reg = <ADC5_AMUX_THM2_100K_PU>;
++ qcom,ratiometric;
++ qcom,hw-settle-time = <200>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ pa_therm3: thermistor3@79 {
++ reg = <ADC5_AMUX_THM3_100K_PU>;
++ qcom,ratiometric;
++ qcom,hw-settle-time = <200>;
++ qcom,pre-scaling = <1 1>;
++ };
++
++ vph-pwr@131 {
++ reg = <ADC5_VPH_PWR>;
++ qcom,pre-scaling = <1 3>;
++ };
++ };
++
++ pmp8074_rtc: rtc@6000 {
++ compatible = "qcom,pm8941-rtc";
++ reg = <0x6000>;
++ reg-names = "rtc", "alarm";
++ interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
++ allow-set-time;
++ status = "disabled";
++ };
++
++ pmp8074_gpios: gpio@c000 {
++ compatible = "qcom,pmp8074-gpio", "qcom,spmi-gpio";
++ reg = <0xc000>;
++ gpio-controller;
++ #gpio-cells = <2>;
++ gpio-ranges = <&pmp8074_gpios 0 0 12>;
++ interrupt-controller;
++ #interrupt-cells = <2>;
++ };
++ };
++
++ pmic@1 {
++ compatible = "qcom,pmp8074", "qcom,spmi-pmic";
++ reg = <0x1 SPMI_USID>;
++
++ regulators {
++ compatible = "qcom,pmp8074-regulators";
++
++ s3: s3 {
++ regulator-name = "vdd_s3";
++ regulator-min-microvolt = <592000>;
++ regulator-max-microvolt = <1064000>;
++ regulator-always-on;
++ regulator-boot-on;
++ };
++
++ s4: s4 {
++ regulator-name = "vdd_s4";
++ regulator-min-microvolt = <712000>;
++ regulator-max-microvolt = <992000>;
++ regulator-always-on;
++ regulator-boot-on;
++ };
++
++ l11: l11 {
++ regulator-name = "l11";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <3300000>;
++ };
++ };
++ };
++};