xref: /linux/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_de10nano.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1*144616a8SUwe Kleine-König// SPDX-License-Identifier: GPL-2.0+
2*144616a8SUwe Kleine-König/*
3*144616a8SUwe Kleine-König * Copyright (C) 2017, Intel Corporation
4*144616a8SUwe Kleine-König *
5*144616a8SUwe Kleine-König * based on socfpga_cyclone5_de0_nano_soc.dts
6*144616a8SUwe Kleine-König */
7*144616a8SUwe Kleine-König/dts-v1/;
8*144616a8SUwe Kleine-König
9*144616a8SUwe Kleine-König#include "socfpga_cyclone5.dtsi"
10*144616a8SUwe Kleine-König#include <dt-bindings/interrupt-controller/irq.h>
11*144616a8SUwe Kleine-König#include <dt-bindings/gpio/gpio.h>
12*144616a8SUwe Kleine-König
13*144616a8SUwe Kleine-König/ {
14*144616a8SUwe Kleine-König	model = "Terasic DE10-Nano";
15*144616a8SUwe Kleine-König	compatible = "terasic,de10-nano", "altr,socfpga-cyclone5", "altr,socfpga";
16*144616a8SUwe Kleine-König
17*144616a8SUwe Kleine-König	chosen {
18*144616a8SUwe Kleine-König		stdout-path = "serial0:115200n8";
19*144616a8SUwe Kleine-König	};
20*144616a8SUwe Kleine-König
21*144616a8SUwe Kleine-König	memory@0 {
22*144616a8SUwe Kleine-König		/* 1 GiB */
23*144616a8SUwe Kleine-König		device_type = "memory";
24*144616a8SUwe Kleine-König		reg = <0x0 0x40000000>;
25*144616a8SUwe Kleine-König	};
26*144616a8SUwe Kleine-König
27*144616a8SUwe Kleine-König	soc {
28*144616a8SUwe Kleine-König		fpga: bus@ff200000 {
29*144616a8SUwe Kleine-König			compatible = "simple-bus";
30*144616a8SUwe Kleine-König			reg = <0xff200000 0x00200000>;
31*144616a8SUwe Kleine-König			ranges = <0x00000000 0xff200000 0x00200000>;
32*144616a8SUwe Kleine-König			#address-cells = <1>;
33*144616a8SUwe Kleine-König			#size-cells = <1>;
34*144616a8SUwe Kleine-König
35*144616a8SUwe Kleine-König			/*
36*144616a8SUwe Kleine-König			 * Here the devices will appear if an FPGA image is
37*144616a8SUwe Kleine-König			 * loaded. Their description is expected to be added
38*144616a8SUwe Kleine-König			 * using a device tree overlay that matches the image.
39*144616a8SUwe Kleine-König			 */
40*144616a8SUwe Kleine-König		};
41*144616a8SUwe Kleine-König	};
42*144616a8SUwe Kleine-König};
43*144616a8SUwe Kleine-König
44*144616a8SUwe Kleine-König&gmac1 {
45*144616a8SUwe Kleine-König	/* Uses a KSZ9031RNX phy */
46*144616a8SUwe Kleine-König	phy-mode = "rgmii-id";
47*144616a8SUwe Kleine-König	rxd0-skew-ps = <420>;
48*144616a8SUwe Kleine-König	rxd1-skew-ps = <420>;
49*144616a8SUwe Kleine-König	rxd2-skew-ps = <420>;
50*144616a8SUwe Kleine-König	rxd3-skew-ps = <420>;
51*144616a8SUwe Kleine-König	txen-skew-ps = <0>;
52*144616a8SUwe Kleine-König	rxdv-skew-ps = <420>;
53*144616a8SUwe Kleine-König	status = "okay";
54*144616a8SUwe Kleine-König};
55*144616a8SUwe Kleine-König
56*144616a8SUwe Kleine-König&gpio0 {
57*144616a8SUwe Kleine-König	status = "okay";
58*144616a8SUwe Kleine-König};
59*144616a8SUwe Kleine-König
60*144616a8SUwe Kleine-König&gpio1 {
61*144616a8SUwe Kleine-König	status = "okay";
62*144616a8SUwe Kleine-König};
63*144616a8SUwe Kleine-König
64*144616a8SUwe Kleine-König&gpio2 {
65*144616a8SUwe Kleine-König	status = "okay";
66*144616a8SUwe Kleine-König};
67*144616a8SUwe Kleine-König
68*144616a8SUwe Kleine-König&i2c0 {
69*144616a8SUwe Kleine-König	clock-frequency = <100000>;
70*144616a8SUwe Kleine-König	status = "okay";
71*144616a8SUwe Kleine-König
72*144616a8SUwe Kleine-König	accelerometer@53 {
73*144616a8SUwe Kleine-König		compatible = "adi,adxl345";
74*144616a8SUwe Kleine-König		reg = <0x53>;
75*144616a8SUwe Kleine-König		/* HPS_GSENSOR_INT is routed to UART0_RX/CAN0_RX/SPIM0_SS1/HPS_GPIO61 */
76*144616a8SUwe Kleine-König		interrupt-parent = <&portc>;
77*144616a8SUwe Kleine-König		interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
78*144616a8SUwe Kleine-König		interrupt-names = "INT1";
79*144616a8SUwe Kleine-König	};
80*144616a8SUwe Kleine-König};
81*144616a8SUwe Kleine-König
82*144616a8SUwe Kleine-König&mmc0 {
83*144616a8SUwe Kleine-König	/* micro SD card socket J11 */
84*144616a8SUwe Kleine-König	status = "okay";
85*144616a8SUwe Kleine-König};
86*144616a8SUwe Kleine-König
87*144616a8SUwe Kleine-König&uart0 {
88*144616a8SUwe Kleine-König	/*
89*144616a8SUwe Kleine-König	 * Accessible via USB (FT232R) on Mini-USB plug J4
90*144616a8SUwe Kleine-König	 * RX = TRACE_D0/SPIS0_CLK/UART0_RX/HPS_GPIO49
91*144616a8SUwe Kleine-König	 * TX = TRACE_D1/SPIS0_MOSI/UART0_TX/HPS_GPIO50
92*144616a8SUwe Kleine-König	 * no handshaking lines
93*144616a8SUwe Kleine-König	 */
94*144616a8SUwe Kleine-König	clock-frequency = <100000000>;
95*144616a8SUwe Kleine-König};
96