// 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>;
		};

		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>;
		};
	};
};