| // SPDX-License-Identifier: GPL-2.0+ OR MIT |
| /* |
| * Devicetree with onboard devices for qemu_sbsa-ref for internal use only! |
| * DO NOT PASS TO THE OS! |
| * |
| * As QEMU provides only a minimal devicetree this one is merged with |
| * it and then fixed at runtime. |
| * |
| * Copyright 2024 9elements GmbH |
| */ |
| #include "configs/qemu-sbsa.h" |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| |
| /dts-v1/; |
| |
| / { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| interrupt-parent = <&intc>; |
| compatible = "linux,sbsa-ref"; |
| |
| binman: binman { |
| multiple-images; |
| }; |
| |
| cpus { |
| /* Filled by fdtdec_board_setup() */ |
| }; |
| |
| memory { |
| /* Filled by fdtdec_board_setup() */ |
| }; |
| |
| soc { |
| compatible = "simple-bus"; |
| #address-cells = <2>; |
| #size-cells = <2>; |
| ranges; |
| |
| cfi_flash { |
| compatible = "cfi-flash"; |
| reg = /bits/ 64 <SBSA_FLASH_BASE_ADDR |
| SBSA_FLASH_LENGTH>; |
| status = "okay"; |
| }; |
| |
| uart0 { |
| compatible = "arm,pl011"; |
| status = "okay"; |
| reg = /bits/ 64 <SBSA_UART_BASE_ADDR |
| SBSA_UART_LENGTH>; |
| }; |
| |
| ahci { |
| compatible = "generic-ahci"; |
| status = "okay"; |
| reg = /bits/ 64 <0x60100000 0x00010000>; |
| }; |
| |
| xhci { |
| compatible = "generic-xhci"; |
| status = "okay"; |
| reg = /bits/ 64 <0x60110000 0x00010000>; |
| }; |
| |
| pci { |
| #address-cells = <3>; |
| #size-cells = <2>; |
| compatible = "pci-host-ecam-generic"; |
| device_type = "pci"; |
| status = "okay"; |
| reg = /bits/ 64 <0xf0000000 0x10000000>; |
| bus-range = <0 0xff>; |
| ranges = /bits/ 32 <0x01000000>, |
| /bits/ 64 <0 |
| SBSA_PIO_BASE_ADDR |
| SBSA_PIO_LENGTH>, |
| /bits/ 32 <0x02000000>, |
| /bits/ 64 <SBSA_PCIE_MMIO_BASE_ADDR |
| SBSA_PCIE_MMIO_BASE_ADDR |
| SBSA_PCIE_MMIO_LENGTH>, |
| /bits/ 32 <0x43000000>, |
| /bits/ 64 <SBSA_PCIE_MMIO_HIGH_BASE_ADDR |
| SBSA_PCIE_MMIO_HIGH_BASE_ADDR |
| SBSA_PCIE_MMIO_HIGH_LENGTH>; |
| }; |
| }; |
| |
| intc: interrupt-controller { |
| compatible = "arm,gic-v3"; |
| #interrupt-cells = <3>; |
| status = "okay"; |
| interrupt-controller; |
| interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; |
| reg = /bits/ 64 <SBSA_GIC_DIST_BASE_ADDR SBSA_GIC_DIST_LENGTH>, |
| /bits/ 64 <SBSA_GIC_REDIST_BASE_ADDR SBSA_GIC_REDIST_LENGTH>, |
| /bits/ 64 <0 0>, |
| /bits/ 64 <SBSA_GIC_HBASE_ADDR SBSA_GIC_HBASE_LENGTH>, |
| /bits/ 64 <SBSA_GIC_VBASE_ADDR SBSA_GIC_VBASE_LENGTH>; |
| }; |
| |
| its { |
| compatible = "arm,gic-v3-its"; |
| status = "disabled"; |
| }; |
| }; |
| |
| &binman { |
| secure-world { |
| filename = "secure-world.rom"; |
| size = <SBSA_SECURE_FLASH_LENGTH>; |
| |
| bl1 { |
| offset = <0x0>; |
| description = "ARM Trusted Firmware BL1"; |
| filename = "bl1.bin"; |
| type = "blob-ext"; |
| }; |
| |
| fip { |
| offset = <0x12000>; |
| description = "ARM Trusted Firmware FIP"; |
| filename = "fip.bin"; |
| type = "blob-ext"; |
| }; |
| }; |
| |
| unsecure-world { |
| filename = "unsecure-world.rom"; |
| size = <SBSA_FLASH_LENGTH>; |
| |
| u-boot { |
| }; |
| u-boot-dtb { |
| compress = "lz4"; |
| }; |
| }; |
| }; |