xref: /rk3399_ARM-atf/fdts/fvp-ve-Cortex-A5x1.dts (revision 53e4c160aef41f9015d889796e7e98c79ef6a8e3)
18f73663bSUsama Arif/*
2a25349b7SAndre Przywara * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
38f73663bSUsama Arif *
48f73663bSUsama Arif * SPDX-License-Identifier: BSD-3-Clause
58f73663bSUsama Arif */
68f73663bSUsama Arif
7a25349b7SAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h>
8a25349b7SAndre Przywara
98f73663bSUsama Arif/dts-v1/;
108f73663bSUsama Arif
112716bd33SAndre Przywara#include "rtsm_ve-motherboard.dtsi"
122716bd33SAndre Przywara
138f73663bSUsama Arif/ {
148f73663bSUsama Arif	model = "V2P-CA5s";
158f73663bSUsama Arif	compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress";
168f73663bSUsama Arif	interrupt-parent = <&gic>;
17a25349b7SAndre Przywara	#address-cells = <2>;
188f73663bSUsama Arif	#size-cells = <1>;
198f73663bSUsama Arif
208f73663bSUsama Arif	cpus {
218f73663bSUsama Arif		#address-cells = <1>;
228f73663bSUsama Arif		#size-cells = <0>;
238f73663bSUsama Arif
248f73663bSUsama Arif		cpu@0 {
258f73663bSUsama Arif			device_type = "cpu";
268f73663bSUsama Arif			compatible = "arm,cortex-a5";
278f73663bSUsama Arif			reg = <0>;
288f73663bSUsama Arif		};
298f73663bSUsama Arif
308f73663bSUsama Arif	};
318f73663bSUsama Arif
328f73663bSUsama Arif	memory@80000000 {
338f73663bSUsama Arif		device_type = "memory";
34a25349b7SAndre Przywara		reg = <0 0x80000000 0x1000000>;
358f73663bSUsama Arif	};
368f73663bSUsama Arif
372716bd33SAndre Przywara	reserved-memory {
382716bd33SAndre Przywara		#address-cells = <2>;
392716bd33SAndre Przywara		#size-cells = <1>;
402716bd33SAndre Przywara		ranges;
412716bd33SAndre Przywara
422716bd33SAndre Przywara		/* Chipselect 2,00000000 is physically at 0x18000000 */
432716bd33SAndre Przywara		vram: vram@18000000 {
442716bd33SAndre Przywara			/* 8 MB of designated video RAM */
452716bd33SAndre Przywara			compatible = "shared-dma-pool";
462716bd33SAndre Przywara			reg = <0 0x18000000 0x00800000>;
472716bd33SAndre Przywara			no-map;
482716bd33SAndre Przywara		};
492716bd33SAndre Przywara	};
502716bd33SAndre Przywara
518f73663bSUsama Arif	hdlcd@2a110000 {
528f73663bSUsama Arif		compatible = "arm,hdlcd";
53a25349b7SAndre Przywara		reg = <0 0x2a110000 0x1000>;
548f73663bSUsama Arif		interrupts = <0 85 4>;
558f73663bSUsama Arif		clocks = <&oscclk3>;
568f73663bSUsama Arif		clock-names = "pxlclk";
578f73663bSUsama Arif	};
588f73663bSUsama Arif
598f73663bSUsama Arif	scu@2c000000 {
608f73663bSUsama Arif		compatible = "arm,cortex-a5-scu";
61a25349b7SAndre Przywara		reg = <0 0x2c000000 0x58>;
628f73663bSUsama Arif	};
638f73663bSUsama Arif
648f73663bSUsama Arif	watchdog@2c000620 {
658f73663bSUsama Arif		compatible = "arm,cortex-a5-twd-wdt";
66a25349b7SAndre Przywara		reg = <0 0x2c000620 0x20>;
678f73663bSUsama Arif		interrupts = <1 14 0x304>;
688f73663bSUsama Arif	};
698f73663bSUsama Arif
708f73663bSUsama Arif	gic: interrupt-controller@2c001000 {
718f73663bSUsama Arif		compatible = "arm,cortex-a9-gic";
728f73663bSUsama Arif		#interrupt-cells = <3>;
738f73663bSUsama Arif		#address-cells = <0>;
748f73663bSUsama Arif		interrupt-controller;
75a25349b7SAndre Przywara		reg = <0 0x2c001000 0x1000>,
76a25349b7SAndre Przywara		      <0 0x2c000100 0x100>;
778f73663bSUsama Arif	};
788f73663bSUsama Arif
792716bd33SAndre Przywara	mcc {
80*60da130aSAndre Przywara		oscclk0: oscclk0 {
818f73663bSUsama Arif			/* CPU and internal AXI reference clock */
828f73663bSUsama Arif			compatible = "arm,vexpress-osc";
838f73663bSUsama Arif			arm,vexpress-sysreg,func = <1 0>;
848f73663bSUsama Arif			freq-range = <50000000 100000000>;
858f73663bSUsama Arif			#clock-cells = <0>;
868f73663bSUsama Arif			clock-output-names = "oscclk0";
878f73663bSUsama Arif		};
888f73663bSUsama Arif
89*60da130aSAndre Przywara		oscclk1: oscclk1 {
908f73663bSUsama Arif			/* Multiplexed AXI master clock */
918f73663bSUsama Arif			compatible = "arm,vexpress-osc";
928f73663bSUsama Arif			arm,vexpress-sysreg,func = <1 1>;
938f73663bSUsama Arif			freq-range = <5000000 50000000>;
948f73663bSUsama Arif			#clock-cells = <0>;
958f73663bSUsama Arif			clock-output-names = "oscclk1";
968f73663bSUsama Arif		};
978f73663bSUsama Arif
98*60da130aSAndre Przywara		oscclk2 {
998f73663bSUsama Arif			/* DDR2 */
1008f73663bSUsama Arif			compatible = "arm,vexpress-osc";
1018f73663bSUsama Arif			arm,vexpress-sysreg,func = <1 2>;
1028f73663bSUsama Arif			freq-range = <80000000 120000000>;
1038f73663bSUsama Arif			#clock-cells = <0>;
1048f73663bSUsama Arif			clock-output-names = "oscclk2";
1058f73663bSUsama Arif		};
1068f73663bSUsama Arif
107*60da130aSAndre Przywara		oscclk3: oscclk3 {
1088f73663bSUsama Arif			/* HDLCD */
1098f73663bSUsama Arif			compatible = "arm,vexpress-osc";
1108f73663bSUsama Arif			arm,vexpress-sysreg,func = <1 3>;
1118f73663bSUsama Arif			freq-range = <23750000 165000000>;
1128f73663bSUsama Arif			#clock-cells = <0>;
1138f73663bSUsama Arif			clock-output-names = "oscclk3";
1148f73663bSUsama Arif		};
1158f73663bSUsama Arif
116*60da130aSAndre Przywara		oscclk4 {
1178f73663bSUsama Arif			/* Test chip gate configuration */
1188f73663bSUsama Arif			compatible = "arm,vexpress-osc";
1198f73663bSUsama Arif			arm,vexpress-sysreg,func = <1 4>;
1208f73663bSUsama Arif			freq-range = <80000000 80000000>;
1218f73663bSUsama Arif			#clock-cells = <0>;
1228f73663bSUsama Arif			clock-output-names = "oscclk4";
1238f73663bSUsama Arif		};
1248f73663bSUsama Arif
125*60da130aSAndre Przywara		smbclk: oscclk5 {
1268f73663bSUsama Arif			/* SMB clock */
1278f73663bSUsama Arif			compatible = "arm,vexpress-osc";
1288f73663bSUsama Arif			arm,vexpress-sysreg,func = <1 5>;
1298f73663bSUsama Arif			freq-range = <25000000 60000000>;
1308f73663bSUsama Arif			#clock-cells = <0>;
1318f73663bSUsama Arif			clock-output-names = "oscclk5";
1328f73663bSUsama Arif		};
1338f73663bSUsama Arif	};
1348f73663bSUsama Arif
1352716bd33SAndre Przywara	panel {
1362716bd33SAndre Przywara		compatible = "arm,rtsm-display";
1372716bd33SAndre Przywara		port {
1382716bd33SAndre Przywara			panel_in: endpoint {
1392716bd33SAndre Przywara				remote-endpoint = <&clcd_pads>;
1402716bd33SAndre Przywara			};
1412716bd33SAndre Przywara		};
1422716bd33SAndre Przywara	};
1438f73663bSUsama Arif
1442716bd33SAndre Przywara	bus@8000000 {
1458f73663bSUsama Arif		#interrupt-cells = <1>;
1468f73663bSUsama Arif		interrupt-map-mask = <0 0 63>;
147a25349b7SAndre Przywara		interrupt-map = <0 0  0 &gic GIC_SPI  0 IRQ_TYPE_LEVEL_HIGH>,
148a25349b7SAndre Przywara				<0 0  1 &gic GIC_SPI  1 IRQ_TYPE_LEVEL_HIGH>,
149a25349b7SAndre Przywara				<0 0  2 &gic GIC_SPI  2 IRQ_TYPE_LEVEL_HIGH>,
150a25349b7SAndre Przywara				<0 0  3 &gic GIC_SPI  3 IRQ_TYPE_LEVEL_HIGH>,
151a25349b7SAndre Przywara				<0 0  4 &gic GIC_SPI  4 IRQ_TYPE_LEVEL_HIGH>,
152a25349b7SAndre Przywara				<0 0  5 &gic GIC_SPI  5 IRQ_TYPE_LEVEL_HIGH>,
153a25349b7SAndre Przywara				<0 0  6 &gic GIC_SPI  6 IRQ_TYPE_LEVEL_HIGH>,
154a25349b7SAndre Przywara				<0 0  7 &gic GIC_SPI  7 IRQ_TYPE_LEVEL_HIGH>,
155a25349b7SAndre Przywara				<0 0  8 &gic GIC_SPI  8 IRQ_TYPE_LEVEL_HIGH>,
156a25349b7SAndre Przywara				<0 0  9 &gic GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>,
157a25349b7SAndre Przywara				<0 0 10 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
158a25349b7SAndre Przywara				<0 0 11 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
159a25349b7SAndre Przywara				<0 0 12 &gic GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
160a25349b7SAndre Przywara				<0 0 13 &gic GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
161a25349b7SAndre Przywara				<0 0 15 &gic GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
162a25349b7SAndre Przywara				<0 0 42 &gic GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
163a25349b7SAndre Przywara				<0 0 43 &gic GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
164a25349b7SAndre Przywara				<0 0 44 &gic GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
165a25349b7SAndre Przywara				<0 0 46 &gic GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
1668f73663bSUsama Arif	};
1678f73663bSUsama Arif};
168