1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (C) 2015 Altera Corporation. All rights reserved. 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot/dts-v1/; 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot/ { 9c66ec88fSEmmanuel Vadot model = "Altera NiosII Max10"; 10c66ec88fSEmmanuel Vadot compatible = "altr,niosii-max10"; 11c66ec88fSEmmanuel Vadot #address-cells = <1>; 12c66ec88fSEmmanuel Vadot #size-cells = <1>; 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot cpus { 15c66ec88fSEmmanuel Vadot #address-cells = <1>; 16c66ec88fSEmmanuel Vadot #size-cells = <0>; 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot cpu: cpu@0 { 19c66ec88fSEmmanuel Vadot device_type = "cpu"; 20c66ec88fSEmmanuel Vadot compatible = "altr,nios2-1.1"; 21c66ec88fSEmmanuel Vadot reg = <0x00000000>; 22c66ec88fSEmmanuel Vadot interrupt-controller; 23c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 24c66ec88fSEmmanuel Vadot altr,exception-addr = <0xc8000120>; 25c66ec88fSEmmanuel Vadot altr,fast-tlb-miss-addr = <0xc0000100>; 26c66ec88fSEmmanuel Vadot altr,has-div = <1>; 27c66ec88fSEmmanuel Vadot altr,has-initda = <1>; 28c66ec88fSEmmanuel Vadot altr,has-mmu = <1>; 29c66ec88fSEmmanuel Vadot altr,has-mul = <1>; 30c66ec88fSEmmanuel Vadot altr,implementation = "fast"; 31c66ec88fSEmmanuel Vadot altr,pid-num-bits = <8>; 32c66ec88fSEmmanuel Vadot altr,reset-addr = <0xd4000000>; 33c66ec88fSEmmanuel Vadot altr,tlb-num-entries = <256>; 34c66ec88fSEmmanuel Vadot altr,tlb-num-ways = <16>; 35c66ec88fSEmmanuel Vadot altr,tlb-ptr-sz = <8>; 36c66ec88fSEmmanuel Vadot clock-frequency = <75000000>; 37c66ec88fSEmmanuel Vadot dcache-line-size = <32>; 38c66ec88fSEmmanuel Vadot dcache-size = <32768>; 39c66ec88fSEmmanuel Vadot icache-line-size = <32>; 40c66ec88fSEmmanuel Vadot icache-size = <32768>; 41c66ec88fSEmmanuel Vadot }; 42c66ec88fSEmmanuel Vadot }; 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot memory { 45c66ec88fSEmmanuel Vadot device_type = "memory"; 46c66ec88fSEmmanuel Vadot reg = <0x08000000 0x08000000>, 47c66ec88fSEmmanuel Vadot <0x00000000 0x00000400>; 48c66ec88fSEmmanuel Vadot }; 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot sopc0: sopc@0 { 51c66ec88fSEmmanuel Vadot device_type = "soc"; 52c66ec88fSEmmanuel Vadot ranges; 53c66ec88fSEmmanuel Vadot #address-cells = <1>; 54c66ec88fSEmmanuel Vadot #size-cells = <1>; 55c66ec88fSEmmanuel Vadot compatible = "altr,avalon", "simple-bus"; 56c66ec88fSEmmanuel Vadot bus-frequency = <75000000>; 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot jtag_uart: serial@18001530 { 59c66ec88fSEmmanuel Vadot compatible = "altr,juart-1.0"; 60c66ec88fSEmmanuel Vadot reg = <0x18001530 0x00000008>; 61c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu>; 62c66ec88fSEmmanuel Vadot interrupts = <7>; 63c66ec88fSEmmanuel Vadot }; 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot a_16550_uart_0: serial@18001600 { 66c66ec88fSEmmanuel Vadot compatible = "altr,16550-FIFO32", "ns16550a"; 67c66ec88fSEmmanuel Vadot reg = <0x18001600 0x00000200>; 68c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu>; 69c66ec88fSEmmanuel Vadot interrupts = <1>; 70c66ec88fSEmmanuel Vadot auto-flow-control = <1>; 71c66ec88fSEmmanuel Vadot clock-frequency = <50000000>; 72c66ec88fSEmmanuel Vadot fifo-size = <32>; 73c66ec88fSEmmanuel Vadot reg-io-width = <4>; 74c66ec88fSEmmanuel Vadot reg-shift = <2>; 75c66ec88fSEmmanuel Vadot tx-threshold = <16>; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot sysid: sysid@18001528 { 79c66ec88fSEmmanuel Vadot compatible = "altr,sysid-1.0"; 80c66ec88fSEmmanuel Vadot reg = <0x18001528 0x00000008>; 81c66ec88fSEmmanuel Vadot id = <4207856382>; 82c66ec88fSEmmanuel Vadot timestamp = <1431309290>; 83c66ec88fSEmmanuel Vadot }; 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot rgmii_0_eth_tse_0: ethernet@400 { 86c66ec88fSEmmanuel Vadot compatible = "altr,tse-msgdma-1.0", "altr,tse-1.0"; 87c66ec88fSEmmanuel Vadot reg = <0x00000400 0x00000400>, 88c66ec88fSEmmanuel Vadot <0x00000820 0x00000020>, 89c66ec88fSEmmanuel Vadot <0x00000800 0x00000020>, 90c66ec88fSEmmanuel Vadot <0x000008c0 0x00000008>, 91c66ec88fSEmmanuel Vadot <0x00000840 0x00000020>, 92c66ec88fSEmmanuel Vadot <0x00000860 0x00000020>; 93c66ec88fSEmmanuel Vadot reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc"; 94c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu>; 95c66ec88fSEmmanuel Vadot interrupts = <2 3>; 96c66ec88fSEmmanuel Vadot interrupt-names = "rx_irq", "tx_irq"; 97c66ec88fSEmmanuel Vadot rx-fifo-depth = <8192>; 98c66ec88fSEmmanuel Vadot tx-fifo-depth = <8192>; 99c66ec88fSEmmanuel Vadot address-bits = <48>; 100*fac71e4eSEmmanuel Vadot max-frame-size = <1500>; 101c66ec88fSEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 102c66ec88fSEmmanuel Vadot altr,has-supplementary-unicast; 103c66ec88fSEmmanuel Vadot altr,enable-sup-addr = <1>; 104c66ec88fSEmmanuel Vadot altr,has-hash-multicast-filter; 105c66ec88fSEmmanuel Vadot altr,enable-hash = <1>; 106c66ec88fSEmmanuel Vadot phy-mode = "rgmii-id"; 107c66ec88fSEmmanuel Vadot phy-handle = <&phy0>; 108c66ec88fSEmmanuel Vadot rgmii_0_eth_tse_0_mdio: mdio { 109c66ec88fSEmmanuel Vadot compatible = "altr,tse-mdio"; 110c66ec88fSEmmanuel Vadot #address-cells = <1>; 111c66ec88fSEmmanuel Vadot #size-cells = <0>; 112c66ec88fSEmmanuel Vadot phy0: ethernet-phy@0 { 113c66ec88fSEmmanuel Vadot reg = <0>; 114c66ec88fSEmmanuel Vadot device_type = "ethernet-phy"; 115c66ec88fSEmmanuel Vadot }; 116c66ec88fSEmmanuel Vadot }; 117c66ec88fSEmmanuel Vadot }; 118c66ec88fSEmmanuel Vadot 119c66ec88fSEmmanuel Vadot enet_pll: clock@0 { 120c66ec88fSEmmanuel Vadot compatible = "altr,pll-1.0"; 121c66ec88fSEmmanuel Vadot #clock-cells = <1>; 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel Vadot enet_pll_c0: enet_pll_c0 { 124c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 125c66ec88fSEmmanuel Vadot #clock-cells = <0>; 126c66ec88fSEmmanuel Vadot clock-frequency = <125000000>; 127c66ec88fSEmmanuel Vadot clock-output-names = "enet_pll-c0"; 128c66ec88fSEmmanuel Vadot }; 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadot enet_pll_c1: enet_pll_c1 { 131c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 132c66ec88fSEmmanuel Vadot #clock-cells = <0>; 133c66ec88fSEmmanuel Vadot clock-frequency = <25000000>; 134c66ec88fSEmmanuel Vadot clock-output-names = "enet_pll-c1"; 135c66ec88fSEmmanuel Vadot }; 136c66ec88fSEmmanuel Vadot 137c66ec88fSEmmanuel Vadot enet_pll_c2: enet_pll_c2 { 138c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 139c66ec88fSEmmanuel Vadot #clock-cells = <0>; 140c66ec88fSEmmanuel Vadot clock-frequency = <2500000>; 141c66ec88fSEmmanuel Vadot clock-output-names = "enet_pll-c2"; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot }; 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot sys_pll: clock@1 { 146c66ec88fSEmmanuel Vadot compatible = "altr,pll-1.0"; 147c66ec88fSEmmanuel Vadot #clock-cells = <1>; 148c66ec88fSEmmanuel Vadot 149c66ec88fSEmmanuel Vadot sys_pll_c0: sys_pll_c0 { 150c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 151c66ec88fSEmmanuel Vadot #clock-cells = <0>; 152c66ec88fSEmmanuel Vadot clock-frequency = <100000000>; 153c66ec88fSEmmanuel Vadot clock-output-names = "sys_pll-c0"; 154c66ec88fSEmmanuel Vadot }; 155c66ec88fSEmmanuel Vadot 156c66ec88fSEmmanuel Vadot sys_pll_c1: sys_pll_c1 { 157c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 158c66ec88fSEmmanuel Vadot #clock-cells = <0>; 159c66ec88fSEmmanuel Vadot clock-frequency = <50000000>; 160c66ec88fSEmmanuel Vadot clock-output-names = "sys_pll-c1"; 161c66ec88fSEmmanuel Vadot }; 162c66ec88fSEmmanuel Vadot 163c66ec88fSEmmanuel Vadot sys_pll_c2: sys_pll_c2 { 164c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 165c66ec88fSEmmanuel Vadot #clock-cells = <0>; 166c66ec88fSEmmanuel Vadot clock-frequency = <75000000>; 167c66ec88fSEmmanuel Vadot clock-output-names = "sys_pll-c2"; 168c66ec88fSEmmanuel Vadot }; 169c66ec88fSEmmanuel Vadot }; 170c66ec88fSEmmanuel Vadot 171c66ec88fSEmmanuel Vadot sys_clk_timer: timer@18001440 { 172c66ec88fSEmmanuel Vadot compatible = "altr,timer-1.0"; 173c66ec88fSEmmanuel Vadot reg = <0x18001440 0x00000020>; 174c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu>; 175c66ec88fSEmmanuel Vadot interrupts = <0>; 176c66ec88fSEmmanuel Vadot clock-frequency = <75000000>; 177c66ec88fSEmmanuel Vadot }; 178c66ec88fSEmmanuel Vadot 179c66ec88fSEmmanuel Vadot led_pio: gpio@180014d0 { 180c66ec88fSEmmanuel Vadot compatible = "altr,pio-1.0"; 181c66ec88fSEmmanuel Vadot reg = <0x180014d0 0x00000010>; 182c66ec88fSEmmanuel Vadot altr,ngpio = <4>; 183c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 184c66ec88fSEmmanuel Vadot gpio-controller; 185c66ec88fSEmmanuel Vadot }; 186c66ec88fSEmmanuel Vadot 187c66ec88fSEmmanuel Vadot button_pio: gpio@180014c0 { 188c66ec88fSEmmanuel Vadot compatible = "altr,pio-1.0"; 189c66ec88fSEmmanuel Vadot reg = <0x180014c0 0x00000010>; 190c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu>; 191c66ec88fSEmmanuel Vadot interrupts = <6>; 192c66ec88fSEmmanuel Vadot altr,ngpio = <3>; 193c66ec88fSEmmanuel Vadot altr,interrupt-type = <2>; 194c66ec88fSEmmanuel Vadot edge_type = <1>; 195c66ec88fSEmmanuel Vadot level_trigger = <0>; 196c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 197c66ec88fSEmmanuel Vadot gpio-controller; 198c66ec88fSEmmanuel Vadot }; 199c66ec88fSEmmanuel Vadot 200c66ec88fSEmmanuel Vadot sys_clk_timer_1: timer@880 { 201c66ec88fSEmmanuel Vadot compatible = "altr,timer-1.0"; 202c66ec88fSEmmanuel Vadot reg = <0x00000880 0x00000020>; 203c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu>; 204c66ec88fSEmmanuel Vadot interrupts = <5>; 205c66ec88fSEmmanuel Vadot clock-frequency = <75000000>; 206c66ec88fSEmmanuel Vadot }; 207c66ec88fSEmmanuel Vadot 208c66ec88fSEmmanuel Vadot fpga_leds: leds { 209c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 210c66ec88fSEmmanuel Vadot 211c66ec88fSEmmanuel Vadot led_fpga0: fpga0 { 212c66ec88fSEmmanuel Vadot label = "fpga_led0"; 213c66ec88fSEmmanuel Vadot gpios = <&led_pio 0 1>; 214c66ec88fSEmmanuel Vadot }; 215c66ec88fSEmmanuel Vadot 216c66ec88fSEmmanuel Vadot led_fpga1: fpga1 { 217c66ec88fSEmmanuel Vadot label = "fpga_led1"; 218c66ec88fSEmmanuel Vadot gpios = <&led_pio 1 1>; 219c66ec88fSEmmanuel Vadot }; 220c66ec88fSEmmanuel Vadot 221c66ec88fSEmmanuel Vadot led_fpga2: fpga2 { 222c66ec88fSEmmanuel Vadot label = "fpga_led2"; 223c66ec88fSEmmanuel Vadot gpios = <&led_pio 2 1>; 224c66ec88fSEmmanuel Vadot }; 225c66ec88fSEmmanuel Vadot 226c66ec88fSEmmanuel Vadot led_fpga3: fpga3 { 227c66ec88fSEmmanuel Vadot label = "fpga_led3"; 228c66ec88fSEmmanuel Vadot gpios = <&led_pio 3 1>; 229c66ec88fSEmmanuel Vadot }; 230c66ec88fSEmmanuel Vadot }; 231c66ec88fSEmmanuel Vadot }; 232c66ec88fSEmmanuel Vadot 233c66ec88fSEmmanuel Vadot chosen { 234c66ec88fSEmmanuel Vadot bootargs = "debug earlycon console=ttyS0,115200"; 235c66ec88fSEmmanuel Vadot stdout-path = &a_16550_uart_0; 236c66ec88fSEmmanuel Vadot }; 237c66ec88fSEmmanuel Vadot}; 238