mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 00:41:17 +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>
121 lines
2.9 KiB
Diff
121 lines
2.9 KiB
Diff
From 7388400b8bd42f71d040dbf2fdbdcb834fcc0ede Mon Sep 17 00:00:00 2001
|
|
From: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
|
|
Date: Sat, 30 Jan 2021 10:50:13 +0530
|
|
Subject: [PATCH] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
|
|
|
|
Enable remoteproc WCSS PIL driver with glink and ssr subdevices.
|
|
Also enables smp2p and mailboxes required for IPC.
|
|
|
|
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
|
|
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|
Signed-off-by: Nikhil Prakash V <nprakash@codeaurora.org>
|
|
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|
---
|
|
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 81 +++++++++++++++++++++++++++
|
|
1 file changed, 81 insertions(+)
|
|
|
|
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
|
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
|
@@ -140,6 +140,32 @@
|
|
};
|
|
};
|
|
|
|
+ wcss: smp2p-wcss {
|
|
+ compatible = "qcom,smp2p";
|
|
+ qcom,smem = <435>, <428>;
|
|
+
|
|
+ interrupt-parent = <&intc>;
|
|
+ interrupts = <0 322 1>;
|
|
+
|
|
+ mboxes = <&apcs_glb 9>;
|
|
+
|
|
+ qcom,local-pid = <0>;
|
|
+ qcom,remote-pid = <1>;
|
|
+
|
|
+ wcss_smp2p_out: master-kernel {
|
|
+ qcom,entry-name = "master-kernel";
|
|
+ qcom,smp2p-feature-ssr-ack;
|
|
+ #qcom,smem-state-cells = <1>;
|
|
+ };
|
|
+
|
|
+ wcss_smp2p_in: slave-kernel {
|
|
+ qcom,entry-name = "slave-kernel";
|
|
+
|
|
+ interrupt-controller;
|
|
+ #interrupt-cells = <2>;
|
|
+ };
|
|
+ };
|
|
+
|
|
soc: soc {
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x1>;
|
|
@@ -409,6 +435,11 @@
|
|
#hwlock-cells = <1>;
|
|
};
|
|
|
|
+ tcsr_q6: syscon@1945000 {
|
|
+ compatible = "syscon";
|
|
+ reg = <0x01945000 0xe000>;
|
|
+ };
|
|
+
|
|
spmi_bus: spmi@200f000 {
|
|
compatible = "qcom,spmi-pmic-arb";
|
|
reg = <0x0200f000 0x001000>,
|
|
@@ -917,6 +948,56 @@
|
|
"axi_s_sticky";
|
|
status = "disabled";
|
|
};
|
|
+
|
|
+ q6v5_wcss: q6v5_wcss@cd00000 {
|
|
+ compatible = "qcom,ipq8074-wcss-pil";
|
|
+ reg = <0x0cd00000 0x4040>,
|
|
+ <0x004ab000 0x20>;
|
|
+ reg-names = "qdsp6",
|
|
+ "rmb";
|
|
+ qca,auto-restart;
|
|
+ qca,extended-intc;
|
|
+ interrupts-extended = <&intc 0 325 1>,
|
|
+ <&wcss_smp2p_in 0 0>,
|
|
+ <&wcss_smp2p_in 1 0>,
|
|
+ <&wcss_smp2p_in 2 0>,
|
|
+ <&wcss_smp2p_in 3 0>;
|
|
+ interrupt-names = "wdog",
|
|
+ "fatal",
|
|
+ "ready",
|
|
+ "handover",
|
|
+ "stop-ack";
|
|
+
|
|
+ resets = <&gcc GCC_WCSSAON_RESET>,
|
|
+ <&gcc GCC_WCSS_BCR>,
|
|
+ <&gcc GCC_WCSS_Q6_BCR>;
|
|
+
|
|
+ reset-names = "wcss_aon_reset",
|
|
+ "wcss_reset",
|
|
+ "wcss_q6_reset";
|
|
+
|
|
+ clocks = <&gcc GCC_PRNG_AHB_CLK>;
|
|
+ clock-names = "prng";
|
|
+
|
|
+ qcom,halt-regs = <&tcsr_q6 0xa000 0xd000 0x0>;
|
|
+
|
|
+ qcom,smem-states = <&wcss_smp2p_out 0>,
|
|
+ <&wcss_smp2p_out 1>;
|
|
+ qcom,smem-state-names = "shutdown",
|
|
+ "stop";
|
|
+
|
|
+ memory-region = <&q6_region>;
|
|
+
|
|
+ glink-edge {
|
|
+ interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>;
|
|
+ qcom,remote-pid = <1>;
|
|
+ mboxes = <&apcs_glb 8>;
|
|
+
|
|
+ rpm_requests {
|
|
+ qcom,glink-channels = "IPCRTR";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
};
|
|
|
|
timer {
|