xref: /linux/arch/arm/boot/dts/intel/socfpga/socfpga_cyclone5_mercury_sa2.dtsi (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2/*
3 * Copyright (C) 2024 Enclustra GmbH - https://www.enclustra.com
4 */
5
6#include "socfpga_cyclone5.dtsi"
7
8/ {
9	model = "Enclustra Mercury+ SA2";
10	compatible = "altr,socfpga-cyclone5", "altr,socfpga";
11
12	chosen {
13		stdout-path = "serial0:115200n8";
14	};
15
16	aliases {
17		ethernet0 = &gmac1;
18	};
19
20	/* Adjusted the i2c labels to use generic base-board dtsi files for
21	 * Enclustra Arria10 and Cyclone5 SoMs.
22	 *
23	 * The set of i2c0 and i2c1 labels defined in socfpga_cyclone5.dtsi and in
24	 * socfpga_arria10.dtsi do not allow for using the same base-board .dtsi
25	 * fragments. Thus define generic labels here to match the correct i2c
26	 * bus in a generic base-board .dtsi file.
27	 */
28	soc {
29		i2c_encl: i2c@ffc04000 {
30		};
31		i2c_encl_fpga: i2c@ffc05000 {
32		};
33	};
34
35	memory {
36		name = "memory";
37		device_type = "memory";
38		reg = <0x0 0x80000000>; /* 2GB */
39	};
40};
41
42&osc1 {
43	clock-frequency = <50000000>;
44};
45
46&i2c_encl {
47	i2c-sda-hold-time-ns = <300>;
48	clock-frequency = <100000>;
49	status = "okay";
50
51	isl12020: rtc@6f {
52		compatible = "isil,isl12022";
53		reg = <0x6f>;
54	};
55
56	atsha204a: crypto@64 {
57		compatible = "atmel,atsha204a";
58		reg = <0x64>;
59	};
60};
61
62&i2c_encl_fpga {
63	i2c-sda-hold-time-ns = <300>;
64	status = "disabled";
65};
66
67&uart0 {
68	clock-frequency = <100000000>;
69};
70
71&mmc0 {
72	status = "okay";
73};
74
75&qspi {
76	status = "okay";
77
78	flash0: flash@0 {
79		u-boot,dm-pre-reloc;
80		#address-cells = <1>;
81		#size-cells = <1>;
82		compatible = "jedec,spi-nor";
83		reg = <0>;
84
85		spi-rx-bus-width = <4>;
86		spi-tx-bus-width = <4>;
87		spi-max-frequency = <10000000>;
88
89		cdns,read-delay = <4>;
90		cdns,tshsl-ns = <50>;
91		cdns,tsd2d-ns = <50>;
92		cdns,tchsh-ns = <4>;
93		cdns,tslch-ns = <4>;
94
95		partition@raw {
96			label = "Flash Raw";
97			reg = <0x0 0x4000000>;
98		};
99	};
100};
101
102&gpio0 {
103	status = "okay";
104};
105
106&gpio1 {
107	status = "okay";
108};
109
110&gmac1 {
111	status = "okay";
112	/delete-property/ mac-address;
113	phy-mode = "rgmii-id";
114	phy-handle = <&phy3>;
115
116	mdio0 {
117		#address-cells = <1>;
118		#size-cells = <0>;
119		compatible = "snps,dwmac-mdio";
120
121		phy3: ethernet-phy@3 {
122			reg = <3>;
123
124			/* Add 2ns RX clock delay (1.2ns + 0.78ns)*/
125			rxc-skew-ps = <1680>;
126			rxd0-skew-ps = <420>;
127			rxd1-skew-ps = <420>;
128			rxd2-skew-ps = <420>;
129			rxd3-skew-ps = <420>;
130			rxdv-skew-ps = <420>;
131
132			/* Add 1.38ns TX clock delay (0.96ns + 0.42ns)*/
133			txc-skew-ps = <1860>;
134			txd0-skew-ps = <0>;
135			txd1-skew-ps = <0>;
136			txd2-skew-ps = <0>;
137			txd3-skew-ps = <0>;
138			txen-skew-ps = <0>;
139		};
140	};
141};
142
143&usb1 {
144	status = "okay";
145	dr_mode = "host";
146};
147