xref: /freebsd/sys/contrib/device-tree/src/mips/xilfpga/nexys4ddr.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*c66ec88fSEmmanuel Vadot/dts-v1/;
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel Vadot#include "microAptiv.dtsi"
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel Vadot/ {
7*c66ec88fSEmmanuel Vadot	compatible = "digilent,nexys4ddr";
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot	aliases {
10*c66ec88fSEmmanuel Vadot		serial0 = &axi_uart16550;
11*c66ec88fSEmmanuel Vadot	};
12*c66ec88fSEmmanuel Vadot	chosen {
13*c66ec88fSEmmanuel Vadot		bootargs = "console=ttyS0,115200";
14*c66ec88fSEmmanuel Vadot		stdout-path = "serial0:115200n8";
15*c66ec88fSEmmanuel Vadot	};
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel Vadot	memory {
18*c66ec88fSEmmanuel Vadot		device_type = "memory";
19*c66ec88fSEmmanuel Vadot		reg = <0x0 0x08000000>;
20*c66ec88fSEmmanuel Vadot	};
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot	cpuintc: interrupt-controller {
23*c66ec88fSEmmanuel Vadot		#address-cells = <0>;
24*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
25*c66ec88fSEmmanuel Vadot		interrupt-controller;
26*c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
27*c66ec88fSEmmanuel Vadot	};
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel Vadot	axi_intc: interrupt-controller@10200000 {
30*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
31*c66ec88fSEmmanuel Vadot		compatible = "xlnx,xps-intc-1.00.a";
32*c66ec88fSEmmanuel Vadot		interrupt-controller;
33*c66ec88fSEmmanuel Vadot		reg = <0x10200000 0x10000>;
34*c66ec88fSEmmanuel Vadot		xlnx,kind-of-intr = <0x0>;
35*c66ec88fSEmmanuel Vadot		xlnx,num-intr-inputs = <0x6>;
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot		interrupt-parent = <&cpuintc>;
38*c66ec88fSEmmanuel Vadot		interrupts = <6>;
39*c66ec88fSEmmanuel Vadot	};
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot	axi_gpio: gpio@10600000 {
42*c66ec88fSEmmanuel Vadot		#gpio-cells = <1>;
43*c66ec88fSEmmanuel Vadot		compatible = "xlnx,xps-gpio-1.00.a";
44*c66ec88fSEmmanuel Vadot		gpio-controller;
45*c66ec88fSEmmanuel Vadot		reg = <0x10600000 0x10000>;
46*c66ec88fSEmmanuel Vadot		xlnx,all-inputs = <0x0>;
47*c66ec88fSEmmanuel Vadot		xlnx,dout-default = <0x0>;
48*c66ec88fSEmmanuel Vadot		xlnx,gpio-width = <0x16>;
49*c66ec88fSEmmanuel Vadot		xlnx,interrupt-present = <0x0>;
50*c66ec88fSEmmanuel Vadot		xlnx,is-dual = <0x0>;
51*c66ec88fSEmmanuel Vadot		xlnx,tri-default = <0xffffffff>;
52*c66ec88fSEmmanuel Vadot	} ;
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel Vadot	axi_ethernetlite: ethernet@10e00000 {
55*c66ec88fSEmmanuel Vadot		compatible = "xlnx,xps-ethernetlite-3.00.a";
56*c66ec88fSEmmanuel Vadot		device_type = "network";
57*c66ec88fSEmmanuel Vadot		interrupt-parent = <&axi_intc>;
58*c66ec88fSEmmanuel Vadot		interrupts = <1>;
59*c66ec88fSEmmanuel Vadot		phy-handle = <&phy0>;
60*c66ec88fSEmmanuel Vadot		reg = <0x10e00000 0x10000>;
61*c66ec88fSEmmanuel Vadot		xlnx,duplex = <0x1>;
62*c66ec88fSEmmanuel Vadot		xlnx,include-global-buffers = <0x1>;
63*c66ec88fSEmmanuel Vadot		xlnx,include-internal-loopback = <0x0>;
64*c66ec88fSEmmanuel Vadot		xlnx,include-mdio = <0x1>;
65*c66ec88fSEmmanuel Vadot		xlnx,instance = "axi_ethernetlite_inst";
66*c66ec88fSEmmanuel Vadot		xlnx,rx-ping-pong = <0x1>;
67*c66ec88fSEmmanuel Vadot		xlnx,s-axi-id-width = <0x1>;
68*c66ec88fSEmmanuel Vadot		xlnx,tx-ping-pong = <0x1>;
69*c66ec88fSEmmanuel Vadot		xlnx,use-internal = <0x0>;
70*c66ec88fSEmmanuel Vadot		mdio {
71*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
72*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
73*c66ec88fSEmmanuel Vadot			phy0: phy@1 {
74*c66ec88fSEmmanuel Vadot				device_type = "ethernet-phy";
75*c66ec88fSEmmanuel Vadot				reg = <1>;
76*c66ec88fSEmmanuel Vadot			};
77*c66ec88fSEmmanuel Vadot		};
78*c66ec88fSEmmanuel Vadot	};
79*c66ec88fSEmmanuel Vadot
80*c66ec88fSEmmanuel Vadot	axi_uart16550: serial@10400000 {
81*c66ec88fSEmmanuel Vadot		compatible = "ns16550a";
82*c66ec88fSEmmanuel Vadot		reg = <0x10400000 0x10000>;
83*c66ec88fSEmmanuel Vadot
84*c66ec88fSEmmanuel Vadot		reg-shift = <2>;
85*c66ec88fSEmmanuel Vadot		reg-offset = <0x1000>;
86*c66ec88fSEmmanuel Vadot
87*c66ec88fSEmmanuel Vadot		clocks	= <&ext>;
88*c66ec88fSEmmanuel Vadot
89*c66ec88fSEmmanuel Vadot		interrupt-parent = <&axi_intc>;
90*c66ec88fSEmmanuel Vadot		interrupts = <0>;
91*c66ec88fSEmmanuel Vadot	};
92*c66ec88fSEmmanuel Vadot
93*c66ec88fSEmmanuel Vadot	axi_i2c: i2c@10a00000 {
94*c66ec88fSEmmanuel Vadot	    compatible = "xlnx,xps-iic-2.00.a";
95*c66ec88fSEmmanuel Vadot	    interrupt-parent = <&axi_intc>;
96*c66ec88fSEmmanuel Vadot	    interrupts = <4>;
97*c66ec88fSEmmanuel Vadot	    reg = < 0x10a00000 0x10000 >;
98*c66ec88fSEmmanuel Vadot	    clocks = <&ext>;
99*c66ec88fSEmmanuel Vadot	    xlnx,clk-freq = <0x5f5e100>;
100*c66ec88fSEmmanuel Vadot	    xlnx,family = "Artix7";
101*c66ec88fSEmmanuel Vadot	    xlnx,gpo-width = <0x1>;
102*c66ec88fSEmmanuel Vadot	    xlnx,iic-freq = <0x186a0>;
103*c66ec88fSEmmanuel Vadot	    xlnx,scl-inertial-delay = <0x0>;
104*c66ec88fSEmmanuel Vadot	    xlnx,sda-inertial-delay = <0x0>;
105*c66ec88fSEmmanuel Vadot	    xlnx,ten-bit-adr = <0x0>;
106*c66ec88fSEmmanuel Vadot	    #address-cells = <1>;
107*c66ec88fSEmmanuel Vadot	    #size-cells = <0>;
108*c66ec88fSEmmanuel Vadot
109*c66ec88fSEmmanuel Vadot	    ad7420@4b {
110*c66ec88fSEmmanuel Vadot		compatible = "adi,adt7420";
111*c66ec88fSEmmanuel Vadot		reg = <0x4b>;
112*c66ec88fSEmmanuel Vadot	    };
113*c66ec88fSEmmanuel Vadot	} ;
114*c66ec88fSEmmanuel Vadot};
115*c66ec88fSEmmanuel Vadot
116*c66ec88fSEmmanuel Vadot&ext {
117*c66ec88fSEmmanuel Vadot	clock-frequency = <50000000>;
118*c66ec88fSEmmanuel Vadot};
119