Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
Note: File does not exist in v3.1.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * OCTEON 3XXX, 5XXX, 63XX device tree skeleton.
  4 *
  5 * This device tree is pruned and patched by early boot code before
  6 * use.	 Because of this, it contains a super-set of the available
  7 * devices and properties.
  8 */
  9
 10/include/ "octeon_3xxx.dtsi"
 11
 12/ {
 13	soc@0 {
 14		smi0: mdio@1180000001800 {
 15			phy0: ethernet-phy@0 {
 16				compatible = "marvell,88e1118";
 17				marvell,reg-init =
 18					/* Fix rx and tx clock transition timing */
 19					<2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
 20					/* Adjust LED drive. */
 21					<3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
 22					/* irq, blink-activity, blink-link */
 23					<3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
 24				reg = <0>;
 25			};
 26
 27			phy1: ethernet-phy@1 {
 28				compatible = "marvell,88e1118";
 29				marvell,reg-init =
 30					/* Fix rx and tx clock transition timing */
 31					<2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
 32					/* Adjust LED drive. */
 33					<3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
 34					/* irq, blink-activity, blink-link */
 35					<3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
 36				reg = <1>;
 37			};
 38
 39			phy2: ethernet-phy@2 {
 40				reg = <2>;
 41				compatible = "marvell,88e1149r";
 42				marvell,reg-init = <3 0x10 0 0x5777>,
 43					<3 0x11 0 0x00aa>,
 44					<3 0x12 0 0x4105>,
 45					<3 0x13 0 0x0a60>;
 46			};
 47			phy3: ethernet-phy@3 {
 48				reg = <3>;
 49				compatible = "marvell,88e1149r";
 50				marvell,reg-init = <3 0x10 0 0x5777>,
 51					<3 0x11 0 0x00aa>,
 52					<3 0x12 0 0x4105>,
 53					<3 0x13 0 0x0a60>;
 54			};
 55			phy4: ethernet-phy@4 {
 56				reg = <4>;
 57				compatible = "marvell,88e1149r";
 58				marvell,reg-init = <3 0x10 0 0x5777>,
 59					<3 0x11 0 0x00aa>,
 60					<3 0x12 0 0x4105>,
 61					<3 0x13 0 0x0a60>;
 62			};
 63			phy5: ethernet-phy@5 {
 64				reg = <5>;
 65				compatible = "marvell,88e1149r";
 66				marvell,reg-init = <3 0x10 0 0x5777>,
 67					<3 0x11 0 0x00aa>,
 68					<3 0x12 0 0x4105>,
 69					<3 0x13 0 0x0a60>;
 70			};
 71
 72			phy6: ethernet-phy@6 {
 73				reg = <6>;
 74				compatible = "marvell,88e1149r";
 75				marvell,reg-init = <3 0x10 0 0x5777>,
 76					<3 0x11 0 0x00aa>,
 77					<3 0x12 0 0x4105>,
 78					<3 0x13 0 0x0a60>;
 79			};
 80			phy7: ethernet-phy@7 {
 81				reg = <7>;
 82				compatible = "marvell,88e1149r";
 83				marvell,reg-init = <3 0x10 0 0x5777>,
 84					<3 0x11 0 0x00aa>,
 85					<3 0x12 0 0x4105>,
 86					<3 0x13 0 0x0a60>;
 87			};
 88			phy8: ethernet-phy@8 {
 89				reg = <8>;
 90				compatible = "marvell,88e1149r";
 91				marvell,reg-init = <3 0x10 0 0x5777>,
 92					<3 0x11 0 0x00aa>,
 93					<3 0x12 0 0x4105>,
 94					<3 0x13 0 0x0a60>;
 95			};
 96			phy9: ethernet-phy@9 {
 97				reg = <9>;
 98				compatible = "marvell,88e1149r";
 99				marvell,reg-init = <3 0x10 0 0x5777>,
100					<3 0x11 0 0x00aa>,
101					<3 0x12 0 0x4105>,
102					<3 0x13 0 0x0a60>;
103			};
104		};
105
106		smi1: mdio@1180000001900 {
107			compatible = "cavium,octeon-3860-mdio";
108			#address-cells = <1>;
109			#size-cells = <0>;
110			reg = <0x11800 0x00001900 0x0 0x40>;
111
112			phy100: ethernet-phy@1 {
113				reg = <1>;
114				compatible = "marvell,88e1149r";
115				marvell,reg-init = <3 0x10 0 0x5777>,
116					<3 0x11 0 0x00aa>,
117					<3 0x12 0 0x4105>,
118					<3 0x13 0 0x0a60>;
119				interrupt-parent = <&gpio>;
120				interrupts = <12 8>; /* Pin 12, active low */
121			};
122			phy101: ethernet-phy@2 {
123				reg = <2>;
124				compatible = "marvell,88e1149r";
125				marvell,reg-init = <3 0x10 0 0x5777>,
126					<3 0x11 0 0x00aa>,
127					<3 0x12 0 0x4105>,
128					<3 0x13 0 0x0a60>;
129				interrupt-parent = <&gpio>;
130				interrupts = <12 8>; /* Pin 12, active low */
131			};
132			phy102: ethernet-phy@3 {
133				reg = <3>;
134				compatible = "marvell,88e1149r";
135				marvell,reg-init = <3 0x10 0 0x5777>,
136					<3 0x11 0 0x00aa>,
137					<3 0x12 0 0x4105>,
138					<3 0x13 0 0x0a60>;
139				interrupt-parent = <&gpio>;
140				interrupts = <12 8>; /* Pin 12, active low */
141			};
142			phy103: ethernet-phy@4 {
143				reg = <4>;
144				compatible = "marvell,88e1149r";
145				marvell,reg-init = <3 0x10 0 0x5777>,
146					<3 0x11 0 0x00aa>,
147					<3 0x12 0 0x4105>,
148					<3 0x13 0 0x0a60>;
149				interrupt-parent = <&gpio>;
150				interrupts = <12 8>; /* Pin 12, active low */
151			};
152		};
153
154		mix0: ethernet@1070000100000 {
155			compatible = "cavium,octeon-5750-mix";
156			reg = <0x10700 0x00100000 0x0 0x100>, /* MIX */
157			      <0x11800 0xE0000000 0x0 0x300>, /* AGL */
158			      <0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED  */
159			      <0x11800 0xE0002000 0x0 0x8>;   /* AGL_PRT_CTL */
160			cell-index = <0>;
161			interrupts = <0 62>, <1 46>;
162			local-mac-address = [ 00 00 00 00 00 00 ];
163			phy-handle = <&phy0>;
164		};
165
166		mix1: ethernet@1070000100800 {
167			compatible = "cavium,octeon-5750-mix";
168			reg = <0x10700 0x00100800 0x0 0x100>, /* MIX */
169			      <0x11800 0xE0000800 0x0 0x300>, /* AGL */
170			      <0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED  */
171			      <0x11800 0xE0002008 0x0 0x8>;   /* AGL_PRT_CTL */
172			cell-index = <1>;
173			interrupts = <1 18>, < 1 46>;
174			local-mac-address = [ 00 00 00 00 00 00 ];
175			phy-handle = <&phy1>;
176		};
177
178		pip: pip@11800a0000000 {
179			interface@0 {
180				ethernet@0 {
181					phy-handle = <&phy2>;
182					cavium,alt-phy-handle = <&phy100>;
183					rx-delay = <0>;
184					tx-delay = <0>;
185					fixed-link {
186						speed = <1000>;
187						full-duplex;
188					};
189				};
190				ethernet@1 {
191					phy-handle = <&phy3>;
192					cavium,alt-phy-handle = <&phy101>;
193					rx-delay = <0>;
194					tx-delay = <0>;
195					fixed-link {
196						speed = <1000>;
197						full-duplex;
198					};
199				};
200				ethernet@2 {
201					phy-handle = <&phy4>;
202					cavium,alt-phy-handle = <&phy102>;
203					rx-delay = <0>;
204					tx-delay = <0>;
205				};
206				ethernet@3 {
207					compatible = "cavium,octeon-3860-pip-port";
208					reg = <0x3>; /* Port */
209					local-mac-address = [ 00 00 00 00 00 00 ];
210					phy-handle = <&phy5>;
211					cavium,alt-phy-handle = <&phy103>;
212				};
213				ethernet@4 {
214					compatible = "cavium,octeon-3860-pip-port";
215					reg = <0x4>; /* Port */
216					local-mac-address = [ 00 00 00 00 00 00 ];
217				};
218				ethernet@5 {
219					compatible = "cavium,octeon-3860-pip-port";
220					reg = <0x5>; /* Port */
221					local-mac-address = [ 00 00 00 00 00 00 ];
222				};
223				ethernet@6 {
224					compatible = "cavium,octeon-3860-pip-port";
225					reg = <0x6>; /* Port */
226					local-mac-address = [ 00 00 00 00 00 00 ];
227				};
228				ethernet@7 {
229					compatible = "cavium,octeon-3860-pip-port";
230					reg = <0x7>; /* Port */
231					local-mac-address = [ 00 00 00 00 00 00 ];
232				};
233				ethernet@8 {
234					compatible = "cavium,octeon-3860-pip-port";
235					reg = <0x8>; /* Port */
236					local-mac-address = [ 00 00 00 00 00 00 ];
237				};
238				ethernet@9 {
239					compatible = "cavium,octeon-3860-pip-port";
240					reg = <0x9>; /* Port */
241					local-mac-address = [ 00 00 00 00 00 00 ];
242				};
243				ethernet@a {
244					compatible = "cavium,octeon-3860-pip-port";
245					reg = <0xa>; /* Port */
246					local-mac-address = [ 00 00 00 00 00 00 ];
247				};
248				ethernet@b {
249					compatible = "cavium,octeon-3860-pip-port";
250					reg = <0xb>; /* Port */
251					local-mac-address = [ 00 00 00 00 00 00 ];
252				};
253				ethernet@c {
254					compatible = "cavium,octeon-3860-pip-port";
255					reg = <0xc>; /* Port */
256					local-mac-address = [ 00 00 00 00 00 00 ];
257				};
258				ethernet@d {
259					compatible = "cavium,octeon-3860-pip-port";
260					reg = <0xd>; /* Port */
261					local-mac-address = [ 00 00 00 00 00 00 ];
262				};
263				ethernet@e {
264					compatible = "cavium,octeon-3860-pip-port";
265					reg = <0xe>; /* Port */
266					local-mac-address = [ 00 00 00 00 00 00 ];
267				};
268				ethernet@f {
269					compatible = "cavium,octeon-3860-pip-port";
270					reg = <0xf>; /* Port */
271					local-mac-address = [ 00 00 00 00 00 00 ];
272				};
273			};
274
275			interface@1 {
276				ethernet@0 {
277					compatible = "cavium,octeon-3860-pip-port";
278					reg = <0x0>; /* Port */
279					local-mac-address = [ 00 00 00 00 00 00 ];
280					phy-handle = <&phy6>;
281				};
282				ethernet@1 {
283					compatible = "cavium,octeon-3860-pip-port";
284					reg = <0x1>; /* Port */
285					local-mac-address = [ 00 00 00 00 00 00 ];
286					phy-handle = <&phy7>;
287				};
288				ethernet@2 {
289					compatible = "cavium,octeon-3860-pip-port";
290					reg = <0x2>; /* Port */
291					local-mac-address = [ 00 00 00 00 00 00 ];
292					phy-handle = <&phy8>;
293				};
294				ethernet@3 {
295					compatible = "cavium,octeon-3860-pip-port";
296					reg = <0x3>; /* Port */
297					local-mac-address = [ 00 00 00 00 00 00 ];
298					phy-handle = <&phy9>;
299				};
300			};
301		};
302
303		twsi0: i2c@1180000001000 {
304			rtc@68 {
305				compatible = "dallas,ds1337";
306				reg = <0x68>;
307			};
308			tmp@4c {
309				compatible = "ti,tmp421";
310				reg = <0x4c>;
311			};
312		};
313
314		twsi1: i2c@1180000001200 {
315			#address-cells = <1>;
316			#size-cells = <0>;
317			compatible = "cavium,octeon-3860-twsi";
318			reg = <0x11800 0x00001200 0x0 0x200>;
319			interrupts = <0 59>;
320			clock-frequency = <100000>;
321		};
322
323		uart1: serial@1180000000c00 {
324			compatible = "cavium,octeon-3860-uart","ns16550";
325			reg = <0x11800 0x00000c00 0x0 0x400>;
326			clock-frequency = <0>;
327			current-speed = <115200>;
328			reg-shift = <3>;
329			interrupts = <0 35>;
330		};
331
332		uart2: serial@1180000000400 {
333			compatible = "cavium,octeon-3860-uart","ns16550";
334			reg = <0x11800 0x00000400 0x0 0x400>;
335			clock-frequency = <0>;
336			current-speed = <115200>;
337			reg-shift = <3>;
338			interrupts = <1 16>;
339		};
340
341		bootbus: bootbus@1180000000000 {
342			led0: led-display@4,0 {
343				compatible = "avago,hdsp-253x";
344				reg = <4 0x20 0x20>, <4 0 0x20>;
345			};
346
347			cf0: compact-flash@5,0 {
348				compatible = "cavium,ebt3000-compact-flash";
349				reg = <5 0 0x10000>, <6 0 0x10000>;
350				cavium,bus-width = <16>;
351				cavium,true-ide;
352				cavium,dma-engine-handle = <&dma0>;
353			};
354		};
355
356		uctl: uctl@118006f000000 {
357			compatible = "cavium,octeon-6335-uctl";
358			reg = <0x11800 0x6f000000 0x0 0x100>;
359			ranges; /* Direct mapping */
360			#address-cells = <2>;
361			#size-cells = <2>;
362			/* 12MHz, 24MHz and 48MHz allowed */
363			refclk-frequency = <12000000>;
364			/* Either "crystal" or "external" */
365			refclk-type = "crystal";
366
367			ehci@16f0000000000 {
368				compatible = "cavium,octeon-6335-ehci","usb-ehci";
369				reg = <0x16f00 0x00000000 0x0 0x100>;
370				interrupts = <0 56>;
371				big-endian-regs;
372			};
373			ohci@16f0000000400 {
374				compatible = "cavium,octeon-6335-ohci","usb-ohci";
375				reg = <0x16f00 0x00000400 0x0 0x100>;
376				interrupts = <0 56>;
377				big-endian-regs;
378			};
379		};
380
381		usbn: usbn@1180068000000 {
382			/* 12MHz, 24MHz and 48MHz allowed */
383			refclk-frequency = <12000000>;
384			/* Either "crystal" or "external" */
385			refclk-type = "crystal";
386		};
387	};
388
389	aliases {
390		mix0 = &mix0;
391		mix1 = &mix1;
392		pip = &pip;
393		smi0 = &smi0;
394		smi1 = &smi1;
395		twsi0 = &twsi0;
396		twsi1 = &twsi1;
397		uart0 = &uart0;
398		uart1 = &uart1;
399		uart2 = &uart2;
400		flash0 = &flash0;
401		cf0 = &cf0;
402		uctl = &uctl;
403		usbn = &usbn;
404		led0 = &led0;
405	};
406 };