1cc21ed62SMarek Vasut/* 2cc21ed62SMarek Vasut * Copyright (C) 2015 Altera Corporation <www.altera.com> 3cc21ed62SMarek Vasut * 4cc21ed62SMarek Vasut * This program is free software; you can redistribute it and/or modify 5cc21ed62SMarek Vasut * it under the terms of the GNU General Public License as published by 6cc21ed62SMarek Vasut * the Free Software Foundation; either version 2 of the License, or 7cc21ed62SMarek Vasut * (at your option) any later version. 8cc21ed62SMarek Vasut * 9cc21ed62SMarek Vasut * This program is distributed in the hope that it will be useful, 10cc21ed62SMarek Vasut * but WITHOUT ANY WARRANTY; without even the implied warranty of 11cc21ed62SMarek Vasut * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12cc21ed62SMarek Vasut * GNU General Public License for more details. 13cc21ed62SMarek Vasut * 14cc21ed62SMarek Vasut * You should have received a copy of the GNU General Public License 15cc21ed62SMarek Vasut * along with this program. If not, see <http://www.gnu.org/licenses/>. 16cc21ed62SMarek Vasut */ 17cc21ed62SMarek Vasut#include "socfpga_arria10_socdk_sdmmc_handoff.dtsi" 18cc21ed62SMarek Vasut 19cc21ed62SMarek Vasut/ { 20cc21ed62SMarek Vasut model = "Altera SOCFPGA Arria 10"; 21cc21ed62SMarek Vasut compatible = "altr,socfpga-arria10", "altr,socfpga"; 22cc21ed62SMarek Vasut 23cc21ed62SMarek Vasut aliases { 24cc21ed62SMarek Vasut ethernet0 = &gmac0; 25cc21ed62SMarek Vasut serial0 = &uart1; 26c2950804SMarek Vasut i2c0 = &i2c1; 27cc21ed62SMarek Vasut }; 28cc21ed62SMarek Vasut 29cc21ed62SMarek Vasut chosen { 30cc21ed62SMarek Vasut bootargs = "earlyprintk"; 31cc21ed62SMarek Vasut stdout-path = "serial0:115200n8"; 32cc21ed62SMarek Vasut }; 33cc21ed62SMarek Vasut 34cc21ed62SMarek Vasut memory@0 { 35cc21ed62SMarek Vasut name = "memory"; 36cc21ed62SMarek Vasut device_type = "memory"; 37cc21ed62SMarek Vasut reg = <0x0 0x40000000>; /* 1GB */ 38df78f016SMarek Vasut u-boot,dm-pre-reloc; 39cc21ed62SMarek Vasut }; 40cc21ed62SMarek Vasut 41cc21ed62SMarek Vasut a10leds { 42cc21ed62SMarek Vasut compatible = "gpio-leds"; 43cc21ed62SMarek Vasut 44cc21ed62SMarek Vasut a10sr_led0 { 45cc21ed62SMarek Vasut label = "a10sr-led0"; 46cc21ed62SMarek Vasut gpios = <&a10sr_gpio 0 1>; 47cc21ed62SMarek Vasut }; 48cc21ed62SMarek Vasut 49cc21ed62SMarek Vasut a10sr_led1 { 50cc21ed62SMarek Vasut label = "a10sr-led1"; 51cc21ed62SMarek Vasut gpios = <&a10sr_gpio 1 1>; 52cc21ed62SMarek Vasut }; 53cc21ed62SMarek Vasut 54cc21ed62SMarek Vasut a10sr_led2 { 55cc21ed62SMarek Vasut label = "a10sr-led2"; 56cc21ed62SMarek Vasut gpios = <&a10sr_gpio 2 1>; 57cc21ed62SMarek Vasut }; 58cc21ed62SMarek Vasut 59cc21ed62SMarek Vasut a10sr_led3 { 60cc21ed62SMarek Vasut label = "a10sr-led3"; 61cc21ed62SMarek Vasut gpios = <&a10sr_gpio 3 1>; 62cc21ed62SMarek Vasut }; 63cc21ed62SMarek Vasut }; 64cc21ed62SMarek Vasut 65cc21ed62SMarek Vasut soc { 66cc21ed62SMarek Vasut u-boot,dm-pre-reloc; 67cc21ed62SMarek Vasut }; 68cc21ed62SMarek Vasut}; 69cc21ed62SMarek Vasut 70cc21ed62SMarek Vasut&gmac0 { 71cc21ed62SMarek Vasut phy-mode = "rgmii"; 72cc21ed62SMarek Vasut phy-addr = <0xffffffff>; /* probe for phy addr */ 73cc21ed62SMarek Vasut 74cc21ed62SMarek Vasut /* 75cc21ed62SMarek Vasut * These skews assume the user's FPGA design is adding 600ps of delay 76cc21ed62SMarek Vasut * for TX_CLK on Arria 10. 77cc21ed62SMarek Vasut * 78cc21ed62SMarek Vasut * All skews are offset since hardware skew values for the ksz9031 79cc21ed62SMarek Vasut * range from a negative skew to a positive skew. 80cc21ed62SMarek Vasut * See the micrel-ksz90x1.txt Documentation file for details. 81cc21ed62SMarek Vasut */ 82cc21ed62SMarek Vasut txd0-skew-ps = <0>; /* -420ps */ 83cc21ed62SMarek Vasut txd1-skew-ps = <0>; /* -420ps */ 84cc21ed62SMarek Vasut txd2-skew-ps = <0>; /* -420ps */ 85cc21ed62SMarek Vasut txd3-skew-ps = <0>; /* -420ps */ 86cc21ed62SMarek Vasut rxd0-skew-ps = <420>; /* 0ps */ 87cc21ed62SMarek Vasut rxd1-skew-ps = <420>; /* 0ps */ 88cc21ed62SMarek Vasut rxd2-skew-ps = <420>; /* 0ps */ 89cc21ed62SMarek Vasut rxd3-skew-ps = <420>; /* 0ps */ 90cc21ed62SMarek Vasut txen-skew-ps = <0>; /* -420ps */ 91cc21ed62SMarek Vasut txc-skew-ps = <1860>; /* 960ps */ 92cc21ed62SMarek Vasut rxdv-skew-ps = <420>; /* 0ps */ 93cc21ed62SMarek Vasut rxc-skew-ps = <1680>; /* 780ps */ 94cc21ed62SMarek Vasut max-frame-size = <3800>; 95cc21ed62SMarek Vasut status = "okay"; 96cc21ed62SMarek Vasut}; 97cc21ed62SMarek Vasut 98cc21ed62SMarek Vasut&gpio1 { 99cc21ed62SMarek Vasut status = "okay"; 100cc21ed62SMarek Vasut}; 101cc21ed62SMarek Vasut 102cc21ed62SMarek Vasut&spi1 { 103cc21ed62SMarek Vasut status = "okay"; 104cc21ed62SMarek Vasut 105cc21ed62SMarek Vasut resource-manager@0 { 106cc21ed62SMarek Vasut compatible = "altr,a10sr"; 107cc21ed62SMarek Vasut reg = <0>; 108cc21ed62SMarek Vasut spi-max-frequency = <100000>; 109cc21ed62SMarek Vasut /* low-level active IRQ at GPIO1_5 */ 110cc21ed62SMarek Vasut interrupt-parent = <&portb>; 111cc21ed62SMarek Vasut interrupts = <5 IRQ_TYPE_LEVEL_LOW>; 112cc21ed62SMarek Vasut interrupt-controller; 113cc21ed62SMarek Vasut #interrupt-cells = <2>; 114cc21ed62SMarek Vasut 115cc21ed62SMarek Vasut a10sr_gpio: gpio-controller { 116cc21ed62SMarek Vasut compatible = "altr,a10sr-gpio"; 117cc21ed62SMarek Vasut gpio-controller; 118cc21ed62SMarek Vasut #gpio-cells = <2>; 119cc21ed62SMarek Vasut }; 120cc21ed62SMarek Vasut 121cc21ed62SMarek Vasut a10sr_rst: reset-controller { 122cc21ed62SMarek Vasut compatible = "altr,a10sr-reset"; 123cc21ed62SMarek Vasut #reset-cells = <1>; 124cc21ed62SMarek Vasut }; 125cc21ed62SMarek Vasut }; 126cc21ed62SMarek Vasut}; 127cc21ed62SMarek Vasut 128cc21ed62SMarek Vasut&i2c1 { 129cc21ed62SMarek Vasut status = "okay"; 130cc21ed62SMarek Vasut 131cc21ed62SMarek Vasut /* 132cc21ed62SMarek Vasut * adjust the falling times to decrease the i2c frequency to 50Khz 133cc21ed62SMarek Vasut * because the LCD module does not work at the standard 100Khz 134cc21ed62SMarek Vasut */ 135cc21ed62SMarek Vasut clock-frequency = <100000>; 136cc21ed62SMarek Vasut i2c-sda-falling-time-ns = <6000>; 137cc21ed62SMarek Vasut i2c-scl-falling-time-ns = <6000>; 138cc21ed62SMarek Vasut 139cc21ed62SMarek Vasut eeprom@51 { 140cc21ed62SMarek Vasut compatible = "atmel,24c32"; 141cc21ed62SMarek Vasut reg = <0x51>; 142cc21ed62SMarek Vasut pagesize = <32>; 143cc21ed62SMarek Vasut }; 144cc21ed62SMarek Vasut 145cc21ed62SMarek Vasut rtc@68 { 146cc21ed62SMarek Vasut compatible = "dallas,ds1339"; 147cc21ed62SMarek Vasut reg = <0x68>; 148cc21ed62SMarek Vasut }; 149cc21ed62SMarek Vasut 150cc21ed62SMarek Vasut ltc@5c { 151cc21ed62SMarek Vasut compatible = "ltc2977"; 152cc21ed62SMarek Vasut reg = <0x5c>; 153cc21ed62SMarek Vasut }; 154cc21ed62SMarek Vasut}; 155cc21ed62SMarek Vasut 156cc21ed62SMarek Vasut&uart1 { 157cc21ed62SMarek Vasut u-boot,dm-pre-reloc; 158cc21ed62SMarek Vasut status = "okay"; 159cc21ed62SMarek Vasut}; 160cc21ed62SMarek Vasut 161cc21ed62SMarek Vasut&usb0 { 162cc21ed62SMarek Vasut status = "okay"; 163cc21ed62SMarek Vasut disable-over-current; 164cc21ed62SMarek Vasut}; 165cc21ed62SMarek Vasut 166cc21ed62SMarek Vasut&watchdog1 { 167cc21ed62SMarek Vasut status = "okay"; 168cc21ed62SMarek Vasut}; 169*ccc97432SMarek Vasut 170*ccc97432SMarek Vasut/* Clock available early */ 171*ccc97432SMarek Vasut&main_periph_ref_clk { 172*ccc97432SMarek Vasut u-boot,dm-pre-reloc; 173*ccc97432SMarek Vasut}; 174*ccc97432SMarek Vasut 175*ccc97432SMarek Vasut&l4_mp_clk { 176*ccc97432SMarek Vasut u-boot,dm-pre-reloc; 177*ccc97432SMarek Vasut}; 178*ccc97432SMarek Vasut 179*ccc97432SMarek Vasut&l4_sp_clk { 180*ccc97432SMarek Vasut u-boot,dm-pre-reloc; 181*ccc97432SMarek Vasut}; 182