#include <dt-bindings/memory/mpc83xx-sdram.h>
#include <dt-bindings/clk/mpc83xx-clk.h>

/ {
	aliases {
		i2c0 = &IIC;
		i2c1 = &IIC2;
		i2c2 = "/fpga0bus/fpga0_iic_main";
		i2c3 = "/fpga0bus/fpga0_iic_video0";
		i2c4 = "/fpga0bus/fpga0_iic_video1";
		i2c5 = "/fpga0bus/fpga0_iic_usb";
		gdsys_soc0 = "/fpga0bus";
		gdsys_soc1 = "/fpga1bus";
		ioep0 = "/fpga0bus/fpga0_ep0";
		ioep1 = "/fpga0bus/fpga1_ep0";
	};

	chosen {
		stdout-path = &serial1;
	};

	cpus {
		compatible = "cpu_bus";
		u-boot,dm-pre-reloc;

		PowerPC,8308@0 {
			compatible = "fsl,mpc8308";
			clocks = <&socclocks MPC83XX_CLK_CORE
			          &socclocks MPC83XX_CLK_CSB>;
			u-boot,dm-pre-reloc;
		};
	};

	board {
		compatible = "gdsys,board_gazerbeam";
		csb = <&board_soc>;
		serdes = <&SERDES>;
		rxaui0 = <&RXAUI0_0>;
		rxaui1 = <&RXAUI0_1>;
		rxaui2 = <&RXAUI0_2>;
		rxaui3 = <&RXAUI0_3>;
		rxaui4 = <&RXAUI1_0>;
		rxaui5 = <&RXAUI1_1>;
		rxaui6 = <&RXAUI1_2>;
		rxaui7 = <&RXAUI1_3>;
		fpga0 = <&FPGA0>;
		fpga1 = <&FPGA1>;
		ioep0 = <&IOEP0>;
		ioep1 = <&IOEP1>;

		ver-gpios = <&PPCPCA 12 0
			     &PPCPCA 13 0
			     &PPCPCA 14 0
			     &PPCPCA 15 0>;

		/* MC2/SC-Board */
		var-gpios-mc2 = <&GPIO_VB0 0 0    /* VAR-MC_SC */
				 &GPIO_VB0 11 0>; /* VAR-CON */
		/* MC4-Board */
		var-gpios-mc4 = <&GPIO_VB1 0 0    /* VAR-MC_SC */
				 &GPIO_VB1 11 0>; /* VAR-CON */

		reset-gpios = <&gpio0 1 0 &gpio0 2 1>;
	};

	socclocks: clocks {
		compatible = "fsl,mpc8308-clk";
		#clock-cells = <1>;
		u-boot,dm-pre-reloc;
	};

	timer {
		compatible = "fsl,mpc83xx-timer";
		clocks = <&socclocks MPC83XX_CLK_CSB>;
	};
};

&FPGA0 {
	reset-gpios = <&PPCPCA 26 0>;
	done-gpios = <&GPIO_VB0 19 0>;
};

&FPGA1 {
	status = "disable";
};

&FPGA0BUS {
	ranges = <0x0 0xe0600000 0x00004000>;
	fpga = <&FPGA0>;

	fpga0_video0 {
		mode = "640_480_60";

		status = "disabled";
	};

	RXAUI0_0: fpga0_rxaui@fc0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0fc0 0x10>;
	};

	fpga0_iic_video0  {
		status = "disabled";
	};

	fpga0_axi_video0 {
		status = "disabled";
	};

	fpga0_video1 {
		mode = "640_480_60";
		status = "disabled";
	};

	fpga0_iic_video1  {
		status = "disabled";
	};

	fpga0_axi_video1 {
		status = "disabled";
	};

	IOEP0: fpga0_ep0 {
	};

	RXAUI0_1: fpga0_rxaui@fd0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0fd0 0x10>;
	};

	RXAUI0_2: fpga0_rxaui@fe0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0fe0 0x10>;
	};

	RXAUI0_3: fpga0_rxaui@ff0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0ff0 0x10>;
	};
};

&FPGA1BUS {
	ranges = <0x0 0xe0700000 0x00004000>;
	fpga = <&FPGA1>;

	status = "disable";

	fpga1_video0 {
		mode = "640_480_60";
	};

	RXAUI1_0: fpga0_rxaui@fc0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0fc0 0x10>;
	};

	fpga1_video1 {
		mode = "640_480_60";
	};

	IOEP1: fpga1_ep0 {
	};

	RXAUI1_1: fpga0_rxaui@fd0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0fd0 0x10>;
	};

	RXAUI1_2: fpga0_rxaui@fe0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0fe0 0x10>;
	};

	RXAUI1_3: fpga0_rxaui@ff0 {
		compatible = "gdsys,rxaui_ctrl";
		reg = <0x0ff0 0x10>;
	};
};

&board_soc {
	u-boot,dm-pre-reloc;
	clocks = <&socclocks MPC83XX_CLK_CSB>;

	memory@2000 {
		u-boot,dm-pre-reloc;
	};

	sdhc@2e000 {
		clocks = <&socclocks MPC83XX_CLK_SDHC>;
		clock-names = "per";
	};

	SERDES: serdes@e3000 {
		reg = <0xe3000 0x200>;
		compatible = "fsl,mpc83xx-serdes";
		proto = "pex";
		serdes-clk = <100>;
		vdd;
	};
};

&IIC {
	clocks = <&socclocks MPC83XX_CLK_I2C1>;

	PPCPCA: pca9698@20 {
		label = "ppc";
	};

	IOPCA: pca9698@22 {
		label = "io";
	};

	at97sc3205t@29 {
		u-boot,i2c-offset-len = <0>;
	};
};

&IIC2 {
	clocks = <&socclocks MPC83XX_CLK_I2C2>;

	GPIO_VB0: pca9698@20 {
		label = "mc2-sc";
	};

	GPIO_VB1: pca9698@22 {
		label = "mc4";
	};
};

&board_soc {
	u-boot,dm-pre-reloc;
};

&GPIO_VB0 {
	u-boot,dm-pre-reloc;
};

&serial0 {
	clocks = <&socclocks MPC83XX_CLK_CSB>;
	u-boot,dm-pre-reloc;
};

&serial1 {
	clocks = <&socclocks MPC83XX_CLK_CSB>;
	u-boot,dm-pre-reloc;
};

&pci0 {
	clocks = <&socclocks MPC83XX_CLK_PCIEXP1>;
};
