xref: /linux/arch/arm/boot/dts/aspeed/ast2600-facebook-netbmc-common.dtsi (revision 55a42f78ffd386e01a5404419f8c5ded7db70a21)
1// SPDX-License-Identifier: GPL-2.0+
2// Copyright (c) 2020 Facebook Inc.
3
4#include "aspeed-g6.dtsi"
5#include <dt-bindings/gpio/aspeed-gpio.h>
6
7/ {
8	aliases {
9		mmc0 = &emmc;
10		spi1 = &spi1;
11		spi2 = &spi_gpio;
12	};
13
14	chosen {
15		bootargs = "console=ttyS0,9600n8 root=/dev/ram rw vmalloc=640M";
16	};
17
18	memory@80000000 {
19		device_type = "memory";
20		reg = <0x80000000 0x80000000>;
21	};
22
23	/*
24	 * GPIO-based SPI Master is required to access SPI TPM, because
25	 * full-duplex SPI transactions are not supported by ASPEED SPI
26	 * Controllers.
27	 */
28	spi_gpio: spi {
29		status = "okay";
30		compatible = "spi-gpio";
31		#address-cells = <1>;
32		#size-cells = <0>;
33
34		/*
35		 * chipselect pins are defined in platform .dts files
36		 * separately.
37		 */
38		sck-gpios = <&gpio0 ASPEED_GPIO(X, 3) GPIO_ACTIVE_HIGH>;
39		mosi-gpios = <&gpio0 ASPEED_GPIO(X, 4) GPIO_ACTIVE_HIGH>;
40		miso-gpios = <&gpio0 ASPEED_GPIO(X, 5) GPIO_ACTIVE_HIGH>;
41
42		tpm@0 {
43			compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
44			spi-max-frequency = <33000000>;
45			reg = <0>;
46		};
47	};
48};
49
50&fmc {
51	status = "okay";
52
53	flash@0 {
54		status = "okay";
55		m25p,fast-read;
56		label = "spi0.0";
57
58#include "facebook-bmc-flash-layout-128.dtsi"
59	};
60
61	flash@1 {
62		status = "okay";
63		m25p,fast-read;
64		label = "spi0.1";
65
66		partitions {
67			compatible = "fixed-partitions";
68			#address-cells = <1>;
69			#size-cells = <1>;
70
71			flash1@0 {
72				reg = <0x0 0x8000000>;
73				label = "flash1";
74			};
75		};
76	};
77};
78
79&spi1 {
80	status = "okay";
81};
82
83&uart1 {
84	status = "okay";
85};
86
87&uart2 {
88	status = "okay";
89};
90
91&uart5 {
92	status = "okay";
93};
94
95&wdt1 {
96	status = "okay";
97};
98
99&i2c0 {
100	status = "okay";
101};
102
103&i2c1 {
104	status = "okay";
105};
106
107&i2c2 {
108	status = "okay";
109};
110
111&i2c3 {
112	status = "okay";
113};
114
115&i2c4 {
116	status = "okay";
117};
118
119&i2c5 {
120	status = "okay";
121};
122
123&i2c6 {
124	status = "okay";
125};
126
127&i2c7 {
128	status = "okay";
129};
130
131&i2c8 {
132	status = "okay";
133};
134
135&i2c9 {
136	status = "okay";
137};
138
139&i2c10 {
140	status = "okay";
141};
142
143&i2c12 {
144	status = "okay";
145};
146
147&i2c13 {
148	status = "okay";
149};
150
151&i2c15 {
152	status = "okay";
153};
154
155&vhub {
156	status = "okay";
157};
158
159&rtc {
160	status = "okay";
161};
162