zephyr/dts/arm/xilinx/zynqmp_rpu.dtsi
Stephanos Ioannidis 38f0b05b99 dts: xilinx_zynqmp: Fix incorrect RPU device tree specification.
This commit fixes the following problems with the RPU device tree:

1. The core type of the RPU of ZynqMP SoC is Cortex-R5F, not
  Cortex-R4.

2. RPU and APU use different interrupt controllers (PL390 GICv1 and
  GIC-400 GICv2, respectively) mapped to the same CPU local bus address
  region but with different offsets for the distributor and CPU
  interrupt control register sets. The GIC address mapping specified by
  the current dts is that of an APU and does not apply to the PL390
  GICv1 of an RPU (refer to the "Zynq UltraScale+ Devices Register
  Reference" document from Xilinx for more information).

For more details, refer to the issue #20217.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2020-01-07 17:17:12 +01:00

35 lines
557 B
Plaintext

/*
* Copyright (c) 2019 Stephanos Ioannidis <root@stephanos.io>
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <arm/xilinx/zynqmp.dtsi>
/ {
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-r5f";
reg = <0>;
};
};
soc {
interrupt-parent = <&gic>;
gic: interrupt-controller@f9000000 {
compatible = "arm,gic";
reg = <0xf9000000 0x1000>,
<0xf9001000 0x100>;
interrupt-controller;
#interrupt-cells = <4>;
label = "GIC";
status = "okay";
};
};
};