ARM: dts: msm: Add base TUIVM and OEMVM for Pineapple
Add base TUIVM and OEMVM device tree support for all Pineapple platforms. Change-Id: I7c3cc2112e122f25a2f0b573128e8fdfb86975c5 Signed-off-by: Meena Pasumarthi <quic_pasumart@quicinc.com> Signed-off-by: Hrishabh Rajput <quic_hrishabh@quicinc.com>
This commit is contained in:
committed by
Sahitya Tummala
parent
784b6afca3
commit
02930b3391
@@ -55,6 +55,23 @@ dtb-y += $(pineapple-dtb-y)
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_PINEAPPLE), y)
|
||||
ifeq ($(CONFIG_ARCH_QTI_VM), y)
|
||||
pineapple_tuivm-dtb-$(CONFIG_ARCH_QTI_VM) += pineapple-vm-rumi.dtb \
|
||||
pineapple-vm-mtp.dtb \
|
||||
pineapple-vm-cdp.dtb \
|
||||
pineapple-vm-qrd.dtb \
|
||||
pineapple-vm-rcm.dtb \
|
||||
pineapple-oemvm-cdp.dtb \
|
||||
pineapple-oemvm-mtp.dtb \
|
||||
pineapple-oemvm-qrd.dtb \
|
||||
pineapple-oemvm-rumi.dtb \
|
||||
pineapple-oemvm-rcm.dtb
|
||||
dtb-y += $(pineapple_tuivm-dtb-y)
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
always-y := $(dtb-y)
|
||||
subdir-y := $(dts-dirs)
|
||||
clean-files := *.dtb *.dtbo
|
||||
|
14
qcom/pineapple-oemvm-cdp.dts
Normal file
14
qcom/pineapple-oemvm-cdp.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-oemvm.dtsi"
|
||||
#include "pineapple-oemvm-cdp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple OEMVM CDP";
|
||||
compatible = "qcom,pineapple-cdp", "qcom,pineapple", "qcom,cdp";
|
||||
qcom,board-id = <0x10001 0>;
|
||||
};
|
7
qcom/pineapple-oemvm-cdp.dtsi
Normal file
7
qcom/pineapple-oemvm-cdp.dtsi
Normal file
@@ -0,0 +1,7 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
||||
|
14
qcom/pineapple-oemvm-mtp.dts
Normal file
14
qcom/pineapple-oemvm-mtp.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-oemvm.dtsi"
|
||||
#include "pineapple-oemvm-mtp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple OEMVM MTP";
|
||||
compatible = "qcom,pineapple-mtp", "qcom,pineapple", "qcom,mtp";
|
||||
qcom,board-id = <0x10008 0>;
|
||||
};
|
7
qcom/pineapple-oemvm-mtp.dtsi
Normal file
7
qcom/pineapple-oemvm-mtp.dtsi
Normal file
@@ -0,0 +1,7 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
||||
|
14
qcom/pineapple-oemvm-qrd.dts
Normal file
14
qcom/pineapple-oemvm-qrd.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-oemvm.dtsi"
|
||||
#include "pineapple-oemvm-qrd.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple OEMVM QRD";
|
||||
compatible = "qcom,pineapple-qrd", "qcom,pineapple", "qcom,qrd";
|
||||
qcom,board-id = <0x1000b 0>;
|
||||
};
|
7
qcom/pineapple-oemvm-qrd.dtsi
Normal file
7
qcom/pineapple-oemvm-qrd.dtsi
Normal file
@@ -0,0 +1,7 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
||||
|
14
qcom/pineapple-oemvm-rcm.dts
Normal file
14
qcom/pineapple-oemvm-rcm.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-oemvm.dtsi"
|
||||
#include "pineapple-oemvm-rcm.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple OEMVM RCM";
|
||||
compatible = "qcom,pineapple-rcm", "qcom,pineapple", "qcom,rcm";
|
||||
qcom,board-id = <0x15 0>;
|
||||
};
|
6
qcom/pineapple-oemvm-rcm.dtsi
Normal file
6
qcom/pineapple-oemvm-rcm.dtsi
Normal file
@@ -0,0 +1,6 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
14
qcom/pineapple-oemvm-rumi.dts
Normal file
14
qcom/pineapple-oemvm-rumi.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-oemvm.dtsi"
|
||||
#include "pineapple-oemvm-rumi.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple OEMVM RUMI";
|
||||
compatible = "qcom,pineapple-rumi", "qcom,pineapple", "qcom,rumi";
|
||||
qcom,board-id = <15 0>;
|
||||
};
|
7
qcom/pineapple-oemvm-rumi.dtsi
Normal file
7
qcom/pineapple-oemvm-rumi.dtsi
Normal file
@@ -0,0 +1,7 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&arch_timer {
|
||||
clock-frequency = <500000>;
|
||||
};
|
203
qcom/pineapple-oemvm.dtsi
Normal file
203
qcom/pineapple-oemvm.dtsi
Normal file
@@ -0,0 +1,203 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
/ {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x2>;
|
||||
qcom,msm-id = <557 0x10000>, <557 0x20000>, <577 0x10000>, <577 0x20000>;
|
||||
interrupt-parent = <&vgic>;
|
||||
|
||||
chosen {
|
||||
bootargs = "nokaslr log_buf_len=256K console=hvc0 loglevel=8";
|
||||
};
|
||||
|
||||
reserved_memory: reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x0>;
|
||||
|
||||
CPU0: cpu@0 {
|
||||
compatible = "arm,armv8";
|
||||
reg = <0x0 0x0>;
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_PWR_DWN
|
||||
&CLUSTER_PWR_DWN>;
|
||||
};
|
||||
|
||||
CPU1: cpu@100 {
|
||||
compatible = "arm,armv8";
|
||||
reg = <0x0 0x100>;
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_PWR_DWN
|
||||
&CLUSTER_PWR_DWN>;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
idle-states {
|
||||
CPU_PWR_DWN: c4 { /* Using Gold C4 latencies */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "rail-pc";
|
||||
entry-latency-us = <550>;
|
||||
exit-latency-us = <1050>;
|
||||
min-residency-us = <7951>;
|
||||
arm,psci-suspend-param = <0x40000004>;
|
||||
local-timer-stop;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CLUSTER_PWR_DWN: d4 { /* C4+D4 */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "l3-pc";
|
||||
entry-latency-us = <750>;
|
||||
exit-latency-us = <2350>;
|
||||
min-residency-us = <9144>;
|
||||
arm,psci-suspend-param = <0x40000044>;
|
||||
local-timer-stop;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,vm-config {
|
||||
compatible = "qcom,vm-1.0";
|
||||
vm-type = "aarch64-guest";
|
||||
boot-config = "fdt,unified";
|
||||
os-type = "linux";
|
||||
kernel-entry-segment = "kernel";
|
||||
kernel-entry-offset = <0x0 0x0>;
|
||||
vendor = "QTI";
|
||||
image-name = "qcom,oemvm";
|
||||
qcom,pasid = <0x0 0x22>;
|
||||
qcom,qtee-config-info = "p=9,7C,8F,97,159,7F1;";
|
||||
qcom,secdomain-ids = <49>;
|
||||
qcom,primary-vm-index = <0>;
|
||||
vm-uri = "vmuid/oemvm";
|
||||
vm-guid = "847bfe26-0b12-5728-812a-06103f6bdec0";
|
||||
vm-attrs = "crash-fatal", "context-dump";
|
||||
|
||||
memory {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x0>;
|
||||
/*
|
||||
* IPA address linux image is loaded at. Must be within
|
||||
* first 1GB due to memory hotplug requirement.
|
||||
*/
|
||||
base-address = <0x0 0x28800000>;
|
||||
};
|
||||
|
||||
segments {
|
||||
config_cpio = <2>;
|
||||
};
|
||||
|
||||
vcpus {
|
||||
config = "/cpus";
|
||||
affinity = "proxy";
|
||||
affinity-map = <0x5 0x6>;
|
||||
sched-priority = <0>; /* relative to PVM */
|
||||
sched-timeslice = <2000>; /* in ms */
|
||||
};
|
||||
|
||||
interrupts {
|
||||
config = &vgic;
|
||||
};
|
||||
|
||||
vdevices {
|
||||
generate = "/hypervisor";
|
||||
|
||||
minidump {
|
||||
vdevice-type = "minidump";
|
||||
push-compatible = "qcom,minidump_rm";
|
||||
minidump_allowed;
|
||||
};
|
||||
|
||||
rm-rpc {
|
||||
vdevice-type = "rm-rpc";
|
||||
generate = "/hypervisor/qcom,resource-mgr";
|
||||
console-dev;
|
||||
message-size = <0x000000f0>;
|
||||
queue-depth = <0x00000008>;
|
||||
qcom,label = <0x1>;
|
||||
};
|
||||
|
||||
virtio-mmio@0 {
|
||||
vdevice-type = "virtio-mmio";
|
||||
generate = "/virtio-mmio";
|
||||
peer-default;
|
||||
vqs-num = <0x1>;
|
||||
push-compatible = "virtio,mmio";
|
||||
dma-coherent;
|
||||
dma_base = <0x0 0x0>;
|
||||
memory {
|
||||
qcom,label = <0x13>;
|
||||
#address-cells = <0x2>;
|
||||
base = <0x0 0xFFEFC000>;
|
||||
};
|
||||
};
|
||||
|
||||
swiotlb-shm {
|
||||
vdevice-type = "shm";
|
||||
generate = "/swiotlb";
|
||||
push-compatible = "swiotlb";
|
||||
peer-default;
|
||||
dma_base = <0x0 0x4000>;
|
||||
memory {
|
||||
qcom,label = <0x14>;
|
||||
#address-cells = <0x2>;
|
||||
base = <0x0 0xFFF00000>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
firmware: firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm";
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc { };
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0 0xffffffff>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
vgic: interrupt-controller@17100000 {
|
||||
compatible = "arm,gic-v3";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <0x3>;
|
||||
#redistributor-regions = <1>;
|
||||
redistributor-stride = <0x0 0x40000>;
|
||||
reg = <0x17100000 0x10000>, /* GICD */
|
||||
<0x17180000 0x100000>; /* GICR * 8 */
|
||||
};
|
||||
|
||||
arch_timer: timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
always-on;
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
clock-frequency = <19200000>;
|
||||
};
|
||||
|
||||
};
|
14
qcom/pineapple-vm-cdp.dts
Normal file
14
qcom/pineapple-vm-cdp.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-vm.dtsi"
|
||||
#include "pineapple-vm-cdp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple SVM CDP";
|
||||
compatible = "qcom,pineapple-cdp", "qcom,pineapple", "qcom,cdp";
|
||||
qcom,board-id = <0x10001 0>;
|
||||
};
|
6
qcom/pineapple-vm-cdp.dtsi
Normal file
6
qcom/pineapple-vm-cdp.dtsi
Normal file
@@ -0,0 +1,6 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
35
qcom/pineapple-vm-dma-heaps.dtsi
Normal file
35
qcom/pineapple-vm-dma-heaps.dtsi
Normal file
@@ -0,0 +1,35 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
#include <dt-bindings/arm/msm/qcom_dma_heap_dt_constants.h>
|
||||
|
||||
&soc {
|
||||
qcom,dma-heaps {
|
||||
compatible = "qcom,dma-heaps";
|
||||
|
||||
qcom,tui {
|
||||
qcom,dma-heap-name = "qcom,tui";
|
||||
qcom,dma-heap-type = <HEAP_TYPE_TUI_CARVEOUT>;
|
||||
qcom,dynamic-heap;
|
||||
};
|
||||
|
||||
qcom,ms1 {
|
||||
qcom,dma-heap-name = "qcom,ms1";
|
||||
qcom,dma-heap-type = <HEAP_TYPE_TUI_CARVEOUT>;
|
||||
qcom,dynamic-heap;
|
||||
};
|
||||
|
||||
qcom,ms2 {
|
||||
qcom,dma-heap-name = "qcom,ms2";
|
||||
qcom,dma-heap-type = <HEAP_TYPE_TUI_CARVEOUT>;
|
||||
qcom,dynamic-heap;
|
||||
};
|
||||
|
||||
qcom,ms3 {
|
||||
qcom,dma-heap-name = "qcom,ms3";
|
||||
qcom,dma-heap-type = <HEAP_TYPE_TUI_CARVEOUT>;
|
||||
qcom,dynamic-heap;
|
||||
};
|
||||
};
|
||||
};
|
14
qcom/pineapple-vm-mtp.dts
Normal file
14
qcom/pineapple-vm-mtp.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-vm.dtsi"
|
||||
#include "pineapple-vm-mtp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple SVM MTP";
|
||||
compatible = "qcom,pineapple-mtp", "qcom,pineapple", "qcom,mtp";
|
||||
qcom,board-id = <0x10008 0>;
|
||||
};
|
6
qcom/pineapple-vm-mtp.dtsi
Normal file
6
qcom/pineapple-vm-mtp.dtsi
Normal file
@@ -0,0 +1,6 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
14
qcom/pineapple-vm-qrd.dts
Normal file
14
qcom/pineapple-vm-qrd.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-vm.dtsi"
|
||||
#include "pineapple-vm-mtp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple SVM QRD";
|
||||
compatible = "qcom,pineapple-qrd", "qcom,pineapple", "qcom,qrd";
|
||||
qcom,board-id = <0x1000b 0>;
|
||||
};
|
6
qcom/pineapple-vm-qrd.dtsi
Normal file
6
qcom/pineapple-vm-qrd.dtsi
Normal file
@@ -0,0 +1,6 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
14
qcom/pineapple-vm-rcm.dts
Normal file
14
qcom/pineapple-vm-rcm.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-vm.dtsi"
|
||||
#include "pineapple-vm-rcm.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple SVM RCM";
|
||||
compatible = "qcom,pineapple-rcm", "qcom,pineapple", "qcom,rcm";
|
||||
qcom,board-id = <0x15 0>;
|
||||
};
|
6
qcom/pineapple-vm-rcm.dtsi
Normal file
6
qcom/pineapple-vm-rcm.dtsi
Normal file
@@ -0,0 +1,6 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&soc {
|
||||
};
|
14
qcom/pineapple-vm-rumi.dts
Normal file
14
qcom/pineapple-vm-rumi.dts
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "pineapple-vm.dtsi"
|
||||
#include "pineapple-vm-rumi.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Pineapple SVM RUMI";
|
||||
compatible = "qcom,pineapple-rumi", "qcom,pineapple", "qcom,rumi";
|
||||
qcom,board-id = <15 0>;
|
||||
};
|
7
qcom/pineapple-vm-rumi.dtsi
Normal file
7
qcom/pineapple-vm-rumi.dtsi
Normal file
@@ -0,0 +1,7 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
&arch_timer {
|
||||
clock-frequency = <500000>;
|
||||
};
|
264
qcom/pineapple-vm.dtsi
Normal file
264
qcom/pineapple-vm.dtsi
Normal file
@@ -0,0 +1,264 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/soc/qcom,ipcc.h>
|
||||
|
||||
/ {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x2>;
|
||||
qcom,msm-id = <557 0x10000>, <557 0x20000>, <577 0x10000>, <577 0x20000>;
|
||||
interrupt-parent = <&vgic>;
|
||||
|
||||
chosen {
|
||||
bootargs = "nokaslr log_buf_len=256K console=hvc0 loglevel=8";
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x0>;
|
||||
|
||||
CPU0: cpu@0 {
|
||||
compatible = "arm,armv8";
|
||||
reg = <0x0 0x0>;
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_PWR_DWN
|
||||
&CLUSTER_PWR_DWN>;
|
||||
};
|
||||
|
||||
CPU1: cpu@100 {
|
||||
compatible = "arm,armv8";
|
||||
reg = <0x0 0x100>;
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_PWR_DWN
|
||||
&CLUSTER_PWR_DWN>;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
idle-states {
|
||||
CPU_PWR_DWN: c4 { /* Using Gold C4 latencies */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "rail-pc";
|
||||
entry-latency-us = <550>;
|
||||
exit-latency-us = <1050>;
|
||||
min-residency-us = <7951>;
|
||||
arm,psci-suspend-param = <0x40000004>;
|
||||
local-timer-stop;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CLUSTER_PWR_DWN: d4 { /* C4+D4 */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "l3-pc";
|
||||
entry-latency-us = <750>;
|
||||
exit-latency-us = <2350>;
|
||||
min-residency-us = <9144>;
|
||||
arm,psci-suspend-param = <0x40000044>;
|
||||
local-timer-stop;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,vm-config {
|
||||
compatible = "qcom,vm-1.0";
|
||||
vm-type = "aarch64-guest";
|
||||
boot-config = "fdt,unified";
|
||||
os-type = "linux";
|
||||
kernel-entry-segment = "kernel";
|
||||
kernel-entry-offset = <0x0 0x0>;
|
||||
vendor = "QTI";
|
||||
image-name = "qcom,trustedvm";
|
||||
qcom,pasid = <0x0 0x1c>;
|
||||
qcom,qtee-config-info = "p=3,9,39,77,78,7C,8F,97,C8,FE,11B,159,199,47E,7F1,CDF;";
|
||||
qcom,secdomain-ids = <45>;
|
||||
qcom,primary-vm-index = <0>;
|
||||
vm-uri = "vmuid/trusted-ui";
|
||||
vm-guid = "598085da-c516-5b25-a9c1-927a02819770";
|
||||
qcom,sensitive;
|
||||
|
||||
iomemory-ranges = <0x0 0x409000 0x0 0x409000 0x0 0x1000 0x0
|
||||
0x0 0xa20000 0x0 0xa20000 0x0 0x4000 0x0
|
||||
0x0 0xa24000 0x0 0xa24000 0x0 0x4000 0x0
|
||||
0x0 0xc400000 0x0 0xc400000 0x0 0x3000 0x1
|
||||
0x0 0xc42d000 0x0 0xc42d000 0x0 0x4000 0x1
|
||||
0x0 0xc440000 0x0 0xc440000 0x0 0x80000 0x1
|
||||
0x0 0xc4c0000 0x0 0xc4c0000 0x0 0x10000 0x1
|
||||
0x0 0xae8f000 0x0 0xae8f000 0x0 0x1000 0x0>;
|
||||
|
||||
/* For LEVM pored usecases is SE4 and SE7, for SE4 we used gpii4
|
||||
* and irq no is 315, for SE7 we used gpii5 and irq no is 316.
|
||||
*/
|
||||
gic-irq-ranges = <101 101
|
||||
315 315
|
||||
316 316>; /* PVM->SVM IRQ transfer */
|
||||
|
||||
vm-attrs = "crash-fatal", "context-dump";
|
||||
|
||||
memory {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x0>;
|
||||
/*
|
||||
* IPA address linux image is loaded at. Must be within
|
||||
* first 1GB due to memory hotplug requirement.
|
||||
*/
|
||||
base-address = <0x0 0x28800000 >;
|
||||
};
|
||||
|
||||
segments {
|
||||
config_cpio = <2>;
|
||||
};
|
||||
|
||||
vcpus {
|
||||
config = "/cpus";
|
||||
affinity = "proxy";
|
||||
affinity-map = <0x5 0x6>;
|
||||
sched-priority = <0>; /* relative to PVM */
|
||||
sched-timeslice = <2000>; /* in ms */
|
||||
};
|
||||
|
||||
interrupts {
|
||||
config = &vgic;
|
||||
};
|
||||
|
||||
vdevices {
|
||||
generate = "/hypervisor";
|
||||
|
||||
rm-rpc {
|
||||
vdevice-type = "rm-rpc";
|
||||
generate = "/hypervisor/qcom,resource-mgr";
|
||||
console-dev;
|
||||
message-size = <0x000000f0>;
|
||||
queue-depth = <0x00000008>;
|
||||
qcom,label = <0x1>;
|
||||
};
|
||||
|
||||
virtio-mmio@0 {
|
||||
vdevice-type = "virtio-mmio";
|
||||
generate = "/virtio-mmio";
|
||||
peer-default;
|
||||
vqs-num = <0x1>;
|
||||
push-compatible = "virtio,mmio";
|
||||
dma-coherent;
|
||||
dma_base = <0x0 0x0>;
|
||||
memory {
|
||||
qcom,label = <0x11>; //for persist.img
|
||||
#address-cells = <0x2>;
|
||||
base = <0x0 0xDA6F8000>;
|
||||
};
|
||||
};
|
||||
|
||||
virtio-mmio@1 {
|
||||
vdevice-type = "virtio-mmio";
|
||||
generate = "/virtio-mmio";
|
||||
peer-default;
|
||||
vqs-num = <0x2>;
|
||||
push-compatible = "virtio,mmio";
|
||||
dma-coherent;
|
||||
dma_base = <0x0 0x4000>;
|
||||
memory {
|
||||
qcom,label = <0x10>; //for system.img
|
||||
#address-cells = <0x2>;
|
||||
base = <0x0 0xDA6FC000>;
|
||||
};
|
||||
};
|
||||
|
||||
swiotlb-shm {
|
||||
vdevice-type = "shm";
|
||||
generate = "/swiotlb";
|
||||
push-compatible = "swiotlb";
|
||||
peer-default;
|
||||
dma_base = <0x0 0x8000>;
|
||||
memory {
|
||||
qcom,label = <0x12>;
|
||||
#address-cells = <0x2>;
|
||||
base = <0x0 0xDA700000>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
firmware: firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm";
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc { };
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0 0xffffffff>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
vm_tlmm_irq: vm-tlmm-irq@0 {
|
||||
compatible = "qcom,tlmm-vm-irq";
|
||||
reg = <0x0 0x0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
status="disabled";
|
||||
};
|
||||
|
||||
tlmm: pinctrl@f000000 {
|
||||
compatible = "qcom,pineapple-vm-pinctrl";
|
||||
reg = <0x0F000000 0x1000000>;
|
||||
interrupts-extended = <&vm_tlmm_irq 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
/* Valid pins */
|
||||
gpios = /bits/ 16 <86 87 133 137 48 49 50 51 161 162 91 60 61 62 63 88>;
|
||||
status="disabled";
|
||||
};
|
||||
|
||||
tlmm-vm-mem-access {
|
||||
compatible = "qcom,tlmm-vm-mem-access";
|
||||
tlmm-vm-gpio-list = <&tlmm 86 0 &tlmm 87 0 &tlmm 133 0 &tlmm 137 0 &tlmm 48 0
|
||||
&tlmm 49 0 &tlmm 50 0 &tlmm 51 0 &tlmm 161 0 &tlmm 162 0
|
||||
&tlmm 91 0 &tlmm 60 0 &tlmm 61 0 &tlmm 62 0 &tlmm 63 0
|
||||
&tlmm 88 0>;
|
||||
status="disabled";
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
vgic: interrupt-controller@17100000 {
|
||||
compatible = "arm,gic-v3";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <0x3>;
|
||||
#redistributor-regions = <1>;
|
||||
redistributor-stride = <0x0 0x40000>;
|
||||
reg = <0x17100000 0x10000>, /* GICD */
|
||||
<0x17180000 0x100000>; /* GICR * 8 */
|
||||
};
|
||||
|
||||
ipcc_mproc_ns1: qcom,ipcc@409000 {
|
||||
compatible = "qcom,ipcc";
|
||||
reg = <0x409000 0x1000>;
|
||||
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
#mbox-cells = <2>;
|
||||
};
|
||||
|
||||
arch_timer: timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
always-on;
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
clock-frequency = <19200000>;
|
||||
};
|
||||
|
||||
};
|
@@ -2423,22 +2423,6 @@
|
||||
compatible = "smmu-proxy-sender";
|
||||
};
|
||||
|
||||
tlmm-vm-mem-access {
|
||||
compatible = "qcom,tlmm-vm-mem-access";
|
||||
qcom,master;
|
||||
tlmm-vm-gpio-list = <&tlmm 86 0 &tlmm 87 0 &tlmm 133 0 &tlmm 137 0 &tlmm 48 0 &tlmm 49 0
|
||||
&tlmm 50 0 &tlmm 51 0 &tlmm 161 0 &tlmm 162 0 &tlmm 91 0
|
||||
&tlmm 60 0 &tlmm 61 0 &tlmm 62 0 &tlmm 63 0 &tlmm 88 0>;
|
||||
};
|
||||
|
||||
tlmm-vm-test {
|
||||
compatible = "qcom,tlmm-vm-test";
|
||||
qcom,master;
|
||||
tlmm-vm-gpio-list = <&tlmm 86 0 &tlmm 87 0 &tlmm 133 0 &tlmm 137 0 &tlmm 48 0 &tlmm 49 0
|
||||
&tlmm 50 0 &tlmm 51 0 &tlmm 161 0 &tlmm 162 0 &tlmm 91 0
|
||||
&tlmm 60 0 &tlmm 61 0 &tlmm 62 0 &tlmm 63 0 &tlmm 88 0>;
|
||||
};
|
||||
|
||||
cpusys-vm-shmem-access {
|
||||
compatible = "qcom,cpusys-vm-shmem-access";
|
||||
gunyah-label = <5>;
|
||||
@@ -2542,11 +2526,6 @@
|
||||
restrict-access;
|
||||
};
|
||||
|
||||
qcom,test-dbl {
|
||||
compatible = "qcom,gh-dbl";
|
||||
qcom,label = <0x4>;
|
||||
};
|
||||
|
||||
qcom,pmic_glink {
|
||||
compatible = "qcom,pmic-glink";
|
||||
qcom,pmic-glink-channel = "PMIC_RTR_ADSP_APPS";
|
||||
@@ -2609,21 +2588,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
qcom,test-msgq {
|
||||
compatible = "qcom,gh-msgq-test";
|
||||
gunyah-label = <4>;
|
||||
qcom,primary;
|
||||
};
|
||||
|
||||
qcom,gh-qtimer@17425000 {
|
||||
compatible = "qcom,gh-qtmr";
|
||||
reg = <0x17425000 0x1000>;
|
||||
reg-names = "qtmr-base";
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "qcom,qtmr-intr";
|
||||
qcom,primary;
|
||||
};
|
||||
|
||||
msm_gpu: qcom,kgsl-3d0@3d00000 { };
|
||||
|
||||
mmio_sram: mmio-sram@17D09400 {
|
||||
@@ -3082,15 +3046,6 @@
|
||||
memory-region = <&kinfo_mem>;
|
||||
};
|
||||
|
||||
dmesg-dump {
|
||||
compatible = "qcom,dmesg-dump";
|
||||
qcom,primary-vm;
|
||||
gunyah-label = <7>;
|
||||
peer-name = <2>;
|
||||
memory-region = <&vm_comm_mem>;
|
||||
shared-buffer-size = <0x1000>;
|
||||
};
|
||||
|
||||
qcom,qrtr-mhi-cnss {
|
||||
compatible = "qcom,qrtr-mhi";
|
||||
qcom,dev-id = <0x1107>;
|
||||
@@ -3098,20 +3053,6 @@
|
||||
qcom,low-latency;
|
||||
};
|
||||
|
||||
qcom,qrtr-gunyah-tuivm {
|
||||
compatible = "qcom,qrtr-gunyah";
|
||||
qcom,master;
|
||||
gunyah-label = <3>;
|
||||
peer-name = <2>;
|
||||
};
|
||||
|
||||
qcom,qrtr-gunyah-oemvm {
|
||||
compatible = "qcom,qrtr-gunyah";
|
||||
qcom,master;
|
||||
gunyah-label = <8>;
|
||||
peer-name = <4>;
|
||||
};
|
||||
|
||||
qcom,health_monitor {
|
||||
compatible = "qcom,system-health-monitor";
|
||||
|
||||
@@ -3122,15 +3063,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gunyah-panic-notifier {
|
||||
compatible = "qcom,gh-panic-notifier";
|
||||
qcom,primary-vm;
|
||||
gunyah-label = <9>;
|
||||
peer-name = <2>;
|
||||
memory-region = <&vm_comm_mem>;
|
||||
shared-buffer-size = <0x1000>;
|
||||
};
|
||||
|
||||
qfprom: qfprom@221c2000 {
|
||||
compatible = "qcom,qfprom";
|
||||
reg = <0x221c2000 0x2000>;
|
||||
@@ -3393,17 +3325,13 @@
|
||||
};
|
||||
|
||||
trust_ui_vm_mem: trust_ui_vm_region@f3800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0xf3800000 0x0 0x4400000>;
|
||||
reusable;
|
||||
alignment = <0x0 0x400000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
oem_vm_mem: oem_vm_region@f7c00000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0xf7c00000 0x0 0x4c00000>;
|
||||
reusable;
|
||||
alignment = <0x0 0x400000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
llcc_lpi_mem: llcc_lpi_region@ff800000 {
|
||||
|
@@ -40,6 +40,30 @@ _platform_map = {
|
||||
},
|
||||
],
|
||||
},
|
||||
"pineapple-tuivm": {
|
||||
"dtb_list": [
|
||||
{"name": "pineapple-oemvm-cdp.dtb"},
|
||||
{"name": "pineapple-oemvm-mtp.dtb"},
|
||||
{"name": "pineapple-oemvm-qrd.dtb"},
|
||||
{"name": "pineapple-oemvm-rumi.dtb"},
|
||||
{"name": "pineapple-vm-cdp.dtb"},
|
||||
{"name": "pineapple-vm-mtp.dtb"},
|
||||
{"name": "pineapple-vm-qrd.dtb"},
|
||||
{"name": "pineapple-vm-rumi.dtb"},
|
||||
],
|
||||
},
|
||||
"pineapple-oemvm": {
|
||||
"dtb_list": [
|
||||
{"name": "pineapple-oemvm-cdp.dtb"},
|
||||
{"name": "pineapple-oemvm-mtp.dtb"},
|
||||
{"name": "pineapple-oemvm-qrd.dtb"},
|
||||
{"name": "pineapple-oemvm-rumi.dtb"},
|
||||
{"name": "pineapple-vm-cdp.dtb"},
|
||||
{"name": "pineapple-vm-mtp.dtb"},
|
||||
{"name": "pineapple-vm-qrd.dtb"},
|
||||
{"name": "pineapple-vm-rumi.dtb"},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
def _get_dtb_lists(target, dt_overlay_supported):
|
||||
|
Reference in New Issue
Block a user