blob: 68f5543644ea92d29987db353dba4e1c11ac301d [file] [log] [blame]
Jianchao Wang87821222019-07-19 00:30:01 +03001// SPDX-License-Identifier: GPL-2.0
Vladimir Oltean66fd01f2021-09-17 14:27:13 +03002/* Copyright 2016-2018 NXP
Jianchao Wang87821222019-07-19 00:30:01 +03003 * Copyright 2019 Vladimir Oltean <olteanv@gmail.com>
4 */
5
6/dts-v1/;
7#include "ls1021a.dtsi"
8
9/ {
10 model = "NXP LS1021A-TSN Board";
11
12 aliases {
13 enet0-sgmii-phy = &sgmii_phy2;
14 enet1-sgmii-phy = &sgmii_phy1;
15 spi0 = &qspi;
16 spi1 = &dspi1;
Vladimir Oltean39dd4f62021-09-29 18:04:43 +030017 ethernet0 = &enet0;
18 ethernet1 = &enet1;
19 ethernet2 = &enet2;
20 ethernet3 = &swp2;
21 ethernet4 = &swp3;
22 ethernet5 = &swp4;
23 ethernet6 = &swp5;
24 };
25};
26
27&dspi0 {
28 bus-num = <0>;
29 status = "okay";
30
31 sja1105: ethernet-switch@1 {
32 reg = <0x1>;
33 #address-cells = <1>;
34 #size-cells = <0>;
35 compatible = "nxp,sja1105t";
36 /* 12 MHz */
37 spi-max-frequency = <12000000>;
38 /* Sample data on trailing clock edge */
39 spi-cpha;
40 /* SPI controller settings for SJA1105 timing requirements */
41 fsl,spi-cs-sck-delay = <1000>;
42 fsl,spi-sck-cs-delay = <1000>;
43
44 ports {
45 #address-cells = <1>;
46 #size-cells = <0>;
47
48 swp5: port@0 {
49 /* ETH5 written on chassis */
50 label = "swp5";
51 phy-handle = <&rgmii_phy6>;
52 phy-mode = "rgmii-id";
53 reg = <0>;
54 };
55
56 swp2: port@1 {
57 /* ETH2 written on chassis */
58 label = "swp2";
59 phy-handle = <&rgmii_phy3>;
60 phy-mode = "rgmii-id";
61 reg = <1>;
62 };
63
64 swp3: port@2 {
65 /* ETH3 written on chassis */
66 label = "swp3";
67 phy-handle = <&rgmii_phy4>;
68 phy-mode = "rgmii-id";
69 reg = <2>;
70 };
71
72 swp4: port@3 {
73 /* ETH4 written on chassis */
74 label = "swp4";
75 phy-handle = <&rgmii_phy5>;
76 phy-mode = "rgmii-id";
77 reg = <3>;
78 };
79
80 port@4 {
81 /* Internal port connected to eth2 */
82 ethernet = <&enet2>;
83 phy-mode = "rgmii";
84 reg = <4>;
85
86 fixed-link {
87 speed = <1000>;
88 full-duplex;
89 };
90 };
91 };
Jianchao Wang87821222019-07-19 00:30:01 +030092 };
93};
94
95&enet0 {
96 tbi-handle = <&tbi0>;
97 phy-handle = <&sgmii_phy2>;
98 phy-mode = "sgmii";
99 status = "okay";
100};
101
102&enet1 {
103 tbi-handle = <&tbi1>;
104 phy-handle = <&sgmii_phy1>;
105 phy-mode = "sgmii";
106 status = "okay";
107};
108
Vladimir Oltean39dd4f62021-09-29 18:04:43 +0300109/* RGMII delays added via PCB traces */
110&enet2 {
111 phy-mode = "rgmii";
112 status = "okay";
113
114 fixed-link {
115 speed = <1000>;
116 full-duplex;
117 };
118};
119
Jianchao Wang87821222019-07-19 00:30:01 +0300120&i2c0 {
121 status = "okay";
122};
123
124&mdio0 {
125 /* AR8031 */
126 sgmii_phy1: ethernet-phy@1 {
127 reg = <0x1>;
128 };
129
130 /* AR8031 */
131 sgmii_phy2: ethernet-phy@2 {
132 reg = <0x2>;
133 };
134
Vladimir Oltean39dd4f62021-09-29 18:04:43 +0300135 /* BCM5464 quad PHY */
136 rgmii_phy3: ethernet-phy@3 {
137 reg = <0x3>;
138 };
139
140 rgmii_phy4: ethernet-phy@4 {
141 reg = <0x4>;
142 };
143
144 rgmii_phy5: ethernet-phy@5 {
145 reg = <0x5>;
146 };
147
148 rgmii_phy6: ethernet-phy@6 {
149 reg = <0x6>;
150 };
151
Jianchao Wang87821222019-07-19 00:30:01 +0300152 /* SGMII PCS for enet0 */
153 tbi0: tbi-phy@1f {
154 reg = <0x1f>;
155 device_type = "tbi-phy";
156 };
157};
158
159&mdio1 {
160 /* SGMII PCS for enet1 */
161 tbi1: tbi-phy@1f {
162 reg = <0x1f>;
163 device_type = "tbi-phy";
164 };
165};
166
167&qspi {
168 bus-num = <0>;
169 status = "okay";
170
171 flash@0 {
172 compatible = "spi-flash";
173 spi-max-frequency = <20000000>;
174 reg = <0>;
175 };
176};
177
178&uart0 {
179 status = "okay";
180};