blob: 099b51b927fd2883962e657baa5c51b52a5ac259 [file] [log] [blame]
Patrick Rudolphcb42bc82024-10-23 15:20:08 +02001// SPDX-License-Identifier: GPL-2.0+ OR MIT
2/*
3 * Devicetree with onboard devices for qemu_sbsa-ref for internal use only!
4 * DO NOT PASS TO THE OS!
5 *
6 * As QEMU provides only a minimal devicetree this one is merged with
7 * it and then fixed at runtime.
8 *
9 * Copyright 2024 9elements GmbH
10 */
11#include "configs/qemu-sbsa.h"
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13
14/dts-v1/;
15
16/ {
17 #address-cells = <2>;
18 #size-cells = <2>;
19 interrupt-parent = <&intc>;
20 compatible = "linux,sbsa-ref";
21
22 binman: binman {
23 multiple-images;
24 };
25
26 cpus {
27 /* Filled by fdtdec_board_setup() */
28 };
29
30 memory {
31 /* Filled by fdtdec_board_setup() */
32 };
33
34 soc {
35 compatible = "simple-bus";
36 #address-cells = <2>;
37 #size-cells = <2>;
38 ranges;
39
40 cfi_flash {
41 compatible = "cfi-flash";
42 reg = /bits/ 64 <SBSA_FLASH_BASE_ADDR
43 SBSA_FLASH_LENGTH>;
44 status = "okay";
45 };
46
47 uart0 {
48 compatible = "arm,pl011";
49 status = "okay";
50 reg = /bits/ 64 <SBSA_UART_BASE_ADDR
51 SBSA_UART_LENGTH>;
52 };
53
54 ahci {
55 compatible = "generic-ahci";
56 status = "okay";
57 reg = /bits/ 64 <0x60100000 0x00010000>;
58 };
59
60 xhci {
61 compatible = "generic-xhci";
62 status = "okay";
63 reg = /bits/ 64 <0x60110000 0x00010000>;
64 };
65
66 pci {
67 #address-cells = <3>;
68 #size-cells = <2>;
69 compatible = "pci-host-ecam-generic";
70 device_type = "pci";
71 status = "okay";
72 reg = /bits/ 64 <0xf0000000 0x10000000>;
73 bus-range = <0 0xff>;
74 ranges = /bits/ 32 <0x01000000>,
75 /bits/ 64 <0
76 SBSA_PIO_BASE_ADDR
77 SBSA_PIO_LENGTH>,
78 /bits/ 32 <0x02000000>,
79 /bits/ 64 <SBSA_PCIE_MMIO_BASE_ADDR
80 SBSA_PCIE_MMIO_BASE_ADDR
81 SBSA_PCIE_MMIO_LENGTH>,
82 /bits/ 32 <0x43000000>,
83 /bits/ 64 <SBSA_PCIE_MMIO_HIGH_BASE_ADDR
84 SBSA_PCIE_MMIO_HIGH_BASE_ADDR
85 SBSA_PCIE_MMIO_HIGH_LENGTH>;
86 };
87 };
88
89 intc: interrupt-controller {
90 compatible = "arm,gic-v3";
91 #interrupt-cells = <3>;
92 status = "okay";
93 interrupt-controller;
94 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
95 reg = /bits/ 64 <SBSA_GIC_DIST_BASE_ADDR SBSA_GIC_DIST_LENGTH>,
96 /bits/ 64 <SBSA_GIC_REDIST_BASE_ADDR SBSA_GIC_REDIST_LENGTH>,
97 /bits/ 64 <0 0>,
98 /bits/ 64 <SBSA_GIC_HBASE_ADDR SBSA_GIC_HBASE_LENGTH>,
99 /bits/ 64 <SBSA_GIC_VBASE_ADDR SBSA_GIC_VBASE_LENGTH>;
Patrick Rudolphcb42bc82024-10-23 15:20:08 +0200100
Patrick Rudolph82577ff2025-03-20 13:51:57 +0100101 its: msi-controller {
102 compatible = "arm,gic-v3-its";
103 msi-controller;
104 #msi-cells = <1>;
105 status = "disabled";
106 };
Patrick Rudolphcb42bc82024-10-23 15:20:08 +0200107 };
108};
109
110&binman {
111 secure-world {
112 filename = "secure-world.rom";
113 size = <SBSA_SECURE_FLASH_LENGTH>;
114
115 bl1 {
116 offset = <0x0>;
117 description = "ARM Trusted Firmware BL1";
118 filename = "bl1.bin";
119 type = "blob-ext";
120 };
121
122 fip {
123 offset = <0x12000>;
124 description = "ARM Trusted Firmware FIP";
125 filename = "fip.bin";
126 type = "blob-ext";
127 };
128 };
129
130 unsecure-world {
131 filename = "unsecure-world.rom";
132 size = <SBSA_FLASH_LENGTH>;
133
134 u-boot {
135 };
136 u-boot-dtb {
137 compress = "lz4";
138 };
139 };
140};