diff --git a/qcom/Makefile b/qcom/Makefile index 3ff3cd7551c7..de5ea0359e17 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -357,7 +357,8 @@ dtb-$(CONFIG_QTI_QUIN_GVM) += sa8155-vm-la.dtb \ sa8195-vm-la-mt.dtb \ sa8195-vm-lv-mt.dtb \ sa8195-vm-lv-lxc.dtb \ - sa6155p-vm-la.dtb + sa6155p-vm-la.dtb \ + direwolf-vm-lv.dtb ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_DIREWOLF) += direwolf-ivi-rumi-overlay.dtbo \ diff --git a/qcom/direwolf-vm-lv.dts b/qcom/direwolf-vm-lv.dts new file mode 100644 index 000000000000..d2a7069c72c7 --- /dev/null +++ b/qcom/direwolf-vm-lv.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "direwolf-vm.dtsi" +#include "direwolf-vm-lv.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Direwolf Single LV Virtual Machine"; + compatible = "qcom,direwolf"; + qcom,board-id = <0x1000002 0>; +}; diff --git a/qcom/direwolf-vm-lv.dtsi b/qcom/direwolf-vm-lv.dtsi new file mode 100644 index 000000000000..9e05ed049c14 --- /dev/null +++ b/qcom/direwolf-vm-lv.dtsi @@ -0,0 +1,10 @@ +&hab { + vmid = <3>; +}; + +&reserved_memory { + pmem_shared: pmem_shared_region { + reg = <0x1 0x66500000 0x0 0x51400000>; + label = "pmem_shared_mem"; + }; +}; diff --git a/qcom/direwolf-vm.dtsi b/qcom/direwolf-vm.dtsi new file mode 100644 index 000000000000..6ed8aadb34e2 --- /dev/null +++ b/qcom/direwolf-vm.dtsi @@ -0,0 +1,222 @@ +#include +#include "quin-vm-common.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Direwolf Virtual Machine"; + qcom,msm-name = "Direwolf V1"; + qcom,msm-id = <460 0x10000>; +}; + +&soc { + tlmm: pinctrl@f000000 { + compatible = "qcom,direwolf-pinctrl"; + reg = <0x0F000000 0x1000000>; + interrupts = ; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + apps_smmu: apps-smmu@15000000 { + compatible = "qcom,qsmmu-v500"; + reg = <0x15000000 0x100000>, + <0x15182000 0x20>; + reg-names = "base", "tcu-base"; + #iommu-cells = <2>; + qcom,skip-init; + qcom,use-3-lvl-tables; + #global-interrupts = <2>; + #size-cells = <1>; + #address-cells = <1>; + ranges; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + }; + + pdc: interrupt-controller@b220000 { + compatible = "qcom,direwolf-pdc"; + reg = <0xb220000 0x30000>; + qcom,pdc-ranges = <14 494 2>, <138 623 1>; + #interrupt-cells = <2>; + interrupt-parent = <&intc>; + interrupt-controller; + }; +}; + +®ulator { + gcc_usb30_prim_gdsc: gcc_usb30_prim_gdsc { + regulator-name = "gcc_usb30_prim_gdsc"; + }; + + gcc_usb30_sec_gdsc: gcc_usb30_sec_gdsc { + regulator-name = "gcc_usb30_sec_gdsc"; + }; + + L5A0: pm8540_a0_l5: regulator-pm8540_a0-l5 { + regulator-name = "ldoa5"; + regulator-min-microvolt = <720000>; + regulator-max-microvolt = <950000>; + }; + + L7A0: pm8540_a0_l7: regulator-pm8540_a0-l7 { + regulator-name = "ldoa7"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <1980000>; + }; + + L13A0: pm8540_a0_l13: regulator-pm8540_a0-l13 { + regulator-name = "ldoa13"; + regulator-min-microvolt = <2970000>; + regulator-max-microvolt = <3544000>; + }; + + L1C0: pm8540_c0_l1: regulator-pm8540_c0-l1 { + regulator-name = "ldoc1"; + regulator-min-microvolt = <720000>; + regulator-max-microvolt = <950000>; + }; + + L7C0: pm8540_c0_l7: regulator-pm8540_c0-l7 { + regulator-name = "ldoc7"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <1980000>; + }; + + L2C0: pm8540_c0_l2: regulator-pm8540_c0-l2 { + regulator-name = "ldoc2"; + regulator-min-microvolt = <2970000>; + regulator-max-microvolt = <3544000>; + }; +}; + +#include "direwolf-pinctrl.dtsi" +#include "pm8540-vm.dtsi" diff --git a/qcom/pm8540-vm.dtsi b/qcom/pm8540-vm.dtsi new file mode 100644 index 000000000000..a6bcf5460e07 --- /dev/null +++ b/qcom/pm8540-vm.dtsi @@ -0,0 +1,20 @@ +#include + +&spmi_bus { + qcom,pm8540@4 { + compatible = "qcom,spmi-pmic"; + reg = <4 SPMI_USID>; + #address-cells = <1>; + #size-cells = <0>; + + pm8540_2_gpios: pinctrl@c000 { + compatible = "qcom,pm8150-gpio"; + reg = <0xc000>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + }; +}; +