18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci/ {
38c2ecf20Sopenharmony_ci	#address-cells = <1>;
48c2ecf20Sopenharmony_ci	#size-cells = <1>;
58c2ecf20Sopenharmony_ci	compatible = "brcm,bcm3384-viper", "brcm,bcm33843-viper";
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci	memory@0 {
88c2ecf20Sopenharmony_ci		device_type = "memory";
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci		/* Typical ranges.  The bootloader should fill these in. */
118c2ecf20Sopenharmony_ci		reg = <0x06000000 0x02000000>,
128c2ecf20Sopenharmony_ci		      <0x0e000000 0x02000000>;
138c2ecf20Sopenharmony_ci	};
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	cpus {
168c2ecf20Sopenharmony_ci		#address-cells = <1>;
178c2ecf20Sopenharmony_ci		#size-cells = <0>;
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci		/* 1/2 of the CPU core clock (standard MIPS behavior) */
208c2ecf20Sopenharmony_ci		mips-hpt-frequency = <300000000>;
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci		cpu@0 {
238c2ecf20Sopenharmony_ci			compatible = "brcm,bmips4350";
248c2ecf20Sopenharmony_ci			device_type = "cpu";
258c2ecf20Sopenharmony_ci			reg = <0>;
268c2ecf20Sopenharmony_ci		};
278c2ecf20Sopenharmony_ci	};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	cpu_intc: cpu_intc {
308c2ecf20Sopenharmony_ci		#address-cells = <0>;
318c2ecf20Sopenharmony_ci		compatible = "mti,cpu-interrupt-controller";
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci		interrupt-controller;
348c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
358c2ecf20Sopenharmony_ci	};
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	clocks {
388c2ecf20Sopenharmony_ci		periph_clk: periph_clk {
398c2ecf20Sopenharmony_ci			compatible = "fixed-clock";
408c2ecf20Sopenharmony_ci			#clock-cells = <0>;
418c2ecf20Sopenharmony_ci			clock-frequency = <54000000>;
428c2ecf20Sopenharmony_ci		};
438c2ecf20Sopenharmony_ci	};
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	aliases {
468c2ecf20Sopenharmony_ci		uart0 = &uart0;
478c2ecf20Sopenharmony_ci	};
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	ubus {
508c2ecf20Sopenharmony_ci		#address-cells = <1>;
518c2ecf20Sopenharmony_ci		#size-cells = <1>;
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci		compatible = "brcm,ubus", "simple-bus";
548c2ecf20Sopenharmony_ci		ranges;
558c2ecf20Sopenharmony_ci		/* No dma-ranges on Viper. */
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci		periph_intc: periph_intc@14e00048 {
588c2ecf20Sopenharmony_ci			compatible = "brcm,bcm3380-l2-intc";
598c2ecf20Sopenharmony_ci			reg = <0x14e00048 0x4 0x14e0004c 0x4>,
608c2ecf20Sopenharmony_ci			      <0x14e00350 0x4 0x14e00354 0x4>;
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci			interrupt-controller;
638c2ecf20Sopenharmony_ci			#interrupt-cells = <1>;
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci			interrupt-parent = <&cpu_intc>;
668c2ecf20Sopenharmony_ci			interrupts = <4>;
678c2ecf20Sopenharmony_ci		};
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci		cmips_intc: cmips_intc@151f8048 {
708c2ecf20Sopenharmony_ci			compatible = "brcm,bcm3380-l2-intc";
718c2ecf20Sopenharmony_ci			reg = <0x151f8048 0x4 0x151f804c 0x4>;
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci			interrupt-controller;
748c2ecf20Sopenharmony_ci			#interrupt-cells = <1>;
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci			interrupt-parent = <&periph_intc>;
778c2ecf20Sopenharmony_ci			interrupts = <30>;
788c2ecf20Sopenharmony_ci			brcm,int-map-mask = <0xffffffff>;
798c2ecf20Sopenharmony_ci		};
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci		uart0: serial@14e00520 {
828c2ecf20Sopenharmony_ci			compatible = "brcm,bcm6345-uart";
838c2ecf20Sopenharmony_ci			reg = <0x14e00520 0x18>;
848c2ecf20Sopenharmony_ci			interrupt-parent = <&periph_intc>;
858c2ecf20Sopenharmony_ci			interrupts = <2>;
868c2ecf20Sopenharmony_ci			clocks = <&periph_clk>;
878c2ecf20Sopenharmony_ci			status = "disabled";
888c2ecf20Sopenharmony_ci		};
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci		ehci0: usb@15400300 {
918c2ecf20Sopenharmony_ci			compatible = "brcm,bcm3384-ehci", "generic-ehci";
928c2ecf20Sopenharmony_ci			reg = <0x15400300 0x100>;
938c2ecf20Sopenharmony_ci			big-endian;
948c2ecf20Sopenharmony_ci			interrupt-parent = <&periph_intc>;
958c2ecf20Sopenharmony_ci			interrupts = <41>;
968c2ecf20Sopenharmony_ci			status = "disabled";
978c2ecf20Sopenharmony_ci		};
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci		ohci0: usb@15400400 {
1008c2ecf20Sopenharmony_ci			compatible = "brcm,bcm3384-ohci", "generic-ohci";
1018c2ecf20Sopenharmony_ci			reg = <0x15400400 0x100>;
1028c2ecf20Sopenharmony_ci			big-endian;
1038c2ecf20Sopenharmony_ci			no-big-frame-no;
1048c2ecf20Sopenharmony_ci			interrupt-parent = <&periph_intc>;
1058c2ecf20Sopenharmony_ci			interrupts = <40>;
1068c2ecf20Sopenharmony_ci			status = "disabled";
1078c2ecf20Sopenharmony_ci		};
1088c2ecf20Sopenharmony_ci	};
1098c2ecf20Sopenharmony_ci};
110