mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-30 08:31:03 +00:00
1d6c54ecb3
Xilinx ZynqMP also contains dual Cortex R5 which can run U-Boot. This patch is adding minimal support to get U-Boot boot. U-Boot on R5 runs out of DDR with default configuration that's why DDR needs to be partitioned if there is something else running on arm64. Console is done via Cadence uart driver and the first Cadence Triple Timer Counter is used for time. This configuration with uart1 was tested on zcu100-revC. U-Boot 2018.05-rc2-00021-gd058a08d907d (Apr 18 2018 - 14:11:27 +0200) Model: Xilinx ZynqMP R5 DRAM: 512 MiB WARNING: Caches not enabled MMC: In: serial@ff010000 Out: serial@ff010000 Err: serial@ff010000 Net: Net Initialization Skipped No ethernet found. ZynqMP r5> There are two ways how to run this on ZynqMP. 1. Run from ZynqMP arm64 tftpb 20000000 u-boot-r5.elf setenv autostart no && bootelf -p 20000000 cpu 4 disable && cpu 4 release 10000000 lockstep or cpu 4 disable && cpu 4 release 10000000 split 2. Load via jtag when directly to R5 Signed-off-by: Michal Simek <michal.simek@xilinx.com>
73 lines
1.2 KiB
Text
73 lines
1.2 KiB
Text
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* dts file for Xilinx ZynqMP R5
|
|
*
|
|
* (C) Copyright 2018, Xilinx, Inc.
|
|
*
|
|
* Michal Simek <michal.simek@xilinx.com>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "xlnx,zynqmp-r5";
|
|
model = "Xilinx ZynqMP R5";
|
|
|
|
cpus {
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x0>;
|
|
|
|
cpu@0 {
|
|
compatible = "arm,cortex-r5";
|
|
device_type = "cpu";
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
serial0 = &uart1;
|
|
};
|
|
|
|
memory@0 {
|
|
device_type = "memory";
|
|
reg = <0x00000000 0x20000000>;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "";
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
clk100: clk100 {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <100000000>;
|
|
u-boot,dm-pre-reloc;
|
|
};
|
|
|
|
amba {
|
|
u-boot,dm-pre-reloc;
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
ttc0: timer@ff110000 {
|
|
compatible = "cdns,ttc";
|
|
status = "okay";
|
|
reg = <0xff110000 0x1000>;
|
|
timer-width = <32>;
|
|
clocks = <&clk100>;
|
|
};
|
|
|
|
uart1: serial@ff010000 {
|
|
u-boot,dm-pre-reloc;
|
|
compatible = "cdns,uart-r1p12", "xlnx,xuartps";
|
|
reg = <0xff010000 0x1000>;
|
|
clock-names = "uart_clk", "pclk";
|
|
clocks = <&clk100 &clk100>;
|
|
};
|
|
};
|
|
};
|