#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,sysinfo-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>;
};
