// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * O2D base Device Tree Source
 *
 * Copyright (C) 2012 DENX Software Engineering
 * Anatolij Gustschin <agust@denx.de>
 */

/include/ "mpc5200b.dtsi"

&gpt0 {
	gpio-controller;
	fsl,has-wdt;
	fsl,wdt-on-boot = <0>;
};
&gpt1 { gpio-controller; };

/ {
	model = "ifm,o2d";
	compatible = "ifm,o2d";

	memory@0 {
		reg = <0x00000000 0x04000000>;	// 64MB
	};

	soc5200@f0000000 {

		rtc@800 {
			status = "disabled";
		};

		psc@2000 {		// PSC1
			compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi";
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;

			spidev@0 {
				compatible = "spidev";
				spi-max-frequency = <250000>;
				reg = <0>;
			};
		};

		psc@2200 {		// PSC2
			status = "disabled";
		};

		psc@2400 {		// PSC3
			status = "disabled";
		};

		psc@2600 {		// PSC4
			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
		};

		psc@2800 {		// PSC5
			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
		};

		psc@2c00 {		// PSC6
			status = "disabled";
		};

		ethernet@3000 {
			phy-handle = <&phy0>;
		};

		mdio@3000 {
			phy0: ethernet-phy@0 {
				reg = <0>;
			};
		};
	};

	localbus {
		ranges = <0 0 0xff000000 0x01000000
			  3 0 0xe3000000 0x00100000>;

		// flash device at LocalPlus Bus CS0
		flash@0,0 {
			compatible = "cfi-flash";
			reg = <0 0 0x01000000>;
			bank-width = <1>;
			device-width = <2>;
			#size-cells = <1>;
			#address-cells = <1>;
			no-unaligned-direct-access;

			/* common layout for all machines */
			partition@0 {
				label = "u-boot";
				reg = <0x00000000 0x00040000>;
				read-only;
			};
			partition@40000 {
				label = "env";
				reg = <0x00040000 0x00020000>;
				read-only;
			};
		};

		csi@3,0 {
			compatible = "ifm,o2d-csi";
			reg = <3 0 0x00100000>;
			ifm,csi-clk-handle = <&gpt7>;
			gpios = <&gpio_simple 23 0	/* imag_capture */
				 &gpio_simple 26 0	/* imag_reset */
				 &gpio_simple 29 0>;	/* imag_master_en */

			interrupts = <1 1 2>;		/* IRQ1, edge falling */

			ifm,csi-addr-bus-width = <24>;
			ifm,csi-data-bus-width = <8>;
			ifm,csi-wait-cycles = <0>;
		};
	};
};
