1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Copyright Altera Corporation (C) 2014. All rights reserved. 4f126890aSEmmanuel Vadot */ 5f126890aSEmmanuel Vadot 6f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 7f126890aSEmmanuel Vadot#include <dt-bindings/reset/altr,rst-mgr-a10.h> 8f126890aSEmmanuel Vadot 9f126890aSEmmanuel Vadot/ { 10f126890aSEmmanuel Vadot #address-cells = <1>; 11f126890aSEmmanuel Vadot #size-cells = <1>; 12f126890aSEmmanuel Vadot 13f126890aSEmmanuel Vadot cpus { 14f126890aSEmmanuel Vadot #address-cells = <1>; 15f126890aSEmmanuel Vadot #size-cells = <0>; 16f126890aSEmmanuel Vadot enable-method = "altr,socfpga-a10-smp"; 17f126890aSEmmanuel Vadot 18f126890aSEmmanuel Vadot cpu0: cpu@0 { 19f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 20f126890aSEmmanuel Vadot device_type = "cpu"; 21f126890aSEmmanuel Vadot reg = <0>; 22f126890aSEmmanuel Vadot next-level-cache = <&L2>; 23f126890aSEmmanuel Vadot }; 24f126890aSEmmanuel Vadot cpu1: cpu@1 { 25f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 26f126890aSEmmanuel Vadot device_type = "cpu"; 27f126890aSEmmanuel Vadot reg = <1>; 28f126890aSEmmanuel Vadot next-level-cache = <&L2>; 29f126890aSEmmanuel Vadot }; 30f126890aSEmmanuel Vadot }; 31f126890aSEmmanuel Vadot 32f126890aSEmmanuel Vadot pmu: pmu@ff111000 { 33f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-pmu"; 34f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 35f126890aSEmmanuel Vadot interrupts = <0 124 4>, <0 125 4>; 36f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 37f126890aSEmmanuel Vadot reg = <0xff111000 0x1000>, 38f126890aSEmmanuel Vadot <0xff113000 0x1000>; 39f126890aSEmmanuel Vadot }; 40f126890aSEmmanuel Vadot 41f126890aSEmmanuel Vadot intc: interrupt-controller@ffffd000 { 42f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-gic"; 43f126890aSEmmanuel Vadot #interrupt-cells = <3>; 44f126890aSEmmanuel Vadot interrupt-controller; 45f126890aSEmmanuel Vadot reg = <0xffffd000 0x1000>, 46f126890aSEmmanuel Vadot <0xffffc100 0x100>; 47f126890aSEmmanuel Vadot }; 48f126890aSEmmanuel Vadot 49f126890aSEmmanuel Vadot soc { 50f126890aSEmmanuel Vadot #address-cells = <1>; 51f126890aSEmmanuel Vadot #size-cells = <1>; 52f126890aSEmmanuel Vadot compatible = "simple-bus"; 53f126890aSEmmanuel Vadot device_type = "soc"; 54f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 55f126890aSEmmanuel Vadot ranges; 56f126890aSEmmanuel Vadot 57f126890aSEmmanuel Vadot amba { 58f126890aSEmmanuel Vadot compatible = "simple-bus"; 59f126890aSEmmanuel Vadot #address-cells = <1>; 60f126890aSEmmanuel Vadot #size-cells = <1>; 61f126890aSEmmanuel Vadot ranges; 62f126890aSEmmanuel Vadot 63f126890aSEmmanuel Vadot pdma: pdma@ffda1000 { 64f126890aSEmmanuel Vadot compatible = "arm,pl330", "arm,primecell"; 65f126890aSEmmanuel Vadot reg = <0xffda1000 0x1000>; 66f126890aSEmmanuel Vadot interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>, 67f126890aSEmmanuel Vadot <0 84 IRQ_TYPE_LEVEL_HIGH>, 68f126890aSEmmanuel Vadot <0 85 IRQ_TYPE_LEVEL_HIGH>, 69f126890aSEmmanuel Vadot <0 86 IRQ_TYPE_LEVEL_HIGH>, 70f126890aSEmmanuel Vadot <0 87 IRQ_TYPE_LEVEL_HIGH>, 71f126890aSEmmanuel Vadot <0 88 IRQ_TYPE_LEVEL_HIGH>, 72f126890aSEmmanuel Vadot <0 89 IRQ_TYPE_LEVEL_HIGH>, 73f126890aSEmmanuel Vadot <0 90 IRQ_TYPE_LEVEL_HIGH>, 74f126890aSEmmanuel Vadot <0 91 IRQ_TYPE_LEVEL_HIGH>; 75f126890aSEmmanuel Vadot #dma-cells = <1>; 76f126890aSEmmanuel Vadot clocks = <&l4_main_clk>; 77f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 78f126890aSEmmanuel Vadot resets = <&rst DMA_RESET>, <&rst DMA_OCP_RESET>; 79f126890aSEmmanuel Vadot reset-names = "dma", "dma-ocp"; 80f126890aSEmmanuel Vadot }; 81f126890aSEmmanuel Vadot }; 82f126890aSEmmanuel Vadot 83f126890aSEmmanuel Vadot base_fpga_region { 84f126890aSEmmanuel Vadot #address-cells = <0x1>; 85f126890aSEmmanuel Vadot #size-cells = <0x1>; 86f126890aSEmmanuel Vadot 87f126890aSEmmanuel Vadot compatible = "fpga-region"; 88f126890aSEmmanuel Vadot fpga-mgr = <&fpga_mgr>; 89f126890aSEmmanuel Vadot }; 90f126890aSEmmanuel Vadot 91f126890aSEmmanuel Vadot clkmgr@ffd04000 { 92f126890aSEmmanuel Vadot compatible = "altr,clk-mgr"; 93f126890aSEmmanuel Vadot reg = <0xffd04000 0x1000>; 94f126890aSEmmanuel Vadot 95f126890aSEmmanuel Vadot clocks { 96f126890aSEmmanuel Vadot #address-cells = <1>; 97f126890aSEmmanuel Vadot #size-cells = <0>; 98f126890aSEmmanuel Vadot 99f126890aSEmmanuel Vadot cb_intosc_hs_div2_clk: cb_intosc_hs_div2_clk { 100f126890aSEmmanuel Vadot #clock-cells = <0>; 101f126890aSEmmanuel Vadot compatible = "fixed-clock"; 102f126890aSEmmanuel Vadot }; 103f126890aSEmmanuel Vadot 104f126890aSEmmanuel Vadot cb_intosc_ls_clk: cb_intosc_ls_clk { 105f126890aSEmmanuel Vadot #clock-cells = <0>; 106f126890aSEmmanuel Vadot compatible = "fixed-clock"; 107f126890aSEmmanuel Vadot }; 108f126890aSEmmanuel Vadot 109f126890aSEmmanuel Vadot f2s_free_clk: f2s_free_clk { 110f126890aSEmmanuel Vadot #clock-cells = <0>; 111f126890aSEmmanuel Vadot compatible = "fixed-clock"; 112f126890aSEmmanuel Vadot }; 113f126890aSEmmanuel Vadot 114f126890aSEmmanuel Vadot osc1: osc1 { 115f126890aSEmmanuel Vadot #clock-cells = <0>; 116f126890aSEmmanuel Vadot compatible = "fixed-clock"; 117f126890aSEmmanuel Vadot }; 118f126890aSEmmanuel Vadot 119f126890aSEmmanuel Vadot main_pll: main_pll@40 { 120f126890aSEmmanuel Vadot #address-cells = <1>; 121f126890aSEmmanuel Vadot #size-cells = <0>; 122f126890aSEmmanuel Vadot #clock-cells = <0>; 123f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-pll-clock"; 124f126890aSEmmanuel Vadot clocks = <&osc1>, <&cb_intosc_ls_clk>, 125f126890aSEmmanuel Vadot <&f2s_free_clk>; 126f126890aSEmmanuel Vadot reg = <0x40>; 127f126890aSEmmanuel Vadot 128f126890aSEmmanuel Vadot main_mpu_base_clk: main_mpu_base_clk { 129f126890aSEmmanuel Vadot #clock-cells = <0>; 130f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 131f126890aSEmmanuel Vadot clocks = <&main_pll>; 132f126890aSEmmanuel Vadot div-reg = <0x140 0 11>; 133f126890aSEmmanuel Vadot }; 134f126890aSEmmanuel Vadot 135f126890aSEmmanuel Vadot main_noc_base_clk: main_noc_base_clk { 136f126890aSEmmanuel Vadot #clock-cells = <0>; 137f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 138f126890aSEmmanuel Vadot clocks = <&main_pll>; 139f126890aSEmmanuel Vadot div-reg = <0x144 0 11>; 140f126890aSEmmanuel Vadot }; 141f126890aSEmmanuel Vadot 142f126890aSEmmanuel Vadot main_emaca_clk: main_emaca_clk@68 { 143f126890aSEmmanuel Vadot #clock-cells = <0>; 144f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 145f126890aSEmmanuel Vadot clocks = <&main_pll>; 146f126890aSEmmanuel Vadot reg = <0x68>; 147f126890aSEmmanuel Vadot }; 148f126890aSEmmanuel Vadot 149f126890aSEmmanuel Vadot main_emacb_clk: main_emacb_clk@6c { 150f126890aSEmmanuel Vadot #clock-cells = <0>; 151f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 152f126890aSEmmanuel Vadot clocks = <&main_pll>; 153f126890aSEmmanuel Vadot reg = <0x6C>; 154f126890aSEmmanuel Vadot }; 155f126890aSEmmanuel Vadot 156f126890aSEmmanuel Vadot main_emac_ptp_clk: main_emac_ptp_clk@70 { 157f126890aSEmmanuel Vadot #clock-cells = <0>; 158f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 159f126890aSEmmanuel Vadot clocks = <&main_pll>; 160f126890aSEmmanuel Vadot reg = <0x70>; 161f126890aSEmmanuel Vadot }; 162f126890aSEmmanuel Vadot 163f126890aSEmmanuel Vadot main_gpio_db_clk: main_gpio_db_clk@74 { 164f126890aSEmmanuel Vadot #clock-cells = <0>; 165f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 166f126890aSEmmanuel Vadot clocks = <&main_pll>; 167f126890aSEmmanuel Vadot reg = <0x74>; 168f126890aSEmmanuel Vadot }; 169f126890aSEmmanuel Vadot 170f126890aSEmmanuel Vadot main_sdmmc_clk: main_sdmmc_clk@78 { 171f126890aSEmmanuel Vadot #clock-cells = <0>; 172f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk" 173f126890aSEmmanuel Vadot; 174f126890aSEmmanuel Vadot clocks = <&main_pll>; 175f126890aSEmmanuel Vadot reg = <0x78>; 176f126890aSEmmanuel Vadot }; 177f126890aSEmmanuel Vadot 178f126890aSEmmanuel Vadot main_s2f_usr0_clk: main_s2f_usr0_clk@7c { 179f126890aSEmmanuel Vadot #clock-cells = <0>; 180f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 181f126890aSEmmanuel Vadot clocks = <&main_pll>; 182f126890aSEmmanuel Vadot reg = <0x7C>; 183f126890aSEmmanuel Vadot }; 184f126890aSEmmanuel Vadot 185f126890aSEmmanuel Vadot main_s2f_usr1_clk: main_s2f_usr1_clk@80 { 186f126890aSEmmanuel Vadot #clock-cells = <0>; 187f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 188f126890aSEmmanuel Vadot clocks = <&main_pll>; 189f126890aSEmmanuel Vadot reg = <0x80>; 190f126890aSEmmanuel Vadot }; 191f126890aSEmmanuel Vadot 192f126890aSEmmanuel Vadot main_hmc_pll_ref_clk: main_hmc_pll_ref_clk@84 { 193f126890aSEmmanuel Vadot #clock-cells = <0>; 194f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 195f126890aSEmmanuel Vadot clocks = <&main_pll>; 196f126890aSEmmanuel Vadot reg = <0x84>; 197f126890aSEmmanuel Vadot }; 198f126890aSEmmanuel Vadot 199f126890aSEmmanuel Vadot main_periph_ref_clk: main_periph_ref_clk@9c { 200f126890aSEmmanuel Vadot #clock-cells = <0>; 201f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 202f126890aSEmmanuel Vadot clocks = <&main_pll>; 203f126890aSEmmanuel Vadot reg = <0x9C>; 204f126890aSEmmanuel Vadot }; 205f126890aSEmmanuel Vadot }; 206f126890aSEmmanuel Vadot 207f126890aSEmmanuel Vadot periph_pll: periph_pll@c0 { 208f126890aSEmmanuel Vadot #address-cells = <1>; 209f126890aSEmmanuel Vadot #size-cells = <0>; 210f126890aSEmmanuel Vadot #clock-cells = <0>; 211f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-pll-clock"; 212f126890aSEmmanuel Vadot clocks = <&osc1>, <&cb_intosc_ls_clk>, 213f126890aSEmmanuel Vadot <&f2s_free_clk>, <&main_periph_ref_clk>; 214f126890aSEmmanuel Vadot reg = <0xC0>; 215f126890aSEmmanuel Vadot 216f126890aSEmmanuel Vadot peri_mpu_base_clk: peri_mpu_base_clk { 217f126890aSEmmanuel Vadot #clock-cells = <0>; 218f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 219f126890aSEmmanuel Vadot clocks = <&periph_pll>; 220f126890aSEmmanuel Vadot div-reg = <0x140 16 11>; 221f126890aSEmmanuel Vadot }; 222f126890aSEmmanuel Vadot 223f126890aSEmmanuel Vadot peri_noc_base_clk: peri_noc_base_clk { 224f126890aSEmmanuel Vadot #clock-cells = <0>; 225f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 226f126890aSEmmanuel Vadot clocks = <&periph_pll>; 227f126890aSEmmanuel Vadot div-reg = <0x144 16 11>; 228f126890aSEmmanuel Vadot }; 229f126890aSEmmanuel Vadot 230f126890aSEmmanuel Vadot peri_emaca_clk: peri_emaca_clk@e8 { 231f126890aSEmmanuel Vadot #clock-cells = <0>; 232f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 233f126890aSEmmanuel Vadot clocks = <&periph_pll>; 234f126890aSEmmanuel Vadot reg = <0xE8>; 235f126890aSEmmanuel Vadot }; 236f126890aSEmmanuel Vadot 237f126890aSEmmanuel Vadot peri_emacb_clk: peri_emacb_clk@ec { 238f126890aSEmmanuel Vadot #clock-cells = <0>; 239f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 240f126890aSEmmanuel Vadot clocks = <&periph_pll>; 241f126890aSEmmanuel Vadot reg = <0xEC>; 242f126890aSEmmanuel Vadot }; 243f126890aSEmmanuel Vadot 244f126890aSEmmanuel Vadot peri_emac_ptp_clk: peri_emac_ptp_clk@f0 { 245f126890aSEmmanuel Vadot #clock-cells = <0>; 246f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 247f126890aSEmmanuel Vadot clocks = <&periph_pll>; 248f126890aSEmmanuel Vadot reg = <0xF0>; 249f126890aSEmmanuel Vadot }; 250f126890aSEmmanuel Vadot 251f126890aSEmmanuel Vadot peri_gpio_db_clk: peri_gpio_db_clk@f4 { 252f126890aSEmmanuel Vadot #clock-cells = <0>; 253f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 254f126890aSEmmanuel Vadot clocks = <&periph_pll>; 255f126890aSEmmanuel Vadot reg = <0xF4>; 256f126890aSEmmanuel Vadot }; 257f126890aSEmmanuel Vadot 258f126890aSEmmanuel Vadot peri_sdmmc_clk: peri_sdmmc_clk@f8 { 259f126890aSEmmanuel Vadot #clock-cells = <0>; 260f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 261f126890aSEmmanuel Vadot clocks = <&periph_pll>; 262f126890aSEmmanuel Vadot reg = <0xF8>; 263f126890aSEmmanuel Vadot }; 264f126890aSEmmanuel Vadot 265f126890aSEmmanuel Vadot peri_s2f_usr0_clk: peri_s2f_usr0_clk@fc { 266f126890aSEmmanuel Vadot #clock-cells = <0>; 267f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 268f126890aSEmmanuel Vadot clocks = <&periph_pll>; 269f126890aSEmmanuel Vadot reg = <0xFC>; 270f126890aSEmmanuel Vadot }; 271f126890aSEmmanuel Vadot 272f126890aSEmmanuel Vadot peri_s2f_usr1_clk: peri_s2f_usr1_clk@100 { 273f126890aSEmmanuel Vadot #clock-cells = <0>; 274f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 275f126890aSEmmanuel Vadot clocks = <&periph_pll>; 276f126890aSEmmanuel Vadot reg = <0x100>; 277f126890aSEmmanuel Vadot }; 278f126890aSEmmanuel Vadot 279f126890aSEmmanuel Vadot peri_hmc_pll_ref_clk: peri_hmc_pll_ref_clk@104 { 280f126890aSEmmanuel Vadot #clock-cells = <0>; 281f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 282f126890aSEmmanuel Vadot clocks = <&periph_pll>; 283f126890aSEmmanuel Vadot reg = <0x104>; 284f126890aSEmmanuel Vadot }; 285f126890aSEmmanuel Vadot }; 286f126890aSEmmanuel Vadot 287f126890aSEmmanuel Vadot mpu_free_clk: mpu_free_clk@60 { 288f126890aSEmmanuel Vadot #clock-cells = <0>; 289f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 290f126890aSEmmanuel Vadot clocks = <&main_mpu_base_clk>, <&peri_mpu_base_clk>, 291f126890aSEmmanuel Vadot <&osc1>, <&cb_intosc_hs_div2_clk>, 292f126890aSEmmanuel Vadot <&f2s_free_clk>; 293f126890aSEmmanuel Vadot reg = <0x60>; 294f126890aSEmmanuel Vadot }; 295f126890aSEmmanuel Vadot 296f126890aSEmmanuel Vadot noc_free_clk: noc_free_clk@64 { 297f126890aSEmmanuel Vadot #clock-cells = <0>; 298f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 299f126890aSEmmanuel Vadot clocks = <&main_noc_base_clk>, <&peri_noc_base_clk>, 300f126890aSEmmanuel Vadot <&osc1>, <&cb_intosc_hs_div2_clk>, 301f126890aSEmmanuel Vadot <&f2s_free_clk>; 302f126890aSEmmanuel Vadot reg = <0x64>; 303f126890aSEmmanuel Vadot }; 304f126890aSEmmanuel Vadot 305f126890aSEmmanuel Vadot s2f_user1_free_clk: s2f_user1_free_clk@104 { 306f126890aSEmmanuel Vadot #clock-cells = <0>; 307f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 308f126890aSEmmanuel Vadot clocks = <&main_s2f_usr1_clk>, <&peri_s2f_usr1_clk>, 309f126890aSEmmanuel Vadot <&osc1>, <&cb_intosc_hs_div2_clk>, 310f126890aSEmmanuel Vadot <&f2s_free_clk>; 311f126890aSEmmanuel Vadot reg = <0x104>; 312f126890aSEmmanuel Vadot }; 313f126890aSEmmanuel Vadot 314f126890aSEmmanuel Vadot sdmmc_free_clk: sdmmc_free_clk@f8 { 315f126890aSEmmanuel Vadot #clock-cells = <0>; 316f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 317f126890aSEmmanuel Vadot clocks = <&main_sdmmc_clk>, <&peri_sdmmc_clk>, 318f126890aSEmmanuel Vadot <&osc1>, <&cb_intosc_hs_div2_clk>, 319f126890aSEmmanuel Vadot <&f2s_free_clk>; 320f126890aSEmmanuel Vadot fixed-divider = <4>; 321f126890aSEmmanuel Vadot reg = <0xF8>; 322f126890aSEmmanuel Vadot }; 323f126890aSEmmanuel Vadot 324f126890aSEmmanuel Vadot l4_sys_free_clk: l4_sys_free_clk { 325f126890aSEmmanuel Vadot #clock-cells = <0>; 326f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-perip-clk"; 327f126890aSEmmanuel Vadot clocks = <&noc_free_clk>; 328f126890aSEmmanuel Vadot fixed-divider = <4>; 329f126890aSEmmanuel Vadot }; 330f126890aSEmmanuel Vadot 331f126890aSEmmanuel Vadot l4_main_clk: l4_main_clk { 332f126890aSEmmanuel Vadot #clock-cells = <0>; 333f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 334f126890aSEmmanuel Vadot clocks = <&noc_free_clk>; 335f126890aSEmmanuel Vadot div-reg = <0xA8 0 2>; 336f126890aSEmmanuel Vadot clk-gate = <0x48 1>; 337f126890aSEmmanuel Vadot }; 338f126890aSEmmanuel Vadot 339f126890aSEmmanuel Vadot l4_mp_clk: l4_mp_clk { 340f126890aSEmmanuel Vadot #clock-cells = <0>; 341f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 342f126890aSEmmanuel Vadot clocks = <&noc_free_clk>; 343f126890aSEmmanuel Vadot div-reg = <0xA8 8 2>; 344f126890aSEmmanuel Vadot clk-gate = <0x48 2>; 345f126890aSEmmanuel Vadot }; 346f126890aSEmmanuel Vadot 347f126890aSEmmanuel Vadot l4_sp_clk: l4_sp_clk { 348f126890aSEmmanuel Vadot #clock-cells = <0>; 349f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 350f126890aSEmmanuel Vadot clocks = <&noc_free_clk>; 351f126890aSEmmanuel Vadot div-reg = <0xA8 16 2>; 352f126890aSEmmanuel Vadot clk-gate = <0x48 3>; 353f126890aSEmmanuel Vadot }; 354f126890aSEmmanuel Vadot 355f126890aSEmmanuel Vadot mpu_periph_clk: mpu_periph_clk { 356f126890aSEmmanuel Vadot #clock-cells = <0>; 357f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 358f126890aSEmmanuel Vadot clocks = <&mpu_free_clk>; 359f126890aSEmmanuel Vadot fixed-divider = <4>; 360f126890aSEmmanuel Vadot clk-gate = <0x48 0>; 361f126890aSEmmanuel Vadot }; 362f126890aSEmmanuel Vadot 363f126890aSEmmanuel Vadot sdmmc_clk: sdmmc_clk { 364f126890aSEmmanuel Vadot #clock-cells = <0>; 365f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 366f126890aSEmmanuel Vadot clocks = <&sdmmc_free_clk>; 367f126890aSEmmanuel Vadot clk-gate = <0xC8 5>; 368f126890aSEmmanuel Vadot }; 369f126890aSEmmanuel Vadot 370f126890aSEmmanuel Vadot qspi_clk: qspi_clk { 371f126890aSEmmanuel Vadot #clock-cells = <0>; 372f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 373f126890aSEmmanuel Vadot clocks = <&l4_main_clk>; 374f126890aSEmmanuel Vadot clk-gate = <0xC8 11>; 375f126890aSEmmanuel Vadot }; 376f126890aSEmmanuel Vadot 377f126890aSEmmanuel Vadot nand_x_clk: nand_x_clk { 378f126890aSEmmanuel Vadot #clock-cells = <0>; 379f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 380f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>; 381f126890aSEmmanuel Vadot clk-gate = <0xC8 10>; 382f126890aSEmmanuel Vadot }; 383f126890aSEmmanuel Vadot 384f126890aSEmmanuel Vadot nand_ecc_clk: nand_ecc_clk { 385f126890aSEmmanuel Vadot #clock-cells = <0>; 386f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 387f126890aSEmmanuel Vadot clocks = <&nand_x_clk>; 388f126890aSEmmanuel Vadot clk-gate = <0xC8 10>; 389f126890aSEmmanuel Vadot }; 390f126890aSEmmanuel Vadot 391f126890aSEmmanuel Vadot nand_clk: nand_clk { 392f126890aSEmmanuel Vadot #clock-cells = <0>; 393f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 394f126890aSEmmanuel Vadot clocks = <&nand_x_clk>; 395f126890aSEmmanuel Vadot fixed-divider = <4>; 396f126890aSEmmanuel Vadot clk-gate = <0xC8 10>; 397f126890aSEmmanuel Vadot }; 398f126890aSEmmanuel Vadot 399f126890aSEmmanuel Vadot spi_m_clk: spi_m_clk { 400f126890aSEmmanuel Vadot #clock-cells = <0>; 401f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 402f126890aSEmmanuel Vadot clocks = <&l4_main_clk>; 403f126890aSEmmanuel Vadot clk-gate = <0xC8 9>; 404f126890aSEmmanuel Vadot }; 405f126890aSEmmanuel Vadot 406f126890aSEmmanuel Vadot usb_clk: usb_clk { 407f126890aSEmmanuel Vadot #clock-cells = <0>; 408f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 409f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>; 410f126890aSEmmanuel Vadot clk-gate = <0xC8 8>; 411f126890aSEmmanuel Vadot }; 412f126890aSEmmanuel Vadot 413f126890aSEmmanuel Vadot s2f_usr1_clk: s2f_usr1_clk { 414f126890aSEmmanuel Vadot #clock-cells = <0>; 415f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-gate-clk"; 416f126890aSEmmanuel Vadot clocks = <&peri_s2f_usr1_clk>; 417f126890aSEmmanuel Vadot clk-gate = <0xC8 6>; 418f126890aSEmmanuel Vadot }; 419f126890aSEmmanuel Vadot }; 420f126890aSEmmanuel Vadot }; 421f126890aSEmmanuel Vadot 422f126890aSEmmanuel Vadot socfpga_axi_setup: stmmac-axi-config { 423f126890aSEmmanuel Vadot snps,wr_osr_lmt = <0xf>; 424f126890aSEmmanuel Vadot snps,rd_osr_lmt = <0xf>; 425f126890aSEmmanuel Vadot snps,blen = <0 0 0 0 16 0 0>; 426f126890aSEmmanuel Vadot }; 427f126890aSEmmanuel Vadot 428f126890aSEmmanuel Vadot gmac0: ethernet@ff800000 { 429f126890aSEmmanuel Vadot compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.72a", "snps,dwmac"; 430f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr 0x44 0>; 431f126890aSEmmanuel Vadot reg = <0xff800000 0x2000>; 432f126890aSEmmanuel Vadot interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>; 433f126890aSEmmanuel Vadot interrupt-names = "macirq"; 434f126890aSEmmanuel Vadot /* Filled in by bootloader */ 435f126890aSEmmanuel Vadot mac-address = [00 00 00 00 00 00]; 436f126890aSEmmanuel Vadot snps,multicast-filter-bins = <256>; 437f126890aSEmmanuel Vadot snps,perfect-filter-entries = <128>; 438f126890aSEmmanuel Vadot tx-fifo-depth = <4096>; 439f126890aSEmmanuel Vadot rx-fifo-depth = <16384>; 440f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>; 441f126890aSEmmanuel Vadot clock-names = "stmmaceth", "ptp_ref"; 442f126890aSEmmanuel Vadot resets = <&rst EMAC0_RESET>, <&rst EMAC0_OCP_RESET>; 443aa1a8ff2SEmmanuel Vadot reset-names = "stmmaceth", "ahb"; 444f126890aSEmmanuel Vadot snps,axi-config = <&socfpga_axi_setup>; 445f126890aSEmmanuel Vadot status = "disabled"; 446f126890aSEmmanuel Vadot }; 447f126890aSEmmanuel Vadot 448f126890aSEmmanuel Vadot gmac1: ethernet@ff802000 { 449f126890aSEmmanuel Vadot compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.72a", "snps,dwmac"; 450f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr 0x48 8>; 451f126890aSEmmanuel Vadot reg = <0xff802000 0x2000>; 452f126890aSEmmanuel Vadot interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>; 453f126890aSEmmanuel Vadot interrupt-names = "macirq"; 454f126890aSEmmanuel Vadot /* Filled in by bootloader */ 455f126890aSEmmanuel Vadot mac-address = [00 00 00 00 00 00]; 456f126890aSEmmanuel Vadot snps,multicast-filter-bins = <256>; 457f126890aSEmmanuel Vadot snps,perfect-filter-entries = <128>; 458f126890aSEmmanuel Vadot tx-fifo-depth = <4096>; 459f126890aSEmmanuel Vadot rx-fifo-depth = <16384>; 460f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>; 461f126890aSEmmanuel Vadot clock-names = "stmmaceth", "ptp_ref"; 462f126890aSEmmanuel Vadot resets = <&rst EMAC1_RESET>, <&rst EMAC1_OCP_RESET>; 463aa1a8ff2SEmmanuel Vadot reset-names = "stmmaceth", "ahb"; 464f126890aSEmmanuel Vadot snps,axi-config = <&socfpga_axi_setup>; 465f126890aSEmmanuel Vadot status = "disabled"; 466f126890aSEmmanuel Vadot }; 467f126890aSEmmanuel Vadot 468f126890aSEmmanuel Vadot gmac2: ethernet@ff804000 { 469f126890aSEmmanuel Vadot compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.72a", "snps,dwmac"; 470f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr 0x4C 16>; 471f126890aSEmmanuel Vadot reg = <0xff804000 0x2000>; 472f126890aSEmmanuel Vadot interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>; 473f126890aSEmmanuel Vadot interrupt-names = "macirq"; 474f126890aSEmmanuel Vadot /* Filled in by bootloader */ 475f126890aSEmmanuel Vadot mac-address = [00 00 00 00 00 00]; 476f126890aSEmmanuel Vadot snps,multicast-filter-bins = <256>; 477f126890aSEmmanuel Vadot snps,perfect-filter-entries = <128>; 478f126890aSEmmanuel Vadot tx-fifo-depth = <4096>; 479f126890aSEmmanuel Vadot rx-fifo-depth = <16384>; 480f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>; 481f126890aSEmmanuel Vadot clock-names = "stmmaceth", "ptp_ref"; 482f126890aSEmmanuel Vadot resets = <&rst EMAC2_RESET>, <&rst EMAC2_OCP_RESET>; 483aa1a8ff2SEmmanuel Vadot reset-names = "stmmaceth", "ahb"; 484f126890aSEmmanuel Vadot snps,axi-config = <&socfpga_axi_setup>; 485f126890aSEmmanuel Vadot status = "disabled"; 486f126890aSEmmanuel Vadot }; 487f126890aSEmmanuel Vadot 488f126890aSEmmanuel Vadot gpio0: gpio@ffc02900 { 489f126890aSEmmanuel Vadot #address-cells = <1>; 490f126890aSEmmanuel Vadot #size-cells = <0>; 491f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 492f126890aSEmmanuel Vadot reg = <0xffc02900 0x100>; 493f126890aSEmmanuel Vadot resets = <&rst GPIO0_RESET>; 494f126890aSEmmanuel Vadot status = "disabled"; 495f126890aSEmmanuel Vadot 496f126890aSEmmanuel Vadot porta: gpio-controller@0 { 497f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 498f126890aSEmmanuel Vadot gpio-controller; 499f126890aSEmmanuel Vadot #gpio-cells = <2>; 500f126890aSEmmanuel Vadot snps,nr-gpios = <29>; 501f126890aSEmmanuel Vadot reg = <0>; 502f126890aSEmmanuel Vadot interrupt-controller; 503f126890aSEmmanuel Vadot #interrupt-cells = <2>; 504f126890aSEmmanuel Vadot interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>; 505f126890aSEmmanuel Vadot }; 506f126890aSEmmanuel Vadot }; 507f126890aSEmmanuel Vadot 508f126890aSEmmanuel Vadot gpio1: gpio@ffc02a00 { 509f126890aSEmmanuel Vadot #address-cells = <1>; 510f126890aSEmmanuel Vadot #size-cells = <0>; 511f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 512f126890aSEmmanuel Vadot reg = <0xffc02a00 0x100>; 513f126890aSEmmanuel Vadot resets = <&rst GPIO1_RESET>; 514f126890aSEmmanuel Vadot status = "disabled"; 515f126890aSEmmanuel Vadot 516f126890aSEmmanuel Vadot portb: gpio-controller@0 { 517f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 518f126890aSEmmanuel Vadot gpio-controller; 519f126890aSEmmanuel Vadot #gpio-cells = <2>; 520f126890aSEmmanuel Vadot snps,nr-gpios = <29>; 521f126890aSEmmanuel Vadot reg = <0>; 522f126890aSEmmanuel Vadot interrupt-controller; 523f126890aSEmmanuel Vadot #interrupt-cells = <2>; 524f126890aSEmmanuel Vadot interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; 525f126890aSEmmanuel Vadot }; 526f126890aSEmmanuel Vadot }; 527f126890aSEmmanuel Vadot 528f126890aSEmmanuel Vadot gpio2: gpio@ffc02b00 { 529f126890aSEmmanuel Vadot #address-cells = <1>; 530f126890aSEmmanuel Vadot #size-cells = <0>; 531f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 532f126890aSEmmanuel Vadot reg = <0xffc02b00 0x100>; 533f126890aSEmmanuel Vadot resets = <&rst GPIO2_RESET>; 534f126890aSEmmanuel Vadot status = "disabled"; 535f126890aSEmmanuel Vadot 536f126890aSEmmanuel Vadot portc: gpio-controller@0 { 537f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 538f126890aSEmmanuel Vadot gpio-controller; 539f126890aSEmmanuel Vadot #gpio-cells = <2>; 540f126890aSEmmanuel Vadot snps,nr-gpios = <27>; 541f126890aSEmmanuel Vadot reg = <0>; 542f126890aSEmmanuel Vadot interrupt-controller; 543f126890aSEmmanuel Vadot #interrupt-cells = <2>; 544f126890aSEmmanuel Vadot interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>; 545f126890aSEmmanuel Vadot }; 546f126890aSEmmanuel Vadot }; 547f126890aSEmmanuel Vadot 548f126890aSEmmanuel Vadot fpga_mgr: fpga-mgr@ffd03000 { 549f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-fpga-mgr"; 550f126890aSEmmanuel Vadot reg = <0xffd03000 0x100 551f126890aSEmmanuel Vadot 0xffcfe400 0x20>; 552f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>; 553f126890aSEmmanuel Vadot resets = <&rst FPGAMGR_RESET>; 554f126890aSEmmanuel Vadot reset-names = "fpgamgr"; 555f126890aSEmmanuel Vadot }; 556f126890aSEmmanuel Vadot 557f126890aSEmmanuel Vadot i2c0: i2c@ffc02200 { 558f126890aSEmmanuel Vadot #address-cells = <1>; 559f126890aSEmmanuel Vadot #size-cells = <0>; 560f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 561f126890aSEmmanuel Vadot reg = <0xffc02200 0x100>; 562f126890aSEmmanuel Vadot interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; 563f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 564f126890aSEmmanuel Vadot resets = <&rst I2C0_RESET>; 565f126890aSEmmanuel Vadot status = "disabled"; 566f126890aSEmmanuel Vadot }; 567f126890aSEmmanuel Vadot 568f126890aSEmmanuel Vadot i2c1: i2c@ffc02300 { 569f126890aSEmmanuel Vadot #address-cells = <1>; 570f126890aSEmmanuel Vadot #size-cells = <0>; 571f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 572f126890aSEmmanuel Vadot reg = <0xffc02300 0x100>; 573f126890aSEmmanuel Vadot interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; 574f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 575f126890aSEmmanuel Vadot resets = <&rst I2C1_RESET>; 576f126890aSEmmanuel Vadot status = "disabled"; 577f126890aSEmmanuel Vadot }; 578f126890aSEmmanuel Vadot 579f126890aSEmmanuel Vadot i2c2: i2c@ffc02400 { 580f126890aSEmmanuel Vadot #address-cells = <1>; 581f126890aSEmmanuel Vadot #size-cells = <0>; 582f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 583f126890aSEmmanuel Vadot reg = <0xffc02400 0x100>; 584f126890aSEmmanuel Vadot interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; 585f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 586f126890aSEmmanuel Vadot resets = <&rst I2C2_RESET>; 587f126890aSEmmanuel Vadot status = "disabled"; 588f126890aSEmmanuel Vadot }; 589f126890aSEmmanuel Vadot 590f126890aSEmmanuel Vadot i2c3: i2c@ffc02500 { 591f126890aSEmmanuel Vadot #address-cells = <1>; 592f126890aSEmmanuel Vadot #size-cells = <0>; 593f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 594f126890aSEmmanuel Vadot reg = <0xffc02500 0x100>; 595f126890aSEmmanuel Vadot interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; 596f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 597f126890aSEmmanuel Vadot resets = <&rst I2C3_RESET>; 598f126890aSEmmanuel Vadot status = "disabled"; 599f126890aSEmmanuel Vadot }; 600f126890aSEmmanuel Vadot 601f126890aSEmmanuel Vadot i2c4: i2c@ffc02600 { 602f126890aSEmmanuel Vadot #address-cells = <1>; 603f126890aSEmmanuel Vadot #size-cells = <0>; 604f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 605f126890aSEmmanuel Vadot reg = <0xffc02600 0x100>; 606f126890aSEmmanuel Vadot interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>; 607f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 608f126890aSEmmanuel Vadot resets = <&rst I2C4_RESET>; 609f126890aSEmmanuel Vadot status = "disabled"; 610f126890aSEmmanuel Vadot }; 611f126890aSEmmanuel Vadot 612f126890aSEmmanuel Vadot spi0: spi@ffda4000 { 613f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ssi"; 614f126890aSEmmanuel Vadot #address-cells = <1>; 615f126890aSEmmanuel Vadot #size-cells = <0>; 616f126890aSEmmanuel Vadot reg = <0xffda4000 0x100>; 617f126890aSEmmanuel Vadot interrupts = <0 101 4>; 618f126890aSEmmanuel Vadot num-cs = <4>; 619f126890aSEmmanuel Vadot /*32bit_access;*/ 620f126890aSEmmanuel Vadot clocks = <&spi_m_clk>; 621f126890aSEmmanuel Vadot resets = <&rst SPIM0_RESET>; 622f126890aSEmmanuel Vadot reset-names = "spi"; 623f126890aSEmmanuel Vadot status = "disabled"; 624f126890aSEmmanuel Vadot }; 625f126890aSEmmanuel Vadot 626f126890aSEmmanuel Vadot spi1: spi@ffda5000 { 627f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ssi"; 628f126890aSEmmanuel Vadot #address-cells = <1>; 629f126890aSEmmanuel Vadot #size-cells = <0>; 630f126890aSEmmanuel Vadot reg = <0xffda5000 0x100>; 631f126890aSEmmanuel Vadot interrupts = <0 102 4>; 632f126890aSEmmanuel Vadot num-cs = <4>; 633f126890aSEmmanuel Vadot /*32bit_access;*/ 634f126890aSEmmanuel Vadot tx-dma-channel = <&pdma 16>; 635f126890aSEmmanuel Vadot rx-dma-channel = <&pdma 17>; 636f126890aSEmmanuel Vadot clocks = <&spi_m_clk>; 637f126890aSEmmanuel Vadot resets = <&rst SPIM1_RESET>; 638f126890aSEmmanuel Vadot reset-names = "spi"; 639f126890aSEmmanuel Vadot status = "disabled"; 640f126890aSEmmanuel Vadot }; 641f126890aSEmmanuel Vadot 642f126890aSEmmanuel Vadot sdr: sdr@ffcfb100 { 643f126890aSEmmanuel Vadot compatible = "altr,sdr-ctl", "syscon"; 644f126890aSEmmanuel Vadot reg = <0xffcfb100 0x80>; 645f126890aSEmmanuel Vadot }; 646f126890aSEmmanuel Vadot 647f126890aSEmmanuel Vadot L2: cache-controller@fffff000 { 648f126890aSEmmanuel Vadot compatible = "arm,pl310-cache"; 649f126890aSEmmanuel Vadot reg = <0xfffff000 0x1000>; 650f126890aSEmmanuel Vadot interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; 651f126890aSEmmanuel Vadot cache-unified; 652f126890aSEmmanuel Vadot cache-level = <2>; 653f126890aSEmmanuel Vadot prefetch-data = <1>; 654f126890aSEmmanuel Vadot prefetch-instr = <1>; 655f126890aSEmmanuel Vadot arm,shared-override; 656f126890aSEmmanuel Vadot }; 657f126890aSEmmanuel Vadot 658f126890aSEmmanuel Vadot mmc: mmc@ff808000 { 659f126890aSEmmanuel Vadot #address-cells = <1>; 660f126890aSEmmanuel Vadot #size-cells = <0>; 661f126890aSEmmanuel Vadot compatible = "altr,socfpga-dw-mshc"; 662f126890aSEmmanuel Vadot reg = <0xff808000 0x1000>; 663f126890aSEmmanuel Vadot interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; 664f126890aSEmmanuel Vadot fifo-depth = <0x400>; 665f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>, <&sdmmc_clk>; 666f126890aSEmmanuel Vadot clock-names = "biu", "ciu"; 667f126890aSEmmanuel Vadot resets = <&rst SDMMC_RESET>; 668f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr 0x28 4>; 669f126890aSEmmanuel Vadot status = "disabled"; 670f126890aSEmmanuel Vadot }; 671f126890aSEmmanuel Vadot 672*8d13bc63SEmmanuel Vadot nand: nand-controller@ffb90000 { 673f126890aSEmmanuel Vadot #address-cells = <1>; 674f126890aSEmmanuel Vadot #size-cells = <0>; 675f126890aSEmmanuel Vadot compatible = "altr,socfpga-denali-nand"; 676f126890aSEmmanuel Vadot reg = <0xffb90000 0x72000>, 677f126890aSEmmanuel Vadot <0xffb80000 0x10000>; 678f126890aSEmmanuel Vadot reg-names = "nand_data", "denali_reg"; 679f126890aSEmmanuel Vadot interrupts = <0 99 4>; 680f126890aSEmmanuel Vadot clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>; 681f126890aSEmmanuel Vadot clock-names = "nand", "nand_x", "ecc"; 682f126890aSEmmanuel Vadot resets = <&rst NAND_RESET>; 683f126890aSEmmanuel Vadot status = "disabled"; 684f126890aSEmmanuel Vadot }; 685f126890aSEmmanuel Vadot 686f126890aSEmmanuel Vadot ocram: sram@ffe00000 { 687f126890aSEmmanuel Vadot compatible = "mmio-sram"; 688f126890aSEmmanuel Vadot reg = <0xffe00000 0x40000>; 689f126890aSEmmanuel Vadot }; 690f126890aSEmmanuel Vadot 691f126890aSEmmanuel Vadot eccmgr: eccmgr { 692f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-ecc-manager"; 693f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr>; 694f126890aSEmmanuel Vadot #address-cells = <1>; 695f126890aSEmmanuel Vadot #size-cells = <1>; 696f126890aSEmmanuel Vadot interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>, 697f126890aSEmmanuel Vadot <0 0 IRQ_TYPE_LEVEL_HIGH>; 698f126890aSEmmanuel Vadot interrupt-controller; 699f126890aSEmmanuel Vadot #interrupt-cells = <2>; 700f126890aSEmmanuel Vadot ranges; 701f126890aSEmmanuel Vadot 702f126890aSEmmanuel Vadot sdramedac { 703f126890aSEmmanuel Vadot compatible = "altr,sdram-edac-a10"; 704f126890aSEmmanuel Vadot altr,sdr-syscon = <&sdr>; 705f126890aSEmmanuel Vadot interrupts = <17 IRQ_TYPE_LEVEL_HIGH>, 706f126890aSEmmanuel Vadot <49 IRQ_TYPE_LEVEL_HIGH>; 707f126890aSEmmanuel Vadot }; 708f126890aSEmmanuel Vadot 709f126890aSEmmanuel Vadot l2-ecc@ffd06010 { 710f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-l2-ecc"; 711f126890aSEmmanuel Vadot reg = <0xffd06010 0x4>; 712f126890aSEmmanuel Vadot interrupts = <0 IRQ_TYPE_LEVEL_HIGH>, 713f126890aSEmmanuel Vadot <32 IRQ_TYPE_LEVEL_HIGH>; 714f126890aSEmmanuel Vadot }; 715f126890aSEmmanuel Vadot 716f126890aSEmmanuel Vadot ocram-ecc@ff8c3000 { 717f126890aSEmmanuel Vadot compatible = "altr,socfpga-a10-ocram-ecc"; 718f126890aSEmmanuel Vadot reg = <0xff8c3000 0x400>; 719f126890aSEmmanuel Vadot interrupts = <1 IRQ_TYPE_LEVEL_HIGH>, 720f126890aSEmmanuel Vadot <33 IRQ_TYPE_LEVEL_HIGH>; 721f126890aSEmmanuel Vadot }; 722f126890aSEmmanuel Vadot 723f126890aSEmmanuel Vadot emac0-rx-ecc@ff8c0800 { 724f126890aSEmmanuel Vadot compatible = "altr,socfpga-eth-mac-ecc"; 725f126890aSEmmanuel Vadot reg = <0xff8c0800 0x400>; 726f126890aSEmmanuel Vadot altr,ecc-parent = <&gmac0>; 727f126890aSEmmanuel Vadot interrupts = <4 IRQ_TYPE_LEVEL_HIGH>, 728f126890aSEmmanuel Vadot <36 IRQ_TYPE_LEVEL_HIGH>; 729f126890aSEmmanuel Vadot }; 730f126890aSEmmanuel Vadot 731f126890aSEmmanuel Vadot emac0-tx-ecc@ff8c0c00 { 732f126890aSEmmanuel Vadot compatible = "altr,socfpga-eth-mac-ecc"; 733f126890aSEmmanuel Vadot reg = <0xff8c0c00 0x400>; 734f126890aSEmmanuel Vadot altr,ecc-parent = <&gmac0>; 735f126890aSEmmanuel Vadot interrupts = <5 IRQ_TYPE_LEVEL_HIGH>, 736f126890aSEmmanuel Vadot <37 IRQ_TYPE_LEVEL_HIGH>; 737f126890aSEmmanuel Vadot }; 738f126890aSEmmanuel Vadot 739f126890aSEmmanuel Vadot sdmmca-ecc@ff8c2c00 { 740f126890aSEmmanuel Vadot compatible = "altr,socfpga-sdmmc-ecc"; 741f126890aSEmmanuel Vadot reg = <0xff8c2c00 0x400>; 742f126890aSEmmanuel Vadot altr,ecc-parent = <&mmc>; 743f126890aSEmmanuel Vadot interrupts = <15 IRQ_TYPE_LEVEL_HIGH>, 744f126890aSEmmanuel Vadot <47 IRQ_TYPE_LEVEL_HIGH>, 745f126890aSEmmanuel Vadot <16 IRQ_TYPE_LEVEL_HIGH>, 746f126890aSEmmanuel Vadot <48 IRQ_TYPE_LEVEL_HIGH>; 747f126890aSEmmanuel Vadot }; 748f126890aSEmmanuel Vadot 749f126890aSEmmanuel Vadot dma-ecc@ff8c8000 { 750f126890aSEmmanuel Vadot compatible = "altr,socfpga-dma-ecc"; 751f126890aSEmmanuel Vadot reg = <0xff8c8000 0x400>; 752f126890aSEmmanuel Vadot altr,ecc-parent = <&pdma>; 753f126890aSEmmanuel Vadot interrupts = <10 IRQ_TYPE_LEVEL_HIGH>, 754f126890aSEmmanuel Vadot <42 IRQ_TYPE_LEVEL_HIGH>; 755f126890aSEmmanuel Vadot }; 756f126890aSEmmanuel Vadot 757f126890aSEmmanuel Vadot usb0-ecc@ff8c8800 { 758f126890aSEmmanuel Vadot compatible = "altr,socfpga-usb-ecc"; 759f126890aSEmmanuel Vadot reg = <0xff8c8800 0x400>; 760f126890aSEmmanuel Vadot altr,ecc-parent = <&usb0>; 761f126890aSEmmanuel Vadot interrupts = <2 IRQ_TYPE_LEVEL_HIGH>, 762f126890aSEmmanuel Vadot <34 IRQ_TYPE_LEVEL_HIGH>; 763f126890aSEmmanuel Vadot }; 764f126890aSEmmanuel Vadot }; 765f126890aSEmmanuel Vadot 766f126890aSEmmanuel Vadot qspi: spi@ff809000 { 767f126890aSEmmanuel Vadot compatible = "intel,socfpga-qspi", "cdns,qspi-nor"; 768f126890aSEmmanuel Vadot #address-cells = <1>; 769f126890aSEmmanuel Vadot #size-cells = <0>; 770f126890aSEmmanuel Vadot reg = <0xff809000 0x100>, 771f126890aSEmmanuel Vadot <0xffa00000 0x100000>; 772f126890aSEmmanuel Vadot interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; 773f126890aSEmmanuel Vadot cdns,fifo-depth = <128>; 774f126890aSEmmanuel Vadot cdns,fifo-width = <4>; 775f126890aSEmmanuel Vadot cdns,trigger-address = <0x00000000>; 776f126890aSEmmanuel Vadot clocks = <&qspi_clk>; 777f126890aSEmmanuel Vadot resets = <&rst QSPI_RESET>, <&rst QSPI_OCP_RESET>; 778f126890aSEmmanuel Vadot reset-names = "qspi", "qspi-ocp"; 779f126890aSEmmanuel Vadot status = "disabled"; 780f126890aSEmmanuel Vadot }; 781f126890aSEmmanuel Vadot 782f126890aSEmmanuel Vadot rst: rstmgr@ffd05000 { 783f126890aSEmmanuel Vadot #reset-cells = <1>; 784f126890aSEmmanuel Vadot compatible = "altr,rst-mgr"; 785f126890aSEmmanuel Vadot reg = <0xffd05000 0x100>; 786f126890aSEmmanuel Vadot altr,modrst-offset = <0x20>; 787f126890aSEmmanuel Vadot }; 788f126890aSEmmanuel Vadot 789f126890aSEmmanuel Vadot scu: snoop-control-unit@ffffc000 { 790f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-scu"; 791f126890aSEmmanuel Vadot reg = <0xffffc000 0x100>; 792f126890aSEmmanuel Vadot }; 793f126890aSEmmanuel Vadot 794f126890aSEmmanuel Vadot sysmgr: sysmgr@ffd06000 { 795f126890aSEmmanuel Vadot compatible = "altr,sys-mgr", "syscon"; 796f126890aSEmmanuel Vadot reg = <0xffd06000 0x300>; 797f126890aSEmmanuel Vadot cpu1-start-addr = <0xffd06230>; 798f126890aSEmmanuel Vadot }; 799f126890aSEmmanuel Vadot 800f126890aSEmmanuel Vadot /* Local timer */ 801f126890aSEmmanuel Vadot timer@ffffc600 { 802f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 803f126890aSEmmanuel Vadot reg = <0xffffc600 0x100>; 804f126890aSEmmanuel Vadot interrupts = <1 13 0xf01>; 805f126890aSEmmanuel Vadot clocks = <&mpu_periph_clk>; 806f126890aSEmmanuel Vadot }; 807f126890aSEmmanuel Vadot 808f126890aSEmmanuel Vadot timer0: timer0@ffc02700 { 809f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 810f126890aSEmmanuel Vadot interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>; 811f126890aSEmmanuel Vadot reg = <0xffc02700 0x100>; 812f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 813f126890aSEmmanuel Vadot clock-names = "timer"; 814f126890aSEmmanuel Vadot resets = <&rst SPTIMER0_RESET>; 815f126890aSEmmanuel Vadot reset-names = "timer"; 816f126890aSEmmanuel Vadot }; 817f126890aSEmmanuel Vadot 818f126890aSEmmanuel Vadot timer1: timer1@ffc02800 { 819f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 820f126890aSEmmanuel Vadot interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>; 821f126890aSEmmanuel Vadot reg = <0xffc02800 0x100>; 822f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 823f126890aSEmmanuel Vadot clock-names = "timer"; 824f126890aSEmmanuel Vadot resets = <&rst SPTIMER1_RESET>; 825f126890aSEmmanuel Vadot reset-names = "timer"; 826f126890aSEmmanuel Vadot }; 827f126890aSEmmanuel Vadot 828f126890aSEmmanuel Vadot timer2: timer2@ffd00000 { 829f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 830f126890aSEmmanuel Vadot interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH>; 831f126890aSEmmanuel Vadot reg = <0xffd00000 0x100>; 832f126890aSEmmanuel Vadot clocks = <&l4_sys_free_clk>; 833f126890aSEmmanuel Vadot clock-names = "timer"; 834f126890aSEmmanuel Vadot resets = <&rst L4SYSTIMER0_RESET>; 835f126890aSEmmanuel Vadot reset-names = "timer"; 836f126890aSEmmanuel Vadot }; 837f126890aSEmmanuel Vadot 838f126890aSEmmanuel Vadot timer3: timer3@ffd00100 { 839f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 840f126890aSEmmanuel Vadot interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; 841f126890aSEmmanuel Vadot reg = <0xffd00100 0x100>; 842f126890aSEmmanuel Vadot clocks = <&l4_sys_free_clk>; 843f126890aSEmmanuel Vadot clock-names = "timer"; 844f126890aSEmmanuel Vadot resets = <&rst L4SYSTIMER1_RESET>; 845f126890aSEmmanuel Vadot reset-names = "timer"; 846f126890aSEmmanuel Vadot }; 847f126890aSEmmanuel Vadot 848f126890aSEmmanuel Vadot uart0: serial@ffc02000 { 849f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 850f126890aSEmmanuel Vadot reg = <0xffc02000 0x100>; 851f126890aSEmmanuel Vadot interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; 852f126890aSEmmanuel Vadot reg-shift = <2>; 853f126890aSEmmanuel Vadot reg-io-width = <4>; 854f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 855f126890aSEmmanuel Vadot resets = <&rst UART0_RESET>; 856f126890aSEmmanuel Vadot status = "disabled"; 857f126890aSEmmanuel Vadot }; 858f126890aSEmmanuel Vadot 859f126890aSEmmanuel Vadot uart1: serial@ffc02100 { 860f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 861f126890aSEmmanuel Vadot reg = <0xffc02100 0x100>; 862f126890aSEmmanuel Vadot interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>; 863f126890aSEmmanuel Vadot reg-shift = <2>; 864f126890aSEmmanuel Vadot reg-io-width = <4>; 865f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 866f126890aSEmmanuel Vadot resets = <&rst UART1_RESET>; 867f126890aSEmmanuel Vadot status = "disabled"; 868f126890aSEmmanuel Vadot }; 869f126890aSEmmanuel Vadot 870f126890aSEmmanuel Vadot usbphy0: usbphy { 871f126890aSEmmanuel Vadot #phy-cells = <0>; 872f126890aSEmmanuel Vadot compatible = "usb-nop-xceiv"; 873f126890aSEmmanuel Vadot status = "okay"; 874f126890aSEmmanuel Vadot }; 875f126890aSEmmanuel Vadot 876f126890aSEmmanuel Vadot usb0: usb@ffb00000 { 877f126890aSEmmanuel Vadot compatible = "snps,dwc2"; 878f126890aSEmmanuel Vadot reg = <0xffb00000 0xffff>; 879f126890aSEmmanuel Vadot interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 880f126890aSEmmanuel Vadot clocks = <&usb_clk>; 881f126890aSEmmanuel Vadot clock-names = "otg"; 882f126890aSEmmanuel Vadot resets = <&rst USB0_RESET>; 883f126890aSEmmanuel Vadot reset-names = "dwc2"; 884f126890aSEmmanuel Vadot phys = <&usbphy0>; 885f126890aSEmmanuel Vadot phy-names = "usb2-phy"; 886f126890aSEmmanuel Vadot status = "disabled"; 887f126890aSEmmanuel Vadot }; 888f126890aSEmmanuel Vadot 889f126890aSEmmanuel Vadot usb1: usb@ffb40000 { 890f126890aSEmmanuel Vadot compatible = "snps,dwc2"; 891f126890aSEmmanuel Vadot reg = <0xffb40000 0xffff>; 892f126890aSEmmanuel Vadot interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; 893f126890aSEmmanuel Vadot clocks = <&usb_clk>; 894f126890aSEmmanuel Vadot clock-names = "otg"; 895f126890aSEmmanuel Vadot resets = <&rst USB1_RESET>; 896f126890aSEmmanuel Vadot reset-names = "dwc2"; 897f126890aSEmmanuel Vadot phys = <&usbphy0>; 898f126890aSEmmanuel Vadot phy-names = "usb2-phy"; 899f126890aSEmmanuel Vadot status = "disabled"; 900f126890aSEmmanuel Vadot }; 901f126890aSEmmanuel Vadot 902f126890aSEmmanuel Vadot watchdog0: watchdog@ffd00200 { 903f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 904f126890aSEmmanuel Vadot reg = <0xffd00200 0x100>; 905f126890aSEmmanuel Vadot interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>; 906f126890aSEmmanuel Vadot clocks = <&l4_sys_free_clk>; 907f126890aSEmmanuel Vadot resets = <&rst L4WD0_RESET>; 908f126890aSEmmanuel Vadot status = "disabled"; 909f126890aSEmmanuel Vadot }; 910f126890aSEmmanuel Vadot 911f126890aSEmmanuel Vadot watchdog1: watchdog@ffd00300 { 912f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 913f126890aSEmmanuel Vadot reg = <0xffd00300 0x100>; 914f126890aSEmmanuel Vadot interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; 915f126890aSEmmanuel Vadot clocks = <&l4_sys_free_clk>; 916f126890aSEmmanuel Vadot resets = <&rst L4WD1_RESET>; 917f126890aSEmmanuel Vadot status = "disabled"; 918f126890aSEmmanuel Vadot }; 919f126890aSEmmanuel Vadot }; 920f126890aSEmmanuel Vadot}; 921