mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
b5f32064ed
Qualcomm Atheros IPQ807x is a modern WiSoC featuring: * Quad Core ARMv8 Cortex A-53 * @ 2.2 GHz (IPQ8072A/4A/6A/8A) Codename Hawkeye * @ 1.4 GHz (IPQ8070A/1A) Codename Acorn * Dual Band simultaneaous IEEE 802.11ax * 5G: 8x8/80 or 4x4/160MHz (IPQ8074A/8A) * 5G: 4x4/80 or 2x2/160MHz (IPQ8071A/2A/6A) * 5G: 2x2/80MHz (IPQ8070A) * 2G: 4x4/40MHz (IPQ8072A/4A/6A/8A) * 2G: 2x2/40MHz (IPQ8070A/1A) * 1x PSGMII via QCA8072/5 (Max 5x 1GbE ports) * 2x SGMII/USXGMII (1/2.5/5/10 GbE) on Hawkeye * 2x SGMII/USXGMII (1/2.5/5 GbE) on Acorn * DDR3L/4 32/16 bit up to 2400MT/s * SDIO 3.0/SD card 3.0/eMMC 5.1 * Dual USB 3.0 * One PCIe Gen2.1 and one PCIe Gen3.0 port (Single lane) * Parallel NAND (ONFI)/LCD * 6x QUP BLSP SPI/I2C/UART * I2S, PCM, and TDMA * HW PWM * 1.8V configurable GPIO * Companion PMP8074 PMIC via SPMI (GPIOS, RTC etc) Note that only v2 SOC models aka the ones ending with A suffix are supported, v1 models do not comply to the final 802.11ax and have lower clocks, lack the Gen3 PCIe etc. SoC itself has two UBI32 cores for the NSS offloading system, however currently no offloading is supported. Signed-off-by: Robert Marko <robimarko@gmail.com>
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>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|