1// SPDX-License-Identifier: GPL-2.0+
2// Copyright (c) 2020 Facebook Inc.
3
4/dts-v1/;
5
6#include "ast2600-facebook-netbmc-common.dtsi"
7
8/ {
9	model = "Facebook Elbert BMC";
10	compatible = "facebook,elbert-bmc", "aspeed,ast2600";
11
12	aliases {
13		serial0 = &uart5;
14		serial1 = &uart1;
15		serial2 = &uart2;
16		serial3 = &uart3;
17
18		/*
19		 * 8 child channels of PCA9548 2-0075.
20		 */
21		i2c16 = &imux16;
22		i2c17 = &imux17;
23		i2c18 = &imux18;
24		i2c19 = &imux19;
25		i2c20 = &imux20;
26		i2c21 = &imux21;
27		i2c22 = &imux22;
28		i2c23 = &imux23;
29
30		/*
31		 * 8 child channels of PCA9548 5-0075.
32		 */
33		i2c24 = &imux24;
34		i2c25 = &imux25;
35		i2c26 = &imux26;
36		i2c27 = &imux27;
37		i2c28 = &imux28;
38		i2c29 = &imux29;
39		i2c30 = &imux30;
40		i2c31 = &imux31;
41	};
42
43	chosen {
44		stdout-path = &uart5;
45	};
46
47	spi_gpio: spi {
48		num-chipselects = <1>;
49		cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
50	};
51};
52
53&lpc_ctrl {
54	status = "okay";
55};
56
57&kcs2 {
58	status = "okay";
59	aspeed,lpc-io-reg = <0xca8>;
60};
61
62&kcs3 {
63	status = "okay";
64	aspeed,lpc-io-reg = <0xca2>;
65};
66
67&i2c2 {
68	i2c-switch@75 {
69		compatible = "nxp,pca9548";
70		#address-cells = <1>;
71		#size-cells = <0>;
72		reg = <0x75>;
73		i2c-mux-idle-disconnect;
74
75		imux16: i2c@0 {
76			#address-cells = <1>;
77			#size-cells = <0>;
78			reg = <0>;
79		};
80
81		imux17: i2c@1 {
82			#address-cells = <1>;
83			#size-cells = <0>;
84			reg = <1>;
85		};
86
87		imux18: i2c@2 {
88			#address-cells = <1>;
89			#size-cells = <0>;
90			reg = <2>;
91		};
92
93		imux19: i2c@3 {
94			#address-cells = <1>;
95			#size-cells = <0>;
96			reg = <3>;
97		};
98
99		imux20: i2c@4 {
100			#address-cells = <1>;
101			#size-cells = <0>;
102			reg = <4>;
103		};
104
105		imux21: i2c@5 {
106			#address-cells = <1>;
107			#size-cells = <0>;
108			reg = <5>;
109		};
110
111		imux22: i2c@6 {
112			#address-cells = <1>;
113			#size-cells = <0>;
114			reg = <6>;
115		};
116
117		imux23: i2c@7 {
118			#address-cells = <1>;
119			#size-cells = <0>;
120			reg = <7>;
121		};
122	};
123};
124
125&i2c5 {
126	i2c-switch@75 {
127		compatible = "nxp,pca9548";
128		#address-cells = <1>;
129		#size-cells = <0>;
130		reg = <0x75>;
131		i2c-mux-idle-disconnect;
132
133		imux24: i2c@0 {
134			#address-cells = <1>;
135			#size-cells = <0>;
136			reg = <0>;
137		};
138
139		imux25: i2c@1 {
140			#address-cells = <1>;
141			#size-cells = <0>;
142			reg = <1>;
143		};
144
145		imux26: i2c@2 {
146			#address-cells = <1>;
147			#size-cells = <0>;
148			reg = <2>;
149		};
150
151		imux27: i2c@3 {
152			#address-cells = <1>;
153			#size-cells = <0>;
154			reg = <3>;
155		};
156
157		imux28: i2c@4 {
158			#address-cells = <1>;
159			#size-cells = <0>;
160			reg = <4>;
161		};
162
163		imux29: i2c@5 {
164			#address-cells = <1>;
165			#size-cells = <0>;
166			reg = <5>;
167		};
168
169		imux30: i2c@6 {
170			#address-cells = <1>;
171			#size-cells = <0>;
172			reg = <6>;
173		};
174
175		imux31: i2c@7 {
176			#address-cells = <1>;
177			#size-cells = <0>;
178			reg = <7>;
179		};
180	};
181};
182
183&i2c11 {
184	status = "okay";
185};
186
187/*
188 * BMC's "mac3" controller is connected to BCM53134P's IMP_RGMII port
189 * directly (fixed link, no PHY in between).
190 * Note: BMC's "mdio0" controller is connected to BCM53134P's MDIO
191 * interface, and the MDIO channel will be enabled in dts later, when
192 * BCM53134 is added to "bcm53xx" DSA driver.
193 */
194&mac3 {
195	status = "okay";
196	phy-mode = "rgmii";
197	pinctrl-names = "default";
198	pinctrl-0 = <&pinctrl_rgmii4_default>;
199	fixed-link {
200		speed = <1000>;
201		full-duplex;
202	};
203};
204