19952f691SThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only 278cd6a9dSDinh Nguyen/* 378cd6a9dSDinh Nguyen * Copyright Altera Corporation (C) 2015. All rights reserved. 478cd6a9dSDinh Nguyen */ 578cd6a9dSDinh Nguyen 678cd6a9dSDinh Nguyen/dts-v1/; 7e519922eSDinh Nguyen#include <dt-bindings/reset/altr,rst-mgr-s10.h> 85a0e622eSAlan Tull#include <dt-bindings/gpio/gpio.h> 9d93101abSDinh Nguyen#include <dt-bindings/clock/stratix10-clock.h> 1078cd6a9dSDinh Nguyen 1178cd6a9dSDinh Nguyen/ { 1278cd6a9dSDinh Nguyen compatible = "altr,socfpga-stratix10"; 1378cd6a9dSDinh Nguyen #address-cells = <2>; 1478cd6a9dSDinh Nguyen #size-cells = <2>; 1578cd6a9dSDinh Nguyen 16adb9e354SRichard Gong reserved-memory { 17adb9e354SRichard Gong #address-cells = <2>; 18adb9e354SRichard Gong #size-cells = <2>; 19adb9e354SRichard Gong ranges; 20adb9e354SRichard Gong 21adb9e354SRichard Gong service_reserved: svcbuffer@0 { 22adb9e354SRichard Gong compatible = "shared-dma-pool"; 23adb9e354SRichard Gong reg = <0x0 0x0 0x0 0x1000000>; 24adb9e354SRichard Gong alignment = <0x1000>; 25adb9e354SRichard Gong no-map; 26adb9e354SRichard Gong }; 27adb9e354SRichard Gong }; 28adb9e354SRichard Gong 2978cd6a9dSDinh Nguyen cpus { 3078cd6a9dSDinh Nguyen #address-cells = <1>; 3178cd6a9dSDinh Nguyen #size-cells = <0>; 3278cd6a9dSDinh Nguyen 3378cd6a9dSDinh Nguyen cpu0: cpu@0 { 3431af04cdSRob Herring compatible = "arm,cortex-a53"; 3578cd6a9dSDinh Nguyen device_type = "cpu"; 3678cd6a9dSDinh Nguyen enable-method = "psci"; 37*1536dc8eSBeniamin Sandu next-level-cache = <&l2_shared>; 3878cd6a9dSDinh Nguyen reg = <0x0>; 3978cd6a9dSDinh Nguyen }; 4078cd6a9dSDinh Nguyen 4178cd6a9dSDinh Nguyen cpu1: cpu@1 { 4231af04cdSRob Herring compatible = "arm,cortex-a53"; 4378cd6a9dSDinh Nguyen device_type = "cpu"; 4478cd6a9dSDinh Nguyen enable-method = "psci"; 45*1536dc8eSBeniamin Sandu next-level-cache = <&l2_shared>; 4678cd6a9dSDinh Nguyen reg = <0x1>; 4778cd6a9dSDinh Nguyen }; 4878cd6a9dSDinh Nguyen 4978cd6a9dSDinh Nguyen cpu2: cpu@2 { 5031af04cdSRob Herring compatible = "arm,cortex-a53"; 5178cd6a9dSDinh Nguyen device_type = "cpu"; 5278cd6a9dSDinh Nguyen enable-method = "psci"; 53*1536dc8eSBeniamin Sandu next-level-cache = <&l2_shared>; 5478cd6a9dSDinh Nguyen reg = <0x2>; 5578cd6a9dSDinh Nguyen }; 5678cd6a9dSDinh Nguyen 5778cd6a9dSDinh Nguyen cpu3: cpu@3 { 5831af04cdSRob Herring compatible = "arm,cortex-a53"; 5978cd6a9dSDinh Nguyen device_type = "cpu"; 6078cd6a9dSDinh Nguyen enable-method = "psci"; 61*1536dc8eSBeniamin Sandu next-level-cache = <&l2_shared>; 6278cd6a9dSDinh Nguyen reg = <0x3>; 6378cd6a9dSDinh Nguyen }; 64*1536dc8eSBeniamin Sandu 65*1536dc8eSBeniamin Sandu l2_shared: cache { 66*1536dc8eSBeniamin Sandu compatible = "cache"; 67*1536dc8eSBeniamin Sandu cache-level = <2>; 68*1536dc8eSBeniamin Sandu cache-unified; 69*1536dc8eSBeniamin Sandu }; 7078cd6a9dSDinh Nguyen }; 7178cd6a9dSDinh Nguyen 729fc0511aSKrzysztof Kozlowski firmware { 739fc0511aSKrzysztof Kozlowski svc { 749fc0511aSKrzysztof Kozlowski compatible = "intel,stratix10-svc"; 759fc0511aSKrzysztof Kozlowski method = "smc"; 769fc0511aSKrzysztof Kozlowski memory-region = <&service_reserved>; 779fc0511aSKrzysztof Kozlowski 789fc0511aSKrzysztof Kozlowski fpga_mgr: fpga-mgr { 799fc0511aSKrzysztof Kozlowski compatible = "intel,stratix10-soc-fpga-mgr"; 809fc0511aSKrzysztof Kozlowski }; 819fc0511aSKrzysztof Kozlowski }; 829fc0511aSKrzysztof Kozlowski }; 839fc0511aSKrzysztof Kozlowski 845c8f036fSKrzysztof Kozlowski fpga-region { 855c8f036fSKrzysztof Kozlowski compatible = "fpga-region"; 865c8f036fSKrzysztof Kozlowski #address-cells = <0x2>; 875c8f036fSKrzysztof Kozlowski #size-cells = <0x2>; 885c8f036fSKrzysztof Kozlowski fpga-mgr = <&fpga_mgr>; 895c8f036fSKrzysztof Kozlowski }; 905c8f036fSKrzysztof Kozlowski 9178cd6a9dSDinh Nguyen pmu { 928b40a469SRob Herring compatible = "arm,cortex-a53-pmu"; 93210de0e9SDinh Nguyen interrupts = <0 170 4>, 94210de0e9SDinh Nguyen <0 171 4>, 95210de0e9SDinh Nguyen <0 172 4>, 96210de0e9SDinh Nguyen <0 173 4>; 9778cd6a9dSDinh Nguyen interrupt-affinity = <&cpu0>, 9878cd6a9dSDinh Nguyen <&cpu1>, 9978cd6a9dSDinh Nguyen <&cpu2>, 10078cd6a9dSDinh Nguyen <&cpu3>; 10169c4d8edSArnd Bergmann interrupt-parent = <&intc>; 10278cd6a9dSDinh Nguyen }; 10378cd6a9dSDinh Nguyen 10478cd6a9dSDinh Nguyen psci { 10578cd6a9dSDinh Nguyen compatible = "arm,psci-0.2"; 10678cd6a9dSDinh Nguyen method = "smc"; 10778cd6a9dSDinh Nguyen }; 10878cd6a9dSDinh Nguyen 10979f1db27SKrzysztof Kozlowski /* Local timer */ 11079f1db27SKrzysztof Kozlowski timer { 11179f1db27SKrzysztof Kozlowski compatible = "arm,armv8-timer"; 11279f1db27SKrzysztof Kozlowski interrupts = <1 13 0xf08>, 11379f1db27SKrzysztof Kozlowski <1 14 0xf08>, 11479f1db27SKrzysztof Kozlowski <1 11 0xf08>, 11579f1db27SKrzysztof Kozlowski <1 10 0xf08>; 11679f1db27SKrzysztof Kozlowski interrupt-parent = <&intc>; 11779f1db27SKrzysztof Kozlowski }; 11879f1db27SKrzysztof Kozlowski 119681a5c71SKrzysztof Kozlowski intc: interrupt-controller@fffc1000 { 12078cd6a9dSDinh Nguyen compatible = "arm,gic-400", "arm,cortex-a15-gic"; 12178cd6a9dSDinh Nguyen #interrupt-cells = <3>; 12278cd6a9dSDinh Nguyen interrupt-controller; 123f973bfa0SDinh Nguyen reg = <0x0 0xfffc1000 0x0 0x1000>, 124f973bfa0SDinh Nguyen <0x0 0xfffc2000 0x0 0x2000>, 125f973bfa0SDinh Nguyen <0x0 0xfffc4000 0x0 0x2000>, 126f973bfa0SDinh Nguyen <0x0 0xfffc6000 0x0 0x2000>; 12778cd6a9dSDinh Nguyen }; 12878cd6a9dSDinh Nguyen 129d93101abSDinh Nguyen clocks { 130d93101abSDinh Nguyen cb_intosc_hs_div2_clk: cb-intosc-hs-div2-clk { 131d93101abSDinh Nguyen #clock-cells = <0>; 132d93101abSDinh Nguyen compatible = "fixed-clock"; 133d93101abSDinh Nguyen }; 134d93101abSDinh Nguyen 135d93101abSDinh Nguyen cb_intosc_ls_clk: cb-intosc-ls-clk { 136d93101abSDinh Nguyen #clock-cells = <0>; 137d93101abSDinh Nguyen compatible = "fixed-clock"; 138d93101abSDinh Nguyen }; 139d93101abSDinh Nguyen 140d93101abSDinh Nguyen f2s_free_clk: f2s-free-clk { 141d93101abSDinh Nguyen #clock-cells = <0>; 142d93101abSDinh Nguyen compatible = "fixed-clock"; 143d93101abSDinh Nguyen }; 144d93101abSDinh Nguyen 145d93101abSDinh Nguyen osc1: osc1 { 146d93101abSDinh Nguyen #clock-cells = <0>; 147d93101abSDinh Nguyen compatible = "fixed-clock"; 148d93101abSDinh Nguyen }; 1490cb140d0SThor Thayer 1500cb140d0SThor Thayer qspi_clk: qspi-clk { 1510cb140d0SThor Thayer #clock-cells = <0>; 1520cb140d0SThor Thayer compatible = "fixed-clock"; 1530cb140d0SThor Thayer clock-frequency = <200000000>; 1540cb140d0SThor Thayer }; 15578cd6a9dSDinh Nguyen }; 15678cd6a9dSDinh Nguyen 1575e53525fSKrzysztof Kozlowski soc@0 { 158357513c0SNiravkumar L Rabara #address-cells = <1>; 159357513c0SNiravkumar L Rabara #size-cells = <1>; 160357513c0SNiravkumar L Rabara compatible = "simple-bus"; 161357513c0SNiravkumar L Rabara device_type = "soc"; 162357513c0SNiravkumar L Rabara interrupt-parent = <&intc>; 163357513c0SNiravkumar L Rabara ranges = <0 0 0 0xffffffff>; 164357513c0SNiravkumar L Rabara 165357513c0SNiravkumar L Rabara clkmgr: clock-controller@ffd10000 { 166357513c0SNiravkumar L Rabara compatible = "intel,stratix10-clkmgr"; 167357513c0SNiravkumar L Rabara reg = <0xffd10000 0x1000>; 168357513c0SNiravkumar L Rabara #clock-cells = <1>; 169357513c0SNiravkumar L Rabara }; 170357513c0SNiravkumar L Rabara 17178cd6a9dSDinh Nguyen gmac0: ethernet@ff800000 { 1729aa0cae1SDinh Nguyen compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; 17378cd6a9dSDinh Nguyen reg = <0xff800000 0x2000>; 17478cd6a9dSDinh Nguyen interrupts = <0 90 4>; 17578cd6a9dSDinh Nguyen interrupt-names = "macirq"; 17678cd6a9dSDinh Nguyen mac-address = [00 00 00 00 00 00]; 17705690e8aSDinh Nguyen resets = <&rst EMAC0_RESET>, <&rst EMAC0_OCP_RESET>; 178331085a4SDinh Nguyen reset-names = "stmmaceth", "ahb"; 1796e043c65SDinh Nguyen clocks = <&clkmgr STRATIX10_EMAC0_CLK>, <&clkmgr STRATIX10_EMAC_PTP_CLK>; 1806e043c65SDinh Nguyen clock-names = "stmmaceth", "ptp_ref"; 181a27460c9SThor Thayer tx-fifo-depth = <16384>; 182a27460c9SThor Thayer rx-fifo-depth = <16384>; 183fd5ba6eeSAaro Koskinen snps,multicast-filter-bins = <256>; 184ae3f46c8SThor Thayer iommus = <&smmu 1>; 1858efd6365SDinh Nguyen altr,sysmgr-syscon = <&sysmgr 0x44 0>; 18678cd6a9dSDinh Nguyen status = "disabled"; 18778cd6a9dSDinh Nguyen }; 18878cd6a9dSDinh Nguyen 18978cd6a9dSDinh Nguyen gmac1: ethernet@ff802000 { 1909aa0cae1SDinh Nguyen compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; 19178cd6a9dSDinh Nguyen reg = <0xff802000 0x2000>; 19278cd6a9dSDinh Nguyen interrupts = <0 91 4>; 19378cd6a9dSDinh Nguyen interrupt-names = "macirq"; 19478cd6a9dSDinh Nguyen mac-address = [00 00 00 00 00 00]; 19505690e8aSDinh Nguyen resets = <&rst EMAC1_RESET>, <&rst EMAC1_OCP_RESET>; 196331085a4SDinh Nguyen reset-names = "stmmaceth", "ahb"; 1976e043c65SDinh Nguyen clocks = <&clkmgr STRATIX10_EMAC1_CLK>, <&clkmgr STRATIX10_EMAC_PTP_CLK>; 1986e043c65SDinh Nguyen clock-names = "stmmaceth", "ptp_ref"; 199a27460c9SThor Thayer tx-fifo-depth = <16384>; 200a27460c9SThor Thayer rx-fifo-depth = <16384>; 201fd5ba6eeSAaro Koskinen snps,multicast-filter-bins = <256>; 202ae3f46c8SThor Thayer iommus = <&smmu 2>; 2039aa0cae1SDinh Nguyen altr,sysmgr-syscon = <&sysmgr 0x48 8>; 20478cd6a9dSDinh Nguyen status = "disabled"; 20578cd6a9dSDinh Nguyen }; 20678cd6a9dSDinh Nguyen 20778cd6a9dSDinh Nguyen gmac2: ethernet@ff804000 { 2089aa0cae1SDinh Nguyen compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; 20978cd6a9dSDinh Nguyen reg = <0xff804000 0x2000>; 21078cd6a9dSDinh Nguyen interrupts = <0 92 4>; 21178cd6a9dSDinh Nguyen interrupt-names = "macirq"; 21278cd6a9dSDinh Nguyen mac-address = [00 00 00 00 00 00]; 21305690e8aSDinh Nguyen resets = <&rst EMAC2_RESET>, <&rst EMAC2_OCP_RESET>; 214331085a4SDinh Nguyen reset-names = "stmmaceth", "ahb"; 2156e043c65SDinh Nguyen clocks = <&clkmgr STRATIX10_EMAC2_CLK>, <&clkmgr STRATIX10_EMAC_PTP_CLK>; 2166e043c65SDinh Nguyen clock-names = "stmmaceth", "ptp_ref"; 217a27460c9SThor Thayer tx-fifo-depth = <16384>; 218a27460c9SThor Thayer rx-fifo-depth = <16384>; 219fd5ba6eeSAaro Koskinen snps,multicast-filter-bins = <256>; 220ae3f46c8SThor Thayer iommus = <&smmu 3>; 2219aa0cae1SDinh Nguyen altr,sysmgr-syscon = <&sysmgr 0x4c 16>; 22278cd6a9dSDinh Nguyen status = "disabled"; 22378cd6a9dSDinh Nguyen }; 22478cd6a9dSDinh Nguyen 22578cd6a9dSDinh Nguyen gpio0: gpio@ffc03200 { 22678cd6a9dSDinh Nguyen #address-cells = <1>; 22778cd6a9dSDinh Nguyen #size-cells = <0>; 22878cd6a9dSDinh Nguyen compatible = "snps,dw-apb-gpio"; 22978cd6a9dSDinh Nguyen reg = <0xffc03200 0x100>; 230788251faSDinh Nguyen resets = <&rst GPIO0_RESET>; 23178cd6a9dSDinh Nguyen status = "disabled"; 23278cd6a9dSDinh Nguyen 23378cd6a9dSDinh Nguyen porta: gpio-controller@0 { 23478cd6a9dSDinh Nguyen compatible = "snps,dw-apb-gpio-port"; 23578cd6a9dSDinh Nguyen gpio-controller; 23678cd6a9dSDinh Nguyen #gpio-cells = <2>; 23762b3c680SJisheng Zhang ngpios = <24>; 23878cd6a9dSDinh Nguyen reg = <0>; 23978cd6a9dSDinh Nguyen interrupt-controller; 24078cd6a9dSDinh Nguyen #interrupt-cells = <2>; 24178cd6a9dSDinh Nguyen interrupts = <0 110 4>; 24278cd6a9dSDinh Nguyen }; 24378cd6a9dSDinh Nguyen }; 24478cd6a9dSDinh Nguyen 24578cd6a9dSDinh Nguyen gpio1: gpio@ffc03300 { 24678cd6a9dSDinh Nguyen #address-cells = <1>; 24778cd6a9dSDinh Nguyen #size-cells = <0>; 24878cd6a9dSDinh Nguyen compatible = "snps,dw-apb-gpio"; 24978cd6a9dSDinh Nguyen reg = <0xffc03300 0x100>; 250788251faSDinh Nguyen resets = <&rst GPIO1_RESET>; 25178cd6a9dSDinh Nguyen status = "disabled"; 25278cd6a9dSDinh Nguyen 25378cd6a9dSDinh Nguyen portb: gpio-controller@0 { 25478cd6a9dSDinh Nguyen compatible = "snps,dw-apb-gpio-port"; 25578cd6a9dSDinh Nguyen gpio-controller; 25678cd6a9dSDinh Nguyen #gpio-cells = <2>; 25762b3c680SJisheng Zhang ngpios = <24>; 25878cd6a9dSDinh Nguyen reg = <0>; 25978cd6a9dSDinh Nguyen interrupt-controller; 26078cd6a9dSDinh Nguyen #interrupt-cells = <2>; 261a067fb42SDinh Nguyen interrupts = <0 111 4>; 26278cd6a9dSDinh Nguyen }; 26378cd6a9dSDinh Nguyen }; 26478cd6a9dSDinh Nguyen 26578cd6a9dSDinh Nguyen i2c0: i2c@ffc02800 { 26678cd6a9dSDinh Nguyen #address-cells = <1>; 26778cd6a9dSDinh Nguyen #size-cells = <0>; 26878cd6a9dSDinh Nguyen compatible = "snps,designware-i2c"; 26978cd6a9dSDinh Nguyen reg = <0xffc02800 0x100>; 27078cd6a9dSDinh Nguyen interrupts = <0 103 4>; 271788251faSDinh Nguyen resets = <&rst I2C0_RESET>; 272eebee19eSAlan Tull clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 27378cd6a9dSDinh Nguyen status = "disabled"; 27478cd6a9dSDinh Nguyen }; 27578cd6a9dSDinh Nguyen 27678cd6a9dSDinh Nguyen i2c1: i2c@ffc02900 { 27778cd6a9dSDinh Nguyen #address-cells = <1>; 27878cd6a9dSDinh Nguyen #size-cells = <0>; 27978cd6a9dSDinh Nguyen compatible = "snps,designware-i2c"; 28078cd6a9dSDinh Nguyen reg = <0xffc02900 0x100>; 28178cd6a9dSDinh Nguyen interrupts = <0 104 4>; 282788251faSDinh Nguyen resets = <&rst I2C1_RESET>; 283eebee19eSAlan Tull clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 28478cd6a9dSDinh Nguyen status = "disabled"; 28578cd6a9dSDinh Nguyen }; 28678cd6a9dSDinh Nguyen 28778cd6a9dSDinh Nguyen i2c2: i2c@ffc02a00 { 28878cd6a9dSDinh Nguyen #address-cells = <1>; 28978cd6a9dSDinh Nguyen #size-cells = <0>; 29078cd6a9dSDinh Nguyen compatible = "snps,designware-i2c"; 29178cd6a9dSDinh Nguyen reg = <0xffc02a00 0x100>; 29278cd6a9dSDinh Nguyen interrupts = <0 105 4>; 293788251faSDinh Nguyen resets = <&rst I2C2_RESET>; 294eebee19eSAlan Tull clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 29578cd6a9dSDinh Nguyen status = "disabled"; 29678cd6a9dSDinh Nguyen }; 29778cd6a9dSDinh Nguyen 29878cd6a9dSDinh Nguyen i2c3: i2c@ffc02b00 { 29978cd6a9dSDinh Nguyen #address-cells = <1>; 30078cd6a9dSDinh Nguyen #size-cells = <0>; 30178cd6a9dSDinh Nguyen compatible = "snps,designware-i2c"; 30278cd6a9dSDinh Nguyen reg = <0xffc02b00 0x100>; 30378cd6a9dSDinh Nguyen interrupts = <0 106 4>; 304788251faSDinh Nguyen resets = <&rst I2C3_RESET>; 305eebee19eSAlan Tull clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 30678cd6a9dSDinh Nguyen status = "disabled"; 30778cd6a9dSDinh Nguyen }; 30878cd6a9dSDinh Nguyen 30978cd6a9dSDinh Nguyen i2c4: i2c@ffc02c00 { 31078cd6a9dSDinh Nguyen #address-cells = <1>; 31178cd6a9dSDinh Nguyen #size-cells = <0>; 31278cd6a9dSDinh Nguyen compatible = "snps,designware-i2c"; 31378cd6a9dSDinh Nguyen reg = <0xffc02c00 0x100>; 31478cd6a9dSDinh Nguyen interrupts = <0 107 4>; 315788251faSDinh Nguyen resets = <&rst I2C4_RESET>; 316eebee19eSAlan Tull clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 31778cd6a9dSDinh Nguyen status = "disabled"; 31878cd6a9dSDinh Nguyen }; 31978cd6a9dSDinh Nguyen 3208b794ab2SKrzysztof Kozlowski mmc: mmc@ff808000 { 32178cd6a9dSDinh Nguyen #address-cells = <1>; 32278cd6a9dSDinh Nguyen #size-cells = <0>; 32378cd6a9dSDinh Nguyen compatible = "altr,socfpga-dw-mshc"; 32478cd6a9dSDinh Nguyen reg = <0xff808000 0x1000>; 32578cd6a9dSDinh Nguyen interrupts = <0 96 4>; 32678cd6a9dSDinh Nguyen fifo-depth = <0x400>; 327788251faSDinh Nguyen resets = <&rst SDMMC_RESET>; 328788251faSDinh Nguyen reset-names = "reset"; 329d93101abSDinh Nguyen clocks = <&clkmgr STRATIX10_L4_MP_CLK>, 330d93101abSDinh Nguyen <&clkmgr STRATIX10_SDMMC_CLK>; 331d93101abSDinh Nguyen clock-names = "biu", "ciu"; 332ae3f46c8SThor Thayer iommus = <&smmu 5>; 33331354121SDinh Nguyen altr,sysmgr-syscon = <&sysmgr 0x28 4>; 33478cd6a9dSDinh Nguyen status = "disabled"; 33578cd6a9dSDinh Nguyen }; 33678cd6a9dSDinh Nguyen 337681a5c71SKrzysztof Kozlowski nand: nand-controller@ffb90000 { 33867c9fd2dSDinh Nguyen #address-cells = <1>; 33967c9fd2dSDinh Nguyen #size-cells = <0>; 34067c9fd2dSDinh Nguyen compatible = "altr,socfpga-denali-nand"; 34167c9fd2dSDinh Nguyen reg = <0xffb90000 0x10000>, 34267c9fd2dSDinh Nguyen <0xffb80000 0x1000>; 34367c9fd2dSDinh Nguyen reg-names = "nand_data", "denali_reg"; 34467c9fd2dSDinh Nguyen interrupts = <0 97 4>; 34567c9fd2dSDinh Nguyen clocks = <&clkmgr STRATIX10_NAND_CLK>, 34667c9fd2dSDinh Nguyen <&clkmgr STRATIX10_NAND_X_CLK>, 34767c9fd2dSDinh Nguyen <&clkmgr STRATIX10_NAND_ECC_CLK>; 34867c9fd2dSDinh Nguyen clock-names = "nand", "nand_x", "ecc"; 34967c9fd2dSDinh Nguyen resets = <&rst NAND_RESET>, <&rst NAND_OCP_RESET>; 35067c9fd2dSDinh Nguyen status = "disabled"; 35167c9fd2dSDinh Nguyen }; 35267c9fd2dSDinh Nguyen 35378cd6a9dSDinh Nguyen ocram: sram@ffe00000 { 35478cd6a9dSDinh Nguyen compatible = "mmio-sram"; 35578cd6a9dSDinh Nguyen reg = <0xffe00000 0x100000>; 3566de298ffSDinh Nguyen #address-cells = <1>; 3576de298ffSDinh Nguyen #size-cells = <1>; 3586de298ffSDinh Nguyen ranges = <0 0xffe00000 0x100000>; 35978cd6a9dSDinh Nguyen }; 36078cd6a9dSDinh Nguyen 361180be1b7SKrzysztof Kozlowski pdma: dma-controller@ffda0000 { 362ab50a444SGraham Moore compatible = "arm,pl330", "arm,primecell"; 363ab50a444SGraham Moore reg = <0xffda0000 0x1000>; 364ab50a444SGraham Moore interrupts = <0 81 4>, 365ab50a444SGraham Moore <0 82 4>, 366ab50a444SGraham Moore <0 83 4>, 367ab50a444SGraham Moore <0 84 4>, 368ab50a444SGraham Moore <0 85 4>, 369ab50a444SGraham Moore <0 86 4>, 370ab50a444SGraham Moore <0 87 4>, 371ab50a444SGraham Moore <0 88 4>, 372ab50a444SGraham Moore <0 89 4>; 373ab50a444SGraham Moore #dma-cells = <1>; 374ab50a444SGraham Moore clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; 375ab50a444SGraham Moore clock-names = "apb_pclk"; 376e10c1848SDinh Nguyen resets = <&rst DMA_RESET>, <&rst DMA_OCP_RESET>; 377e10c1848SDinh Nguyen reset-names = "dma", "dma-ocp"; 378ab50a444SGraham Moore }; 379ab50a444SGraham Moore 38021ab7031SDinh Nguyen pinctrl0: pinctrl@ffd13000 { 38121ab7031SDinh Nguyen compatible = "pinctrl-single"; 38221ab7031SDinh Nguyen reg = <0xffd13000 0xA0>; 38321ab7031SDinh Nguyen #pinctrl-cells = <1>; 38421ab7031SDinh Nguyen pinctrl-single,register-width = <32>; 38521ab7031SDinh Nguyen pinctrl-single,function-mask = <0x0000000f>; 38621ab7031SDinh Nguyen }; 38721ab7031SDinh Nguyen 38821ab7031SDinh Nguyen pinctrl1: pinctrl@ffd13100 { 38921ab7031SDinh Nguyen compatible = "pinctrl-single"; 39021ab7031SDinh Nguyen reg = <0xffd13100 0x20>; 39121ab7031SDinh Nguyen #pinctrl-cells = <1>; 39221ab7031SDinh Nguyen pinctrl-single,register-width = <32>; 39321ab7031SDinh Nguyen pinctrl-single,function-mask = <0x0000000f>; 39421ab7031SDinh Nguyen }; 39521ab7031SDinh Nguyen 39678cd6a9dSDinh Nguyen rst: rstmgr@ffd11000 { 39778cd6a9dSDinh Nguyen #reset-cells = <1>; 3988bb4f3f5SDinh Nguyen compatible = "altr,stratix10-rst-mgr"; 39978cd6a9dSDinh Nguyen reg = <0xffd11000 0x1000>; 40078cd6a9dSDinh Nguyen }; 40178cd6a9dSDinh Nguyen 402ae3f46c8SThor Thayer smmu: iommu@fa000000 { 403ae3f46c8SThor Thayer compatible = "arm,mmu-500", "arm,smmu-v2"; 404ae3f46c8SThor Thayer reg = <0xfa000000 0x40000>; 405ae3f46c8SThor Thayer #global-interrupts = <2>; 406ae3f46c8SThor Thayer #iommu-cells = <1>; 407ae3f46c8SThor Thayer clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; 408ae3f46c8SThor Thayer clock-names = "iommu"; 409ae3f46c8SThor Thayer interrupt-parent = <&intc>; 410ae3f46c8SThor Thayer interrupts = <0 128 4>, /* Global Secure Fault */ 411ae3f46c8SThor Thayer <0 129 4>, /* Global Non-secure Fault */ 412ae3f46c8SThor Thayer /* Non-secure Context Interrupts (32) */ 413ae3f46c8SThor Thayer <0 138 4>, <0 139 4>, <0 140 4>, <0 141 4>, 414ae3f46c8SThor Thayer <0 142 4>, <0 143 4>, <0 144 4>, <0 145 4>, 415ae3f46c8SThor Thayer <0 146 4>, <0 147 4>, <0 148 4>, <0 149 4>, 416ae3f46c8SThor Thayer <0 150 4>, <0 151 4>, <0 152 4>, <0 153 4>, 417ae3f46c8SThor Thayer <0 154 4>, <0 155 4>, <0 156 4>, <0 157 4>, 418ae3f46c8SThor Thayer <0 158 4>, <0 159 4>, <0 160 4>, <0 161 4>, 419ae3f46c8SThor Thayer <0 162 4>, <0 163 4>, <0 164 4>, <0 165 4>, 420ae3f46c8SThor Thayer <0 166 4>, <0 167 4>, <0 168 4>, <0 169 4>; 421ae3f46c8SThor Thayer stream-match-mask = <0x7ff0>; 422ae3f46c8SThor Thayer status = "disabled"; 423ae3f46c8SThor Thayer }; 424ae3f46c8SThor Thayer 42578cd6a9dSDinh Nguyen spi0: spi@ffda4000 { 42678cd6a9dSDinh Nguyen compatible = "snps,dw-apb-ssi"; 42778cd6a9dSDinh Nguyen #address-cells = <1>; 42878cd6a9dSDinh Nguyen #size-cells = <0>; 42978cd6a9dSDinh Nguyen reg = <0xffda4000 0x1000>; 430889d1509SThor Thayer interrupts = <0 99 4>; 431889d1509SThor Thayer resets = <&rst SPIM0_RESET>; 4320ef91ccdSDinh Nguyen reset-names = "spi"; 433889d1509SThor Thayer reg-io-width = <4>; 4344595299cSThor Thayer num-cs = <4>; 43570455ac7SThor Thayer clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; 43678cd6a9dSDinh Nguyen status = "disabled"; 43778cd6a9dSDinh Nguyen }; 43878cd6a9dSDinh Nguyen 43978cd6a9dSDinh Nguyen spi1: spi@ffda5000 { 44078cd6a9dSDinh Nguyen compatible = "snps,dw-apb-ssi"; 44178cd6a9dSDinh Nguyen #address-cells = <1>; 44278cd6a9dSDinh Nguyen #size-cells = <0>; 44378cd6a9dSDinh Nguyen reg = <0xffda5000 0x1000>; 444889d1509SThor Thayer interrupts = <0 100 4>; 445889d1509SThor Thayer resets = <&rst SPIM1_RESET>; 4460ef91ccdSDinh Nguyen reset-names = "spi"; 447889d1509SThor Thayer reg-io-width = <4>; 4484595299cSThor Thayer num-cs = <4>; 44970455ac7SThor Thayer clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; 45078cd6a9dSDinh Nguyen status = "disabled"; 45178cd6a9dSDinh Nguyen }; 45278cd6a9dSDinh Nguyen 45378cd6a9dSDinh Nguyen sysmgr: sysmgr@ffd12000 { 4548f4ebe9bSThor Thayer compatible = "altr,sys-mgr-s10","altr,sys-mgr"; 45574121b9aSThor Thayer reg = <0xffd12000 0x228>; 45678cd6a9dSDinh Nguyen }; 45778cd6a9dSDinh Nguyen 45878cd6a9dSDinh Nguyen timer0: timer0@ffc03000 { 45978cd6a9dSDinh Nguyen compatible = "snps,dw-apb-timer"; 46078cd6a9dSDinh Nguyen interrupts = <0 113 4>; 46178cd6a9dSDinh Nguyen reg = <0xffc03000 0x100>; 462d93101abSDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 463d93101abSDinh Nguyen clock-names = "timer"; 46478cd6a9dSDinh Nguyen }; 46578cd6a9dSDinh Nguyen 46678cd6a9dSDinh Nguyen timer1: timer1@ffc03100 { 46778cd6a9dSDinh Nguyen compatible = "snps,dw-apb-timer"; 46878cd6a9dSDinh Nguyen interrupts = <0 114 4>; 46978cd6a9dSDinh Nguyen reg = <0xffc03100 0x100>; 470d93101abSDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 471d93101abSDinh Nguyen clock-names = "timer"; 47278cd6a9dSDinh Nguyen }; 47378cd6a9dSDinh Nguyen 47478cd6a9dSDinh Nguyen timer2: timer2@ffd00000 { 47578cd6a9dSDinh Nguyen compatible = "snps,dw-apb-timer"; 47678cd6a9dSDinh Nguyen interrupts = <0 115 4>; 47778cd6a9dSDinh Nguyen reg = <0xffd00000 0x100>; 478d93101abSDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 479d93101abSDinh Nguyen clock-names = "timer"; 48078cd6a9dSDinh Nguyen }; 48178cd6a9dSDinh Nguyen 48278cd6a9dSDinh Nguyen timer3: timer3@ffd00100 { 48378cd6a9dSDinh Nguyen compatible = "snps,dw-apb-timer"; 48478cd6a9dSDinh Nguyen interrupts = <0 116 4>; 48578cd6a9dSDinh Nguyen reg = <0xffd00100 0x100>; 486d93101abSDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 487d93101abSDinh Nguyen clock-names = "timer"; 48878cd6a9dSDinh Nguyen }; 48978cd6a9dSDinh Nguyen 490681a5c71SKrzysztof Kozlowski uart0: serial@ffc02000 { 49178cd6a9dSDinh Nguyen compatible = "snps,dw-apb-uart"; 49278cd6a9dSDinh Nguyen reg = <0xffc02000 0x100>; 49378cd6a9dSDinh Nguyen interrupts = <0 108 4>; 49478cd6a9dSDinh Nguyen reg-shift = <2>; 49578cd6a9dSDinh Nguyen reg-io-width = <4>; 496788251faSDinh Nguyen resets = <&rst UART0_RESET>; 497d93101abSDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 49878cd6a9dSDinh Nguyen status = "disabled"; 49978cd6a9dSDinh Nguyen }; 50078cd6a9dSDinh Nguyen 501681a5c71SKrzysztof Kozlowski uart1: serial@ffc02100 { 50278cd6a9dSDinh Nguyen compatible = "snps,dw-apb-uart"; 50378cd6a9dSDinh Nguyen reg = <0xffc02100 0x100>; 50478cd6a9dSDinh Nguyen interrupts = <0 109 4>; 50578cd6a9dSDinh Nguyen reg-shift = <2>; 50678cd6a9dSDinh Nguyen reg-io-width = <4>; 507788251faSDinh Nguyen resets = <&rst UART1_RESET>; 508d93101abSDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SP_CLK>; 50978cd6a9dSDinh Nguyen status = "disabled"; 51078cd6a9dSDinh Nguyen }; 51178cd6a9dSDinh Nguyen 51278cd6a9dSDinh Nguyen usb0: usb@ffb00000 { 51378cd6a9dSDinh Nguyen compatible = "snps,dwc2"; 51478cd6a9dSDinh Nguyen reg = <0xffb00000 0x40000>; 51578cd6a9dSDinh Nguyen interrupts = <0 93 4>; 51678cd6a9dSDinh Nguyen phys = <&usbphy0>; 51778cd6a9dSDinh Nguyen phy-names = "usb2-phy"; 51833af8ca0SDinh Nguyen resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>; 51933af8ca0SDinh Nguyen reset-names = "dwc2", "dwc2-ecc"; 52003761ab1SDinh Nguyen clocks = <&clkmgr STRATIX10_USB_CLK>; 5214b557e17SKrzysztof Kozlowski clock-names = "otg"; 522ae3f46c8SThor Thayer iommus = <&smmu 6>; 52378cd6a9dSDinh Nguyen status = "disabled"; 52478cd6a9dSDinh Nguyen }; 52578cd6a9dSDinh Nguyen 52678cd6a9dSDinh Nguyen usb1: usb@ffb40000 { 52778cd6a9dSDinh Nguyen compatible = "snps,dwc2"; 52878cd6a9dSDinh Nguyen reg = <0xffb40000 0x40000>; 52978cd6a9dSDinh Nguyen interrupts = <0 94 4>; 53078cd6a9dSDinh Nguyen phys = <&usbphy0>; 53178cd6a9dSDinh Nguyen phy-names = "usb2-phy"; 53233af8ca0SDinh Nguyen resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>; 53333af8ca0SDinh Nguyen reset-names = "dwc2", "dwc2-ecc"; 53403761ab1SDinh Nguyen clocks = <&clkmgr STRATIX10_USB_CLK>; 53591b491fdSKrzysztof Kozlowski clock-names = "otg"; 536ae3f46c8SThor Thayer iommus = <&smmu 7>; 53778cd6a9dSDinh Nguyen status = "disabled"; 53878cd6a9dSDinh Nguyen }; 53978cd6a9dSDinh Nguyen 54078cd6a9dSDinh Nguyen watchdog0: watchdog@ffd00200 { 54178cd6a9dSDinh Nguyen compatible = "snps,dw-wdt"; 54278cd6a9dSDinh Nguyen reg = <0xffd00200 0x100>; 54378cd6a9dSDinh Nguyen interrupts = <0 117 4>; 544788251faSDinh Nguyen resets = <&rst WATCHDOG0_RESET>; 54503761ab1SDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SYS_FREE_CLK>; 54678cd6a9dSDinh Nguyen status = "disabled"; 54778cd6a9dSDinh Nguyen }; 54878cd6a9dSDinh Nguyen 54978cd6a9dSDinh Nguyen watchdog1: watchdog@ffd00300 { 55078cd6a9dSDinh Nguyen compatible = "snps,dw-wdt"; 55178cd6a9dSDinh Nguyen reg = <0xffd00300 0x100>; 55278cd6a9dSDinh Nguyen interrupts = <0 118 4>; 553788251faSDinh Nguyen resets = <&rst WATCHDOG1_RESET>; 55403761ab1SDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SYS_FREE_CLK>; 55578cd6a9dSDinh Nguyen status = "disabled"; 55678cd6a9dSDinh Nguyen }; 55778cd6a9dSDinh Nguyen 55878cd6a9dSDinh Nguyen watchdog2: watchdog@ffd00400 { 55978cd6a9dSDinh Nguyen compatible = "snps,dw-wdt"; 56078cd6a9dSDinh Nguyen reg = <0xffd00400 0x100>; 56178cd6a9dSDinh Nguyen interrupts = <0 125 4>; 562788251faSDinh Nguyen resets = <&rst WATCHDOG2_RESET>; 56303761ab1SDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SYS_FREE_CLK>; 56478cd6a9dSDinh Nguyen status = "disabled"; 56578cd6a9dSDinh Nguyen }; 56678cd6a9dSDinh Nguyen 56778cd6a9dSDinh Nguyen watchdog3: watchdog@ffd00500 { 56878cd6a9dSDinh Nguyen compatible = "snps,dw-wdt"; 56978cd6a9dSDinh Nguyen reg = <0xffd00500 0x100>; 57078cd6a9dSDinh Nguyen interrupts = <0 126 4>; 571788251faSDinh Nguyen resets = <&rst WATCHDOG3_RESET>; 57203761ab1SDinh Nguyen clocks = <&clkmgr STRATIX10_L4_SYS_FREE_CLK>; 57378cd6a9dSDinh Nguyen status = "disabled"; 57478cd6a9dSDinh Nguyen }; 57591fdd827SThor Thayer 576446fd7afSThor Thayer sdr: sdr@f8011100 { 577446fd7afSThor Thayer compatible = "altr,sdr-ctl", "syscon"; 578446fd7afSThor Thayer reg = <0xf8011100 0xc0>; 579446fd7afSThor Thayer }; 580446fd7afSThor Thayer 58191fdd827SThor Thayer eccmgr { 58274676a8eSThor Thayer compatible = "altr,socfpga-s10-ecc-manager", 58374676a8eSThor Thayer "altr,socfpga-a10-ecc-manager"; 5843ce078ffSThor Thayer altr,sysmgr-syscon = <&sysmgr>; 5853ce078ffSThor Thayer #address-cells = <1>; 5863ce078ffSThor Thayer #size-cells = <1>; 58774676a8eSThor Thayer interrupts = <0 15 4>; 58891fdd827SThor Thayer interrupt-controller; 58991fdd827SThor Thayer #interrupt-cells = <2>; 5903ce078ffSThor Thayer ranges; 59191fdd827SThor Thayer 59291fdd827SThor Thayer sdramedac { 59391fdd827SThor Thayer compatible = "altr,sdram-edac-s10"; 594446fd7afSThor Thayer altr,sdr-syscon = <&sdr>; 59574676a8eSThor Thayer interrupts = <16 4>; 59691fdd827SThor Thayer }; 5976b2da9ffSThor Thayer 5983c4fcb89SThor Thayer ocram-ecc@ff8cc000 { 5993c4fcb89SThor Thayer compatible = "altr,socfpga-s10-ocram-ecc", 6003c4fcb89SThor Thayer "altr,socfpga-a10-ocram-ecc"; 6013c4fcb89SThor Thayer reg = <0xff8cc000 0x100>; 6023c4fcb89SThor Thayer altr,ecc-parent = <&ocram>; 6033c4fcb89SThor Thayer interrupts = <1 4>; 6043c4fcb89SThor Thayer }; 6053c4fcb89SThor Thayer 6066b2da9ffSThor Thayer usb0-ecc@ff8c4000 { 60774676a8eSThor Thayer compatible = "altr,socfpga-s10-usb-ecc", 60874676a8eSThor Thayer "altr,socfpga-usb-ecc"; 6096b2da9ffSThor Thayer reg = <0xff8c4000 0x100>; 6106b2da9ffSThor Thayer altr,ecc-parent = <&usb0>; 61174676a8eSThor Thayer interrupts = <2 4>; 6126b2da9ffSThor Thayer }; 6136b2da9ffSThor Thayer 6146b2da9ffSThor Thayer emac0-rx-ecc@ff8c0000 { 61574676a8eSThor Thayer compatible = "altr,socfpga-s10-eth-mac-ecc", 61674676a8eSThor Thayer "altr,socfpga-eth-mac-ecc"; 6176b2da9ffSThor Thayer reg = <0xff8c0000 0x100>; 6186b2da9ffSThor Thayer altr,ecc-parent = <&gmac0>; 61974676a8eSThor Thayer interrupts = <4 4>; 6206b2da9ffSThor Thayer }; 6216b2da9ffSThor Thayer 6226b2da9ffSThor Thayer emac0-tx-ecc@ff8c0400 { 62374676a8eSThor Thayer compatible = "altr,socfpga-s10-eth-mac-ecc", 62474676a8eSThor Thayer "altr,socfpga-eth-mac-ecc"; 6256b2da9ffSThor Thayer reg = <0xff8c0400 0x100>; 6266b2da9ffSThor Thayer altr,ecc-parent = <&gmac0>; 62774676a8eSThor Thayer interrupts = <5 4>; 6286b2da9ffSThor Thayer }; 6296b2da9ffSThor Thayer 63091fdd827SThor Thayer }; 6310cb140d0SThor Thayer 6320cb140d0SThor Thayer qspi: spi@ff8d2000 { 63336de991eSDinh Nguyen compatible = "intel,socfpga-qspi", "cdns,qspi-nor"; 6340cb140d0SThor Thayer #address-cells = <1>; 6350cb140d0SThor Thayer #size-cells = <0>; 6360cb140d0SThor Thayer reg = <0xff8d2000 0x100>, 6370cb140d0SThor Thayer <0xff900000 0x100000>; 6380cb140d0SThor Thayer interrupts = <0 3 4>; 6390cb140d0SThor Thayer cdns,fifo-depth = <128>; 6400cb140d0SThor Thayer cdns,fifo-width = <4>; 6410cb140d0SThor Thayer cdns,trigger-address = <0x00000000>; 6420cb140d0SThor Thayer clocks = <&qspi_clk>; 6430cb140d0SThor Thayer 6440cb140d0SThor Thayer status = "disabled"; 6450cb140d0SThor Thayer }; 64678cd6a9dSDinh Nguyen }; 6475dad11faSDinh Nguyen 6485dad11faSDinh Nguyen usbphy0: usbphy0 { 6495dad11faSDinh Nguyen compatible = "usb-nop-xceiv"; 6505dad11faSDinh Nguyen #phy-cells = <0>; 6515dad11faSDinh Nguyen }; 65278cd6a9dSDinh Nguyen}; 653