1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
28945e37eSKevin Cernekee/ {
38945e37eSKevin Cernekee	#address-cells = <1>;
48945e37eSKevin Cernekee	#size-cells = <1>;
58945e37eSKevin Cernekee	compatible = "brcm,bcm3384-viper", "brcm,bcm33843-viper";
68945e37eSKevin Cernekee
78945e37eSKevin Cernekee	memory@0 {
88945e37eSKevin Cernekee		device_type = "memory";
98945e37eSKevin Cernekee
108945e37eSKevin Cernekee		/* Typical ranges.  The bootloader should fill these in. */
118945e37eSKevin Cernekee		reg = <0x06000000 0x02000000>,
128945e37eSKevin Cernekee		      <0x0e000000 0x02000000>;
138945e37eSKevin Cernekee	};
148945e37eSKevin Cernekee
158945e37eSKevin Cernekee	cpus {
168945e37eSKevin Cernekee		#address-cells = <1>;
178945e37eSKevin Cernekee		#size-cells = <0>;
188945e37eSKevin Cernekee
198945e37eSKevin Cernekee		/* 1/2 of the CPU core clock (standard MIPS behavior) */
208945e37eSKevin Cernekee		mips-hpt-frequency = <300000000>;
218945e37eSKevin Cernekee
228945e37eSKevin Cernekee		cpu@0 {
238945e37eSKevin Cernekee			compatible = "brcm,bmips4350";
248945e37eSKevin Cernekee			device_type = "cpu";
258945e37eSKevin Cernekee			reg = <0>;
268945e37eSKevin Cernekee		};
278945e37eSKevin Cernekee	};
288945e37eSKevin Cernekee
298945e37eSKevin Cernekee	cpu_intc: cpu_intc {
308945e37eSKevin Cernekee		#address-cells = <0>;
318945e37eSKevin Cernekee		compatible = "mti,cpu-interrupt-controller";
328945e37eSKevin Cernekee
338945e37eSKevin Cernekee		interrupt-controller;
348945e37eSKevin Cernekee		#interrupt-cells = <1>;
358945e37eSKevin Cernekee	};
368945e37eSKevin Cernekee
378945e37eSKevin Cernekee	clocks {
388945e37eSKevin Cernekee		periph_clk: periph_clk {
398945e37eSKevin Cernekee			compatible = "fixed-clock";
408945e37eSKevin Cernekee			#clock-cells = <0>;
418945e37eSKevin Cernekee			clock-frequency = <54000000>;
428945e37eSKevin Cernekee		};
438945e37eSKevin Cernekee	};
448945e37eSKevin Cernekee
458945e37eSKevin Cernekee	aliases {
468945e37eSKevin Cernekee		uart0 = &uart0;
478945e37eSKevin Cernekee	};
488945e37eSKevin Cernekee
498945e37eSKevin Cernekee	ubus {
508945e37eSKevin Cernekee		#address-cells = <1>;
518945e37eSKevin Cernekee		#size-cells = <1>;
528945e37eSKevin Cernekee
538945e37eSKevin Cernekee		compatible = "brcm,ubus", "simple-bus";
548945e37eSKevin Cernekee		ranges;
558945e37eSKevin Cernekee		/* No dma-ranges on Viper. */
568945e37eSKevin Cernekee
578945e37eSKevin Cernekee		periph_intc: periph_intc@14e00048 {
588945e37eSKevin Cernekee			compatible = "brcm,bcm3380-l2-intc";
598945e37eSKevin Cernekee			reg = <0x14e00048 0x4 0x14e0004c 0x4>,
608945e37eSKevin Cernekee			      <0x14e00350 0x4 0x14e00354 0x4>;
618945e37eSKevin Cernekee
628945e37eSKevin Cernekee			interrupt-controller;
638945e37eSKevin Cernekee			#interrupt-cells = <1>;
648945e37eSKevin Cernekee
658945e37eSKevin Cernekee			interrupt-parent = <&cpu_intc>;
668945e37eSKevin Cernekee			interrupts = <4>;
678945e37eSKevin Cernekee		};
688945e37eSKevin Cernekee
698945e37eSKevin Cernekee		cmips_intc: cmips_intc@151f8048 {
708945e37eSKevin Cernekee			compatible = "brcm,bcm3380-l2-intc";
718945e37eSKevin Cernekee			reg = <0x151f8048 0x4 0x151f804c 0x4>;
728945e37eSKevin Cernekee
738945e37eSKevin Cernekee			interrupt-controller;
748945e37eSKevin Cernekee			#interrupt-cells = <1>;
758945e37eSKevin Cernekee
768945e37eSKevin Cernekee			interrupt-parent = <&periph_intc>;
778945e37eSKevin Cernekee			interrupts = <30>;
788945e37eSKevin Cernekee			brcm,int-map-mask = <0xffffffff>;
798945e37eSKevin Cernekee		};
808945e37eSKevin Cernekee
818945e37eSKevin Cernekee		uart0: serial@14e00520 {
828945e37eSKevin Cernekee			compatible = "brcm,bcm6345-uart";
838945e37eSKevin Cernekee			reg = <0x14e00520 0x18>;
848945e37eSKevin Cernekee			interrupt-parent = <&periph_intc>;
858945e37eSKevin Cernekee			interrupts = <2>;
868945e37eSKevin Cernekee			clocks = <&periph_clk>;
878945e37eSKevin Cernekee			status = "disabled";
888945e37eSKevin Cernekee		};
898945e37eSKevin Cernekee
908945e37eSKevin Cernekee		ehci0: usb@15400300 {
918945e37eSKevin Cernekee			compatible = "brcm,bcm3384-ehci", "generic-ehci";
928945e37eSKevin Cernekee			reg = <0x15400300 0x100>;
938945e37eSKevin Cernekee			big-endian;
948945e37eSKevin Cernekee			interrupt-parent = <&periph_intc>;
958945e37eSKevin Cernekee			interrupts = <41>;
968945e37eSKevin Cernekee			status = "disabled";
978945e37eSKevin Cernekee		};
988945e37eSKevin Cernekee
998945e37eSKevin Cernekee		ohci0: usb@15400400 {
1008945e37eSKevin Cernekee			compatible = "brcm,bcm3384-ohci", "generic-ohci";
1018945e37eSKevin Cernekee			reg = <0x15400400 0x100>;
1028945e37eSKevin Cernekee			big-endian;
1038945e37eSKevin Cernekee			no-big-frame-no;
1048945e37eSKevin Cernekee			interrupt-parent = <&periph_intc>;
1058945e37eSKevin Cernekee			interrupts = <40>;
1068945e37eSKevin Cernekee			status = "disabled";
1078945e37eSKevin Cernekee		};
1088945e37eSKevin Cernekee	};
1098945e37eSKevin Cernekee};
110