blob: ed00e5013666f812ab699211eaa73e291337e6a1 [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>;
100 };
101
102 its {
103 compatible = "arm,gic-v3-its";
104 status = "disabled";
105 };
106};
107
108&binman {
109 secure-world {
110 filename = "secure-world.rom";
111 size = <SBSA_SECURE_FLASH_LENGTH>;
112
113 bl1 {
114 offset = <0x0>;
115 description = "ARM Trusted Firmware BL1";
116 filename = "bl1.bin";
117 type = "blob-ext";
118 };
119
120 fip {
121 offset = <0x12000>;
122 description = "ARM Trusted Firmware FIP";
123 filename = "fip.bin";
124 type = "blob-ext";
125 };
126 };
127
128 unsecure-world {
129 filename = "unsecure-world.rom";
130 size = <SBSA_FLASH_LENGTH>;
131
132 u-boot {
133 };
134 u-boot-dtb {
135 compress = "lz4";
136 };
137 };
138};