From 2273853d99118628bad6aa4c0778e7278802eb4f Mon Sep 17 00:00:00 2001 From: Ashish Bhimanpalliwar Date: Tue, 26 Oct 2021 11:42:52 +0530 Subject: [PATCH] ARM: dts: qcom: Kalama VM device tree cleanup Cleaning up kalama vm device tree to enable SVM bootup. Change-Id: I6cd96f79928788040e60f22acb879c34ef1625ec --- qcom/kalama-vm.dtsi | 52 +++++++++++++++++++++++++----------- qcom/kalama.dtsi | 65 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 100 insertions(+), 17 deletions(-) diff --git a/qcom/kalama-vm.dtsi b/qcom/kalama-vm.dtsi index 2eaf7ce1..6e2c21eb 100644 --- a/qcom/kalama-vm.dtsi +++ b/qcom/kalama-vm.dtsi @@ -8,16 +8,6 @@ qcom,msm-id = <519 0x10000>; interrupt-parent = <&vgic>; - qcom,mem-buf { - compatible = "qcom,mem-buf"; - qcom,mem-buf-capabilities = "consumer"; - qcom,vmid = <45>; - }; - - qcom,mem-buf-msgq { - compatible = "qcom,mem-buf-msgq"; - }; - chosen { bootargs = "nokaslr log_buf_len=256K root=/dev/ram rw init=/init console=hvc0 loglevel=8"; }; @@ -30,20 +20,44 @@ compatible = "arm,armv8"; reg = <0x0 0x0>; device_type = "cpu"; - enable-method = "spin-table"; + 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 = "spin-table"; + enable-method = "psci"; + cpu-idle-states = <&CPU_PWR_DWN + &CLUSTER_PWR_DWN>; + }; }; - qrtr-gunyah { - compatible = "qcom,qrtr-gunyah"; - gunyah-label = <3>; + 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; + status = "disabled"; + }; + + 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; + status = "disabled"; + }; }; qcom,vm-config { @@ -146,7 +160,7 @@ qcom,label = <0x0000002>; }; - qrtr-shm { +/* qrtr-shm { vdevice-type = "shm-doorbell"; generate = "/hypervisor/qrtr-shm"; push-compatible = "qcom,qrtr-gunyah-gen"; @@ -168,6 +182,7 @@ allocate-base; }; }; +*/ }; }; @@ -207,6 +222,11 @@ status = "disabled"; }; + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + }; + tlmm-vm-mem-access { compatible = "qcom,tlmm-vm-mem-access"; diff --git a/qcom/kalama.dtsi b/qcom/kalama.dtsi index 8d834673..30b5ff4b 100644 --- a/qcom/kalama.dtsi +++ b/qcom/kalama.dtsi @@ -194,6 +194,7 @@ }; }; + soc: soc { }; }; @@ -393,9 +394,22 @@ trust_ui_vm_mem: trust_ui_vm_region@f4400000 { no-map; - reg = <0x0 0xf4400000 0x0 0x4400000>; + reg = <0x0 0xf4400000 0x0 0x42f3000>; }; + trust_ui_vm_vblk0_ring: trust_ui_vm_vblk0_ring@f86fc000 { + no-map; + reg = <0x0 0xf86fc000 0x0 0x4000>; + gunyah-label = <0x11>; + }; + + trust_ui_vm_swiotlb: trust_ui_vm_swiotlb@f8700000 { + no-map; + reg = <0x0 0xf8700000 0x0 0x100000>; + gunyah-label = <0x12>; + }; + + oem_vm_mem: oem_vm_region@f8800000 { no-map; reg = <0x0 0xf8800000 0x0 0x5000000>; @@ -2033,6 +2047,55 @@ }; }; }; + + qcom,guestvm_loader@f4400000 { + compatible = "qcom,guestvm-loader"; + qcom,pas-id = <28>; + qcom,isolate-cpus; + qcom,vmid = <45>; + qcom,firmware-name = "trustedvm"; + qcom,reserved-cpus = <0x5>, <0x6>; + qcom,unisolate-timeout-ms = <8000>; + memory-region = <&trust_ui_vm_mem>; + }; + + qcom,guestvm_loader@80800000 { + compatible = "qcom,guestvm-loader"; + qcom,pas-id = <35>; + qcom,vmid = <50>; + qcom,firmware-name = "cpusys_vm"; + memory-region = <&cpusys_vm_mem>; + }; + + qcom,gh_vm_loader_sec@f4400000 { + compatible = "qcom,gh-vm-loader-sec"; + qcom,pas-id = <28>; + qcom,vmid = <45>; + qcom,firmware-name = "trustedvm"; + memory-region = <&trust_ui_vm_mem>; + }; + + qcom,gh_vm_loader_sec@80800000 { + compatible = "qcom,gh-vm-loader-sec"; + qcom,pas-id = <35>; + qcom,vmid = <50>; + qcom,firmware-name = "cpusys_vm"; + qcom,no-shutdown; + memory-region = <&cpusys_vm_mem>; + }; + + trust_ui_vm: qcom,trust_ui_vm@f86fc000 { + reg = <0xf86fc000 0x104000>; + vm_name = "trustedvm"; + shared-buffers = <&trust_ui_vm_vblk0_ring &trust_ui_vm_swiotlb>; + }; + + qcom,virtio_backend@0 { + compatible = "qcom,virtio_backend"; + qcom,vm = <&trust_ui_vm>; + qcom,label = <0x11>; + }; + }; &firmware {