Merge "ARM: dts: msm: add initial MHI devicetree node for Kona"
diff --git a/arch/arm64/boot/dts/qcom/kona-mhi.dtsi b/arch/arm64/boot/dts/qcom/kona-mhi.dtsi
new file mode 100644
index 0000000..aebef7c0
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/kona-mhi.dtsi
@@ -0,0 +1,413 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
+ */
+
+&pcie2_rp {
+ #address-cells = <5>;
+ #size-cells = <0>;
+
+ mhi_0: qcom,mhi@0 {
+ reg = <0 0 0 0 0 >;
+
+ /* controller specific configuration */
+ qcom,smmu-cfg = <0x1d>;
+ qcom,addr-win = <0x0 0x20000000 0x0 0x3fffffff>;
+ qcom,iommu-dma = "disabled";
+
+ esoc-names = "mdm";
+ esoc-0 = <&mdm0>;
+
+ /* mhi bus specific settings */
+ mhi,max-channels = <106>;
+ mhi,timeout = <2000>;
+
+ mhi_channels: mhi_channels {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mhi_chan@0 {
+ reg = <0>;
+ label = "LOOPBACK";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@1 {
+ reg = <1>;
+ label = "LOOPBACK";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@2 {
+ reg = <2>;
+ label = "SAHARA";
+ mhi,num-elements = <128>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x2>;
+ };
+
+ mhi_chan@3 {
+ reg = <3>;
+ label = "SAHARA";
+ mhi,num-elements = <128>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x2>;
+ };
+
+ mhi_chan@4 {
+ reg = <4>;
+ label = "DIAG";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@5 {
+ reg = <5>;
+ label = "DIAG";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <3>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@8 {
+ reg = <8>;
+ label = "QDSS";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@9 {
+ reg = <9>;
+ label = "QDSS";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@10 {
+ reg = <10>;
+ label = "EFS";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@11 {
+ reg = <11>;
+ label = "EFS";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@14 {
+ reg = <14>;
+ label = "QMI0";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@15 {
+ reg = <15>;
+ label = "QMI0";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@16 {
+ reg = <16>;
+ label = "QMI1";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <3>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@17 {
+ reg = <17>;
+ label = "QMI1";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <3>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@18 {
+ reg = <18>;
+ label = "IP_CTRL";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@19 {
+ reg = <19>;
+ label = "IP_CTRL";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ mhi,auto-queue;
+ };
+
+ mhi_chan@20 {
+ reg = <20>;
+ label = "IPCR";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <1>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ mhi,auto-start;
+ };
+
+ mhi_chan@21 {
+ reg = <21>;
+ label = "IPCR";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ mhi,auto-queue;
+ mhi,auto-start;
+ };
+
+ mhi_chan@22 {
+ reg = <22>;
+ label = "TF";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@23 {
+ reg = <23>;
+ label = "TF";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@25 {
+ reg = <25>;
+ label = "BL";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <2>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x2>;
+ mhi,auto-queue;
+ mhi,auto-start;
+ };
+
+ mhi_chan@26 {
+ reg = <26>;
+ label = "DCI";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <3>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@27 {
+ reg = <27>;
+ label = "DCI";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <3>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@32 {
+ reg = <32>;
+ label = "DUN";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <3>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@33 {
+ reg = <33>;
+ label = "DUN";
+ mhi,num-elements = <64>;
+ mhi,event-ring = <3>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x4>;
+ };
+
+ mhi_chan@100 {
+ reg = <100>;
+ label = "IP_HW0";
+ mhi,num-elements = <512>;
+ mhi,event-ring = <4>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <1>;
+ mhi,doorbell-mode = <3>;
+ mhi,ee = <0x4>;
+ mhi,db-mode-switch;
+ };
+
+ mhi_chan@101 {
+ reg = <101>;
+ label = "IP_HW0";
+ mhi,num-elements = <512>;
+ mhi,event-ring = <5>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <1>;
+ mhi,doorbell-mode = <3>;
+ mhi,ee = <0x4>;
+ };
+ };
+
+ mhi_events: mhi_events {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mhi_event@0 {
+ reg = <0>;
+ mhi,num-elements = <32>;
+ mhi,intmod = <1>;
+ mhi,msi = <1>;
+ mhi,priority = <1>;
+ mhi,brstmode = <2>;
+ mhi,data-type = <1>;
+ };
+
+ mhi_event@1 {
+ mhi,num-elements = <256>;
+ mhi,intmod = <1>;
+ mhi,msi = <2>;
+ mhi,priority = <1>;
+ mhi,brstmode = <2>;
+ };
+
+ mhi_event@2 {
+ mhi,num-elements = <256>;
+ mhi,intmod = <1>;
+ mhi,msi = <3>;
+ mhi,priority = <1>;
+ mhi,brstmode = <2>;
+ };
+
+ mhi_event@3 {
+ mhi,num-elements = <256>;
+ mhi,intmod = <1>;
+ mhi,msi = <4>;
+ mhi,priority = <1>;
+ mhi,brstmode = <2>;
+ };
+
+ mhi_event@4 {
+ mhi,num-elements = <1024>;
+ mhi,intmod = <5>;
+ mhi,msi = <5>;
+ mhi,chan = <100>;
+ mhi,priority = <1>;
+ mhi,brstmode = <3>;
+ mhi,hw-ev;
+ };
+
+ mhi_event@5 {
+ mhi,num-elements = <1024>;
+ mhi,intmod = <5>;
+ mhi,msi = <6>;
+ mhi,chan = <101>;
+ mhi,priority = <1>;
+ mhi,brstmode = <3>;
+ mhi,hw-ev;
+ mhi,client-manage;
+ };
+ };
+
+ mhi_devices: mhi_devices {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mhi_netdev_0: mhi_rmnet@0 {
+ reg = <0x0>;
+ mhi,chan = "IP_HW0";
+ mhi,interface-name = "rmnet_mhi";
+ mhi,mru = <0x4000>;
+ };
+
+ mhi_netdev_1: mhi_rmnet@1 {
+ reg = <0x1>;
+ mhi,chan = "IP_HW_ADPL";
+ mhi,interface-name = "rmnet_mhi";
+ mhi,mru = <0x4000>;
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/kona-rumi.dtsi b/arch/arm64/boot/dts/qcom/kona-rumi.dtsi
index 81fc650..ca656b5 100644
--- a/arch/arm64/boot/dts/qcom/kona-rumi.dtsi
+++ b/arch/arm64/boot/dts/qcom/kona-rumi.dtsi
@@ -117,3 +117,13 @@
asoc-codec-names = "msm-stub-codec.1";
};
};
+
+&mhi_0 {
+ mhi,timeout = <10000>;
+
+ mhi_channels {
+ mhi_chan@25 {
+ status = "disabled";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/kona.dtsi b/arch/arm64/boot/dts/qcom/kona.dtsi
index 6a57443..811d145 100644
--- a/arch/arm64/boot/dts/qcom/kona.dtsi
+++ b/arch/arm64/boot/dts/qcom/kona.dtsi
@@ -1595,6 +1595,7 @@
#include "kona-bus.dtsi"
#include "kona-ion.dtsi"
#include "kona-pcie.dtsi"
+#include "kona-mhi.dtsi"
#include "msm-arm-smmu-kona.dtsi"
#include "kona-pinctrl.dtsi"
#include "kona-smp2p.dtsi"