1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (C) 2012 Altera <www.altera.com> 4*f126890aSEmmanuel Vadot */ 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot#include <dt-bindings/reset/altr,rst-mgr.h> 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot/ { 9*f126890aSEmmanuel Vadot #address-cells = <1>; 10*f126890aSEmmanuel Vadot #size-cells = <1>; 11*f126890aSEmmanuel Vadot 12*f126890aSEmmanuel Vadot aliases { 13*f126890aSEmmanuel Vadot serial0 = &uart0; 14*f126890aSEmmanuel Vadot serial1 = &uart1; 15*f126890aSEmmanuel Vadot timer0 = &timer0; 16*f126890aSEmmanuel Vadot timer1 = &timer1; 17*f126890aSEmmanuel Vadot timer2 = &timer2; 18*f126890aSEmmanuel Vadot timer3 = &timer3; 19*f126890aSEmmanuel Vadot }; 20*f126890aSEmmanuel Vadot 21*f126890aSEmmanuel Vadot cpus { 22*f126890aSEmmanuel Vadot #address-cells = <1>; 23*f126890aSEmmanuel Vadot #size-cells = <0>; 24*f126890aSEmmanuel Vadot enable-method = "altr,socfpga-smp"; 25*f126890aSEmmanuel Vadot 26*f126890aSEmmanuel Vadot cpu0: cpu@0 { 27*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 28*f126890aSEmmanuel Vadot device_type = "cpu"; 29*f126890aSEmmanuel Vadot reg = <0>; 30*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 31*f126890aSEmmanuel Vadot }; 32*f126890aSEmmanuel Vadot cpu1: cpu@1 { 33*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 34*f126890aSEmmanuel Vadot device_type = "cpu"; 35*f126890aSEmmanuel Vadot reg = <1>; 36*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 37*f126890aSEmmanuel Vadot }; 38*f126890aSEmmanuel Vadot }; 39*f126890aSEmmanuel Vadot 40*f126890aSEmmanuel Vadot pmu: pmu@ff111000 { 41*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-pmu"; 42*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 43*f126890aSEmmanuel Vadot interrupts = <0 176 4>, <0 177 4>; 44*f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 45*f126890aSEmmanuel Vadot reg = <0xff111000 0x1000>, 46*f126890aSEmmanuel Vadot <0xff113000 0x1000>; 47*f126890aSEmmanuel Vadot }; 48*f126890aSEmmanuel Vadot 49*f126890aSEmmanuel Vadot intc: interrupt-controller@fffed000 { 50*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-gic"; 51*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 52*f126890aSEmmanuel Vadot interrupt-controller; 53*f126890aSEmmanuel Vadot reg = <0xfffed000 0x1000>, 54*f126890aSEmmanuel Vadot <0xfffec100 0x100>; 55*f126890aSEmmanuel Vadot }; 56*f126890aSEmmanuel Vadot 57*f126890aSEmmanuel Vadot soc { 58*f126890aSEmmanuel Vadot #address-cells = <1>; 59*f126890aSEmmanuel Vadot #size-cells = <1>; 60*f126890aSEmmanuel Vadot compatible = "simple-bus"; 61*f126890aSEmmanuel Vadot device_type = "soc"; 62*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 63*f126890aSEmmanuel Vadot ranges; 64*f126890aSEmmanuel Vadot 65*f126890aSEmmanuel Vadot amba { 66*f126890aSEmmanuel Vadot compatible = "simple-bus"; 67*f126890aSEmmanuel Vadot #address-cells = <1>; 68*f126890aSEmmanuel Vadot #size-cells = <1>; 69*f126890aSEmmanuel Vadot ranges; 70*f126890aSEmmanuel Vadot 71*f126890aSEmmanuel Vadot pdma: pdma@ffe01000 { 72*f126890aSEmmanuel Vadot compatible = "arm,pl330", "arm,primecell"; 73*f126890aSEmmanuel Vadot reg = <0xffe01000 0x1000>; 74*f126890aSEmmanuel Vadot interrupts = <0 104 4>, 75*f126890aSEmmanuel Vadot <0 105 4>, 76*f126890aSEmmanuel Vadot <0 106 4>, 77*f126890aSEmmanuel Vadot <0 107 4>, 78*f126890aSEmmanuel Vadot <0 108 4>, 79*f126890aSEmmanuel Vadot <0 109 4>, 80*f126890aSEmmanuel Vadot <0 110 4>, 81*f126890aSEmmanuel Vadot <0 111 4>; 82*f126890aSEmmanuel Vadot #dma-cells = <1>; 83*f126890aSEmmanuel Vadot clocks = <&l4_main_clk>; 84*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 85*f126890aSEmmanuel Vadot resets = <&rst DMA_RESET>; 86*f126890aSEmmanuel Vadot reset-names = "dma"; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot }; 89*f126890aSEmmanuel Vadot 90*f126890aSEmmanuel Vadot base_fpga_region { 91*f126890aSEmmanuel Vadot compatible = "fpga-region"; 92*f126890aSEmmanuel Vadot fpga-mgr = <&fpgamgr0>; 93*f126890aSEmmanuel Vadot 94*f126890aSEmmanuel Vadot #address-cells = <0x1>; 95*f126890aSEmmanuel Vadot #size-cells = <0x1>; 96*f126890aSEmmanuel Vadot }; 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel Vadot can0: can@ffc00000 { 99*f126890aSEmmanuel Vadot compatible = "bosch,d_can"; 100*f126890aSEmmanuel Vadot reg = <0xffc00000 0x1000>; 101*f126890aSEmmanuel Vadot interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>; 102*f126890aSEmmanuel Vadot clocks = <&can0_clk>; 103*f126890aSEmmanuel Vadot resets = <&rst CAN0_RESET>; 104*f126890aSEmmanuel Vadot status = "disabled"; 105*f126890aSEmmanuel Vadot }; 106*f126890aSEmmanuel Vadot 107*f126890aSEmmanuel Vadot can1: can@ffc01000 { 108*f126890aSEmmanuel Vadot compatible = "bosch,d_can"; 109*f126890aSEmmanuel Vadot reg = <0xffc01000 0x1000>; 110*f126890aSEmmanuel Vadot interrupts = <0 135 4>, <0 136 4>, <0 137 4>, <0 138 4>; 111*f126890aSEmmanuel Vadot clocks = <&can1_clk>; 112*f126890aSEmmanuel Vadot resets = <&rst CAN1_RESET>; 113*f126890aSEmmanuel Vadot status = "disabled"; 114*f126890aSEmmanuel Vadot }; 115*f126890aSEmmanuel Vadot 116*f126890aSEmmanuel Vadot clkmgr@ffd04000 { 117*f126890aSEmmanuel Vadot compatible = "altr,clk-mgr"; 118*f126890aSEmmanuel Vadot reg = <0xffd04000 0x1000>; 119*f126890aSEmmanuel Vadot 120*f126890aSEmmanuel Vadot clocks { 121*f126890aSEmmanuel Vadot #address-cells = <1>; 122*f126890aSEmmanuel Vadot #size-cells = <0>; 123*f126890aSEmmanuel Vadot 124*f126890aSEmmanuel Vadot osc1: osc1 { 125*f126890aSEmmanuel Vadot #clock-cells = <0>; 126*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 127*f126890aSEmmanuel Vadot }; 128*f126890aSEmmanuel Vadot 129*f126890aSEmmanuel Vadot osc2: osc2 { 130*f126890aSEmmanuel Vadot #clock-cells = <0>; 131*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 132*f126890aSEmmanuel Vadot }; 133*f126890aSEmmanuel Vadot 134*f126890aSEmmanuel Vadot f2s_periph_ref_clk: f2s_periph_ref_clk { 135*f126890aSEmmanuel Vadot #clock-cells = <0>; 136*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 137*f126890aSEmmanuel Vadot }; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot f2s_sdram_ref_clk: f2s_sdram_ref_clk { 140*f126890aSEmmanuel Vadot #clock-cells = <0>; 141*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 142*f126890aSEmmanuel Vadot }; 143*f126890aSEmmanuel Vadot 144*f126890aSEmmanuel Vadot main_pll: main_pll@40 { 145*f126890aSEmmanuel Vadot #address-cells = <1>; 146*f126890aSEmmanuel Vadot #size-cells = <0>; 147*f126890aSEmmanuel Vadot #clock-cells = <0>; 148*f126890aSEmmanuel Vadot compatible = "altr,socfpga-pll-clock"; 149*f126890aSEmmanuel Vadot clocks = <&osc1>; 150*f126890aSEmmanuel Vadot reg = <0x40>; 151*f126890aSEmmanuel Vadot 152*f126890aSEmmanuel Vadot mpuclk: mpuclk@48 { 153*f126890aSEmmanuel Vadot #clock-cells = <0>; 154*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 155*f126890aSEmmanuel Vadot clocks = <&main_pll>; 156*f126890aSEmmanuel Vadot div-reg = <0xe0 0 9>; 157*f126890aSEmmanuel Vadot reg = <0x48>; 158*f126890aSEmmanuel Vadot }; 159*f126890aSEmmanuel Vadot 160*f126890aSEmmanuel Vadot mainclk: mainclk@4c { 161*f126890aSEmmanuel Vadot #clock-cells = <0>; 162*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 163*f126890aSEmmanuel Vadot clocks = <&main_pll>; 164*f126890aSEmmanuel Vadot div-reg = <0xe4 0 9>; 165*f126890aSEmmanuel Vadot reg = <0x4C>; 166*f126890aSEmmanuel Vadot }; 167*f126890aSEmmanuel Vadot 168*f126890aSEmmanuel Vadot dbg_base_clk: dbg_base_clk@50 { 169*f126890aSEmmanuel Vadot #clock-cells = <0>; 170*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 171*f126890aSEmmanuel Vadot clocks = <&main_pll>, <&osc1>; 172*f126890aSEmmanuel Vadot div-reg = <0xe8 0 9>; 173*f126890aSEmmanuel Vadot reg = <0x50>; 174*f126890aSEmmanuel Vadot }; 175*f126890aSEmmanuel Vadot 176*f126890aSEmmanuel Vadot main_qspi_clk: main_qspi_clk@54 { 177*f126890aSEmmanuel Vadot #clock-cells = <0>; 178*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 179*f126890aSEmmanuel Vadot clocks = <&main_pll>; 180*f126890aSEmmanuel Vadot reg = <0x54>; 181*f126890aSEmmanuel Vadot }; 182*f126890aSEmmanuel Vadot 183*f126890aSEmmanuel Vadot main_nand_sdmmc_clk: main_nand_sdmmc_clk@58 { 184*f126890aSEmmanuel Vadot #clock-cells = <0>; 185*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 186*f126890aSEmmanuel Vadot clocks = <&main_pll>; 187*f126890aSEmmanuel Vadot reg = <0x58>; 188*f126890aSEmmanuel Vadot }; 189*f126890aSEmmanuel Vadot 190*f126890aSEmmanuel Vadot cfg_h2f_usr0_clk: cfg_h2f_usr0_clk@5c { 191*f126890aSEmmanuel Vadot #clock-cells = <0>; 192*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 193*f126890aSEmmanuel Vadot clocks = <&main_pll>; 194*f126890aSEmmanuel Vadot reg = <0x5C>; 195*f126890aSEmmanuel Vadot }; 196*f126890aSEmmanuel Vadot }; 197*f126890aSEmmanuel Vadot 198*f126890aSEmmanuel Vadot periph_pll: periph_pll@80 { 199*f126890aSEmmanuel Vadot #address-cells = <1>; 200*f126890aSEmmanuel Vadot #size-cells = <0>; 201*f126890aSEmmanuel Vadot #clock-cells = <0>; 202*f126890aSEmmanuel Vadot compatible = "altr,socfpga-pll-clock"; 203*f126890aSEmmanuel Vadot clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>; 204*f126890aSEmmanuel Vadot reg = <0x80>; 205*f126890aSEmmanuel Vadot 206*f126890aSEmmanuel Vadot emac0_clk: emac0_clk@88 { 207*f126890aSEmmanuel Vadot #clock-cells = <0>; 208*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 209*f126890aSEmmanuel Vadot clocks = <&periph_pll>; 210*f126890aSEmmanuel Vadot reg = <0x88>; 211*f126890aSEmmanuel Vadot }; 212*f126890aSEmmanuel Vadot 213*f126890aSEmmanuel Vadot emac1_clk: emac1_clk@8c { 214*f126890aSEmmanuel Vadot #clock-cells = <0>; 215*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 216*f126890aSEmmanuel Vadot clocks = <&periph_pll>; 217*f126890aSEmmanuel Vadot reg = <0x8C>; 218*f126890aSEmmanuel Vadot }; 219*f126890aSEmmanuel Vadot 220*f126890aSEmmanuel Vadot per_qspi_clk: per_qsi_clk@90 { 221*f126890aSEmmanuel Vadot #clock-cells = <0>; 222*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 223*f126890aSEmmanuel Vadot clocks = <&periph_pll>; 224*f126890aSEmmanuel Vadot reg = <0x90>; 225*f126890aSEmmanuel Vadot }; 226*f126890aSEmmanuel Vadot 227*f126890aSEmmanuel Vadot per_nand_mmc_clk: per_nand_mmc_clk@94 { 228*f126890aSEmmanuel Vadot #clock-cells = <0>; 229*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 230*f126890aSEmmanuel Vadot clocks = <&periph_pll>; 231*f126890aSEmmanuel Vadot reg = <0x94>; 232*f126890aSEmmanuel Vadot }; 233*f126890aSEmmanuel Vadot 234*f126890aSEmmanuel Vadot per_base_clk: per_base_clk@98 { 235*f126890aSEmmanuel Vadot #clock-cells = <0>; 236*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 237*f126890aSEmmanuel Vadot clocks = <&periph_pll>; 238*f126890aSEmmanuel Vadot reg = <0x98>; 239*f126890aSEmmanuel Vadot }; 240*f126890aSEmmanuel Vadot 241*f126890aSEmmanuel Vadot h2f_usr1_clk: h2f_usr1_clk@9c { 242*f126890aSEmmanuel Vadot #clock-cells = <0>; 243*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 244*f126890aSEmmanuel Vadot clocks = <&periph_pll>; 245*f126890aSEmmanuel Vadot reg = <0x9C>; 246*f126890aSEmmanuel Vadot }; 247*f126890aSEmmanuel Vadot }; 248*f126890aSEmmanuel Vadot 249*f126890aSEmmanuel Vadot sdram_pll: sdram_pll@c0 { 250*f126890aSEmmanuel Vadot #address-cells = <1>; 251*f126890aSEmmanuel Vadot #size-cells = <0>; 252*f126890aSEmmanuel Vadot #clock-cells = <0>; 253*f126890aSEmmanuel Vadot compatible = "altr,socfpga-pll-clock"; 254*f126890aSEmmanuel Vadot clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>; 255*f126890aSEmmanuel Vadot reg = <0xC0>; 256*f126890aSEmmanuel Vadot 257*f126890aSEmmanuel Vadot ddr_dqs_clk: ddr_dqs_clk@c8 { 258*f126890aSEmmanuel Vadot #clock-cells = <0>; 259*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 260*f126890aSEmmanuel Vadot clocks = <&sdram_pll>; 261*f126890aSEmmanuel Vadot reg = <0xC8>; 262*f126890aSEmmanuel Vadot }; 263*f126890aSEmmanuel Vadot 264*f126890aSEmmanuel Vadot ddr_2x_dqs_clk: ddr_2x_dqs_clk@cc { 265*f126890aSEmmanuel Vadot #clock-cells = <0>; 266*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 267*f126890aSEmmanuel Vadot clocks = <&sdram_pll>; 268*f126890aSEmmanuel Vadot reg = <0xCC>; 269*f126890aSEmmanuel Vadot }; 270*f126890aSEmmanuel Vadot 271*f126890aSEmmanuel Vadot ddr_dq_clk: ddr_dq_clk@d0 { 272*f126890aSEmmanuel Vadot #clock-cells = <0>; 273*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 274*f126890aSEmmanuel Vadot clocks = <&sdram_pll>; 275*f126890aSEmmanuel Vadot reg = <0xD0>; 276*f126890aSEmmanuel Vadot }; 277*f126890aSEmmanuel Vadot 278*f126890aSEmmanuel Vadot h2f_usr2_clk: h2f_usr2_clk@d4 { 279*f126890aSEmmanuel Vadot #clock-cells = <0>; 280*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 281*f126890aSEmmanuel Vadot clocks = <&sdram_pll>; 282*f126890aSEmmanuel Vadot reg = <0xD4>; 283*f126890aSEmmanuel Vadot }; 284*f126890aSEmmanuel Vadot }; 285*f126890aSEmmanuel Vadot 286*f126890aSEmmanuel Vadot mpu_periph_clk: mpu_periph_clk { 287*f126890aSEmmanuel Vadot #clock-cells = <0>; 288*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 289*f126890aSEmmanuel Vadot clocks = <&mpuclk>; 290*f126890aSEmmanuel Vadot fixed-divider = <4>; 291*f126890aSEmmanuel Vadot }; 292*f126890aSEmmanuel Vadot 293*f126890aSEmmanuel Vadot mpu_l2_ram_clk: mpu_l2_ram_clk { 294*f126890aSEmmanuel Vadot #clock-cells = <0>; 295*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 296*f126890aSEmmanuel Vadot clocks = <&mpuclk>; 297*f126890aSEmmanuel Vadot fixed-divider = <2>; 298*f126890aSEmmanuel Vadot }; 299*f126890aSEmmanuel Vadot 300*f126890aSEmmanuel Vadot l4_main_clk: l4_main_clk { 301*f126890aSEmmanuel Vadot #clock-cells = <0>; 302*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 303*f126890aSEmmanuel Vadot clocks = <&mainclk>; 304*f126890aSEmmanuel Vadot clk-gate = <0x60 0>; 305*f126890aSEmmanuel Vadot }; 306*f126890aSEmmanuel Vadot 307*f126890aSEmmanuel Vadot l3_main_clk: l3_main_clk { 308*f126890aSEmmanuel Vadot #clock-cells = <0>; 309*f126890aSEmmanuel Vadot compatible = "altr,socfpga-perip-clk"; 310*f126890aSEmmanuel Vadot clocks = <&mainclk>; 311*f126890aSEmmanuel Vadot fixed-divider = <1>; 312*f126890aSEmmanuel Vadot }; 313*f126890aSEmmanuel Vadot 314*f126890aSEmmanuel Vadot l3_mp_clk: l3_mp_clk { 315*f126890aSEmmanuel Vadot #clock-cells = <0>; 316*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 317*f126890aSEmmanuel Vadot clocks = <&mainclk>; 318*f126890aSEmmanuel Vadot div-reg = <0x64 0 2>; 319*f126890aSEmmanuel Vadot clk-gate = <0x60 1>; 320*f126890aSEmmanuel Vadot }; 321*f126890aSEmmanuel Vadot 322*f126890aSEmmanuel Vadot l3_sp_clk: l3_sp_clk { 323*f126890aSEmmanuel Vadot #clock-cells = <0>; 324*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 325*f126890aSEmmanuel Vadot clocks = <&l3_mp_clk>; 326*f126890aSEmmanuel Vadot div-reg = <0x64 2 2>; 327*f126890aSEmmanuel Vadot }; 328*f126890aSEmmanuel Vadot 329*f126890aSEmmanuel Vadot l4_mp_clk: l4_mp_clk { 330*f126890aSEmmanuel Vadot #clock-cells = <0>; 331*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 332*f126890aSEmmanuel Vadot clocks = <&mainclk>, <&per_base_clk>; 333*f126890aSEmmanuel Vadot div-reg = <0x64 4 3>; 334*f126890aSEmmanuel Vadot clk-gate = <0x60 2>; 335*f126890aSEmmanuel Vadot }; 336*f126890aSEmmanuel Vadot 337*f126890aSEmmanuel Vadot l4_sp_clk: l4_sp_clk { 338*f126890aSEmmanuel Vadot #clock-cells = <0>; 339*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 340*f126890aSEmmanuel Vadot clocks = <&mainclk>, <&per_base_clk>; 341*f126890aSEmmanuel Vadot div-reg = <0x64 7 3>; 342*f126890aSEmmanuel Vadot clk-gate = <0x60 3>; 343*f126890aSEmmanuel Vadot }; 344*f126890aSEmmanuel Vadot 345*f126890aSEmmanuel Vadot dbg_at_clk: dbg_at_clk { 346*f126890aSEmmanuel Vadot #clock-cells = <0>; 347*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 348*f126890aSEmmanuel Vadot clocks = <&dbg_base_clk>; 349*f126890aSEmmanuel Vadot div-reg = <0x68 0 2>; 350*f126890aSEmmanuel Vadot clk-gate = <0x60 4>; 351*f126890aSEmmanuel Vadot }; 352*f126890aSEmmanuel Vadot 353*f126890aSEmmanuel Vadot dbg_clk: dbg_clk { 354*f126890aSEmmanuel Vadot #clock-cells = <0>; 355*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 356*f126890aSEmmanuel Vadot clocks = <&dbg_at_clk>; 357*f126890aSEmmanuel Vadot div-reg = <0x68 2 2>; 358*f126890aSEmmanuel Vadot clk-gate = <0x60 5>; 359*f126890aSEmmanuel Vadot }; 360*f126890aSEmmanuel Vadot 361*f126890aSEmmanuel Vadot dbg_trace_clk: dbg_trace_clk { 362*f126890aSEmmanuel Vadot #clock-cells = <0>; 363*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 364*f126890aSEmmanuel Vadot clocks = <&dbg_base_clk>; 365*f126890aSEmmanuel Vadot div-reg = <0x6C 0 3>; 366*f126890aSEmmanuel Vadot clk-gate = <0x60 6>; 367*f126890aSEmmanuel Vadot }; 368*f126890aSEmmanuel Vadot 369*f126890aSEmmanuel Vadot dbg_timer_clk: dbg_timer_clk { 370*f126890aSEmmanuel Vadot #clock-cells = <0>; 371*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 372*f126890aSEmmanuel Vadot clocks = <&dbg_base_clk>; 373*f126890aSEmmanuel Vadot clk-gate = <0x60 7>; 374*f126890aSEmmanuel Vadot }; 375*f126890aSEmmanuel Vadot 376*f126890aSEmmanuel Vadot cfg_clk: cfg_clk { 377*f126890aSEmmanuel Vadot #clock-cells = <0>; 378*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 379*f126890aSEmmanuel Vadot clocks = <&cfg_h2f_usr0_clk>; 380*f126890aSEmmanuel Vadot clk-gate = <0x60 8>; 381*f126890aSEmmanuel Vadot }; 382*f126890aSEmmanuel Vadot 383*f126890aSEmmanuel Vadot h2f_user0_clk: h2f_user0_clk { 384*f126890aSEmmanuel Vadot #clock-cells = <0>; 385*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 386*f126890aSEmmanuel Vadot clocks = <&cfg_h2f_usr0_clk>; 387*f126890aSEmmanuel Vadot clk-gate = <0x60 9>; 388*f126890aSEmmanuel Vadot }; 389*f126890aSEmmanuel Vadot 390*f126890aSEmmanuel Vadot emac_0_clk: emac_0_clk { 391*f126890aSEmmanuel Vadot #clock-cells = <0>; 392*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 393*f126890aSEmmanuel Vadot clocks = <&emac0_clk>; 394*f126890aSEmmanuel Vadot clk-gate = <0xa0 0>; 395*f126890aSEmmanuel Vadot }; 396*f126890aSEmmanuel Vadot 397*f126890aSEmmanuel Vadot emac_1_clk: emac_1_clk { 398*f126890aSEmmanuel Vadot #clock-cells = <0>; 399*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 400*f126890aSEmmanuel Vadot clocks = <&emac1_clk>; 401*f126890aSEmmanuel Vadot clk-gate = <0xa0 1>; 402*f126890aSEmmanuel Vadot }; 403*f126890aSEmmanuel Vadot 404*f126890aSEmmanuel Vadot usb_mp_clk: usb_mp_clk { 405*f126890aSEmmanuel Vadot #clock-cells = <0>; 406*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 407*f126890aSEmmanuel Vadot clocks = <&per_base_clk>; 408*f126890aSEmmanuel Vadot clk-gate = <0xa0 2>; 409*f126890aSEmmanuel Vadot div-reg = <0xa4 0 3>; 410*f126890aSEmmanuel Vadot }; 411*f126890aSEmmanuel Vadot 412*f126890aSEmmanuel Vadot spi_m_clk: spi_m_clk { 413*f126890aSEmmanuel Vadot #clock-cells = <0>; 414*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 415*f126890aSEmmanuel Vadot clocks = <&per_base_clk>; 416*f126890aSEmmanuel Vadot clk-gate = <0xa0 3>; 417*f126890aSEmmanuel Vadot div-reg = <0xa4 3 3>; 418*f126890aSEmmanuel Vadot }; 419*f126890aSEmmanuel Vadot 420*f126890aSEmmanuel Vadot can0_clk: can0_clk { 421*f126890aSEmmanuel Vadot #clock-cells = <0>; 422*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 423*f126890aSEmmanuel Vadot clocks = <&per_base_clk>; 424*f126890aSEmmanuel Vadot clk-gate = <0xa0 4>; 425*f126890aSEmmanuel Vadot div-reg = <0xa4 6 3>; 426*f126890aSEmmanuel Vadot }; 427*f126890aSEmmanuel Vadot 428*f126890aSEmmanuel Vadot can1_clk: can1_clk { 429*f126890aSEmmanuel Vadot #clock-cells = <0>; 430*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 431*f126890aSEmmanuel Vadot clocks = <&per_base_clk>; 432*f126890aSEmmanuel Vadot clk-gate = <0xa0 5>; 433*f126890aSEmmanuel Vadot div-reg = <0xa4 9 3>; 434*f126890aSEmmanuel Vadot }; 435*f126890aSEmmanuel Vadot 436*f126890aSEmmanuel Vadot gpio_db_clk: gpio_db_clk { 437*f126890aSEmmanuel Vadot #clock-cells = <0>; 438*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 439*f126890aSEmmanuel Vadot clocks = <&per_base_clk>; 440*f126890aSEmmanuel Vadot clk-gate = <0xa0 6>; 441*f126890aSEmmanuel Vadot div-reg = <0xa8 0 24>; 442*f126890aSEmmanuel Vadot }; 443*f126890aSEmmanuel Vadot 444*f126890aSEmmanuel Vadot h2f_user1_clk: h2f_user1_clk { 445*f126890aSEmmanuel Vadot #clock-cells = <0>; 446*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 447*f126890aSEmmanuel Vadot clocks = <&h2f_usr1_clk>; 448*f126890aSEmmanuel Vadot clk-gate = <0xa0 7>; 449*f126890aSEmmanuel Vadot }; 450*f126890aSEmmanuel Vadot 451*f126890aSEmmanuel Vadot sdmmc_clk: sdmmc_clk { 452*f126890aSEmmanuel Vadot #clock-cells = <0>; 453*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 454*f126890aSEmmanuel Vadot clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>; 455*f126890aSEmmanuel Vadot clk-gate = <0xa0 8>; 456*f126890aSEmmanuel Vadot }; 457*f126890aSEmmanuel Vadot 458*f126890aSEmmanuel Vadot sdmmc_clk_divided: sdmmc_clk_divided { 459*f126890aSEmmanuel Vadot #clock-cells = <0>; 460*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 461*f126890aSEmmanuel Vadot clocks = <&sdmmc_clk>; 462*f126890aSEmmanuel Vadot clk-gate = <0xa0 8>; 463*f126890aSEmmanuel Vadot fixed-divider = <4>; 464*f126890aSEmmanuel Vadot }; 465*f126890aSEmmanuel Vadot 466*f126890aSEmmanuel Vadot nand_x_clk: nand_x_clk { 467*f126890aSEmmanuel Vadot #clock-cells = <0>; 468*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 469*f126890aSEmmanuel Vadot clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>; 470*f126890aSEmmanuel Vadot clk-gate = <0xa0 9>; 471*f126890aSEmmanuel Vadot }; 472*f126890aSEmmanuel Vadot 473*f126890aSEmmanuel Vadot nand_ecc_clk: nand_ecc_clk { 474*f126890aSEmmanuel Vadot #clock-cells = <0>; 475*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 476*f126890aSEmmanuel Vadot clocks = <&nand_x_clk>; 477*f126890aSEmmanuel Vadot clk-gate = <0xa0 9>; 478*f126890aSEmmanuel Vadot }; 479*f126890aSEmmanuel Vadot 480*f126890aSEmmanuel Vadot nand_clk: nand_clk { 481*f126890aSEmmanuel Vadot #clock-cells = <0>; 482*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 483*f126890aSEmmanuel Vadot clocks = <&nand_x_clk>; 484*f126890aSEmmanuel Vadot clk-gate = <0xa0 10>; 485*f126890aSEmmanuel Vadot fixed-divider = <4>; 486*f126890aSEmmanuel Vadot }; 487*f126890aSEmmanuel Vadot 488*f126890aSEmmanuel Vadot qspi_clk: qspi_clk { 489*f126890aSEmmanuel Vadot #clock-cells = <0>; 490*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 491*f126890aSEmmanuel Vadot clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>; 492*f126890aSEmmanuel Vadot clk-gate = <0xa0 11>; 493*f126890aSEmmanuel Vadot }; 494*f126890aSEmmanuel Vadot 495*f126890aSEmmanuel Vadot ddr_dqs_clk_gate: ddr_dqs_clk_gate { 496*f126890aSEmmanuel Vadot #clock-cells = <0>; 497*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 498*f126890aSEmmanuel Vadot clocks = <&ddr_dqs_clk>; 499*f126890aSEmmanuel Vadot clk-gate = <0xd8 0>; 500*f126890aSEmmanuel Vadot }; 501*f126890aSEmmanuel Vadot 502*f126890aSEmmanuel Vadot ddr_2x_dqs_clk_gate: ddr_2x_dqs_clk_gate { 503*f126890aSEmmanuel Vadot #clock-cells = <0>; 504*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 505*f126890aSEmmanuel Vadot clocks = <&ddr_2x_dqs_clk>; 506*f126890aSEmmanuel Vadot clk-gate = <0xd8 1>; 507*f126890aSEmmanuel Vadot }; 508*f126890aSEmmanuel Vadot 509*f126890aSEmmanuel Vadot ddr_dq_clk_gate: ddr_dq_clk_gate { 510*f126890aSEmmanuel Vadot #clock-cells = <0>; 511*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 512*f126890aSEmmanuel Vadot clocks = <&ddr_dq_clk>; 513*f126890aSEmmanuel Vadot clk-gate = <0xd8 2>; 514*f126890aSEmmanuel Vadot }; 515*f126890aSEmmanuel Vadot 516*f126890aSEmmanuel Vadot h2f_user2_clk: h2f_user2_clk { 517*f126890aSEmmanuel Vadot #clock-cells = <0>; 518*f126890aSEmmanuel Vadot compatible = "altr,socfpga-gate-clk"; 519*f126890aSEmmanuel Vadot clocks = <&h2f_usr2_clk>; 520*f126890aSEmmanuel Vadot clk-gate = <0xd8 3>; 521*f126890aSEmmanuel Vadot }; 522*f126890aSEmmanuel Vadot 523*f126890aSEmmanuel Vadot }; 524*f126890aSEmmanuel Vadot }; 525*f126890aSEmmanuel Vadot 526*f126890aSEmmanuel Vadot fpga_bridge0: fpga_bridge@ff400000 { 527*f126890aSEmmanuel Vadot compatible = "altr,socfpga-lwhps2fpga-bridge"; 528*f126890aSEmmanuel Vadot reg = <0xff400000 0x100000>; 529*f126890aSEmmanuel Vadot resets = <&rst LWHPS2FPGA_RESET>; 530*f126890aSEmmanuel Vadot clocks = <&l4_main_clk>; 531*f126890aSEmmanuel Vadot status = "disabled"; 532*f126890aSEmmanuel Vadot }; 533*f126890aSEmmanuel Vadot 534*f126890aSEmmanuel Vadot fpga_bridge1: fpga_bridge@ff500000 { 535*f126890aSEmmanuel Vadot compatible = "altr,socfpga-hps2fpga-bridge"; 536*f126890aSEmmanuel Vadot reg = <0xff500000 0x10000>; 537*f126890aSEmmanuel Vadot resets = <&rst HPS2FPGA_RESET>; 538*f126890aSEmmanuel Vadot clocks = <&l4_main_clk>; 539*f126890aSEmmanuel Vadot status = "disabled"; 540*f126890aSEmmanuel Vadot }; 541*f126890aSEmmanuel Vadot 542*f126890aSEmmanuel Vadot fpga_bridge2: fpga-bridge@ff600000 { 543*f126890aSEmmanuel Vadot compatible = "altr,socfpga-fpga2hps-bridge"; 544*f126890aSEmmanuel Vadot reg = <0xff600000 0x100000>; 545*f126890aSEmmanuel Vadot resets = <&rst FPGA2HPS_RESET>; 546*f126890aSEmmanuel Vadot clocks = <&l4_main_clk>; 547*f126890aSEmmanuel Vadot status = "disabled"; 548*f126890aSEmmanuel Vadot }; 549*f126890aSEmmanuel Vadot 550*f126890aSEmmanuel Vadot fpga_bridge3: fpga-bridge@ffc25080 { 551*f126890aSEmmanuel Vadot compatible = "altr,socfpga-fpga2sdram-bridge"; 552*f126890aSEmmanuel Vadot reg = <0xffc25080 0x4>; 553*f126890aSEmmanuel Vadot status = "disabled"; 554*f126890aSEmmanuel Vadot }; 555*f126890aSEmmanuel Vadot 556*f126890aSEmmanuel Vadot fpgamgr0: fpgamgr@ff706000 { 557*f126890aSEmmanuel Vadot compatible = "altr,socfpga-fpga-mgr"; 558*f126890aSEmmanuel Vadot reg = <0xff706000 0x1000 559*f126890aSEmmanuel Vadot 0xffb90000 0x4>; 560*f126890aSEmmanuel Vadot interrupts = <0 175 4>; 561*f126890aSEmmanuel Vadot }; 562*f126890aSEmmanuel Vadot 563*f126890aSEmmanuel Vadot socfpga_axi_setup: stmmac-axi-config { 564*f126890aSEmmanuel Vadot snps,wr_osr_lmt = <0xf>; 565*f126890aSEmmanuel Vadot snps,rd_osr_lmt = <0xf>; 566*f126890aSEmmanuel Vadot snps,blen = <0 0 0 0 16 0 0>; 567*f126890aSEmmanuel Vadot }; 568*f126890aSEmmanuel Vadot 569*f126890aSEmmanuel Vadot gmac0: ethernet@ff700000 { 570*f126890aSEmmanuel Vadot compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; 571*f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr 0x60 0>; 572*f126890aSEmmanuel Vadot reg = <0xff700000 0x2000>; 573*f126890aSEmmanuel Vadot interrupts = <0 115 4>; 574*f126890aSEmmanuel Vadot interrupt-names = "macirq"; 575*f126890aSEmmanuel Vadot mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ 576*f126890aSEmmanuel Vadot clocks = <&emac_0_clk>; 577*f126890aSEmmanuel Vadot clock-names = "stmmaceth"; 578*f126890aSEmmanuel Vadot resets = <&rst EMAC0_RESET>; 579*f126890aSEmmanuel Vadot reset-names = "stmmaceth"; 580*f126890aSEmmanuel Vadot snps,multicast-filter-bins = <256>; 581*f126890aSEmmanuel Vadot snps,perfect-filter-entries = <128>; 582*f126890aSEmmanuel Vadot tx-fifo-depth = <4096>; 583*f126890aSEmmanuel Vadot rx-fifo-depth = <4096>; 584*f126890aSEmmanuel Vadot snps,axi-config = <&socfpga_axi_setup>; 585*f126890aSEmmanuel Vadot status = "disabled"; 586*f126890aSEmmanuel Vadot }; 587*f126890aSEmmanuel Vadot 588*f126890aSEmmanuel Vadot gmac1: ethernet@ff702000 { 589*f126890aSEmmanuel Vadot compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; 590*f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr 0x60 2>; 591*f126890aSEmmanuel Vadot reg = <0xff702000 0x2000>; 592*f126890aSEmmanuel Vadot interrupts = <0 120 4>; 593*f126890aSEmmanuel Vadot interrupt-names = "macirq"; 594*f126890aSEmmanuel Vadot mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ 595*f126890aSEmmanuel Vadot clocks = <&emac_1_clk>; 596*f126890aSEmmanuel Vadot clock-names = "stmmaceth"; 597*f126890aSEmmanuel Vadot resets = <&rst EMAC1_RESET>; 598*f126890aSEmmanuel Vadot reset-names = "stmmaceth"; 599*f126890aSEmmanuel Vadot snps,multicast-filter-bins = <256>; 600*f126890aSEmmanuel Vadot snps,perfect-filter-entries = <128>; 601*f126890aSEmmanuel Vadot tx-fifo-depth = <4096>; 602*f126890aSEmmanuel Vadot rx-fifo-depth = <4096>; 603*f126890aSEmmanuel Vadot snps,axi-config = <&socfpga_axi_setup>; 604*f126890aSEmmanuel Vadot status = "disabled"; 605*f126890aSEmmanuel Vadot }; 606*f126890aSEmmanuel Vadot 607*f126890aSEmmanuel Vadot gpio0: gpio@ff708000 { 608*f126890aSEmmanuel Vadot #address-cells = <1>; 609*f126890aSEmmanuel Vadot #size-cells = <0>; 610*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 611*f126890aSEmmanuel Vadot reg = <0xff708000 0x1000>; 612*f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>; 613*f126890aSEmmanuel Vadot resets = <&rst GPIO0_RESET>; 614*f126890aSEmmanuel Vadot status = "disabled"; 615*f126890aSEmmanuel Vadot 616*f126890aSEmmanuel Vadot porta: gpio-controller@0 { 617*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 618*f126890aSEmmanuel Vadot gpio-controller; 619*f126890aSEmmanuel Vadot #gpio-cells = <2>; 620*f126890aSEmmanuel Vadot snps,nr-gpios = <29>; 621*f126890aSEmmanuel Vadot reg = <0>; 622*f126890aSEmmanuel Vadot interrupt-controller; 623*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 624*f126890aSEmmanuel Vadot interrupts = <0 164 4>; 625*f126890aSEmmanuel Vadot }; 626*f126890aSEmmanuel Vadot }; 627*f126890aSEmmanuel Vadot 628*f126890aSEmmanuel Vadot gpio1: gpio@ff709000 { 629*f126890aSEmmanuel Vadot #address-cells = <1>; 630*f126890aSEmmanuel Vadot #size-cells = <0>; 631*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 632*f126890aSEmmanuel Vadot reg = <0xff709000 0x1000>; 633*f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>; 634*f126890aSEmmanuel Vadot resets = <&rst GPIO1_RESET>; 635*f126890aSEmmanuel Vadot status = "disabled"; 636*f126890aSEmmanuel Vadot 637*f126890aSEmmanuel Vadot portb: gpio-controller@0 { 638*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 639*f126890aSEmmanuel Vadot gpio-controller; 640*f126890aSEmmanuel Vadot #gpio-cells = <2>; 641*f126890aSEmmanuel Vadot snps,nr-gpios = <29>; 642*f126890aSEmmanuel Vadot reg = <0>; 643*f126890aSEmmanuel Vadot interrupt-controller; 644*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 645*f126890aSEmmanuel Vadot interrupts = <0 165 4>; 646*f126890aSEmmanuel Vadot }; 647*f126890aSEmmanuel Vadot }; 648*f126890aSEmmanuel Vadot 649*f126890aSEmmanuel Vadot gpio2: gpio@ff70a000 { 650*f126890aSEmmanuel Vadot #address-cells = <1>; 651*f126890aSEmmanuel Vadot #size-cells = <0>; 652*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 653*f126890aSEmmanuel Vadot reg = <0xff70a000 0x1000>; 654*f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>; 655*f126890aSEmmanuel Vadot resets = <&rst GPIO2_RESET>; 656*f126890aSEmmanuel Vadot status = "disabled"; 657*f126890aSEmmanuel Vadot 658*f126890aSEmmanuel Vadot portc: gpio-controller@0 { 659*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 660*f126890aSEmmanuel Vadot gpio-controller; 661*f126890aSEmmanuel Vadot #gpio-cells = <2>; 662*f126890aSEmmanuel Vadot snps,nr-gpios = <27>; 663*f126890aSEmmanuel Vadot reg = <0>; 664*f126890aSEmmanuel Vadot interrupt-controller; 665*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 666*f126890aSEmmanuel Vadot interrupts = <0 166 4>; 667*f126890aSEmmanuel Vadot }; 668*f126890aSEmmanuel Vadot }; 669*f126890aSEmmanuel Vadot 670*f126890aSEmmanuel Vadot i2c0: i2c@ffc04000 { 671*f126890aSEmmanuel Vadot #address-cells = <1>; 672*f126890aSEmmanuel Vadot #size-cells = <0>; 673*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 674*f126890aSEmmanuel Vadot reg = <0xffc04000 0x1000>; 675*f126890aSEmmanuel Vadot resets = <&rst I2C0_RESET>; 676*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 677*f126890aSEmmanuel Vadot interrupts = <0 158 0x4>; 678*f126890aSEmmanuel Vadot status = "disabled"; 679*f126890aSEmmanuel Vadot }; 680*f126890aSEmmanuel Vadot 681*f126890aSEmmanuel Vadot i2c1: i2c@ffc05000 { 682*f126890aSEmmanuel Vadot #address-cells = <1>; 683*f126890aSEmmanuel Vadot #size-cells = <0>; 684*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 685*f126890aSEmmanuel Vadot reg = <0xffc05000 0x1000>; 686*f126890aSEmmanuel Vadot resets = <&rst I2C1_RESET>; 687*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 688*f126890aSEmmanuel Vadot interrupts = <0 159 0x4>; 689*f126890aSEmmanuel Vadot status = "disabled"; 690*f126890aSEmmanuel Vadot }; 691*f126890aSEmmanuel Vadot 692*f126890aSEmmanuel Vadot i2c2: i2c@ffc06000 { 693*f126890aSEmmanuel Vadot #address-cells = <1>; 694*f126890aSEmmanuel Vadot #size-cells = <0>; 695*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 696*f126890aSEmmanuel Vadot reg = <0xffc06000 0x1000>; 697*f126890aSEmmanuel Vadot resets = <&rst I2C2_RESET>; 698*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 699*f126890aSEmmanuel Vadot interrupts = <0 160 0x4>; 700*f126890aSEmmanuel Vadot status = "disabled"; 701*f126890aSEmmanuel Vadot }; 702*f126890aSEmmanuel Vadot 703*f126890aSEmmanuel Vadot i2c3: i2c@ffc07000 { 704*f126890aSEmmanuel Vadot #address-cells = <1>; 705*f126890aSEmmanuel Vadot #size-cells = <0>; 706*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 707*f126890aSEmmanuel Vadot reg = <0xffc07000 0x1000>; 708*f126890aSEmmanuel Vadot resets = <&rst I2C3_RESET>; 709*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 710*f126890aSEmmanuel Vadot interrupts = <0 161 0x4>; 711*f126890aSEmmanuel Vadot status = "disabled"; 712*f126890aSEmmanuel Vadot }; 713*f126890aSEmmanuel Vadot 714*f126890aSEmmanuel Vadot eccmgr: eccmgr { 715*f126890aSEmmanuel Vadot compatible = "altr,socfpga-ecc-manager"; 716*f126890aSEmmanuel Vadot #address-cells = <1>; 717*f126890aSEmmanuel Vadot #size-cells = <1>; 718*f126890aSEmmanuel Vadot ranges; 719*f126890aSEmmanuel Vadot 720*f126890aSEmmanuel Vadot l2-ecc@ffd08140 { 721*f126890aSEmmanuel Vadot compatible = "altr,socfpga-l2-ecc"; 722*f126890aSEmmanuel Vadot reg = <0xffd08140 0x4>; 723*f126890aSEmmanuel Vadot interrupts = <0 36 1>, <0 37 1>; 724*f126890aSEmmanuel Vadot }; 725*f126890aSEmmanuel Vadot 726*f126890aSEmmanuel Vadot ocram-ecc@ffd08144 { 727*f126890aSEmmanuel Vadot compatible = "altr,socfpga-ocram-ecc"; 728*f126890aSEmmanuel Vadot reg = <0xffd08144 0x4>; 729*f126890aSEmmanuel Vadot iram = <&ocram>; 730*f126890aSEmmanuel Vadot interrupts = <0 178 1>, <0 179 1>; 731*f126890aSEmmanuel Vadot }; 732*f126890aSEmmanuel Vadot }; 733*f126890aSEmmanuel Vadot 734*f126890aSEmmanuel Vadot L2: cache-controller@fffef000 { 735*f126890aSEmmanuel Vadot compatible = "arm,pl310-cache"; 736*f126890aSEmmanuel Vadot reg = <0xfffef000 0x1000>; 737*f126890aSEmmanuel Vadot interrupts = <0 38 0x04>; 738*f126890aSEmmanuel Vadot cache-unified; 739*f126890aSEmmanuel Vadot cache-level = <2>; 740*f126890aSEmmanuel Vadot arm,tag-latency = <1 1 1>; 741*f126890aSEmmanuel Vadot arm,data-latency = <2 1 1>; 742*f126890aSEmmanuel Vadot prefetch-data = <1>; 743*f126890aSEmmanuel Vadot prefetch-instr = <1>; 744*f126890aSEmmanuel Vadot arm,shared-override; 745*f126890aSEmmanuel Vadot arm,double-linefill = <1>; 746*f126890aSEmmanuel Vadot arm,double-linefill-incr = <0>; 747*f126890aSEmmanuel Vadot arm,double-linefill-wrap = <1>; 748*f126890aSEmmanuel Vadot arm,prefetch-drop = <0>; 749*f126890aSEmmanuel Vadot arm,prefetch-offset = <7>; 750*f126890aSEmmanuel Vadot }; 751*f126890aSEmmanuel Vadot 752*f126890aSEmmanuel Vadot l3regs@ff800000 { 753*f126890aSEmmanuel Vadot compatible = "altr,l3regs", "syscon"; 754*f126890aSEmmanuel Vadot reg = <0xff800000 0x1000>; 755*f126890aSEmmanuel Vadot }; 756*f126890aSEmmanuel Vadot 757*f126890aSEmmanuel Vadot mmc: mmc@ff704000 { 758*f126890aSEmmanuel Vadot compatible = "altr,socfpga-dw-mshc"; 759*f126890aSEmmanuel Vadot reg = <0xff704000 0x1000>; 760*f126890aSEmmanuel Vadot interrupts = <0 139 4>; 761*f126890aSEmmanuel Vadot fifo-depth = <0x400>; 762*f126890aSEmmanuel Vadot #address-cells = <1>; 763*f126890aSEmmanuel Vadot #size-cells = <0>; 764*f126890aSEmmanuel Vadot clocks = <&l4_mp_clk>, <&sdmmc_clk_divided>; 765*f126890aSEmmanuel Vadot clock-names = "biu", "ciu"; 766*f126890aSEmmanuel Vadot resets = <&rst SDMMC_RESET>; 767*f126890aSEmmanuel Vadot altr,sysmgr-syscon = <&sysmgr 0x108 3>; 768*f126890aSEmmanuel Vadot status = "disabled"; 769*f126890aSEmmanuel Vadot }; 770*f126890aSEmmanuel Vadot 771*f126890aSEmmanuel Vadot nand0: nand@ff900000 { 772*f126890aSEmmanuel Vadot #address-cells = <0x1>; 773*f126890aSEmmanuel Vadot #size-cells = <0x0>; 774*f126890aSEmmanuel Vadot compatible = "altr,socfpga-denali-nand"; 775*f126890aSEmmanuel Vadot reg = <0xff900000 0x100000>, 776*f126890aSEmmanuel Vadot <0xffb80000 0x10000>; 777*f126890aSEmmanuel Vadot reg-names = "nand_data", "denali_reg"; 778*f126890aSEmmanuel Vadot interrupts = <0x0 0x90 0x4>; 779*f126890aSEmmanuel Vadot clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>; 780*f126890aSEmmanuel Vadot clock-names = "nand", "nand_x", "ecc"; 781*f126890aSEmmanuel Vadot resets = <&rst NAND_RESET>; 782*f126890aSEmmanuel Vadot status = "disabled"; 783*f126890aSEmmanuel Vadot }; 784*f126890aSEmmanuel Vadot 785*f126890aSEmmanuel Vadot ocram: sram@ffff0000 { 786*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 787*f126890aSEmmanuel Vadot reg = <0xffff0000 0x10000>; 788*f126890aSEmmanuel Vadot }; 789*f126890aSEmmanuel Vadot 790*f126890aSEmmanuel Vadot qspi: spi@ff705000 { 791*f126890aSEmmanuel Vadot compatible = "intel,socfpga-qspi", "cdns,qspi-nor"; 792*f126890aSEmmanuel Vadot #address-cells = <1>; 793*f126890aSEmmanuel Vadot #size-cells = <0>; 794*f126890aSEmmanuel Vadot reg = <0xff705000 0x1000>, 795*f126890aSEmmanuel Vadot <0xffa00000 0x1000>; 796*f126890aSEmmanuel Vadot interrupts = <0 151 4>; 797*f126890aSEmmanuel Vadot cdns,fifo-depth = <128>; 798*f126890aSEmmanuel Vadot cdns,fifo-width = <4>; 799*f126890aSEmmanuel Vadot cdns,trigger-address = <0x00000000>; 800*f126890aSEmmanuel Vadot clocks = <&qspi_clk>; 801*f126890aSEmmanuel Vadot resets = <&rst QSPI_RESET>; 802*f126890aSEmmanuel Vadot status = "disabled"; 803*f126890aSEmmanuel Vadot }; 804*f126890aSEmmanuel Vadot 805*f126890aSEmmanuel Vadot rst: rstmgr@ffd05000 { 806*f126890aSEmmanuel Vadot #reset-cells = <1>; 807*f126890aSEmmanuel Vadot compatible = "altr,rst-mgr"; 808*f126890aSEmmanuel Vadot reg = <0xffd05000 0x1000>; 809*f126890aSEmmanuel Vadot altr,modrst-offset = <0x10>; 810*f126890aSEmmanuel Vadot }; 811*f126890aSEmmanuel Vadot 812*f126890aSEmmanuel Vadot scu: snoop-control-unit@fffec000 { 813*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-scu"; 814*f126890aSEmmanuel Vadot reg = <0xfffec000 0x100>; 815*f126890aSEmmanuel Vadot }; 816*f126890aSEmmanuel Vadot 817*f126890aSEmmanuel Vadot sdr: sdr@ffc25000 { 818*f126890aSEmmanuel Vadot compatible = "altr,sdr-ctl", "syscon"; 819*f126890aSEmmanuel Vadot reg = <0xffc25000 0x1000>; 820*f126890aSEmmanuel Vadot resets = <&rst SDR_RESET>; 821*f126890aSEmmanuel Vadot }; 822*f126890aSEmmanuel Vadot 823*f126890aSEmmanuel Vadot sdramedac { 824*f126890aSEmmanuel Vadot compatible = "altr,sdram-edac"; 825*f126890aSEmmanuel Vadot altr,sdr-syscon = <&sdr>; 826*f126890aSEmmanuel Vadot interrupts = <0 39 4>; 827*f126890aSEmmanuel Vadot }; 828*f126890aSEmmanuel Vadot 829*f126890aSEmmanuel Vadot spi0: spi@fff00000 { 830*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ssi"; 831*f126890aSEmmanuel Vadot #address-cells = <1>; 832*f126890aSEmmanuel Vadot #size-cells = <0>; 833*f126890aSEmmanuel Vadot reg = <0xfff00000 0x1000>; 834*f126890aSEmmanuel Vadot interrupts = <0 154 4>; 835*f126890aSEmmanuel Vadot num-cs = <4>; 836*f126890aSEmmanuel Vadot clocks = <&spi_m_clk>; 837*f126890aSEmmanuel Vadot resets = <&rst SPIM0_RESET>; 838*f126890aSEmmanuel Vadot reset-names = "spi"; 839*f126890aSEmmanuel Vadot status = "disabled"; 840*f126890aSEmmanuel Vadot }; 841*f126890aSEmmanuel Vadot 842*f126890aSEmmanuel Vadot spi1: spi@fff01000 { 843*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ssi"; 844*f126890aSEmmanuel Vadot #address-cells = <1>; 845*f126890aSEmmanuel Vadot #size-cells = <0>; 846*f126890aSEmmanuel Vadot reg = <0xfff01000 0x1000>; 847*f126890aSEmmanuel Vadot interrupts = <0 155 4>; 848*f126890aSEmmanuel Vadot num-cs = <4>; 849*f126890aSEmmanuel Vadot clocks = <&spi_m_clk>; 850*f126890aSEmmanuel Vadot resets = <&rst SPIM1_RESET>; 851*f126890aSEmmanuel Vadot reset-names = "spi"; 852*f126890aSEmmanuel Vadot status = "disabled"; 853*f126890aSEmmanuel Vadot }; 854*f126890aSEmmanuel Vadot 855*f126890aSEmmanuel Vadot sysmgr: sysmgr@ffd08000 { 856*f126890aSEmmanuel Vadot compatible = "altr,sys-mgr", "syscon"; 857*f126890aSEmmanuel Vadot reg = <0xffd08000 0x4000>; 858*f126890aSEmmanuel Vadot }; 859*f126890aSEmmanuel Vadot 860*f126890aSEmmanuel Vadot /* Local timer */ 861*f126890aSEmmanuel Vadot timer@fffec600 { 862*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 863*f126890aSEmmanuel Vadot reg = <0xfffec600 0x100>; 864*f126890aSEmmanuel Vadot interrupts = <1 13 0xf01>; 865*f126890aSEmmanuel Vadot clocks = <&mpu_periph_clk>; 866*f126890aSEmmanuel Vadot }; 867*f126890aSEmmanuel Vadot 868*f126890aSEmmanuel Vadot timer0: timer0@ffc08000 { 869*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 870*f126890aSEmmanuel Vadot interrupts = <0 167 4>; 871*f126890aSEmmanuel Vadot reg = <0xffc08000 0x1000>; 872*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 873*f126890aSEmmanuel Vadot clock-names = "timer"; 874*f126890aSEmmanuel Vadot resets = <&rst SPTIMER0_RESET>; 875*f126890aSEmmanuel Vadot reset-names = "timer"; 876*f126890aSEmmanuel Vadot }; 877*f126890aSEmmanuel Vadot 878*f126890aSEmmanuel Vadot timer1: timer1@ffc09000 { 879*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 880*f126890aSEmmanuel Vadot interrupts = <0 168 4>; 881*f126890aSEmmanuel Vadot reg = <0xffc09000 0x1000>; 882*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 883*f126890aSEmmanuel Vadot clock-names = "timer"; 884*f126890aSEmmanuel Vadot resets = <&rst SPTIMER1_RESET>; 885*f126890aSEmmanuel Vadot reset-names = "timer"; 886*f126890aSEmmanuel Vadot }; 887*f126890aSEmmanuel Vadot 888*f126890aSEmmanuel Vadot timer2: timer2@ffd00000 { 889*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 890*f126890aSEmmanuel Vadot interrupts = <0 169 4>; 891*f126890aSEmmanuel Vadot reg = <0xffd00000 0x1000>; 892*f126890aSEmmanuel Vadot clocks = <&osc1>; 893*f126890aSEmmanuel Vadot clock-names = "timer"; 894*f126890aSEmmanuel Vadot resets = <&rst OSC1TIMER0_RESET>; 895*f126890aSEmmanuel Vadot reset-names = "timer"; 896*f126890aSEmmanuel Vadot }; 897*f126890aSEmmanuel Vadot 898*f126890aSEmmanuel Vadot timer3: timer3@ffd01000 { 899*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 900*f126890aSEmmanuel Vadot interrupts = <0 170 4>; 901*f126890aSEmmanuel Vadot reg = <0xffd01000 0x1000>; 902*f126890aSEmmanuel Vadot clocks = <&osc1>; 903*f126890aSEmmanuel Vadot clock-names = "timer"; 904*f126890aSEmmanuel Vadot resets = <&rst OSC1TIMER1_RESET>; 905*f126890aSEmmanuel Vadot reset-names = "timer"; 906*f126890aSEmmanuel Vadot }; 907*f126890aSEmmanuel Vadot 908*f126890aSEmmanuel Vadot uart0: serial@ffc02000 { 909*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 910*f126890aSEmmanuel Vadot reg = <0xffc02000 0x1000>; 911*f126890aSEmmanuel Vadot interrupts = <0 162 4>; 912*f126890aSEmmanuel Vadot reg-shift = <2>; 913*f126890aSEmmanuel Vadot reg-io-width = <4>; 914*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 915*f126890aSEmmanuel Vadot dmas = <&pdma 28>, 916*f126890aSEmmanuel Vadot <&pdma 29>; 917*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 918*f126890aSEmmanuel Vadot resets = <&rst UART0_RESET>; 919*f126890aSEmmanuel Vadot }; 920*f126890aSEmmanuel Vadot 921*f126890aSEmmanuel Vadot uart1: serial@ffc03000 { 922*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 923*f126890aSEmmanuel Vadot reg = <0xffc03000 0x1000>; 924*f126890aSEmmanuel Vadot interrupts = <0 163 4>; 925*f126890aSEmmanuel Vadot reg-shift = <2>; 926*f126890aSEmmanuel Vadot reg-io-width = <4>; 927*f126890aSEmmanuel Vadot clocks = <&l4_sp_clk>; 928*f126890aSEmmanuel Vadot dmas = <&pdma 30>, 929*f126890aSEmmanuel Vadot <&pdma 31>; 930*f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 931*f126890aSEmmanuel Vadot resets = <&rst UART1_RESET>; 932*f126890aSEmmanuel Vadot }; 933*f126890aSEmmanuel Vadot 934*f126890aSEmmanuel Vadot usbphy0: usbphy { 935*f126890aSEmmanuel Vadot #phy-cells = <0>; 936*f126890aSEmmanuel Vadot compatible = "usb-nop-xceiv"; 937*f126890aSEmmanuel Vadot status = "okay"; 938*f126890aSEmmanuel Vadot }; 939*f126890aSEmmanuel Vadot 940*f126890aSEmmanuel Vadot usb0: usb@ffb00000 { 941*f126890aSEmmanuel Vadot compatible = "snps,dwc2"; 942*f126890aSEmmanuel Vadot reg = <0xffb00000 0xffff>; 943*f126890aSEmmanuel Vadot interrupts = <0 125 4>; 944*f126890aSEmmanuel Vadot clocks = <&usb_mp_clk>; 945*f126890aSEmmanuel Vadot clock-names = "otg"; 946*f126890aSEmmanuel Vadot resets = <&rst USB0_RESET>; 947*f126890aSEmmanuel Vadot reset-names = "dwc2"; 948*f126890aSEmmanuel Vadot phys = <&usbphy0>; 949*f126890aSEmmanuel Vadot phy-names = "usb2-phy"; 950*f126890aSEmmanuel Vadot status = "disabled"; 951*f126890aSEmmanuel Vadot }; 952*f126890aSEmmanuel Vadot 953*f126890aSEmmanuel Vadot usb1: usb@ffb40000 { 954*f126890aSEmmanuel Vadot compatible = "snps,dwc2"; 955*f126890aSEmmanuel Vadot reg = <0xffb40000 0xffff>; 956*f126890aSEmmanuel Vadot interrupts = <0 128 4>; 957*f126890aSEmmanuel Vadot clocks = <&usb_mp_clk>; 958*f126890aSEmmanuel Vadot clock-names = "otg"; 959*f126890aSEmmanuel Vadot resets = <&rst USB1_RESET>; 960*f126890aSEmmanuel Vadot reset-names = "dwc2"; 961*f126890aSEmmanuel Vadot phys = <&usbphy0>; 962*f126890aSEmmanuel Vadot phy-names = "usb2-phy"; 963*f126890aSEmmanuel Vadot status = "disabled"; 964*f126890aSEmmanuel Vadot }; 965*f126890aSEmmanuel Vadot 966*f126890aSEmmanuel Vadot watchdog0: watchdog@ffd02000 { 967*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 968*f126890aSEmmanuel Vadot reg = <0xffd02000 0x1000>; 969*f126890aSEmmanuel Vadot interrupts = <0 171 4>; 970*f126890aSEmmanuel Vadot clocks = <&osc1>; 971*f126890aSEmmanuel Vadot resets = <&rst L4WD0_RESET>; 972*f126890aSEmmanuel Vadot status = "disabled"; 973*f126890aSEmmanuel Vadot }; 974*f126890aSEmmanuel Vadot 975*f126890aSEmmanuel Vadot watchdog1: watchdog@ffd03000 { 976*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 977*f126890aSEmmanuel Vadot reg = <0xffd03000 0x1000>; 978*f126890aSEmmanuel Vadot interrupts = <0 172 4>; 979*f126890aSEmmanuel Vadot clocks = <&osc1>; 980*f126890aSEmmanuel Vadot resets = <&rst L4WD1_RESET>; 981*f126890aSEmmanuel Vadot status = "disabled"; 982*f126890aSEmmanuel Vadot }; 983*f126890aSEmmanuel Vadot }; 984*f126890aSEmmanuel Vadot}; 985