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