1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
2fa0a497bSAaro Koskinen/* OCTEON 3XXX DTS common parts. */
3fa0a497bSAaro Koskinen
4fa0a497bSAaro Koskinen/dts-v1/;
5fa0a497bSAaro Koskinen
6fa0a497bSAaro Koskinen/ {
7fa0a497bSAaro Koskinen	compatible = "cavium,octeon-3860";
8fa0a497bSAaro Koskinen	#address-cells = <2>;
9fa0a497bSAaro Koskinen	#size-cells = <2>;
10fa0a497bSAaro Koskinen	interrupt-parent = <&ciu>;
11fa0a497bSAaro Koskinen
12fa0a497bSAaro Koskinen	soc@0 {
13fa0a497bSAaro Koskinen		compatible = "simple-bus";
14fa0a497bSAaro Koskinen		#address-cells = <2>;
15fa0a497bSAaro Koskinen		#size-cells = <2>;
16fa0a497bSAaro Koskinen		ranges; /* Direct mapping */
17fa0a497bSAaro Koskinen
18fa0a497bSAaro Koskinen		ciu: interrupt-controller@1070000000000 {
19fa0a497bSAaro Koskinen			compatible = "cavium,octeon-3860-ciu";
20fa0a497bSAaro Koskinen			interrupt-controller;
21fa0a497bSAaro Koskinen			/* Interrupts are specified by two parts:
22fa0a497bSAaro Koskinen			 * 1) Controller register (0 or 1)
23fa0a497bSAaro Koskinen			 * 2) Bit within the register (0..63)
24fa0a497bSAaro Koskinen			 */
25fa0a497bSAaro Koskinen			#interrupt-cells = <2>;
26fa0a497bSAaro Koskinen			reg = <0x10700 0x00000000 0x0 0x7000>;
27fa0a497bSAaro Koskinen		};
28fa0a497bSAaro Koskinen
29fa0a497bSAaro Koskinen		gpio: gpio-controller@1070000000800 {
30fa0a497bSAaro Koskinen			#gpio-cells = <2>;
31fa0a497bSAaro Koskinen			compatible = "cavium,octeon-3860-gpio";
32fa0a497bSAaro Koskinen			reg = <0x10700 0x00000800 0x0 0x100>;
33fa0a497bSAaro Koskinen			gpio-controller;
34fa0a497bSAaro Koskinen			/* Interrupts are specified by two parts:
35fa0a497bSAaro Koskinen			 * 1) GPIO pin number (0..15)
36fa0a497bSAaro Koskinen			 * 2) Triggering (1 - edge rising
37fa0a497bSAaro Koskinen			 *		  2 - edge falling
38fa0a497bSAaro Koskinen			 *		  4 - level active high
39fa0a497bSAaro Koskinen			 *		  8 - level active low)
40fa0a497bSAaro Koskinen			 */
41fa0a497bSAaro Koskinen			interrupt-controller;
42fa0a497bSAaro Koskinen			#interrupt-cells = <2>;
43fa0a497bSAaro Koskinen			/* The GPIO pin connect to 16 consecutive CUI bits */
44fa0a497bSAaro Koskinen			interrupts = <0 16>, <0 17>, <0 18>, <0 19>,
45fa0a497bSAaro Koskinen				     <0 20>, <0 21>, <0 22>, <0 23>,
46fa0a497bSAaro Koskinen				     <0 24>, <0 25>, <0 26>, <0 27>,
47fa0a497bSAaro Koskinen				     <0 28>, <0 29>, <0 30>, <0 31>;
48fa0a497bSAaro Koskinen		};
49fa0a497bSAaro Koskinen
50fa0a497bSAaro Koskinen		smi0: mdio@1180000001800 {
51fa0a497bSAaro Koskinen			compatible = "cavium,octeon-3860-mdio";
52fa0a497bSAaro Koskinen			#address-cells = <1>;
53fa0a497bSAaro Koskinen			#size-cells = <0>;
54fa0a497bSAaro Koskinen			reg = <0x11800 0x00001800 0x0 0x40>;
55fa0a497bSAaro Koskinen		};
56fa0a497bSAaro Koskinen
57fa0a497bSAaro Koskinen		pip: pip@11800a0000000 {
58fa0a497bSAaro Koskinen			compatible = "cavium,octeon-3860-pip";
59fa0a497bSAaro Koskinen			#address-cells = <1>;
60fa0a497bSAaro Koskinen			#size-cells = <0>;
61fa0a497bSAaro Koskinen			reg = <0x11800 0xa0000000 0x0 0x2000>;
62fa0a497bSAaro Koskinen
63fa0a497bSAaro Koskinen			interface@0 {
64fa0a497bSAaro Koskinen				compatible = "cavium,octeon-3860-pip-interface";
65fa0a497bSAaro Koskinen				#address-cells = <1>;
66fa0a497bSAaro Koskinen				#size-cells = <0>;
67fa0a497bSAaro Koskinen				reg = <0>; /* interface */
68fa0a497bSAaro Koskinen
69fa0a497bSAaro Koskinen				ethernet@0 {
70fa0a497bSAaro Koskinen					compatible = "cavium,octeon-3860-pip-port";
71fa0a497bSAaro Koskinen					reg = <0x0>; /* Port */
72fa0a497bSAaro Koskinen					local-mac-address = [ 00 00 00 00 00 00 ];
73fa0a497bSAaro Koskinen				};
74fa0a497bSAaro Koskinen				ethernet@1 {
75fa0a497bSAaro Koskinen					compatible = "cavium,octeon-3860-pip-port";
76fa0a497bSAaro Koskinen					reg = <0x1>; /* Port */
77fa0a497bSAaro Koskinen					local-mac-address = [ 00 00 00 00 00 00 ];
78fa0a497bSAaro Koskinen				};
79fa0a497bSAaro Koskinen				ethernet@2 {
80fa0a497bSAaro Koskinen					compatible = "cavium,octeon-3860-pip-port";
81fa0a497bSAaro Koskinen					reg = <0x2>; /* Port */
82fa0a497bSAaro Koskinen					local-mac-address = [ 00 00 00 00 00 00 ];
83fa0a497bSAaro Koskinen				};
84fa0a497bSAaro Koskinen			};
85fa0a497bSAaro Koskinen
86fa0a497bSAaro Koskinen			interface@1 {
87fa0a497bSAaro Koskinen				compatible = "cavium,octeon-3860-pip-interface";
88fa0a497bSAaro Koskinen				#address-cells = <1>;
89fa0a497bSAaro Koskinen				#size-cells = <0>;
90fa0a497bSAaro Koskinen				reg = <1>; /* interface */
91fa0a497bSAaro Koskinen			};
92fa0a497bSAaro Koskinen		};
93fa0a497bSAaro Koskinen
94fa0a497bSAaro Koskinen		twsi0: i2c@1180000001000 {
95fa0a497bSAaro Koskinen			#address-cells = <1>;
96fa0a497bSAaro Koskinen			#size-cells = <0>;
97fa0a497bSAaro Koskinen			compatible = "cavium,octeon-3860-twsi";
98fa0a497bSAaro Koskinen			reg = <0x11800 0x00001000 0x0 0x200>;
99fa0a497bSAaro Koskinen			interrupts = <0 45>;
100fa0a497bSAaro Koskinen			clock-frequency = <100000>;
101fa0a497bSAaro Koskinen		};
102fa0a497bSAaro Koskinen
103fa0a497bSAaro Koskinen		uart0: serial@1180000000800 {
104fa0a497bSAaro Koskinen			compatible = "cavium,octeon-3860-uart","ns16550";
105fa0a497bSAaro Koskinen			reg = <0x11800 0x00000800 0x0 0x400>;
106fa0a497bSAaro Koskinen			clock-frequency = <0>;
107fa0a497bSAaro Koskinen			current-speed = <115200>;
108fa0a497bSAaro Koskinen			reg-shift = <3>;
109fa0a497bSAaro Koskinen			interrupts = <0 34>;
110fa0a497bSAaro Koskinen		};
111fa0a497bSAaro Koskinen
112fa0a497bSAaro Koskinen		bootbus: bootbus@1180000000000 {
113fa0a497bSAaro Koskinen			compatible = "cavium,octeon-3860-bootbus";
114fa0a497bSAaro Koskinen			reg = <0x11800 0x00000000 0x0 0x200>;
115fa0a497bSAaro Koskinen			/* The chip select number and offset */
116fa0a497bSAaro Koskinen			#address-cells = <2>;
117fa0a497bSAaro Koskinen			/* The size of the chip select region */
118fa0a497bSAaro Koskinen			#size-cells = <1>;
119fa0a497bSAaro Koskinen			ranges = <0 0  0x0 0x1f400000  0xc00000>,
120fa0a497bSAaro Koskinen				 <1 0  0x10000 0x30000000  0>,
121fa0a497bSAaro Koskinen				 <2 0  0x10000 0x40000000  0>,
122fa0a497bSAaro Koskinen				 <3 0  0x10000 0x50000000  0>,
123fa0a497bSAaro Koskinen				 <4 0  0x0 0x1d020000  0x10000>,
124fa0a497bSAaro Koskinen				 <5 0  0x0 0x1d040000  0x10000>,
125fa0a497bSAaro Koskinen				 <6 0  0x0 0x1d050000  0x10000>,
126fa0a497bSAaro Koskinen				 <7 0  0x10000 0x90000000  0>;
127fa0a497bSAaro Koskinen
128fa0a497bSAaro Koskinen			cavium,cs-config@0 {
129fa0a497bSAaro Koskinen				compatible = "cavium,octeon-3860-bootbus-config";
130fa0a497bSAaro Koskinen				cavium,cs-index = <0>;
131fa0a497bSAaro Koskinen				cavium,t-adr  = <20>;
132fa0a497bSAaro Koskinen				cavium,t-ce   = <60>;
133fa0a497bSAaro Koskinen				cavium,t-oe   = <60>;
134fa0a497bSAaro Koskinen				cavium,t-we   = <45>;
135fa0a497bSAaro Koskinen				cavium,t-rd-hld = <35>;
136fa0a497bSAaro Koskinen				cavium,t-wr-hld = <45>;
137fa0a497bSAaro Koskinen				cavium,t-pause	= <0>;
138fa0a497bSAaro Koskinen				cavium,t-wait	= <0>;
139fa0a497bSAaro Koskinen				cavium,t-page	= <35>;
140fa0a497bSAaro Koskinen				cavium,t-rd-dly = <0>;
141fa0a497bSAaro Koskinen
142fa0a497bSAaro Koskinen				cavium,pages	 = <0>;
143fa0a497bSAaro Koskinen				cavium,bus-width = <8>;
144fa0a497bSAaro Koskinen			};
145fa0a497bSAaro Koskinen			cavium,cs-config@4 {
146fa0a497bSAaro Koskinen				compatible = "cavium,octeon-3860-bootbus-config";
147fa0a497bSAaro Koskinen				cavium,cs-index = <4>;
148fa0a497bSAaro Koskinen				cavium,t-adr  = <320>;
149fa0a497bSAaro Koskinen				cavium,t-ce   = <320>;
150fa0a497bSAaro Koskinen				cavium,t-oe   = <320>;
151fa0a497bSAaro Koskinen				cavium,t-we   = <320>;
152fa0a497bSAaro Koskinen				cavium,t-rd-hld = <320>;
153fa0a497bSAaro Koskinen				cavium,t-wr-hld = <320>;
154fa0a497bSAaro Koskinen				cavium,t-pause	= <320>;
155fa0a497bSAaro Koskinen				cavium,t-wait	= <320>;
156fa0a497bSAaro Koskinen				cavium,t-page	= <320>;
157fa0a497bSAaro Koskinen				cavium,t-rd-dly = <0>;
158fa0a497bSAaro Koskinen
159fa0a497bSAaro Koskinen				cavium,pages	 = <0>;
160fa0a497bSAaro Koskinen				cavium,bus-width = <8>;
161fa0a497bSAaro Koskinen			};
162fa0a497bSAaro Koskinen			cavium,cs-config@5 {
163fa0a497bSAaro Koskinen				compatible = "cavium,octeon-3860-bootbus-config";
164fa0a497bSAaro Koskinen				cavium,cs-index = <5>;
165fa0a497bSAaro Koskinen				cavium,t-adr  = <5>;
166fa0a497bSAaro Koskinen				cavium,t-ce   = <300>;
167fa0a497bSAaro Koskinen				cavium,t-oe   = <125>;
168fa0a497bSAaro Koskinen				cavium,t-we   = <150>;
169fa0a497bSAaro Koskinen				cavium,t-rd-hld = <100>;
170fa0a497bSAaro Koskinen				cavium,t-wr-hld = <30>;
171fa0a497bSAaro Koskinen				cavium,t-pause	= <0>;
172fa0a497bSAaro Koskinen				cavium,t-wait	= <30>;
173fa0a497bSAaro Koskinen				cavium,t-page	= <320>;
174fa0a497bSAaro Koskinen				cavium,t-rd-dly = <0>;
175fa0a497bSAaro Koskinen
176fa0a497bSAaro Koskinen				cavium,pages	 = <0>;
177fa0a497bSAaro Koskinen				cavium,bus-width = <16>;
178fa0a497bSAaro Koskinen			};
179fa0a497bSAaro Koskinen			cavium,cs-config@6 {
180fa0a497bSAaro Koskinen				compatible = "cavium,octeon-3860-bootbus-config";
181fa0a497bSAaro Koskinen				cavium,cs-index = <6>;
182fa0a497bSAaro Koskinen				cavium,t-adr  = <5>;
183fa0a497bSAaro Koskinen				cavium,t-ce   = <300>;
184fa0a497bSAaro Koskinen				cavium,t-oe   = <270>;
185fa0a497bSAaro Koskinen				cavium,t-we   = <150>;
186fa0a497bSAaro Koskinen				cavium,t-rd-hld = <100>;
187fa0a497bSAaro Koskinen				cavium,t-wr-hld = <70>;
188fa0a497bSAaro Koskinen				cavium,t-pause	= <0>;
189fa0a497bSAaro Koskinen				cavium,t-wait	= <0>;
190fa0a497bSAaro Koskinen				cavium,t-page	= <320>;
191fa0a497bSAaro Koskinen				cavium,t-rd-dly = <0>;
192fa0a497bSAaro Koskinen
193fa0a497bSAaro Koskinen				cavium,pages	 = <0>;
194fa0a497bSAaro Koskinen				cavium,wait-mode;
195fa0a497bSAaro Koskinen				cavium,bus-width = <16>;
196fa0a497bSAaro Koskinen			};
197fa0a497bSAaro Koskinen
198fa0a497bSAaro Koskinen			flash0: nor@0,0 {
199fa0a497bSAaro Koskinen				compatible = "cfi-flash";
200fa0a497bSAaro Koskinen				reg = <0 0 0x800000>;
201fa0a497bSAaro Koskinen				#address-cells = <1>;
202fa0a497bSAaro Koskinen				#size-cells = <1>;
203fa0a497bSAaro Koskinen			};
204fa0a497bSAaro Koskinen		};
205fa0a497bSAaro Koskinen
206fa0a497bSAaro Koskinen		dma0: dma-engine@1180000000100 {
207fa0a497bSAaro Koskinen			compatible = "cavium,octeon-5750-bootbus-dma";
208fa0a497bSAaro Koskinen			reg = <0x11800 0x00000100 0x0 0x8>;
209fa0a497bSAaro Koskinen			interrupts = <0 63>;
210fa0a497bSAaro Koskinen		};
211fa0a497bSAaro Koskinen
212fa0a497bSAaro Koskinen		dma1: dma-engine@1180000000108 {
213fa0a497bSAaro Koskinen			compatible = "cavium,octeon-5750-bootbus-dma";
214fa0a497bSAaro Koskinen			reg = <0x11800 0x00000108 0x0 0x8>;
215fa0a497bSAaro Koskinen			interrupts = <0 63>;
216fa0a497bSAaro Koskinen		};
217fa0a497bSAaro Koskinen
218fa0a497bSAaro Koskinen		usbn: usbn@1180068000000 {
219fa0a497bSAaro Koskinen			compatible = "cavium,octeon-5750-usbn";
220fa0a497bSAaro Koskinen			reg = <0x11800 0x68000000 0x0 0x1000>;
221fa0a497bSAaro Koskinen			ranges; /* Direct mapping */
222fa0a497bSAaro Koskinen			#address-cells = <2>;
223fa0a497bSAaro Koskinen			#size-cells = <2>;
224fa0a497bSAaro Koskinen
225fa0a497bSAaro Koskinen			usbc@16f0010000000 {
226fa0a497bSAaro Koskinen				compatible = "cavium,octeon-5750-usbc";
227fa0a497bSAaro Koskinen				reg = <0x16f00 0x10000000 0x0 0x80000>;
228fa0a497bSAaro Koskinen				interrupts = <0 56>;
229fa0a497bSAaro Koskinen			};
230fa0a497bSAaro Koskinen		};
231fa0a497bSAaro Koskinen	};
232fa0a497bSAaro Koskinen};
233