Merge "ARM: dts: qcom: Add disk emulation support for kalama and WKP"

This commit is contained in:
qctecmdr
2022-02-15 19:07:01 -08:00
committed by Gerrit - the friendly Code Review server
13 changed files with 324 additions and 5 deletions

View File

@@ -114,7 +114,11 @@ ifeq ($(CONFIG_ARCH_QTI_VM), y)
waipio_tuivm-dtb-$(CONFIG_ARCH_QTI_VM) += waipio-vm-mtp.dtb \
waipio-vm-cdp.dtb \
waipio-vm-qrd.dtb \
waipio-vm-rumi.dtb
waipio-vm-rumi.dtb \
waipio-oemvm-cdp.dtb \
waipio-oemvm-mtp.dtb \
waipio-oemvm-qrd.dtb \
waipio-oemvm-rumi.dtb
dtb-y += $(waipio_tuivm-dtb-y)
endif
endif

View File

@@ -12,6 +12,12 @@
bootargs = "nokaslr log_buf_len=256K root=/dev/ram rw init=/init console=hvc0 loglevel=8";
};
reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
};
cpus {
#address-cells = <0x2>;
#size-cells = <0x0>;
@@ -74,8 +80,8 @@
memory {
#address-cells = <0x2>;
#size-cells = <0x0>;
base-address = <0x0 0xf8000000>;
size-min = <0x0 0x5000000>; /* 80 MB */
base-address = <0x0 0xf8200000>;
size-min = <0x0 0x4efc000>; /* 78 MB */
};
segments {
@@ -104,6 +110,34 @@
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>;
};
};
};
};

View File

@@ -570,7 +570,19 @@
oem_vm_mem: oem_vm_region@f8000000 {
no-map;
reg = <0x0 0xf8000000 0x0 0x5000000>;
reg = <0x0 0xf8000000 0x0 0x4efc000>;
};
oem_vm_vblk0_ring: oem_vm_vblk0_ring@fcefc000 {
no-map;
reg = <0x0 0xfcefc000 0x0 0x4000>;
gunyah-label = <0x13>;
};
oem_vm_swiotlb: oem_vm_swiotlb@fcf00000 {
no-map;
reg = <0x0 0xfcf00000 0x0 0x100000>;
gunyah-label = <0x14>;
};
hyp_ext_tags_mem: hyp_ext_tags_region@fd000000 {
@@ -2996,12 +3008,24 @@
shared-buffers = <&trust_ui_vm_vblk0_ring &trust_ui_vm_swiotlb>;
};
oem_vm: qcom,oem_vm@fcefc000 {
reg = <0xfcefc000 0x104000>;
vm_name = "oemvm";
shared-buffers = <&oem_vm_vblk0_ring &oem_vm_swiotlb>;
};
qcom,virtio_backend@0 {
compatible = "qcom,virtio_backend";
qcom,vm = <&trust_ui_vm>;
qcom,label = <0x11>;
};
qcom,virtio_backend@1 {
compatible = "qcom,virtio_backend";
qcom,vm = <&oem_vm>;
qcom,label = <0x13>;
};
llcc_pmu: llcc-pmu@24095000 {
compatible = "qcom,llcc-pmu-ver2";
reg = <0x24095000 0x300>;

10
qcom/waipio-oemvm-cdp.dts Normal file
View File

@@ -0,0 +1,10 @@
/dts-v1/;
#include "waipio-oemvm.dtsi"
#include "waipio-oemvm-cdp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Waipio OEMVM CDP";
compatible = "qcom,waipio-cdp", "qcom,waipio", "qcom,cdp";
qcom,board-id = <0x10001 0>;
};

View File

@@ -0,0 +1,2 @@
&soc {
};

10
qcom/waipio-oemvm-mtp.dts Normal file
View File

@@ -0,0 +1,10 @@
/dts-v1/;
#include "waipio-oemvm.dtsi"
#include "waipio-oemvm-mtp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Waipio OEMVM MTP";
compatible = "qcom,waipio-mtp", "qcom,waipio", "qcom,mtp";
qcom,board-id = <0x10008 0>;
};

View File

@@ -0,0 +1,2 @@
&soc {
};

