1006 lines
29 KiB
Diff
1006 lines
29 KiB
Diff
|
From 7713dc2a9a5228907955cee7bd15c81152266bb2 Mon Sep 17 00:00:00 2001
|
||
|
From: Karl Chan <exkcmailist@inbox.lv>
|
||
|
Date: Sun, 3 Dec 2023 03:04:15 +0800
|
||
|
Subject: [PATCH] Add Linksys EA9350 V3 support
|
||
|
|
||
|
---
|
||
|
arch/arm/boot/dts/Makefile | 1 +
|
||
|
.../boot/dts/ipq5018-linksys-jamaica.dts | 18 +
|
||
|
arch/arm64/boot/dts/qcom/Makefile | 1 +
|
||
|
.../dts/qcom/ipq5018-linksys-jamaica.dts | 934 ++++++++++++++++++
|
||
|
4 files changed, 954 insertions(+)
|
||
|
create mode 100644 arch/arm/boot/dts/ipq5018-linksys-jamaica.dts
|
||
|
create mode 100755 arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
|
||
|
|
||
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||
|
index 7712df1ab..d51ab06de 100644
|
||
|
--- a/arch/arm/boot/dts/Makefile
|
||
|
+++ b/arch/arm/boot/dts/Makefile
|
||
|
@@ -848,6 +848,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||
|
qcom-ipq4019-ap.dk07.1-c1.dtb \
|
||
|
qcom-ipq4019-ap.dk07.1-c2.dtb \
|
||
|
qcom-ipq8064-ap148.dtb \
|
||
|
+ ipq5018-linksys-jamaica.dtb \
|
||
|
ipq5018-mp02.1.dtb \
|
||
|
ipq5018-mp03.1.dtb \
|
||
|
ipq5018-mp03.1-c2.dtb \
|
||
|
diff --git a/arch/arm/boot/dts/ipq5018-linksys-jamaica.dts b/arch/arm/boot/dts/ipq5018-linksys-jamaica.dts
|
||
|
new file mode 100644
|
||
|
index 000000000..35c20aace
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/ipq5018-linksys-jamaica.dts
|
||
|
@@ -0,0 +1,18 @@
|
||
|
+/*
|
||
|
+ * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
||
|
+ *
|
||
|
+ * Permission to use, copy, modify, and/or distribute this software for any
|
||
|
+ * purpose with or without fee is hereby granted, provided that the above
|
||
|
+ * copyright notice and this permission notice appear in all copies.
|
||
|
+ *
|
||
|
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||
|
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||
|
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||
|
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||
|
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||
|
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||
|
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
+ */
|
||
|
+
|
||
|
+#include <arm64/qcom/ipq5018-linksys-jamaica.dts>
|
||
|
+#include "ipq5018.dtsi"
|
||
|
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
|
||
|
index 4de2b3199..47dc287f0 100644
|
||
|
--- a/arch/arm64/boot/dts/qcom/Makefile
|
||
|
+++ b/arch/arm64/boot/dts/qcom/Makefile
|
||
|
@@ -61,6 +61,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp03.5-c2.dtb
|
||
|
dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp03.6-c1.dtb
|
||
|
dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp03.6-c2.dtb
|
||
|
dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp05.1.dtb
|
||
|
+dtb-$(CONFIG_ARCH_QCOM) += ipq5018-linksys-jamaica.dtb
|
||
|
dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb
|
||
|
dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb
|
||
|
dtb-$(CONFIG_ARCH_QCOM) += msm8916-samsung-a3u-eur.dtb
|
||
|
diff --git a/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
|
||
|
new file mode 100755
|
||
|
index 000000000..4c50f16a6
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts
|
||
|
@@ -0,0 +1,934 @@
|
||
|
+/dts-v1/;
|
||
|
+/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
||
|
+ *
|
||
|
+ * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||
|
+ *
|
||
|
+ * Permission to use, copy, modify, and/or distribute this software for any
|
||
|
+ * purpose with or without fee is hereby granted, provided that the above
|
||
|
+ * copyright notice and this permission notice appear in all copies.
|
||
|
+ *
|
||
|
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||
|
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||
|
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||
|
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||
|
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||
|
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||
|
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
+ */
|
||
|
+
|
||
|
+#include "ipq5018.dtsi"
|
||
|
+
|
||
|
+/ {
|
||
|
+ #address-cells = <0x2>;
|
||
|
+ #size-cells = <0x2>;
|
||
|
+ model = "Linksys EA9350 V3";
|
||
|
+ compatible = "linksys-jamaica", "qcom,ipq5018";
|
||
|
+ interrupt-parent = <&intc>;
|
||
|
+
|
||
|
+ aliases {
|
||
|
+ serial0 = &blsp1_uart1;
|
||
|
+ serial1 = &blsp1_uart2;
|
||
|
+ ethernet0 = "/soc/dp1";
|
||
|
+ ethernet1 = "/soc/dp2";
|
||
|
+ };
|
||
|
+
|
||
|
+ chosen {
|
||
|
+ bootargs = "console=ttyMSM0,115200,n8 rw init=/init";
|
||
|
+ bootargs-append = " swiotlb=1 coherent_pool=2M";
|
||
|
+ stdout-path = "serial0";
|
||
|
+ };
|
||
|
+
|
||
|
+ reserved-memory {
|
||
|
+ #ifdef __IPQ_MEM_PROFILE_256_MB__
|
||
|
+ /* 256 MB Profile
|
||
|
+ * +=========+==============+========================+
|
||
|
+ * | | | |
|
||
|
+ * | Region | Start Offset | Size |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | NSS | 0x40000000 | 8MB |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | Linux | 0x40800000 | Depends on total memory |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * + | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | uboot | 0x4A600000 | 4MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | SBL | 0x4AA00000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | smem | 0x4AB00000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | TZ | 0x4AC00000 | 4MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | Q6 | 0x4B000000 | 23MB |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | M3 Dump| 0x4C700000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | QDSS | 0x4C800000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * |QCN9000 | 0x4C900000 | 17MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | MHI1 | 0x4DA00000 | 9MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | |
|
||
|
+ * | Rest of the memory for Linux |
|
||
|
+ * | |
|
||
|
+ * +=================================================+
|
||
|
+ */
|
||
|
+ q6_region: memory@4b000000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4b000000 0x0 0x01700000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ m3_dump@4c700000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4C700000 0x0 0x100000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ q6_etr_region:q6_etr_dump@4c800000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4c800000 0x0 0x100000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ qcn9000_pcie0: qcn9000_pcie0@4c900000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4C900000 0x0 0x01100000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ #if defined(__CNSS2__)
|
||
|
+ mhi_region1: dma_pool1@4da00000 {
|
||
|
+ compatible = "shared-dma-pool";
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4DA00000 0x0 0x00900000>;
|
||
|
+ };
|
||
|
+ #endif
|
||
|
+ #elif __IPQ_MEM_PROFILE_512_MB__
|
||
|
+ /* 512 MB Profile
|
||
|
+ * +=========+==============+========================+
|
||
|
+ * | | | |
|
||
|
+ * | Region | Start Offset | Size |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | NSS | 0x40000000 | 16MB |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | Linux | 0x41000000 | Depends on total memory |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | uboot | 0x4A600000 | 4MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | SBL | 0x4AA00000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | smem | 0x4AB00000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | TZ | 0x4AC00000 | 4MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | Q6 | 0x4B000000 | 24MB |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | M3 Dump| 0x4C800000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | QDSS | 0x4C900000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | caldb | 0x4CA00000 | 2MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * |QCN9000 | 0x4CC00000 | 38MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | MHI1 | 0x4F200000 | 9MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | |
|
||
|
+ * | Rest of the memory for Linux |
|
||
|
+ * | |
|
||
|
+ * +=================================================+
|
||
|
+ */
|
||
|
+ q6_region: memory@4b000000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4b000000 0x0 0x01800000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ m3_dump@4c800000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4c800000 0x0 0x100000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ q6_etr_region:q6_etr_dump@4c900000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4c900000 0x0 0x100000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ q6_caldb_region:q6_caldb_region@4ca00000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4ca00000 0x0 0x200000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ qcn9000_pcie0: qcn9000_pcie0@4cc00000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4CC00000 0x0 0x02600000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ #if defined(__CNSS2__)
|
||
|
+ mhi_region1: dma_pool1@4f200000 {
|
||
|
+ compatible = "shared-dma-pool";
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4f200000 0x0 0x00900000>;
|
||
|
+ };
|
||
|
+ #endif
|
||
|
+ #else
|
||
|
+ /* 1G Profile
|
||
|
+ * +=========+==============+========================+
|
||
|
+ * | | | |
|
||
|
+ * | Region | Start Offset | Size |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | NSS | 0x40000000 | 16MB |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | Linux | 0x41000000 | Depends on total memory |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | uboot | 0x4A600000 | 4MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | SBL | 0x4AA00000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | smem | 0x4AB00000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | TZ | 0x4AC00000 | 4MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * | Q6 | 0x4B000000 | 24MB |
|
||
|
+ * | | | |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | M3 Dump| 0x4C800000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | QDSS | 0x4C900000 | 1MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | caldb | 0x4CA00000 | 2MB |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * |QCN9000 | 0x4CC00000 | 53MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | | | |
|
||
|
+ * | MHI1 | 0x50100000 | 9MB |
|
||
|
+ * | | | |
|
||
|
+ * +--------+--------------+-------------------------+
|
||
|
+ * | |
|
||
|
+ * | Rest of the memory for Linux |
|
||
|
+ * | |
|
||
|
+ * +=================================================+
|
||
|
+ */
|
||
|
+ q6_region: memory@4b000000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4b000000 0x0 0x01800000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ m3_dump@4c800000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4c800000 0x0 0x100000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ q6_etr_region:q6_etr_dump@4c900000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4c900000 0x0 0x100000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ q6_caldb_region:q6_caldb_region@4ca00000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4ca00000 0x0 0x200000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ qcn9000_pcie0: qcn9000_pcie0@4cc00000 {
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x4CC00000 0x0 0x03500000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ #if defined(__CNSS2__)
|
||
|
+ mhi_region1: dma_pool1@50100000 {
|
||
|
+ compatible = "shared-dma-pool";
|
||
|
+ no-map;
|
||
|
+ reg = <0x0 0x50100000 0x0 0x00900000>;
|
||
|
+ };
|
||
|
+ #endif
|
||
|
+ #endif
|
||
|
+ };
|
||
|
+
|
||
|
+ soc {
|
||
|
+ serial@78af000 {
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+
|
||
|
+ blsp1_uart2: serial@78b0000 {
|
||
|
+ pinctrl-0 = <&blsp1_uart_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ };
|
||
|
+
|
||
|
+ qpic_bam: dma@7984000{
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+
|
||
|
+ nand: qpic-nand@79b0000 {
|
||
|
+ pinctrl-0 = <&qspi_nand_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+
|
||
|
+ spi_0: spi@78b5000 { /* BLSP1 QUP0 */
|
||
|
+ pinctrl-0 = <&blsp0_spi_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ cs-select = <0>;
|
||
|
+ status = "ok";
|
||
|
+
|
||
|
+ m25p80@0 {
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <1>;
|
||
|
+ reg = <0>;
|
||
|
+ compatible = "n25q128a11";
|
||
|
+ linux,modalias = "m25p80", "n25q128a11";
|
||
|
+ spi-max-frequency = <50000000>;
|
||
|
+ use-default-sizes;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ mdio0: mdio@88000 {
|
||
|
+ status = "ok";
|
||
|
+
|
||
|
+ ethernet-phy@0 {
|
||
|
+ reg = <7>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ mdio1: mdio@90000 {
|
||
|
+ status = "ok";
|
||
|
+ pinctrl-0 = <&mdio1_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ phy-reset-gpio = <&tlmm 39 0>;
|
||
|
+ ethernet-phy@0 {
|
||
|
+ reg = <0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ ethernet-phy@1 {
|
||
|
+ reg = <1>;
|
||
|
+ };
|
||
|
+
|
||
|
+ ethernet-phy@2 {
|
||
|
+ reg = <2>;
|
||
|
+ };
|
||
|
+
|
||
|
+ ethernet-phy@3 {
|
||
|
+ reg = <3>;
|
||
|
+ };
|
||
|
+ ethernet-phy@4 {
|
||
|
+ reg = <4>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ ess-instance {
|
||
|
+ num_devices = <0x2>;
|
||
|
+ ess-switch@0x39c00000 {
|
||
|
+ compatible = "qcom,ess-switch-ipq50xx";
|
||
|
+ device_id = <0>;
|
||
|
+ switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/
|
||
|
+ cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/
|
||
|
+ qcom,port_phyinfo {
|
||
|
+ port@0 {
|
||
|
+ port_id = <1>;
|
||
|
+ phy_address = <7>;
|
||
|
+ };
|
||
|
+ port@1 {
|
||
|
+ port_id = <2>;
|
||
|
+ forced-speed = <1000>;
|
||
|
+ forced-duplex = <1>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ led_source@0 {
|
||
|
+ source = <0>;
|
||
|
+ mode = "normal";
|
||
|
+ speed = "all";
|
||
|
+ blink_en = "enable";
|
||
|
+ active = "high";
|
||
|
+ };
|
||
|
+ };
|
||
|
+ ess-switch1@1 {
|
||
|
+ compatible = "qcom,ess-switch-qca83xx";
|
||
|
+ device_id = <1>;
|
||
|
+ switch_access_mode = "mdio";
|
||
|
+ mdio-bus = <&mdio1>;
|
||
|
+ reset_gpio = <&tlmm 0x27 0>;
|
||
|
+ switch_cpu_bmp = <0x40>; /* cpu port bitmap */
|
||
|
+ switch_lan_bmp = <0x1e>; /* lan port bitmap */
|
||
|
+ switch_wan_bmp = <0x20>; /* wan port bitmap */
|
||
|
+ qca,ar8327-initvals = <
|
||
|
+ 0x00004 0x7600000 /* PAD0_MODE */
|
||
|
+ 0x00008 0x1000000 /* PAD5_MODE */
|
||
|
+ 0x0000c 0x80 /* PAD6_MODE */
|
||
|
+ 0x00010 0x2613a0 /* PORT6 FORCE MODE*/
|
||
|
+ 0x000e4 0xaa545 /* MAC_POWER_SEL */
|
||
|
+ 0x000e0 0xc74164de /* SGMII_CTRL */
|
||
|
+ 0x0007c 0x4e /* PORT0_STATUS */
|
||
|
+ 0x00094 0x4e /* PORT6_STATUS */
|
||
|
+ >;
|
||
|
+ qcom,port_phyinfo {
|
||
|
+ port@0 {
|
||
|
+ port_id = <1>;
|
||
|
+ phy_address = <0>;
|
||
|
+ };
|
||
|
+ port@1 {
|
||
|
+ port_id = <2>;
|
||
|
+ phy_address = <1>;
|
||
|
+ };
|
||
|
+ port@2 {
|
||
|
+ port_id = <3>;
|
||
|
+ phy_address = <2>;
|
||
|
+ };
|
||
|
+ port@3 {
|
||
|
+ port_id = <4>;
|
||
|
+ phy_address = <3>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ ess-uniphy@98000 {
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+
|
||
|
+ qcom,sps {
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+
|
||
|
+ qcom,diag@0 {
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+
|
||
|
+ dp1 {
|
||
|
+ device_type = "network";
|
||
|
+ compatible = "qcom,nss-dp";
|
||
|
+ clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>;
|
||
|
+ clock-names = "nss-snoc-gmac-axi-clk";
|
||
|
+ qcom,id = <1>;
|
||
|
+ reg = <0x39C00000 0x10000>;
|
||
|
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
+ qcom,mactype = <2>;
|
||
|
+ qcom,link-poll = <1>;
|
||
|
+ qcom,phy-mdio-addr = <7>;
|
||
|
+ mdio-bus = <&mdio0>;
|
||
|
+ local-mac-address = [000000000000];
|
||
|
+ phy-mode = "sgmii";
|
||
|
+ qcom,rx-page-mode = <0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ dp2 {
|
||
|
+ device_type = "network";
|
||
|
+ compatible = "qcom,nss-dp";
|
||
|
+ clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>;
|
||
|
+ clock-names = "nss-snoc-gmac-axi-clk";
|
||
|
+ qcom,id = <2>;
|
||
|
+ reg = <0x39D00000 0x10000>;
|
||
|
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
+ qcom,mactype = <2>;
|
||
|
+ local-mac-address = [000000000000];
|
||
|
+ phy-mode = "sgmii";
|
||
|
+ qcom,rx-page-mode = <0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ rpm_etm0 {
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+
|
||
|
+ pcm: pcm@0xA3C0000{
|
||
|
+ pinctrl-0 = <&audio_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ status = "disabled";
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ qcom,test@0 {
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+
|
||
|
+ thermal-zones {
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&tlmm {
|
||
|
+ pinctrl-0 = <&blsp0_uart_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+
|
||
|
+ blsp0_uart_pins: blsp0_uart_pins {
|
||
|
+ blsp0_uart_rx_tx {
|
||
|
+ pins = "gpio20", "gpio21";
|
||
|
+ function = "blsp0_uart0";
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ blsp1_uart_pins: blsp1_uart_pins {
|
||
|
+ blsp1_uart_rx_tx {
|
||
|
+ pins = "gpio23", "gpio25", "gpio24", "gpio26";
|
||
|
+ function = "blsp1_uart2";
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ blsp0_spi_pins: blsp0_spi_pins {
|
||
|
+ mux {
|
||
|
+ pins = "gpio10", "gpio11", "gpio12", "gpio13";
|
||
|
+ function = "blsp0_spi";
|
||
|
+ drive-strength = <2>;
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ qspi_nand_pins: qspi_nand_pins {
|
||
|
+ qspi_clock {
|
||
|
+ pins = "gpio9";
|
||
|
+ function = "qspi_clk";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+
|
||
|
+ qspi_cs {
|
||
|
+ pins = "gpio8";
|
||
|
+ function = "qspi_cs";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+
|
||
|
+ qspi_data {
|
||
|
+ pins = "gpio4", "gpio5", "gpio6", "gpio7";
|
||
|
+ function = "qspi_data";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ mdio1_pins: mdio_pinmux {
|
||
|
+ mux_0 {
|
||
|
+ pins = "gpio36";
|
||
|
+ function = "mdc";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-up;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_1 {
|
||
|
+ pins = "gpio37";
|
||
|
+ function = "mdio";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-up;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ i2c_pins: i2c_pins {
|
||
|
+ i2c_scl {
|
||
|
+ pins = "gpio25";
|
||
|
+ function = "blsp2_i2c1";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+
|
||
|
+ i2c_sda {
|
||
|
+ pins = "gpio26";
|
||
|
+ function = "blsp2_i2c1";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-disable;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ button_pins: button_pins {
|
||
|
+ wps_button {
|
||
|
+ pins = "gpio27";
|
||
|
+ function = "gpio";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-up;
|
||
|
+ };
|
||
|
+ reset_button {
|
||
|
+ pins = "gpio28";
|
||
|
+ function = "gpio";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-up;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ pwm_pins: pwm_pinmux {
|
||
|
+ mux_1 {
|
||
|
+ pins = "gpio1";
|
||
|
+ function = "NA"; //"pwm1";
|
||
|
+ drive-strength = <8>;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_2 {
|
||
|
+ pins = "gpio30";
|
||
|
+ function = "pwm3";
|
||
|
+ drive-strength = <8>;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_3 {
|
||
|
+ pins = "gpio46";
|
||
|
+ function = "pwm0";
|
||
|
+ drive-strength = <8>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ audio_pins: audio_pinmux {
|
||
|
+ mux_1 {
|
||
|
+ pins = "gpio24";
|
||
|
+ function = "audio_rxbclk";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-down;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_2 {
|
||
|
+ pins = "gpio25";
|
||
|
+ function = "audio_rxfsync";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-down;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_3 {
|
||
|
+ pins = "gpio26";
|
||
|
+ function = "audio_rxd";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-down;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_4 {
|
||
|
+ pins = "gpio27";
|
||
|
+ function = "audio_txmclk";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-down;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_5 {
|
||
|
+ pins = "gpio28";
|
||
|
+ function = "audio_txbclk";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-down;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_6 {
|
||
|
+ pins = "gpio29";
|
||
|
+ function = "audio_txfsync";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-down;
|
||
|
+ };
|
||
|
+
|
||
|
+ mux_7 {
|
||
|
+ pins = "gpio30";
|
||
|
+ function = "audio_txd";
|
||
|
+ drive-strength = <8>;
|
||
|
+ bias-pull-down;
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&soc {
|
||
|
+ gpio_keys {
|
||
|
+ compatible = "gpio-keys";
|
||
|
+ pinctrl-0 = <&button_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+
|
||
|
+ button@1 {
|
||
|
+ label = "wps";
|
||
|
+ linux,code = <KEY_WPS_BUTTON>;
|
||
|
+ gpios = <&tlmm 27 GPIO_ACTIVE_LOW>;
|
||
|
+ linux,input-type = <1>;
|
||
|
+ debounce-interval = <60>;
|
||
|
+ };
|
||
|
+ button@2 {
|
||
|
+ label = "reset";
|
||
|
+ linux,code = <KEY_RESTART>;
|
||
|
+ gpios = <&tlmm 28 GPIO_ACTIVE_LOW>;
|
||
|
+ linux,input-type = <1>;
|
||
|
+ debounce-interval = <60>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ pwm_ctrl:pwm {
|
||
|
+ pinctrl-0 = <&pwm_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ used-pwm-indices = <1>, <1>, <0>, <1>;
|
||
|
+ #pwm-cells = <2>;
|
||
|
+ status = "ok";
|
||
|
+ };
|
||
|
+
|
||
|
+ pwmleds {
|
||
|
+ compatible = "pwm-leds";
|
||
|
+
|
||
|
+ red {
|
||
|
+ label = "pwm:red";
|
||
|
+ pwms = <&pwm_ctrl 3 1250000>;
|
||
|
+ max-brightness = <255>;
|
||
|
+ };
|
||
|
+
|
||
|
+ green {
|
||
|
+ label = "pwm:green";
|
||
|
+ pwms = <&pwm_ctrl 0 1250000>;
|
||
|
+ max-brightness = <255>;
|
||
|
+ };
|
||
|
+
|
||
|
+ blue {
|
||
|
+ label = "pwm:blue";
|
||
|
+ pwms = <&pwm_ctrl 1 1250000>;
|
||
|
+ max-brightness = <255>;
|
||
|
+ linux,default-trigger = "default-on";
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&usb3 {
|
||
|
+ qcom,multiplexed-phy;
|
||
|
+ qcom,phy-mux-regs = <&tcsr_q6_block 0x2540>;
|
||
|
+ device-power-gpio = <&tlmm 24 1>;
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&eud {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&pcie_x1 {
|
||
|
+ status = "disabled";
|
||
|
+ perst-gpio = <&tlmm 18 GPIO_ACTIVE_LOW>;
|
||
|
+};
|
||
|
+
|
||
|
+&pcie_x2 {
|
||
|
+ status = "ok";
|
||
|
+ perst-gpio = <&tlmm 15 GPIO_ACTIVE_LOW>;
|
||
|
+};
|
||
|
+
|
||
|
+&wcss {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&tcsr_mutex {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&apcs_glb {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&tcsr_q6_block {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&q6v5_wcss {
|
||
|
+ #ifdef __IPQ_MEM_PROFILE_256_MB__
|
||
|
+ memory-region = <&q6_region>, <&q6_etr_region>;
|
||
|
+ #else
|
||
|
+ memory-region = <&q6_region>, <&q6_etr_region>,
|
||
|
+ <&q6_caldb_region>;
|
||
|
+ #endif
|
||
|
+};
|
||
|
+
|
||
|
+&i2c_0 {
|
||
|
+ pinctrl-0 = <&i2c_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ status = "disabled";
|
||
|
+};
|
||
|
+
|
||
|
+&blsp1_uart1 {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&ssuniphy_0 {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&hs_m31phy_0 {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&pcie_x1phy {
|
||
|
+ status = "disabled";
|
||
|
+};
|
||
|
+
|
||
|
+&pcie_x2phy {
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&pcie_x1_rp {
|
||
|
+ status = "disabled";
|
||
|
+
|
||
|
+ mhi_0: qcom,mhi@0 {
|
||
|
+ reg = <0 0 0 0 0 >;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&pcie_x2_rp {
|
||
|
+ status = "ok";
|
||
|
+
|
||
|
+ mhi_1: qcom,mhi@1 {
|
||
|
+ reg = <0 0 0 0 0 >;
|
||
|
+ qrtr_instance_id = <0x20>;
|
||
|
+ #address-cells = <0x2>;
|
||
|
+ #size-cells = <0x2>;
|
||
|
+#if defined(__CNSS2__)
|
||
|
+ memory-region = <&mhi_region1>;
|
||
|
+#else
|
||
|
+ base-addr = <0x4CC00000>;
|
||
|
+ m3-dump-addr = <0x4E000000>;
|
||
|
+ etr-addr = <0x4E100000>;
|
||
|
+ qcom,caldb-addr = <0x4E200000>;
|
||
|
+ pageable-addr = <0x4EA00000>;
|
||
|
+ qcom,tgt-mem-mode = <0x1>;
|
||
|
+#endif
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&wifi0 {
|
||
|
+ /* IPQ5018 */
|
||
|
+ mem-region = <&q6_region>;
|
||
|
+ qcom,board_id = <0x24>;
|
||
|
+
|
||
|
+ qcom,bdf-addr = <0x4BA00000 0x4BA00000 0x4BA00000
|
||
|
+ 0x0 0x0>;
|
||
|
+ qcom,caldb-addr = <0x4CA00000 0x4CA00000 0x0 0x0 0x0>;
|
||
|
+ qcom,caldb-size = <0x200000>;
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
+
|
||
|
+&wifi3 {
|
||
|
+ /* QCN9000 5G */
|
||
|
+ board_id = <0xa0>;
|
||
|
+ hremote_node = <&qcn9000_pcie0>;
|
||
|
+#ifdef __IPQ_MEM_PROFILE_256_MB__
|
||
|
+ /* QCN9000 tgt-mem-mode=2 layout - 17MB
|
||
|
+ * +=========+==============+=========+
|
||
|
+ * | Region | Start Offset | Size |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | HREMOTE | 0x4C900000 | 11MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | M3 Dump | 0x4D400000 | 1MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | ETR | 0x4D500000 | 1MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | Pageable| 0x4D600000 | 4MB |
|
||
|
+ * +==================================+
|
||
|
+ */
|
||
|
+ base-addr = <0x4C900000>;
|
||
|
+ m3-dump-addr = <0x4D400000>;
|
||
|
+ etr-addr = <0x4D500000>;
|
||
|
+ caldb-addr = <0>;
|
||
|
+ pageable-addr = <0x4D600000>;
|
||
|
+ caldb-size = <0>;
|
||
|
+ hremote-size = <0xB00000>;
|
||
|
+ tgt-mem-mode = <0x2>;
|
||
|
+ pageable-size = <0x400000>;
|
||
|
+#elif __IPQ_MEM_PROFILE_512_MB__
|
||
|
+ /* QCN9000 tgt-mem-mode=1 layout - 38MB
|
||
|
+ * +=========+==============+=========+
|
||
|
+ * | Region | Start Offset | Size |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | HREMOTE | 0x4CC00000 | 20MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | M3 Dump | 0x4E000000 | 1MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | ETR | 0x4E100000 | 1MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | Caldb | 0x4E200000 | 8MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | Pageable| 0x4EA00000 | 8MB |
|
||
|
+ * +==================================+
|
||
|
+ */
|
||
|
+ base-addr = <0x4CC00000>;
|
||
|
+ m3-dump-addr = <0x4E000000>;
|
||
|
+ etr-addr = <0x4E100000>;
|
||
|
+ caldb-addr = <0x4E200000>;
|
||
|
+ pageable-addr = <0x4EA00000>;
|
||
|
+ caldb-size = <0x800000>;
|
||
|
+ hremote-size = <0x1400000>;
|
||
|
+ tgt-mem-mode = <0x1>;
|
||
|
+ pageable-size = <0x800000>;
|
||
|
+#else
|
||
|
+ /* QCN9000 tgt-mem-mode=0 layout - 53MB
|
||
|
+ * +=========+==============+=========+
|
||
|
+ * | Region | Start Offset | Size |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | HREMOTE | 0x4CC00000 | 35MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | M3 Dump | 0x4EF00000 | 1MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | ETR | 0x4F000000 | 1MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | Caldb | 0x4F100000 | 8MB |
|
||
|
+ * +---------+--------------+---------+
|
||
|
+ * | Pageable| 0x4F900000 | 8MB |
|
||
|
+ * +==================================+
|
||
|
+ */
|
||
|
+ base-addr = <0x4CC00000>;
|
||
|
+ m3-dump-addr = <0x4EF00000>;
|
||
|
+ etr-addr = <0x4F000000>;
|
||
|
+ caldb-addr = <0x4F100000>;
|
||
|
+ pageable-addr = <0x4F900000>;
|
||
|
+ hremote-size = <0x2300000>;
|
||
|
+ caldb-size = <0x800000>;
|
||
|
+ tgt-mem-mode = <0x0>;
|
||
|
+ pageable-size = <0x800000>;
|
||
|
+#endif
|
||
|
+ status = "ok";
|
||
|
+};
|
||
|
--
|
||
|
2.43.0
|
||
|
|