162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * DTS file for AMD Seattle SoC 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2014 Advanced Micro Devices, Inc. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci compatible = "amd,seattle"; 1062306a36Sopenharmony_ci interrupt-parent = <&gic0>; 1162306a36Sopenharmony_ci #address-cells = <2>; 1262306a36Sopenharmony_ci #size-cells = <2>; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci gic0: interrupt-controller@e1101000 { 1562306a36Sopenharmony_ci compatible = "arm,gic-400", "arm,cortex-a15-gic"; 1662306a36Sopenharmony_ci interrupt-controller; 1762306a36Sopenharmony_ci #interrupt-cells = <3>; 1862306a36Sopenharmony_ci #address-cells = <2>; 1962306a36Sopenharmony_ci #size-cells = <2>; 2062306a36Sopenharmony_ci reg = <0x0 0xe1110000 0 0x1000>, 2162306a36Sopenharmony_ci <0x0 0xe112f000 0 0x2000>, 2262306a36Sopenharmony_ci <0x0 0xe1140000 0 0x2000>, 2362306a36Sopenharmony_ci <0x0 0xe1160000 0 0x2000>; 2462306a36Sopenharmony_ci interrupts = <1 9 0xf04>; 2562306a36Sopenharmony_ci ranges = <0 0 0 0xe1100000 0 0x100000>; 2662306a36Sopenharmony_ci v2m0: v2m@e0080000 { 2762306a36Sopenharmony_ci compatible = "arm,gic-v2m-frame"; 2862306a36Sopenharmony_ci msi-controller; 2962306a36Sopenharmony_ci reg = <0x0 0x00080000 0 0x1000>; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci timer { 3462306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 3562306a36Sopenharmony_ci interrupts = <1 13 0xff04>, 3662306a36Sopenharmony_ci <1 14 0xff04>, 3762306a36Sopenharmony_ci <1 11 0xff04>, 3862306a36Sopenharmony_ci <1 10 0xff04>; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci smb0: smb { 4262306a36Sopenharmony_ci compatible = "simple-bus"; 4362306a36Sopenharmony_ci #address-cells = <2>; 4462306a36Sopenharmony_ci #size-cells = <2>; 4562306a36Sopenharmony_ci ranges; 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci /* 4862306a36Sopenharmony_ci * dma-ranges is 40-bit address space containing: 4962306a36Sopenharmony_ci * - GICv2m MSI register is at 0xe0080000 5062306a36Sopenharmony_ci * - DRAM range [0x8000000000 to 0xffffffffff] 5162306a36Sopenharmony_ci */ 5262306a36Sopenharmony_ci dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci /include/ "amd-seattle-clks.dtsi" 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci sata0: sata@e0300000 { 5762306a36Sopenharmony_ci compatible = "snps,dwc-ahci"; 5862306a36Sopenharmony_ci reg = <0 0xe0300000 0 0xf0000>; 5962306a36Sopenharmony_ci interrupts = <0 355 4>; 6062306a36Sopenharmony_ci clocks = <&sataclk_333mhz>; 6162306a36Sopenharmony_ci iommus = <&sata0_smmu 0x0 0x1f>; 6262306a36Sopenharmony_ci dma-coherent; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci /* This is for Rev B only */ 6662306a36Sopenharmony_ci sata1: sata@e0d00000 { 6762306a36Sopenharmony_ci status = "disabled"; 6862306a36Sopenharmony_ci compatible = "snps,dwc-ahci"; 6962306a36Sopenharmony_ci reg = <0 0xe0d00000 0 0xf0000>; 7062306a36Sopenharmony_ci interrupts = <0 354 4>; 7162306a36Sopenharmony_ci clocks = <&sataclk_333mhz>; 7262306a36Sopenharmony_ci iommus = <&sata1_smmu 0x0e>, 7362306a36Sopenharmony_ci <&sata1_smmu 0x0f>, 7462306a36Sopenharmony_ci <&sata1_smmu 0x1e>; 7562306a36Sopenharmony_ci dma-coherent; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci sata0_smmu: iommu@e0200000 { 7962306a36Sopenharmony_ci compatible = "arm,mmu-401"; 8062306a36Sopenharmony_ci reg = <0 0xe0200000 0 0x10000>; 8162306a36Sopenharmony_ci #global-interrupts = <1>; 8262306a36Sopenharmony_ci interrupts = <0 332 4>, <0 332 4>; 8362306a36Sopenharmony_ci #iommu-cells = <2>; 8462306a36Sopenharmony_ci dma-coherent; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci sata1_smmu: iommu@e0c00000 { 8862306a36Sopenharmony_ci compatible = "arm,mmu-401"; 8962306a36Sopenharmony_ci reg = <0 0xe0c00000 0 0x10000>; 9062306a36Sopenharmony_ci #global-interrupts = <1>; 9162306a36Sopenharmony_ci interrupts = <0 331 4>, <0 331 4>; 9262306a36Sopenharmony_ci #iommu-cells = <1>; 9362306a36Sopenharmony_ci dma-coherent; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci i2c0: i2c@e1000000 { 9762306a36Sopenharmony_ci status = "disabled"; 9862306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 9962306a36Sopenharmony_ci reg = <0 0xe1000000 0 0x1000>; 10062306a36Sopenharmony_ci interrupts = <0 357 4>; 10162306a36Sopenharmony_ci clocks = <&miscclk_250mhz>; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci i2c1: i2c@e0050000 { 10562306a36Sopenharmony_ci status = "disabled"; 10662306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 10762306a36Sopenharmony_ci reg = <0 0xe0050000 0 0x1000>; 10862306a36Sopenharmony_ci interrupts = <0 340 4>; 10962306a36Sopenharmony_ci clocks = <&miscclk_250mhz>; 11062306a36Sopenharmony_ci }; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci serial0: serial@e1010000 { 11362306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 11462306a36Sopenharmony_ci reg = <0 0xe1010000 0 0x1000>; 11562306a36Sopenharmony_ci interrupts = <0 328 4>; 11662306a36Sopenharmony_ci clocks = <&uartspiclk_100mhz>, <&uartspiclk_100mhz>; 11762306a36Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 11862306a36Sopenharmony_ci }; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci spi0: spi@e1020000 { 12162306a36Sopenharmony_ci status = "disabled"; 12262306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 12362306a36Sopenharmony_ci reg = <0 0xe1020000 0 0x1000>; 12462306a36Sopenharmony_ci spi-controller; 12562306a36Sopenharmony_ci interrupts = <0 330 4>; 12662306a36Sopenharmony_ci clocks = <&uartspiclk_100mhz>; 12762306a36Sopenharmony_ci clock-names = "apb_pclk"; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci spi1: spi@e1030000 { 13162306a36Sopenharmony_ci status = "disabled"; 13262306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 13362306a36Sopenharmony_ci reg = <0 0xe1030000 0 0x1000>; 13462306a36Sopenharmony_ci spi-controller; 13562306a36Sopenharmony_ci interrupts = <0 329 4>; 13662306a36Sopenharmony_ci clocks = <&uartspiclk_100mhz>; 13762306a36Sopenharmony_ci clock-names = "apb_pclk"; 13862306a36Sopenharmony_ci num-cs = <1>; 13962306a36Sopenharmony_ci #address-cells = <1>; 14062306a36Sopenharmony_ci #size-cells = <0>; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci gpio0: gpio@e1040000 { /* Not available to OS for B0 */ 14462306a36Sopenharmony_ci status = "disabled"; 14562306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 14662306a36Sopenharmony_ci #gpio-cells = <2>; 14762306a36Sopenharmony_ci reg = <0 0xe1040000 0 0x1000>; 14862306a36Sopenharmony_ci gpio-controller; 14962306a36Sopenharmony_ci interrupts = <0 359 4>; 15062306a36Sopenharmony_ci interrupt-controller; 15162306a36Sopenharmony_ci #interrupt-cells = <2>; 15262306a36Sopenharmony_ci clocks = <&miscclk_250mhz>; 15362306a36Sopenharmony_ci clock-names = "apb_pclk"; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci gpio1: gpio@e1050000 { /* [0:7] */ 15762306a36Sopenharmony_ci status = "disabled"; 15862306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 15962306a36Sopenharmony_ci #gpio-cells = <2>; 16062306a36Sopenharmony_ci reg = <0 0xe1050000 0 0x1000>; 16162306a36Sopenharmony_ci gpio-controller; 16262306a36Sopenharmony_ci interrupt-controller; 16362306a36Sopenharmony_ci #interrupt-cells = <2>; 16462306a36Sopenharmony_ci interrupts = <0 358 4>; 16562306a36Sopenharmony_ci clocks = <&miscclk_250mhz>; 16662306a36Sopenharmony_ci clock-names = "apb_pclk"; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci gpio2: gpio@e0020000 { /* [8:15] */ 17062306a36Sopenharmony_ci status = "disabled"; 17162306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 17262306a36Sopenharmony_ci #gpio-cells = <2>; 17362306a36Sopenharmony_ci reg = <0 0xe0020000 0 0x1000>; 17462306a36Sopenharmony_ci gpio-controller; 17562306a36Sopenharmony_ci interrupt-controller; 17662306a36Sopenharmony_ci #interrupt-cells = <2>; 17762306a36Sopenharmony_ci interrupts = <0 366 4>; 17862306a36Sopenharmony_ci clocks = <&miscclk_250mhz>; 17962306a36Sopenharmony_ci clock-names = "apb_pclk"; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci gpio3: gpio@e0030000 { /* [16:23] */ 18362306a36Sopenharmony_ci status = "disabled"; 18462306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 18562306a36Sopenharmony_ci #gpio-cells = <2>; 18662306a36Sopenharmony_ci reg = <0 0xe0030000 0 0x1000>; 18762306a36Sopenharmony_ci gpio-controller; 18862306a36Sopenharmony_ci interrupt-controller; 18962306a36Sopenharmony_ci #interrupt-cells = <2>; 19062306a36Sopenharmony_ci interrupts = <0 365 4>; 19162306a36Sopenharmony_ci clocks = <&miscclk_250mhz>; 19262306a36Sopenharmony_ci clock-names = "apb_pclk"; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci gpio4: gpio@e0080000 { /* [24] */ 19662306a36Sopenharmony_ci status = "disabled"; 19762306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 19862306a36Sopenharmony_ci #gpio-cells = <2>; 19962306a36Sopenharmony_ci reg = <0 0xe0080000 0 0x1000>; 20062306a36Sopenharmony_ci gpio-controller; 20162306a36Sopenharmony_ci interrupt-controller; 20262306a36Sopenharmony_ci #interrupt-cells = <2>; 20362306a36Sopenharmony_ci interrupts = <0 361 4>; 20462306a36Sopenharmony_ci clocks = <&miscclk_250mhz>; 20562306a36Sopenharmony_ci clock-names = "apb_pclk"; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci ccp0: ccp@e0100000 { 20962306a36Sopenharmony_ci status = "disabled"; 21062306a36Sopenharmony_ci compatible = "amd,ccp-seattle-v1a"; 21162306a36Sopenharmony_ci reg = <0 0xe0100000 0 0x10000>; 21262306a36Sopenharmony_ci interrupts = <0 3 4>; 21362306a36Sopenharmony_ci dma-coherent; 21462306a36Sopenharmony_ci iommus = <&sata1_smmu 0x00>, 21562306a36Sopenharmony_ci <&sata1_smmu 0x02>, 21662306a36Sopenharmony_ci <&sata1_smmu 0x40>, 21762306a36Sopenharmony_ci <&sata1_smmu 0x42>; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci pcie0: pcie@f0000000 { 22162306a36Sopenharmony_ci compatible = "pci-host-ecam-generic"; 22262306a36Sopenharmony_ci #address-cells = <3>; 22362306a36Sopenharmony_ci #size-cells = <2>; 22462306a36Sopenharmony_ci #interrupt-cells = <1>; 22562306a36Sopenharmony_ci device_type = "pci"; 22662306a36Sopenharmony_ci bus-range = <0 0x7f>; 22762306a36Sopenharmony_ci msi-parent = <&v2m0>; 22862306a36Sopenharmony_ci reg = <0 0xf0000000 0 0x10000000>; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci interrupt-map-mask = <0xff00 0x0 0x0 0x7>; 23162306a36Sopenharmony_ci interrupt-map = 23262306a36Sopenharmony_ci <0x1100 0x0 0x0 0x1 &gic0 0x0 0x0 0x0 0x120 0x1>, 23362306a36Sopenharmony_ci <0x1100 0x0 0x0 0x2 &gic0 0x0 0x0 0x0 0x121 0x1>, 23462306a36Sopenharmony_ci <0x1100 0x0 0x0 0x3 &gic0 0x0 0x0 0x0 0x122 0x1>, 23562306a36Sopenharmony_ci <0x1100 0x0 0x0 0x4 &gic0 0x0 0x0 0x0 0x123 0x1>, 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci <0x1200 0x0 0x0 0x1 &gic0 0x0 0x0 0x0 0x124 0x1>, 23862306a36Sopenharmony_ci <0x1200 0x0 0x0 0x2 &gic0 0x0 0x0 0x0 0x125 0x1>, 23962306a36Sopenharmony_ci <0x1200 0x0 0x0 0x3 &gic0 0x0 0x0 0x0 0x126 0x1>, 24062306a36Sopenharmony_ci <0x1200 0x0 0x0 0x4 &gic0 0x0 0x0 0x0 0x127 0x1>, 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci <0x1300 0x0 0x0 0x1 &gic0 0x0 0x0 0x0 0x128 0x1>, 24362306a36Sopenharmony_ci <0x1300 0x0 0x0 0x2 &gic0 0x0 0x0 0x0 0x129 0x1>, 24462306a36Sopenharmony_ci <0x1300 0x0 0x0 0x3 &gic0 0x0 0x0 0x0 0x12a 0x1>, 24562306a36Sopenharmony_ci <0x1300 0x0 0x0 0x4 &gic0 0x0 0x0 0x0 0x12b 0x1>; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci dma-coherent; 24862306a36Sopenharmony_ci dma-ranges = <0x43000000 0x0 0x0 0x0 0x0 0x100 0x0>; 24962306a36Sopenharmony_ci ranges = 25062306a36Sopenharmony_ci /* I/O Memory (size=64K) */ 25162306a36Sopenharmony_ci <0x01000000 0x00 0x00000000 0x00 0xefff0000 0x00 0x00010000>, 25262306a36Sopenharmony_ci /* 32-bit MMIO (size=2G) */ 25362306a36Sopenharmony_ci <0x02000000 0x00 0x40000000 0x00 0x40000000 0x00 0x80000000>, 25462306a36Sopenharmony_ci /* 64-bit MMIO (size= 508G) */ 25562306a36Sopenharmony_ci <0x03000000 0x01 0x00000000 0x01 0x00000000 0x7f 0x00000000>; 25662306a36Sopenharmony_ci iommu-map = <0x0 &pcie_smmu 0x0 0x10000>; 25762306a36Sopenharmony_ci }; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci pcie_smmu: iommu@e0a00000 { 26062306a36Sopenharmony_ci compatible = "arm,mmu-401"; 26162306a36Sopenharmony_ci reg = <0 0xe0a00000 0 0x10000>; 26262306a36Sopenharmony_ci #global-interrupts = <1>; 26362306a36Sopenharmony_ci interrupts = <0 333 4>, <0 333 4>; 26462306a36Sopenharmony_ci #iommu-cells = <1>; 26562306a36Sopenharmony_ci dma-coherent; 26662306a36Sopenharmony_ci }; 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci /* Perf CCN504 PMU */ 26962306a36Sopenharmony_ci ccn: ccn@e8000000 { 27062306a36Sopenharmony_ci compatible = "arm,ccn-504"; 27162306a36Sopenharmony_ci reg = <0x0 0xe8000000 0 0x1000000>; 27262306a36Sopenharmony_ci interrupts = <0 380 4>; 27362306a36Sopenharmony_ci }; 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ci ipmi_kcs: kcs@e0010000 { 27662306a36Sopenharmony_ci status = "disabled"; 27762306a36Sopenharmony_ci compatible = "ipmi-kcs"; 27862306a36Sopenharmony_ci device_type = "ipmi"; 27962306a36Sopenharmony_ci reg = <0x0 0xe0010000 0 0x8>; 28062306a36Sopenharmony_ci interrupts = <0 389 4>; 28162306a36Sopenharmony_ci reg-size = <1>; 28262306a36Sopenharmony_ci reg-spacing = <4>; 28362306a36Sopenharmony_ci }; 28462306a36Sopenharmony_ci }; 28562306a36Sopenharmony_ci}; 286