xref: /linux/scripts/dtc/include-prefixes/arm64/amd/amd-seattle-soc.dtsi (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
241904360SSuravee Suthikulpanit/*
341904360SSuravee Suthikulpanit * DTS file for AMD Seattle SoC
441904360SSuravee Suthikulpanit *
541904360SSuravee Suthikulpanit * Copyright (C) 2014 Advanced Micro Devices, Inc.
641904360SSuravee Suthikulpanit */
741904360SSuravee Suthikulpanit
841904360SSuravee Suthikulpanit/ {
941904360SSuravee Suthikulpanit	compatible = "amd,seattle";
1041904360SSuravee Suthikulpanit	interrupt-parent = <&gic0>;
1141904360SSuravee Suthikulpanit	#address-cells = <2>;
1241904360SSuravee Suthikulpanit	#size-cells = <2>;
1341904360SSuravee Suthikulpanit
148945ed5cSRob Herring (Arm)	/include/ "amd-seattle-clks.dtsi"
158945ed5cSRob Herring (Arm)
1641904360SSuravee Suthikulpanit	gic0: interrupt-controller@e1101000 {
1741904360SSuravee Suthikulpanit		compatible = "arm,gic-400", "arm,cortex-a15-gic";
1841904360SSuravee Suthikulpanit		interrupt-controller;
1941904360SSuravee Suthikulpanit		#interrupt-cells = <3>;
2041904360SSuravee Suthikulpanit		#address-cells = <2>;
2141904360SSuravee Suthikulpanit		#size-cells = <2>;
2241904360SSuravee Suthikulpanit		reg = <0x0 0xe1110000 0 0x1000>,
2341904360SSuravee Suthikulpanit		      <0x0 0xe112f000 0 0x2000>,
2448527738SBrijesh Singh		      <0x0 0xe1140000 0 0x2000>,
2548527738SBrijesh Singh		      <0x0 0xe1160000 0 0x2000>;
2641904360SSuravee Suthikulpanit		interrupts = <1 9 0xf04>;
2741904360SSuravee Suthikulpanit		ranges = <0 0 0 0xe1100000 0 0x100000>;
2841904360SSuravee Suthikulpanit		v2m0: v2m@e0080000 {
2941904360SSuravee Suthikulpanit			compatible = "arm,gic-v2m-frame";
3041904360SSuravee Suthikulpanit			msi-controller;
3141904360SSuravee Suthikulpanit			reg = <0x0 0x00080000 0 0x1000>;
3241904360SSuravee Suthikulpanit		};
3341904360SSuravee Suthikulpanit	};
3441904360SSuravee Suthikulpanit
3541904360SSuravee Suthikulpanit	timer {
3641904360SSuravee Suthikulpanit		compatible = "arm,armv8-timer";
3741904360SSuravee Suthikulpanit		interrupts = <1 13 0xff04>,
3841904360SSuravee Suthikulpanit			     <1 14 0xff04>,
3941904360SSuravee Suthikulpanit			     <1 11 0xff04>,
4041904360SSuravee Suthikulpanit			     <1 10 0xff04>;
4141904360SSuravee Suthikulpanit	};
4241904360SSuravee Suthikulpanit
43*6268ac36SRob Herring (Arm)	smb0: bus {
4441904360SSuravee Suthikulpanit		compatible = "simple-bus";
4541904360SSuravee Suthikulpanit		#address-cells = <2>;
4641904360SSuravee Suthikulpanit		#size-cells = <2>;
4741904360SSuravee Suthikulpanit		ranges;
4841904360SSuravee Suthikulpanit
49c91cb912SSuravee Suthikulpanit		/*
50c91cb912SSuravee Suthikulpanit		 * dma-ranges is 40-bit address space containing:
51c91cb912SSuravee Suthikulpanit		 * - GICv2m MSI register is at 0xe0080000
52c91cb912SSuravee Suthikulpanit		 * - DRAM range [0x8000000000 to 0xffffffffff]
53c91cb912SSuravee Suthikulpanit		 */
54c91cb912SSuravee Suthikulpanit		dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
5541904360SSuravee Suthikulpanit
5641904360SSuravee Suthikulpanit		sata0: sata@e0300000 {
5741904360SSuravee Suthikulpanit			compatible = "snps,dwc-ahci";
587973a3fbSSuravee Suthikulpanit			reg = <0 0xe0300000 0 0xf0000>;
5941904360SSuravee Suthikulpanit			interrupts = <0 355 4>;
6041904360SSuravee Suthikulpanit			clocks = <&sataclk_333mhz>;
61429863e7SArd Biesheuvel			iommus = <&sata0_smmu 0x0 0x1f>;
6241904360SSuravee Suthikulpanit			dma-coherent;
6341904360SSuravee Suthikulpanit		};
6441904360SSuravee Suthikulpanit
657973a3fbSSuravee Suthikulpanit		/* This is for Rev B only */
667973a3fbSSuravee Suthikulpanit		sata1: sata@e0d00000 {
677973a3fbSSuravee Suthikulpanit			status = "disabled";
687973a3fbSSuravee Suthikulpanit			compatible = "snps,dwc-ahci";
697973a3fbSSuravee Suthikulpanit			reg = <0 0xe0d00000 0 0xf0000>;
707973a3fbSSuravee Suthikulpanit			interrupts = <0 354 4>;
717973a3fbSSuravee Suthikulpanit			clocks = <&sataclk_333mhz>;
72429863e7SArd Biesheuvel			iommus = <&sata1_smmu 0x0e>,
73429863e7SArd Biesheuvel				 <&sata1_smmu 0x0f>,
74429863e7SArd Biesheuvel				 <&sata1_smmu 0x1e>;
75429863e7SArd Biesheuvel			dma-coherent;
76429863e7SArd Biesheuvel		};
77429863e7SArd Biesheuvel
78429863e7SArd Biesheuvel		sata0_smmu: iommu@e0200000 {
79429863e7SArd Biesheuvel			compatible = "arm,mmu-401";
80429863e7SArd Biesheuvel			reg = <0 0xe0200000 0 0x10000>;
81429863e7SArd Biesheuvel			#global-interrupts = <1>;
82429863e7SArd Biesheuvel			interrupts = <0 332 4>, <0 332 4>;
83429863e7SArd Biesheuvel			#iommu-cells = <2>;
84429863e7SArd Biesheuvel			dma-coherent;
85429863e7SArd Biesheuvel		};
86429863e7SArd Biesheuvel
87429863e7SArd Biesheuvel		sata1_smmu: iommu@e0c00000 {
88429863e7SArd Biesheuvel			compatible = "arm,mmu-401";
89429863e7SArd Biesheuvel			reg = <0 0xe0c00000 0 0x10000>;
90429863e7SArd Biesheuvel			#global-interrupts = <1>;
91429863e7SArd Biesheuvel			interrupts = <0 331 4>, <0 331 4>;
92429863e7SArd Biesheuvel			#iommu-cells = <1>;
937973a3fbSSuravee Suthikulpanit			dma-coherent;
947973a3fbSSuravee Suthikulpanit		};
957973a3fbSSuravee Suthikulpanit
9641904360SSuravee Suthikulpanit		i2c0: i2c@e1000000 {
9741904360SSuravee Suthikulpanit			status = "disabled";
9841904360SSuravee Suthikulpanit			compatible = "snps,designware-i2c";
9941904360SSuravee Suthikulpanit			reg = <0 0xe1000000 0 0x1000>;
10041904360SSuravee Suthikulpanit			interrupts = <0 357 4>;
1011584fd13SSuravee Suthikulpanit			clocks = <&miscclk_250mhz>;
1021584fd13SSuravee Suthikulpanit		};
1031584fd13SSuravee Suthikulpanit
1041584fd13SSuravee Suthikulpanit		i2c1: i2c@e0050000 {
1051584fd13SSuravee Suthikulpanit			status = "disabled";
1061584fd13SSuravee Suthikulpanit			compatible = "snps,designware-i2c";
1071584fd13SSuravee Suthikulpanit			reg = <0 0xe0050000 0 0x1000>;
1081584fd13SSuravee Suthikulpanit			interrupts = <0 340 4>;
1091584fd13SSuravee Suthikulpanit			clocks = <&miscclk_250mhz>;
11041904360SSuravee Suthikulpanit		};
11141904360SSuravee Suthikulpanit
11241904360SSuravee Suthikulpanit		serial0: serial@e1010000 {
11341904360SSuravee Suthikulpanit			compatible = "arm,pl011", "arm,primecell";
11441904360SSuravee Suthikulpanit			reg = <0 0xe1010000 0 0x1000>;
11541904360SSuravee Suthikulpanit			interrupts = <0 328 4>;
11641904360SSuravee Suthikulpanit			clocks = <&uartspiclk_100mhz>, <&uartspiclk_100mhz>;
11741904360SSuravee Suthikulpanit			clock-names = "uartclk", "apb_pclk";
11841904360SSuravee Suthikulpanit		};
11941904360SSuravee Suthikulpanit
120e9f0878cSRob Herring		spi0: spi@e1020000 {
12141904360SSuravee Suthikulpanit			status = "disabled";
12241904360SSuravee Suthikulpanit			compatible = "arm,pl022", "arm,primecell";
12341904360SSuravee Suthikulpanit			reg = <0 0xe1020000 0 0x1000>;
12441904360SSuravee Suthikulpanit			interrupts = <0 330 4>;
12555d0969cSKuldeep Singh			clocks = <&uartspiclk_100mhz>, <&uartspiclk_100mhz>;
12655d0969cSKuldeep Singh			clock-names = "sspclk", "apb_pclk";
12741904360SSuravee Suthikulpanit		};
12841904360SSuravee Suthikulpanit
129e9f0878cSRob Herring		spi1: spi@e1030000 {
13041904360SSuravee Suthikulpanit			status = "disabled";
13141904360SSuravee Suthikulpanit			compatible = "arm,pl022", "arm,primecell";
13241904360SSuravee Suthikulpanit			reg = <0 0xe1030000 0 0x1000>;
13341904360SSuravee Suthikulpanit			interrupts = <0 329 4>;
13455d0969cSKuldeep Singh			clocks = <&uartspiclk_100mhz>, <&uartspiclk_100mhz>;
13555d0969cSKuldeep Singh			clock-names = "sspclk", "apb_pclk";
13641904360SSuravee Suthikulpanit			num-cs = <1>;
13741904360SSuravee Suthikulpanit			#address-cells = <1>;
13841904360SSuravee Suthikulpanit			#size-cells = <0>;
13941904360SSuravee Suthikulpanit		};
14041904360SSuravee Suthikulpanit
141ce00c22fSSuravee Suthikulpanit		gpio0: gpio@e1040000 { /* Not available to OS for B0 */
14241904360SSuravee Suthikulpanit			status = "disabled";
14341904360SSuravee Suthikulpanit			compatible = "arm,pl061", "arm,primecell";
14441904360SSuravee Suthikulpanit			#gpio-cells = <2>;
14541904360SSuravee Suthikulpanit			reg = <0 0xe1040000 0 0x1000>;
14641904360SSuravee Suthikulpanit			gpio-controller;
14741904360SSuravee Suthikulpanit			interrupts = <0 359 4>;
14841904360SSuravee Suthikulpanit			interrupt-controller;
14941904360SSuravee Suthikulpanit			#interrupt-cells = <2>;
150ce00c22fSSuravee Suthikulpanit			clocks = <&miscclk_250mhz>;
15141904360SSuravee Suthikulpanit			clock-names = "apb_pclk";
15241904360SSuravee Suthikulpanit		};
15341904360SSuravee Suthikulpanit
154ce00c22fSSuravee Suthikulpanit		gpio1: gpio@e1050000 { /* [0:7] */
15541904360SSuravee Suthikulpanit			status = "disabled";
15641904360SSuravee Suthikulpanit			compatible = "arm,pl061", "arm,primecell";
15741904360SSuravee Suthikulpanit			#gpio-cells = <2>;
15841904360SSuravee Suthikulpanit			reg = <0 0xe1050000 0 0x1000>;
15941904360SSuravee Suthikulpanit			gpio-controller;
160ce00c22fSSuravee Suthikulpanit			interrupt-controller;
161ce00c22fSSuravee Suthikulpanit			#interrupt-cells = <2>;
16241904360SSuravee Suthikulpanit			interrupts = <0 358 4>;
163ce00c22fSSuravee Suthikulpanit			clocks = <&miscclk_250mhz>;
164ce00c22fSSuravee Suthikulpanit			clock-names = "apb_pclk";
165ce00c22fSSuravee Suthikulpanit		};
166ce00c22fSSuravee Suthikulpanit
167ce00c22fSSuravee Suthikulpanit		gpio2: gpio@e0020000 { /* [8:15] */
168ce00c22fSSuravee Suthikulpanit			status = "disabled";
169ce00c22fSSuravee Suthikulpanit			compatible = "arm,pl061", "arm,primecell";
170ce00c22fSSuravee Suthikulpanit			#gpio-cells = <2>;
171ce00c22fSSuravee Suthikulpanit			reg = <0 0xe0020000 0 0x1000>;
172ce00c22fSSuravee Suthikulpanit			gpio-controller;
173ce00c22fSSuravee Suthikulpanit			interrupt-controller;
174ce00c22fSSuravee Suthikulpanit			#interrupt-cells = <2>;
175ce00c22fSSuravee Suthikulpanit			interrupts = <0 366 4>;
176ce00c22fSSuravee Suthikulpanit			clocks = <&miscclk_250mhz>;
177ce00c22fSSuravee Suthikulpanit			clock-names = "apb_pclk";
178ce00c22fSSuravee Suthikulpanit		};
179ce00c22fSSuravee Suthikulpanit
180ce00c22fSSuravee Suthikulpanit		gpio3: gpio@e0030000 { /* [16:23] */
181ce00c22fSSuravee Suthikulpanit			status = "disabled";
182ce00c22fSSuravee Suthikulpanit			compatible = "arm,pl061", "arm,primecell";
183ce00c22fSSuravee Suthikulpanit			#gpio-cells = <2>;
184ce00c22fSSuravee Suthikulpanit			reg = <0 0xe0030000 0 0x1000>;
185ce00c22fSSuravee Suthikulpanit			gpio-controller;
186ce00c22fSSuravee Suthikulpanit			interrupt-controller;
187ce00c22fSSuravee Suthikulpanit			#interrupt-cells = <2>;
188ce00c22fSSuravee Suthikulpanit			interrupts = <0 365 4>;
189ce00c22fSSuravee Suthikulpanit			clocks = <&miscclk_250mhz>;
190ce00c22fSSuravee Suthikulpanit			clock-names = "apb_pclk";
191ce00c22fSSuravee Suthikulpanit		};
192ce00c22fSSuravee Suthikulpanit
193ce00c22fSSuravee Suthikulpanit		gpio4: gpio@e0080000 { /* [24] */
194ce00c22fSSuravee Suthikulpanit			status = "disabled";
195ce00c22fSSuravee Suthikulpanit			compatible = "arm,pl061", "arm,primecell";
196ce00c22fSSuravee Suthikulpanit			#gpio-cells = <2>;
197ce00c22fSSuravee Suthikulpanit			reg = <0 0xe0080000 0 0x1000>;
198ce00c22fSSuravee Suthikulpanit			gpio-controller;
199ce00c22fSSuravee Suthikulpanit			interrupt-controller;
200ce00c22fSSuravee Suthikulpanit			#interrupt-cells = <2>;
201ce00c22fSSuravee Suthikulpanit			interrupts = <0 361 4>;
202ce00c22fSSuravee Suthikulpanit			clocks = <&miscclk_250mhz>;
20341904360SSuravee Suthikulpanit			clock-names = "apb_pclk";
20441904360SSuravee Suthikulpanit		};
20541904360SSuravee Suthikulpanit
20641904360SSuravee Suthikulpanit		ccp0: ccp@e0100000 {
20741904360SSuravee Suthikulpanit			status = "disabled";
20841904360SSuravee Suthikulpanit			compatible = "amd,ccp-seattle-v1a";
20941904360SSuravee Suthikulpanit			reg = <0 0xe0100000 0 0x10000>;
21041904360SSuravee Suthikulpanit			interrupts = <0 3 4>;
21141904360SSuravee Suthikulpanit			dma-coherent;
212429863e7SArd Biesheuvel			iommus = <&sata1_smmu 0x00>,
213429863e7SArd Biesheuvel				 <&sata1_smmu 0x02>,
214429863e7SArd Biesheuvel				 <&sata1_smmu 0x40>,
215429863e7SArd Biesheuvel				 <&sata1_smmu 0x42>;
21641904360SSuravee Suthikulpanit		};
21741904360SSuravee Suthikulpanit
21841904360SSuravee Suthikulpanit		pcie0: pcie@f0000000 {
21941904360SSuravee Suthikulpanit			compatible = "pci-host-ecam-generic";
22041904360SSuravee Suthikulpanit			#address-cells = <3>;
22141904360SSuravee Suthikulpanit			#size-cells = <2>;
22241904360SSuravee Suthikulpanit			#interrupt-cells = <1>;
22341904360SSuravee Suthikulpanit			device_type = "pci";
22470bcc9baSSuravee Suthikulpanit			bus-range = <0 0x7f>;
22541904360SSuravee Suthikulpanit			msi-parent = <&v2m0>;
22641904360SSuravee Suthikulpanit			reg = <0 0xf0000000 0 0x10000000>;
22741904360SSuravee Suthikulpanit
228acd9208eSArd Biesheuvel			interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
22941904360SSuravee Suthikulpanit			interrupt-map =
230acd9208eSArd Biesheuvel				<0x1100 0x0 0x0 0x1 &gic0 0x0 0x0 0x0 0x120 0x1>,
231acd9208eSArd Biesheuvel				<0x1100 0x0 0x0 0x2 &gic0 0x0 0x0 0x0 0x121 0x1>,
232acd9208eSArd Biesheuvel				<0x1100 0x0 0x0 0x3 &gic0 0x0 0x0 0x0 0x122 0x1>,
233acd9208eSArd Biesheuvel				<0x1100 0x0 0x0 0x4 &gic0 0x0 0x0 0x0 0x123 0x1>,
234acd9208eSArd Biesheuvel
235acd9208eSArd Biesheuvel				<0x1200 0x0 0x0 0x1 &gic0 0x0 0x0 0x0 0x124 0x1>,
236acd9208eSArd Biesheuvel				<0x1200 0x0 0x0 0x2 &gic0 0x0 0x0 0x0 0x125 0x1>,
237acd9208eSArd Biesheuvel				<0x1200 0x0 0x0 0x3 &gic0 0x0 0x0 0x0 0x126 0x1>,
238acd9208eSArd Biesheuvel				<0x1200 0x0 0x0 0x4 &gic0 0x0 0x0 0x0 0x127 0x1>,
239acd9208eSArd Biesheuvel
240acd9208eSArd Biesheuvel				<0x1300 0x0 0x0 0x1 &gic0 0x0 0x0 0x0 0x128 0x1>,
241acd9208eSArd Biesheuvel				<0x1300 0x0 0x0 0x2 &gic0 0x0 0x0 0x0 0x129 0x1>,
242acd9208eSArd Biesheuvel				<0x1300 0x0 0x0 0x3 &gic0 0x0 0x0 0x0 0x12a 0x1>,
243acd9208eSArd Biesheuvel				<0x1300 0x0 0x0 0x4 &gic0 0x0 0x0 0x0 0x12b 0x1>;
24441904360SSuravee Suthikulpanit
24541904360SSuravee Suthikulpanit			dma-coherent;
246c91cb912SSuravee Suthikulpanit			dma-ranges = <0x43000000 0x0 0x0 0x0 0x0 0x100 0x0>;
24741904360SSuravee Suthikulpanit			ranges =
24841904360SSuravee Suthikulpanit				/* I/O Memory (size=64K) */
24941904360SSuravee Suthikulpanit				<0x01000000 0x00 0x00000000 0x00 0xefff0000 0x00 0x00010000>,
25041904360SSuravee Suthikulpanit				/* 32-bit MMIO (size=2G) */
25141904360SSuravee Suthikulpanit				<0x02000000 0x00 0x40000000 0x00 0x40000000 0x00 0x80000000>,
252acd9208eSArd Biesheuvel				/* 64-bit MMIO (size= 508G) */
25341904360SSuravee Suthikulpanit				<0x03000000 0x01 0x00000000 0x01 0x00000000 0x7f 0x00000000>;
254dd5c1606SArd Biesheuvel			iommu-map = <0x0 &pcie_smmu 0x0 0x10000>;
255dd5c1606SArd Biesheuvel		};
256dd5c1606SArd Biesheuvel
257dd5c1606SArd Biesheuvel		pcie_smmu: iommu@e0a00000 {
258dd5c1606SArd Biesheuvel			compatible = "arm,mmu-401";
259dd5c1606SArd Biesheuvel			reg = <0 0xe0a00000 0 0x10000>;
260dd5c1606SArd Biesheuvel			#global-interrupts = <1>;
261dd5c1606SArd Biesheuvel			interrupts = <0 333 4>, <0 333 4>;
262dd5c1606SArd Biesheuvel			#iommu-cells = <1>;
263dd5c1606SArd Biesheuvel			dma-coherent;
26441904360SSuravee Suthikulpanit		};
265fb8d5e09SSuravee Suthikulpanit
266fb8d5e09SSuravee Suthikulpanit		/* Perf CCN504 PMU */
26718f94513SSuravee Suthikulpanit		ccn: ccn@e8000000 {
268fb8d5e09SSuravee Suthikulpanit			compatible = "arm,ccn-504";
269fb8d5e09SSuravee Suthikulpanit			reg = <0x0 0xe8000000 0 0x1000000>;
270fb8d5e09SSuravee Suthikulpanit			interrupts = <0 380 4>;
271fb8d5e09SSuravee Suthikulpanit		};
27271edbebbSBrijesh Singh
27371edbebbSBrijesh Singh		ipmi_kcs: kcs@e0010000 {
27471edbebbSBrijesh Singh			status = "disabled";
27571edbebbSBrijesh Singh			compatible = "ipmi-kcs";
27671edbebbSBrijesh Singh			device_type = "ipmi";
27771edbebbSBrijesh Singh			reg = <0x0 0xe0010000 0 0x8>;
27871edbebbSBrijesh Singh			interrupts = <0 389 4>;
27971edbebbSBrijesh Singh			reg-size = <1>;
28071edbebbSBrijesh Singh			reg-spacing = <4>;
28171edbebbSBrijesh Singh		};
28241904360SSuravee Suthikulpanit	};
28341904360SSuravee Suthikulpanit};
284