// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree file for Liebherr controller BK3.1 based on Cirrus EP9302 SoC
 */
/dts-v1/;
#include "ep93xx.dtsi"

/ {
	model = "Liebherr controller BK3.1";
	compatible = "liebherr,bk3", "cirrus,ep9301";
	#address-cells = <1>;
	#size-cells = <1>;

	chosen {
	};

	memory@0 {
		device_type = "memory";
		/* should be set from ATAGS */
		reg = <0x00000000 0x02000000>,
		      <0x000530c0 0x01fdd000>;
	};

	leds {
		compatible = "gpio-leds";
		led-0 {
			label = "grled";
			gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
			function = LED_FUNCTION_HEARTBEAT;
		};

		led-1 {
			label = "rdled";
			gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
			function = LED_FUNCTION_FAULT;
		};
	};
};

&ebi {
	nand-controller@60000000 {
		compatible = "technologic,ts7200-nand";
		reg = <0x60000000 0x8000000>;
		#address-cells = <1>;
		#size-cells = <0>;

		nand@0 {
			reg = <0>;
			partitions {
				compatible = "fixed-partitions";
				#address-cells = <1>;
				#size-cells = <1>;

				partition@0 {
					label = "System";
					reg = <0x00000000 0x01e00000>;
					read-only;
				};

				partition@1e00000 {
					label = "Data";
					reg = <0x01e00000 0x05f20000>;
				};

				partition@7d20000 {
					label = "RedBoot";
					reg = <0x07d20000 0x002e0000>;
					read-only;
				};
			};
		};
	};
};

&eth0 {
	phy-handle = <&phy0>;
};

&i2s {
	dmas = <&dma0 0 1>, <&dma0 0 2>;
	dma-names = "tx", "rx";
	pinctrl-names = "default";
	pinctrl-0 = <&i2s_on_ac97_pins>;
	status = "okay";
};

&gpio1 {
	/* PWM */
	gpio-ranges = <&syscon 6 163 1>;
};

&gpio4 {
	gpio-ranges = <&syscon 0 97 2>;
	status = "okay";
};

&gpio6 {
	gpio-ranges = <&syscon 0 87 2>;
	status = "okay";
};

&gpio7 {
	gpio-ranges = <&syscon 2 199 4>;
	status = "okay";
};

&mdio0 {
	phy0: ethernet-phy@1 {
		reg = <1>;
		device_type = "ethernet-phy";
	};
};

&uart0 {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&usb0 {
	status = "okay";
};
