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