10
qcom/waipio-oemvm-qrd.dts Normal file
View File

@@ -0,0 +1,10 @@
/dts-v1/;
#include "waipio-oemvm.dtsi"
#include "waipio-oemvm-qrd.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Waipio OEMVM QRD";
compatible = "qcom,waipio-qrd", "qcom,waipio", "qcom,qrd";
qcom,board-id = <0x1000B 0>;
};

View File

@@ -0,0 +1,2 @@
&soc {
};

View File

@@ -0,0 +1,10 @@
/dts-v1/;
#include "waipio-oemvm.dtsi"
#include "waipio-oemvm-rumi.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Waipio SVM RUMI";
compatible = "qcom,waipio-rumi", "qcom,waipio", "qcom,rumi";
qcom,board-id = <15 0>;
};

View File

@@ -0,0 +1,3 @@
&arch_timer {
clock-frequency = <500000>;
};

176
qcom/waipio-oemvm.dtsi Normal file
View File

@@ -0,0 +1,176 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-waipio.h>
#include <dt-bindings/clock/qcom,rpmh.h>
/ {
#address-cells = <0x2>;
#size-cells = <0x2>;
qcom,msm-id = <457 0x10000>;
interrupt-parent = <&vgic>;
chosen {
bootargs = "nokaslr log_buf_len=256K root=/dev/ram rw init=/init 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 = <369>;
exit-latency-us = <1502>;
min-residency-us = <4488>;
arm,psci-suspend-param = <0x40000004>;
local-timer-stop;
};
CLUSTER_PWR_DWN: d4 { /* C4+D4 */
compatible = "arm,idle-state";
idle-state-name = "l3-pc";
entry-latency-us = <584>;
exit-latency-us = <2332>;
min-residency-us = <6118>;
arm,psci-suspend-param = <0x40000044>;
local-timer-stop;
};
};
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>;
memory {
#address-cells = <0x2>;
#size-cells = <0x0>;
base-address = <0x0 0xbb000000>;
size-min = <0x0 0x4efc000>; /* 78 MB */
};
segments {
ramdisk = <2>; /* 8MB */
};
vcpus {
config = "/cpus";
affinity = "static";
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 = <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>;
};
};
};
};
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>;
};
};

View File

@@ -498,7 +498,19 @@
oem_vm_mem: oem_vm_region@bb000000 {
no-map;
reg = <0x0 0xbb000000 0x0 0x5000000>;
reg = <0x0 0xbb000000 0x0 0x4efc000>;
};
oem_vm_vblk0_ring: oem_vm_vblk0_ring@bfefc000 {
no-map;
reg = <0x0 0xbfefc000 0x0 0x4000>;
gunyah-label = <0x13>;
};
oem_vm_swiotlb: oem_vm_swiotlb@bff00000 {
no-map;
reg = <0x0 0xbff00000 0x0 0x100000>;
gunyah-label = <0x14>;
};
mte_mem: mte_region@c0000000 {
@@ -1221,6 +1233,14 @@
memory-region = <&cpusys_vm_mem>;
};
qcom,guestvm_loader@bb000000 {
compatible = "qcom,guestvm-loader";
qcom,pas-id = <34>;
qcom,vmid = <49>;
qcom,firmware-name = "oemvm";
memory-region = <&oem_vm_mem>;
};
tlmm-vm-mem-access {
compatible = "qcom,tlmm-vm-mem-access";
qcom,master;
@@ -3347,12 +3367,24 @@
shared-buffers = <&trust_ui_vm_vblk0_ring &trust_ui_vm_swiotlb>;
};
oem_vm: qcom,oem_vm@bfefc000 {
reg = <0xbfefc000 0x104000>;
vm_name = "oemvm";
shared-buffers = <&oem_vm_vblk0_ring &oem_vm_swiotlb>;
};
qcom,virtio_backend@0 {
compatible = "qcom,virtio_backend";
qcom,vm = <&trust_ui_vm>;
qcom,label = <0x11>;
};
qcom,virtio_backend@1 {
compatible = "qcom,virtio_backend";
qcom,vm = <&oem_vm>;
qcom,label = <0x13>;
};
qcom,msm_gsi {
compatible = "qcom,msm_gsi";
};