826e0047b0
Ship aarch32 and aarch64 device trees with gem5. We currently ship device trees as a part of the gem5 Linux kernel repository. This makes tracking hard since device trees are supposed to be platform dependent rather than kernel dependent (Linux considers device trees to be a stable kernel ABI). It also makes code sharing between aarch32 and aarch64 impossible. This changeset implements a set of device trees for the new VExpress_GEM5_V1 platform. The platform is described in a shared file that is separate from the memory/CPU description. Due to differences in how secondary CPUs are initialized, aarch32 and aarch64 use different base files describing CPU nodes and the machine's compatibility property.
132 lines
3 KiB
Text
132 lines
3 KiB
Text
/*
|
|
* Copyright (c) 2015 ARM Limited
|
|
* All rights reserved
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are
|
|
* met: redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer;
|
|
* redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution;
|
|
* neither the name of the copyright holders nor the names of its
|
|
* contributors may be used to endorse or promote products derived from
|
|
* this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
* Authors: Andreas Sandberg
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
/memreserve/ 0x80000000 0x00010000;
|
|
|
|
#include CONF_PLATFORM
|
|
|
|
#define CPU(n) \
|
|
cpu@ ## n { \
|
|
device_type = "cpu"; \
|
|
compatible = "gem5,armv8", "arm,armv8"; \
|
|
reg = < n >; \
|
|
enable-method = "spin-table"; \
|
|
cpu-release-addr = <0 0x8000fff8>; \
|
|
};
|
|
|
|
/ {
|
|
model = "V2P-AARCH64";
|
|
compatible = "arm,vexpress,v2p-aarch64", "arm,vexpress";
|
|
|
|
memory@80000000 {
|
|
device_type = "memory";
|
|
reg = <0 0x80000000 0x4 0x00000000>;
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
#if CONF_CPUS > 0
|
|
CPU(0)
|
|
#endif
|
|
#if CONF_CPUS > 1
|
|
CPU(1)
|
|
#endif
|
|
#if CONF_CPUS > 2
|
|
CPU(2)
|
|
#endif
|
|
#if CONF_CPUS > 3
|
|
CPU(3)
|
|
#endif
|
|
#if CONF_CPUS > 4
|
|
CPU(4)
|
|
#endif
|
|
#if CONF_CPUS > 5
|
|
CPU(5)
|
|
#endif
|
|
#if CONF_CPUS > 6
|
|
CPU(6)
|
|
#endif
|
|
#if CONF_CPUS > 7
|
|
CPU(7)
|
|
#endif
|
|
#if CONF_CPUS > 8
|
|
CPU(8)
|
|
#endif
|
|
#if CONF_CPUS > 9
|
|
CPU(9)
|
|
#endif
|
|
#if CONF_CPUS > 10
|
|
CPU(10)
|
|
#endif
|
|
#if CONF_CPUS > 11
|
|
CPU(11)
|
|
#endif
|
|
#if CONF_CPUS > 12
|
|
CPU(12)
|
|
#endif
|
|
#if CONF_CPUS > 13
|
|
CPU(13)
|
|
#endif
|
|
#if CONF_CPUS > 14
|
|
CPU(14)
|
|
#endif
|
|
#if CONF_CPUS > 15
|
|
CPU(15)
|
|
#endif
|
|
#if CONF_CPUS > 16
|
|
#error Unsupported number of CPUs
|
|
#endif
|
|
};
|
|
};
|
|
|
|
&hdlcd0 {
|
|
status = "ok";
|
|
|
|
display-timings {
|
|
native-mode = <&timing0>;
|
|
|
|
timing0: timing_1080p60 {
|
|
/* 1920x1080-60 */
|
|
clock-frequency = <148500>;
|
|
hactive = <1920>;
|
|
vactive = <1080>;
|
|
hfront-porch = <148>;
|
|
hback-porch = <88>;
|
|
hsync-len = <44>;
|
|
vfront-porch = <36>;
|
|
vback-porch = <4>;
|
|
vsync-len = <5>;
|
|
};
|
|
};
|
|
};
|