183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+ 251c580c6SStefan Roese/* 351c580c6SStefan Roese * Copyright (C) 2012 Altera <www.altera.com> 451c580c6SStefan Roese */ 551c580c6SStefan Roese 651c580c6SStefan Roese#include <dt-bindings/reset/altr,rst-mgr.h> 751c580c6SStefan Roese 851c580c6SStefan Roese/ { 951c580c6SStefan Roese #address-cells = <1>; 1051c580c6SStefan Roese #size-cells = <1>; 1151c580c6SStefan Roese 1251c580c6SStefan Roese aliases { 1351c580c6SStefan Roese serial0 = &uart0; 1451c580c6SStefan Roese serial1 = &uart1; 1551c580c6SStefan Roese timer0 = &timer0; 1651c580c6SStefan Roese timer1 = &timer1; 1751c580c6SStefan Roese timer2 = &timer2; 1851c580c6SStefan Roese timer3 = &timer3; 1951c580c6SStefan Roese }; 2051c580c6SStefan Roese 2151c580c6SStefan Roese cpus { 2251c580c6SStefan Roese #address-cells = <1>; 2351c580c6SStefan Roese #size-cells = <0>; 24*c402e817SSimon Goldschmidt enable-method = "altr,socfpga-smp"; 2551c580c6SStefan Roese 26*c402e817SSimon Goldschmidt cpu0: cpu@0 { 2751c580c6SStefan Roese compatible = "arm,cortex-a9"; 2851c580c6SStefan Roese device_type = "cpu"; 2951c580c6SStefan Roese reg = <0>; 3051c580c6SStefan Roese next-level-cache = <&L2>; 3151c580c6SStefan Roese }; 32*c402e817SSimon Goldschmidt cpu1: cpu@1 { 3351c580c6SStefan Roese compatible = "arm,cortex-a9"; 3451c580c6SStefan Roese device_type = "cpu"; 3551c580c6SStefan Roese reg = <1>; 3651c580c6SStefan Roese next-level-cache = <&L2>; 3751c580c6SStefan Roese }; 3851c580c6SStefan Roese }; 3951c580c6SStefan Roese 40*c402e817SSimon Goldschmidt pmu: pmu@ff111000 { 41*c402e817SSimon Goldschmidt compatible = "arm,cortex-a9-pmu"; 42*c402e817SSimon Goldschmidt interrupt-parent = <&intc>; 43*c402e817SSimon Goldschmidt interrupts = <0 176 4>, <0 177 4>; 44*c402e817SSimon Goldschmidt interrupt-affinity = <&cpu0>, <&cpu1>; 45*c402e817SSimon Goldschmidt reg = <0xff111000 0x1000>, 46*c402e817SSimon Goldschmidt <0xff113000 0x1000>; 47*c402e817SSimon Goldschmidt }; 48*c402e817SSimon Goldschmidt 4951c580c6SStefan Roese intc: intc@fffed000 { 5051c580c6SStefan Roese compatible = "arm,cortex-a9-gic"; 5151c580c6SStefan Roese #interrupt-cells = <3>; 5251c580c6SStefan Roese interrupt-controller; 5351c580c6SStefan Roese reg = <0xfffed000 0x1000>, 5451c580c6SStefan Roese <0xfffec100 0x100>; 5551c580c6SStefan Roese }; 5651c580c6SStefan Roese 5751c580c6SStefan Roese soc { 5851c580c6SStefan Roese #address-cells = <1>; 5951c580c6SStefan Roese #size-cells = <1>; 6051c580c6SStefan Roese compatible = "simple-bus"; 6151c580c6SStefan Roese device_type = "soc"; 6251c580c6SStefan Roese interrupt-parent = <&intc>; 6351c580c6SStefan Roese ranges; 6451c580c6SStefan Roese 6551c580c6SStefan Roese amba { 66*c402e817SSimon Goldschmidt compatible = "simple-bus"; 6751c580c6SStefan Roese #address-cells = <1>; 6851c580c6SStefan Roese #size-cells = <1>; 6951c580c6SStefan Roese ranges; 7051c580c6SStefan Roese 7151c580c6SStefan Roese pdma: pdma@ffe01000 { 7251c580c6SStefan Roese compatible = "arm,pl330", "arm,primecell"; 7351c580c6SStefan Roese reg = <0xffe01000 0x1000>; 7451c580c6SStefan Roese interrupts = <0 104 4>, 7551c580c6SStefan Roese <0 105 4>, 7651c580c6SStefan Roese <0 106 4>, 7751c580c6SStefan Roese <0 107 4>, 7851c580c6SStefan Roese <0 108 4>, 7951c580c6SStefan Roese <0 109 4>, 8051c580c6SStefan Roese <0 110 4>, 8151c580c6SStefan Roese <0 111 4>; 8251c580c6SStefan Roese #dma-cells = <1>; 8351c580c6SStefan Roese #dma-channels = <8>; 8451c580c6SStefan Roese #dma-requests = <32>; 8551c580c6SStefan Roese clocks = <&l4_main_clk>; 8651c580c6SStefan Roese clock-names = "apb_pclk"; 8751c580c6SStefan Roese }; 8851c580c6SStefan Roese }; 8951c580c6SStefan Roese 90*c402e817SSimon Goldschmidt base_fpga_region { 91*c402e817SSimon Goldschmidt compatible = "fpga-region"; 92*c402e817SSimon Goldschmidt fpga-mgr = <&fpgamgr0>; 93*c402e817SSimon Goldschmidt 94*c402e817SSimon Goldschmidt #address-cells = <0x1>; 95*c402e817SSimon Goldschmidt #size-cells = <0x1>; 96*c402e817SSimon Goldschmidt }; 97*c402e817SSimon Goldschmidt 9851c580c6SStefan Roese can0: can@ffc00000 { 9951c580c6SStefan Roese compatible = "bosch,d_can"; 10051c580c6SStefan Roese reg = <0xffc00000 0x1000>; 10151c580c6SStefan Roese interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>; 10251c580c6SStefan Roese clocks = <&can0_clk>; 10351c580c6SStefan Roese status = "disabled"; 10451c580c6SStefan Roese }; 10551c580c6SStefan Roese 10651c580c6SStefan Roese can1: can@ffc01000 { 10751c580c6SStefan Roese compatible = "bosch,d_can"; 10851c580c6SStefan Roese reg = <0xffc01000 0x1000>; 10951c580c6SStefan Roese interrupts = <0 135 4>, <0 136 4>, <0 137 4>, <0 138 4>; 11051c580c6SStefan Roese clocks = <&can1_clk>; 11151c580c6SStefan Roese status = "disabled"; 11251c580c6SStefan Roese }; 11351c580c6SStefan Roese 11451c580c6SStefan Roese clkmgr@ffd04000 { 11551c580c6SStefan Roese compatible = "altr,clk-mgr"; 11651c580c6SStefan Roese reg = <0xffd04000 0x1000>; 11751c580c6SStefan Roese 11851c580c6SStefan Roese clocks { 11951c580c6SStefan Roese #address-cells = <1>; 12051c580c6SStefan Roese #size-cells = <0>; 12151c580c6SStefan Roese 12251c580c6SStefan Roese osc1: osc1 { 12351c580c6SStefan Roese #clock-cells = <0>; 12451c580c6SStefan Roese compatible = "fixed-clock"; 12551c580c6SStefan Roese }; 12651c580c6SStefan Roese 12751c580c6SStefan Roese osc2: osc2 { 12851c580c6SStefan Roese #clock-cells = <0>; 12951c580c6SStefan Roese compatible = "fixed-clock"; 13051c580c6SStefan Roese }; 13151c580c6SStefan Roese 13251c580c6SStefan Roese f2s_periph_ref_clk: f2s_periph_ref_clk { 13351c580c6SStefan Roese #clock-cells = <0>; 13451c580c6SStefan Roese compatible = "fixed-clock"; 13551c580c6SStefan Roese }; 13651c580c6SStefan Roese 13751c580c6SStefan Roese f2s_sdram_ref_clk: f2s_sdram_ref_clk { 13851c580c6SStefan Roese #clock-cells = <0>; 13951c580c6SStefan Roese compatible = "fixed-clock"; 14051c580c6SStefan Roese }; 14151c580c6SStefan Roese 142*c402e817SSimon Goldschmidt main_pll: main_pll@40 { 14351c580c6SStefan Roese #address-cells = <1>; 14451c580c6SStefan Roese #size-cells = <0>; 14551c580c6SStefan Roese #clock-cells = <0>; 14651c580c6SStefan Roese compatible = "altr,socfpga-pll-clock"; 14751c580c6SStefan Roese clocks = <&osc1>; 14851c580c6SStefan Roese reg = <0x40>; 14951c580c6SStefan Roese 150*c402e817SSimon Goldschmidt mpuclk: mpuclk@48 { 15151c580c6SStefan Roese #clock-cells = <0>; 15251c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 15351c580c6SStefan Roese clocks = <&main_pll>; 15451c580c6SStefan Roese div-reg = <0xe0 0 9>; 15551c580c6SStefan Roese reg = <0x48>; 15651c580c6SStefan Roese }; 15751c580c6SStefan Roese 158*c402e817SSimon Goldschmidt mainclk: mainclk@4c { 15951c580c6SStefan Roese #clock-cells = <0>; 16051c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 16151c580c6SStefan Roese clocks = <&main_pll>; 16251c580c6SStefan Roese div-reg = <0xe4 0 9>; 16351c580c6SStefan Roese reg = <0x4C>; 16451c580c6SStefan Roese }; 16551c580c6SStefan Roese 166*c402e817SSimon Goldschmidt dbg_base_clk: dbg_base_clk@50 { 16751c580c6SStefan Roese #clock-cells = <0>; 16851c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 169*c402e817SSimon Goldschmidt clocks = <&main_pll>, <&osc1>; 17051c580c6SStefan Roese div-reg = <0xe8 0 9>; 17151c580c6SStefan Roese reg = <0x50>; 17251c580c6SStefan Roese }; 17351c580c6SStefan Roese 174*c402e817SSimon Goldschmidt main_qspi_clk: main_qspi_clk@54 { 17551c580c6SStefan Roese #clock-cells = <0>; 17651c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 17751c580c6SStefan Roese clocks = <&main_pll>; 17851c580c6SStefan Roese reg = <0x54>; 17951c580c6SStefan Roese }; 18051c580c6SStefan Roese 181*c402e817SSimon Goldschmidt main_nand_sdmmc_clk: main_nand_sdmmc_clk@58 { 18251c580c6SStefan Roese #clock-cells = <0>; 18351c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 18451c580c6SStefan Roese clocks = <&main_pll>; 18551c580c6SStefan Roese reg = <0x58>; 18651c580c6SStefan Roese }; 18751c580c6SStefan Roese 188*c402e817SSimon Goldschmidt cfg_h2f_usr0_clk: cfg_h2f_usr0_clk@5c { 18951c580c6SStefan Roese #clock-cells = <0>; 19051c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 19151c580c6SStefan Roese clocks = <&main_pll>; 19251c580c6SStefan Roese reg = <0x5C>; 19351c580c6SStefan Roese }; 19451c580c6SStefan Roese }; 19551c580c6SStefan Roese 196*c402e817SSimon Goldschmidt periph_pll: periph_pll@80 { 19751c580c6SStefan Roese #address-cells = <1>; 19851c580c6SStefan Roese #size-cells = <0>; 19951c580c6SStefan Roese #clock-cells = <0>; 20051c580c6SStefan Roese compatible = "altr,socfpga-pll-clock"; 20151c580c6SStefan Roese clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>; 20251c580c6SStefan Roese reg = <0x80>; 20351c580c6SStefan Roese 204*c402e817SSimon Goldschmidt emac0_clk: emac0_clk@88 { 20551c580c6SStefan Roese #clock-cells = <0>; 20651c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 20751c580c6SStefan Roese clocks = <&periph_pll>; 20851c580c6SStefan Roese reg = <0x88>; 20951c580c6SStefan Roese }; 21051c580c6SStefan Roese 211*c402e817SSimon Goldschmidt emac1_clk: emac1_clk@8c { 21251c580c6SStefan Roese #clock-cells = <0>; 21351c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 21451c580c6SStefan Roese clocks = <&periph_pll>; 21551c580c6SStefan Roese reg = <0x8C>; 21651c580c6SStefan Roese }; 21751c580c6SStefan Roese 218*c402e817SSimon Goldschmidt per_qspi_clk: per_qsi_clk@90 { 21951c580c6SStefan Roese #clock-cells = <0>; 22051c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 22151c580c6SStefan Roese clocks = <&periph_pll>; 22251c580c6SStefan Roese reg = <0x90>; 22351c580c6SStefan Roese }; 22451c580c6SStefan Roese 225*c402e817SSimon Goldschmidt per_nand_mmc_clk: per_nand_mmc_clk@94 { 22651c580c6SStefan Roese #clock-cells = <0>; 22751c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 22851c580c6SStefan Roese clocks = <&periph_pll>; 22951c580c6SStefan Roese reg = <0x94>; 23051c580c6SStefan Roese }; 23151c580c6SStefan Roese 232*c402e817SSimon Goldschmidt per_base_clk: per_base_clk@98 { 23351c580c6SStefan Roese #clock-cells = <0>; 23451c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 23551c580c6SStefan Roese clocks = <&periph_pll>; 23651c580c6SStefan Roese reg = <0x98>; 23751c580c6SStefan Roese }; 23851c580c6SStefan Roese 239*c402e817SSimon Goldschmidt h2f_usr1_clk: h2f_usr1_clk@9c { 24051c580c6SStefan Roese #clock-cells = <0>; 24151c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 24251c580c6SStefan Roese clocks = <&periph_pll>; 24351c580c6SStefan Roese reg = <0x9C>; 24451c580c6SStefan Roese }; 24551c580c6SStefan Roese }; 24651c580c6SStefan Roese 247*c402e817SSimon Goldschmidt sdram_pll: sdram_pll@c0 { 24851c580c6SStefan Roese #address-cells = <1>; 24951c580c6SStefan Roese #size-cells = <0>; 25051c580c6SStefan Roese #clock-cells = <0>; 25151c580c6SStefan Roese compatible = "altr,socfpga-pll-clock"; 25251c580c6SStefan Roese clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>; 25351c580c6SStefan Roese reg = <0xC0>; 25451c580c6SStefan Roese 255*c402e817SSimon Goldschmidt ddr_dqs_clk: ddr_dqs_clk@c8 { 25651c580c6SStefan Roese #clock-cells = <0>; 25751c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 25851c580c6SStefan Roese clocks = <&sdram_pll>; 25951c580c6SStefan Roese reg = <0xC8>; 26051c580c6SStefan Roese }; 26151c580c6SStefan Roese 262*c402e817SSimon Goldschmidt ddr_2x_dqs_clk: ddr_2x_dqs_clk@cc { 26351c580c6SStefan Roese #clock-cells = <0>; 26451c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 26551c580c6SStefan Roese clocks = <&sdram_pll>; 26651c580c6SStefan Roese reg = <0xCC>; 26751c580c6SStefan Roese }; 26851c580c6SStefan Roese 269*c402e817SSimon Goldschmidt ddr_dq_clk: ddr_dq_clk@d0 { 27051c580c6SStefan Roese #clock-cells = <0>; 27151c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 27251c580c6SStefan Roese clocks = <&sdram_pll>; 27351c580c6SStefan Roese reg = <0xD0>; 27451c580c6SStefan Roese }; 27551c580c6SStefan Roese 276*c402e817SSimon Goldschmidt h2f_usr2_clk: h2f_usr2_clk@d4 { 27751c580c6SStefan Roese #clock-cells = <0>; 27851c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 27951c580c6SStefan Roese clocks = <&sdram_pll>; 28051c580c6SStefan Roese reg = <0xD4>; 28151c580c6SStefan Roese }; 28251c580c6SStefan Roese }; 28351c580c6SStefan Roese 28451c580c6SStefan Roese mpu_periph_clk: mpu_periph_clk { 28551c580c6SStefan Roese #clock-cells = <0>; 28651c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 28751c580c6SStefan Roese clocks = <&mpuclk>; 28851c580c6SStefan Roese fixed-divider = <4>; 28951c580c6SStefan Roese }; 29051c580c6SStefan Roese 29151c580c6SStefan Roese mpu_l2_ram_clk: mpu_l2_ram_clk { 29251c580c6SStefan Roese #clock-cells = <0>; 29351c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 29451c580c6SStefan Roese clocks = <&mpuclk>; 29551c580c6SStefan Roese fixed-divider = <2>; 29651c580c6SStefan Roese }; 29751c580c6SStefan Roese 29851c580c6SStefan Roese l4_main_clk: l4_main_clk { 29951c580c6SStefan Roese #clock-cells = <0>; 30051c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 30151c580c6SStefan Roese clocks = <&mainclk>; 30251c580c6SStefan Roese clk-gate = <0x60 0>; 30351c580c6SStefan Roese }; 30451c580c6SStefan Roese 30551c580c6SStefan Roese l3_main_clk: l3_main_clk { 30651c580c6SStefan Roese #clock-cells = <0>; 30751c580c6SStefan Roese compatible = "altr,socfpga-perip-clk"; 30851c580c6SStefan Roese clocks = <&mainclk>; 30951c580c6SStefan Roese fixed-divider = <1>; 31051c580c6SStefan Roese }; 31151c580c6SStefan Roese 31251c580c6SStefan Roese l3_mp_clk: l3_mp_clk { 31351c580c6SStefan Roese #clock-cells = <0>; 31451c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 31551c580c6SStefan Roese clocks = <&mainclk>; 31651c580c6SStefan Roese div-reg = <0x64 0 2>; 31751c580c6SStefan Roese clk-gate = <0x60 1>; 31851c580c6SStefan Roese }; 31951c580c6SStefan Roese 32051c580c6SStefan Roese l3_sp_clk: l3_sp_clk { 32151c580c6SStefan Roese #clock-cells = <0>; 32251c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 323*c402e817SSimon Goldschmidt clocks = <&l3_mp_clk>; 32451c580c6SStefan Roese div-reg = <0x64 2 2>; 32551c580c6SStefan Roese }; 32651c580c6SStefan Roese 32751c580c6SStefan Roese l4_mp_clk: l4_mp_clk { 32851c580c6SStefan Roese #clock-cells = <0>; 32951c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 33051c580c6SStefan Roese clocks = <&mainclk>, <&per_base_clk>; 33151c580c6SStefan Roese div-reg = <0x64 4 3>; 33251c580c6SStefan Roese clk-gate = <0x60 2>; 33351c580c6SStefan Roese }; 33451c580c6SStefan Roese 33551c580c6SStefan Roese l4_sp_clk: l4_sp_clk { 33651c580c6SStefan Roese #clock-cells = <0>; 33751c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 33851c580c6SStefan Roese clocks = <&mainclk>, <&per_base_clk>; 33951c580c6SStefan Roese div-reg = <0x64 7 3>; 34051c580c6SStefan Roese clk-gate = <0x60 3>; 34151c580c6SStefan Roese }; 34251c580c6SStefan Roese 34351c580c6SStefan Roese dbg_at_clk: dbg_at_clk { 34451c580c6SStefan Roese #clock-cells = <0>; 34551c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 34651c580c6SStefan Roese clocks = <&dbg_base_clk>; 34751c580c6SStefan Roese div-reg = <0x68 0 2>; 34851c580c6SStefan Roese clk-gate = <0x60 4>; 34951c580c6SStefan Roese }; 35051c580c6SStefan Roese 35151c580c6SStefan Roese dbg_clk: dbg_clk { 35251c580c6SStefan Roese #clock-cells = <0>; 35351c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 354*c402e817SSimon Goldschmidt clocks = <&dbg_at_clk>; 35551c580c6SStefan Roese div-reg = <0x68 2 2>; 35651c580c6SStefan Roese clk-gate = <0x60 5>; 35751c580c6SStefan Roese }; 35851c580c6SStefan Roese 35951c580c6SStefan Roese dbg_trace_clk: dbg_trace_clk { 36051c580c6SStefan Roese #clock-cells = <0>; 36151c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 36251c580c6SStefan Roese clocks = <&dbg_base_clk>; 36351c580c6SStefan Roese div-reg = <0x6C 0 3>; 36451c580c6SStefan Roese clk-gate = <0x60 6>; 36551c580c6SStefan Roese }; 36651c580c6SStefan Roese 36751c580c6SStefan Roese dbg_timer_clk: dbg_timer_clk { 36851c580c6SStefan Roese #clock-cells = <0>; 36951c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 37051c580c6SStefan Roese clocks = <&dbg_base_clk>; 37151c580c6SStefan Roese clk-gate = <0x60 7>; 37251c580c6SStefan Roese }; 37351c580c6SStefan Roese 37451c580c6SStefan Roese cfg_clk: cfg_clk { 37551c580c6SStefan Roese #clock-cells = <0>; 37651c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 37751c580c6SStefan Roese clocks = <&cfg_h2f_usr0_clk>; 37851c580c6SStefan Roese clk-gate = <0x60 8>; 37951c580c6SStefan Roese }; 38051c580c6SStefan Roese 38151c580c6SStefan Roese h2f_user0_clk: h2f_user0_clk { 38251c580c6SStefan Roese #clock-cells = <0>; 38351c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 38451c580c6SStefan Roese clocks = <&cfg_h2f_usr0_clk>; 38551c580c6SStefan Roese clk-gate = <0x60 9>; 38651c580c6SStefan Roese }; 38751c580c6SStefan Roese 38851c580c6SStefan Roese emac_0_clk: emac_0_clk { 38951c580c6SStefan Roese #clock-cells = <0>; 39051c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 39151c580c6SStefan Roese clocks = <&emac0_clk>; 39251c580c6SStefan Roese clk-gate = <0xa0 0>; 39351c580c6SStefan Roese }; 39451c580c6SStefan Roese 39551c580c6SStefan Roese emac_1_clk: emac_1_clk { 39651c580c6SStefan Roese #clock-cells = <0>; 39751c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 39851c580c6SStefan Roese clocks = <&emac1_clk>; 39951c580c6SStefan Roese clk-gate = <0xa0 1>; 40051c580c6SStefan Roese }; 40151c580c6SStefan Roese 40251c580c6SStefan Roese usb_mp_clk: usb_mp_clk { 40351c580c6SStefan Roese #clock-cells = <0>; 40451c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 40551c580c6SStefan Roese clocks = <&per_base_clk>; 40651c580c6SStefan Roese clk-gate = <0xa0 2>; 40751c580c6SStefan Roese div-reg = <0xa4 0 3>; 40851c580c6SStefan Roese }; 40951c580c6SStefan Roese 41051c580c6SStefan Roese spi_m_clk: spi_m_clk { 41151c580c6SStefan Roese #clock-cells = <0>; 41251c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 41351c580c6SStefan Roese clocks = <&per_base_clk>; 41451c580c6SStefan Roese clk-gate = <0xa0 3>; 41551c580c6SStefan Roese div-reg = <0xa4 3 3>; 41651c580c6SStefan Roese }; 41751c580c6SStefan Roese 41851c580c6SStefan Roese can0_clk: can0_clk { 41951c580c6SStefan Roese #clock-cells = <0>; 42051c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 42151c580c6SStefan Roese clocks = <&per_base_clk>; 42251c580c6SStefan Roese clk-gate = <0xa0 4>; 42351c580c6SStefan Roese div-reg = <0xa4 6 3>; 42451c580c6SStefan Roese }; 42551c580c6SStefan Roese 42651c580c6SStefan Roese can1_clk: can1_clk { 42751c580c6SStefan Roese #clock-cells = <0>; 42851c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 42951c580c6SStefan Roese clocks = <&per_base_clk>; 43051c580c6SStefan Roese clk-gate = <0xa0 5>; 43151c580c6SStefan Roese div-reg = <0xa4 9 3>; 43251c580c6SStefan Roese }; 43351c580c6SStefan Roese 43451c580c6SStefan Roese gpio_db_clk: gpio_db_clk { 43551c580c6SStefan Roese #clock-cells = <0>; 43651c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 43751c580c6SStefan Roese clocks = <&per_base_clk>; 43851c580c6SStefan Roese clk-gate = <0xa0 6>; 43951c580c6SStefan Roese div-reg = <0xa8 0 24>; 44051c580c6SStefan Roese }; 44151c580c6SStefan Roese 44251c580c6SStefan Roese h2f_user1_clk: h2f_user1_clk { 44351c580c6SStefan Roese #clock-cells = <0>; 44451c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 44551c580c6SStefan Roese clocks = <&h2f_usr1_clk>; 44651c580c6SStefan Roese clk-gate = <0xa0 7>; 44751c580c6SStefan Roese }; 44851c580c6SStefan Roese 44951c580c6SStefan Roese sdmmc_clk: sdmmc_clk { 45051c580c6SStefan Roese #clock-cells = <0>; 45151c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 45251c580c6SStefan Roese clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>; 45351c580c6SStefan Roese clk-gate = <0xa0 8>; 45451c580c6SStefan Roese clk-phase = <0 135>; 45551c580c6SStefan Roese }; 45651c580c6SStefan Roese 457*c402e817SSimon Goldschmidt sdmmc_clk_divided: sdmmc_clk_divided { 458*c402e817SSimon Goldschmidt #clock-cells = <0>; 459*c402e817SSimon Goldschmidt compatible = "altr,socfpga-gate-clk"; 460*c402e817SSimon Goldschmidt clocks = <&sdmmc_clk>; 461*c402e817SSimon Goldschmidt clk-gate = <0xa0 8>; 462*c402e817SSimon Goldschmidt fixed-divider = <4>; 463*c402e817SSimon Goldschmidt }; 464*c402e817SSimon Goldschmidt 46551c580c6SStefan Roese nand_x_clk: nand_x_clk { 46651c580c6SStefan Roese #clock-cells = <0>; 46751c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 46851c580c6SStefan Roese clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>; 46951c580c6SStefan Roese clk-gate = <0xa0 9>; 47051c580c6SStefan Roese }; 47151c580c6SStefan Roese 472*c402e817SSimon Goldschmidt nand_ecc_clk: nand_ecc_clk { 473*c402e817SSimon Goldschmidt #clock-cells = <0>; 474*c402e817SSimon Goldschmidt compatible = "altr,socfpga-gate-clk"; 475*c402e817SSimon Goldschmidt clocks = <&nand_x_clk>; 476*c402e817SSimon Goldschmidt clk-gate = <0xa0 9>; 477*c402e817SSimon Goldschmidt }; 478*c402e817SSimon Goldschmidt 47951c580c6SStefan Roese nand_clk: nand_clk { 48051c580c6SStefan Roese #clock-cells = <0>; 48151c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 482*c402e817SSimon Goldschmidt clocks = <&nand_x_clk>; 48351c580c6SStefan Roese clk-gate = <0xa0 10>; 48451c580c6SStefan Roese fixed-divider = <4>; 48551c580c6SStefan Roese }; 48651c580c6SStefan Roese 48751c580c6SStefan Roese qspi_clk: qspi_clk { 48851c580c6SStefan Roese #clock-cells = <0>; 48951c580c6SStefan Roese compatible = "altr,socfpga-gate-clk"; 49051c580c6SStefan Roese clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>; 49151c580c6SStefan Roese clk-gate = <0xa0 11>; 49251c580c6SStefan Roese }; 493*c402e817SSimon Goldschmidt 494*c402e817SSimon Goldschmidt ddr_dqs_clk_gate: ddr_dqs_clk_gate { 495*c402e817SSimon Goldschmidt #clock-cells = <0>; 496*c402e817SSimon Goldschmidt compatible = "altr,socfpga-gate-clk"; 497*c402e817SSimon Goldschmidt clocks = <&ddr_dqs_clk>; 498*c402e817SSimon Goldschmidt clk-gate = <0xd8 0>; 49951c580c6SStefan Roese }; 500*c402e817SSimon Goldschmidt 501*c402e817SSimon Goldschmidt ddr_2x_dqs_clk_gate: ddr_2x_dqs_clk_gate { 502*c402e817SSimon Goldschmidt #clock-cells = <0>; 503*c402e817SSimon Goldschmidt compatible = "altr,socfpga-gate-clk"; 504*c402e817SSimon Goldschmidt clocks = <&ddr_2x_dqs_clk>; 505*c402e817SSimon Goldschmidt clk-gate = <0xd8 1>; 506*c402e817SSimon Goldschmidt }; 507*c402e817SSimon Goldschmidt 508*c402e817SSimon Goldschmidt ddr_dq_clk_gate: ddr_dq_clk_gate { 509*c402e817SSimon Goldschmidt #clock-cells = <0>; 510*c402e817SSimon Goldschmidt compatible = "altr,socfpga-gate-clk"; 511*c402e817SSimon Goldschmidt clocks = <&ddr_dq_clk>; 512*c402e817SSimon Goldschmidt clk-gate = <0xd8 2>; 513*c402e817SSimon Goldschmidt }; 514*c402e817SSimon Goldschmidt 515*c402e817SSimon Goldschmidt h2f_user2_clk: h2f_user2_clk { 516*c402e817SSimon Goldschmidt #clock-cells = <0>; 517*c402e817SSimon Goldschmidt compatible = "altr,socfpga-gate-clk"; 518*c402e817SSimon Goldschmidt clocks = <&h2f_usr2_clk>; 519*c402e817SSimon Goldschmidt clk-gate = <0xd8 3>; 520*c402e817SSimon Goldschmidt }; 521*c402e817SSimon Goldschmidt 522*c402e817SSimon Goldschmidt }; 523*c402e817SSimon Goldschmidt }; 524*c402e817SSimon Goldschmidt 525*c402e817SSimon Goldschmidt fpga_bridge0: fpga_bridge@ff400000 { 526*c402e817SSimon Goldschmidt compatible = "altr,socfpga-lwhps2fpga-bridge"; 527*c402e817SSimon Goldschmidt reg = <0xff400000 0x100000>; 528*c402e817SSimon Goldschmidt resets = <&rst LWHPS2FPGA_RESET>; 529*c402e817SSimon Goldschmidt clocks = <&l4_main_clk>; 530*c402e817SSimon Goldschmidt }; 531*c402e817SSimon Goldschmidt 532*c402e817SSimon Goldschmidt fpga_bridge1: fpga_bridge@ff500000 { 533*c402e817SSimon Goldschmidt compatible = "altr,socfpga-hps2fpga-bridge"; 534*c402e817SSimon Goldschmidt reg = <0xff500000 0x10000>; 535*c402e817SSimon Goldschmidt resets = <&rst HPS2FPGA_RESET>; 536*c402e817SSimon Goldschmidt clocks = <&l4_main_clk>; 537*c402e817SSimon Goldschmidt }; 538*c402e817SSimon Goldschmidt 539*c402e817SSimon Goldschmidt fpgamgr0: fpgamgr@ff706000 { 540*c402e817SSimon Goldschmidt compatible = "altr,socfpga-fpga-mgr"; 541*c402e817SSimon Goldschmidt reg = <0xff706000 0x1000 542*c402e817SSimon Goldschmidt 0xffb90000 0x4>; 543*c402e817SSimon Goldschmidt interrupts = <0 175 4>; 54451c580c6SStefan Roese }; 54551c580c6SStefan Roese 54651c580c6SStefan Roese gmac0: ethernet@ff700000 { 54751c580c6SStefan Roese compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; 54851c580c6SStefan Roese altr,sysmgr-syscon = <&sysmgr 0x60 0>; 54951c580c6SStefan Roese reg = <0xff700000 0x2000>; 55051c580c6SStefan Roese interrupts = <0 115 4>; 55151c580c6SStefan Roese interrupt-names = "macirq"; 55251c580c6SStefan Roese mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ 553*c402e817SSimon Goldschmidt clocks = <&emac_0_clk>; 55451c580c6SStefan Roese clock-names = "stmmaceth"; 55551c580c6SStefan Roese resets = <&rst EMAC0_RESET>; 55651c580c6SStefan Roese reset-names = "stmmaceth"; 55751c580c6SStefan Roese snps,multicast-filter-bins = <256>; 55851c580c6SStefan Roese snps,perfect-filter-entries = <128>; 559*c402e817SSimon Goldschmidt tx-fifo-depth = <4096>; 560*c402e817SSimon Goldschmidt rx-fifo-depth = <4096>; 56151c580c6SStefan Roese status = "disabled"; 56251c580c6SStefan Roese }; 56351c580c6SStefan Roese 56451c580c6SStefan Roese gmac1: ethernet@ff702000 { 56551c580c6SStefan Roese compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; 56651c580c6SStefan Roese altr,sysmgr-syscon = <&sysmgr 0x60 2>; 56751c580c6SStefan Roese reg = <0xff702000 0x2000>; 56851c580c6SStefan Roese interrupts = <0 120 4>; 56951c580c6SStefan Roese interrupt-names = "macirq"; 57051c580c6SStefan Roese mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ 571*c402e817SSimon Goldschmidt clocks = <&emac_1_clk>; 57251c580c6SStefan Roese clock-names = "stmmaceth"; 57351c580c6SStefan Roese resets = <&rst EMAC1_RESET>; 57451c580c6SStefan Roese reset-names = "stmmaceth"; 57551c580c6SStefan Roese snps,multicast-filter-bins = <256>; 57651c580c6SStefan Roese snps,perfect-filter-entries = <128>; 577*c402e817SSimon Goldschmidt tx-fifo-depth = <4096>; 578*c402e817SSimon Goldschmidt rx-fifo-depth = <4096>; 57951c580c6SStefan Roese status = "disabled"; 58051c580c6SStefan Roese }; 58151c580c6SStefan Roese 58251c580c6SStefan Roese gpio0: gpio@ff708000 { 58351c580c6SStefan Roese #address-cells = <1>; 58451c580c6SStefan Roese #size-cells = <0>; 58551c580c6SStefan Roese compatible = "snps,dw-apb-gpio"; 58651c580c6SStefan Roese reg = <0xff708000 0x1000>; 587*c402e817SSimon Goldschmidt clocks = <&l4_mp_clk>; 58851c580c6SStefan Roese status = "disabled"; 58951c580c6SStefan Roese 59051c580c6SStefan Roese porta: gpio-controller@0 { 59151c580c6SStefan Roese compatible = "snps,dw-apb-gpio-port"; 59251c580c6SStefan Roese gpio-controller; 59351c580c6SStefan Roese #gpio-cells = <2>; 59451c580c6SStefan Roese snps,nr-gpios = <29>; 59551c580c6SStefan Roese reg = <0>; 59651c580c6SStefan Roese interrupt-controller; 59751c580c6SStefan Roese #interrupt-cells = <2>; 59851c580c6SStefan Roese interrupts = <0 164 4>; 59951c580c6SStefan Roese }; 60051c580c6SStefan Roese }; 60151c580c6SStefan Roese 60251c580c6SStefan Roese gpio1: gpio@ff709000 { 60351c580c6SStefan Roese #address-cells = <1>; 60451c580c6SStefan Roese #size-cells = <0>; 60551c580c6SStefan Roese compatible = "snps,dw-apb-gpio"; 60651c580c6SStefan Roese reg = <0xff709000 0x1000>; 607*c402e817SSimon Goldschmidt clocks = <&l4_mp_clk>; 60851c580c6SStefan Roese status = "disabled"; 60951c580c6SStefan Roese 61051c580c6SStefan Roese portb: gpio-controller@0 { 61151c580c6SStefan Roese compatible = "snps,dw-apb-gpio-port"; 61251c580c6SStefan Roese gpio-controller; 61351c580c6SStefan Roese #gpio-cells = <2>; 61451c580c6SStefan Roese snps,nr-gpios = <29>; 61551c580c6SStefan Roese reg = <0>; 61651c580c6SStefan Roese interrupt-controller; 61751c580c6SStefan Roese #interrupt-cells = <2>; 61851c580c6SStefan Roese interrupts = <0 165 4>; 61951c580c6SStefan Roese }; 62051c580c6SStefan Roese }; 62151c580c6SStefan Roese 62251c580c6SStefan Roese gpio2: gpio@ff70a000 { 62351c580c6SStefan Roese #address-cells = <1>; 62451c580c6SStefan Roese #size-cells = <0>; 62551c580c6SStefan Roese compatible = "snps,dw-apb-gpio"; 62651c580c6SStefan Roese reg = <0xff70a000 0x1000>; 627*c402e817SSimon Goldschmidt clocks = <&l4_mp_clk>; 62851c580c6SStefan Roese status = "disabled"; 62951c580c6SStefan Roese 63051c580c6SStefan Roese portc: gpio-controller@0 { 63151c580c6SStefan Roese compatible = "snps,dw-apb-gpio-port"; 63251c580c6SStefan Roese gpio-controller; 63351c580c6SStefan Roese #gpio-cells = <2>; 63451c580c6SStefan Roese snps,nr-gpios = <27>; 63551c580c6SStefan Roese reg = <0>; 63651c580c6SStefan Roese interrupt-controller; 63751c580c6SStefan Roese #interrupt-cells = <2>; 63851c580c6SStefan Roese interrupts = <0 166 4>; 63951c580c6SStefan Roese }; 64051c580c6SStefan Roese }; 64151c580c6SStefan Roese 642*c402e817SSimon Goldschmidt i2c0: i2c@ffc04000 { 643*c402e817SSimon Goldschmidt #address-cells = <1>; 644*c402e817SSimon Goldschmidt #size-cells = <0>; 645*c402e817SSimon Goldschmidt compatible = "snps,designware-i2c"; 646*c402e817SSimon Goldschmidt reg = <0xffc04000 0x1000>; 647*c402e817SSimon Goldschmidt resets = <&rst I2C0_RESET>; 648*c402e817SSimon Goldschmidt clocks = <&l4_sp_clk>; 649*c402e817SSimon Goldschmidt interrupts = <0 158 0x4>; 650*c402e817SSimon Goldschmidt status = "disabled"; 65151c580c6SStefan Roese }; 65251c580c6SStefan Roese 653*c402e817SSimon Goldschmidt i2c1: i2c@ffc05000 { 654*c402e817SSimon Goldschmidt #address-cells = <1>; 655*c402e817SSimon Goldschmidt #size-cells = <0>; 656*c402e817SSimon Goldschmidt compatible = "snps,designware-i2c"; 657*c402e817SSimon Goldschmidt reg = <0xffc05000 0x1000>; 658*c402e817SSimon Goldschmidt resets = <&rst I2C1_RESET>; 659*c402e817SSimon Goldschmidt clocks = <&l4_sp_clk>; 660*c402e817SSimon Goldschmidt interrupts = <0 159 0x4>; 661*c402e817SSimon Goldschmidt status = "disabled"; 662*c402e817SSimon Goldschmidt }; 663*c402e817SSimon Goldschmidt 664*c402e817SSimon Goldschmidt i2c2: i2c@ffc06000 { 665*c402e817SSimon Goldschmidt #address-cells = <1>; 666*c402e817SSimon Goldschmidt #size-cells = <0>; 667*c402e817SSimon Goldschmidt compatible = "snps,designware-i2c"; 668*c402e817SSimon Goldschmidt reg = <0xffc06000 0x1000>; 669*c402e817SSimon Goldschmidt resets = <&rst I2C2_RESET>; 670*c402e817SSimon Goldschmidt clocks = <&l4_sp_clk>; 671*c402e817SSimon Goldschmidt interrupts = <0 160 0x4>; 672*c402e817SSimon Goldschmidt status = "disabled"; 673*c402e817SSimon Goldschmidt }; 674*c402e817SSimon Goldschmidt 675*c402e817SSimon Goldschmidt i2c3: i2c@ffc07000 { 676*c402e817SSimon Goldschmidt #address-cells = <1>; 677*c402e817SSimon Goldschmidt #size-cells = <0>; 678*c402e817SSimon Goldschmidt compatible = "snps,designware-i2c"; 679*c402e817SSimon Goldschmidt reg = <0xffc07000 0x1000>; 680*c402e817SSimon Goldschmidt resets = <&rst I2C3_RESET>; 681*c402e817SSimon Goldschmidt clocks = <&l4_sp_clk>; 682*c402e817SSimon Goldschmidt interrupts = <0 161 0x4>; 683*c402e817SSimon Goldschmidt status = "disabled"; 684*c402e817SSimon Goldschmidt }; 685*c402e817SSimon Goldschmidt 686*c402e817SSimon Goldschmidt eccmgr: eccmgr { 687*c402e817SSimon Goldschmidt compatible = "altr,socfpga-ecc-manager"; 688*c402e817SSimon Goldschmidt #address-cells = <1>; 689*c402e817SSimon Goldschmidt #size-cells = <1>; 690*c402e817SSimon Goldschmidt ranges; 691*c402e817SSimon Goldschmidt 692*c402e817SSimon Goldschmidt l2-ecc@ffd08140 { 693*c402e817SSimon Goldschmidt compatible = "altr,socfpga-l2-ecc"; 694*c402e817SSimon Goldschmidt reg = <0xffd08140 0x4>; 695*c402e817SSimon Goldschmidt interrupts = <0 36 1>, <0 37 1>; 696*c402e817SSimon Goldschmidt }; 697*c402e817SSimon Goldschmidt 698*c402e817SSimon Goldschmidt ocram-ecc@ffd08144 { 699*c402e817SSimon Goldschmidt compatible = "altr,socfpga-ocram-ecc"; 700*c402e817SSimon Goldschmidt reg = <0xffd08144 0x4>; 701*c402e817SSimon Goldschmidt iram = <&ocram>; 702*c402e817SSimon Goldschmidt interrupts = <0 178 1>, <0 179 1>; 703*c402e817SSimon Goldschmidt }; 70451c580c6SStefan Roese }; 70551c580c6SStefan Roese 70651c580c6SStefan Roese L2: l2-cache@fffef000 { 70751c580c6SStefan Roese compatible = "arm,pl310-cache"; 70851c580c6SStefan Roese reg = <0xfffef000 0x1000>; 70951c580c6SStefan Roese interrupts = <0 38 0x04>; 71051c580c6SStefan Roese cache-unified; 71151c580c6SStefan Roese cache-level = <2>; 71251c580c6SStefan Roese arm,tag-latency = <1 1 1>; 71351c580c6SStefan Roese arm,data-latency = <2 1 1>; 714*c402e817SSimon Goldschmidt prefetch-data = <1>; 715*c402e817SSimon Goldschmidt prefetch-instr = <1>; 716*c402e817SSimon Goldschmidt arm,shared-override; 717*c402e817SSimon Goldschmidt arm,double-linefill = <1>; 718*c402e817SSimon Goldschmidt arm,double-linefill-incr = <0>; 719*c402e817SSimon Goldschmidt arm,double-linefill-wrap = <1>; 720*c402e817SSimon Goldschmidt arm,prefetch-drop = <0>; 721*c402e817SSimon Goldschmidt arm,prefetch-offset = <7>; 72251c580c6SStefan Roese }; 72351c580c6SStefan Roese 724*c402e817SSimon Goldschmidt l3regs@0xff800000 { 725*c402e817SSimon Goldschmidt compatible = "altr,l3regs", "syscon"; 726*c402e817SSimon Goldschmidt reg = <0xff800000 0x1000>; 727*c402e817SSimon Goldschmidt }; 728*c402e817SSimon Goldschmidt 729*c402e817SSimon Goldschmidt mmc: dwmmc0@ff704000 { 73051c580c6SStefan Roese compatible = "altr,socfpga-dw-mshc"; 73151c580c6SStefan Roese reg = <0xff704000 0x1000>; 73251c580c6SStefan Roese interrupts = <0 139 4>; 73351c580c6SStefan Roese fifo-depth = <0x400>; 73451c580c6SStefan Roese #address-cells = <1>; 73551c580c6SStefan Roese #size-cells = <0>; 736*c402e817SSimon Goldschmidt clocks = <&l4_mp_clk>, <&sdmmc_clk_divided>; 73751c580c6SStefan Roese clock-names = "biu", "ciu"; 738*c402e817SSimon Goldschmidt status = "disabled"; 739*c402e817SSimon Goldschmidt }; 740*c402e817SSimon Goldschmidt 741*c402e817SSimon Goldschmidt nand0: nand@ff900000 { 742*c402e817SSimon Goldschmidt #address-cells = <0x1>; 743*c402e817SSimon Goldschmidt #size-cells = <0x1>; 744*c402e817SSimon Goldschmidt compatible = "altr,socfpga-denali-nand"; 745*c402e817SSimon Goldschmidt reg = <0xff900000 0x100000>, 746*c402e817SSimon Goldschmidt <0xffb80000 0x10000>; 747*c402e817SSimon Goldschmidt reg-names = "nand_data", "denali_reg"; 748*c402e817SSimon Goldschmidt interrupts = <0x0 0x90 0x4>; 749*c402e817SSimon Goldschmidt dma-mask = <0xffffffff>; 750*c402e817SSimon Goldschmidt clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>; 751*c402e817SSimon Goldschmidt clock-names = "nand", "nand_x", "ecc"; 752*c402e817SSimon Goldschmidt status = "disabled"; 753*c402e817SSimon Goldschmidt }; 754*c402e817SSimon Goldschmidt 755*c402e817SSimon Goldschmidt ocram: sram@ffff0000 { 756*c402e817SSimon Goldschmidt compatible = "mmio-sram"; 757*c402e817SSimon Goldschmidt reg = <0xffff0000 0x10000>; 75851c580c6SStefan Roese }; 75951c580c6SStefan Roese 760881f6a44SStefan Roese qspi: spi@ff705000 { 7612a3a9993SSimon Goldschmidt compatible = "cdns,qspi-nor"; 762881f6a44SStefan Roese #address-cells = <1>; 763881f6a44SStefan Roese #size-cells = <0>; 764881f6a44SStefan Roese reg = <0xff705000 0x1000>, 765881f6a44SStefan Roese <0xffa00000 0x1000>; 766881f6a44SStefan Roese interrupts = <0 151 4>; 7676e62b178SJason Rush cdns,fifo-depth = <128>; 7686e62b178SJason Rush cdns,fifo-width = <4>; 7696e62b178SJason Rush cdns,trigger-address = <0x00000000>; 770*c402e817SSimon Goldschmidt clocks = <&qspi_clk>; 771881f6a44SStefan Roese status = "disabled"; 772881f6a44SStefan Roese }; 773881f6a44SStefan Roese 774*c402e817SSimon Goldschmidt rst: rstmgr@ffd05000 { 775*c402e817SSimon Goldschmidt #reset-cells = <1>; 776*c402e817SSimon Goldschmidt compatible = "altr,rst-mgr"; 777*c402e817SSimon Goldschmidt reg = <0xffd05000 0x1000>; 778*c402e817SSimon Goldschmidt altr,modrst-offset = <0x10>; 779*c402e817SSimon Goldschmidt }; 780*c402e817SSimon Goldschmidt 781*c402e817SSimon Goldschmidt scu: snoop-control-unit@fffec000 { 782*c402e817SSimon Goldschmidt compatible = "arm,cortex-a9-scu"; 783*c402e817SSimon Goldschmidt reg = <0xfffec000 0x100>; 784*c402e817SSimon Goldschmidt }; 785*c402e817SSimon Goldschmidt 786*c402e817SSimon Goldschmidt sdr: sdr@ffc25000 { 787*c402e817SSimon Goldschmidt compatible = "altr,sdr-ctl", "syscon"; 788*c402e817SSimon Goldschmidt reg = <0xffc25000 0x1000>; 789*c402e817SSimon Goldschmidt }; 790*c402e817SSimon Goldschmidt 791*c402e817SSimon Goldschmidt sdramedac { 792*c402e817SSimon Goldschmidt compatible = "altr,sdram-edac"; 793*c402e817SSimon Goldschmidt altr,sdr-syscon = <&sdr>; 794*c402e817SSimon Goldschmidt interrupts = <0 39 4>; 795*c402e817SSimon Goldschmidt }; 796*c402e817SSimon Goldschmidt 797ae79e2d2SStefan Roese spi0: spi@fff00000 { 79874114862SMarek Vasut compatible = "snps,dw-apb-ssi"; 799ae79e2d2SStefan Roese #address-cells = <1>; 800ae79e2d2SStefan Roese #size-cells = <0>; 801ae79e2d2SStefan Roese reg = <0xfff00000 0x1000>; 802ae79e2d2SStefan Roese interrupts = <0 154 4>; 803653cda8fSMarek Vasut num-cs = <4>; 804*c402e817SSimon Goldschmidt clocks = <&spi_m_clk>; 805ae79e2d2SStefan Roese status = "disabled"; 806ae79e2d2SStefan Roese }; 807ae79e2d2SStefan Roese 808ae79e2d2SStefan Roese spi1: spi@fff01000 { 80974114862SMarek Vasut compatible = "snps,dw-apb-ssi"; 810ae79e2d2SStefan Roese #address-cells = <1>; 811ae79e2d2SStefan Roese #size-cells = <0>; 812ae79e2d2SStefan Roese reg = <0xfff01000 0x1000>; 813*c402e817SSimon Goldschmidt interrupts = <0 155 4>; 814653cda8fSMarek Vasut num-cs = <4>; 815*c402e817SSimon Goldschmidt clocks = <&spi_m_clk>; 816ae79e2d2SStefan Roese status = "disabled"; 817ae79e2d2SStefan Roese }; 818ae79e2d2SStefan Roese 819*c402e817SSimon Goldschmidt sysmgr: sysmgr@ffd08000 { 820*c402e817SSimon Goldschmidt compatible = "altr,sys-mgr", "syscon"; 821*c402e817SSimon Goldschmidt reg = <0xffd08000 0x4000>; 822*c402e817SSimon Goldschmidt }; 823*c402e817SSimon Goldschmidt 82451c580c6SStefan Roese /* Local timer */ 82551c580c6SStefan Roese timer@fffec600 { 82651c580c6SStefan Roese compatible = "arm,cortex-a9-twd-timer"; 82751c580c6SStefan Roese reg = <0xfffec600 0x100>; 828*c402e817SSimon Goldschmidt interrupts = <1 13 0xf01>; 82951c580c6SStefan Roese clocks = <&mpu_periph_clk>; 83051c580c6SStefan Roese }; 83151c580c6SStefan Roese 83251c580c6SStefan Roese timer0: timer0@ffc08000 { 83351c580c6SStefan Roese compatible = "snps,dw-apb-timer"; 83451c580c6SStefan Roese interrupts = <0 167 4>; 83551c580c6SStefan Roese reg = <0xffc08000 0x1000>; 83651c580c6SStefan Roese clocks = <&l4_sp_clk>; 83751c580c6SStefan Roese clock-names = "timer"; 838*c402e817SSimon Goldschmidt resets = <&rst SPTIMER0_RESET>; 839*c402e817SSimon Goldschmidt reset-names = "timer"; 84051c580c6SStefan Roese }; 84151c580c6SStefan Roese 84251c580c6SStefan Roese timer1: timer1@ffc09000 { 84351c580c6SStefan Roese compatible = "snps,dw-apb-timer"; 84451c580c6SStefan Roese interrupts = <0 168 4>; 84551c580c6SStefan Roese reg = <0xffc09000 0x1000>; 84651c580c6SStefan Roese clocks = <&l4_sp_clk>; 84751c580c6SStefan Roese clock-names = "timer"; 848*c402e817SSimon Goldschmidt resets = <&rst SPTIMER1_RESET>; 849*c402e817SSimon Goldschmidt reset-names = "timer"; 85051c580c6SStefan Roese }; 85151c580c6SStefan Roese 85251c580c6SStefan Roese timer2: timer2@ffd00000 { 85351c580c6SStefan Roese compatible = "snps,dw-apb-timer"; 85451c580c6SStefan Roese interrupts = <0 169 4>; 85551c580c6SStefan Roese reg = <0xffd00000 0x1000>; 85651c580c6SStefan Roese clocks = <&osc1>; 85751c580c6SStefan Roese clock-names = "timer"; 858*c402e817SSimon Goldschmidt resets = <&rst OSC1TIMER0_RESET>; 859*c402e817SSimon Goldschmidt reset-names = "timer"; 86051c580c6SStefan Roese }; 86151c580c6SStefan Roese 86251c580c6SStefan Roese timer3: timer3@ffd01000 { 86351c580c6SStefan Roese compatible = "snps,dw-apb-timer"; 86451c580c6SStefan Roese interrupts = <0 170 4>; 86551c580c6SStefan Roese reg = <0xffd01000 0x1000>; 86651c580c6SStefan Roese clocks = <&osc1>; 86751c580c6SStefan Roese clock-names = "timer"; 868*c402e817SSimon Goldschmidt resets = <&rst OSC1TIMER1_RESET>; 869*c402e817SSimon Goldschmidt reset-names = "timer"; 87051c580c6SStefan Roese }; 87151c580c6SStefan Roese 87251c580c6SStefan Roese uart0: serial0@ffc02000 { 87351c580c6SStefan Roese compatible = "snps,dw-apb-uart"; 87451c580c6SStefan Roese reg = <0xffc02000 0x1000>; 87551c580c6SStefan Roese interrupts = <0 162 4>; 87651c580c6SStefan Roese reg-shift = <2>; 87751c580c6SStefan Roese reg-io-width = <4>; 87851c580c6SStefan Roese clocks = <&l4_sp_clk>; 879*c402e817SSimon Goldschmidt dmas = <&pdma 28>, 880*c402e817SSimon Goldschmidt <&pdma 29>; 881*c402e817SSimon Goldschmidt dma-names = "tx", "rx"; 88251c580c6SStefan Roese }; 88351c580c6SStefan Roese 88451c580c6SStefan Roese uart1: serial1@ffc03000 { 88551c580c6SStefan Roese compatible = "snps,dw-apb-uart"; 88651c580c6SStefan Roese reg = <0xffc03000 0x1000>; 88751c580c6SStefan Roese interrupts = <0 163 4>; 88851c580c6SStefan Roese reg-shift = <2>; 88951c580c6SStefan Roese reg-io-width = <4>; 89051c580c6SStefan Roese clocks = <&l4_sp_clk>; 891*c402e817SSimon Goldschmidt dmas = <&pdma 30>, 892*c402e817SSimon Goldschmidt <&pdma 31>; 893*c402e817SSimon Goldschmidt dma-names = "tx", "rx"; 89451c580c6SStefan Roese }; 89551c580c6SStefan Roese 896*c402e817SSimon Goldschmidt usbphy0: usbphy { 89751c580c6SStefan Roese #phy-cells = <0>; 89851c580c6SStefan Roese compatible = "usb-nop-xceiv"; 89951c580c6SStefan Roese status = "okay"; 90051c580c6SStefan Roese }; 90151c580c6SStefan Roese 90251c580c6SStefan Roese usb0: usb@ffb00000 { 90351c580c6SStefan Roese compatible = "snps,dwc2"; 90451c580c6SStefan Roese reg = <0xffb00000 0xffff>; 90551c580c6SStefan Roese interrupts = <0 125 4>; 90651c580c6SStefan Roese clocks = <&usb_mp_clk>; 90751c580c6SStefan Roese clock-names = "otg"; 908*c402e817SSimon Goldschmidt resets = <&rst USB0_RESET>; 909*c402e817SSimon Goldschmidt reset-names = "dwc2"; 91051c580c6SStefan Roese phys = <&usbphy0>; 91151c580c6SStefan Roese phy-names = "usb2-phy"; 91251c580c6SStefan Roese status = "disabled"; 91351c580c6SStefan Roese }; 91451c580c6SStefan Roese 91551c580c6SStefan Roese usb1: usb@ffb40000 { 91651c580c6SStefan Roese compatible = "snps,dwc2"; 91751c580c6SStefan Roese reg = <0xffb40000 0xffff>; 91851c580c6SStefan Roese interrupts = <0 128 4>; 91951c580c6SStefan Roese clocks = <&usb_mp_clk>; 92051c580c6SStefan Roese clock-names = "otg"; 921*c402e817SSimon Goldschmidt resets = <&rst USB1_RESET>; 922*c402e817SSimon Goldschmidt reset-names = "dwc2"; 92351c580c6SStefan Roese phys = <&usbphy0>; 92451c580c6SStefan Roese phy-names = "usb2-phy"; 92551c580c6SStefan Roese status = "disabled"; 92651c580c6SStefan Roese }; 92751c580c6SStefan Roese 92851c580c6SStefan Roese watchdog0: watchdog@ffd02000 { 92951c580c6SStefan Roese compatible = "snps,dw-wdt"; 93051c580c6SStefan Roese reg = <0xffd02000 0x1000>; 93151c580c6SStefan Roese interrupts = <0 171 4>; 93251c580c6SStefan Roese clocks = <&osc1>; 93351c580c6SStefan Roese status = "disabled"; 93451c580c6SStefan Roese }; 93551c580c6SStefan Roese 93651c580c6SStefan Roese watchdog1: watchdog@ffd03000 { 93751c580c6SStefan Roese compatible = "snps,dw-wdt"; 93851c580c6SStefan Roese reg = <0xffd03000 0x1000>; 93951c580c6SStefan Roese interrupts = <0 172 4>; 94051c580c6SStefan Roese clocks = <&osc1>; 94151c580c6SStefan Roese status = "disabled"; 94251c580c6SStefan Roese }; 94351c580c6SStefan Roese }; 94451c580c6SStefan Roese}; 945