162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * arch/powerpc/boot/dts/gamecube.dts
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Nintendo GameCube platform device tree source
662306a36Sopenharmony_ci * Copyright (C) 2007-2009 The GameCube Linux Team
762306a36Sopenharmony_ci * Copyright (C) 2007,2008,2009 Albert Herranz
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/dts-v1/;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	model = "nintendo,gamecube";
1462306a36Sopenharmony_ci	compatible = "nintendo,gamecube";
1562306a36Sopenharmony_ci	#address-cells = <1>;
1662306a36Sopenharmony_ci	#size-cells = <1>;
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	chosen {
1962306a36Sopenharmony_ci		bootargs = "root=/dev/gcnsda2 rootwait udbg-immortal";
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	memory {
2362306a36Sopenharmony_ci		device_type = "memory";
2462306a36Sopenharmony_ci		reg = <0x00000000 0x01800000>;
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	cpus {
2862306a36Sopenharmony_ci		#address-cells = <1>;
2962306a36Sopenharmony_ci		#size-cells = <0>;
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		PowerPC,gekko@0 {
3262306a36Sopenharmony_ci			device_type = "cpu";
3362306a36Sopenharmony_ci			reg = <0>;
3462306a36Sopenharmony_ci			clock-frequency = <486000000>; /* 486MHz */
3562306a36Sopenharmony_ci			bus-frequency = <162000000>; /* 162MHz core-to-bus 3x */
3662306a36Sopenharmony_ci			timebase-frequency = <40500000>; /* 162MHz / 4 */
3762306a36Sopenharmony_ci			i-cache-line-size = <32>;
3862306a36Sopenharmony_ci			d-cache-line-size = <32>;
3962306a36Sopenharmony_ci			i-cache-size = <32768>;
4062306a36Sopenharmony_ci			d-cache-size = <32768>;
4162306a36Sopenharmony_ci		};
4262306a36Sopenharmony_ci	};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	/* devices contained int the flipper chipset */
4562306a36Sopenharmony_ci	flipper {
4662306a36Sopenharmony_ci		#address-cells = <1>;
4762306a36Sopenharmony_ci		#size-cells = <1>;
4862306a36Sopenharmony_ci		compatible = "nintendo,flipper";
4962306a36Sopenharmony_ci		ranges = <0x0c000000 0x0c000000 0x00010000>;
5062306a36Sopenharmony_ci		interrupt-parent = <&PIC>;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		video@c002000 {
5362306a36Sopenharmony_ci			compatible = "nintendo,flipper-vi";
5462306a36Sopenharmony_ci			reg = <0x0c002000 0x100>;
5562306a36Sopenharmony_ci			interrupts = <8>;
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci		processor-interface@c003000 {
5962306a36Sopenharmony_ci			compatible = "nintendo,flipper-pi";
6062306a36Sopenharmony_ci			reg = <0x0c003000 0x100>;
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci			PIC: pic {
6362306a36Sopenharmony_ci				#interrupt-cells = <1>;
6462306a36Sopenharmony_ci				compatible = "nintendo,flipper-pic";
6562306a36Sopenharmony_ci				interrupt-controller;
6662306a36Sopenharmony_ci			};
6762306a36Sopenharmony_ci		};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci		dsp@c005000 {
7062306a36Sopenharmony_ci			#address-cells = <1>;
7162306a36Sopenharmony_ci			#size-cells = <1>;
7262306a36Sopenharmony_ci			compatible = "nintendo,flipper-dsp";
7362306a36Sopenharmony_ci			reg = <0x0c005000 0x200>;
7462306a36Sopenharmony_ci			interrupts = <6>;
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci			memory@0 {
7762306a36Sopenharmony_ci				compatible = "nintendo,flipper-aram";
7862306a36Sopenharmony_ci				reg = <0 0x1000000>;	/* 16MB */
7962306a36Sopenharmony_ci			};
8062306a36Sopenharmony_ci		};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci		disk@c006000 {
8362306a36Sopenharmony_ci			compatible = "nintendo,flipper-di";
8462306a36Sopenharmony_ci			reg = <0x0c006000 0x40>;
8562306a36Sopenharmony_ci			interrupts = <2>;
8662306a36Sopenharmony_ci		};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci		audio@c006c00 {
8962306a36Sopenharmony_ci			compatible = "nintendo,flipper-ai";
9062306a36Sopenharmony_ci			reg = <0x0c006c00 0x20>;
9162306a36Sopenharmony_ci			interrupts = <6>;
9262306a36Sopenharmony_ci		};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci		gamepad-controller@c006400 {
9562306a36Sopenharmony_ci			compatible = "nintendo,flipper-si";
9662306a36Sopenharmony_ci			reg = <0x0c006400 0x100>;
9762306a36Sopenharmony_ci			interrupts = <3>;
9862306a36Sopenharmony_ci		};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci		/* External Interface bus */
10162306a36Sopenharmony_ci		exi@c006800 {
10262306a36Sopenharmony_ci			compatible = "nintendo,flipper-exi";
10362306a36Sopenharmony_ci			reg = <0x0c006800 0x40>;
10462306a36Sopenharmony_ci			virtual-reg = <0x0c006800>;
10562306a36Sopenharmony_ci			interrupts = <4>;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci        };
10862306a36Sopenharmony_ci};
10962306a36Sopenharmony_ci
110