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