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

	aliases {
		pinctrl = &pinctrl;
		serial0 = &uart0;
		serial1 = &uart1;
		spi1 = &hsspi;
	};

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

		cpu@0 {
			compatible = "brcm,bmips4350", "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>; };

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

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

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

			interrupts = <24>, <25>, <26>, <27>;
		};

		periph_intc: interrupt-controller@10000020 {
			compatible = "brcm,bcm6345-l1-intc";
			reg = <0x10000020 0x10>;

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

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

		pinctrl: pin-controller@10000080 {
			compatible = "brcm,bcm6328-pinctrl";
			reg = <0x10000080 0x8>,
			      <0x10000088 0x8>,
			      <0x10000098 0x4>,
			      <0x1000009c 0xc>;
			reg-names = "dirout", "dat", "mode", "mux";

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

			interrupt-parent = <&ext_intc>;
			interrupts = <3 0>, <2 0>, <0 0>, <1 0>;
			interrupt-names = "gpio12", "gpio15",
					  "gpio23", "gpio24";

			pinctrl_serial_led: serial_led {
				pinctrl_serial_led_data: serial_led_data {
					function = "serial_led_data";
					pins = "gpio6";
				};

				pinctrl_serial_led_clk: serial_led_clk {
					function = "serial_led_clk";
					pins = "gpio7";
				};
			};

			pinctrl_inet_act_led: inet_act_led {
				function = "inet_act_led";
				pins = "gpio11";
			};

			pinctrl_pcie_clkreq: pcie_clkreq {
				function = "pcie_clkreq";
				pins = "gpio16";
			};

			pinctrl_ephy0_spd_led: ephy0_spd_led {
				function = "led";
				pins = "gpio17";
			};

			pinctrl_ephy1_spd_led: ephy1_spd_led {
				function = "led";
				pins = "gpio18";
			};

			pinctrl_ephy2_spd_led: ephy2_spd_led {
				function = "led";
				pins = "gpio19";
			};

			pinctrl_ephy3_spd_led: ephy3_spd_led {
				function = "led";
				pins = "gpio20";
			};

			pinctrl_ephy0_act_led: ephy0_act_led {
				function = "ephy0_act_led";
				pins = "gpio25";
			};

			pinctrl_ephy1_act_led: ephy1_act_led {
				function = "ephy1_act_led";
				pins = "gpio26";
			};

			pinctrl_ephy2_act_led: ephy2_act_led {
				function = "ephy2_act_led";
				pins = "gpio27";
			};

			pinctrl_ephy3_act_led: ephy3_act_led {
				function = "ephy3_act_led";
				pins = "gpio28";
			};

			pinctrl_hsspi_cs1: hsspi_cs1 {
				function = "hsspi_cs1";
				pins = "hsspi_cs1";
			};

			pinctrl_usb_port1_device: usb_port1_device {
				function = "usb_device_port";
				pins = "usb_port1";
			};

			pinctrl_usb_port1_host: usb_port1_host {
				function = "usb_host_port";
				pins = "usb_port1";
			};
		};

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

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

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

			status = "disabled";
		};

		uart1: serial@10000120 {
			compatible = "brcm,bcm6345-uart";
			reg = <0x10000120 0x18>;

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

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

			status = "disabled";
		};

		leds: led-controller@10000800 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm6328-leds";
			reg = <0x10000800 0x24>;
			status = "disabled";
		};

		hsspi: spi@10001000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "brcm,bcm6328-hsspi";
			reg = <0x10001000 0x600>;
			interrupts = <29>;
			/* clocks = <&clkctl 9>; */
		};
	};
};
