/dts-v1/;

/ {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "brcm,bcm6348";

	aliases {
		pflash = &pflash;
		pinctrl = &pinctrl;
		serial0 = &uart0;
		spi0 = &lsspi;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			compatible = "brcm,bmips3300", "mips,mips4Kc";
			device_type = "cpu";
			reg = <0>;
		};
	};

	cpu_intc: interrupt-controller {
		#address-cells = <0>;
		compatible = "mti,cpu-interrupt-controller";

		interrupt-controller;
		#interrupt-cells = <1>;
	};

	memory { device_type = "memory"; reg = <0 0>; };

	pflash: nor@1fc00000 {
		compatible = "cfi-flash";
		reg = <0x1fc00000 0x400000>;
		bank-width = <2>;
		#address-cells = <1>;
		#size-cells = <1>;

		status = "disabled";
	};

	ubus@fff00000 {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		compatible = "simple-bus";
		interrupt-parent = <&periph_intc>;

		periph_intc: interrupt-controller@fffe000c {
			compatible = "brcm,bcm6345-l1-intc";
			reg = <0xfffe000c 0x8>;

			interrupt-controller;
			#interrupt-cells = <1>;

			interrupt-parent = <&cpu_intc>;
			interrupts = <2>;
		};

		ext_intc: interrupt-controller@fffe0014 {
			compatible = "brcm,bcm6345-ext-intc";
			reg = <0xfffe0014 0x4>;

			interrupt-controller;
			#interrupt-cells = <2>;

			interrupt-parent = <&cpu_intc>;
			interrupts = <3>, <4>, <5>, <6>;

			brcm,field-width = <5>;
		};

		pinctrl: pin-controller@fffe0400 {
			compatible = "brcm,bcm6348-pinctrl";
			reg = <0xfffe0400 0x8>,
			      <0xfffe0408 0x8>,
			      <0xfffe0418 0x4>;
			reg-names = "dirout", "dat", "mode";

			gpio-controller;
			#gpio-cells = <2>;

			interrupt-parent = <&ext_intc>;
			interrupts = <0 0>, <1 0>, <2 0>, <3 0>;
			interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35";

			pinctrl_ext_ephy: ext_ephy {
				function = "ext_ephy";
				groups = "group1", "group4";
			};

			pinctrl_mii_snoop: mii_snoop {
				function = "mii_snoop";
				groups = "group1", "group4";
			};

			pinctrl_legacy_led: legacy_led {
				function = "legacy_led";
				groups = "group4";
			};

			pinctrl_mii_pccard: mii_pccard {
				function = "mii_pccard";
				groups = "group1";
			};

			pinctrl_pci: pci {
				function = "pci";
				groups = "group2";
			};

			pinctrl_spi_master_uart: spi_master_uart {
				function = "spi_master_uart";
				groups = "group1";
			};

			pinctrl_ext_mii: ext_mii {
				function = "ext_mii";
				groups = "group0", "group3";
			};

			pinctrl_utopia: utopia {
				function = "utopia";
				groups = "group1", "group3", "group4";
			};

			pinctrl_diag: diag {
				function = "diag";
				groups = "group0", "group1", "group2", "group3", "group4";
			};
		};

		uart0: serial@fffe0300 {
			compatible = "brcm,bcm6345-uart";
			reg = <0xfffe0300 0x18>;

			interrupt-parent = <&periph_intc>;
			interrupts = <2>;

			/* clocks = <&periph_clk>; */
			/* clock-names = "refclk"; */

			status = "disabled";
		};

		lsspi: spi@fffe0c00 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm6348-spi";
			reg = <0xfffe0c00 0x40>;
			interrupts = <1>;
			/* clocks = <&clkctl 9>; */

		};
	};
};
