mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-13 10:24:51 +00:00
150 lines
3.6 KiB
Diff
150 lines
3.6 KiB
Diff
|
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>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|