Skip to content

Commit a5d4be9

Browse files
committed
arm64: dts: adi: sc598: add device tree
Co-developed-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Co-developed-by: Caleb Ethridge <caleb.ethridge@analog.com> Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com> Signed-off-by: Philip Molloy <philip.molloy@analog.com>
1 parent b50c372 commit a5d4be9

File tree

5 files changed

+2118
-0
lines changed

5 files changed

+2118
-0
lines changed

arch/arm64/boot/dts/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
subdir-y += actions
33
subdir-y += airoha
4+
subdir-y += adi
45
subdir-y += allwinner
56
subdir-y += altera
67
subdir-y += amazon

arch/arm64/boot/dts/adi/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
dtb-$(CONFIG_ARCH_SC59X_64) += sc598-som-ezkit.dtb
Lines changed: 317 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,317 @@
1+
/*
2+
* Copyright (c) 2021 Analog Devices Incorporated
3+
* Author: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include "sc598-som.dtsi"
9+
10+
/ {
11+
model = "ADI 64-bit SC598 SOM EZ Kit";
12+
compatible = "adi,sc598-som-ezkit", "adi,sc59x-64";
13+
14+
scb {
15+
sound {
16+
compatible = "adi,sc5xx-asoc-card";
17+
adi,cpu-dai = <&i2s4>;
18+
adi,codec = <&adau1962>, <&adau1979>;
19+
};
20+
};
21+
};
22+
23+
&ospi {
24+
pinctrl-names = "default";
25+
pinctrl-0 = <&ospi_default>;
26+
27+
status = "disabled";
28+
29+
flash0: mx66lm1g45@0 {
30+
#address-cells = <1>;
31+
#size-cells = <1>;
32+
compatible = "mx66lm1g45", "jedec,spi-nor";
33+
reg = <0>;
34+
spi-max-frequency = <83333334>;
35+
spi-tx-bus-width = <8>;
36+
spi-rx-bus-width = <8>;
37+
38+
cdns,read-delay = <4>;
39+
cdns,tshsl-ns = <50>;
40+
cdns,tsd2d-ns = <50>;
41+
cdns,tchsh-ns = <4>;
42+
cdns,tslch-ns = <4>;
43+
44+
partitions {
45+
compatible = "fixed-partitions";
46+
#address-cells = <1>;
47+
#size-cells = <1>;
48+
49+
ospi_0: partition@0 {
50+
label = "U-Boot SPL";
51+
reg = <0x0 0x40000>;
52+
};
53+
54+
ospi_1: partition@1 {
55+
label = "U-Boot Proper";
56+
reg = <0x40000 0xC0000>;
57+
};
58+
59+
ospi_2: partition@2 {
60+
label = "U-Boot Environment";
61+
reg = <0x100000 0x20000>;
62+
};
63+
64+
ospi_3: partition@3 {
65+
label = "FIT Image";
66+
reg = <0x120000 0xF00000>;
67+
};
68+
69+
ospi_4: partition@4 {
70+
label = "JFFS2 Formatted RFS";
71+
reg = <0x1020000 0xFE0000>;
72+
};
73+
};
74+
};
75+
};
76+
77+
&i2c2 {
78+
ssw1: gpio@22 {
79+
compatible = "microchip,mcp23017";
80+
gpio-controller;
81+
#gpio-cells = <2>;
82+
reg = <0x22>;
83+
status = "okay";
84+
85+
eeprom {
86+
gpio-hog;
87+
gpios = <0 GPIO_ACTIVE_HIGH>;
88+
output-low;
89+
line-name = "eeprom-en";
90+
};
91+
92+
pushbutton {
93+
gpio-hog;
94+
gpios = <1 GPIO_ACTIVE_HIGH>;
95+
output-high;
96+
line-name = "pushbutton-en";
97+
};
98+
99+
microsd {
100+
gpio-hog;
101+
gpios = <2 GPIO_ACTIVE_LOW>;
102+
output-low;
103+
line-name = "microsd-spi";
104+
};
105+
106+
ftdi {
107+
gpio-hog;
108+
gpios = <3 GPIO_ACTIVE_LOW>;
109+
output-high;
110+
line-name = "ftdi-usb-en";
111+
};
112+
113+
can {
114+
gpio-hog;
115+
gpios = <4 GPIO_ACTIVE_LOW>;
116+
output-low;
117+
line-name = "can-en";
118+
};
119+
120+
adau1962 {
121+
gpio-hog;
122+
gpios = <6 GPIO_ACTIVE_LOW>;
123+
output-high;
124+
line-name = "adau1962-en";
125+
};
126+
127+
adau1979 {
128+
gpio-hog;
129+
gpios = <7 GPIO_ACTIVE_LOW>;
130+
output-high;
131+
line-name = "adau1979-en";
132+
};
133+
134+
octal {
135+
gpio-hog;
136+
gpios = <8 GPIO_ACTIVE_HIGH>;
137+
output-low;
138+
line-name = "octal-spi-cs-en";
139+
};
140+
141+
spdif-dig {
142+
gpio-hog;
143+
gpios = <9 GPIO_ACTIVE_LOW>;
144+
output-low;
145+
line-name = "spdif-digital-en";
146+
};
147+
148+
spdif-opt {
149+
gpio-hog;
150+
gpios = <10 GPIO_ACTIVE_LOW>;
151+
output-low;
152+
line-name = "spdif-optical-en";
153+
};
154+
155+
audio-jack {
156+
gpio-hog;
157+
gpios = <11 GPIO_ACTIVE_HIGH>;
158+
output-high;
159+
line-name = "audio-jack-sel";
160+
};
161+
162+
mlb {
163+
gpio-hog;
164+
gpios = <12 GPIO_ACTIVE_HIGH>;
165+
output-high;
166+
line-name = "mlb-en";
167+
};
168+
169+
eth1 {
170+
gpio-hog;
171+
gpios = <13 GPIO_ACTIVE_LOW>;
172+
output-high;
173+
line-name = "eth1-en";
174+
};
175+
176+
eth1-reset {
177+
gpio-hog;
178+
gpios = <14 GPIO_ACTIVE_LOW>;
179+
/* USB0 lines are shared with Eth1 so Eth PHY must be held in reset
180+
when using the USB */
181+
output-high;
182+
line-name = "eth1-reset";
183+
};
184+
185+
gige-reset {
186+
gpio-hog;
187+
gpios = <15 GPIO_ACTIVE_HIGH>;
188+
output-high;
189+
line-name = "gige-reset";
190+
};
191+
};
192+
193+
adau1979: adau1979@11 {
194+
compatible = "adi,adau1979";
195+
reg = <0x11>;
196+
};
197+
198+
adau1962: adau1962@4 {
199+
compatible = "adi,adau1962";
200+
reg = <0x4>;
201+
reset-gpios = <&ssw1 5 GPIO_ACTIVE_LOW>;
202+
};
203+
};
204+
205+
&emac0 {
206+
snps,reset-active-low;
207+
snps,reset-delays-us = <0 200 500>;
208+
phy-handle = <&dp83867>;
209+
phy-mode = "rgmii-id";
210+
pinctrl-names = "default";
211+
pinctrl-0 = <&eth0_default>;
212+
status = "okay";
213+
snps,mtl-rx-config = <&emac0rxconfig>;
214+
snps,mtl-tx-config = <&emac0txconfig>;
215+
216+
emac0txconfig: tx-config {
217+
snps,tx-queues-to-use = <3>;
218+
219+
queue0 {
220+
snps,dcb-algorithm;
221+
};
222+
223+
queue1 {
224+
snps,dcb-algorithm;
225+
};
226+
227+
queue2 {
228+
snps,dcb-algorithm;
229+
};
230+
};
231+
232+
emac0rxconfig: rx-config {
233+
snps,rx-queues-to-use = <1>;
234+
235+
queue0 {
236+
snps,dcb-algorithm;
237+
};
238+
239+
queue1 {
240+
snps,dcb-algorithm;
241+
};
242+
243+
queue2 {
244+
snps,dcb-algorithm;
245+
};
246+
};
247+
248+
mdio0 {
249+
compatible = "snps,dwmac-mdio";
250+
#address-cells = <1>;
251+
#size-cells = <0>;
252+
dp83867: ethernet-phy@0 {
253+
reg = <0>;
254+
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
255+
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
256+
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
257+
ti,dp83867-rxctrl-strap-quirk;
258+
};
259+
};
260+
};
261+
262+
//&emac1 {
263+
// phy-handle = <&dp83848>;
264+
// phy-mode = "rmii";
265+
// pinctrl-names = "default";
266+
// pinctrl-0 = <&eth1_default>;
267+
// status = "disabled";//
268+
269+
// mdio1 {
270+
// compatible = "snps,dwmac-mdio";
271+
// #address-cells = <1>;
272+
// #size-cells = <0>;
273+
// dp83848: ethernet-phy@1 {
274+
// reg = <1>;
275+
// };
276+
// };//
277+
278+
//};
279+
280+
&i2s4 {
281+
pinctrl-names = "default";
282+
pinctrl-0 = <&sru_dai1>;
283+
status = "okay";
284+
};
285+
286+
&sru_ctrl_dai1 {
287+
status = "okay";
288+
289+
sru_dai1: sru_dai1_mux {
290+
route {
291+
sru-routing =
292+
<DAI1_LOW_F DAI1_PBEN05_I>, /* set DAI1_PIN0B to input */
293+
<DAI1_PB05_O_ABCDE SPT4_ACLK_I>, /* route DAI1_PIN0B to SPT4_ACLK */
294+
<DAI1_LOW_F DAI1_PBEN04_I>, /* set DAI1_PIN04 to input */
295+
<DAI1_PB04_O_ABCDE SPT4_AFS_I>, /* route DAI1_PIN04 to SPT4_AFS */
296+
<DAI1_HIGH_F DAI1_PBEN01_I>, /* set DAI1_PIN01 to output */
297+
<SPT4_AD0_O_BD DAI1_PB01_I>, /* route SPT4_AD0 to DAI1_PIN01 */
298+
<DAI1_LOW_F DAI1_PBEN12_I>, /* set DAI1_PIN12 to input */
299+
<DAI1_PB12_O_ABCDE SPT4_BCLK_I>, /* route DAI1_PIN12 to SPT4_BCLK */
300+
<DAI1_LOW_F DAI1_PBEN20_I>, /* set DAI1_PIN20 to input */
301+
<DAI1_PB20_O_ABCDE SPT4_BFS_I>, /* route DAI1_PIN20 to SPT4_BFS */
302+
<DAI1_LOW_F DAI1_PBEN06_I>, /* set DAI1_PIN06 to input */
303+
<DAI1_PB06_O_ABCDE SPT4_BD0_I>; /* route DAI1_PIN06 to SPT4_BD0 */
304+
};
305+
};
306+
};
307+
308+
&pkte1 {
309+
status = "okay";
310+
mode = "arm"; /* autonomous ring mode */
311+
/* mode = "tcm"; */ /* target command mode */
312+
/* mode = "dhm"; */ /* direct host mode */
313+
};
314+
315+
&crc0 {
316+
status = "okay";
317+
};

0 commit comments

Comments
 (0)