blob: 6a98aa34df924f8abe673b46c1db3b2711b4cb0c [file] [log] [blame]
/*
* SPDX-License-Identifier: Apache-2.0
*
* Copyright (C) 2023, Intel Corporation
*
*/
#include <arm64/armv8-a.dtsi>
#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h>
#include <zephyr/dt-bindings/reset/intel_socfpga_reset.h>
#include <mem.h>
/ {
cpus {
#address-cells = <1>;
#size-cells= <0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a55";
enable-method = "psci";
reg = <0x0>;
};
cpu@100 {
device_type = "cpu";
compatible = "arm,cortex-a55";
enable-method = "psci";
reg = <0x100>;
};
cpu@200 {
device_type = "cpu";
compatible = "arm,cortex-a76";
enable-method = "psci";
reg = <0x200>;
};
cpu@300 {
device_type = "cpu";
compatible = "arm,cortex-a76";
enable-method = "psci";
reg = <0x300>;
};
};
gic: interrupt-controller@1d000000 {
compatible = "arm,gic-v3", "arm,gic";
reg = <0x1d000000 0x10000>, /* GICD */
<0x1d060000 0x80000>; /* GICR */
interrupt-controller;
#interrupt-cells = <4>;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
its: msi-controller@1d040000 {
compatible = "arm,gic-v3-its";
reg = <0x1d040000 0x20000>;
status = "disabled";
};
};
arch_timer: timer {
compatible = "arm,armv8-timer";
interrupt-parent = <&gic>;
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
<GIC_PPI 14 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
<GIC_PPI 11 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>,
<GIC_PPI 10 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
};
sysmgr: sysmgr@10d12000 {
compatible = "syscon";
reg = <0x10d12000 0x1000>;
};
clock: clock@10d10000 {
compatible = "intel,agilex5-clock";
reg = <0x10d10000 0x1000>;
#clock-cells = <1>;
};
psci {
compatible = "arm,psci-1.1";
method = "smc";
};
/* This is for setting the MMU region for pinmux */
pinmux: pinmux@10d13000 {
compatible = "syscon";
reg = <0x10d13000 0x1000>;
};
mem0: memory@80100000 {
device_type = "memory";
reg = <0x80100000 DT_SIZE_M(8)>;
};
uart0: uart@10c02000 {
compatible = "ns16550";
reg-shift = <2>;
reg = <0x10c02000 0x100>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
interrupt-names = "irq_0";
clock-frequency = <100000000>;
resets = <&reset RSTMGR_UART0_RSTLINE>;
status = "disabled";
};
reset: reset-controller@10D11000 {
compatible = "intel,socfpga-reset";
reg = <0x10D11000 0x100>;
active-low;
#reset-cells = <1>;
status = "okay";
};
timer0: timer@10C03000 {
compatible = "snps,dw-timers";
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL
IRQ_DEFAULT_PRIORITY>;
reg = <0x10c03000 0x100>;
clock-frequency = <100000000>;
resets = <&reset RSTMGR_SPTIMER0_RSTLINE>;
status = "disabled";
};
timer1: timer@10C03100 {
compatible = "snps,dw-timers";
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL
IRQ_DEFAULT_PRIORITY>;
reg = <0x10c03100 0x100>;
clock-frequency = <100000000>;
resets = <&reset RSTMGR_SPTIMER1_RSTLINE>;
status = "disabled";
};
timer2: timer@10D00000 {
compatible = "snps,dw-timers";
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL
IRQ_DEFAULT_PRIORITY>;
reg = <0x10D00000 0x100>;
clock-frequency = <100000000>;
resets = <&reset RSTMGR_L4SYSTIMER0_RSTLINE>;
status = "disabled";
};
timer3: timer@10D00100 {
compatible = "snps,dw-timers";
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL
IRQ_DEFAULT_PRIORITY>;
reg = <0x10D00100 0x100>;
clock-frequency = <100000000>;
resets = <&reset RSTMGR_L4SYSTIMER1_RSTLINE>;
status = "disabled";
};
sip_smc: smc{
compatible = "intel,socfpga-agilex-sip-smc";
method = "smc";
status = "disabled";
zephyr,num-clients = <2>;
};
};