xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/x1-el2.dtso (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2*ae5de77eSEmmanuel Vadot
3*ae5de77eSEmmanuel Vadot/*
4*ae5de77eSEmmanuel Vadot * x1 specific modifications required to boot in EL2.
5*ae5de77eSEmmanuel Vadot */
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadot/dts-v1/;
8*ae5de77eSEmmanuel Vadot/plugin/;
9*ae5de77eSEmmanuel Vadot
10*ae5de77eSEmmanuel Vadot/* We can't and don't need to use zap shader in EL2 as linux can zap the gpu on it's own. */
11*ae5de77eSEmmanuel Vadot&gpu_zap_shader {
12*ae5de77eSEmmanuel Vadot	status = "disabled";
13*ae5de77eSEmmanuel Vadot};
14*ae5de77eSEmmanuel Vadot
15*ae5de77eSEmmanuel Vadot/*
16*ae5de77eSEmmanuel Vadot * When running under Gunyah, this IOMMU is controlled by the firmware,
17*ae5de77eSEmmanuel Vadot * however when we take ownership of it in EL2, we need to configure
18*ae5de77eSEmmanuel Vadot * it properly to use PCIe.
19*ae5de77eSEmmanuel Vadot *
20*ae5de77eSEmmanuel Vadot * Additionally, it seems like ITS emulation in Gunyah is broken so we
21*ae5de77eSEmmanuel Vadot * can't use MSI on some PCIe controllers in EL1. But we can add them
22*ae5de77eSEmmanuel Vadot * here for EL2.
23*ae5de77eSEmmanuel Vadot */
24*ae5de77eSEmmanuel Vadot&pcie3 {
25*ae5de77eSEmmanuel Vadot	iommu-map = <0 &pcie_smmu 0x30000 0x10000>;
26*ae5de77eSEmmanuel Vadot	msi-map = <0 &gic_its 0xb0000 0x10000>;
27*ae5de77eSEmmanuel Vadot};
28*ae5de77eSEmmanuel Vadot
29*ae5de77eSEmmanuel Vadot&pcie4 {
30*ae5de77eSEmmanuel Vadot	iommu-map = <0 &pcie_smmu 0x40000 0x10000>;
31*ae5de77eSEmmanuel Vadot};
32*ae5de77eSEmmanuel Vadot
33*ae5de77eSEmmanuel Vadot&pcie5 {
34*ae5de77eSEmmanuel Vadot	iommu-map = <0 &pcie_smmu 0x50000 0x10000>;
35*ae5de77eSEmmanuel Vadot	msi-map = <0 &gic_its 0xd0000 0x10000>;
36*ae5de77eSEmmanuel Vadot};
37*ae5de77eSEmmanuel Vadot
38*ae5de77eSEmmanuel Vadot&pcie6a {
39*ae5de77eSEmmanuel Vadot	iommu-map = <0 &pcie_smmu 0x60000 0x10000>;
40*ae5de77eSEmmanuel Vadot};
41*ae5de77eSEmmanuel Vadot
42*ae5de77eSEmmanuel Vadot&pcie_smmu {
43*ae5de77eSEmmanuel Vadot	status = "okay";
44*ae5de77eSEmmanuel Vadot};
45*ae5de77eSEmmanuel Vadot
46*ae5de77eSEmmanuel Vadot/*
47*ae5de77eSEmmanuel Vadot * The "SBSA watchdog" is implemented in software in Gunyah
48*ae5de77eSEmmanuel Vadot * and can't be used when running in EL2.
49*ae5de77eSEmmanuel Vadot */
50*ae5de77eSEmmanuel Vadot&sbsa_watchdog {
51*ae5de77eSEmmanuel Vadot	status = "disabled";
52*ae5de77eSEmmanuel Vadot};
53