1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+
2724ba675SRob Herring// Copyright (c) 2020 Facebook Inc.
3724ba675SRob Herring
4724ba675SRob Herring/dts-v1/;
5724ba675SRob Herring
6724ba675SRob Herring#include "ast2600-facebook-netbmc-common.dtsi"
7724ba675SRob Herring
8724ba675SRob Herring/ {
9724ba675SRob Herring	model = "Facebook Elbert BMC";
10724ba675SRob Herring	compatible = "facebook,elbert-bmc", "aspeed,ast2600";
11724ba675SRob Herring
12724ba675SRob Herring	aliases {
13724ba675SRob Herring		serial0 = &uart5;
14724ba675SRob Herring		serial1 = &uart1;
15724ba675SRob Herring		serial2 = &uart2;
16724ba675SRob Herring		serial3 = &uart3;
17724ba675SRob Herring
18724ba675SRob Herring		/*
19724ba675SRob Herring		 * 8 child channels of PCA9548 2-0075.
20724ba675SRob Herring		 */
21724ba675SRob Herring		i2c16 = &imux16;
22724ba675SRob Herring		i2c17 = &imux17;
23724ba675SRob Herring		i2c18 = &imux18;
24724ba675SRob Herring		i2c19 = &imux19;
25724ba675SRob Herring		i2c20 = &imux20;
26724ba675SRob Herring		i2c21 = &imux21;
27724ba675SRob Herring		i2c22 = &imux22;
28724ba675SRob Herring		i2c23 = &imux23;
29724ba675SRob Herring
30724ba675SRob Herring		/*
31724ba675SRob Herring		 * 8 child channels of PCA9548 5-0075.
32724ba675SRob Herring		 */
33724ba675SRob Herring		i2c24 = &imux24;
34724ba675SRob Herring		i2c25 = &imux25;
35724ba675SRob Herring		i2c26 = &imux26;
36724ba675SRob Herring		i2c27 = &imux27;
37724ba675SRob Herring		i2c28 = &imux28;
38724ba675SRob Herring		i2c29 = &imux29;
39724ba675SRob Herring		i2c30 = &imux30;
40724ba675SRob Herring		i2c31 = &imux31;
41724ba675SRob Herring	};
42724ba675SRob Herring
43724ba675SRob Herring	chosen {
44724ba675SRob Herring		stdout-path = &uart5;
45724ba675SRob Herring	};
46724ba675SRob Herring
47724ba675SRob Herring	spi_gpio: spi {
48724ba675SRob Herring		num-chipselects = <1>;
49724ba675SRob Herring		cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
50724ba675SRob Herring	};
51724ba675SRob Herring};
52724ba675SRob Herring
53724ba675SRob Herring&lpc_ctrl {
54724ba675SRob Herring	status = "okay";
55724ba675SRob Herring};
56724ba675SRob Herring
57724ba675SRob Herring&kcs2 {
58724ba675SRob Herring	status = "okay";
59724ba675SRob Herring	aspeed,lpc-io-reg = <0xca8>;
60724ba675SRob Herring};
61724ba675SRob Herring
62724ba675SRob Herring&kcs3 {
63724ba675SRob Herring	status = "okay";
64724ba675SRob Herring	aspeed,lpc-io-reg = <0xca2>;
65724ba675SRob Herring};
66724ba675SRob Herring
67724ba675SRob Herring&i2c2 {
68*4b46d86cSGeert Uytterhoeven	i2c-mux@75 {
69724ba675SRob Herring		compatible = "nxp,pca9548";
70724ba675SRob Herring		#address-cells = <1>;
71724ba675SRob Herring		#size-cells = <0>;
72724ba675SRob Herring		reg = <0x75>;
73724ba675SRob Herring		i2c-mux-idle-disconnect;
74724ba675SRob Herring
75724ba675SRob Herring		imux16: i2c@0 {
76724ba675SRob Herring			#address-cells = <1>;
77724ba675SRob Herring			#size-cells = <0>;
78724ba675SRob Herring			reg = <0>;
79724ba675SRob Herring		};
80724ba675SRob Herring
81724ba675SRob Herring		imux17: i2c@1 {
82724ba675SRob Herring			#address-cells = <1>;
83724ba675SRob Herring			#size-cells = <0>;
84724ba675SRob Herring			reg = <1>;
85724ba675SRob Herring		};
86724ba675SRob Herring
87724ba675SRob Herring		imux18: i2c@2 {
88724ba675SRob Herring			#address-cells = <1>;
89724ba675SRob Herring			#size-cells = <0>;
90724ba675SRob Herring			reg = <2>;
91724ba675SRob Herring		};
92724ba675SRob Herring
93724ba675SRob Herring		imux19: i2c@3 {
94724ba675SRob Herring			#address-cells = <1>;
95724ba675SRob Herring			#size-cells = <0>;
96724ba675SRob Herring			reg = <3>;
97724ba675SRob Herring		};
98724ba675SRob Herring
99724ba675SRob Herring		imux20: i2c@4 {
100724ba675SRob Herring			#address-cells = <1>;
101724ba675SRob Herring			#size-cells = <0>;
102724ba675SRob Herring			reg = <4>;
103724ba675SRob Herring		};
104724ba675SRob Herring
105724ba675SRob Herring		imux21: i2c@5 {
106724ba675SRob Herring			#address-cells = <1>;
107724ba675SRob Herring			#size-cells = <0>;
108724ba675SRob Herring			reg = <5>;
109724ba675SRob Herring		};
110724ba675SRob Herring
111724ba675SRob Herring		imux22: i2c@6 {
112724ba675SRob Herring			#address-cells = <1>;
113724ba675SRob Herring			#size-cells = <0>;
114724ba675SRob Herring			reg = <6>;
115724ba675SRob Herring		};
116724ba675SRob Herring
117724ba675SRob Herring		imux23: i2c@7 {
118724ba675SRob Herring			#address-cells = <1>;
119724ba675SRob Herring			#size-cells = <0>;
120724ba675SRob Herring			reg = <7>;
121724ba675SRob Herring		};
122724ba675SRob Herring	};
123724ba675SRob Herring};
124724ba675SRob Herring
125724ba675SRob Herring&i2c5 {
126*4b46d86cSGeert Uytterhoeven	i2c-mux@75 {
127724ba675SRob Herring		compatible = "nxp,pca9548";
128724ba675SRob Herring		#address-cells = <1>;
129724ba675SRob Herring		#size-cells = <0>;
130724ba675SRob Herring		reg = <0x75>;
131724ba675SRob Herring		i2c-mux-idle-disconnect;
132724ba675SRob Herring
133724ba675SRob Herring		imux24: i2c@0 {
134724ba675SRob Herring			#address-cells = <1>;
135724ba675SRob Herring			#size-cells = <0>;
136724ba675SRob Herring			reg = <0>;
137724ba675SRob Herring		};
138724ba675SRob Herring
139724ba675SRob Herring		imux25: i2c@1 {
140724ba675SRob Herring			#address-cells = <1>;
141724ba675SRob Herring			#size-cells = <0>;
142724ba675SRob Herring			reg = <1>;
143724ba675SRob Herring		};
144724ba675SRob Herring
145724ba675SRob Herring		imux26: i2c@2 {
146724ba675SRob Herring			#address-cells = <1>;
147724ba675SRob Herring			#size-cells = <0>;
148724ba675SRob Herring			reg = <2>;
149724ba675SRob Herring		};
150724ba675SRob Herring
151724ba675SRob Herring		imux27: i2c@3 {
152724ba675SRob Herring			#address-cells = <1>;
153724ba675SRob Herring			#size-cells = <0>;
154724ba675SRob Herring			reg = <3>;
155724ba675SRob Herring		};
156724ba675SRob Herring
157724ba675SRob Herring		imux28: i2c@4 {
158724ba675SRob Herring			#address-cells = <1>;
159724ba675SRob Herring			#size-cells = <0>;
160724ba675SRob Herring			reg = <4>;
161724ba675SRob Herring		};
162724ba675SRob Herring
163724ba675SRob Herring		imux29: i2c@5 {
164724ba675SRob Herring			#address-cells = <1>;
165724ba675SRob Herring			#size-cells = <0>;
166724ba675SRob Herring			reg = <5>;
167724ba675SRob Herring		};
168724ba675SRob Herring
169724ba675SRob Herring		imux30: i2c@6 {
170724ba675SRob Herring			#address-cells = <1>;
171724ba675SRob Herring			#size-cells = <0>;
172724ba675SRob Herring			reg = <6>;
173724ba675SRob Herring		};
174724ba675SRob Herring
175724ba675SRob Herring		imux31: i2c@7 {
176724ba675SRob Herring			#address-cells = <1>;
177724ba675SRob Herring			#size-cells = <0>;
178724ba675SRob Herring			reg = <7>;
179724ba675SRob Herring		};
180724ba675SRob Herring	};
181724ba675SRob Herring};
182724ba675SRob Herring
183724ba675SRob Herring&i2c11 {
184724ba675SRob Herring	status = "okay";
185724ba675SRob Herring};
186724ba675SRob Herring
187724ba675SRob Herring/*
188724ba675SRob Herring * BMC's "mac3" controller is connected to BCM53134P's IMP_RGMII port
189724ba675SRob Herring * directly (fixed link, no PHY in between).
190724ba675SRob Herring * Note: BMC's "mdio0" controller is connected to BCM53134P's MDIO
191724ba675SRob Herring * interface, and the MDIO channel will be enabled in dts later, when
192724ba675SRob Herring * BCM53134 is added to "bcm53xx" DSA driver.
193724ba675SRob Herring */
194724ba675SRob Herring&mac3 {
195724ba675SRob Herring	status = "okay";
196724ba675SRob Herring	phy-mode = "rgmii";
197724ba675SRob Herring	pinctrl-names = "default";
198724ba675SRob Herring	pinctrl-0 = <&pinctrl_rgmii4_default>;
199724ba675SRob Herring	fixed-link {
200724ba675SRob Herring		speed = <1000>;
201724ba675SRob Herring		full-duplex;
202724ba675SRob Herring	};
203724ba675SRob Herring};
204